中华古诗词知识图谱之网页设计及实现(完结)

您所在的位置:网站首页 创建一个古诗词网页 中华古诗词知识图谱之网页设计及实现(完结)

中华古诗词知识图谱之网页设计及实现(完结)

2024-07-08 15:17| 来源: 网络整理| 查看: 265

前台大屏数据可视化 朝代诗集总数-柱状图

统计各朝代的诗集总数,进行柱状图展示

 

宋词意象词频统计-词云图

 将收集的宋词,经过分词器,在进行统计后,得出的意象词频结果,再将其展示成为词云图。

 

 唐朝情感分布-饼状图

分析唐朝诗词,进行七种情感分析,统计情感的占比,绘制饼状图展示。

 

 诗人游历-旅行图

定义了三位出名的诗人:李白、白居易、杜甫。

通过之前对诗人生平的解析,解析出对应的事迹。

事迹实体包含:时间,地点,事迹内容。然后地点是古代地名,通过百度搜索爬取其现代地名,做一个古今地名转换,方便之后的高德地图定位。

设置的轨迹路径是从出生地到其他地方的路线图,触摸地点会展现出对应的时间,事件,出发地,终点地。

 

 宋代词牌名热度-横向柱状图

统计宋代的词牌名,进行频度统计,在展示其效果。

 

 朝代情感-折线图

分析每个朝代的诗词,根据七种情感,找出各朝代情感表达最多的,作为该朝代的主题情感。

 

 宋代诗词类别-南丁格尔图

统计带有类别标签的诗词,进行宋代的诗词类别统计,进行相应的展示。

 

 前端整体数据展示

 

 后端管理 首页

首页展示各朝代的诗词统计,诗人统计信息,以及各朝代的部分诗人浏览展示。

 

 

 

 

 

 

 

 

 

 诗词浏览

分为三部分:按照朝代浏览,按照诗人浏览,按照题材浏览

朝代浏览:分为唐宋元明清,五个朝代的诗词浏览。进入每个朝代的诗词浏览,可以看到卡片式的诗词布局展示,分页浏览以及根据诗名模糊查询本朝代的诗词。

朝代诗词浏览

 

分页浏览

模糊搜索

诗人浏览:分成李白、杜甫、白居易、苏轼、更多...。更多这里有个所有诗人的展示,分页展示所有的诗人,点击后进入单独的诗人诗集页面。在诗人诗集页面,会展示相关的诗人的诗集,同样也支持模糊搜索,分页展示。

李白诗集

 

分页浏览

 

 更多诗人页面浏览

 

 王昌龄诗集

题材浏览:五言绝句、七言绝句、五言律诗、七言律诗、词、曲。点击对应的详情页面,会展示和诗词题材相关的诗词,同样支持模糊搜索,分页展示。

 

 

 

 诗人浏览

按照朝代浏览:唐宋元明清

进入单个朝代页面可以浏览该朝代的诗人,一行设置四个诗人位置,左侧诗人头像,右侧诗人简介,下面是诗人的名字以及查看详情的链接跳转。

分页浏览:分页查询展示该朝代的诗人详情

模糊查询:根据诗人的名字,进行模糊查询

 

 诗人图谱

包含:基本介绍,诗人画像,诗人图谱(朋友圈),诗人轨迹,诗人生平,诗人合称

基本介绍

包含诗人的简介,诗人经历,通过数据库展示。之前重新爬取了诗人的经历,将其对应的html代码爬取到数据库中,因此页面展示的时候就会显得规则化一些,不至于太乱。

 

 诗人画像

诗人画像是对诗人个人简介的内容抽取,抽取出诗人的字,号,出生时间,去世时间,所属朝代,游历地点,合称称号,部分作品集。

分页展示诗人的名句与作品集

诗人的名句来源于:寻古诗词网名句

游历地点来源:通过对诗人的个人生平进行分析,提取其中的地点词,作为诗人的旅行地点词。

 

 诗人图谱(朋友圈)

诗人的朋友圈

通过收集诗人列表,在对诗人的个人生平进行人名提取,提取出同一朝代的诗人。

建立诗人的朋友列表,导入neo4j数据库。

页面展示:

通过D3将诗人关系图谱展示出来,展示诗人的直接朋友,再根据诗人的朋友展示其间接朋友,也就是我们常说的(朋友的朋友,不就是你的间接朋友)

改进:不触摸诗人,展示所有诗人关系;触摸到诗人,只展示其直接朋友关系,其他诗人关系不显示。

不触摸状态:

 

 触摸状态:

 

 诗人轨迹

轨迹地点:通过对诗人的个人生平,进行地点提取,通过古今地点对应表,查询现今地点的经纬度,在高德上可进行标记。

然后通过echarts的轨迹图,将作者的轨迹按照时间的顺序进行展示。

 诗词鉴赏

展示的内容:基本介绍、诗人信息、字词解释、情感分析、时空背景

情感分析

通过BILSTM情感分析模型,对单句进行七种细颗粒度的情感分析。然后对整首诗进行情感分析,得出最终的各类情感的占比。

 

 单句情感分析

 

 基本介绍

 

 诗人信息

 

 字词解释

 

 时空背景

创作该诗的前后几年,诗人在何时在哪里做了哪些诗词

 

 

机器作诗

实现给定一个开头词或者四个藏头字,数字5或7代表五言或七言。

改良:

①避免叠词出现:

例如:

楼高高高楼   ×

避免叠词产生

②开头词不重复

避免四句古诗,有相同的开题词,导致古诗不通顺

 

 成果展示:

 

 藏头七言古诗

 

 诗词问答 问答主体 #----------诗人相关问题------------------------------------------------- # 诗人的作品 self.poem_name_qwds=['诗','作品','诗集','诗词'] # 诗人的朋友 self.poemer_friend_qwds=['好友','朋友','知己'] # 诗人的出生年月 self.poemer_born_qwds=['出生','生于'] # 诗人的去世年月 self.poemer_die_qwds = ['死', '去世'] # 诗人的简介 self.author_qwds=['简介','介绍'] # 诗人所属朝代 self.author_desty_qwds=['朝代','朝','年代','代'] # 诗人的合称 self.author_common_name_qwds=['合称','称号'] # 诗人旅行地点 self.author_travel_where_qwds=['旅行','游历','游玩','到','地点'] # 诗人的字 self.author_zi_qwds=['字'] # 诗人的号 self.author_hao_qwds=['号'] # 诗人的诗集总数 self.author_poem_sum_qwds=['总数','合计','总共','诗词总数'] # ----------诗词相关问题------------------------------------------------- # 诗词的内容 self.poem_qwds=['内容'] # 诗词作诗时间 self.poem_date_qwds=['时间','作诗时间'] # 诗词的创作背景 self.poem_back_qwds=['创作背景','背景'] # 诗词的翻译 self.poem_trans_qwds=['翻译'] # 诗词的作者 self.poem_author_qwds=['作者','诗人'] # 诗词的朝代 self.poem_desty_qwds=['朝代','朝','年代','代'] # 诗词的类别 self.poem_tag_qwds=['类','类别','类型','风格'] # 诗词的形式 self.poem_formal_qwds=['形式','题材'] # 诗词的词牌名 self.poem_cipaiming_qwds=['词牌名'] # 诗词的曲牌名 self.poem_qupaiming_qwds = ['曲牌名'] # ----------类别相关问题------------------------------------------------- # 所有诗词类别? self.tag_qwds = ['诗词类别'] # 类别包含哪些诗? self.tag_poem_qwds=['诗','有'] # ----------形式相关问题------------------------------------------------- # 所有诗词形式? self.formal_qwds = ['诗词形式'] # 形式包含哪些诗? self.formal_poem_qwds=['诗','有'] # ----------词牌名问题----------------------------------------------- # 所有的词牌名? self.cipaiming_qwds = ['词牌名'] # 词牌名包含哪些诗? self.cipaiming_poem_qwds=['诗','有'] # ----------曲牌名问题----------------------------------------------- # 类所有曲牌名? self.qupaiming_qwds = ['曲牌名'] # 曲牌名包含哪些诗? self.qupaiming_poem_qwds = ['诗', '有'] # ----------朝代问题----------------------------------------------- # 所有的朝代? self.desty_qwds = ['朝代'] # 朝代包含哪些诗? self.desty_poem_qwds = ['诗', '有'] # 朝代包含的诗人? self.desty_author_qwds=['诗人','人'] # ----------诗人合称问题----------------------------------------------- # 所有合称 self.common_name_qwds = ['诗人合称'] # 诗人合称包含哪些人? self.common_name_author_qwds=['人','诗人'] # ----------飞花令问题-------------------------------------------------- # 飞花令的诗句 self.word_qwds = ['飞花令'] # 飞花令的诗句 self.word_poem_qwds=['飞花令'] 问答展示

 

 总结

整个项目完结!!总结一下,遇到的困难:分析诗人的事迹,七种情感分析,基于规则模板的诗词问答。

遇到困难,认真分析,逐个攻破,保持热爱



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3