在经过对数据的采集、清理、存储以及计算分析后,就到了将其可视化的阶段。我们在 众多的可视化工具选择了 echarts,并且找到与 python 结合的可直接使用包—pyecharts,它 易于使用,且效果图美观,为数据的可视化提供了很大的方便。具体使用方法请参考官网: http://pyecharts.org/#/。
我们从论文所属国家、机构、关键字、作者合作关系四个角度出发,准备对数据进行分 析。其中包括柱状图、折线图、饼图、词云图、关系图,对应的名为 Bar、Line、Pie、WordCloud、 Graph。
在此介绍一下多图表Page类,在创建一个 page 实例后,可以将想要列在同一页的图 表实例添加到该实例中。
# 创建 page 实例
page = Page("AAAI 会议国家论文数据分析 ")
Bar, Line, Pie = ......
# 添加图表 Bar, Line, Pie 到 page 中
page.add(Bar)
page.add(Line)
page.add(Pie)
# 将 page 保存为 html 文件
page.render(path='Country_analysis.html')
对于作图,要考虑的问题是传入数据格式与对应图表要求的配置相同。需要将从数据库 导出的数据进行计算以及转换为需要的格式。例如,制作“2010-2017 年发表论文总数前 12名国家 ”柱状图时,需要数据格式为: country = ["国家 1","国家 2", ...], 对应的论文总 数 article_num = [1, 2, ...];作者合作关系图需要的数据格式较为复杂:
每个作者的节点数据nodedata=[("作者名字", 贡献因子,"国家",(合作者数据)),...] 其中 合作者数据 = ("合作者 1", 合作次数), ("合作者 2", 合作次数),... 例如:nodedata = [
("Sun", 3, (("Zhao", 2), ("Qian", 3), ("Li", 9))),
("Li", 4, (("Wu", 4), ("Wang", 5), ("Huang", 7), ("Qian", 3))), ("Zhao", 2),
("Qian", 1),
("Wu", 1),
("Wang", 2),
("Huang", 2)
]
在获得需要的数据后,我们首先对各国 2010-2017 年发表的论文数进行统计。从下面 三张图中我们可以看到美国在AAAI会议上发表人工智能方面的论文数一直处于遥遥领先的 状态,我国则紧随其后,是发展势头最猛的第二国家。
再次,我们将所有论文的第一作者归属为其所在机构,分析获得了以下两图。可以看到 我们国家高等高校及组织对研究人工智能方向的热情,有 5 名高校及组织的第一作者发表论 文数已经跻身世界前列。
聚焦到国内的状况,我们统计了各大高校及组织所有发表的论文数,并排名选取了前十 名,南京大学已入围前四,可喜可贺。
再来对我南京大学分析一波。经过筛选统计,我校在 2010-2017 年间在 AAAI 会议上发 表关于人工智能论文的作者共有 49 位。我们将 49 位作者选取了前 30 位权重最高的,并把 他们的合作者(包括校外以及国外作者)画入到关系图中。我校贡献因子最高的两位是周志 华老师、李武军老师。
除此之外,我们对收集到的关键词进行了统计分析,选取了频次最高的 100 个词做成 了一下的词云图,字体越大表示出现的频次越高。可以看到最主要的热词有 Machine learning (机器学习)、Reinforcement learning(强化学习)、Game theory(博弈论)、Deep learning (深度学习)等。