王博,王澤輝,張?zhí)梗霹i,彭家凱,滕俊哲★
(1.西藏大學信息科學技術(shù)學院,西藏拉薩 850000;2.西藏大學工學院,西藏拉薩 850000)
西藏地區(qū)位于青藏高原西南部,具有濃厚的民族文化和宗教色彩,孕育了悠久的歷史文明。現(xiàn)如今,網(wǎng)絡上的數(shù)據(jù)以指數(shù)倍的速度增長,當瀏覽網(wǎng)頁時,經(jīng)常在不知凡幾的數(shù)據(jù)中迷失方向,這對于想要了解西藏歷史文化及文物的人來說,是一件惝恍迷離的事。但目前除了傳統(tǒng)的網(wǎng)站、App和微信小程序等形式展現(xiàn)西藏歷史文化外,還未發(fā)現(xiàn)采用最新的人工智能和大數(shù)據(jù)等技術(shù)來展示西藏文物給廣大用戶,鑒于此,本文將研究基于知識圖譜的西藏文物問答系統(tǒng),用戶可以通過問答的形式了解西藏文物資源。
知識圖譜(Knowledge Graph) 是一種結(jié)構(gòu)化的知識表示形式,用于表達實體、概念、屬性及它們之間的關(guān)系。知識圖譜可以分為通用領域知識圖譜和垂直領域知識圖譜,通用圖譜強調(diào)知識的廣度,如Wikidata、FreeBase 等,垂直圖譜面向特定的領域或行業(yè),強調(diào)的是知識的深度,如王電化等人[1]構(gòu)建的檔案領域知識圖譜,張德亮[2]構(gòu)建的小型金融知識圖譜等,知識圖譜的構(gòu)建可以分為幾個方面,通過將不同來源的數(shù)據(jù)進行知識抽取、知識融合、知識加工、知識存儲,最終形成知識圖譜。
知識可以通過資源描述框架(Resource Description Framework,RDF)三元組模型來進行表示,每一個知識可以被分解為(主、謂、賓)三種形式,如(清雍正七世達賴喇嘛金印,意義,是中央政府有效治理西藏、規(guī)范藏傳佛教儀軌的重要物證),知識可以進行推理,基于圖譜中已有的事實或關(guān)系推斷出未知的事實或關(guān)系,假設知識庫中存在(刺繡藏傳佛教唐卡,內(nèi)容,佛教哲理),(佛教哲理,目的,傳播教化眾生)兩條知識,可以推斷出刺繡藏傳佛教唐卡是藏傳佛教用來傳教步道所用,知識推理在概念層和本體層都要有可滿足性,如果不滿足說明是空集,那么推理也就不存在,總之,知識推理可以幫助我們對知識圖譜中未知的關(guān)系以合理的方式進行補全。
知識抽取通過從不同來源、不同結(jié)構(gòu)的數(shù)據(jù)中進行抽取,形成知識存入到知識圖譜中,結(jié)構(gòu)化數(shù)據(jù)可以使用圖映射和d2r 轉(zhuǎn)換,半結(jié)構(gòu)化數(shù)據(jù)可以使用包裝器,純文本數(shù)據(jù)可以使用信息抽取,針對非結(jié)構(gòu)化文本的實體關(guān)系抽取方式有pipline 和聯(lián)合抽取兩種方式,pipline 先識別出句子中的實體,然后通過文本分類判斷兩個實體間的關(guān)系,例如“清乾隆折枝蓮托八寶紋青花盉壺是乾隆皇帝給達賴喇嘛的饋贈禮物”,通過ner 先識別出實體“清乾隆折枝蓮托八寶紋青花盉壺”“乾隆皇帝”“達賴喇嘛”,然后判斷相鄰兩者之間的關(guān)系,輸出(清乾隆折枝蓮托八寶紋青花盉壺,御賜,乾隆),(清乾隆折枝蓮托八寶紋青花盉壺,饋贈,達賴喇嘛)。由于pipline 模式在實體識別和關(guān)系分類任務中完全分離,所以當命名實體識別任務存在誤差時,這種誤差便會在關(guān)系分類任務中累積,而聯(lián)合抽取在實體識別和關(guān)系分類的過程是共同優(yōu)化的,文獻[3]提出casrel(層疊式指針標注)模型,該模型在實體識別和關(guān)系分類任務中共享同一個編碼器,但使用不同的解碼器,指針標注識別句子中的實體,將一個句子中的實體通過兩個矩陣進行表示,矩陣長度為原句子長度,實體頭標注為1,實體尾也標注為1,實體中間不進行標注,如表1所示:

表1 指針標注
層疊式指針標注即構(gòu)造多個矩陣對應多個關(guān)系,casrel 模型首先識別句子中的主語,然后針對這些主語進行關(guān)系判斷,看是否存在主謂賓關(guān)系,即構(gòu)造對應的三元組。
完成了知識抽取后,將構(gòu)造出大量的三元組,但數(shù)據(jù)可能來源于不同的地方,例如第三方知識庫You-Tube,yago,freebase 等,而對于不同的數(shù)據(jù)來源,它們對知識的表示可能有所不同,需要判斷不同知識庫所描述的類別,實例,屬性是否是真實世界里相同一個對象,所以要將生成的數(shù)據(jù)進行知識融合,最后將數(shù)據(jù)進行知識存儲,完成知識圖譜的構(gòu)建。
問答系統(tǒng)(Question Answering System)是一種人工智能應用,它可以回答用戶提出的問題,類似于人與人之間的對話。它是自然語言處理(NLP)領域的一個重要研究方向,旨在將人類語言能力應用于計算機上,使計算機能夠理解和回答自然語言問題。
問答系統(tǒng)按照答案來源可以將其分為三類,基于問答對的問答系統(tǒng)、基于機器閱讀理解的問答系統(tǒng)、基于知識圖譜的問答系統(tǒng)。基于問答對的問答系統(tǒng)通過找到已經(jīng)存在于知識庫中,并且和用戶所提問題相似度最高的問句,將結(jié)果返回給用戶。基于機器閱讀理解的問答系統(tǒng)通過在知識庫中查找問句對應實體的介紹文本,將其作為閱讀理解的上下文輸入到系統(tǒng)中得到答案。基于知識圖譜的問答系統(tǒng)首先解析用戶的問句,對用戶的意圖進行識別,然后構(gòu)建查詢語句,查詢圖譜返回結(jié)果。由于知識圖譜存儲的是結(jié)構(gòu)化的語義信息,并且具有知識推理能力,因此查詢效率很高。目前Knowledge-based QA 有三種主流的處理方法,基于語義解析、基于信息抽取、基于向量建模,基于語義解析是將用戶所提問題變成機器能夠理解的查詢語言,基于信息抽取的方法識別問句實體,用分類器識別問句信息,結(jié)合圖譜查詢結(jié)果,基于向量建模的方法首先將問句和候選答案映射到低維空間,通過訓練使得問題向量和正確答案向量之間損失函數(shù)最小,最后找到相似度最高的向量作為正確答案。
圖譜數(shù)據(jù)來源分為三個部分,1 采用網(wǎng)絡爬蟲技術(shù),從互聯(lián)網(wǎng)爬取了相關(guān)西藏文物的一定數(shù)據(jù),2采用casrel模型對文本數(shù)據(jù)進行知識抽取,3前往西藏博物館實地考察相關(guān)的展品。將數(shù)據(jù)存儲為csv 文件格式,標簽分別為文物名稱、文物介紹、文物起源時間、文物價值、文物地址。
構(gòu)建西藏文物知識圖譜,以文物名稱為主體,與文物介紹、文物起源時間、文物價值、文物地址實體建立關(guān)系,將數(shù)據(jù)存儲到neo4j 數(shù)據(jù)庫中,Neo4j 是一種圖形數(shù)據(jù)庫管理系統(tǒng),專門設計用于存儲、管理和查詢圖數(shù)據(jù)。它采用圖形數(shù)據(jù)模型,以節(jié)點(Node)和關(guān)系(Relationship) 的形式來表示和存儲數(shù)據(jù)。構(gòu)建成功后用瀏覽器打開網(wǎng)址localhost:7474,可以看到構(gòu)建的部分圖譜如圖1所示。

圖1 西藏文物知識圖譜
問答功能需要使用自然語言處理技術(shù)構(gòu)建出cypher 查詢語句,查詢語句要實現(xiàn)意圖識別和槽位填充,意圖識別用文本分類技術(shù)實現(xiàn),槽位填充用命名實體識別技術(shù)實現(xiàn)。
命名實體識別技術(shù)是用來識別文本中的實體信息,一般來說包括人名,地名,時間,組織機構(gòu)等,NER作為自然語言處理技術(shù)的上游任務,可以為知識抽取,機器翻譯,文本分類等下游任務提供幫助。命名實體識別技術(shù)按照發(fā)展時間可以分為三種方法,基于規(guī)則,基于統(tǒng)計,基于深度學習,基于規(guī)則的方法不需要經(jīng)過訓練,可以基于實體詞表和基于規(guī)則匹配,詞表需要手工構(gòu)建,在特定領域準確率高,但是需要花費大量的時間,規(guī)則匹配可以基于正則表達式,也是依賴于手工對規(guī)則的制定。基于統(tǒng)計的方法是利用標注好的數(shù)據(jù)進行訓練,輸出為字符作為實體組成部分的概率,如果某個候選字段的概率值大于設定好的閾值,則標注為實體。基于深度學習的方法不需要手工提取特征,使用神經(jīng)網(wǎng)絡進行訓練,包括輸入層,隱藏層,輸出層,常見的深度學習模型有cnn[4],lstm[5]等。
在對西藏文物的命名實體識別中,使用了bilstm_crf[6]模型,如圖2所示。

圖2 bilstm-crf模型
bilstm作為rnn的擴展,可以處理上下文之間的關(guān)系,并且加入了門控機制,可以處理具有長期依賴的信息,crf維護了概率轉(zhuǎn)移矩陣,有效地提升了命名實體識別的精度。
文本分類是一種廣泛應用于自然語言處理領域的技術(shù),可以對文本內(nèi)容進行解析并將其劃分到不同的類別,在問答系統(tǒng)中,需要對用戶的意圖進行識別,例如,“我想了解一下貝葉經(jīng)”,那么,系統(tǒng)就要將此文本歸為“介紹”一類,早期文本分類的方法是基于規(guī)則特征匹配的,例如在情感分析中,通過文本中出現(xiàn)了“喜歡,‘討厭’”等詞語來進行評判,隨著機器學習的發(fā)展,基于統(tǒng)計學習的模型開始占據(jù)主導地位,SVM[7]通過尋找最優(yōu)超平面,將文本歸為不同的類別,KNN[8]通過離輸入文本最近的k個文本判斷所屬類別,樸素貝葉斯算法在給定類別的條件下計算不同特征的概率,并使用這些特征判斷未知文本所屬類別,后來深度學習興起,機器能夠從數(shù)據(jù)中自動學習特征,并通過神經(jīng)網(wǎng)絡進行分類。和機器學習相比,深度學習在某些領域擁有更好的性能。
對用戶輸入問題的意圖識別使用了Textcnn 模型,TextCNN 的基本思想是通過卷積操作來提取文本中的局部特征,并通過最大池化操作將這些特征合并成全局特征表示。TextCNN 在訓練過程中采用交叉熵損失函數(shù)和反向傳播算法。模型通過不斷調(diào)整權(quán)重來最小化損失函數(shù),以提高分類性能。
首先構(gòu)建查詢模板,match(n:antique) where n.antique=‘{name}’return n.‘{intention}’,當用戶輸入問題如“請介紹一下元八思巴肖像唐卡”時,系統(tǒng)解析出意圖為‘intro’,槽位實體為‘元八思巴肖像唐卡’,通過替換查詢模板中的‘name’,‘intention’,構(gòu)建出最終的查詢語句match (n:antique) where n.antique=’元八思巴肖像唐卡’return n.intro,通過查詢圖譜,返回問答結(jié)果。
為了能使用戶有著更好的體驗,對系統(tǒng)進行了前端設計,問答結(jié)果如圖3所示:

圖3 問答結(jié)果展示
至此,基于西藏文物知識圖譜的問答系統(tǒng)構(gòu)建完成。
針對目前并未有使用人工智能技術(shù)介紹西藏文物,構(gòu)建了西藏文物知識圖譜,采用bilstm-crf 命名實體識別模型,textcnn 文本分類模型,對查詢語句進行了意圖識別和槽位填充,最終完成了問答系統(tǒng),問答旨在幫助人們更好地了解西藏的文物,進而對西藏的思想,文化有著更深入的了解,后續(xù)會加大工作投入,不斷推進問答系統(tǒng)的發(fā)展與完善。