?

基于多頭注意力機制字詞聯合的中文命名實體識別

2024-01-13 11:27王猛旗張昕躍孫開偉樸昌浩
關鍵詞:集上注意力實體

王 進, 王猛旗, 張昕躍, 孫開偉, 樸昌浩

(重慶郵電大學 數據工程與可視計算重點實驗室, 重慶 400065)

命名實體識別(named entity recognition, NER)是自然語言處理領域的一項基礎性工作,是信息檢索、關系抽取、 問答系統等任務的子任務.其任務包含從非結構化文本中識別出諸如人名、地名、組織名、日期、時間、特定的數字形式等內容,并為之添加相應的標注信息.已有很多方法來解決NER問題,包括隱式馬爾可夫模型、最大熵模型、支持向量機、條件隨機場等等.隨著深度學習的發展,由于循環神經網絡(recurrent neural network, RNN)在處理序列問題上的優勢,很多基于RNN以及RNN變體的模型被提出來,以解決NER問題,例如LSTM、S-LSTM[1]、ON-LSTM[2]等.

由于中文文本不具有天然詞匯分割的特性,與英文NER任務相比,中文NER任務具有實體組成復雜、實體邊界不確定以及實體嵌套等問題[3].因此,中文NER任務的常見做法是首先使用現有的中文分詞系統(Chinese word segmentation, CWS)對文本進行分詞,然后使用序列標注模型對分詞結果進行標注.然而,CWS系統不可避免地會造成實體錯誤分割,導致實體邊界檢測和實體類別打標錯誤.為了避免實體分割錯誤引入誤差干擾,大多數中文NER模型都是基于字符的.針對中文NER任務,研究[4-6]表明基于字符的方法要顯著優于基于詞匯的方法.

中文文本中的詞匯可以為NER模型提供豐富的實體邊界信息.盡管基于字符的方法已經取得了良好的性能,但它并沒有很好地利用文本中的詞匯信息.基于此,近年來一些基于字詞聯合的方法被提出來,例如Lattice-LSTM[7]、LR-CNN[8]、WC-LSTM[9]、SoftLexicon[10]等.相較于單純基于字的模型,基于字詞聯合的方法都取得了不同程度的性能提升.這些方法的共同點是將字詞匹配得到的所有詞匯融入字嵌入的表征中,讓模型學習所有匹配詞信息.然而,這些方法都存在引入冗余詞匯以及詞匯信息利用不充分的問題.Lattice-LSTM[7]模型對LSTM序列建模層進行了動態修改,降低了模型的并行能力,并且詞匯中間字符并不能顯式的利用詞匯信息.LR-CNN[8]模型受到卷積神經網絡(convolutional neural network, CNN)感受野的限制,得到的特征序列可能損失長距離依賴[11].WC-LSTM[9]與SoftLexicon[10]采用不同的策略在字符表示層將全量詞匯信息融入字符嵌入中,不影響模型的并行能力,但WC-LSTM模型缺少對詞匯位置信息的表達,SoftLexicon字符融合方法使得模型降低了對強相關詞匯的選擇能力(難以區分冗余詞匯).

文中擬提出一種高效的字詞聯合算法,在使用全量匹配詞的同時,提高模型對關鍵詞匯的選擇能力.具體地,將字詞匹配得到的全量詞集按字在詞中的位置分為B(begin)、I(inside)、E(end)共3類,然后采用注意力機制將B、I、E詞集分別融入字符嵌入中,最后通過Fusion層融合3種字符嵌入,達到融合并選擇詞匯位置信息的目的.為了避免設計復雜的序列建模結構,文中算法的改動集中在嵌入層,方便與現有的NER模型結合.

1 相關工作

1.1 字詞聯合

字詞聯合又稱詞匯增強,作用是使單純基于字的中文NER算法能夠更有效地利用詞匯信息,提高模型識別實體邊界、解決實體嵌套問題的能力.

目前主要有基于詞匯列表、基于多源分詞器2種字詞聯合方式.前者需要額外的詞匯列表以及預訓練的字詞嵌入,后者需要多個分詞器共同協作[12].具體地,基于詞匯列表的字詞聯合方式又分為Dynamic和Adaptive這2種框架.前者通過設計一種動態抽取框架兼容詞匯輸入,如文獻[13-15]所述,這種方式往往需要修改模型的結構或采用新的網絡結構匯聚詞匯信息.后者通過構建自適應的embedding,將詞匯信息在embedding階段融入字嵌入中,與模型結構無關.

由于基于Adaptive框架模型能夠達到與基于Dynamic框架模型相同的性能,并且模型結構更簡單,易于和現有的NER模型相結合,成為研究熱點.

1.2 多頭注意力機制

通過引入注意力機制動態獲取需要關注部分的信息,使得任務處理系統能夠更有效地獲得輸入數據與當前輸出數據之間的有用信息,提升模型動態結構輸出質量[16].注意力機制可以看成是一個組合函數,通過計算注意力的概率分布,突出某個關鍵輸入對輸出的影響.

(1)

(2)

多頭注意力機制首先被Transformer模型[17]使用.圖1給出了多頭注意力機制模型.

圖1 多頭注意力機制模型

如圖1所示,首先對原始的q、K、V做多次線性映射,將映射的結果輸入到縮放點積注意力中,每次得到的結果稱為頭.多頭注意力計算式為

(3)

(4)

式中:h為頭的個數.

2 多頭注意力字詞聯合模型

2.1 整體框架

文中針對如何高效地在字嵌入表征中融入詞匯信息,提出了一種基于多頭注意力機制字詞聯合的中文命名實體識別算法,其整體框架如圖2所示.相較于傳統基于字的中文NER算法,如BiLSTM+CRF,文中算法的改動主要集中在嵌入層.首先,通過字詞匹配得到全量匹配詞集,并根據字詞位置關系將詞集分為B、I、E共3類.然后,采用多頭注意力機制將B、I、E詞匯位置信息分別融入每個字的字嵌入中,并通過Fusion層將多位置信息進行融合.最后將詞匯增強后的字嵌入輸入到序列建模層和CRF層,得到預測結果.圖2中,輸入序列為“重慶市長江大橋”,模型預測結果應包含2個位置實體,即重慶市和長江大橋.

圖2 多頭注意力字詞聯合模型整體框架

2.2 原始字嵌入

在中文NER模型中,輸入的文本序列可表示為

S={ci|ci∈Vc,i=1,2,…,n},

(5)

式中:Vc表示字符表.通過字符嵌入查找表ec可將字符ci映射為原始字嵌入:

(6)

另外,字+雙字的嵌入結構能夠為字嵌入提供方向信息,特別是對于不使用詞匯信息的方法[18-19].因此,通常使用二元嵌入來增強字嵌入表征:

(7)

式中:eb為二元字符嵌入查找表.

2.3 原始詞嵌入

單純基于字的中文NER模型的問題在于無法有效利用詞匯信息.特別地,對于中文NER模型,詞匯的邊界信息、字與詞的位置關系信息尤為重要,據此,如何有效利用這些信息是文中需要解決的問題.

首先,對輸入的中文文本序列S進行字詞匹配,得到全量匹配詞集Lw,匹配詞wi,j可表示為

wi,j={ci,ci+1,…,cj}∈Lw.

(8)

通過詞嵌入查找表ew可將匹配詞wi,j映射為詞嵌入:

(9)

其次,為了降低未登錄詞(out of vocabulary, OOV)的影響,文中將通過分詞得到的詞集Mw作為全量詞集Lw的補充.通過這種方式可以緩解人名、地名等專有名詞在通用語料中出現頻率較低且構詞方式無固定規律帶來的無匹配詞問題.對于詞集Mw中的詞匯wi,j?Lw,采用加權融合字嵌入的方式表征原始詞嵌入:

(10)

2.4 多頭注意力機制模塊

根據字在詞中的不同位置,將序列中字的相關詞集分為B、I、E共3個集合.對于序列中的字ci,其B、I、E詞集可表示為

(11)

對于字ci,將其B、I、E詞集分別輸入多頭注意力模塊,得到融合后的字嵌入:

(12)

特別地,由于單個字最多只屬于一個實體,采用多頭注意力機制分別學習B、I、E詞匯位置信息,可以提高模型選擇關鍵詞匯的能力,降低冗余詞匯信息的影響.

2.5 Fusion層

(13)

式中:W1、W2、W3、W4為參數矩陣.B、I、E可以充分表達字與詞的相對位置信息,通過融合,可以在字嵌入中融合不同維度的位置信息,提高模型選擇不同位置詞匯的能力.

2.6 序列建模層

得到B、I、E字詞聯合的字嵌入表征后,將字嵌入表征輸入到序列建模層學習字符之間的依賴關系.序列建模層通用的框架包括雙向長短期記憶網絡[20](bi-directional long short-term memory network,BiLSTM)、 卷積神經網絡和Transformer[17].文中選擇使用經典的BiLSTM網絡作為序列建模層.BiLSTM包含前向LSTM與后向LSTM共2部分,其中前向LSTM網絡定義為

(14)

2.7 解碼模塊

為了捕捉連續標簽之間的依賴關系,文中采用標準的CRF層對序列進行打標.給出中文文本序列S,基于輸入序列Hs={h1,h2,…,hn}計算分數矩陣O:

O=WoHs+bo,

(15)

式中:Wo和bo為計算分數矩陣的參數.標注序列y={y1,y2,…,yn}的概率為

(16)

解碼時,文中使用Viterbi算法找出得分最高的標簽序列:

(17)

在模型訓練過程中,給定N個訓練數據(Sj,yj),j=1,2,…,N,文中采用最大化預測值和真實值帶L2正則化的對數似然作為優化目標:

(18)

式中:λ為L2正則化的參數;Θ為參數集合.

3 試 驗

本節采用4個對比算法,在3個數據集上進行對比試驗來驗證文中算法的有效性,并通過消融試驗檢驗本算法融合詞匯信息的能力.

3.1 數據集與對比算法

文中采用單純基于字的中文NER算法Char-based BiLSTM以及基于字詞聯合的中文NER算法Lattice-LSTM[7]、LR-CNN[8]、SoftLexicon LSTM[10],在3個公開的中文序列標注數據集MSRA、Weibo[20]、Resume[7]上進行對比試驗.表1中統計了數據集中的句子、字符等信息.

表1 數據集統計信息

MSRA數據集來自新聞領域,共包含14個實體標簽,分為NR(人名)、NS(地名)、NT(團體機構實體)等3種實體類型.Weibo數據集來自社交媒體領域,共包含28個實體標簽,分為PER(人名)、ORG(組織名)、LOC(地名)、GPE(地緣政治實體)等4種實體類型.Resume數據集來自新浪財經的中文簡歷數據,共包含28個實體標簽,分為CONT(國家/地區實體)、EDU(教育機構實體)、LOC、PER、ORG、PRO(專業實體)、RACE(種族/背景實體)、TITLE(職位名稱)等8種實體類型.

3.2 試驗設置

文中使用與Lattice-LSTM相同的詞典以及字、詞嵌入列表:字典共包含0.57萬個單字詞匯,29.15萬個雙字詞匯,27.81萬個三字詞匯和12.91萬個其他長度的詞匯;字、詞嵌入列表由word2vec[21]算法在Chinese Giga-Word數據集上訓練得到.

文中將字嵌入大小和詞嵌入大小都設置為50.對于沒有出現在預訓練字嵌入列表中的字,文中采用均勻分布初始化,范圍表示為

(19)

式中:dim表示字嵌入的維度.對于沒有出現在預訓練詞嵌入列表中的詞,采用加權融合字嵌入的方式進行初始化.

對于MSRA數據集,單向LSTM隱藏層狀態維度設為200維,其他數據集設為150維.文中在嵌入層和LSTM網絡中使用dropout[22]技術避免過擬合,其中dropout值設為0.5.Weibo數據集初始化學習率為0.005 0,其他數據集初始化學習率為0.001 5,采用Adamax[23]優化器優化模型參數.

文中選用召回率R、精確率P、以及F1值作為評價指標.R為被預測正確的正例占實際總正例樣本的比例:

(20)

P為預測結果中為正例的樣本占預測為正例的比例:

(21)

式中:TP表示預測為正例且實際為正例的樣本個數;FP表示預測為正例且實際為負例的樣本個數;FN表示預測為負例且實際為正例的樣本個數.F1值為精確率和召回率的調和均值,用來衡量分類的精確度:

(22)

3.3 試驗結果與分析

文中采用單層BiLSTM 模型作為序列編碼層.表2-4展示了本算法與對比算法的試驗結果,并使用粗體表示最優結果,其中+bichar表示采用字+雙字嵌入結構表征原始字嵌入.表3中,指標F1NE、F1NM、F1Overall分別表示命名實體、名義實體和兩者合并后的F1值.

表2 不同模型在MSRA數據集上的性能指標

表3 不同模型在Weibo數據集上的性能指標

表4 不同模型在Resume數據集上的性能指標

從表2-4可見,在所有數據集上,文中算法的性能指標明顯優于Char-based BiLSTM算法、Lattice LSTM算法和LR-CNN算法.由表2-3可見,文中算法在MSRA和Weibo數據集上F1值分別提升0.28、0.69;由表4可見,文中算法在Resume數據集上精確率提升0.07.

對于所有對比算法,在MSRA、Weibo數據集上,本算法取得了最優的性能.在Resume數據集上,本算法性能稍次于最優的SoftLexicon LSTM算法,F1值僅相差0.07.說明文中算法能夠較為有效地利用詞匯信息.

為了驗證本模型各個部分的貢獻,文中在上述3個數據集上進行了消融試驗.試驗結果見圖3.

圖3 模型不同部分對3個數據集F1值影響對比

在Lattice LSTM模型中,詞匯信息只會顯式地融入以詞匯開頭和結尾的字符中,位于詞匯中間的字符并不能顯式地利用到詞匯信息.為了驗證詞集I的作用,文中只保留詞集B、E,并進行試驗.從圖3中可看出,向詞匯中間的字符融入詞匯信息能夠提高模型性能.并且通過分析預測結果發現,向詞匯中間字符融入詞匯信息能夠提升模型處理實體嵌套問題的能力.

在文中的模型中根據字與詞的位置關系,將字相關詞集分為B、I、E共3種,為了研究此設計的貢獻,本節不區分位置關系,將B、I、E詞集合并,并進行試驗.如圖3所示,性能的大幅下降證明了字詞相對位置信息的重要性,也說明文中算法能夠有效地融合詞匯位置信息.

與直接采用字嵌入加權融合不同,文中采用Fusion層融合原始字嵌入與B、I、E位置字嵌入.本節通過采用加權融合的方式進行消融試驗,結果表明Fusion層能夠有效地融合不同類型的字嵌入表征.

為了驗證多頭注意力機制的貢獻,采用Softword融合方式替換注意力模塊.Softword融合公式如下:

(23)

若單個詞集中有多個詞匯,采用將詞嵌入加權融合后與原始字嵌入拼接.并且本節也驗證了不同注意力頭數對性能的影響,結果見圖4,其中橫軸0表示不使用注意力機制.

圖4 不同注意力頭數在3個數據集上的F1值對比

從圖4可見,注意力機制能夠有效地獲得輸入數據與當前的輸出數據之間的有用信息,提高字詞聯合的性能.

4 結 論

文中基于在字嵌入中融入詞匯信息的思路,提出了一種基于多頭注意力機制字詞聯合的中文命名實體識別算法.在3個不同領域的中文數據集上的試驗結果表明,文中算法能夠高效地融合詞匯信息,尤其是詞匯位置信息,提高中文命名實體識別的性能.文中算法在MSRA和Weibo數據集上F1值分別提升0.28、0.69,在Resume數據集上精確率提升0.07.

猜你喜歡
集上注意力實體
讓注意力“飛”回來
Cookie-Cutter集上的Gibbs測度
鏈完備偏序集上廣義向量均衡問題解映射的保序性
前海自貿區:金融服務實體
復扇形指標集上的分布混沌
實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
“揚眼”APP:讓注意力“變現”
兩會進行時:緊扣實體經濟“釘釘子”
振興實體經濟地方如何“釘釘子”
A Beautiful Way Of Looking At Things
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合