这个程序最初的诞生是为了写微信公众号的两篇文章,那两篇文章的也大致讲解了程序的原理和流程。 因此,在使用程序之前,强烈建议您先读这两篇文章:
相应的,程序也主要有两个方面的功能:
- 分析词频和词向量,对应第一篇文章
- 构建诗人之间的引用关系,对应第二篇文章
master分枝仅支持python3。python2分枝(感谢网友carryme9527的工作,这个分枝主要是他的功劳)则支持python2。 程序主要有两个目录:
- data目录,用于存储全唐诗和CBDB数据库
- html目录,存储最终的社交网络关系网页
程序在运算过程中会dump一些中间运算结果,并存储在save目录(如果不存在会自动创建)中。
由于CBDB数据库很大,有400+M。github不允许上传这么大的文件,请大家自行去CBDB官网下载单机版数据库,并且以cbdb_sqlite.db为文件名存储在data目录下。
程序依赖了两个python库
pip3 install thulac
pip3 install gensim
其中thulac用于分词,gensim用于word2vec. 这两个库只用于第一篇文章的分析。如果您只关心如何构建诗人关系网络,那么不需要安装这个两个库。
对于普通用户来说: 直接用浏览器打开html目录下的网页文件,就可以在浏览器中观察网络结构了,并且可以随意拖动和放大,很有意思。
对于程序员来说:
- 运行
python3 word_level_analyzer.py
来复现第一篇文章的结果 - 运行
python3 construct_poets_network.py
来构建社交网络,并将运行结果存储在save目录。 - 运行
python3 visualize_poets_network.py
来构建出显示社交网络的网页,并将结果存储在html目录。
我后续还会对古典文献进行一些分析,并将更新过的代码及时的push到这个库中。欢迎大家关注我的微信公众号:mrqianjinsi