歡迎光臨
每天分享高質量文章

面向新聞媒體的命名物體識別技術

☝點選上方藍字,關註我們!

【導讀】

媒體資訊對新聞事件進行報導或評論,這些新聞事件的基本要素可以使用命名物體識別技術(NER)進行提取,如人物、機構、地點、時間、專有名詞等。提取文章中的物體對於自媒體時代的新聞智慧推薦有著重要意義,如進行更精準的內容挖掘、對內容進行有效的監督管理等。媒體的物體識別面臨新物體快速湧現、多領域多義詞等難點,所以對命名物體識別的未登入詞識別、背景關係語境的深入理解與表示提出了更高的要求。本文以搜狐的技術實踐為基礎,介紹前沿的命名物體識別技術與效果。

 

命名物體識別(Named Entity Recognition)簡稱NER,是自然語言處理領域應用廣泛而且核心的技術,是文章內容理解的基礎,也是問答系統、搜尋系統的底層技術之一。尤其在中文語言處理中,NER可以看做分詞的一部分,是未登入詞識別中數量最多、識別難度最大的一部分,而且由於物體往往代表重要的意向,對於分詞效果也影響顯著。

 

命名物體包含人、地、機構、專有名詞等,在不同的領域,對於物體有著不同的定義。在媒體領域,由於會涉及娛樂、財經、科技、體育、醫療教育等各行各業的資訊訊息,所以對這些領域的常見專有名詞都需要有一定的識別精度。此外,媒體領域也需要關註與熱門資訊與突發事件關聯的物體,比如電視劇“都挺好”,地名“響水”等。所以媒體NER比較看重以下兩個特性:

 

  • 自動識別未登入詞從而發現新詞

  • 相容領域詞庫從而實現多領域自動適配

01

命名物體識別技術發展歷程

01

 

從實現原理來分類,隨著機器學習的發展以及深度學習技術的應用,NER技術發生瞭如下的技術演進路線:

 

 

1. 基於規則和詞典的方法

 

規則和詞典的方法指的是透過手動構建識別物體詞的規則,以及收集領域相關的物體詞詞典。這種方法適用於確定物體的集合比如地名、球隊名稱,或者固定格式的物體比如時間、書名號等。這種方法的缺點是擴充套件性很差,不能發現未登入詞,是早期或者簡單的物體詞識別系統所採用的方案。

 

然而這種方法也並不一無是處。基於規則和詞典的優勢在於不需要人工標註的語料庫,透過新增詞庫可快速適應新領域。對於一些面向業務的規則,比如保留書名號內的完整的電影名,基於規則的方法會達到更高的正確率。所以成熟的NER系統往往會相容詞庫和規則的演演算法,從而達到總體更佳的識別效果。

2. 傳統機器學習方法

 

在機器學習中,NER一般被抽象為序列標註問題,利用人工標註的大量語料庫來標註模型。在機器學習中,進行線性序列標註的模型包括生成式模型HMM,判別式模型CRF等。HMM(隱馬爾科夫模型)是統計機率模型,在NER使用的樣式是已知觀察序列(句子中的詞),求背後機率最高的標註序列(即每個字的分詞狀態)。

在NER中,HMM假設每個標註取決於前面的標註結果和當前的觀察序列,構成如下的機率圖模型:

 

HMM的轉移機率模型[1]

 

其中 A 表示上一個狀態到下一個狀態的轉移機率矩陣,B表示隱藏狀態到當前的觀測狀態的轉移機率矩陣,另外使用s表示初始狀態。一個HMM模型透過構建(A,B,s)來表示序列機率。不過HMM的缺點從原理上也能看出:一個詞的物體詞型別,只取決於當前詞以及前面的狀態,無法考慮更遠的詞以及後面的詞的影響,從而導致無法達到全域性最優。因為HMM為了對聯合機率分佈進行建模,HMM引入兩條獨立性假設:

 

  • 馬爾科夫鏈在任意時刻的狀態Xi僅依賴於前一個狀態Xi-1;

  • 任意時刻的觀測Oi只依賴於該時刻馬爾科夫鏈的狀態Xi。

在序列標註的機器學習演演算法中,CRF(條件隨機場)是目前最佳的演演算法方案,CRF無需引入獨立性假設,能夠充分利用背景關係資訊特徵,計算全域性最優輸出節點的條件機率,剋服了HMM只能侷限於部分背景關係特徵的侷限。下圖所示是用於NER的線性條件隨機場,把字、分詞、詞性標註等作為特徵輸入。

 

用於NER的線性鏈CRF

 

CRF具有很強的推理能力,並且能夠使用複雜、有重疊性和非獨立的特徵進行訓練和推理,能夠充分地利用背景關係資訊作為特徵,還可以任意地新增其他外部特徵,使得模型能夠獲取的資訊非常豐富。

 

3. 深度學習演演算法

隨著深度學習的發展,自然語言的向量表示法橫空出世,使得自然語言能夠使用深度神經網路進行處理,最常見的就是RNN模型的變種,比如GRU和LSTM等,可以提取文字更長距離的背景關係特徵資訊。

 

結合CRF對序列模型進行建模的能力,使用Bi-LSTM提供背景關係資訊,可以達到更佳的標註效果。目前業界最常用的深度學習分詞和NER演演算法模型如下圖所示:

 

Bi-LSTM+CRF實現NER的網路模型[2]

       

在這個網路中,一共有三層。第一層是輸入的word-embedding,一般是預訓練的embedding模型,在網路中進行fine-tuning,輸出的是每個詞的向量表示。

 

第二層由雙向LSTM構成,能夠學習到背景關係特徵,輸出的是每個詞的背景關係環境的向量表示。第三層是CRF層,基礎的CRF層能夠使用CRF模型來構建crf-loss,然後用得到的CRF特徵結合viterbi演演算法進行求解序列,在tensorflow的keras中,有更完整的CRF-layer能夠實現對序列的標註訓練和直接求解。

 

4. 註意力模型

 

註意力(Attention)模型是近年來深度學習領域大放異彩的網路模型,起源於視覺的註意力機制。隨著2018年google的BERT在各類自然語言比賽中大殺四方,Attention模型更優秀的表示能力逐漸取代了RNN在自然語言處理中的頂部位置。在自然語言處理中,使用註意力(Attention)的語意表示模型為Transformer模型。

 

下圖為我們使用Transformer模型進行命名物體識別的流程圖。

 

Transformer ner模型流程圖

 

目前我們直接使用Transformer進行序列標註,在輸出層使用SoftMax函式直接進行預測。但是這樣無法考慮標簽之間的轉移機率,如在標註了TIME_E以後,TIME_M標簽出現的機率應該更大。直接使用SoftMax函式,是一種貪心的預測方式,其不一定為最優解。因此考慮在輸出層加入CRF層。不僅考慮了輸入x到y的釋放機率,更考慮了連續標簽之間的傳播機率。最終在預測階段,使用維特比動態規劃演演算法找到預測的最優解。

02

媒體命名物體識別實踐

02

 

結合搜狐在媒體命名物體識別(NER)上的實踐,下麵我們講述從標註資料準備到完整的NER系統的搭建。我們在NER上採取核心演演算法是字元級別的 Bi-LSTM + CRF,並相容物體詞典+規則的方法實現更高的準召。

 

1. 序列標註模型的構建

 

傳統分詞、詞性標註、命名物體識別是依次完成的,結構如下圖所示:

 

在分詞演演算法的序列標註模型中,把每個字處於詞的不同位置作為序列中的一種狀態,常見的位置狀態有:B(詞的開頭)、E(詞的結尾)、M(詞的中間)、S(單個字組成的詞)。如下圖所示為分詞序列標註的原理,使用CRF等序列標註演演算法找出機率最高的序列狀態組合,透過狀態可以反推分詞結果。

 

 

在命名物體識別任務中,我們發現分詞的結果對NER結果影響很大,在人工標註資源有限的情況下,我們構建了在句子上直接進行命名物體識別的模型,能夠同時實現分詞和命名物體識別。在上述分詞模型的基礎上,在NER問題中,我們聯合物體詞型別,構建了能同時用於分詞和物體識別的狀態。如下圖所示,物體詞的型別聯合字在詞中的位置,構成了5*4=20中序列狀態。

 

字元級別的Bi-LSTM + CRF進行分詞和NER的模型

例如:對於人名PER,那麼分別有 PER_B、PER_E、PER_M 、PER_S四種狀態。如果我們定義人名(PER),機構名(ORG),其他詞性(NO),下麵句子的狀態為:

 

 

透過上述狀態的構建,我們就實現了分詞和物體詞識別的雙標的序列標註模型。 

2. 標註資料的準備

 

人工標註資料決定了NER模型的上限 ,而分詞和命名物體的標註比常見的標註任務都要更加繁重,所以至今為止,業界往往使用比較古老的開源資料集進行訓練和測試。模型很難滿足新的的物體標註,比如“拼多多”、“位元組跳動”等新詞在大部分基於開源資料集的模型下不能被識別為公司機構。

 

因此我們構建瞭如下兩種任務進行標註,在較少的人力成本下,達到更多和更好的標註資料。

 

  1. 使用已有的開源NER對文章粒度的長文字進行預處理,提取各類物體詞,人工只需要結合文章語境,對物體詞進行新增和刪除,而不是逐字逐句地進行分詞、物體詞的判斷。將所標註的物體詞放迴文章,生成新的訓練集進入到NER演演算法模型,這樣可以達到比大部分開源NER更好的效果。

  2. 使用類似boosting的資料取樣方案,基於a中標註資料分組產生多個NER模型,對段落粒度的文字進行掃描。如果標註結果不一致,則認為該樣本存在較低的置信度,把該段文字投入到逐字逐句的標註流程,進一步提升資料集的準確率。下圖所示為逐字逐詞標註的結果:

人工物體詞標註與機器預標註效果對比

(右為人工標註)

3. 命名物體識別系統

基於上述人工標註資料,我們對比了多種主流的NER方案:CRF、Bi-LSTM+CRF、Transformer+CRF,目前為止,我們在Bi-LSTM+CRF取得了最好的效果。

 

純CRF方案使用了開源實現:CRF++[1]。其提供了特徵模板,方便靈活配置特徵資訊。下圖所示,使用9個特徵作為CRF的輸入。

 

CRF++進行命名物體識別的模板

如果特徵太多會導致效能變差,甚至訓練效果會收到幹擾而降低,一般選取前後兩個詞以內的特徵可以達到最優的效果。從這也可以看出傳統的機器學習CRF直接用於NER的缺點,雖然理論上可以考慮全域性的特徵,但是綜合效能和模型表達能力,其實只能考慮較近範圍的特徵。所以採用上文提到的Bi-LSTM可以增強對背景關係語境的表示,從而提升序列標註的效果。

 

NER系統以Bi-LSTM+CRF演演算法為核心,結合了每個領域的專有名詞和特殊規則,架構如下圖所示:

 

命名物體識別系統架構

 

領域詞庫和規則的存在,使得未登入詞和多義詞得到了更好的識別,如科技領域的“拼多多”、“滴滴”,醫學領域的“基因編輯”、“靶向藥”等領域專有名詞。雖然未登入詞大部分能被核心NER模型識別出來,但是有的專有名詞容易被拆分成多個常用詞的組合。

 

領域規則主要包括:書名號中的電影名、帶分隔符的外國人名等特殊格式。在標註資料裡樣本較少的情況下,透過規則可以達到更好的效果。

 

4. 效果展示

 

上述NER系統,在人工標註資料集上,實現了95%的準確率和94%的召回率,具備很好的語境識別、未登入詞發現能力。樣例如下:

 

 

參考文獻:

[1] https://www.slideshare.net/SwitchOn1/hmm-14321979

[2] End-to-end SequenceLabeling via Bi-directional LSTM-CNNs-CRF

結語

結語

結語

 

本文介紹了媒體領域命名物體識別的難點、業界常用的演演算法以及搜狐智慧媒體研發中心在命名物體識別上的實踐。

 

在新聞智慧推薦的時代,網際網路媒體不僅關註新聞中的主要物體,對這些物體的細粒度情感也很關註,文章主體情緒的判斷,有助於網際網路媒體把控網站調性、豐富內容理解的維度、提升推薦效果,甚至可以挖掘更多的商業價值。比如“小米9與華為mate20 pro都缺貨,為啥只有雷軍被吐槽“,對於“小米”或者“雷軍”這些物體的情緒是消極的,而對於華為來說根據文章內容被判斷為中立或者積極。

 

“媒體文章的情緒”這個研究話題,尚處於空白。搜狐作為國內領先的網際網路媒體機構,在文章物體的提取與情緒的判斷,進行了很多前沿的探索和基於業務的扎實工作。

 

作為先行者,搜狐近期攜手清華計算機系共同發起了第三屆內容識別演演算法大賽,旨在透過真實資料、專家指導,選拔和培養有志於自然語言處理領域的演演算法研究、應用探索的青年才俊。歡迎各界高手積極參與!

 

已同步到看一看
贊(0)

分享創造快樂