劉 凱,廖湘琳,張宏軍
(陸軍工程大學(xué) 指揮控制工程學(xué)院,江蘇 南京 210000)
現(xiàn)如今,信息抽取領(lǐng)域中,以給定關(guān)系模式(schema),通過有監(jiān)督學(xué)習(xí)方式對(duì)深度學(xué)習(xí)模型進(jìn)行訓(xùn)練,進(jìn)而完成對(duì)文本數(shù)據(jù)信息抽取的過程已被廣泛應(yīng)用,且在重疊關(guān)系三元組抽取上有明顯效果[1-2]。該文對(duì)爬取得到的新聞網(wǎng)絡(luò)文本進(jìn)行分析,發(fā)現(xiàn)特定領(lǐng)域?qū)嶓w間存在重要的重疊關(guān)系,但是受標(biāo)注語料匱乏問題的制約,信息抽取領(lǐng)域在這方面的研究較少,無法滿足國內(nèi)外研究者們的需求。所以,為了更高效準(zhǔn)確地抽取文本中的重疊關(guān)系,該文構(gòu)建重疊關(guān)系標(biāo)注語料庫,為信息抽取模型訓(xùn)練提供豐富數(shù)據(jù),為當(dāng)前國內(nèi)信息抽取語料庫構(gòu)建和完善提供借鑒和參考。
如何完善地構(gòu)建實(shí)體關(guān)系模式,如何高效準(zhǔn)確地構(gòu)建特定領(lǐng)域?qū)嶓w重疊關(guān)系抽取標(biāo)注語料庫是該文的研究重點(diǎn)。目前網(wǎng)頁新聞和網(wǎng)絡(luò)博客等開放領(lǐng)域是大部分語料庫的主要數(shù)據(jù)來源,如公開的中英文關(guān)系抽取語料庫DuIE1.0[3],其關(guān)系類型主要包含常見的人物關(guān)系,CMeIE[4]為醫(yī)學(xué)領(lǐng)域關(guān)系語料庫, FewRel[5]關(guān)系數(shù)據(jù)集包含多領(lǐng)域的關(guān)系類型。該文借助遠(yuǎn)程監(jiān)督知識(shí),依據(jù)命名實(shí)體識(shí)別、依存句法分析和觸發(fā)詞詞典,基于自定義schema對(duì)網(wǎng)絡(luò)文本中的重疊關(guān)系進(jìn)行語料標(biāo)注,構(gòu)建關(guān)系抽取語料庫。其主要描述作戰(zhàn)力量編成部署信息。
語料庫構(gòu)建工作,過程復(fù)雜,形式多樣。針對(duì)通用語料庫的構(gòu)建工作已經(jīng)取得很多成果。比如周惠巍等人[6]依據(jù)詞性和句子結(jié)構(gòu)等信息構(gòu)建中文模糊限制信息語料庫,為事件信息抽取提供資源支持。蔣貽順[7]構(gòu)建觸發(fā)詞詞典,通過規(guī)則匹配實(shí)現(xiàn)人物關(guān)系三元組抽取。針對(duì)特定領(lǐng)域的研究,目前更多的研究集中在地理實(shí)體關(guān)系[8-9]、醫(yī)學(xué)領(lǐng)域[10-11]和軍事領(lǐng)域。茍繼承[12]利用遠(yuǎn)程監(jiān)督方法,基于規(guī)則匹配的方式獲得實(shí)體關(guān)系信息,構(gòu)建實(shí)體關(guān)系知識(shí)庫。蔣序平等人[13]通過定義事件模板,構(gòu)造觸發(fā)詞詞典,形成人工標(biāo)注種子數(shù)據(jù)集,經(jīng)過模型訓(xùn)練迭代生成針對(duì)軍事想定文本事件抽取的語料庫。馮鸞鸞等人[14]制定了一系列標(biāo)注規(guī)范,對(duì)收集到的海量互聯(lián)網(wǎng)文本進(jìn)行術(shù)語語料標(biāo)注,并且構(gòu)建出面向國防科技領(lǐng)域的技術(shù)和術(shù)語語料庫。上述方法需要人工構(gòu)建規(guī)則,增加人工標(biāo)注負(fù)擔(dān)。該文巧妙融合上述研究方法,根據(jù)自定義實(shí)體關(guān)系schema對(duì)收集到的特定領(lǐng)域新聞網(wǎng)絡(luò)文本進(jìn)行自動(dòng)回標(biāo)。該方法避免了大量的人工標(biāo)注工作,構(gòu)建出的語料庫規(guī)模較大,質(zhì)量較高,有較大實(shí)用價(jià)值。
面向特定領(lǐng)域文本的重疊關(guān)系抽取語料庫構(gòu)建流程如圖1所示。
圖1 語料庫構(gòu)建流程
該文將語料限定在特定領(lǐng)域內(nèi),為了發(fā)現(xiàn)網(wǎng)絡(luò)文本中重疊關(guān)系信息,建立一個(gè)通用的、實(shí)體覆蓋面更廣的關(guān)系類型模式。通過網(wǎng)絡(luò)爬蟲抓取來自新浪網(wǎng)、光明網(wǎng)、國防科技信息網(wǎng)、武器百科大全網(wǎng)站等超過1 000個(gè)網(wǎng)頁,獲得原始數(shù)據(jù)約10萬條,占用空間資源26.3 M。數(shù)據(jù)樣例如下所示:(1)近日,北京武警放出了使用QMK171瞄準(zhǔn)鏡的95-1式的照片,意味著QMK171瞄準(zhǔn)鏡已經(jīng)大量入役。(2)日前,美國通用動(dòng)力公司在美國首都華盛頓舉行的美國陸軍協(xié)會(huì)年會(huì)博覽會(huì)上展示了其最新的RM277型全自動(dòng)輕機(jī)槍的信息,將采用美軍最新研發(fā)的6.8毫米彈藥,等等。
新聞?lì)愓Z料來源于網(wǎng)頁。通過觀察網(wǎng)頁源代碼中的HTML標(biāo)簽和文字分布特點(diǎn),利用python的爬蟲庫BeautifulSoup解析網(wǎng)頁源代碼,對(duì)網(wǎng)頁中正文較集中的內(nèi)容塊進(jìn)行文本提取。
正文提取完成后,為方便后續(xù)實(shí)體關(guān)系的抽取,將語料數(shù)據(jù)進(jìn)行分句處理。中文語句的一句話通常由句號(hào)“?!薄柼?hào)“?”、感嘆號(hào)“!”、省略號(hào)“……”等符號(hào)結(jié)尾,利用這些符號(hào)作為句子分割條件,得到分句后的無標(biāo)注文本數(shù)據(jù)集D,作為語料庫構(gòu)建的數(shù)據(jù)來源。
ACE評(píng)測會(huì)議于2005年公布了官方標(biāo)注的關(guān)系抽取語料庫,包括中文、英文、阿拉伯文的標(biāo)注語料,其定義了表中的6類大類關(guān)系和18類小類關(guān)系的關(guān)系類型。COAE會(huì)議于2016年針對(duì)中文領(lǐng)域關(guān)系抽取推出包含10種關(guān)系類型的中文關(guān)系抽取訓(xùn)練集。
但是上面兩個(gè)數(shù)據(jù)集的關(guān)系體系與特定領(lǐng)域的關(guān)系具有一定差異,無法成為構(gòu)筑特定領(lǐng)域關(guān)系體系的基礎(chǔ)。通過專家知識(shí)和對(duì)特定領(lǐng)域文本的分析,根據(jù)上述關(guān)系分類,對(duì)實(shí)體關(guān)系的篩選,過濾與領(lǐng)域無關(guān)的大量內(nèi)容,經(jīng)過整理,該文最終預(yù)定義了5種命名實(shí)體,分別是組織(ORG)、武器(WEAP)、地點(diǎn)(LOC)、行動(dòng)(ACT)、人員(PER);7種實(shí)體關(guān)系類別,分別是人員和組織的隸屬關(guān)系、組織與組織的編成關(guān)系、組織與行動(dòng)的執(zhí)行關(guān)系、組織與地點(diǎn)的部署關(guān)系、行動(dòng)與地點(diǎn)的目標(biāo)關(guān)系、組織與武器的配置關(guān)系。關(guān)系schema如下:
{"object_type": "ORG", " predicate ": "編成", "subject_type": "ORG"}
{"object_type": "ACT", " predicate ": "執(zhí)行", "subject_type": "ORG"}
{"object_type": "LOC", " predicate ": "部署", "subject_type": "ORG"}
{"object_type": "LOC", " predicate ":"布置", "subject_type": "WEAP"}
{"object_type": "LOC", " predicate ": "目標(biāo)", "subject_type": "ACT"}
{"object_type": "WEAP", " predicate ":"配置", "subject_type": "ORG"}
{"object_type": "ORG", " predicate ": "隸屬", "subject_type": "PER"}
通過分析語料文本,存在如圖2中三種重疊關(guān)系,以此為基準(zhǔn)進(jìn)行下一步研究。
圖2 重疊關(guān)系示例圖
2.3.1 實(shí)體集構(gòu)建
根據(jù)2.2節(jié)中確定的五種實(shí)體進(jìn)行以下分析:首先利用命名實(shí)體識(shí)別方法和自制的領(lǐng)域?qū)I(yè)詞典,將2.1節(jié)構(gòu)建的訓(xùn)練語料輸入BiLSTM+CRF命名實(shí)體識(shí)別模型[15]進(jìn)行實(shí)體識(shí)別,然后通過啟發(fā)式規(guī)則,比如去掉單字符名詞、保留專有名詞等進(jìn)行人工篩選,最后獲得備選實(shí)體集N,為后續(xù)啟發(fā)式實(shí)體關(guān)系對(duì)齊和關(guān)系數(shù)據(jù)去噪做準(zhǔn)備。備選實(shí)體集N部分實(shí)體如表1所示。
表1 備選實(shí)體集N部分實(shí)體示例
命名實(shí)體識(shí)別所用標(biāo)注數(shù)據(jù)集由多人進(jìn)行手動(dòng)標(biāo)注并打分評(píng)估進(jìn)行融合所得。
2.3.2 觸發(fā)詞詞典構(gòu)建
觸發(fā)詞詞典構(gòu)建過程為:首先進(jìn)行特征詞抽取(運(yùn)用LTP工具抽取動(dòng)詞、名詞),然后根據(jù)schema聚類成觸發(fā)詞詞典,最后根據(jù)實(shí)體對(duì)進(jìn)行啟發(fā)式關(guān)系過濾。
(1)特征詞抽取。
通過觀察語料庫發(fā)現(xiàn),絕大多數(shù)產(chǎn)生關(guān)系的實(shí)體對(duì)都可以由其上下文中一般動(dòng)詞或者一般名詞觸發(fā)和描述(統(tǒng)稱為特征詞),而且這些特征詞均與待處理的實(shí)體對(duì)在依存句法分析樹中產(chǎn)生有限的幾類關(guān)系。
特征詞抽取過程是為了抽取語料庫中與特定實(shí)體對(duì)類型下的實(shí)例共現(xiàn),且依存句法分析后具有特定語義關(guān)系的動(dòng)詞或名詞。然后采用啟發(fā)式過濾規(guī)則,進(jìn)行特征詞集過濾篩選[16]。
詞性分析和依存句法分析中,使用哈工大語言技術(shù)平臺(tái)(Language Technology Platform,LTP)的處理模塊。LTP處理中文文本具有良好的性能。首先對(duì)語料庫進(jìn)行詞性標(biāo)注,抽取出動(dòng)詞或動(dòng)名詞。LTP定義了15個(gè)依存句法標(biāo)簽,包括主謂關(guān)系(SBV)、動(dòng)賓關(guān)系(VOB)、間賓關(guān)系(IOB)、并列關(guān)系(COO)等。
具體步驟如下所示:
①根據(jù)2.2節(jié)中構(gòu)建的schema,得到特定實(shí)體對(duì)類型的槽(socket)。對(duì)每個(gè)實(shí)體n∈N,在語料D中檢索包含實(shí)體的所有句子,保留那些同時(shí)包含實(shí)體ni和另一個(gè)與其形成特定實(shí)體對(duì)類型的實(shí)體nj的句子Sent,由此形成七種關(guān)系句子集
②對(duì)
Rule1:根據(jù)依存句法分析后,動(dòng)詞或名詞必須滿足與實(shí)體對(duì)中任一實(shí)體存在主謂賓結(jié)構(gòu)SBV-VOB、從屬關(guān)系結(jié)構(gòu)ATT-ATT、動(dòng)補(bǔ)介賓關(guān)系結(jié)構(gòu)CMP-POB。
③對(duì)于每一個(gè)w∈R,統(tǒng)計(jì)其在第(1)步得到的句子Sent集中出現(xiàn)的頻率PS(wk),去掉頻率小于常數(shù)θ的特征詞。
④根據(jù)候選特征詞wk在D中和特定實(shí)體對(duì)類型句子集Sent中的分布信息,采用以下公式計(jì)算其與實(shí)體對(duì)類型的相關(guān)度Rel(wk)[16],其中PS(wk)和PD(wk)分別表示wk在特定實(shí)體對(duì)類型句子集和語料庫D中的頻率。
Rel(wk)=PS(wk)/PD(wk)
⑤根據(jù)相關(guān)度對(duì)候選特征詞進(jìn)行排序,根據(jù)排序位置取靠前的Top-K個(gè)作為特征詞,獲得篩選后候選特征詞集R。
(2)Schema聚類與觸發(fā)詞詞典構(gòu)建。
一系列具有相同含義和用法的特征詞可以體現(xiàn)同一種關(guān)系,因此根據(jù)2.2節(jié)Schema中確定的七種關(guān)系詞對(duì)上述包含七種關(guān)系類型的候選特征詞集R進(jìn)行對(duì)應(yīng)聚類,構(gòu)建觸發(fā)詞詞典W,如表2所示。
表2 觸發(fā)詞詞典部分觸發(fā)詞示例
2.3.3 語料回標(biāo)
借助實(shí)體識(shí)別和觸發(fā)詞規(guī)則,基于自定義關(guān)系schema的語料標(biāo)注方法假設(shè):如果訓(xùn)練語料的某一句話包含的實(shí)體集中的實(shí)體對(duì)在觸發(fā)詞詞典中有對(duì)應(yīng)的觸發(fā)詞,就認(rèn)為這句話描述了觸發(fā)詞所表示的schema中的關(guān)系類型?;诖思僭O(shè)進(jìn)行語料自動(dòng)回標(biāo),有助于減少人工標(biāo)注的工作量。
標(biāo)注算法流程:首先,根據(jù)命名實(shí)體識(shí)別結(jié)果,獲得實(shí)體和實(shí)體類型列表,然后順序掃描根據(jù)領(lǐng)域詞典進(jìn)行結(jié)巴分詞后的語料文本,依次匹配實(shí)體集中的實(shí)體,先進(jìn)行頭實(shí)體subject匹配,查找到一個(gè)實(shí)體后轉(zhuǎn)為該文本片段尾實(shí)體Object匹配,然后根據(jù)schema槽中的實(shí)體對(duì)類型進(jìn)行判斷,兩者是否相關(guān),若相關(guān),則提取關(guān)系信息,查找觸發(fā)詞詞典,對(duì)關(guān)系類型標(biāo)注和保存,否則繼續(xù)進(jìn)行實(shí)體匹配,此過程在句子集內(nèi)循環(huán),直到遍歷完成單個(gè)句子中所有關(guān)系。此方法簡單有效,標(biāo)注效率高。算法如下所示:
算法1:重疊關(guān)系語料回標(biāo)算法。
輸入:實(shí)體集N,觸發(fā)詞詞典W,待匹配語料D,schema;
輸出:標(biāo)注文本s。
① forD中的每一句話sdo:
② for 實(shí)體集N中的每一個(gè)實(shí)體和類型type do:
③ 頭實(shí)體[subject,s_type]匹配
④ if subject=匹配成功 then
⑤ for 實(shí)體集N中除subject外的每一個(gè)實(shí)體和類型type do:
⑥ 尾實(shí)體[object,o_type]匹配
⑦ if object=匹配成功 then
⑧ if schema[s_type,o_type] and 對(duì)應(yīng)關(guān)系r←W[w] then
⑨ 標(biāo)注文本←文本串s+關(guān)系r+subject+object
為了保證語料庫的專業(yè)性和可靠性,首先探討本語料庫數(shù)據(jù)源的可用性,然后進(jìn)行標(biāo)注質(zhì)量評(píng)價(jià)并使用基礎(chǔ)模型驗(yàn)證語料庫的質(zhì)量。
對(duì)約10萬條原始數(shù)據(jù)進(jìn)行隨機(jī)抽取,以評(píng)價(jià)新聞網(wǎng)站作為構(gòu)建特定領(lǐng)域重疊關(guān)系抽取語料庫的可用性。(1)從原始數(shù)據(jù)中隨機(jī)抽取1 000條語句;(2)根據(jù)語句中包含的實(shí)體類型將其劃分到文中的實(shí)體分類體系中;(3)統(tǒng)計(jì)每個(gè)實(shí)體類型下語句的信息量,結(jié)果如表3所示。
表3 數(shù)據(jù)源可用性統(tǒng)計(jì)
由表3可以看到:(1)從原始數(shù)據(jù)中隨機(jī)抽取的1 000條新聞?wù)Z句中最多有89.5%被成功劃分到該文提出的實(shí)體分類體系中,但是不同句子中,實(shí)體數(shù)量分布不均勻;(2)包含關(guān)系三元組的語句數(shù)約占抽取的句子總數(shù)的64.3%,平均每個(gè)句子中含有6個(gè)關(guān)系三元組,涵蓋了自定義的7種實(shí)體關(guān)系。可見通過新聞等網(wǎng)站爬取的原始語料蘊(yùn)含了豐富的實(shí)體關(guān)系三元組,為構(gòu)建實(shí)體關(guān)系語料庫提供了充足的數(shù)據(jù)資源。
基于數(shù)據(jù)可用性分析結(jié)果,從實(shí)體集N中分別為實(shí)體分類的5個(gè)實(shí)體類型選取50個(gè)實(shí)體,共計(jì)250個(gè);然后對(duì)基于該方法構(gòu)建的重疊關(guān)系語料庫和實(shí)體識(shí)別篩選語料進(jìn)行統(tǒng)計(jì)分析。特定領(lǐng)域的重疊關(guān)系語料庫成功標(biāo)注18 750個(gè)句子,占實(shí)體識(shí)別篩選語料的51.3%。此語料庫中的知識(shí)形式為{“text”: “文本”, “spo_list”: “{subject,predicate,object}”},其中subject表示主語(頭實(shí)體),object是賓語(尾實(shí)體),predicate是謂詞(關(guān)系的抽象表示)。為了方便查詢,依然采用json格式保存三元組信息,標(biāo)注示例如:{"text": "海軍軍事學(xué)術(shù)研究所研究員里奇博士說:“這次建造輕型航母的決定是‘一石二鳥’,這將成為體現(xiàn)‘有效性的韓國海軍核心戰(zhàn)斗力’”。", "spo_list": [{"predicate": "編成", "object_type":"ORG", "subject_type": "ORG", "object": "海軍軍事學(xué)術(shù)研究所","subject": "韓國海軍"}, {"predicate": "配置", "object_type":"WEAP", "subject_type": "ORG", "object": "輕型航母","subject": "韓國海軍"},{"predicate": "隸屬", "object_type":"ORG", "subject_type": "PER", "object": "海軍軍事學(xué)術(shù)研究所","subject": "里奇"},{"predicate": "隸屬", "object_type":"ORG", "subject_type": "PER", "object": "韓國海軍","subject": "里奇"}}。
表4為數(shù)據(jù)統(tǒng)計(jì)信息。其中成功率表示成功匹配包含該實(shí)體的三元組的句子數(shù)占包含該實(shí)體的標(biāo)注句子總數(shù)的百分比;準(zhǔn)確率表示正確標(biāo)注的三元組數(shù)占包含該實(shí)體的三元組數(shù)的百分比。實(shí)驗(yàn)中根據(jù)250個(gè)實(shí)體得到了實(shí)體識(shí)別篩選標(biāo)注語料中的1 024條語句,通過隨機(jī)抽樣計(jì)算,語料庫的總體回標(biāo)成功率為76.7%,總體關(guān)系標(biāo)注準(zhǔn)確率為85.8%。
表4 標(biāo)注質(zhì)量評(píng)價(jià)統(tǒng)計(jì)
針對(duì)標(biāo)注出的實(shí)體關(guān)系,進(jìn)行如下統(tǒng)計(jì)展示。圖3表示每句話中包含不同三元組數(shù)目的句子數(shù);圖4反映句子集中包含各類重疊關(guān)系的數(shù)目及三元組總數(shù)。
圖3 三元組頻數(shù)統(tǒng)計(jì)
圖4 重疊關(guān)系頻數(shù)統(tǒng)計(jì)
為了說明構(gòu)建的語料庫的可用性,實(shí)現(xiàn)對(duì)軍事新聞中蘊(yùn)含的作戰(zhàn)力量編成部署信息的抽取,該文使用信息抽取基礎(chǔ)模型DGCNN+self-attention[17]進(jìn)行實(shí)驗(yàn)。將構(gòu)建好的語料庫按照7∶3的比例進(jìn)行訓(xùn)練集和驗(yàn)證集的劃分,并選擇17 942條經(jīng)過清洗后的語句作為測試集。評(píng)測采用傳統(tǒng)的召回率(R)、準(zhǔn)確率(P)、F1值。模型實(shí)驗(yàn)結(jié)果顯示,利用構(gòu)建的語料庫訓(xùn)練的基礎(chǔ)模型,其準(zhǔn)確率達(dá)到95.98%,召回率達(dá)到91.50%,F(xiàn)1值為93.68%,效果較好。
為更好展示構(gòu)建的語料庫效果,采用neo4j圖數(shù)據(jù)庫存儲(chǔ)并進(jìn)行可視化。語料庫部分語句各關(guān)系可視化如圖5所示。
圖5 關(guān)系三元組可視化
以美國為例:如“美國”存在“美國-編成-美國特種作戰(zhàn)司令部”、“美國-配置-黃蜂級(jí)航空母艦”、“美國-執(zhí)行-護(hù)航”等三種關(guān)系,26個(gè)關(guān)系三元組。
該文描述了面向特定領(lǐng)域文本的重疊關(guān)系抽取語料庫構(gòu)建工作。首先對(duì)爬取到的特定領(lǐng)域網(wǎng)絡(luò)文本進(jìn)行分析,構(gòu)建關(guān)系模式schema,然后利用命名實(shí)體識(shí)別模型對(duì)文本進(jìn)行實(shí)體識(shí)別得到備選實(shí)體集,通過依存句法分析和特征詞聚類構(gòu)造觸發(fā)詞詞典,最后基于實(shí)體集和觸發(fā)詞詞典進(jìn)行語料自動(dòng)回標(biāo),構(gòu)建出目前規(guī)模較大的面向特定領(lǐng)域的實(shí)體重疊關(guān)系抽取語料庫。同時(shí),探究了數(shù)據(jù)源的可用性和標(biāo)注質(zhì)量,語料總體的回標(biāo)成功率為76.7%,總體關(guān)系標(biāo)注準(zhǔn)確率為85.8%,利用基礎(chǔ)重疊關(guān)系抽取模型進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果F1值達(dá)到93.68%。
文中的構(gòu)建方法減少了人工標(biāo)注的工作量,標(biāo)注效率較快,質(zhì)量較高。但是,由于網(wǎng)絡(luò)文本的冗雜,構(gòu)建的語料庫仍存在部分實(shí)體和不常見實(shí)體無法識(shí)別,目標(biāo)等關(guān)系數(shù)量相對(duì)較少,且包含的關(guān)系類型較少等問題。未來的工作中,將利用抽取模型進(jìn)行迭代更新,改進(jìn)標(biāo)注質(zhì)量,并且繼續(xù)完善標(biāo)注體系,擴(kuò)大標(biāo)注規(guī)模,為后續(xù)特定領(lǐng)域的信息抽取、知識(shí)圖譜構(gòu)建等工作奠定基礎(chǔ)。
計(jì)算機(jī)技術(shù)與發(fā)展2022年10期