趙 山,羅 睿,蔡志平
國防科技大學(xué) 計算機(jī)學(xué)院,長沙410073
隨著新聞、公司檔案、病歷、政府文件、法院聽證會和社交媒體等形式的信息激增,每個人都被信息過載所淹沒。這些信息大部分是非結(jié)構(gòu)化的,即自由文本,因此很難進(jìn)行推理和解釋。在自然語言處理領(lǐng)域,通過分析文本從而實(shí)現(xiàn)有價值信息抽取的過程,被稱為信息抽?。╥nformation extraction,IE)。通過對結(jié)構(gòu)不統(tǒng)一的非結(jié)構(gòu)化文本進(jìn)行信息抽取,能夠得到簡單明確的結(jié)構(gòu)化數(shù)據(jù),便于人們對數(shù)據(jù)進(jìn)行高效檢索及管理。實(shí)體抽取作為信息抽取技術(shù)的主要任務(wù),在近年來受到學(xué)術(shù)界和產(chǎn)業(yè)界的極大關(guān)注。
命名實(shí)體識別(named entity recognition,NER)任務(wù)是信息抽取領(lǐng)域內(nèi)的一個子任務(wù),其任務(wù)目標(biāo)是給定一段非結(jié)構(gòu)文本后,從句子中尋找、識別和分類相關(guān)實(shí)體,例如人名、地名和機(jī)構(gòu)名稱。命名實(shí)體識別及其相關(guān)技術(shù)無論在學(xué)術(shù)研究上還是實(shí)際應(yīng)用中都具有重大且深遠(yuǎn)的意義。近年來隨著大規(guī)模有監(jiān)督數(shù)據(jù)集的相繼提出與深度學(xué)習(xí)技術(shù)的快速發(fā)展,命名實(shí)體識別相關(guān)技術(shù)在各大頂級學(xué)術(shù)會議和期刊上越來越受到關(guān)注。語義知識豐富度的提升給閱讀理解、自動問答和機(jī)器翻譯等任務(wù)帶來了進(jìn)一步的效果的提高。
與英文NER 相比,中文NER 涉及到分詞問題。中文命名實(shí)體識別是一個自然語言處理(natural language processing,NLP)領(lǐng)域的基本任務(wù),在許多下游NLP 任務(wù)中,包括信息檢索、關(guān)系抽取和問答系統(tǒng)中扮演著重要角色。與英語NER 相比,中文命名實(shí)體難度更大。這主要是因?yàn)橹形奈谋鞠嚓P(guān)實(shí)體邊界難以確定和中文語法結(jié)構(gòu)復(fù)雜。在中文命名實(shí)體識別中實(shí)體的邊界也即是單詞的邊界。分詞過程必然導(dǎo)致錯誤傳播問題,這也是目前中文命名實(shí)體識別的一大挑戰(zhàn)。
傳統(tǒng)上,中文NER 的任務(wù)被分解為兩個分離的子任務(wù),即中文分詞和單詞序列標(biāo)注。此方法的主要缺點(diǎn)是錯誤傳播:中文詞語邊界分割錯誤會對實(shí)體識別產(chǎn)生影響。另一方面,基于字符的模型可以避免單詞分割錯誤,從而勝過基于單詞的方法。由于單詞序列信息可以給基于字符的序列學(xué)習(xí)更多邊界信息,為了顯式地利用每個字符所相關(guān)的詞匯信息,過去的一些工作已經(jīng)提出通過詞-字符晶結(jié)構(gòu)將單詞信息整合到字符序列中。這些在中文NER任務(wù)上基于神經(jīng)網(wǎng)絡(luò)的單詞-字符晶格結(jié)構(gòu)的性能要明顯優(yōu)于基于單詞或基于字符的方法。
本章總結(jié)了中文命名實(shí)體識別面臨的若干技術(shù)難點(diǎn)與挑戰(zhàn)。中文命名實(shí)體識別任務(wù)是中文信息抽取領(lǐng)域內(nèi)的一個子任務(wù),其任務(wù)目標(biāo)是在給定一段非結(jié)構(gòu)文本后,從句子中尋找、識別和分類相關(guān)實(shí)體,例如人名、地名和機(jī)構(gòu)名稱。由于單詞序列信息可以給基于字符的序列學(xué)習(xí)更多邊界信息,在中文NER 任務(wù)上基于神經(jīng)網(wǎng)絡(luò)的單詞-字符晶格結(jié)構(gòu)的性能要明顯優(yōu)于基于詞或基于字符的方法。如圖1 所示為基于Lattice LSTM的中文命名實(shí)體識別模型結(jié)構(gòu)圖。該模型由Zhang 等在ACL2018 提出。他們提出了一種LSTM 模型的變種(Lattice LSTM)模型。該模型利用一個句子中所有被單個字符匹配到的詞語,把這些詞語編碼為一個有向無環(huán)圖(directed acyclic graph,DAG)。得益于豐富詞匯信息,Lattice LSTM 模型已在各種數(shù)據(jù)集上取得了不錯的結(jié)果,而且與單一的基于字符的模型或基于詞的模型都有明顯的模型效果的提升。然而,這個有向無環(huán)圖結(jié)構(gòu)有時無法選擇正確的路徑,這可能導(dǎo)致晶格模型退化為部分基于單詞的模型。此外該模型由于是基于BiLSTM,不同字匹配的詞之間不能信息交互。WCLSTM(word-character LSTM)為改進(jìn)這一問題,采取四種詞嵌入策略:最短詞匯信息、最長詞匯信息(如圖2 所示)、average、self-attention。如果沒有對應(yīng)的詞匯則用<PAD>代替,從而可以進(jìn)行batch 并行化。這四種策略的目的都是將每個字符為結(jié)尾的詞匯信息進(jìn)行固定編碼表示。以最長詞匯信息為例:選取當(dāng)前字符匹配到的字符最長的詞作為匹配詞。但是WC-LSTM 仍然存在信息損失問題,不能充分利用詞匯信息。
圖1 原始Lattice LSTMFig.1 Original Lattice LSTM
圖2 最長策略Fig.2 Longest strategy
本章將會介紹命名實(shí)體識別任務(wù)的研究現(xiàn)狀以及一些當(dāng)前研究人員關(guān)注的研究熱點(diǎn)。
基于規(guī)則的NER 系統(tǒng)依賴于人工制定的規(guī)則。可以基于特定領(lǐng)域的地名詞典和句法詞匯模式來設(shè)計規(guī)則。比較知名的系統(tǒng)包括LaSIE-II、NetOwl、Facile和SAR。當(dāng)詞匯庫詳盡無遺時,基于規(guī)則的系統(tǒng)是一種好的選擇。但是在一些特定領(lǐng)域,由于其特定的規(guī)則和不完整的詞匯庫,經(jīng)常會從此類系統(tǒng)中觀察到高精度和低召回率,并且這些系統(tǒng)無法轉(zhuǎn)移到其他領(lǐng)域。
無監(jiān)督學(xué)習(xí)的典型方法是聚類?;诰垲惖腘ER 系統(tǒng)抽取相關(guān)實(shí)體是通過上下文相似度的聚類實(shí)現(xiàn)的。Collins 等人僅僅使用少量的種子標(biāo)注數(shù)據(jù)和7 個特征,包括拼寫(比如大小寫)、實(shí)體上下文、實(shí)體本身等,進(jìn)行實(shí)體識別。Nadeau 等人提出一種地名詞典構(gòu)建和命名實(shí)體歧義解析的無監(jiān)督系統(tǒng)。該系統(tǒng)基于簡單而高效的啟發(fā)式方法,結(jié)合了實(shí)體提取和歧義消除。
通過監(jiān)督學(xué)習(xí),NER 可以被轉(zhuǎn)換為多分類或序列標(biāo)注任務(wù)。給定帶標(biāo)注的數(shù)據(jù)樣本,經(jīng)過精心設(shè)計的特征可以用來表示每個訓(xùn)練示例。然后利用機(jī)器學(xué)習(xí)算法學(xué)習(xí)模型,從未知的數(shù)據(jù)中識別相似的模式。許多機(jī)器學(xué)習(xí)算法已在有監(jiān)督的NER中應(yīng)用,包括隱馬爾可夫模型(hidden Markov model,HMM)、決策樹、最大熵模型、支持向量機(jī)(support vector machine,SVM)和條件隨機(jī)場(conditional random fields,CRF)。
近年來,基于深度學(xué)習(xí)的NER 模型占主導(dǎo)地位并取得最新成果。與基于特征的方法相比,深度學(xué)習(xí)有助于自動發(fā)現(xiàn)隱藏的特征。對于英文NER,目前根據(jù)單詞在句子中的表現(xiàn)形式,可以把基于神經(jīng)網(wǎng)絡(luò)的NER 結(jié)構(gòu)分為詞級和字級。
(1)詞級:在此體系結(jié)構(gòu)中,句子的單詞作為遞歸神經(jīng)網(wǎng)絡(luò)的輸入,每個單詞都由其單詞嵌入表示。Collobert 等人提出了第一個詞級的神經(jīng)網(wǎng)絡(luò)模型,該模型使用了卷積層而不是BiLSTM 層,并且卷積層的輸出被提供給CRF 層進(jìn)行最終預(yù)測。通過引入地名詞典和SENNA嵌入,該模型在English CoNLL 2003數(shù)據(jù)集上獲得了89.59%的1 分?jǐn)?shù)。Yadav 等人提出了一個詞級別LSTM 結(jié)構(gòu),如圖3所示。此外,他們的模型額外增加了一個CRF 層用于提高模型性能。在CoNLL 2003 數(shù)據(jù)集上獲得了84.26%的1 分?jǐn)?shù)。
圖3 晶格LSTM 結(jié)構(gòu)Fig.3 Lattice-LSTM structure
(2)字級別:在此模型中,句子被視為字符序列。該序列通過RNN(recurrent neural network)傳遞,預(yù)測每個字符的標(biāo)簽(圖4 所示)。Ma 等人利用CNN(convolutional neural network)提取單詞的字符級表示。早先大多數(shù)GNN(graph neural networks)的處理對象都是同質(zhì)的圖結(jié)構(gòu),通過模型學(xué)習(xí)這類圖的節(jié)點(diǎn)表示。最近,Peters 等人提出了ELMo(embeddings from language models)單詞表示形式,該表示形式是在具有字符卷積的兩層雙向語言模型的基礎(chǔ)上計算的。
圖4 WC-LSTM 結(jié)構(gòu)Fig.4 WC-LSTM structure
與英語命名實(shí)體相比,中文命名實(shí)體難度大。主要是因?yàn)橹形奈谋鞠嚓P(guān)實(shí)體邊界難以確定和中文語法結(jié)構(gòu)復(fù)雜。傳統(tǒng)上,中文NER 的任務(wù)被分解為兩個分離的子任務(wù),即中文分詞和單詞序列標(biāo)注。此方法的主要缺點(diǎn)是錯誤傳播:中文詞語邊界分割錯誤會對實(shí)體識別產(chǎn)生影響。基于字符的NER 的一個缺點(diǎn)是沒有充分利用明確的單詞和單詞序列信息,哪怕這些信息可能是有用的。由于單詞序列信息可以給基于字符的序列學(xué)習(xí)多邊界信息,在中文NER 任務(wù)上基于神經(jīng)網(wǎng)絡(luò)的詞-字符晶格結(jié)構(gòu)的性能要明顯優(yōu)于基于詞或基于字符的方法。為了解決這個問題,Zhang 和Yang首先提出了一種LSTM 模型的變種(Lattice-LSTM)模型,如圖3 所示。該模型利用一個句子中所有被單個字符匹配到的詞語,把這些詞語編碼為一個有向無環(huán)圖(directed acyclic graph,DAG)。該模型利用一個句子中所有被單個字符匹配到的詞語,把這些詞語編碼為一個有向無環(huán)圖。得益于豐富詞匯信息,Lattice-LSTM 模型已在各種數(shù)據(jù)集上取得了不錯的結(jié)果。然而,這個有向無環(huán)圖結(jié)構(gòu)有時無法選擇正確的路徑,這可能導(dǎo)致晶格模型退化為部分基于單詞的模型。
為了解決上述問題,Liu等人提出了一種新的單詞-字符LSTM(WC-LSTM)來將單詞信息集成到基于字符的模型中,如圖4所示。該模型首先將一個中文句子表示為一系列字符-單詞對,以將單詞信息整合到每個字符中,從而保證模型不會退化為部分基于單詞的模型。同時,Liu 等人還設(shè)計了四種不同的詞編碼策略。這些策略可以將詞信息編碼為固定大小向量,從而使得模型能夠批訓(xùn)練并適應(yīng)各種應(yīng)用場景。
Gui 等人提出了一種基于CNN 的NER 模型(CNN-based Chinese NER with lexicon rethinking,RCNN),該模型對匹配的詞以不同的窗口大小進(jìn)行編碼(如圖5 所示)。該模型主要通過CNN 并行處理整個句子以及所有潛在的單詞,并且還應(yīng)用了一種反思機(jī)制來處理詞典中潛在單詞之間的沖突。這種反思機(jī)制可以利用高級語義來細(xì)化嵌入單詞的權(quán)重,并解決潛在單詞之間的沖突。
圖5 R-CNN 模型示意圖Fig.5 R-CNN schematic model
此外,Gui 等人提出了一個基于詞典的圖形神經(jīng)網(wǎng)絡(luò)(lexicon-based graph neural network for Chinese NER,LGN),把中文NER當(dāng)作一個節(jié)點(diǎn)分類任務(wù)(如圖6 所示)。得益于圖神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了字符和單詞之間更好的連接,實(shí)現(xiàn)了字符和單詞之間更好的交互效果。詞匯知識將相關(guān)字符連接起來,以捕獲本地特征。同時,設(shè)計了一個全局中繼節(jié)點(diǎn)來捕獲遠(yuǎn)程依賴和高級特征。LGN 遵循鄰域聚集方案,其中通過遞歸聚集其輸入邊和全局中繼節(jié)點(diǎn)來計算節(jié)點(diǎn)表示。由于聚合的多次迭代,該模型可以使用全局上下文信息來重復(fù)比較歧義詞,以獲得更好的預(yù)測。與之類似的,Sui 等人針對詞匯匹配問題,提出了一種基于字符的協(xié)同圖形網(wǎng)絡(luò),包括編碼層、圖形層、融合層和解碼層。Ding 等人為了解決地名錄的沖突匹配問題,提出了一個多向圖模型,該模型能夠通過學(xué)習(xí)上下文信息有效地解決沖突匹配問題。同時為了更好地訓(xùn)練模型,Ding 等人還開源了一個新的電子商務(wù)領(lǐng)域中文數(shù)據(jù)集。
圖6 LGN 的聚合Fig.6 LGN aggregation
但是,由于NER 對句子結(jié)構(gòu)非常敏感,這些方法仍然需要使用LSTM 作為骨干編碼器,這種混合編碼會使得模型變得復(fù)雜。
最近,Yan 等人在中文NER 任務(wù)上提出了一種改進(jìn)的編碼器TENER(transformer encoder for named entity recognition)。Yan 等人通過使用方向相對位置編碼,減少參數(shù)的數(shù)量,并提高注意分布,來提高基于Transformer的模型在NER 任務(wù)中的性能。經(jīng)過實(shí)驗(yàn)驗(yàn)證,模型性能有了很大的提高,甚至比基于BiLSTM 的模型性能更好。
Ma等人提出了一個簡單的方法來實(shí)現(xiàn)Lattice-LSTM 的思想,即把每個字符的所有匹配詞合并到一個基于字符的NER 模型中。該模型不僅在字符表示中編碼詞典信息,同時還結(jié)合了新的編碼方案。新的編碼方案能夠盡可能多地保留詞典匹配結(jié)果。因此該模型能夠?qū)崿F(xiàn)快速的推理速度。與Lattice-LSTM 相比,該模型不需要復(fù)雜的模型結(jié)構(gòu),更容易實(shí)現(xiàn),并且可以通過調(diào)整字符表示層快速適應(yīng)任何合適的神經(jīng)NER 模型。
Li 等人利用平面晶格結(jié)構(gòu),以便Transformer可以通過位置編碼來捕獲詞信息,由此提出了FLAT(Chinese NER using flat-lattice transformer)模型。FLAT采用全連接的自我關(guān)注來模擬序列中的長距離依賴關(guān)系。為了保持位置信息,Transformer 為序列中的每個標(biāo)記引入了位置表示。Transformer 的自我關(guān)注機(jī)制使角色能夠直接與任何潛在的詞互動,包括自我匹配的詞。
Zhao 等人提出了一種動態(tài)的跨自晶格注意網(wǎng)絡(luò)方法。該方法的靈感來源于計算機(jī)視覺中的VQA(visual question answering)任務(wù)。如圖7 所示,他們把字符和單詞序列視為兩種不同的模態(tài)。為了對詞-字晶格結(jié)構(gòu)上的信息交互進(jìn)行建模,首先設(shè)計了一個跨晶格注意力模塊,該模塊旨在捕獲兩個輸入特征空間之間細(xì)粒度的相關(guān)性。然后,進(jìn)一步構(gòu)造一個動態(tài)的自晶格注意模塊,該模塊能夠動態(tài)融合單詞特征并且在不管兩個任意字符之間的距離如何而建立它們之間的直接聯(lián)系。給定詞和字向量表示和對齊的晶格結(jié)構(gòu),模型首先利用跨晶格注意力模塊以生成擁有詞信息的字符特征。然后采用動態(tài)的自晶格注意力模塊結(jié)合字符和單詞特征,最終獲得自我注意的字符特征。以這種方式,本文網(wǎng)絡(luò)可以充分捕獲詞字晶格結(jié)構(gòu)上的信息交互,從而為中文NER 預(yù)測提供了豐富的表示形式。
圖7 跨自晶格模型注意網(wǎng)絡(luò)方法Fig.7 Cross-and self-lattice attention network
眾所周知,漢字是基于古代的象形文字發(fā)展而來的,其結(jié)構(gòu)往往反映了更多的文字信息。Wu等人為了利于漢字的結(jié)構(gòu)信息,提出了一種新穎的基于多元數(shù)據(jù)嵌入的Cross-Transformer 模型。如圖8 所示,Wu 等人在FLAT 模型的基礎(chǔ)上引入radicalstream 模塊,該模塊可以融合中文結(jié)構(gòu)信息,例如偏旁部首。該方法利用的中文結(jié)構(gòu)信息對于同音字干擾中文分詞也是一種有效的解決方法。
圖8 多元數(shù)據(jù)嵌入的Cross-Transformer模型Fig.8 Multi-meta data embedding based Cross-Transformer
本章將會介紹部分常用的中文NER 數(shù)據(jù)集以及評價標(biāo)準(zhǔn)。
高質(zhì)量標(biāo)注數(shù)據(jù)集對于模型學(xué)習(xí)和評估都至關(guān)重要。本節(jié)總結(jié)了廣泛使用的數(shù)據(jù)集。表1 中列出了一些使用廣泛的數(shù)據(jù)集,包括其數(shù)據(jù)源和實(shí)體類型(也稱為標(biāo)簽類型)。
表1 常見NER 數(shù)據(jù)集Table 1 Common NER datasets
OntoNotes 數(shù)據(jù)集語料來自很多領(lǐng)域,目前有5個版本1.0~5.0。數(shù)據(jù)集包含8 種實(shí)體類型。Resume數(shù)據(jù)集來自新浪財經(jīng),其中包括多家中國股市上市公司高管簡歷。隨機(jī)選擇了1 027 份簡歷摘要,并用YEDDA 手動標(biāo)注了8 種命名實(shí)體類型。MSRA 和Weibo 數(shù)據(jù)集分別來源于新聞利用和社交媒體(微博)。兩個數(shù)據(jù)集包含的實(shí)體類型數(shù)量分別為3 種和4 種。E-commerce 通過人工標(biāo)注電商領(lǐng)域文本獲得,包括兩種實(shí)體類型。
該任務(wù)通常采用1 值來評價模型的性能:
其中,表示模型輸出正確實(shí)體所占的百分比,表示模型在數(shù)據(jù)集中找到正確實(shí)體的百分比。在該任務(wù)中,普遍認(rèn)為只要當(dāng)實(shí)體的類型和邊界都預(yù)測正確時,該實(shí)體才被認(rèn)為識別正確。
本文旨在回顧基于神經(jīng)網(wǎng)絡(luò)的單詞-字符晶格結(jié)構(gòu)的中文NER 解決方案的最新研究,以幫助新研究人員對該領(lǐng)域的全面了解。本次調(diào)研包括了中文NER 研究的背景、傳統(tǒng)方法的簡介、當(dāng)前的研究現(xiàn)狀和熱點(diǎn)。首先,對比了中文NER 與英文NER,相比之下,中文命名實(shí)體難度更大。這主要是因?yàn)橹形奈谋鞠嚓P(guān)實(shí)體邊界難以確定和中文語法結(jié)構(gòu)復(fù)雜。然后,調(diào)研了在不同神經(jīng)網(wǎng)絡(luò)架構(gòu)下(RNN、CNN、GNN和Transformer)最具代表性的晶格結(jié)構(gòu)的中文NER模型。最后,介紹了中文NER 的數(shù)據(jù)集及評價標(biāo)準(zhǔn)。