中華古詩詞知識圖譜之網頁設計及實現(完結)


前台大屏數據可視化

朝代詩集總數-柱狀圖

統計各朝代的詩集總數,進行柱狀圖展示

 

宋詞意象詞頻統計-詞雲圖

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

 

 唐朝情感分布-餅狀圖

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

 

 詩人游歷-旅行圖

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

通過之前對詩人生平的解析,解析出對應的事跡。

事跡實體包含:時間,地點,事跡內容。然后地點是古代地名,通過百度搜索爬取其現代地名,做一個古今地名轉換,方便之后的高德地圖定位。

設置的軌跡路徑是從出生地到其他地方的路線圖,觸摸地點會展現出對應的時間,事件,出發地,終點地。

 

 宋代詞牌名熱度-橫向柱狀圖

統計宋代的詞牌名,進行頻度統計,在展示其效果。

 

 朝代情感-折線圖

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

 

 宋代詩詞類別-南丁格爾圖

統計帶有類別標簽的詩詞,進行宋代的詩詞類別統計,進行相應的展示。

 

 前端整體數據展示

 

 后端管理

首頁

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

 

 

 

 

 

 

 

 

 

 詩詞瀏覽

分為三部分:按照朝代瀏覽,按照詩人瀏覽,按照題材瀏覽

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

朝代詩詞瀏覽

 

分頁瀏覽

模糊搜索

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

李白詩集

 

分頁瀏覽

 

 更多詩人頁面瀏覽

 

 王昌齡詩集

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

 

 

 

 詩人瀏覽

按照朝代瀏覽:唐宋元明清

進入單個朝代頁面可以瀏覽該朝代的詩人,一行設置四個詩人位置,左側詩人頭像,右側詩人簡介,下面是詩人的名字以及查看詳情的鏈接跳轉。

分頁瀏覽:分頁查詢展示該朝代的詩人詳情

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

 

 詩人圖譜

包含:基本介紹,詩人畫像,詩人圖譜(朋友圈),詩人軌跡,詩人生平,詩人合稱

基本介紹

包含詩人的簡介,詩人經歷,通過數據庫展示。之前重新爬取了詩人的經歷,將其對應的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=['飛花令']

問答展示

 

 總結

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

遇到困難,認真分析,逐個攻破,保持熱愛


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM