ElasticSearch分析《全唐诗》,看看唐代诗人是怎么作诗的吧

《全唐诗》是清康熙四十四年(1705年),彭定求、沈三曾、杨中讷、汪士鋐、汪绎、俞梅、徐树本、车鼎晋、潘从律、查嗣瑮等十人奉敕编校,“得诗四万八千九百余首,凡二千二百余人”,共计900卷,目录12卷。

以上是百度百科对《全唐诗》的介绍,为了更加深入的学习和熟悉《全唐诗》,我们通过大数据的方式,去追求《全唐诗》的时代背景和唐代诗人的风格。

一、爬取《全唐诗》全部内容

我们通过爬虫的方式,去网上把《全唐诗》的内容爬取下来,并解析。在这里,我们使用的编程语言是Java,使用的解析工具是Jsoap。这部分,我们就不用详细介绍了,很简单的操作,爬取网页、解析XML。

二、诗句大数据存储

现在的大数据工具是非常多的,在这里,我们选择了全文检索工具ElasticSearch(后文中,我们叫它ES),选择这个工具的原因很简单,因为这个工具支持分词,支持倒排索引。尤其是ik分词,是可以对中文进行分词的,这非常有助于我们对诗句进行处理。

我们把全部的诗句插入ElasticSearch后,通过kibana工具,可以图形化的操作ES,我们先做一下全局统计,结果如下:

我们可以看到,我们解析出来的全唐诗,一共有42954首。

三、各个维度分析《全唐诗》

首先,我们从作者的角度去分析,这里,通过ES,我们统计了作诗个数最高的前20位诗人,截图如下:

我们通过Echarts展示,效果如下:

我们可以看到,作诗最多的诗人是白居易,他的诗作高达2643,其次是杜甫和李白,第四位没有名字的,是在全唐诗中找不到作者的诗。果然,我们最熟悉的诗人,也是作诗最多的。

接下来,我们对诗句进行分词,然后统计每个词出现的次数

在这里我们使用IK分词器,我们统计后的结果如下:

接下来,我们把数据具体化,按照关键词的个数进行分析展示

1、单个字出现最多的排序结果如下:

长度为1的关键词出现次数排行

我们可以发现,“一”这个字在全唐诗中,出现次数最多,其次是云和无,那么问题来了,你能想到几首包含“一”字的诗呢?接下来,看看ES的结果吧

2、两个字组成的词,我们也进行统计,结果如下:

出现次数最多两个字词是“何处”,其次是“万里”和“不知”,在这里,我们有一个地方需要注意一下,在这些两个字词中间,“长安”以696次的出现次数,成为出现次数最多的地方名。

那么,关于“长安”的数据,你又能想出来多少呢?我们让ES告诉我们答案吧

3、三个字词出现次数统计,效果如下:

可见,“君不见”、“三十六”’“二十年”成为出现次数最多的三字词。看看都有哪些诗包含“君不见”吧,我们让ES告诉我们答案

目前,小编就分析了以上的这些。

唐诗,自古以来就是我们文化传承的瑰宝,那么,关于唐诗,你还想知道哪些知识吗?欢迎评论区留下宝贵的意见。

如果你想要源码,可以留言给小编,绝不吝啬!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值