技术领域
[0001] 本发明涉及社会网络社会结构演化模型验证技术,具体涉及一种社会网络发现算法验证系统及方法。
相关背景技术
[0002] 社会网络社群结构演化问题是指通过对已知网络社群结构和节点属性随时间演化特性的分析,来认知网络结构的演化规律,并评估和预测网络结构未来可能的演化趋势。由于刻画网络结构特征的统计量非常多,很难比较不同的机制孰优孰劣,很难比较和判定什么样的机制能够更好再现真实网络的生长特性。
具体实施方式
[0019] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0020] 本发明提供了一种社会网络发现算法验证系统及方法,其工作原理是通过将不同的社会网络发现算法编译成统一的语言,再提取算法特征后与经典算法进行比较,以达到准确的对比分析出各种社会网络发现算法的特性,提高真实网络的生长特性的目的。
[0021] 下面结合实施例和具体实施方式对本发明作进一步详细的说明。
[0022] 如图1和图2所示,一种社会网络发现算法验证系统,所述系统包括:算法处理单元和服务器脚本单元,所述算法处理单元与服务器脚本单元之间通过网络连接,[0023] 所述算法处理单元包括:数据集模块、算法数据库模块、算法特征比较模块和算法特征数据库,所述数据集模块,用于根据社会网络发现算法的算法类型为算法设定数据集;所述算法数据库模块,用于存储算法文档并对算法文档进行分类管理;所述算法特征比较模块,用于提取算法的特征并将算法与经典算法进行比较,所述算法特征数据库,用于存储算法特征数据;
[0024] 所述服务器脚本单元包括:统一编译运行模块,所述统一编译运行模块,用于将不同语言的算法文档编译成同一语言并运行,记录算法的运行时间和运行结果,生成算法特征数据并存储至算法特征数据库中。
[0025] 其中,对算法文档进行分类管理是根据用户上传的文档类型来划分。
[0026] 其中,算法特征比较模块运用前端的ECharts框架,将不同的算法按照性能指标绘制成折线图进行比较,方便对算法特性进行评价,可以用来将不同的算法和经典算法进行比较,可以精确地发现新算法和原有算法的差别
[0027] 其中,所述数据集模块,还用于实时从在线媒体抓取数据生成数据集,所述数据集,用于对社会网络发现算法进行验证。
[0028] 其中,实时从在线媒体抓取数据是采用在线爬虫技术,在线爬虫主要依靠scrapy框架,由web服务提供抓取数据的目标,将目标数据进行格式化和保存。
[0029] 其中,所述算法数据库模块为存储在算法数据库模块中的算法文档指定详细信息和数据集,所述详细信息包括:算法的上传用户、算法名称、算法描述和算法代码;所述数据集为系统内根据抓取数据结果生成的数据文件集合。
[0030] 其中,所述算法与经典算法进行比较的内容包括:算法在不同数据规模下输出的结果、数据的模块度和归一化互信息。
[0031] 一种社会网络发现算法验证方法,所述方法步骤如下:获取社会网络发现算法数据并将数据存储至算法数据库;为算法数据库中的算法数据设置详细信息和数据集;对算法数据库中的算法进行统一编译并运行;记录算法的运行时间和运行结果并生成算法特征数据;将生成的算法特征数据存储至算法特征数据库;根据算法特征数据绘制图形与经典算法进行比较。
[0032] 其中,运行时间就是算法在不同数据集的数据规模下计算完毕所用的时间,运行结果指算法对数据集进行社会网络预测后产生的预测结果,将调用内置的数据分析算法对运行结果分析,得到其特定指标,并输出到网页中,与指定的其他算法进行对比,并观察特定指标在不同数据集中的变化和偏差,算法特征数据指利用标准的模块评价指标对算法预测结果进行计算而产生的数值。
[0033] 其中,所述获取社会网络发现算法数据的方法是用户上传,用户通过web服务上传算法代码。
[0034] 其中,所述对算法数据库中的算法进行统一编译并运行的方法是根据算法的语言调用相应的编译器进行编译。
[0035] 以上所述的仅是本发明所公开的一种社会网络发现算法验证系统及方法的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。