陳 博 陳建龍
(北京大學(xué)信息管理系 北京 100871)
知識是人們從實(shí)踐經(jīng)驗(yàn)中總結(jié)出來且被新的實(shí)踐所證實(shí)的規(guī)律及經(jīng)驗(yàn)的總結(jié),是可以用于推理的規(guī)則。[1]在計(jì)算機(jī)、互聯(lián)網(wǎng)、大數(shù)據(jù)等科技手段共同締造的“信息爆炸”時(shí)代,日益凸顯的“信息過載”和“信息迷航”現(xiàn)象揭示了人們知識獲取相對困難的窘境,同時(shí)也引起了相關(guān)領(lǐng)域研究者的注意。當(dāng)前的知識在數(shù)量規(guī)模、數(shù)據(jù)粒度、[2]數(shù)據(jù)結(jié)構(gòu)、表示方式、更新速度等方面均處于前所未有的復(fù)雜環(huán)境,在此環(huán)境中的知識往往有密度低、關(guān)聯(lián)多、[3]具有模糊性等特點(diǎn),必然會(huì)影響知識發(fā)現(xiàn)的時(shí)間與效果。如何在海量的信息中高效發(fā)現(xiàn)目標(biāo)知識,已成為大眾與研究者共同關(guān)注的話題。
知識發(fā)現(xiàn)可分為數(shù)據(jù)庫知識發(fā)現(xiàn)(Knowledge Discovery in Database)與基于文獻(xiàn)的知識發(fā)現(xiàn),分別針對結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)展開。[4-5]知識發(fā)現(xiàn)需在知識抽取基礎(chǔ)上進(jìn)行。關(guān)系抽取作為知識抽取的重要組成部分,指自動(dòng)從文本中檢測和識別出實(shí)體之間具有的某種語義關(guān)系,在知識圖譜自動(dòng)構(gòu)建、信息獲取技術(shù)支撐等方面具有重要意義和廣闊前景。[6]弱監(jiān)督關(guān)系抽取方法是當(dāng)前相關(guān)研究的一大熱點(diǎn),[7]為我們展示了一種通過機(jī)器學(xué)習(xí),基于少量標(biāo)注數(shù)據(jù)完成大規(guī)模知識抽取的有效方法,為相關(guān)知識發(fā)現(xiàn)提供了可能的途徑。
本文以格薩爾學(xué)科領(lǐng)域?yàn)槔归_知識發(fā)現(xiàn)研究。英雄史詩《格薩爾》被譽(yù)為“東方的荷馬史詩”,以主人公征戰(zhàn)立業(yè)為主線,構(gòu)建了篇幅約2000萬字的宏大史詩,對其文化輻射區(qū)域產(chǎn)生了深遠(yuǎn)的影響,相關(guān)研究從11世紀(jì)發(fā)展至今積累了大量領(lǐng)域知識并在多個(gè)細(xì)分領(lǐng)域取得成果。從人物領(lǐng)域來看,史詩中人物形象多達(dá)3000余個(gè),[8]人物間關(guān)系錯(cuò)綜復(fù)雜,相關(guān)研究對學(xué)科發(fā)展的重要性不言而喻?,F(xiàn)有研究多從文學(xué)視角出發(fā),對人物形象、性格等進(jìn)行分析[9-10],也涉及人物體系[11]、王室發(fā)展[12]等方面,但尚未構(gòu)建出成體系的人物關(guān)系網(wǎng)絡(luò)。此外,由于格薩爾學(xué)科還未建立系統(tǒng)的結(jié)構(gòu)化數(shù)據(jù)庫,加之史詩具有的專業(yè)性領(lǐng)域知識、敘事性文本結(jié)構(gòu)、文學(xué)性語言表達(dá),對該學(xué)科領(lǐng)域人物的關(guān)系抽取和知識發(fā)現(xiàn)提出了更高要求。
對此,本研究擬運(yùn)用機(jī)器學(xué)習(xí)技術(shù),以詞向量與遠(yuǎn)程監(jiān)督學(xué)習(xí)為基礎(chǔ),將非結(jié)構(gòu)化知識進(jìn)行結(jié)構(gòu)化表示,結(jié)合知識圖譜訓(xùn)練,完成領(lǐng)域人物知識的抽取,并嘗試在格薩爾學(xué)科領(lǐng)域自動(dòng)發(fā)現(xiàn)人物關(guān)系,對新領(lǐng)域知識中的人物關(guān)系抽取方式進(jìn)行探索,以期將其作為對傳統(tǒng)基于規(guī)則的人物關(guān)系抽取方法的補(bǔ)充,優(yōu)化人物之間隱含關(guān)系的發(fā)現(xiàn)效果。
詞向量(Word Embedding)是一種自然語言處理(NLP)中的語言建模和特征學(xué)習(xí)技術(shù)的統(tǒng)稱,核心思路是基于機(jī)器學(xué)習(xí)方法,將詞匯表中的單詞或短語從高維離散空間中映射到低維連續(xù)空間的實(shí)數(shù)向量?;谟?xùn)練語料,被學(xué)習(xí)的詞表征即可以詞語在向量空間中的位置信息和詞與詞之間的相對位置表達(dá)出有意義的語法及語義規(guī)律。[13-14]
遠(yuǎn)程監(jiān)督(Distant Supervision)學(xué)習(xí)方法基于Mintz提出的假設(shè),“如果兩個(gè)實(shí)體在已知知識庫中具有某種關(guān)系,那么所有提到這兩個(gè)實(shí)體的句子都會(huì)以某種方式表達(dá)出這種關(guān)系”,[15]可利用少量標(biāo)注數(shù)據(jù)對大規(guī)模數(shù)據(jù)進(jìn)行訓(xùn)練,其主要思想是將已有知識庫的知識對齊非結(jié)構(gòu)化文本,由此生成大量標(biāo)注數(shù)據(jù),可在降低訓(xùn)練成本的同時(shí)保證訓(xùn)練效果,提升模型的可拓展性。
格薩爾學(xué)科建設(shè)發(fā)展中的人物關(guān)系研究重要且不可回避,但該學(xué)科發(fā)展至今還未有完整的領(lǐng)域人物知識圖譜和人物關(guān)系網(wǎng)絡(luò)。弱監(jiān)督關(guān)系抽取模型基于一定量的既有標(biāo)注數(shù)據(jù),可進(jìn)行大規(guī)模拓展,從訓(xùn)練效果和可拓展性考慮是一高效方法,因此,我們提出一種基于分布式詞向量表示與遠(yuǎn)程監(jiān)督學(xué)習(xí)的新領(lǐng)域知識自動(dòng)發(fā)現(xiàn)方法,以格薩爾領(lǐng)域人物關(guān)系知識為發(fā)現(xiàn)對象進(jìn)行人物關(guān)系預(yù)測,并驗(yàn)證了該方法的可行性。
從實(shí)施流程來看,該知識發(fā)現(xiàn)方法包括數(shù)據(jù)采集與預(yù)處理、詞向量模型訓(xùn)練、深度學(xué)習(xí)分類模型訓(xùn)練、關(guān)系預(yù)測四個(gè)環(huán)節(jié)。整體而言可分為詞向量及深度學(xué)習(xí)分類模型訓(xùn)練階段,以及格薩爾領(lǐng)域人物關(guān)系預(yù)測階段兩大階段。各階段流程分別見圖1、圖2所示。
圖1詞向量及深度學(xué)習(xí)分類模型訓(xùn)練階段
圖2格薩爾人物關(guān)系預(yù)測階段
第一階段是詞向量及深度學(xué)習(xí)分類模型訓(xùn)練階段。由數(shù)據(jù)采集與預(yù)處理環(huán)節(jié)完成格薩爾文本、百度百科人物介紹和人物關(guān)系知識圖譜三類數(shù)據(jù)的獲取和預(yù)處理,然后基于人物相關(guān)文本數(shù)據(jù)訓(xùn)練出詞向量模型,并利用人物關(guān)系知識圖譜數(shù)據(jù),進(jìn)行基于深度學(xué)習(xí)的人物關(guān)系分類器訓(xùn)練,得到可進(jìn)行人物關(guān)系預(yù)測的分類模型。
第二階段是格薩爾領(lǐng)域人物關(guān)系預(yù)測階段。通過訓(xùn)練好的人物關(guān)系分類器,對格薩爾領(lǐng)域可能有關(guān)系的人物組合進(jìn)行逐一預(yù)測,并選出置信度較高的預(yù)測結(jié)果進(jìn)行人工驗(yàn)證,完成格薩爾領(lǐng)域人物關(guān)系無專家標(biāo)注的新知識發(fā)現(xiàn)。
此環(huán)節(jié)包括格薩爾文本、百度百科人物介紹、人物關(guān)系知識圖譜三個(gè)方面的數(shù)據(jù)采集與預(yù)處理,基于上述數(shù)據(jù)準(zhǔn)備可得到用于分類模型訓(xùn)練的訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)。
1.格薩爾文本數(shù)據(jù)獲取
本文選用的格薩爾文本源于《英雄格薩爾》[16],該套書以降邊嘉措藏文版《格薩爾》(40卷,2000多萬字)為框架,參考扎巴和桑珠的說唱本并融合作者研究著成。作者降邊嘉措長期從事格薩爾史詩領(lǐng)域的藏漢翻譯和研究工作并取得了卓著的成果,是該領(lǐng)域?qū)W科牽頭人。以此書作為領(lǐng)域文本數(shù)據(jù)源,可一定程度減少異構(gòu)數(shù)據(jù)噪聲干擾,并保障數(shù)據(jù)規(guī)模與置信度。
2.百度百科人物介紹數(shù)據(jù)獲取
百度百科錄詞條數(shù)逾千萬,包含海量以半結(jié)構(gòu)化的百科語言組織的人物相關(guān)信息,便于計(jì)算機(jī)提取使用。本文實(shí)驗(yàn)中百度百科通用人物介紹文本數(shù)據(jù)的準(zhǔn)備,包括通用人名數(shù)據(jù)庫整理、百度百科文本抓取、網(wǎng)頁正文提取三部分。
3.文本數(shù)據(jù)分詞處理
在完成上述數(shù)據(jù)獲取后,基于分詞效果和效率考慮,本次實(shí)驗(yàn)從多種常用中文分詞器中選擇Jieba分詞器對所取得的文本數(shù)據(jù)進(jìn)行分詞,以供后續(xù)研究使用。
4.人物關(guān)系知識圖譜數(shù)據(jù)獲取及處理
為避免手工標(biāo)注的巨大成本,本文研究從開放知識圖譜數(shù)據(jù)源中獲取人物關(guān)系知識,作為人物關(guān)系遠(yuǎn)程學(xué)習(xí)的標(biāo)注數(shù)據(jù)進(jìn)行標(biāo)注。我們選擇復(fù)旦大學(xué)開放知識圖譜CN-DBpedia和故思通用開放知識圖譜Ownthink為人物關(guān)系知識圖譜數(shù)據(jù)源。從中獲取人物關(guān)系知識圖譜數(shù)據(jù)的過程包括人物相關(guān)的知識圖譜數(shù)據(jù)抓取、三元組知識圖譜信息提取、關(guān)系類型聚類、人物關(guān)系手工篩選、人物關(guān)系知識圖譜自動(dòng)篩選及數(shù)據(jù)處理,最終獲取形式為(實(shí)體1,實(shí)體2,關(guān)系)的人物關(guān)系三元組。其中實(shí)體1為人名;部分實(shí)體2包括由多個(gè)人名組成的不規(guī)則表達(dá)方式,通過拆分處理可得到不同三元組中的人名2。
詞匯關(guān)系可用基于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練出的分布式詞向量來建模計(jì)算。在原始數(shù)據(jù)處理上,本文研究通過分詞及詞向量訓(xùn)練完成對數(shù)據(jù)的向量化表示,為后續(xù)的模型訓(xùn)練提供統(tǒng)一向量空間中的結(jié)構(gòu)化數(shù)據(jù)庫。本文實(shí)驗(yàn)選用CBOW模型,以Gensim工具完成詞向量的訓(xùn)練。
完成對準(zhǔn)備數(shù)據(jù)的詞向量訓(xùn)練后,利用深度學(xué)習(xí)對向量化的數(shù)據(jù)進(jìn)行向量關(guān)系計(jì)算與分類訓(xùn)練,不斷優(yōu)化出理想的分類器模型。
1.詞向量關(guān)系計(jì)算
采用詞向量預(yù)測人物對之間的關(guān)系,潛在假設(shè)為詞向量的空間位置和人物之間的關(guān)系類型有潛在聯(lián)系。基于該假設(shè)與遠(yuǎn)程監(jiān)督學(xué)習(xí)理論,本文將向量化的人物關(guān)系實(shí)體對用作標(biāo)注數(shù)據(jù),以歐式距離(人名2-人名1)、詞向量間余弦夾角、歐式距離歸一化(人名2-人名1后歸一化)三種方式訓(xùn)練格薩爾文本數(shù)據(jù)。歐氏距離是在m維空間中兩個(gè)點(diǎn)之間的真實(shí)距離,或者向量的自然長度,但歐式距離度量會(huì)受指標(biāo)不同單位刻度的影響,為了改進(jìn)數(shù)據(jù)有效性,一般需要先進(jìn)行標(biāo)準(zhǔn)化計(jì)算,將歐式距離歸一化;在詞向量間余弦夾角中,空間向量余弦夾角的相似度度量不會(huì)受指標(biāo)刻度的影響,余弦值越大則差異越小。
圖3三維空間距離示意圖
若A、B兩點(diǎn)在三維空間中,其歐式距離的表示即如圖3中的dist(A,B)。同時(shí),A、B兩個(gè)向量之間的cos值也可用來表示二者的相似度或關(guān)系的遠(yuǎn)近。
2.分類模型構(gòu)建
本文實(shí)驗(yàn)基于深度學(xué)習(xí)中的遠(yuǎn)程監(jiān)督學(xué)習(xí)思想,利用基于TensorFlow的Keras高層神經(jīng)網(wǎng)絡(luò)API相關(guān)模塊搭建深度神經(jīng)網(wǎng)絡(luò)分類網(wǎng)絡(luò)模型并進(jìn)行多輪優(yōu)化與迭代訓(xùn)練,以通過無前期人工標(biāo)注的方式,令模型在細(xì)分任務(wù)上取得不錯(cuò)的表現(xiàn)。
在對文本進(jìn)行向量化表示,并在知識圖譜數(shù)據(jù)的遠(yuǎn)程監(jiān)督下完成數(shù)據(jù)訓(xùn)練的基礎(chǔ)上,我們嘗試于格薩爾領(lǐng)域進(jìn)行人物的關(guān)系發(fā)現(xiàn),即人物關(guān)系預(yù)測,其過程可分為領(lǐng)域人物組合、基于共現(xiàn)位置的人物關(guān)系過濾、領(lǐng)域人物關(guān)系預(yù)測與驗(yàn)證三步。首先,依據(jù)格薩爾領(lǐng)域人物列表將人物兩兩組合,得到格薩爾領(lǐng)域人物排列組合全集。其中包含大量無直接關(guān)聯(lián)的無效人物組合,對此進(jìn)行適度過濾以減小噪聲干擾。此后,在詞向量空間中檢索人物組合對應(yīng)的詞向量數(shù)據(jù),并經(jīng)過空間距離歸一化計(jì)算,通過上述遠(yuǎn)程監(jiān)督分類模型預(yù)測,得到預(yù)測結(jié)果。不同人物關(guān)系類型下的預(yù)測置信度可反映兩個(gè)人物之間存在關(guān)系的可能性。
1.實(shí)驗(yàn)數(shù)據(jù)提取
依據(jù)實(shí)驗(yàn)需求,基于格薩爾文本、百度百科人物介紹、人物關(guān)系知識圖譜三類原始數(shù)據(jù),采用OCR(Optical Character Recognition)、Scrapy爬蟲等技術(shù)進(jìn)行實(shí)驗(yàn)相關(guān)數(shù)據(jù)的準(zhǔn)備。
格薩爾史詩領(lǐng)域數(shù)據(jù)方面,選擇《英雄格薩爾》全書進(jìn)行文本采集,提取非結(jié)構(gòu)化的領(lǐng)域知識。通過對全書的高清晰度雙面掃描,得到領(lǐng)域文本分頁照片;通過OCR對文本正文區(qū)域進(jìn)行文字識別,完成圖片到文本的自動(dòng)轉(zhuǎn)換;最后由人工校對,得到全文文本數(shù)據(jù),長度1410922字,文本大小為3.95MB。
百科數(shù)據(jù)方面,基于百度百科人物介紹,提取半結(jié)構(gòu)化的通用領(lǐng)域人物介紹知識。將常用漢語人名庫(含540萬人名)作為人名數(shù)據(jù)字典,基于百度百科URL規(guī)則自動(dòng)生成人名URL地址集,通過Scrapy爬蟲框架自動(dòng)抓取對應(yīng)的百科網(wǎng)頁。除去未被百科收錄的人名數(shù)據(jù),共抓取82萬人物介紹網(wǎng)頁,并提取到有效的人物介紹文本數(shù)據(jù)82萬條,匯總后為2.6GB。
人物關(guān)系知識圖譜數(shù)據(jù)方面,基于CN-DBpedia與Ownthink知識圖譜,提取結(jié)構(gòu)化的通用領(lǐng)域人物介紹知識圖譜數(shù)據(jù)。同樣根據(jù)知識圖譜CNDBpedia和Ownthink的URL地址規(guī)則,用Scrapy自動(dòng)抓取百科數(shù)據(jù)包含的人物對應(yīng)的知識圖譜數(shù)據(jù),得到有效數(shù)據(jù)18萬條。以宋武公為例,將從兩個(gè)知識圖譜中獲取到的原始人物知識數(shù)據(jù)節(jié)選見圖4。
圖4兩個(gè)知識圖譜中獲取到的原始人物知識數(shù)據(jù)
表1“宋武公”相關(guān)知識圖譜
在知識圖譜系統(tǒng)中,三元組數(shù)據(jù)分別在json格式返回?cái)?shù)據(jù)的ret屬性和avp屬性中,通過Python的json模塊自動(dòng)提取、去重并保存知識,得到宋武公相關(guān)數(shù)據(jù),節(jié)選如表1所示。
以上述方法處理18萬人物知識圖譜數(shù)據(jù),得到包含三元組的知識圖譜數(shù)據(jù)共計(jì)369萬條,文本大小11.5MB。經(jīng)驗(yàn)證,這一用作訓(xùn)練的知識圖譜數(shù)據(jù)集中沒有格薩爾領(lǐng)域人物相關(guān)數(shù)據(jù),規(guī)避了集內(nèi)數(shù)據(jù)對實(shí)驗(yàn)的影響。
2.實(shí)驗(yàn)數(shù)據(jù)處理
獲取實(shí)驗(yàn)數(shù)據(jù)之后,需要對非結(jié)構(gòu)化、半結(jié)構(gòu)化的格薩爾文本數(shù)據(jù)、百度百科人物介紹數(shù)據(jù)進(jìn)行分詞;同時(shí)在知識圖譜中提取人物關(guān)系,基于這些關(guān)系對知識圖譜數(shù)據(jù)進(jìn)行過濾。我們首先通過Jieba完成文本的分詞,再用停用詞表過濾掉無用詞,經(jīng)手工篩選后最終提取領(lǐng)域詞匯1255條,最高頻的10個(gè)詞及其詞頻如表2所示。
表2格薩爾領(lǐng)域詞匯
從結(jié)構(gòu)化的人物關(guān)系知識圖譜數(shù)據(jù)中聚類并提取不同人物關(guān)系類型下的三元組知識圖譜數(shù)據(jù),主要包括以下三步。
(1)關(guān)系類型聚類
將所獲知識圖譜數(shù)據(jù)中的關(guān)系進(jìn)行自動(dòng)聚類,得到關(guān)系類型共19497種,按照關(guān)系出現(xiàn)頻次由高到低排序,前10種關(guān)系及其頻次如表3所示。
表3知識圖譜中的關(guān)系類型
(2)人物關(guān)系手工篩選
手工篩選上述關(guān)系類型,得到人物相關(guān)的關(guān)系類型335種??紤]到領(lǐng)域文本數(shù)據(jù)量及史詩中人物關(guān)系類型有限,其中又沒有復(fù)雜的遠(yuǎn)親關(guān)系、現(xiàn)代職場人物關(guān)系等類型,因此從中選出“搭檔、好友、父親、妻子、兒子、母親”這6種最高頻的常見人物關(guān)系,并將其對應(yīng)知識圖譜數(shù)據(jù)用作人物關(guān)系分類訓(xùn)練的遠(yuǎn)程監(jiān)督學(xué)習(xí)標(biāo)注數(shù)據(jù)。根據(jù)出現(xiàn)頻次以0-5為標(biāo)簽標(biāo)記這6種關(guān)系,各類關(guān)系在前文提取的人物關(guān)系知識圖譜中出現(xiàn)的頻次數(shù)據(jù)如表4所示。
表4高頻人物關(guān)系及其出現(xiàn)頻次
(3)人物關(guān)系知識圖譜自動(dòng)篩選及數(shù)據(jù)處理
返回369萬條三元組知識圖譜數(shù)據(jù)庫,從中自動(dòng)提取這6種人物關(guān)系的知識圖譜。由于三元組實(shí)體2大部分為獨(dú)立人名,但少部分包括由多個(gè)人名組成的不規(guī)則表達(dá)方式,比如與“宋武公”關(guān)系為“兒子”的實(shí)體2內(nèi)容為“宋宣公、宋穆公”。通過規(guī)則處理,將不規(guī)則實(shí)體2所在的知識圖譜拆分并整理成多條由單個(gè)人名(命名為人名2)構(gòu)成的三元組,如將(宋武公,宋宣公、宋穆公,兒子)拆分為(宋武公,宋宣公,兒子)和(宋武公,宋穆公,兒子)。
表5 Word2Vec模型的參數(shù)設(shè)置
表6詞向量舉例
經(jīng)過上述人物關(guān)系的提取和人名拆分處理,最終得到9980條三元組知識圖譜。
1.詞向量模型訓(xùn)練
(1)Word2Vec模型訓(xùn)練
Gensim中Word2Vec的CBOW模型參數(shù)設(shè)置見表5。
整合分詞后的格薩爾文本數(shù)據(jù)和百度百科人物介紹數(shù)據(jù),用這一設(shè)置下的Word2Vec模型進(jìn)行詞向量訓(xùn)練,可得到維度為100的詞向量模型。以實(shí)體“北京”“毛澤東”“格薩爾”為例,在訓(xùn)練好的詞向量模型中,可獲取三者的詞向量表示如表6所示。
(2)Word2Vec模型驗(yàn)證
通過對通用領(lǐng)域常用詞與常見人名、格薩爾學(xué)領(lǐng)域人名進(jìn)行詞語相關(guān)性驗(yàn)證來檢驗(yàn)?zāi)P陀?xùn)練效果。通用領(lǐng)域常見詞以詞語“北京”為例,如表7所示,與其最為相關(guān)的10個(gè)詞中,有9個(gè)為國內(nèi)直轄市或省會(huì)城市,相關(guān)性在0.65以上,其中“上海”的相關(guān)性高于0.82。
表7“北京”的部分相關(guān)詞列表
通用領(lǐng)域常見人名以“毛澤東”為例,與其最相關(guān)的10個(gè)詞中,相關(guān)性最高的“毛主席”一詞與“毛澤東”語義相同;其余9個(gè)詞均為與其極為相關(guān)的其他共產(chǎn)黨早期創(chuàng)始人,或者黨和國家領(lǐng)導(dǎo)人,且相關(guān)性均在0.73以上(見表8)。
表8“毛澤東”的部分相關(guān)詞列表
格薩爾學(xué)領(lǐng)域以“格薩爾”為例,相關(guān)性最高的“雄獅王”和排名第5的“覺如”均與“格薩爾”指向同一語義;其余8個(gè)詞語中,除了“成吉思汗”,都是格薩爾學(xué)領(lǐng)域與格薩爾王具有重要關(guān)系的人物(見表9)。
表9“格薩爾”的部分相關(guān)詞列表
通過對以上三類詞語的簡要測試可基本證明CBOW詞向量模型訓(xùn)練效果良好,經(jīng)該訓(xùn)練的詞向量可以作為后續(xù)遠(yuǎn)程監(jiān)督訓(xùn)練的基礎(chǔ)。
2.分類器模型訓(xùn)練
(1)分類模型訓(xùn)練數(shù)據(jù)準(zhǔn)備
使用基于本文實(shí)驗(yàn)訓(xùn)練得到的詞向量模型,遍歷從知識圖譜中提取并經(jīng)過處理的9980條人物三元組知識圖譜數(shù)據(jù),并獲取其中的人名1、人名2對應(yīng)的詞向量,過濾掉不存在詞向量人名的三元組后,我們最終得到進(jìn)行分類模型實(shí)驗(yàn)所需的9396條格式為(人名1 100維Word2Vec,人名2 100維Word2Vec,關(guān)系標(biāo)簽)的監(jiān)督數(shù)據(jù)。將這些向量化的《格薩爾》領(lǐng)域人物數(shù)據(jù)進(jìn)行歐式距離、詞向量間余弦夾角、歐式距離歸一化三種運(yùn)算。運(yùn)算結(jié)果顯示,采用Python Numpy組件,先進(jìn)行歐式距離歸一化計(jì)算再訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的方法,能達(dá)到相對更好的訓(xùn)練效果,在訓(xùn)練數(shù)據(jù)中將正確率從原始的16.67%提升至52.65%(見表10)。
表10訓(xùn)練結(jié)果對比
確定詞向量計(jì)算方法后,我們將實(shí)驗(yàn)數(shù)據(jù)按人物關(guān)系類型以19:1的比例(即5%作為測試數(shù)據(jù))隨機(jī)抽取為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),以進(jìn)行格薩爾領(lǐng)域人物關(guān)系的預(yù)測。得到訓(xùn)練集數(shù)據(jù)8929條和測試集數(shù)據(jù)467條。
(2)基于TensorFlow的分類模型構(gòu)建
本文利用深度學(xué)習(xí)技術(shù),選用TensorFlow的Keras模塊來實(shí)現(xiàn)一個(gè)深度神經(jīng)網(wǎng)絡(luò)分類網(wǎng)絡(luò)模型。所用的TensorFlow版本為1.12.0,Keras模塊的版本為2.1.6-tf。經(jīng)過多次調(diào)參測試驗(yàn)證,測試效果較好的分類模型網(wǎng)絡(luò)結(jié)構(gòu)為包含四個(gè)Tensor-Flow.keras.layers.Dense層的序列,這些層是密集連接或全連接神經(jīng)層。前三個(gè)Dense層具有1024個(gè)神經(jīng)元,第四層(即最后一層)是具有6個(gè)節(jié)點(diǎn)的softmax層,該層會(huì)返回一個(gè)具有6個(gè)概率得分的數(shù)組,這些得分的總和為1。
按照上述參數(shù)設(shè)置好模型后,選擇Adam算法的優(yōu)化器,loss損失函數(shù)指定為sparse_categorical_crossentropy,即計(jì)算分類結(jié)果的交叉熵?fù)p失,然后進(jìn)行模型編譯。模型編譯完成后,加載訓(xùn)練數(shù)據(jù),進(jìn)行20輪迭代訓(xùn)練。訓(xùn)練出的分類模型在測試集上表現(xiàn)較好,在測試集上正確率可達(dá)62.65%。由此可見,通過采用遠(yuǎn)程監(jiān)督的方法,能以無前期人工標(biāo)注的方式,通過較小的數(shù)據(jù)訓(xùn)練,也可以在人物關(guān)系分類這個(gè)細(xì)分任務(wù)上有相對較好的表現(xiàn)。
1.實(shí)驗(yàn)準(zhǔn)備
基于自動(dòng)分詞、規(guī)則處理及人工判別獲取領(lǐng)域人名,可在保證人名詞匯領(lǐng)域性的同時(shí)實(shí)現(xiàn)規(guī)?;槿?;提取《附錄一〈英雄格薩爾〉主要人物》(以下簡稱《附錄一》)中經(jīng)過專家篩選與整理的領(lǐng)域主要人物人名,能較好地保障人物數(shù)據(jù)的完備性與高置信度。因此,我們對《英雄格薩爾》文本進(jìn)行分詞處理并從中提取人名,規(guī)?;@取領(lǐng)域主要人物名稱,再融合《附錄一》中高置信度的領(lǐng)域主要人物名單,得到較為完整的格薩爾領(lǐng)域主要人名列表。
首先,將格薩爾文本進(jìn)行自動(dòng)分詞,經(jīng)由人工判斷過濾出主要人名。文本自動(dòng)分詞后得到51002個(gè)詞匯數(shù)據(jù),其中詞頻高于10的詞匯6820個(gè);在此基礎(chǔ)上依據(jù)格薩爾文本內(nèi)容對其進(jìn)行過濾,獲得1264個(gè)領(lǐng)域詞匯;人工判斷去除非人名詞匯后得到格薩爾領(lǐng)域主要人名列表,共446個(gè)人名。然后,手工提取《附錄一》中的人名,并對前文的人名數(shù)據(jù)抽取結(jié)果進(jìn)行驗(yàn)證?!陡戒浺弧钒?61個(gè)人名中經(jīng)過人工校對確認(rèn)其中有82個(gè)詞頻高于10,其中76個(gè)出現(xiàn)在自動(dòng)分詞并過濾后的主要人名列表中,命中率達(dá)到92.68%。對未命中的其余6個(gè)人名進(jìn)行原因分析,其中“娜噶卓瑪”和“阿俄”包括在分詞結(jié)果中,但詞頻統(tǒng)計(jì)次數(shù)不足10;“土地神、地方神、噶姆多吉”由于“土地”、“地方”和“多吉”是常見詞,因此分詞時(shí)被拆分為多個(gè)詞匯;“達(dá)娃察琤”中存在生僻字“琤”,被OCR錯(cuò)誤識別為“璋、睜、珍”,因而未被收錄。最后,將分詞并過濾后的人名數(shù)據(jù)與手工提取到的人名數(shù)據(jù)融合,獲得較為完整的格薩爾領(lǐng)域主要人名列表,共計(jì)人名518個(gè)。
使用詞向量模型從518個(gè)人名中過濾掉沒有詞向量表示的人名詞匯,最后得到格薩爾領(lǐng)域有詞向量表示的人名數(shù)據(jù)共344條,將其排列組合獲得117992組(人名1,人名2)形式的數(shù)據(jù)對。根據(jù)人名共現(xiàn)位置過濾掉在全文中最近上下文距離超過20個(gè)詞(停用詞表里的詞不計(jì)算)以上的人物組合,得到相對有效的人物組合(人名1,人名2)數(shù)據(jù)7010組,作為預(yù)測數(shù)據(jù)。
2.格薩爾領(lǐng)域人物關(guān)系預(yù)測實(shí)驗(yàn)及分析
在詞向量空間中檢索上述7010組格薩爾領(lǐng)域人物組合對應(yīng)的詞向量數(shù)據(jù),并經(jīng)過空間距離歸一化計(jì)算,通過上述遠(yuǎn)程監(jiān)督分類模型預(yù)測,得到7010組預(yù)測結(jié)果,如表11所示。
從中抽取部分置信度較高的預(yù)測數(shù)據(jù)進(jìn)行手工驗(yàn)證,驗(yàn)證結(jié)果如表12所示。
表11格薩爾領(lǐng)域人物關(guān)系預(yù)測情況
表12格薩爾領(lǐng)域人物關(guān)系預(yù)測結(jié)果驗(yàn)證
經(jīng)檢驗(yàn),實(shí)驗(yàn)?zāi)P驮?-5類人物關(guān)系預(yù)測中的置信度與正確率較高,表12中所示均為對領(lǐng)域人物關(guān)系的正確預(yù)測。以“搭檔”關(guān)系中的人物對嘉察協(xié)噶與丹瑪絳查為例,在窗口為20時(shí),兩人在文本中共現(xiàn)152次?!爸秲杭尾臁⒋蟪嫉が敽臀叶既ヒu營成功”,“嘉察、達(dá)潘、丹瑪、森達(dá)和司潘五個(gè)人,都要主動(dòng)出門迎敵”等文本都明確體現(xiàn)了二者的搭檔關(guān)系。
模型對標(biāo)簽0“母親”關(guān)系下的人物關(guān)系預(yù)測結(jié)果在數(shù)量、置信度、正確率上較低于其他關(guān)系,但仍能得到大量具有解釋性的預(yù)測結(jié)果。以“郭姆”為例,郭姆是格薩爾的生母,嘉察協(xié)噶與瑪爾勒是格薩爾同父異母的兄弟,因此,相對其他關(guān)系類型而言,郭姆與嘉察協(xié)噶、瑪爾勒的關(guān)系預(yù)測為“母親”具有可解釋性。
總體而言,實(shí)驗(yàn)所得預(yù)測模型對格薩爾領(lǐng)域人物關(guān)系進(jìn)行預(yù)測可取得不錯(cuò)的效果。當(dāng)模型在數(shù)據(jù)量較大、文本表述較為標(biāo)準(zhǔn)規(guī)范的數(shù)據(jù)集中進(jìn)行預(yù)測時(shí),預(yù)測結(jié)果置信度與正確率較高;對于訓(xùn)練數(shù)據(jù)量較小的關(guān)系類型,預(yù)測模型未必能做出精確判斷,但在限定種類的關(guān)系預(yù)測中,預(yù)測結(jié)果解釋性較強(qiáng),一定程度上具有可信度。
本文提出了一種基于詞向量和遠(yuǎn)程監(jiān)督學(xué)習(xí)的新領(lǐng)域知識發(fā)現(xiàn)方法,并對其可行性進(jìn)行驗(yàn)證,以期利用人工智能技術(shù)探索出一種可拓展的新領(lǐng)域知識發(fā)現(xiàn)方法,作為對基于規(guī)則的知識發(fā)現(xiàn)方法的補(bǔ)充。
傳統(tǒng)的基于規(guī)則的關(guān)系抽取需要專家根據(jù)任務(wù)要求設(shè)置模式,而后從文本中找到與之匹配的實(shí)例推導(dǎo)出實(shí)體間的語義關(guān)系。[17]雖然在特定領(lǐng)域能取得較高的準(zhǔn)確率,但需要在具有明確規(guī)則的前提下消耗大量人力成本,而且在移植效果和隱含知識發(fā)現(xiàn)方面存在不足。對專業(yè)領(lǐng)域,尤其是新領(lǐng)域的研究者而言,本文方法通過自動(dòng)化技術(shù)減小了知識發(fā)現(xiàn)成本,并對細(xì)分領(lǐng)域的科研工作具有啟發(fā)科研思路、提升科研效率的作用;通過這一方法所獲的信息,能幫助相關(guān)工作人員更清晰準(zhǔn)確地完成人名、主題的索引工作;本文方法基于高置信度的通用領(lǐng)域知識,并且在原始數(shù)據(jù)收集上具有領(lǐng)域無關(guān)性,因此能拓展到其他領(lǐng)域進(jìn)行知識發(fā)現(xiàn)。
受實(shí)驗(yàn)數(shù)據(jù)的結(jié)構(gòu)與規(guī)模、訓(xùn)練模型的特點(diǎn)與局限、自然語言本身的復(fù)雜性的制約,本文方法也存在一些不足之處??煽紤]在擴(kuò)大數(shù)據(jù)規(guī)模時(shí)增加不同版本出版物、專業(yè)研究文獻(xiàn)、相似類型文本等,以獲取更多的專業(yè)領(lǐng)域數(shù)據(jù),選用LSTM等注重利用上下文數(shù)據(jù)關(guān)系的模型,結(jié)合基于遠(yuǎn)程監(jiān)督學(xué)習(xí)與基于規(guī)則的知識圖譜提取方式進(jìn)行優(yōu)化,以期通過多角度提升知識發(fā)現(xiàn)效果,以持續(xù)推動(dòng)各領(lǐng)域知識圖譜的構(gòu)建和補(bǔ)全、各學(xué)科科研工作的創(chuàng)新與發(fā)展。
西藏大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版)2019年2期