zoukankan      html  css  js  c++  java
  • 中华古诗词知识图谱之网页设计及实现(完结)

    前台大屏数据可视化

    朝代诗集总数-柱状图

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

     

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

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

     

     唐朝情感分布-饼状图

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

     

     诗人游历-旅行图

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

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

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

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

     

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

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

     

     朝代情感-折线图

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

     

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

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

     

     前端整体数据展示

     

     后端管理

    首页

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

     

     

     

     

     

     

     

     

     

     诗词浏览

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

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

    朝代诗词浏览

     

    分页浏览

    模糊搜索

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

    李白诗集

     

    分页浏览

     

     更多诗人页面浏览

     

     王昌龄诗集

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

     

     

     

     诗人浏览

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

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

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

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

     

     诗人图谱

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

    基本介绍

    包含诗人的简介,诗人经历,通过数据库展示。之前重新爬取了诗人的经历,将其对应的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=['飞花令']

    问答展示

     总结

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

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

  • 相关阅读:
    事件
    10- JMeter5.1.1 工具快速入门
    06- Linux Ubuntu下sublime下载与使用与安装包
    控件是什么意思?
    09- 性能测试关键指标
    08- Tomcat入门与环境搭建部署
    07- HTTP协议详解及Fiddler抓包
    06- web兼容性测试与web兼容性测试工具
    05- web网站链接测试与XENU工具使用
    04- cookie与缓存技术
  • 原文地址:https://www.cnblogs.com/xiaofengzai/p/15763492.html
Copyright © 2011-2022 走看看