面向新闻媒体的命名实体识别技术
?點擊上方藍字,關注我們!
【導讀】
媒體資訊對新聞事件進行報導或評論,這些新聞事件的基本要素可以使用命名實體識別技術(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模型的上限?,而分詞和命名實體的標注比常見的標注任務都要更加繁重,所以至今為止,業界往往使用比較古老的開源數據集進行訓練和測試。模型很難滿足新的的實體標注,比如“拼多多”、“字節跳動”等新詞在大部分基于開源數據集的模型下不能被識別為公司機構。
因此我們構建了如下兩種任務進行標注,在較少的人力成本下,達到更多和更好的標注數據。
使用已有的開源NER對文章粒度的長文本進行預處理,提取各類實體詞,人工只需要結合文章語境,對實體詞進行添加和刪除,而不是逐字逐句地進行分詞、實體詞的判斷。將所標注的實體詞放回文章,生成新的訓練集進入到NER算法模型,這樣可以達到比大部分開源NER更好的效果。
使用類似boosting的數據采樣方案,基于a中標注數據分組產生多個NER模型,對段落粒度的文本進行掃描。如果標注結果不一致,則認為該樣本存在較低的置信度,把該段文本投入到逐字逐句的標注流程,進一步提升數據集的準確率。下圖所示為逐字逐詞標注的結果:
人工實體詞標注與機器預標注效果對比
(右為人工標注)
基于上述人工標注數據,我們對比了多種主流的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都缺貨,為啥只有雷軍被吐槽“,對于“小米”或者“雷軍”這些實體的情緒是消極的,而對于華為來說根據文章內容被判斷為中立或者積極。
“媒體文章的情緒”這個研究話題,尚處于空白。搜狐作為國內領先的互聯網媒體機構,在文章實體的提取與情緒的判斷,進行了很多前沿的探索和基于業務的扎實工作。
作為先行者,搜狐近期攜手清華計算機系共同發起了第三屆內容識別算法大賽,旨在通過真實數據、專家指導,選拔和培養有志于自然語言處理領域的算法研究、應用探索的青年才俊。歡迎各界高手積極參與!
閱讀原文了解更多搜狐技術產品干貨分享
總結
以上是生活随笔為你收集整理的面向新闻媒体的命名实体识别技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实战分享之专业领域词汇无监督挖掘
- 下一篇: 近期我们在读的那些优质论文,你不了解下?