美文网首页
Python+Gephi可视化词根词缀与单词的关系

Python+Gephi可视化词根词缀与单词的关系

作者: 艾睿刻聊心理 | 来源:发表于2018-09-17 14:01 被阅读81次

文/三省

词根与单词关系的可视化效果图

想法来自一个朋友的问题:能不能把词根和单词的对应关系直观展示出来。

第一步考虑用什么工具展示最合适。

1. 考虑过用思维导图,但是思维导图适合从一点出发向外延伸。词根和单词之间应该是网状结构。同一个词根与不同单词有关,同一个单词与不同的词根,词缀有联系。不同词根之间也有同义或者反义的联系。所以我们要呈现的是网状结构,因此思维导图不太合适。

2. 考虑过用OneNote,可以通过复制链接实现同页面跳转,实现关联。

OneNote中显示词根与单词关系

把词根和单词输入到不同的文本框,图片中蓝色显示的词根就是超链接,点击后会跳转(即使在同一页也能跳转)。

但是问题,这个效果只能通过手动整理,工作量非常大,最后呈现出来的效果可能是,整页密密麻麻都是黑色加蓝色的单词,词根。也没法很直观的看出什么关系来。

3. 发现了Gephi这个工具可以满足要求。这个工具多用来呈现互联网社交媒体中人物的网状关系,小说中的人物关系。核心思想是:共现关系。比如小说中人物在同一行出现,在同一段落出现,同一章节出现,为这些共现关系设定权重值。最后生成一个角色的共现关系列表,导入Gephi就能绘制出关系图了。

其实共现关系完全可以用在单词和词根上。最最关键的还有一点,可以通过编程提取上述的共现关系。

下面介绍如何运用python程序处理数据,以及用Gephi绘图的过程。

1. 准备好词根词缀文件。避免侵权不方便提供下载链接。不过可以展示一下,原数据长成这样:

待处理的原数据

在网上很容易找到。

2. 了解Gephi需要的数据格式。非常简单,包含Source和Target两列数据的CSV文件即可。Source是关系的起点,Target是终点。词根和单词应该是互相关联的,所以要建立双向关系。格式如下图所示:

CSV文件内容

3. 用python处理数据。代码如下:

打开源文件 处理数据

核心:运用正则提取文件中的单词和词根,在运用combinations方法实现排列组合。

输出CSV

4. Gephi导入数据并绘图

导入CSV数据

如果不想显示节点之间的指向箭头,导入数据后,如下界面“图类型”选择“无向的”

配置图的类型 显示配置

导入数据后点击预览(如下图中标注1所示),点击2所示“节点”,点击3进入颜色调整界面,点击4选择颜色显示模式,点击5在几种默认的颜色配置中选择一种,点击6应用颜色方案。在图中标注2边上有“边”这个选项,它对应的显示配置修改方法与节点类似。

配置到这,图形显示还是很乱,选择布局方案可以解决这个问题。点击图中7所示的下拉列表,选择Yifan Hu这个默认布局方案。点击8运行。图形显示区点击9调整背景颜色(白底或黑底),点击10开或者关显示标注,点击11设置按照哪个数据显示标注(Id/Lable)。

在标注3右侧,是设置节点大小的按钮。

配置节点显示尺寸

至此,应该可以调出比较满意的效果图了。

可视化效果图

至于从可视化效果图中可以挖掘出哪些有价值的信息,还在整理中。下篇文章再介绍。

相关文章

网友评论

      本文标题:Python+Gephi可视化词根词缀与单词的关系

      本文链接:https://www.haomeiwen.com/subject/xzflnftx.html