Skip to content

chellyluoxi/poetry_analyzer

 
 

Repository files navigation

全唐诗分析程序

这个程序最初的诞生是为了写微信公众号的两篇文章,那两篇文章的也大致讲解了程序的原理和流程。 因此,在使用程序之前,强烈建议您先读这两篇文章:

相应的,程序也主要有两个方面的功能:

  • 分析词频和词向量,对应第一篇文章
  • 构建诗人之间的引用关系,对应第二篇文章

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

About

诗歌分析程序

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 62.3%
  • Python 37.7%