前台大屏數據可視化
朝代詩集總數-柱狀圖
統計各朝代的詩集總數,進行柱狀圖展示

宋詞意象詞頻統計-詞雲圖
將收集的宋詞,經過分詞器,在進行統計后,得出的意象詞頻結果,再將其展示成為詞雲圖。

唐朝情感分布-餅狀圖
分析唐朝詩詞,進行七種情感分析,統計情感的占比,繪制餅狀圖展示。

詩人游歷-旅行圖
定義了三位出名的詩人:李白、白居易、杜甫。
通過之前對詩人生平的解析,解析出對應的事跡。
事跡實體包含:時間,地點,事跡內容。然后地點是古代地名,通過百度搜索爬取其現代地名,做一個古今地名轉換,方便之后的高德地圖定位。
設置的軌跡路徑是從出生地到其他地方的路線圖,觸摸地點會展現出對應的時間,事件,出發地,終點地。

宋代詞牌名熱度-橫向柱狀圖
統計宋代的詞牌名,進行頻度統計,在展示其效果。

朝代情感-折線圖
分析每個朝代的詩詞,根據七種情感,找出各朝代情感表達最多的,作為該朝代的主題情感。

宋代詩詞類別-南丁格爾圖
統計帶有類別標簽的詩詞,進行宋代的詩詞類別統計,進行相應的展示。

前端整體數據展示

后端管理
首頁
首頁展示各朝代的詩詞統計,詩人統計信息,以及各朝代的部分詩人瀏覽展示。





詩詞瀏覽
分為三部分:按照朝代瀏覽,按照詩人瀏覽,按照題材瀏覽
朝代瀏覽:分為唐宋元明清,五個朝代的詩詞瀏覽。進入每個朝代的詩詞瀏覽,可以看到卡片式的詩詞布局展示,分頁瀏覽以及根據詩名模糊查詢本朝代的詩詞。
朝代詩詞瀏覽

分頁瀏覽

模糊搜索

詩人瀏覽:分成李白、杜甫、白居易、蘇軾、更多...。更多這里有個所有詩人的展示,分頁展示所有的詩人,點擊后進入單獨的詩人詩集頁面。在詩人詩集頁面,會展示相關的詩人的詩集,同樣也支持模糊搜索,分頁展示。
李白詩集

分頁瀏覽

更多詩人頁面瀏覽

王昌齡詩集

題材瀏覽:五言絕句、七言絕句、五言律詩、七言律詩、詞、曲。點擊對應的詳情頁面,會展示和詩詞題材相關的詩詞,同樣支持模糊搜索,分頁展示。


詩人瀏覽
按照朝代瀏覽:唐宋元明清
進入單個朝代頁面可以瀏覽該朝代的詩人,一行設置四個詩人位置,左側詩人頭像,右側詩人簡介,下面是詩人的名字以及查看詳情的鏈接跳轉。
分頁瀏覽:分頁查詢展示該朝代的詩人詳情

模糊查詢:根據詩人的名字,進行模糊查詢

詩人圖譜
包含:基本介紹,詩人畫像,詩人圖譜(朋友圈),詩人軌跡,詩人生平,詩人合稱
基本介紹
包含詩人的簡介,詩人經歷,通過數據庫展示。之前重新爬取了詩人的經歷,將其對應的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=['飛花令']
問答展示

總結
整個項目完結!!總結一下,遇到的困難:分析詩人的事跡,七種情感分析,基於規則模板的詩詞問答。
遇到困難,認真分析,逐個攻破,保持熱愛
