前台大屏数据可视化
朝代诗集总数-柱状图
统计各朝代的诗集总数,进行柱状图展示
宋词意象词频统计-词云图
将收集的宋词,经过分词器,在进行统计后,得出的意象词频结果,再将其展示成为词云图。
唐朝情感分布-饼状图
分析唐朝诗词,进行七种情感分析,统计情感的占比,绘制饼状图展示。
诗人游历-旅行图
定义了三位出名的诗人:李白、白居易、杜甫。
通过之前对诗人生平的解析,解析出对应的事迹。
事迹实体包含:时间,地点,事迹内容。然后地点是古代地名,通过百度搜索爬取其现代地名,做一个古今地名转换,方便之后的高德地图定位。
设置的轨迹路径是从出生地到其他地方的路线图,触摸地点会展现出对应的时间,事件,出发地,终点地。
宋代词牌名热度-横向柱状图
统计宋代的词牌名,进行频度统计,在展示其效果。
朝代情感-折线图
分析每个朝代的诗词,根据七种情感,找出各朝代情感表达最多的,作为该朝代的主题情感。
宋代诗词类别-南丁格尔图
统计带有类别标签的诗词,进行宋代的诗词类别统计,进行相应的展示。
前端整体数据展示
后端管理
首页
首页展示各朝代的诗词统计,诗人统计信息,以及各朝代的部分诗人浏览展示。
诗词浏览
分为三部分:按照朝代浏览,按照诗人浏览,按照题材浏览
朝代浏览:分为唐宋元明清,五个朝代的诗词浏览。进入每个朝代的诗词浏览,可以看到卡片式的诗词布局展示,分页浏览以及根据诗名模糊查询本朝代的诗词。
朝代诗词浏览
分页浏览
模糊搜索
诗人浏览:分成李白、杜甫、白居易、苏轼、更多...。更多这里有个所有诗人的展示,分页展示所有的诗人,点击后进入单独的诗人诗集页面。在诗人诗集页面,会展示相关的诗人的诗集,同样也支持模糊搜索,分页展示。
李白诗集
分页浏览
更多诗人页面浏览
王昌龄诗集
题材浏览:五言绝句、七言绝句、五言律诗、七言律诗、词、曲。点击对应的详情页面,会展示和诗词题材相关的诗词,同样支持模糊搜索,分页展示。
诗人浏览
按照朝代浏览:唐宋元明清
进入单个朝代页面可以浏览该朝代的诗人,一行设置四个诗人位置,左侧诗人头像,右侧诗人简介,下面是诗人的名字以及查看详情的链接跳转。
分页浏览:分页查询展示该朝代的诗人详情
模糊查询:根据诗人的名字,进行模糊查询
诗人图谱
包含:基本介绍,诗人画像,诗人图谱(朋友圈),诗人轨迹,诗人生平,诗人合称
基本介绍
包含诗人的简介,诗人经历,通过数据库展示。之前重新爬取了诗人的经历,将其对应的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=['飞花令']
问答展示
总结
整个项目完结!!总结一下,遇到的困难:分析诗人的事迹,七种情感分析,基于规则模板的诗词问答。
遇到困难,认真分析,逐个攻破,保持热爱