?

基于小樣本學習的中文文本關系抽取方法

2023-09-23 01:59季一木劉尚東邱晨陽朱金森
關鍵詞:原型實例實體

季一木,張 旺,劉 強,2,劉尚東,洪 程,邱晨陽,朱金森,惠 巖,肖 婉

(1.南京郵電大學 計算機學院,江蘇 南京 210023 2.南京郵電大學高性能計算與大數據處理研究所,江蘇南京 210023 3.國家高性能計算中心南京分中心,江蘇 南京 210023 4.南京郵電大學高性能計算與智能處理工程研究中心,江蘇 南京 210023 5.南京郵電大學 教育科學與技術學院,江蘇 南京 210023)

隨著互聯網的快速發展,數據越來越多樣化,文本作為信息傳播的主要形式之一,不斷地更新[1]。實體關系抽取作為文本挖掘和信息抽取的核心任務,是知識圖譜構建過程中的關鍵一環。 其主要目的是對句子中實體與實體之間的關系進行識別,抽取句子中的三元組信息,即實體1-實體2-關系三元組,得到的三元組信息可以提供給知識圖譜的構建、問答、機器閱讀等下游自然語言處理(Natural Language Processing, NLP)[2]任務。 由于近年來自然語言處理的發展與應用,關系抽取也吸引了許多研究者。 有監督的關系抽取方法如CNN、RNN、LSTM 等[2]在該任務上已取得非常好的效果。 但是,有監督的關系抽取的準確率往往過于依賴高質量的數據集,而人工標準數據集往往需要耗費大量精力。 為了快速構造有標簽的大規模數據集, Mintz等[3]提出了遠程監督的思想,用來生成帶標簽的大規模數據集。 該思想基于這樣一個假設:如果一個句子中含有一個關系涉及的實體對,那這個句子就是描述的這個關系。 因此,遠程監督的數據里存在大量噪聲。 為了緩解噪聲數據問題,Zeng 等[4]使用分段卷積神經網絡(PCNN)提取特征,基于該模型的擴 展 有PCNN +MIL[4]、PCNN +ATT[5]、PCNN +BAG[6]等。 雖然這些模型在公共關系上取得了令人滿意的結果,但當某些關系的訓練實例很少時,它們的分類性能仍然會急劇下降[7]。 且現有的遠程監督模型忽略了長尾關系的問題,這使得這些模型難以從純文本中提取全面的信息。

在小樣本學習(Few-shot Learning)方法中,僅僅需要幾個樣本實例就能使模型學會區分不同關系類型的能力[8],從而緩解大量無標簽數據帶來的標注壓力。 小樣本學習的概念最早從計算機視覺(Computer Vision)領域興起,近幾年受到廣泛關注,在圖像分類任務中已有很多性能優異的算法模型,但是在自然語言處理領域發展得較為緩慢,主要原因是與圖像相比,文本更加多樣化和嘈雜[9]。 最近,隨著元學習方法[10-11](Mate-Learning)、圖卷積神經網絡[12](Graph Convolutional Network, GCN)等概念的提出,使得模型能快速地從少量的樣本中進行學習。 Han 等[13]構建了一個用于小樣本關系抽取的數據集FewRel,并基于不同的少樣本模型對其進行了評估。 在這些模型中, 基于原型網絡(Prototypical Network)[14]和 匹 配 網 絡(Matching Network)[15]的方法能快速有效地對小樣本進行學習并取得比較好的效果。 但是FewRel 是針對英文文本構建的關系抽取數據集,而相對于英文來說,中文更為復雜,具體表現在:(1) 在中文里,最小的語義單位是字,而字與字之間又能組成不同語義的詞,所以在處理中文分詞時容易遇到歧義問題;(2) 隨著互聯網的發展,會對一些詞賦予新的含義,同時組合不同的字也會產生一些新的詞匯,給模型的訓練帶來了不小的難度;(3) 中文還有一個特點是重意合而不重形式,句子結構比較松散,不易于提取特征。

為了解決上述問題,本文以FinRE[16]為基礎,重新構建了中文關系抽取數據集,使用語義關系的網絡HowNet[17]對抽取實體進行語義細分,同時基于改進后的Clues-BERT[18-19]對輸入的文本進行編碼,使用少樣本學習中的原型網絡對數據進行關系抽取。 同時,為了減少噪聲數據對結果準確率的影響,考慮到每一次訓練中,不同的實例對結果的影響不同,這里使用了基于實例級別的注意力機制對模型進行優化。

綜上所述,本文的主要貢獻如下:

(1) 基于FinRE 重新構建了適合少樣本學習的中文數據集。

(2) 在對句子級的注意力機制的基礎上,使用HowNet[17]對實體進行語義拆分,引入了實體級別編碼層面的注意力機制,使模型關注質量更高的特征,提高實例編碼質量。

(3) 為了評測該方法的有效性,人工地在訓練集里加入了一定比例的噪聲數據進行訓練。 結果顯示,基于注意力機制的原型網絡要優于原始原型網絡,關系抽取的準確率提升在1%~2%之間。

1 相關工作

關系抽取是非常重要的一項任務,許多研究者提出了各種不同的解決方法。 處理關系抽取任務的第一步就是需要將文本字符編碼成計算機可以理解的數值常量,以便于提取特征。 Mikolov 等[20]開源了一款用于詞向量計算的工具——Word2Vec,用于計算非常大數據集中單詞的連續矢量表示。 但是由于計算出來的詞和向量是一對一的關系,所以一次多義的問題無法解決。 這種缺點在中文上表現得比較明顯,因為中文里單獨的字的含義就非常豐富,組合成詞的語義就更為繁多復雜。 Google 發布的BERT[18]模型在處理輸入的中文序列時,將每個字視為最小的語義單位,使用雙向Transforme 進行編碼, 使得每個詞都要和該句子中的所有詞進行注意力計算,從而學習句子內部的詞依賴關系,捕獲句子的內部結構。 目前,BERT 在NLP 的多個研究領域中都取得良好效果。 但是,原始的BERT 模型參數眾多,導致模型訓練速度慢,且對中文詞向量的表示效果遠不如英文。 本文使用Xu 等[19]提供的基于BERT 的預訓練模型CLUE-BERT,該模型使用100 GB的原始語料庫,包含350 億個漢字。 與Google 發布的原生模型BERT-Base 相比較,在保證準確率不受影響的情況下,訓練和預測速度均有提高。

在將句子編碼為向量后,如何優化關系抽取模型也是研究的熱點。 最近,元學習的思想被應用到少樣本關系抽取中,目的是讓模型獲得一種學習能力,這種學習能力可以讓模型在新的領域自動學習到一些元知識。 在常規小樣本關系抽取算法中,基于度量和優化的元學習方法最為常見。 Ye 等[21]提出基于卷積神經網絡的多級別匹配聚合網絡,Xu等[22]提 出 的 基 于 圖 網 絡 的 Frog-GNN 以 及Mueller[23]提出的標簽語義感知預訓練等方案提升了少樣本關系抽取的準確率。 但這些復雜的方法往往對訓練時間要求更長以及機器的性能要求更高,同時在小樣本關系分類任務上的表現相較于基于簡單度量和優化的方法并沒有特別大的提升。 原型網絡的思想和實現方法都十分簡單明晰,效果與之前的工作相比得到了一定的提升。 Snell 等[14]基于簡單度量的元學習方法提出了原型網絡(Prototypical Network),認為每個類別在向量空間中都存在一個原型(Prototype),通過將不同類別的樣例數據映射成向量并提取它們的“均值”表示一個類別的原型,通過比較向量之間的歐式距離進行相似度的判斷。然而簡單地提取樣例數據映射向量的均值并不能很好地反映類別的特征,因為不同的樣例對原型向量的影響不同[24]。 由于樣本量少,分類邊界存在誤差,當數據存在噪聲時,容易對結果造成干擾。 在少樣本學習圖像任務中,注意力機制已被用于減少噪聲的影響[25]。 Gao 等[26]提出了基于混合注意力的原型網絡,針對實例級別和特征級別分別設計了不同的關注方案,以分別突出關鍵實例和特征,在英文數據集FewRel2.0[27]取得了比較好的效果。 但是在中文語境里,一個實體往往有更為豐富的含義。 因此,如何在中文語境里準確地關注每個實體在上下文中對應的語義,以及如何減少噪聲實例對模型準確率的影響是本文的關注點。 在本文工作中,使用雙重注意力機制給每個類別的不同樣例以及每個實體不同的含義賦予不同的權重參數,在一定程度上減少了噪聲對結果的影響,提升了模型對抗噪聲的能力。 同時,在少樣本關系抽取中,無需構造數據,數據不會存在長尾關系,僅需要少量的樣本就能訓練出優質的模型。

2 基于HowNet 的雙重注意力機制小樣本關系抽取算法

本節詳細介紹基于小樣本學習的中文文本關系抽取方法。 整體框架圖如圖1 所示,S表示支持集,Q表示查詢集,Framework 為總體框架圖,Proto-Vector 部分為原型網絡計算出來的原型向量,Attention 部分為注意力機制計算結構圖。

圖1 模型的體系結構

2.1 符號和定義

在小樣本關系抽取問題中,將訓練數據集劃分為已分類的支持集合S和待分類的查詢集合Q, 該任務被定義為預測查詢集中的實體對(h,t) 在對應的支持集中屬于關系r。 對于給定關系集合R, 支持集S以及查詢集Q,有如下定義

2.2 基于HowNet 的實例編碼

HowNet 是一個大規模高質量的跨語言(中英)常識知識庫,蘊含著豐富的語義信息。 其中將詞義概念用更小的語義單位描述,這種語義單位被稱為“義原”(Sememe),是最基本的、不易于再分割的意義的最小單位。 在實際關系抽取任務中,一個實體通常在不同的上下文環境中具有不同的含義,如“喬布斯創造了蘋果”和“牛頓因為蘋果發現了萬有引力”中的“蘋果”,在前者中是“特定品牌”的意思,而在后者中是“水果”的意思。 為了減少歧義對抽取結果的影響,使用HowNet 可以獲取每個實體的最小的義原,例如“蘋果”一詞經過HowNet 拆分后可以得到的義原為“tree |樹, SpeBrand |特定牌子,tool|用具, computer|電腦等”,如圖2 所示。 然后經過BERT 編碼后進行權重分配,計算出最符合上下文語義的向量,這一部分將在后面詳細描述。

圖2 “蘋果”義原分解圖

對于給定的實例x ={w1,w2,…,wn},假設其中的頭實體為h,尾實體為t, 使用HowNet 獲取每個實體的義原,即h→{h1,h2,…,hi},t→{t1,t2,…,tj}。 將 序 列{x,h,t} 使 用 預 訓 練 模 型CLUEBERT,將句子編碼為低維度向量以表示該實例的語義信息。 例如,對于給定的實例x,經過編碼后句子中的每一單詞wi將會與一個向量對應。

其中,BERT(·) 表示將輸入的單詞進行低維度嵌入,得到的向量ωi用來表示該單詞的語義信息和語法信息。 最后將該實例中的所有詞向量經過一個特征提取層,從而生成一個固定大小的句子嵌入向量X。

其中,Pool(·)用于提取每個單詞特征,并輸出一個固定大小的維度向量dw表示整個實例的語義和語法信息,編碼流程如圖3 所示。

圖3 基于HowNet 的實例編碼

2.3 原型網絡

原型網絡(Prototypical Networks)的主要思想是每個類別的關系類型在高維向量空間中都存在一個原型(Prototype),也稱作類別中心點。 原型網絡使用神經網絡將不同的句子映射成一個向量,對于同屬于一個關系類別的樣本,求這一類樣本向量的平均值作為該關系類型的原型,計算原型向量的一般方法是對支持集中所有的向量化樣例數據取均值得到。其中,ci為原型網絡為每個類別ri計算出的一個原型,為支持集S中的一個關系類型ri的嵌入式向量表示,K表示一次N way K Shot 分類中每個關系類型實例的數量。

在原型網絡的計算中,所有實例都被同等地對待,但是在現實中并不是每個實例對結果都具有一樣的相關性。 因此,在訓練中應該關注那些更能代表該關系類型的實例。 在這里使用的方法中,簡單的平均機制被實例級注意所取代,以突出支持集中那些更相關的實例,將在下一部分中討論。 在分類時,原形網絡使用Softmax(·)計算查詢集Q與向量ci的距離,用來表示查詢集總實例x在關系集合R中的概率。

其中,- d(·,·) 為計算兩個向量距離的函數,f?(·) 表示 對 輸入 的 查 詢 集 實 例x進 行 編 碼,p?(y = ri |x) 表示查詢實例x是關系類型ri的概率。 距離函數有多種選擇,根據Snell 等[14]的研究,歐幾里德距離優于其他距離函數,因此在該網絡中,選擇使用歐幾里德距離計算兩個向量之間的距離。

2.4 雙重注意力機制

每個實例中的實體經過HowNet 分解得到不同的義原,然而在現實中每個實體根據上下文的不同而具有不同的意義。 為了更為準確地表示實體在上下文中的意義,對其所有義原根據其相關性進行權重分配,從而減少噪聲對訓練結果的影響。 義原在經過CLUE-BERT 編碼后得到其對應的向量表示形式,即Sems ={Sem1,Sem2,…,Semk},k =6,k為得到的義原數量。 為每一個義原權重分配一個權重βj(如圖1 中Entity-Attention 所示),從而計算實體的向量為

其中,βj被定義為

將每個實例中的實體進行如上計算,即可得到該實例的向量表示{ω1,ω2,…,ωn,Semh,Semt}。

對于每個關系類型,原型網絡采用實例的平均向量作為關系原型。 但是,在現實世界中,每個關系類型的不同實例與該關系類型的相關性并不是一樣的。 特別是在少樣本場景中,由于缺少訓練數據,一個實例的表示形式與其他實例的表示形式相差很遠,這將導致相應原型的巨大偏差。 如果訓練集中存在噪聲數據,或者一種關系類型存在多種語義,這將會對結果的準確率產生非常大的影響。 為了解決上述問題,根據相關性的大小對輸入的實例分配不同的權重,從而減少噪聲的影響。 對于訓練時支持集S中的每一個實例向量,為其分配一個權重αj(如圖1 中Sentence-Attention 所示),從而計算原型向量的方法變為

其中,αj被定義為

其中,f(·) 為一個線性層,☉為將兩個矩陣的對應元素進行相乘的操作,σ(·) 為一個激活函數,這里使用的是tanh(·) 函數保證計算的結果在[1,-1]范圍內,sum{}用來對向量所有元素求和。 通過訓練實例級的注意力機制,支持集中的實例特征與查詢實例特征越相似,將獲得更高的權重,最終計算的原型向量更接近這些實例。

2.5 算法實現

對于支持集輸入的句子,首先將頭實體和尾實體輸入HowNet 網絡,解析得到不同的義原,然后將得到的義原和實例輸入CLUE-BERT 模塊進行編碼。 此時得到的輸出包含實例和實體的編碼,先使用算法1 計算出每個義原的權重,將權重與對應的向量相乘,得到代表該實體的向量表示;同理,使用算法2 進行權重計算,可以得到類型的向量表示;對查詢集輸入的句子,進行如上的計算得到一個向量表示;最后將兩個向量使用歐幾里德距離計算相似度。 由于交叉熵損失函數常應用于多分類任務中,因此訓練過程中選擇其作為目標函數,通過反向傳播調整模型的權重,該損失函數表達式如下

其中,c為計算出的相似度,class為類別數。

算法1Entity-Attention 算法

算法2Sentence-Attention 算法

3 實驗與結果分析

3.1 實驗數據集

以Li 等[16]手動標注的數據集FinRE 為基礎,重新構建了支持少樣本學習的中文數據集。 該數據集一共有44 種關系,其中30 種關系用來訓練,14種關系用來測試和驗證。 為保證實驗結果的準確性,在測試集中出現的關系類型,不會被劃分到訓練集中。 為了驗證基于注意力機制的原型網絡的有效性,在數據集中人工地添加0%、10%、30%、50%的噪聲數據,這些數據在訓練時將會被當成正確的數據進行訓練。

3.2 參數設置

實驗中所有的參數設置如表1 所示,對于訓練文本中的每個實例,單詞數量大于40 的,截取前40 個,不足的則以“[PAD]”填充。 對于詞嵌入,使用CLUE-BERT 預訓練好的輕量級模型對輸入的文本序列進行編碼,該模型包含35 kB 的中文詞匯,輸入詞向量的維度為312,設置原始原型網絡的迭代次數為30 000 次。 所有模型都在訓練集上進行訓練,然后選擇在驗證集上表現最佳的模型在測試集上進行測試。

表1 參數設置

3.3 結果分析

為了證明基于實例級注意力機制的小樣本關系抽取方法對抗噪聲的有效性,通過計算該模型對關系實例抽取的準確率來評測模型的效果,結果如表2 所示,分別是在0%、20%、30%、50%的噪聲數據下,使用原始的原型網絡(Proto)和基于注意力機制的原型網絡(Proto-att)得到的關系抽取的準確率。 可以看出,在少樣本關系抽取中,隨著關系類別的增加,準確率會隨之下降;隨著每個關系類別的實例增多,準確率會上升,但并不是無限上升,當達到某一個水平時,上升速率趨近飽和,增加實例的數量對準確率的提升不再有明顯優勢。 與原型網絡相比較,當存在噪聲數據時,基于雙重注意力機制的原型網絡會有更好的性能表現。

表2 關系抽取準確度比較 %

表3 是基于HowNet 的雙重注意力機制的小樣本關系抽取模型與其他模型,在沒有添加噪聲數據情況下抽取準確率的對比,實驗證明了基于HowNet的雙重注意力機制的小樣本關系抽取模型在抽取準確率方面相較于其他模型有一定的提升,使用的基線模型如下:

表3 各模型在FinRE 數據集上準確率對比 %

(1) ProtoNet(CNN)[22]是利用卷積神經網絡作為編碼器,將非線性地映射到向量空間,最后衡量歐式距離做分類。

(2) ProtoNet(BERT)是利用Google 發布的原生預訓練語言模型BERT,將整個句子編碼到統一的語義空間中,利用預訓練的優勢能極大提升訓練的效率。

(3) ProtoNet(KEPLER)利用了Wang 等[28]在預訓練語言模型的基礎上,結合知識圖譜將知識嵌入到預訓練語言模型中,在預訓練過程中對整個語言模型進行優化。

(4) Proto(CLUE-BERT)利用了Xu 等[19]在BERT 的基礎上對預訓練語言模型的改進,使用了大量的中文語料庫進行訓練,在中文的語言建模、預訓練或生成型任務等方面具有優秀的表現。

4 結束語

本文重新構建了中文關系抽取數據集FinRE,使之適合于少樣本關系抽取。 使用CLUE-BERT 對中文文本進行編碼,并引入了HowNet 語義網絡,使用雙重注意力機制的原型網絡模型對該數據集進行了評估實驗。 在數據集中摻雜不同比例的噪聲數據,實驗結果表明,基于注意力機制的原型網絡有更好的效果以及魯棒性。

猜你喜歡
原型實例實體
包裹的一切
前海自貿區:金融服務實體
《哈姆雷特》的《圣經》敘事原型考證
實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
兩會進行時:緊扣實體經濟“釘釘子”
振興實體經濟地方如何“釘釘子”
論《西藏隱秘歲月》的原型復現
原型理論分析“門”
完形填空Ⅱ
完形填空Ⅰ
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合