前臺大屏資料視覺化
朝代詩集總數-柱狀圖
統計各朝代的詩集總數,進行柱狀圖展示
宋詞意象詞頻統計-詞雲圖
將收集的宋詞,經過分詞器,在進行統計後,得出的意象詞頻結果,再將其展示成為詞雲圖。
唐朝情感分佈-餅狀圖
分析唐朝詩詞,進行七種情感分析,統計情感的佔比,繪製餅狀圖展示。
詩人遊歷-旅行圖
定義了三位出名的詩人:李白、白居易、杜甫。
通過之前對詩人生平的解析,解析出對應的事蹟。
事蹟實體包含:時間,地點,事蹟內容。然後地點是古代地名,通過百度搜尋爬取其現代地名,做一個古今地名轉換,方便之後的高德地圖定位。
設定的軌跡路徑是從出生地到其他地方的路線圖,觸控地點會展現出對應的時間,事件,出發地,終點地。
宋代詞牌名熱度-橫向柱狀圖
統計宋代的詞牌名,進行頻度統計,在展示其效果。
朝代情感-折線圖
分析每個朝代的詩詞,根據七種情感,找出各朝代情感表達最多的,作為該朝代的主題情感。
宋代詩詞類別-南丁格爾圖
統計帶有類別標籤的詩詞,進行宋代的詩詞類別統計,進行相應的展示。
前端整體資料展示
後端管理
首頁
首頁展示各朝代的詩詞統計,詩人統計資訊,以及各朝代的部分詩人瀏覽展示。
詩詞瀏覽
分為三部分:按照朝代瀏覽,按照詩人瀏覽,按照題材瀏覽
朝代瀏覽:分為唐宋元明清,五個朝代的詩詞瀏覽。進入每個朝代的詩詞瀏覽,可以看到卡片式的詩詞佈局展示,分頁瀏覽以及根據詩名模糊查詢本朝代的詩詞。
朝代詩詞瀏覽
分頁瀏覽
模糊搜尋
詩人瀏覽:分成李白、杜甫、白居易、蘇軾、更多...。更多這裡有個所有詩人的展示,分頁展示所有的詩人,點選後進入單獨的詩人詩集頁面。在詩人詩集頁面,會展示相關的詩人的詩集,同樣也支援模糊搜尋,分頁展示。
李白詩集
分頁瀏覽
更多詩人頁面瀏覽
王昌齡詩集
題材瀏覽:五言絕句、七言絕句、五言律詩、七言律詩、詞、曲。點選對應的詳情頁面,會展示和詩詞題材相關的詩詞,同樣支援模糊搜尋,分頁展示。
詩人瀏覽
按照朝代瀏覽:唐宋元明清
進入單個朝代頁面可以瀏覽該朝代的詩人,一行設定四個詩人位置,左側詩人頭像,右側詩人簡介,下面是詩人的名字以及檢視詳情的連結跳轉。
分頁瀏覽:分頁查詢展示該朝代的詩人詳情
模糊查詢:根據詩人的名字,進行模糊查詢
詩人圖譜
包含:基本介紹,詩人畫像,詩人圖譜(朋友圈),詩人軌跡,詩人生平,詩人合稱
基本介紹
包含詩人的簡介,詩人經歷,通過資料庫展示。之前重新爬取了詩人的經歷,將其對應的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=['飛花令']
問答展示
總結
整個專案完結!!總結一下,遇到的困難:分析詩人的事蹟,七種情感分析,基於規則模板的詩詞問答。
遇到困難,認真分析,逐個攻破,保持熱愛