面向新闻媒体的命名实体识别技术
?點(diǎn)擊上方藍(lán)字,關(guān)注我們!
【導(dǎo)讀】
媒體資訊對(duì)新聞事件進(jìn)行報(bào)導(dǎo)或評(píng)論,這些新聞事件的基本要素可以使用命名實(shí)體識(shí)別技術(shù)(NER)進(jìn)行提取,如人物、機(jī)構(gòu)、地點(diǎn)、時(shí)間、專(zhuān)有名詞等。提取文章中的實(shí)體對(duì)于自媒體時(shí)代的新聞智能推薦有著重要意義,如進(jìn)行更精準(zhǔn)的內(nèi)容挖掘、對(duì)內(nèi)容進(jìn)行有效的監(jiān)督管理等。媒體的實(shí)體識(shí)別面臨新實(shí)體快速涌現(xiàn)、多領(lǐng)域多義詞等難點(diǎn),所以對(duì)命名實(shí)體識(shí)別的未登錄詞識(shí)別、上下文語(yǔ)境的深入理解與表示提出了更高的要求。本文以搜狐的技術(shù)實(shí)踐為基礎(chǔ),介紹前沿的命名實(shí)體識(shí)別技術(shù)與效果。
命名實(shí)體識(shí)別(Named?Entity?Recognition)簡(jiǎn)稱(chēng)NER,是自然語(yǔ)言處理領(lǐng)域應(yīng)用廣泛而且核心的技術(shù),是文章內(nèi)容理解的基礎(chǔ),也是問(wèn)答系統(tǒng)、搜索系統(tǒng)的底層技術(shù)之一。尤其在中文語(yǔ)言處理中,NER可以看做分詞的一部分,是未登錄詞識(shí)別中數(shù)量最多、識(shí)別難度最大的一部分,而且由于實(shí)體往往代表重要的意向,對(duì)于分詞效果也影響顯著。
命名實(shí)體包含人、地、機(jī)構(gòu)、專(zhuān)有名詞等,在不同的領(lǐng)域,對(duì)于實(shí)體有著不同的定義。在媒體領(lǐng)域,由于會(huì)涉及娛樂(lè)、財(cái)經(jīng)、科技、體育、醫(yī)療教育等各行各業(yè)的資訊消息,所以對(duì)這些領(lǐng)域的常見(jiàn)專(zhuān)有名詞都需要有一定的識(shí)別精度。此外,媒體領(lǐng)域也需要關(guān)注與熱門(mén)資訊與突發(fā)事件關(guān)聯(lián)的實(shí)體,比如電視劇“都挺好”,地名“響水”等。所以媒體NER比較看重以下兩個(gè)特性:
自動(dòng)識(shí)別未登錄詞從而發(fā)現(xiàn)新詞
兼容領(lǐng)域詞庫(kù)從而實(shí)現(xiàn)多領(lǐng)域自動(dòng)適配
01
命名實(shí)體識(shí)別技術(shù)發(fā)展歷程
01
從實(shí)現(xiàn)原理來(lái)分類(lèi),隨著機(jī)器學(xué)習(xí)的發(fā)展以及深度學(xué)習(xí)技術(shù)的應(yīng)用,NER技術(shù)發(fā)生了如下的技術(shù)演進(jìn)路線:
1. 基于規(guī)則和詞典的方法
規(guī)則和詞典的方法指的是通過(guò)手動(dòng)構(gòu)建識(shí)別實(shí)體詞的規(guī)則,以及收集領(lǐng)域相關(guān)的實(shí)體詞詞典。這種方法適用于確定實(shí)體的集合比如地名、球隊(duì)名稱(chēng),或者固定格式的實(shí)體比如時(shí)間、書(shū)名號(hào)等。這種方法的缺點(diǎn)是擴(kuò)展性很差,不能發(fā)現(xiàn)未登錄詞,是早期或者簡(jiǎn)單的實(shí)體詞識(shí)別系統(tǒng)所采用的方案。
然而這種方法也并不一無(wú)是處。基于規(guī)則和詞典的優(yōu)勢(shì)在于不需要人工標(biāo)注的語(yǔ)料庫(kù),通過(guò)添加詞庫(kù)可快速適應(yīng)新領(lǐng)域。對(duì)于一些面向業(yè)務(wù)的規(guī)則,比如保留書(shū)名號(hào)內(nèi)的完整的電影名,基于規(guī)則的方法會(huì)達(dá)到更高的正確率。所以成熟的NER系統(tǒng)往往會(huì)兼容詞庫(kù)和規(guī)則的算法,從而達(dá)到總體更佳的識(shí)別效果。
2. 傳統(tǒng)機(jī)器學(xué)習(xí)方法
在機(jī)器學(xué)習(xí)中,NER一般被抽象為序列標(biāo)注問(wèn)題,利用人工標(biāo)注的大量語(yǔ)料庫(kù)來(lái)標(biāo)注模型。在機(jī)器學(xué)習(xí)中,進(jìn)行線性序列標(biāo)注的模型包括生成式模型HMM,判別式模型CRF等。HMM(隱馬爾科夫模型)是統(tǒng)計(jì)概率模型,在NER使用的模式是已知觀察序列(句子中的詞),求背后概率最高的標(biāo)注序列(即每個(gè)字的分詞狀態(tài))。
在NER中,HMM假設(shè)每個(gè)標(biāo)注取決于前面的標(biāo)注結(jié)果和當(dāng)前的觀察序列,構(gòu)成如下的概率圖模型:
HMM的轉(zhuǎn)移概率模型[1]
其中?A?表示上一個(gè)狀態(tài)到下一個(gè)狀態(tài)的轉(zhuǎn)移概率矩陣,B表示隱藏狀態(tài)到當(dāng)前的觀測(cè)狀態(tài)的轉(zhuǎn)移概率矩陣,另外使用s表示初始狀態(tài)。一個(gè)HMM模型通過(guò)構(gòu)建(A,B,s)來(lái)表示序列概率。不過(guò)HMM的缺點(diǎn)從原理上也能看出:一個(gè)詞的實(shí)體詞類(lèi)型,只取決于當(dāng)前詞以及前面的狀態(tài),無(wú)法考慮更遠(yuǎn)的詞以及后面的詞的影響,從而導(dǎo)致無(wú)法達(dá)到全局最優(yōu)。因?yàn)镠MM為了對(duì)聯(lián)合概率分布進(jìn)行建模,HMM引入兩條獨(dú)立性假設(shè):
馬爾科夫鏈在任意時(shí)刻的狀態(tài)Xi僅依賴(lài)于前一個(gè)狀態(tài)Xi-1;
任意時(shí)刻的觀測(cè)Oi只依賴(lài)于該時(shí)刻馬爾科夫鏈的狀態(tài)Xi。
在序列標(biāo)注的機(jī)器學(xué)習(xí)算法中,CRF(條件隨機(jī)場(chǎng))是目前最佳的算法方案,CRF無(wú)需引入獨(dú)立性假設(shè),能夠充分利用上下文信息特征,計(jì)算全局最優(yōu)輸出節(jié)點(diǎn)的條件概率,克服了HMM只能局限于部分上下文特征的局限。下圖所示是用于NER的線性條件隨機(jī)場(chǎng),把字、分詞、詞性標(biāo)注等作為特征輸入。
用于NER的線性鏈CRF
CRF具有很強(qiáng)的推理能力,并且能夠使用復(fù)雜、有重疊性和非獨(dú)立的特征進(jìn)行訓(xùn)練和推理,能夠充分地利用上下文信息作為特征,還可以任意地添加其他外部特征,使得模型能夠獲取的信息非常豐富。
3. 深度學(xué)習(xí)算法
隨著深度學(xué)習(xí)的發(fā)展,自然語(yǔ)言的向量表示法橫空出世,使得自然語(yǔ)言能夠使用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行處理,最常見(jiàn)的就是RNN模型的變種,比如GRU和LSTM等,可以提取文本更長(zhǎng)距離的上下文特征信息。
結(jié)合CRF對(duì)序列模型進(jìn)行建模的能力,使用Bi-LSTM提供上下文信息,可以達(dá)到更佳的標(biāo)注效果。目前業(yè)界最常用的深度學(xué)習(xí)分詞和NER算法模型如下圖所示:
Bi-LSTM+CRF實(shí)現(xiàn)NER的網(wǎng)絡(luò)模型[2]
? ? ? ?
在這個(gè)網(wǎng)絡(luò)中,一共有三層。第一層是輸入的word-embedding,一般是預(yù)訓(xùn)練的embedding模型,在網(wǎng)絡(luò)中進(jìn)行fine-tuning,輸出的是每個(gè)詞的向量表示。
第二層由雙向LSTM構(gòu)成,能夠?qū)W習(xí)到上下文特征,輸出的是每個(gè)詞的上下文環(huán)境的向量表示。第三層是CRF層,基礎(chǔ)的CRF層能夠使用CRF模型來(lái)構(gòu)建crf-loss,然后用得到的CRF特征結(jié)合viterbi算法進(jìn)行求解序列,在tensorflow的keras中,有更完整的CRF-layer能夠?qū)崿F(xiàn)對(duì)序列的標(biāo)注訓(xùn)練和直接求解。
4. 注意力模型
注意力(Attention)模型是近年來(lái)深度學(xué)習(xí)領(lǐng)域大放異彩的網(wǎng)絡(luò)模型,起源于視覺(jué)的注意力機(jī)制。隨著2018年google的BERT在各類(lèi)自然語(yǔ)言比賽中大殺四方,Attention模型更優(yōu)秀的表示能力逐漸取代了RNN在自然語(yǔ)言處理中的頂部位置。在自然語(yǔ)言處理中,使用注意力(Attention)的語(yǔ)義表示模型為T(mén)ransformer模型。
下圖為我們使用Transformer模型進(jìn)行命名實(shí)體識(shí)別的流程圖。
Transformer ner模型流程圖
目前我們直接使用Transformer進(jìn)行序列標(biāo)注,在輸出層使用SoftMax函數(shù)直接進(jìn)行預(yù)測(cè)。但是這樣無(wú)法考慮標(biāo)簽之間的轉(zhuǎn)移概率,如在標(biāo)注了TIME_E以后,TIME_M標(biāo)簽出現(xiàn)的概率應(yīng)該更大。直接使用SoftMax函數(shù),是一種貪心的預(yù)測(cè)方式,其不一定為最優(yōu)解。因此考慮在輸出層加入CRF層。不僅考慮了輸入x到y(tǒng)的釋放概率,更考慮了連續(xù)標(biāo)簽之間的傳播概率。最終在預(yù)測(cè)階段,使用維特比動(dòng)態(tài)規(guī)劃算法找到預(yù)測(cè)的最優(yōu)解。
02
媒體命名實(shí)體識(shí)別實(shí)踐
02
結(jié)合搜狐在媒體命名實(shí)體識(shí)別(NER)上的實(shí)踐,下面我們講述從標(biāo)注數(shù)據(jù)準(zhǔn)備到完整的NER系統(tǒng)的搭建。我們?cè)贜ER上采取核心算法是字符級(jí)別的?Bi-LSTM?+?CRF,并兼容實(shí)體詞典+規(guī)則的方法實(shí)現(xiàn)更高的準(zhǔn)召。
1. 序列標(biāo)注模型的構(gòu)建
傳統(tǒng)分詞、詞性標(biāo)注、命名實(shí)體識(shí)別是依次完成的,結(jié)構(gòu)如下圖所示:
在分詞算法的序列標(biāo)注模型中,把每個(gè)字處于詞的不同位置作為序列中的一種狀態(tài),常見(jiàn)的位置狀態(tài)有:B(詞的開(kāi)頭)、E(詞的結(jié)尾)、M(詞的中間)、S(單個(gè)字組成的詞)。如下圖所示為分詞序列標(biāo)注的原理,使用CRF等序列標(biāo)注算法找出概率最高的序列狀態(tài)組合,通過(guò)狀態(tài)可以反推分詞結(jié)果。
在命名實(shí)體識(shí)別任務(wù)中,我們發(fā)現(xiàn)分詞的結(jié)果對(duì)NER結(jié)果影響很大,在人工標(biāo)注資源有限的情況下,我們構(gòu)建了在句子上直接進(jìn)行命名實(shí)體識(shí)別的模型,能夠同時(shí)實(shí)現(xiàn)分詞和命名實(shí)體識(shí)別。在上述分詞模型的基礎(chǔ)上,在NER問(wèn)題中,我們聯(lián)合實(shí)體詞類(lèi)型,構(gòu)建了能同時(shí)用于分詞和實(shí)體識(shí)別的狀態(tài)。如下圖所示,實(shí)體詞的類(lèi)型聯(lián)合字在詞中的位置,構(gòu)成了5*4=20中序列狀態(tài)。
字符級(jí)別的Bi-LSTM + CRF進(jìn)行分詞和NER的模型
例如:對(duì)于人名PER,那么分別有?PER_B、PER_E、PER_M?、PER_S四種狀態(tài)。如果我們定義人名(PER),機(jī)構(gòu)名(ORG),其他詞性(NO),下面句子的狀態(tài)為:
通過(guò)上述狀態(tài)的構(gòu)建,我們就實(shí)現(xiàn)了分詞和實(shí)體詞識(shí)別的雙目標(biāo)序列標(biāo)注模型。?
2. 標(biāo)注數(shù)據(jù)的準(zhǔn)備
人工標(biāo)注數(shù)據(jù)決定了NER模型的上限?,而分詞和命名實(shí)體的標(biāo)注比常見(jiàn)的標(biāo)注任務(wù)都要更加繁重,所以至今為止,業(yè)界往往使用比較古老的開(kāi)源數(shù)據(jù)集進(jìn)行訓(xùn)練和測(cè)試。模型很難滿(mǎn)足新的的實(shí)體標(biāo)注,比如“拼多多”、“字節(jié)跳動(dòng)”等新詞在大部分基于開(kāi)源數(shù)據(jù)集的模型下不能被識(shí)別為公司機(jī)構(gòu)。
因此我們構(gòu)建了如下兩種任務(wù)進(jìn)行標(biāo)注,在較少的人力成本下,達(dá)到更多和更好的標(biāo)注數(shù)據(jù)。
使用已有的開(kāi)源NER對(duì)文章粒度的長(zhǎng)文本進(jìn)行預(yù)處理,提取各類(lèi)實(shí)體詞,人工只需要結(jié)合文章語(yǔ)境,對(duì)實(shí)體詞進(jìn)行添加和刪除,而不是逐字逐句地進(jìn)行分詞、實(shí)體詞的判斷。將所標(biāo)注的實(shí)體詞放回文章,生成新的訓(xùn)練集進(jìn)入到NER算法模型,這樣可以達(dá)到比大部分開(kāi)源NER更好的效果。
使用類(lèi)似boosting的數(shù)據(jù)采樣方案,基于a中標(biāo)注數(shù)據(jù)分組產(chǎn)生多個(gè)NER模型,對(duì)段落粒度的文本進(jìn)行掃描。如果標(biāo)注結(jié)果不一致,則認(rèn)為該樣本存在較低的置信度,把該段文本投入到逐字逐句的標(biāo)注流程,進(jìn)一步提升數(shù)據(jù)集的準(zhǔn)確率。下圖所示為逐字逐詞標(biāo)注的結(jié)果:
人工實(shí)體詞標(biāo)注與機(jī)器預(yù)標(biāo)注效果對(duì)比
(右為人工標(biāo)注)
基于上述人工標(biāo)注數(shù)據(jù),我們對(duì)比了多種主流的NER方案:CRF、Bi-LSTM+CRF、Transformer+CRF,目前為止,我們?cè)贐i-LSTM+CRF取得了最好的效果。
純CRF方案使用了開(kāi)源實(shí)現(xiàn):CRF++[1]。其提供了特征模板,方便靈活配置特征信息。下圖所示,使用9個(gè)特征作為CRF的輸入。
CRF++進(jìn)行命名實(shí)體識(shí)別的模板
如果特征太多會(huì)導(dǎo)致性能變差,甚至訓(xùn)練效果會(huì)收到干擾而降低,一般選取前后兩個(gè)詞以?xún)?nèi)的特征可以達(dá)到最優(yōu)的效果。從這也可以看出傳統(tǒng)的機(jī)器學(xué)習(xí)CRF直接用于NER的缺點(diǎn),雖然理論上可以考慮全局的特征,但是綜合性能和模型表達(dá)能力,其實(shí)只能考慮較近范圍的特征。所以采用上文提到的Bi-LSTM可以增強(qiáng)對(duì)上下文語(yǔ)境的表示,從而提升序列標(biāo)注的效果。
NER系統(tǒng)以Bi-LSTM+CRF算法為核心,結(jié)合了每個(gè)領(lǐng)域的專(zhuān)有名詞和特殊規(guī)則,架構(gòu)如下圖所示:
命名實(shí)體識(shí)別系統(tǒng)架構(gòu)
領(lǐng)域詞庫(kù)和規(guī)則的存在,使得未登錄詞和多義詞得到了更好的識(shí)別,如科技領(lǐng)域的“拼多多”、“滴滴”,醫(yī)學(xué)領(lǐng)域的“基因編輯”、“靶向藥”等領(lǐng)域?qū)S忻~。雖然未登錄詞大部分能被核心NER模型識(shí)別出來(lái),但是有的專(zhuān)有名詞容易被拆分成多個(gè)常用詞的組合。
領(lǐng)域規(guī)則主要包括:書(shū)名號(hào)中的電影名、帶分隔符的外國(guó)人名等特殊格式。在標(biāo)注數(shù)據(jù)里樣本較少的情況下,通過(guò)規(guī)則可以達(dá)到更好的效果。
4. 效果展示
上述NER系統(tǒng),在人工標(biāo)注數(shù)據(jù)集上,實(shí)現(xiàn)了95%的準(zhǔn)確率和94%的召回率,具備很好的語(yǔ)境識(shí)別、未登錄詞發(fā)現(xiàn)能力。樣例如下:
參考文獻(xiàn):
[1]?https://www.slideshare.net/SwitchOn1/hmm-14321979
[2] End-to-end SequenceLabeling via Bi-directional LSTM-CNNs-CRF
結(jié)語(yǔ)
結(jié)語(yǔ)
結(jié)語(yǔ)
本文介紹了媒體領(lǐng)域命名實(shí)體識(shí)別的難點(diǎn)、業(yè)界常用的算法以及搜狐智能媒體研發(fā)中心在命名實(shí)體識(shí)別上的實(shí)踐。
在新聞智能推薦的時(shí)代,互聯(lián)網(wǎng)媒體不僅關(guān)注新聞中的主要實(shí)體,對(duì)這些實(shí)體的細(xì)粒度情感也很關(guān)注,文章主體情緒的判斷,有助于互聯(lián)網(wǎng)媒體把控網(wǎng)站調(diào)性、豐富內(nèi)容理解的維度、提升推薦效果,甚至可以挖掘更多的商業(yè)價(jià)值。比如“小米9與華為mate20?pro都缺貨,為啥只有雷軍被吐槽“,對(duì)于“小米”或者“雷軍”這些實(shí)體的情緒是消極的,而對(duì)于華為來(lái)說(shuō)根據(jù)文章內(nèi)容被判斷為中立或者積極。
“媒體文章的情緒”這個(gè)研究話(huà)題,尚處于空白。搜狐作為國(guó)內(nèi)領(lǐng)先的互聯(lián)網(wǎng)媒體機(jī)構(gòu),在文章實(shí)體的提取與情緒的判斷,進(jìn)行了很多前沿的探索和基于業(yè)務(wù)的扎實(shí)工作。
作為先行者,搜狐近期攜手清華計(jì)算機(jī)系共同發(fā)起了第三屆內(nèi)容識(shí)別算法大賽,旨在通過(guò)真實(shí)數(shù)據(jù)、專(zhuān)家指導(dǎo),選拔和培養(yǎng)有志于自然語(yǔ)言處理領(lǐng)域的算法研究、應(yīng)用探索的青年才俊。歡迎各界高手積極參與!
閱讀原文了解更多搜狐技術(shù)產(chǎn)品干貨分享
總結(jié)
以上是生活随笔為你收集整理的面向新闻媒体的命名实体识别技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 实战分享之专业领域词汇无监督挖掘
- 下一篇: PFLD:简单高效的实用人脸关键点检测算