




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
唐朝詩人關系及唐詩文本空間信息可視化分析方法研究引言唐詩是中國文學史上的一顆璀璨明珠,其中有很多作品.如果我們利用知識地圖技術建立唐詩,作家和地方的關系圖,我們可以幫助學習者從多個方面研究唐詩文化,從而挖掘更深層次的知識.然而,對詩歌知識地圖的研究還處于起步階段.由于有豐富的詩書和互聯網資源可供依賴,維基百科和互動百科等關于詩歌和詩歌的百科全書數據也更多.本文借鑒唐詩數據庫.隨著互聯網,數字圖書館,數字中心,萬維網聯盟(W3C),GIS等技術的發展,廣泛應用于數字人文領域,建立了大量的電子圖書館資源.作為數字人文研究的重要領域之一,唐詩已經積累了大量的數據資源.唐詩不僅代表了中國傳統文化的發展高峰,而且對世界上許多國家和國家的文化發展產生了重大影響.在當前文化合作繁榮的歷史背景下,唐詩的數據是關聯開放數據云中交叉語言資源有效訪問的重要數據來源.目前,互聯網上存在大量結構化,非結構化的唐詩知識庫和文獻基礎,組織結構松散,知識體系復雜,資源分布不均.唐詩在詞語,句型,語法和對立方面有較高的要求,具有特殊的語法和習慣.傳統的文本挖掘技術難以處理這些古老的文本,因此它提供了大量的文本挖掘技術.根據環境,唐詩的知識組織和利用帶來了巨大的挑戰.另外,在人工智能時代,唐詩領域基于知識地圖集的智能知識服務需求越來越迫切.然而,唐詩的現存智能應用并沒有對唐詩的內容有深刻的理解,缺乏唐詩領域知識的系統表現和建模.基于RDF三重表示框架的知識圖譜技術描述了知識與知識之間的關系.它可以統一,組織和利用唐詩的多源和異構知識,實現唐詩領域知識運用的四個創新:首先基于知識闡明唐詩知識服務的需要協會,解決實地問題,促進唐詩對語言的研究.語義和智能化方向的發展;其次,探討了唐代詩歌本體建模方法,在領域知識驅動服務的驅動下,實現了概念系統的整合,促進了本體論,更好地支持領域知識服務;三是支持大型唐詩知識地圖的自動構建,使唐詩的知識地圖智能化應用成為可能,促進傳統文化融入“一帶一路”的公共文化.最后基于唐詩知識地圖提供智能知識服務應用策略,實現信息資源向知識資源的轉化,為中國傳統文化帶來新的發展空間.因此,本文結合對唐詩領域知識服務需求的研究,本文基于知識圖譜理論及其構建技術,通過哈佛大學編纂的《中國歷代人物專輯資料庫》獲取唐朝詩人相互引用關系的知識圖譜,基于知識圖譜的構建,使用Ecahrts生成并且做出相關的可視化分析,然后利用唐詩知識圖實現語義處理和存儲.唐詩領域的海量數據,使得唐朝詩詞和詩人的數據以及詩人之間的關系更加地清晰明了,促進了唐詩在人工智能環境下的知識組織創新和知識利用,對之后對唐詩數字人文研究范式的進一步轉型和升級的探索也有很大的引導作用.1基礎理論1.1知識圖譜21世紀以來,隨著網絡科學的復興,以網絡結構表征知識關聯關系的思想已經被圖書情報學界普遍接受和認可.人工智能領域中各類神經網絡(CNN、RNN、DNN)的崛起,無一不印證了網絡思維在揭示多維復雜關系中的重要性.隨著互聯網技術的蓬勃發展和數據的爆炸式增長,人類已經能夠通過搜索引擎通過搜索關鍵詞可以得到自己想要的信息,人們需自己從互聯網上提取出自己所需的知識,但隨著知識的不斷增長,這種只是通過關鍵詞搜索以及網頁固定瀏覽的方式已經不夠滿足當下大數據時代的需求.現在的人們既希望快速并準確地從網上搜索出想要的信息,又要使搜索引擎更加智能化.正是由于這種需求的產生和日漸龐大,知識圖譜這一技術應運而生.Google在2012年5月時在google官網發布了IntroducingtheKnowledgeGraph:Things,notStrings,第一次引出了“知識圖譜(KnowledgeGraph)這一概念”.知識圖譜相比傳統的知識網絡具有更豐富的知識關聯,正在迅速應用于經濟、醫療、金融、教育等諸多領域.與此同時,圖書情報學界也開始嘗試知識圖譜在本學科領域的應用.【5】2012年Google開始公布使用知識圖譜作為項目核心,初衷是提升搜索引擎的搜索效率并提高搜索引擎的準確性.知識圖譜對數據中的實體通過一些屬性和關系聯系起來,從而變成了如今這類既迅速、又高效、并且還很智能的知識管理方式,使搜索引擎擁有了一種基于映射關系的庫,里面每個實體都有自己的屬性和映射關系.在知識圖譜產生之前,我們更多的是使用oracle、mysql等關系數據庫來存儲我們需要的數據.但面對知識圖譜中大量存在的知識,關系型數據庫局限于固定的表結構,不易進行擴展,查詢效率易受影響.考慮到知識圖譜中知識是圖的連接形式,可以采用強大的圖形數據庫Neo4j,相對于傳統關系型數據庫,對于數據的格式十分靈活沒有固定的表結構,不易受到數據形式的影響,并且擅長于對關系的查詢,提升查詢效率.目前,雖然通過知識圖譜可以建立起知識之間的關聯,但用戶卻無法直觀的看到知識圖譜中所蘊含的知識內容,需通過可視化將大量的知識轉化為一種視覺表現形式,加強人類認知,增加人們的理解.[2]1.1.1知識圖譜定義知識圖譜通常也被叫做科學知識圖譜,英文全稱為MappingKnowledgeDomain.科學知識圖譜是利用可視化圖像直觀地展示科學知識的發展及演進趨勢的一種在世界各國也逐漸開始流行的方法.[4]該技術具體以現代信息科學、數學理論、圖形學等知識為基礎,結合可視化技術與計量科學,對目標文獻資料開展引文與共現分析,通過直觀形象的方式對文獻資料的分布、結構及規律進行揭示,以圖形、網絡圖譜等為具體的表現形式[3]至今為止,無論國內外,對知識圖譜也沒有一個統一的定義.陳悅定義知識圖譜是通過科學手段,來展示科學范圍內的知識結構的圖.【6】文獻[5]從知識工程這一學科角度出發,將知識圖譜定義為這一學科的一個分支,它代表著將知識闡釋、關系推理、多語言自然的處理和機器學習等最新技術相互輔助而成的技術成果.【5】參考了不同人之前對知識圖譜不同的定義,本文姑且認為知識圖譜是由節點和邊構成的能夠描述物理世界中復雜關系的圖形,其實可以理解為一種語義網絡,可以非常清晰直觀地顯現每個實體之間的語義關系.圖中的節點對應著實體,類似于面向對象程序設計中的類的某一個實例,而每一條邊則表示實體與實體之間的關系屬性.如圖2-1所示,一共有兩個實體:姚明和葉莉,這兩個實體的關系是配偶關系,這個配偶關系其實是作為姚明這個實體的關系屬性,而它本身也有實體屬性如出生地,國籍等.圖2-1以姚明為中心的知識圖譜Figure2-1KnowledgegraphcenteredonyaoMing1.1.2知識圖譜特征大多數學者認為知識圖譜具有直觀化、可視化和形象化的特征,但不同的研究學者對其特征還有不同的看法和理解.知識圖譜作為大數據可視化的一種重要表現形式,具有重要的研究和應用價值.知識圖譜把復雜的知識領域用直觀簡潔的圖形展示出來,把有關知識體系系統地展示給用戶.在知識圖譜這一概念產生之前,數據可視化仍然只是在實體的客觀展示上,而知識圖譜得產生賦予了數據可視化一個新的方向,即展現實體間的關系,這些實體關系給了我們解決問題和觀察數據的新思路.知識圖譜的本質三元組,如圖2-2,它使存儲的信息很容易地被人類和計算機解讀,并且使計算機具有一定的推理能力,進而讓知識圖譜具有一定的可解釋能力,彌補了之前的缺陷.此外,知識圖譜還具有規模龐大、系統性、客觀性和全面性等特征.【6】圖2-2知識圖譜三元組Figure2-2Knowledgemaptriples1.1.3知識圖譜研究現狀近年來,知識圖譜作為大數據可視化和人工智能重要組成部分,不僅在國內有很多人研究它,在國外更是聚集著諸多開發人員和研究人員的目光.2012年,谷歌將在google搜索中加入了知識圖譜技術,來提高搜索結果的準確性,并降低了搜索算法的時間復雜度.而其他企業也看到了知識圖譜的優勢所在,從而繼谷歌之后也大力在自己的產品中加入知識圖譜技術.2017年11月,在北京召開的世界人工智能大會上,百度知識圖譜摘得了“AI創新產品”殊榮.2018年3月,蘇寧金融企業知識圖譜系統成功上線,阿里巴巴集團積極舉辦知識圖譜研討會,天津大學的科研團隊在一次利用知識圖譜為底層技術來管理數據和推理關系的系統項目中取得了成功,這也意味著在其他領域中知識圖譜可以嘗試著開始融入合作.【6】傳統的知識組織體系以樹形結構為主,當前風行世界各大圖書館的杜威十進制[27]就是典型的代表.樹形結構強調非此即彼的隸屬關系和等級森嚴的層級關系,體系結構相對簡單和僵化.進入21世紀以后,領域本體[28]憑借其多重繼承關系和對語義網的支持,一定程度上突破了傳統樹形結構的桎梏.Soergel[29]認為,本體作為概念與概念之間的語義地圖,有利于將多元學科、語種和文化的知識建立關聯,作為一種參考工具為知識組織體系的構建過程提供方向指引.Hautam?ki[30]通過對實體的“屬性—值”描述,豐富了領域本體中概念的內在邏輯和繼承關系類型.滕廣青等[31]指出,領域本體的相關研究沿著“本體構建—本體合并—本體集成—本體對應”這一總體路徑向前發展.孫雨生等[32]對本體研究和應用進行總結,表明領域本體可以應用于知識表示、組織、存儲、檢索、導航、問答和推薦、用戶興趣建模以及個性化定制等方面.盡管領域本體在知識組織與服務領域取得了較為顯著的進展,但是其仍然受制于嚴苛的等級關系.隨著網絡科學理論和方法的突破,網絡思維和網絡分析技術被引入知識組織與信息分析的研究領域.Martin等[33]使用網絡和聚類的思想構建知識網絡,將知識群落用沖擊圖進行層級展示,進而分析領域知識的探索與交流2019年第3期(總第178期)19演化進程.Pham等[34]通過不同維度的網絡交叉分析,挖掘知識間的引用行為,判識子學科的發展趨勢.在文獻[35]中,Ma和一些學者通過了一些分析工具方法如分析是否一致、中心性、以及核心至邊緣等,證實了網絡中的知識的一些特性如小世界的效應以及無標識度的,并在文獻【36】中創建了隨著時間變化而造成的引用關系之間的變化的演變模型.安寧等[37]也對上述時間排列進行了知識浮現的分析,從而發現了了其中隨機性與非隨機性的變化規律周期.隨著研究工作的深入,知識網絡的相關研究在主題聚類[38]、學科進展[39]、科研合作[40]、知識傳遞[41]等方面取得了豐碩的成果,網絡科學的理論與方法也得到學術界的普遍認可.隨著數據科學的崛起和相關研究的深入,單一的網絡分析在面臨多維信息分析時的局限性逐漸顯露出來.在領域本體數據模式與知識網絡結構關系的基礎上,知識圖譜產生了非常大的作用.現在在我國國內的學術圈,對于知識圖譜這項新興技術的研究還不夠成熟,對很多方法也還在慢慢的挖掘對知識圖譜的相關研究剛起步[42],雖然在模型構建方法[43]等基礎研究方面進行了探索和嘗試,但同時也暴露出一些問題.對真正意義的知識圖譜的認識尚不清晰,知識地圖、知識網絡、知識圖譜等概念之間存在一定的混用現象.[44]1.1.4知識圖譜用途(1)知識圖譜應用最廣泛的就是用來輔助搜索,Google公司也正因如此才提出了知識圖譜這一概念.在知識圖譜出現之前,一些老的搜索系統就僅僅是用戶輸人什么,它就去用模糊查詢來根據用戶輸入的內容去網上搜索匹配的網絡資料去篩選,接著就只是給出一些網址而已.而知識圖譜的強大之處在于,除了給出與傳統搜索引擎一致的結果之外,還會嘗試匹配更多的與搜索關鍵詞相關聯的結果.比如,我在微軟Bing搜索輸入泰姬陵的英文單詞tajmahal,搜索結果如圖2-3所示:圖2-3泰姬陵的搜索結果Figure2-3Tajmahalsearchresults 從圖中我們可以發現搜索的結果包括了泰姬陵的匹配近義字段、旅游概況信息、所處的地圖上位置以及它所處的世界七大奇跡的其它景點等.這樣就體現了知識圖譜用來輔助搜索的話,不僅快速,結果更加準確,而且還可以發現其他與之相關的內容,是搜索變得靈活起來.又比如說,我在百度只輸入“羽毛球”來搜索,得到圖2-4的結果,里面有“林丹”這個詞條超鏈接.但是我只是想找一下“林丹”的資料,卻又忘了他叫什么而已.圖2-4百度搜索“羽毛球”的結果Figure2-4Baidusearchfor"badminton"results同時,知識圖譜的應用賦予了搜索引擎不俗的推理能力.例如,在百度搜索輸入“梁啟超的兒子的妻子”時,傳統的搜索引擎只是簡單地匹配網頁,很難真正理解用戶的意圖,更不用說回答這個問題了.但是,知識地圖可以使問題更容易.我們先從知識庫中獲取梁啟超的兒子是梁思成,然后再獲取梁思成的妻子是林微因.圖2-5百度搜索“梁啟超的兒子的妻子”的結果Figure2-5Baidusearchfor"Wifeofliangqichao'sson"results(2)聊天機器人,比如說微軟的小冰,王昊奮老師公司的公子小白(3)輔助問答,是搜索系統的進階形式1.2可視化工具ECharts1.2.1ECharts簡介ECharts,就我個人理解,就是一個使JavaScript語言編寫的工具包,全名是EnterpriseCharts,廣泛應用于商業級軟件中,很有商業價值.一般的軟件開發中,直接去官網下載echarts.js包即可,大約2MB多點,有很好的兼容性,不僅兼容開發程序最牛的chrome瀏覽器,對于IE6-11,firefox和Safari等也是完美運行的.因為echarts的底層使用canvas集成的,所以十分輕便,自主性也非常強,支持個人創新各種圖形,極大地提上了用戶的創造能力.ecahrts目前共支持我們繪制出12中類型的圖表,分別有:柱狀圖、折線圖、扇形圖、散點圖、雷達圖、力導向布局圖、K線圖、儀表盤、漏斗圖、地圖、和弦圖和時間河流圖等.echarts同時很尊重用戶的使用體驗,圖例解釋、數據的樣式、時間軸、氣泡以及工具箱等多個便于用戶實現交互效果的組件類型.1.2.2ECharts引入與圖表繪制利用Echarts進行繪制圖表設計了服務端和客戶端.流程圖如圖2-1所示圖2-1ecahrts的引入流程Figure2-1Theintroductionprocessofecahrts,實現過程如下:下載并導入Echarts庫文件,其中封裝了大量圖形繪制方法,方便程序調用;為繪圖區域添加DOM空間,進行圖譜渲染;對Echarts圖表實例進行初始化配置;通過異步請求的方式從后臺獲取系統的動態數據;最后將已繪制完成的關系圖等圖表放入指定容器中,實現圖譜界面在網頁客戶端的顯示.(1)引入Echarts控件庫的具體實現過程如下:將下載的相關javascript腳本文件引入源代碼中,以便在可視化實現中進行調用,分別引入echarts.js和jquery.js文件,代碼如下:<scripttype="text/javascript"src="echarts.js"charset="utf-8"></script><scripttype="text/javascript"src="jquery.js"charset="utf-8"></script>(2)在畫出圖表之前,我們必須要給繪制圖表所在的div一個具有固定高度和寬度的dom容器,使得圖表在網頁上有被分配一個固定高寬的空間進行渲染顯示.之后我們就可以在指定的dom容器中寫一個div標簽,通過div的id屬性獲取圖表實例.然后利用echarts內置的init初始化方法來初始化容器.而圖表中的配置項(option)決定了選擇顯示的圖表類型(series),圖例(legend),坐標系(xAxis/yAxis)以及數據內容(data).(3)通過echarts庫內置的初始化方法來初始化一個echarts實例并綁定到預先定義的dom空間中,再將圖表配置指定到對應的echarts實例,即可將圖表顯示到網頁中的對應位置.將圖表實例放入已經準備好的dom空間中進行初始化操作并按照指定的配置和具體數據信息進行可視化展示.(4)利用ajax異步獲取需要在客戶端展示的數據.使用異步加載的好處是允許頁面內發起請求獲取數據,但不需要刷新頁面,提升用戶體驗.圖表動態顯示的方式不同于靜態顯示時的直接配置固定數據,而是要動態的展示數據的變化情況,數據的獲取方式采用ajax異步獲取寫入圖表數據配置中,進而實現圖表的動態繪制.得益于echarts對數據動態顯示的支持,程序在獲取到動態數據后通過setOption方法,把寫好的配置項作為參數傳進去就能夠實現數據的動態交互.圖表向后臺發起請求獲取的數據是一種輕量級的數據交換格式json數據.后臺獲取請求并將處理好的json數據發送到前端,將數據填入圖表后,進行渲染.1.2.3ECharts可視化實現以我之前做過的一個北京市西城區衛生衛生健康綜合管理平臺為例,來介紹一下基于Echarts工具的可視化實現.因為我的vue項目是交給node.js管理,使用node.js自帶的webpack腳手架來初始化項目結構的,所以可以使用Node.js的包管理工具npm.npm的作用體現在它把使用node.js開發時可能會使用的包全部都下載并集中管理起來了.當我需要使用時,直接通過使用語句npminstallxxx的方式來安裝我所需要的包.所以當我需要引入echarts時,并不需要去網上下載echarts.js這個包,可以直接使用npminstallecharts–save命令來在我的vue項目中安裝echarts.除了echarts.js,還有d3.js也可以用來可視化,而且功能十分強大,里面封裝的組件和實現效果比Echarts還有厲害的多,但是相應的開發難度也非常大,而開發文檔以及圖形實例卻沒有ecahrts那么全,而且ds.js的強大更多的是體現在了計算方面,在echarts可以滿足我的需求的情況下,我還是選擇了echarts來實現可視化.echarts的功能相比于d3來說卻是就要弱很多,但是勝在入門簡單,官網上的文檔和例子也清晰明了,而且足夠滿足我的項目需求,所以在這個項目中我選擇了echarts圖形可視化工具. Echarts的使用其實只有一點寫配置.具體的代碼是map格式,類似于python中的字典dict,等同于java中的Map<>.使用map格式的好處是方便json數據的讀寫,對于我之后項目中的前后端分離,獲取數據是很方便的.圖2-2、圖2-3、圖2-4、圖2-5是我項目中實現的一部分截圖,對應圖表的實現代碼見附錄C即可.圖2-2西城區衛生醫療機構種類占比情況Figure2-2Thetypeofhealthcareinstitutionsinxichengdistrict圖2-32015年~2019年西城區收入組成柱狀圖Figure2-3Barchartofincomecompositionofxichengdistrictfrom2015to2019圖2-42015年~2019年西城區總診療人次變化圖Figure2-4Changesoftotalmedicalattendancesinxichengdistrictfrom2015to2019圖2-5西城區模擬地圖Figure2-5Simulationmapofxichengdistrict2基于知識圖譜的唐朝詩人關系可視化分析2.1唐朝詩人關系的知識圖譜表示方法2.1.1詩人關系的提取詩人、詩歌、經歷等作為實體都有著各自的屬性,同時互相之間存在著各種各樣的關系,而這些主要通過知識抽取來補充和豐富,因此唐詩文本的知識抽取主要分為實體的屬性抽取和關系抽取.我本次抽取的是詩人之間的引用關系,如李白寫給杜甫的詩句有《望天門山》、《將進酒》、《不見》、《寄李十二白二十韻》等,而反過來杜甫也曾給李白寫了《春日憶李白》、《冬日有懷李白》、《贈李白》、《與李十二白同尋范十隱居》等詩句.這里使用哈佛大學編纂的《中國歷代人物專輯資料庫》(ChinaBiographicalDatabaseProject以下簡稱CBDB),CBDB中的數據包含了中國古代、近代及現代名人的傳記資料,并保存我的mysql數據庫內.CBDB由許多表組成,每個表都記錄了不同類型人物的不同信息.這里只使用兩個表.最重要的表就是人物信息表:BIOG_MAIN和人物的別稱表:ALTNAME_DATA.首先,從人物信息表查詢字段人物id(c_personid),然后使用查詢得到的c_personid從人物的別稱表中查詢每個人對應的別名,如圖3-1為以詩人杜甫為例查找他的名稱圖3-1查詢杜甫的別稱Figure3-1Querydufu'snickname通過查詢結果我們可以發現,杜甫一共有“子美”、“杜二”和“杜工部”這三個別稱.還有一些人物名字一樣的情況,例如我們查詢王維.會找出一堆姓名是王維的人,這時就無法確定哪個人是唐朝詩人王維.這時,我們將利用他出生和死亡的歲月來判斷這個人是否在唐朝所以我們需要從數據庫中查詢一個人的出生和死亡日期.唐朝成立于618年,于907年滅亡.經過比較,我們發現第二位王維是我們正在尋找的詩人.查詢別名核實一下如圖3-2.圖3-2查詢詩人王維Figure3-2Lookupthepoetwangwei從圖3-2中可以看到“王右丞”和“摩詰”,從而確定了這就是唐朝詩人王維.由于CBDB包含太多歷史數據,因此重命名現象非常嚴重.所以規定下列三點來輔助判斷:(1)如果人物的出生和死亡時間都存在,那么只要有一個時刻在唐朝的時間范圍內,么他就被直接視為所有唐詩的作者.(2)如果角色只有出生或死亡年份,那么出生或死亡的年份必須持續唐朝時期.將這些人添加到候選人列表中.(3)如果出生和死亡的年份不明,則放棄它.除了上面三點:(1)如果得到的名單為空值,則表示數據庫里沒有該詩人,放棄.(2)如果排除重名后還是有重名的兩個或以上詩人存在,本著寧缺毋濫的原則,放棄.然而這種方案還是有遺漏的個別詩人,所以我在程序中手動定義了它們并以傳參的方式到關系數據的方法內,如圖3-3所示.圖3-3手動添加詩人別名Figure3-3Addpoetaliasmanually還有一些詩人的別名與唐詩中經常出現詞匯有沖突,所以我也在程序手動定義之后予以刪除.如圖3-4.圖3-4唐詩中的常用詞Figure3-4Commonwordsintangpoetry經過這一系列的處理后,唐詩的2609位原創作家中只剩下762位,這些已經足夠我來做之后的知識圖譜構建和可視化分析了,接著就利用上面得到的數據分析這些剩下的詩人之間的引用關系.規則是:如果有一位詩人的詩詞內容或詞牌名中存在另外一名詩人的名字或者是別稱,就對兩者的引用關系累加1.如果在同一首詩內反復提到對方,則也只計算一次.在通過python程序處理后后,獲得了兩個pkl文件,里面存放著詩人之間的關系,程序內容見附錄C.用詩人李白和杜甫來舉例.圖3-5中得到的數據顯示杜甫寫了12首與李白有關的詩,而李白只寫了3首與杜甫有關的詩.而杜甫的《寄李十二白二十韻》和李白的《魯郡東石門送杜二甫》這兩首詩并沒有提高對方的名字,也間接地驗證了程序的準確性.圖3-5李白和杜甫的引用關系Figure3-5Thequotedrelationshipbetweenlibaianddufu圖3-6排名前三十的引用關系Figure3-6Top30citationrelationships接著對這些詩人的關系大小程度進行排名.如圖3-6所示數據為其中前30個引用關系.我們可以看到唐詩中最好的朋友是陸桂蒙和皮日秀.他們兩人互相提到了一百多次.這是因為陸龜蒙和皮日修非常喜歡一起唱和,你為我寫了一首歌,我會給你另一首.它類似于微博大V的互動.這兩首歌曲和詩歌匯編了中國文學史上的第一首歌曲和詩歌集:《松陵集》.而他們也在文學史中被稱為“皮陸”.其次是白居易,劉禹錫,白居易,元稹.白居易和劉禹錫同年出生(772年),他們的政治道路非常坎坷.他們都過著悠久的生活.劉玉璽去世時享年71歲,而白居易則活了75歲.當白居易得知劉玉璽逝世的消息時,他寫下了流傳至今的千古名句,如圖3-7所示.圖3-7《哭劉尚書夢得二首》節選Figure3-7"Cryliushangshudreamgettwo"excerpt還有關系比較親密的比如說白居易和元稹,他們在文學史上被合稱為“元白”.從前30名的引文關系來看,白居易的社交關系是最緊密的.2.1.2唐朝詩人知識圖譜構建知識地圖集可以通過自上而下和自下而上的方法構建.自上而下是首先構建本體,改進知識圖譜的模型,定義域中的概念和關系,然后逐個添加實體.自下而上的方法是從實體中推廣基礎概念,然后逐步抽象出上層概念.本文采用自上而下的方法構建知識地圖.統計數據顯示,頻率相對較高的術語出現在相關數據中作為該領域的核心概念,如“地方”,“詩人”和“古代詩歌”.在每個概念下,有幾個實體,如“詩人”,其中包括“李白”,“杜甫”和“白居易”.另一方面,關系也是知識地圖的核心要素.他描述了該領域中概念和實體之間的相互作用.關系越多,知識地圖就越豐富.關系的類型是通過參考百科全書的標簽,實體的信息框和從文本中提取的關系來確定的,其中最重要的是上下文.信息提取主要從多個數據源中自動提取實體,關系和屬性信息.提取實體是指從文本集中提取人的生命,地名或組織結構名稱.它是信息提取的基礎.在這里,斯坦福的實體識別工具用于提取實體.實體之間的關系可以分為上下文,屬性關系和開放關系.下位詞是包含和包含實體之間的語義關系.下位詞指的是更廣泛的概念,而下位詞指的是更窄的概念.如上例所示,“李白”是其標簽“詩人”的從屬詞,可以從百科全書中的描述信息中獲得.同樣,屬性關系可以通過百科全書中的信息框獲得,其中包含大量屬性關系元組,如信息框中的“李白”,其中屬性“死亡地點”為“當涂縣,馬”“安徽省鞍山市”.通過這種關系,詩人和位置信息是相互聯系的.Selenium用于抓取百科全書數據并集成同一實體的屬性值.在本文中,手動定義關系類型,然后自動提取“實體-關系-實體”元組以擴展知識地圖.不同的網站可能包含同一實體的描述性數據.在基于多個數據源構建知識地圖時,有必要對齊實體并找出來自不同來源的實體是否在現實世界中描述相同的實體,以便將從開放領域提取的三元組添加到知識地圖中并擴展知識地圖.例如,“王維”可以指唐代的詩人和畫家,清華大學的教授,北京兒童醫院的博士生導師和副主任醫師.因此,當我們擴展知識地圖時,我們首先需要對齊實體.實體的上下文由單詞向量表示,并且對齊通過文本相似性來完成.Mikolov的單詞向量主要將單詞轉換為可由計算機理解的密集向量,包括CBOW和Kim-Gram.CBOW主要根據上下文預測目標詞,適用于小語料庫,而Skip-Gram基于目標詞預測上下文,在大語料庫中表現更好.由于唐詩人的數據,CBOW模型主要用于訓練數據.模型結構如圖3所示.給定字的上下文序列-2,-1,利用分層軟件Max算法和Huffman編碼,預測字的二進制編碼概率最大化.在訓練單詞向量之后,可以通過對其包含的所有單詞的單詞向量進行相加和平均來表達實體的上下文.公式如下所示:(2-1)其中,表示特征詞t的詞向量,N(c)表示上下文c中的詞數,v(c)是上下文c的向量表示.同樣,知識圖譜中的實體也可以用上述公式把它的描述信息k的向量表示為v(k),然后通過余弦相似度公式計算兩個實體的相似性,當余弦值大于0.7時,認為它們是同一實體,把它添加到知識圖譜中.2.2唐朝詩人關系可視化分析結果由于有762位詩人,為了避免圖畫過度擁擠和模糊,這里只展示前100個引文,如圖3-8所示.箭頭是雙向的,表示詩人之間的引用關系,箭頭的粗細表示關系的親密程度.例如,白居易引用元稹,然后就會出現白居易指向元貞的箭頭,元稹引用白居易,相應的元稹指向白居易的箭頭.箭頭的粗細表示詩人之間引用關系的強度.白居易引用元稹167次,元稹引用白居易88次,所以白居易指向元貞的箭頭要粗一些.圖3-8唐朝詩人關系知識圖譜Figure3-8Knowledgemapoftherelationshipbetweenpoetsintangdynasty圖片清晰地展示了唐代詩人以外的兩大朋友:杜甫與李白的朋友圈和白居易的朋友圈.是的,他們分別是繁榮的唐朝和中唐的核心詩人.雖然只列舉前100個引用關系,但它們仍然很擁擠.所以我按照在文學史上唐詩根據時間分為的四個階段:唐初,盛唐,中唐和晚唐來以此分析詩人關系.這四個階段的社交網絡圖分別如圖3-9、圖3-10、圖3-11及圖3-12所示.圖3-9初唐詩人關系知識圖譜Figure3-9Relationshipknowledgemapofpoetsintheearlytangdynasty從箭線的寬度來看,初唐時期詩人中最好的關系是宋之問和沈銓期.這兩個是宮廷詩人的代表.他們建立了現代詩歌的節奏和對立規則.粗略地說,現代詩歌的規則是由他們兩人發明的.他們通常在文學史上合成“沈宋”,沒有文學史的認證,他們似乎不可能成為好朋友.圖3-10盛唐詩人關系知識圖譜Figure3-10Relationshipknowledgemapofpoetsinthetangdynasty說到盛唐詩人,毫無疑問的最出名的兩個人就是李白和杜甫了.從圖3-10中我們可以發現,杜甫引用李白的次數比李白引用杜甫的次數要多得多.大體上觀察來看,盛唐詩人的關系網分為兩種,一種就是以李白和杜甫為中心的,而另一種則是以皇甫冉和劉長卿為中心的.圖3-11中唐詩人關系知識圖譜Figure3-11KnowledgemapoftherelationshipbetweenChineseandtangpoets中唐時期的詩人關系網絡很有特點,大致是以劉禹錫、元稹和白居易這三位詩人為中心,其他人的關系差不多,這可能也對應著當時的政治格局,唐朝全方位發展,唐詩也從浪漫主義風格逐步趨向于現實主義風格.圖3-12晚唐詩人關系知識圖譜Figure3-12Knowledgemapofpoets'relationshipinlatetangdynasty從圖3-12可以看出,晚唐時期的詩人關系沒有明顯的核心,比較混亂,側面體現出當時唐朝政局的不穩定.其中關系最親密的就是杜牧和李商隱了,在文學史上,二者被稱為“小李杜”.3以西湖為特定地域的唐詩文本空間信息可視化分析3.1唐詩文本中西湖空間表示方法3.1.1西湖十景的劃分和GeoJson數據的提取首先我訪問到http://geojson.io,這是geojson在線生成測試地址,通過這個網址我可以在世界地圖中找到杭州西湖的位置,并根據西湖十景的大致位置及輪廓在圖中畫出,從而可以提取出我需要的西湖地圖的json數據.圖4-1西湖十景的模擬Figure4-1Tenscenesofwestlake3.1.2GeoJson數據解析GeoJSON是一種地理數據的描述格式,可以描述多種對象其中圖形常用的大體分為點線面和要素的組合形式這四類:(1)點的數據格式:圖4-2點的數據格式Figure4-2Pointdataformattype指的是數據類型,它是一個feature.它包含幾何要素--geometry和屬性--properties.幾何要素包含要素的類型--type和坐標--coordinates.屬性可以包含各種數據類型,比如name就是我自定義的屬性,以便在界面的顯示中顯示其所在的位置名字.(2)線的數據格式:圖4-3線的數據格式Figure4-3Linedataformat線狀數據由兩個以上的點組合而成,所以在在坐標屬性的外面多包上一層中括號,表示json中的數組,數組中存放的是線上所有點的坐標,下標位置從0開始.(3)面的數據格式圖4-4面的數據格式Figure4-4Facedataformat由于面狀數據可以為鏤空多邊形,可以支持一個以上的多邊形,所以在線狀數據的基礎上多加一層中括號,里面所有點的坐標用二維數組來存儲,每一項元素又是一個數組,代表著每一條線.(4)要素的組合形式圖4-5要素的組合形式Figure4-5Combinationofelements不同的數據類型間可以包成一個FeatureCollection,最外層有個type來表示類型,而features指向各個feature數組.如下圖就是對其中西湖具體一個景色—“雙峰插云”的坐標數據,它是以面的形式進行存儲的.圖4-6西湖十景—雙峰插云的Geojson數據Figure4-6Tenviewsofwestlake-Geojsondatawithtwinpeaks3.2以西湖為特定地域的唐詩文本空間信息可視化系統設計與實現我利用java編程語言做了一個項目來對我所研究數據可視化技術進行實踐.項目主要是對唐宋兩代中描寫西湖景色的詩詞進行展示,并支持模糊搜索.同時針對西湖最出名、在古代最受詩人歡迎的“西湖十景”來進行詩詞交互.“西湖十景”是指杭州市,浙江省,西湖及其周邊十大特色景區的著名旅游景點.其中最著名的是南宋蘇堤春曉,斷橋殘雪,曲院風荷,花港觀魚,柳浪聞鶯,雷峰夕照,三潭映月,平湖秋月,雙峰插云和南屏晚鐘.“西湖十景”結合了風景和名字,讓人感覺他們在現場,受到國內外游客的歡迎.它可以被視為景點命名的典范.“西湖十景”之美甚至觸動了國際古跡遺址理事會(ICOMOS)的專家,他們為西湖的成功應用做出了不可磨滅的貢獻.3.2.1系統應用技術表4-1系統應用技術表Table4-1Systemapplicationtechnologysheet系統組成具體技術編程語言Java、JavaScript編程環境IntellijIdea2018、JDK1.8前臺框架Vue.js2.0后臺框架SpringBoot2.1.3數據庫Mysql可視化技術Echarts.js前后端通信通過axios取代vue-resource發送ajax請求3.2.2系統目錄結構本系統開發嚴格遵循前后端分離原則,實際上是兩個項目,前端項目tangshi-view和后端項目tangshi-web,它們的目錄結構如圖4-7和4-8所示,目錄及文件說明如表4-2及4-3所示.圖4-7前端項目目錄結構Figure4-7Front-endprojectdirectory圖4-8后端項目目錄結構Figure4-8Back-endprojectdirectorystructure表4-2前端vue項目目錄說明表Table4-2Front-endvueprojectcatalogspecificationtable目錄/文件說明build項目構建相關代碼config配置目錄node_modulesNpm加載的項目依賴模塊assets放置一些圖片,如logo及西湖景色圖片等components組件文件,調用views目錄下的頁面文件router路由信息storevuex的狀態管理utils自定義的工具包,放置一些通用的操作函數views所有頁面文件App.vue頁面入口文件main.js程序入口文件,加載各種公共組件index.html入口頁面package.json項目配置信息README.md項目的說明文檔,markdown格式表4-3后端SpringBoot項目目錄說明表Table4-3BackendSpringBootprojectdirectorydescriptiontable目錄/文件說明bean實體類controller控制層,負責接收前臺發來的請求mapper數據庫接口文件service服務層,負責主要的業務邏輯TangshiWebApplication.java啟動類application.yml項目配置文件pom.xml項目依賴文件3.2.3數據庫設計因為我在項目中需要獲取的是唐宋兩朝所有詩人和詩詞數據,我在網友jackeyGao的github上下載了最全中華古詩詞數據庫,其中有唐宋兩朝近一萬四千古詩人,接近5.5萬首唐詩加26萬宋詩.兩宋時期1564位詞人,21050首詞,網址是:/jackeyGao/chinese-poetry,得到的是一些json數據和txt數據,如圖4-9所示:圖4-9中華古詩詞數據庫目錄結構Figure4-9CataloguestructureofChineseancientpoetrydatabase但是本項目中我要使用的是mysql數據庫,所以我先寫出需要的表結構:圖4-10數據庫表結構Figure4-10Databasetablestructure然后借助/KomaBeyond/chinese-poetry-mysql上的一段php腳本從中華古詩詞數據庫生成我需要的mysql數據庫sql語句,php腳本代碼見附錄C程序4-1,唐朝詩詞表poetry和唐朝詩人表的數據如圖4-11和圖4-12所示,字段含義對照表如表4-4和表4-5所示.圖4-11唐朝詩詞表數據Figure4-11Tangdynastypoetrydata圖4-12唐朝詩人表數據Figure4-12Tangdynastypoets
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車傳感器與檢測技術電子教案:測量誤差分析
- 基建公司內部管理制度
- 華潤燃氣安全管理制度
- 物理中考一輪復習教案 第二十四講 物質的比熱容、機械能與內能的相互轉化
- 仙居童謠活動方案
- 代縣大型義診活動方案
- 代賬公司客戶活動方案
- 以黨建促發展活動方案
- 儀隴老年敬老活動方案
- 任城區文明上網活動方案
- 2025福建三明經開區控股集團有限公司子公司招聘16人筆試參考題庫附帶答案詳解析集合
- 新能源充電樁建設項目可行性研究報告(案例新版)
- PMP模擬題(一)+答案
- 租戶裝修期內退租協議書
- 廣東省廣州荔灣區真光中學2025年高二下物理期末學業水平測試試題含解析
- 2025-2030全球及中國工業電源(SMPS)行業市場現狀供需分析及投資評估規劃分析研究報告
- 交通強國背景下的智慧交通發展趨勢預測
- 七匹狼存貨管理:供應鏈視角下的分析
- 物流倉儲規劃方案設計
- 2024年秋兒童發展問題的咨詢與輔導終考期末大作業案例分析1-5答案
- DL∕T 796-2012 風力發電場安全規程
評論
0/150
提交評論