王 俊,王修來,欒偉先,葉 帆
(1.南京信息工程大學(xué) 管理工程學(xué)院,江蘇 南京 210044;2.南京傳媒學(xué)院 傳媒技術(shù)學(xué)院,江蘇 南京 211172;3.中國人民解放軍31102部隊(duì),江蘇 南京 210002)
命名實(shí)體識別(named entity recognition,NER)是自然語言處理技術(shù)(natural language processing,NLP)中的一個重要領(lǐng)域,也是信息抽取、句法分析、文本分類、機(jī)器翻譯和情感分析的關(guān)鍵[1],在自然語言處理中占有重要和基礎(chǔ)的地位。命名實(shí)體識別的核心內(nèi)容是找出一套高效可用的模型或算法以實(shí)現(xiàn)對文本中人名、地名、時間等實(shí)體要素的準(zhǔn)確識別與抽取[2]。對于英文來說,由于英語中的命名實(shí)體具有比較明顯的形式標(biāo)志(即實(shí)體中的每個詞的第一個字母要大寫),所以實(shí)體邊界識別相對容易,此時任務(wù)的重點(diǎn)只需要確定實(shí)體的類別。然而和英語相比,中文命名實(shí)體識別任務(wù)更加復(fù)雜,而且相對于實(shí)體類別標(biāo)注子任務(wù),實(shí)體邊界的識別與分類更加困難。
命名實(shí)體識別的方法主要有基于詞典的方法、基于規(guī)則和統(tǒng)計(jì)的方法以及基于深度學(xué)習(xí)的方法?;谠~典的方法主要依賴于大量人工設(shè)定的字典數(shù)據(jù),識別效果在特定的語料上具有較好的表現(xiàn),但是其與識別的領(lǐng)域或文本緊密相關(guān),當(dāng)字典無法與識別主體匹配時,其識別效率低下,并且制定好的字典往往無法進(jìn)行跨領(lǐng)域遷移[3]?;谝?guī)則和統(tǒng)計(jì)的方法從原理上來說就是一種序列化特征標(biāo)注方法,對每個詞使用若干類候選標(biāo)簽進(jìn)行定義,并記錄每個詞的位置信息,采用HMM、條件隨機(jī)場(conditional random field,CRF)或者SVM等分類模型算法進(jìn)行詞的分類與標(biāo)注,從而確定實(shí)體類型[4]。近年來,基于機(jī)器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的命名實(shí)體識別方法陸續(xù)被提出,通過使用不同類型神經(jīng)網(wǎng)絡(luò)進(jìn)行文本結(jié)構(gòu)序列的特征提取,并結(jié)合CRF進(jìn)行最優(yōu)序列求解。該方法相較于以前的方法在識別性能和效果上有顯著提升[5]。最近,在NLP領(lǐng)域中使用預(yù)訓(xùn)練語言模型方法取得了突破性進(jìn)展,其中代表性的模型包括ELMo、OpenAI GPT和BERT[6-8]。在這三類代表性的預(yù)訓(xùn)練模型中,BERT在多個文本識別指標(biāo)上均達(dá)到目前最先進(jìn)水平。
因此,文中基于BERT模型,結(jié)合BiLSTM對上下文關(guān)系的記憶能力和CRF對標(biāo)注規(guī)則的學(xué)習(xí)能力,在對文本語義信息完整保留的基礎(chǔ)上,提升模型的上下文特征提取能力,有效解決中文命名實(shí)體的邊界劃分問題,提升模型對實(shí)體的識別準(zhǔn)確率。此外,對科研人才領(lǐng)域命名實(shí)體進(jìn)行了細(xì)化分類,在包含6 134條科研咨詢語料庫中進(jìn)行了訓(xùn)練和參數(shù)微調(diào),并在實(shí)際爬取的科研數(shù)據(jù)上取得了較好的識別效果。
如今,學(xué)術(shù)類數(shù)據(jù)在互聯(lián)網(wǎng)上呈現(xiàn)出飛速的增長。截至2020年,全球網(wǎng)絡(luò)上已發(fā)表的科研論文總數(shù)已接近4億余篇,參與科學(xué)研究的學(xué)者數(shù)量也已達(dá)到了數(shù)千萬人,如何在海量的數(shù)據(jù)中客觀準(zhǔn)確地刻畫出科研人才,并挖掘出科研人才的研究需求變得十分迫切??蒲腥瞬欧治鲅芯坎粌H有助于對科研人才的個人信息、科研興趣、水平評估等方面的情況進(jìn)行掌握,同時也有助于科研人才間開展高效的科研轉(zhuǎn)換與對接、學(xué)術(shù)交流和推薦。隨著人工智能和大數(shù)據(jù)時代的到來,科研人才互相從以往的數(shù)據(jù)信息查詢方法和統(tǒng)計(jì)學(xué)方法逐步轉(zhuǎn)向了自然語言處理和機(jī)器學(xué)習(xí)等方向。而從科研人才數(shù)據(jù)分析角度來看,科研人才領(lǐng)域命名實(shí)體識別是解決準(zhǔn)確識別與科研人才直接相關(guān)信息的關(guān)鍵。
近些年來,用戶畫像技術(shù)的研究發(fā)展十分迅速。但是,專門針對科研人才群體的命名實(shí)體識別與領(lǐng)域畫像構(gòu)建仍然處在摸索與研究階段,通過對當(dāng)前科研人才相關(guān)文獻(xiàn)的研究,發(fā)現(xiàn)主要存在以下不足:
(1)獲取到的數(shù)據(jù)屬性較為單一,對科研人才的數(shù)據(jù)獲取大多從網(wǎng)絡(luò)上進(jìn)行爬取,網(wǎng)絡(luò)上的數(shù)據(jù)內(nèi)容往往都以偏概全,缺乏全面的數(shù)據(jù)屬性。因此需要構(gòu)建高效、可行的數(shù)據(jù)檢索與挖掘方法來進(jìn)行多維度的數(shù)據(jù)獲取,這樣才能為科研人才的準(zhǔn)確刻畫提供數(shù)據(jù)保障。
(2)在科研人才的實(shí)體識別過程中,以往的方法是采用大量的字典或元數(shù)據(jù)進(jìn)行處理,沒有對數(shù)據(jù)信息進(jìn)行有效的智能化識別與利用,因?yàn)槊麑?shí)體通常淹沒在論文的文本中或大段的文字內(nèi),在缺乏自然語言處理技術(shù)的前提下,很難對內(nèi)容中的命名實(shí)體進(jìn)行提取,從而影響了對文本挖掘的效率。
(3)在對科研人才進(jìn)行分析的主要思路還局限于統(tǒng)計(jì)分析,缺乏深層次的智能化算法應(yīng)用。同時,在分析研究過程中利用分類與聚類等機(jī)器學(xué)習(xí)的研究較少,研判出的科研人才刻畫不夠準(zhǔn)確也不夠全面,無法滿足相關(guān)科研機(jī)構(gòu)對科研人才挖掘、利用和合作的迫切需求。
圖1 科研人才領(lǐng)域?qū)嶓w識別范圍
文中在科研人才領(lǐng)域命名實(shí)體識別主要針對科研人才的基本屬性和科研學(xué)術(shù)屬性進(jìn)行識別。其中基本屬性信息包括:個人基本信息、學(xué)習(xí)經(jīng)歷、職務(wù)職稱、科研成果、工作履歷等科研人才的一些基本信息,這一部分信息代表了科研人才的科研與學(xué)術(shù)成長經(jīng)歷、攻關(guān)科研能力和研究興趣方向,是為人才進(jìn)行精準(zhǔn)服務(wù)的前提基礎(chǔ)。科研學(xué)術(shù)屬性主要是科研人才在網(wǎng)絡(luò)上公開發(fā)表的科技文獻(xiàn)信息,可以通過文獻(xiàn)計(jì)量方法準(zhǔn)確識別出科研人才的研究興趣與科研水平,該部分的識別主要涵蓋了對各類期刊、學(xué)術(shù)會議等的實(shí)體識別??蒲腥瞬诺幕緦傩院涂蒲袑W(xué)術(shù)屬性的實(shí)體識別范圍如圖1 所示。
命名實(shí)體(named entity,NE)是于1995年11月被作為一個明確的概念和研究對象提出的,通用領(lǐng)域的命名實(shí)體識別主要針對人名、機(jī)構(gòu)名和地名三大類進(jìn)行識別。隨著各個領(lǐng)域的數(shù)據(jù)挖掘和分類細(xì)化,結(jié)合科研人才領(lǐng)域命名實(shí)體識別的特點(diǎn),文中面向科研人才的基礎(chǔ)屬性和科研屬性,對該領(lǐng)域命名實(shí)體進(jìn)行了類別和標(biāo)注符號的定義,形成了7大類共計(jì)19小類的命名實(shí)體[9-10]。具體如表1所示。
表1 命名實(shí)體類別和標(biāo)注符號
由于目前通用NER主要是識別人名、地名和機(jī)構(gòu)名,在表1中對科研人才領(lǐng)域的命名實(shí)體進(jìn)行了擴(kuò)充和細(xì)化,擴(kuò)充之后的命名實(shí)體可以較好地滿足面向科研人才的數(shù)據(jù)挖掘,主要擴(kuò)充的命名實(shí)體包括專業(yè)學(xué)術(shù)會議、科研期刊和科研項(xiàng)目。
文中設(shè)計(jì)的模型主要有三個部分,分別是預(yù)訓(xùn)練的BERT模型、BiLSTM層以及CRF層,具體如圖2所示。本模型首先通過BERT將句子中的單字進(jìn)行向量化表示,而后將包含字向量序列輸入至BiLSTM中進(jìn)一步感知上下文的語境,最后通過CRF層將最大概率的序列表達(dá)進(jìn)行輸出。本模型相較于其他深度學(xué)習(xí)的命名實(shí)體識別模型最大的差異在于使用了Google在2018年提出的BERT預(yù)訓(xùn)練模型,該模型在大量語料庫上進(jìn)行了訓(xùn)練,在實(shí)際使用過程中僅需要進(jìn)行參數(shù)的微調(diào)。因此可以將關(guān)注點(diǎn)集中在BiLSTM和CRF的參數(shù)訓(xùn)練上,大大減少對單字的語料訓(xùn)練時間,提高了識別效率。
BERT是“Bidirectional Encoder Representation from Transformers”的簡稱[8],是一種基于微調(diào)的多層雙向 Transformer 編碼器,其中的 Transformer 與原始的 Transformer 是相同的,并且實(shí)現(xiàn)了兩個版本的 BERT 模型,即BERT Base和BERT Large,BERT 模型兩個版本的本質(zhì)是一樣的;區(qū)別是參數(shù)的設(shè)置。BERT Base作為基線模型,在此基礎(chǔ)上優(yōu)化模型,進(jìn)而出現(xiàn)了BERT Large。BERT相較于Word2vec、ELMO和GPT等模型的主要不同之處在于其利用雙向語言模型進(jìn)行預(yù)訓(xùn)練,并通過fine-tuning模式進(jìn)行參數(shù)微調(diào)從而解決具體的下游任務(wù)。BERT 模型對于給定句子中的字詞,其輸入表示包含了三部分向量求和組成,具體如圖3所示。
圖2 BERT-BiLSTM-CRF模型架構(gòu)
圖3 BERT模型向量構(gòu)成
其中:詞向量中的第一個單詞是CLS標(biāo)志,用于之后的分類任務(wù),對于非分類任務(wù)可以忽略;句向量用于區(qū)分不同句子,便于預(yù)訓(xùn)練模型做句子級別的分類任務(wù);位置向量是通過模型學(xué)習(xí)得到的序列位置。
BERT模型使用Masked LM 和 Next Sentence Prediction這兩個新的無監(jiān)督預(yù)測任務(wù)對 BERT進(jìn)行預(yù)訓(xùn)練[11]。Masked LM (MLM)通過隨機(jī)遮擋部分字符(默認(rèn)為全文中的15%字符),在這15%遮擋字符中80%被遮擋詞用符號masked token代替,10%被遮擋詞用隨機(jī)詞替換,10%被遮擋詞不變。Next Sentence Prediction用于對句子級別任務(wù)的學(xué)習(xí),通過隨機(jī)將數(shù)據(jù)劃分為同等大小的兩部分:一部分?jǐn)?shù)據(jù)中的兩個語句對是上下文連續(xù)的,另一部分?jǐn)?shù)據(jù)中的兩個語句對是上下文不連續(xù)的,然后讓模型來識別這些語句對中,哪些語句對是連續(xù)的,哪些語句對不連續(xù)。BERT模型通過進(jìn)一步增加詞向量模型泛化能力,充分描述了字符級、詞級、句子級甚至句間關(guān)系特征[12]。BERT 預(yù)訓(xùn)練語言模型使用Transformer 特征抽取器,Transformer是目前自然語言處理領(lǐng)域流行的網(wǎng)絡(luò)結(jié)構(gòu),每個單元僅由自注意力機(jī)制(Self-attention)和前饋神經(jīng)網(wǎng)絡(luò)(Feed Forward network)構(gòu)成,單元可以連續(xù)堆疊。其結(jié)構(gòu)如圖4所示。
圖4 Transform層次結(jié)構(gòu)
在預(yù)訓(xùn)練BERT模型中,其損失函數(shù)主要由兩部分組成,第一部分是來自 MaskLM 的單詞級別分類任務(wù),另一部分是句子級別的分類任務(wù)。通過將這兩個任務(wù)進(jìn)行聯(lián)合學(xué)習(xí),即可將 BERT模型學(xué)習(xí)到的文字表征既包含有分詞級別的信息,同時也包含有句子級別的高層次語義信息。具體的損失函數(shù)形式如下:
L(θ,θ1,θ2)=L1(θ,θ1)+L2(θ,θ2)
(1)
其中,θ是BERT模型中編碼部分的參數(shù),θ1是 MaskLM訓(xùn)練任務(wù)中在編碼上所連接的輸出層中參數(shù),θ2是句子級別預(yù)測中在編碼連接上的分類器參數(shù)。因此,在上述的損失函數(shù)表述中,如果被遮蓋的字詞集合為S,該問題的損失函數(shù)為:
(2)
在句子級別的預(yù)測任務(wù)中,該問題的損失函數(shù)為:
(3)
因此,將這兩個任務(wù)進(jìn)行聯(lián)合后的損失函數(shù)形式是:
通過損失函數(shù)的迭代和機(jī)器學(xué)習(xí)訓(xùn)練進(jìn)一步提升了BERT模型的智能識別準(zhǔn)確度,預(yù)訓(xùn)練后的模型基本達(dá)到通用領(lǐng)域識別水平[13-14]。
LSTM是循環(huán)神經(jīng)網(wǎng)絡(luò)中的一種,其全稱為Long Short-Term Memory,即長短期記憶網(wǎng)絡(luò)。LSTM適合于處理和預(yù)測時間序列中間隔和延遲較長的問題,近年來在語音處理、行為識別、視頻分析等領(lǐng)域得到了廣泛應(yīng)用。BiLSTM在LSTM基礎(chǔ)之上將前向LSTM與后向LSTM進(jìn)行了組合,組合后的模型在自然語言處理任務(wù)中都常被用來建模上下文信息。LSTM是為了解決循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中存在的“梯度消失”問題而被提出來的。相比于傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),LSTM主要增加了三個控制門:輸入門、輸出門和遺忘門。其中,輸入門主要是學(xué)習(xí)何時讓激活傳入存儲單元,而輸出門主要是學(xué)習(xí)何時讓激活傳出存儲單元,遺忘門主要是學(xué)習(xí)何時讓上一個時刻的存儲單元傳入下一個時刻的存儲單元。假如去掉三個控制門(亦或者將三個控制門的值設(shè)定為常數(shù)1),那么LSTM即可退化為簡單的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)[15-17]。LSTM的隱藏層結(jié)構(gòu)如圖5所示。
圖5 LSTM的隱藏層結(jié)構(gòu)
LSTM隱藏層的結(jié)構(gòu)中主要包括下面幾個要素:
(1)t時刻的輸入詞xt;
(2)細(xì)胞的狀態(tài)ct;
(4)隱層的狀態(tài)ht;
(5)遺忘門ft;
(6)記憶門it;
(7)輸出門ot。
LSTM中的無用信息將被丟棄,并且在每個時間點(diǎn)都將會輸出隱層的狀態(tài)ht,其中遺忘、記憶與輸出由當(dāng)前輸入xt與通過上個時間點(diǎn)的隱層狀態(tài)ht-1計(jì)算出的遺忘門ft,記憶門it和輸出門ot來控制。具體來說,LSTM網(wǎng)絡(luò)結(jié)構(gòu)可以形式化表示為:
ft=σ(Wf·[ht-1,xt]+bf)
(5)
it=σ(Wi·[ht-1,xt]+bi)
(6)
Gt=tanh(Wc·[ht-1,xt]+bc)
(7)
Ct=ft·Ct-1+it·Gt
(8)
ot=σ(Wo·[ht-1,xt]+bo)
(9)
ht=ot·tanh(Ct)
(10)
條件隨機(jī)場(CRF)是一種判別式概率模型,是馬爾可夫隨機(jī)場中的一種。CRF可以對有重疊性、復(fù)雜且非獨(dú)立的特征進(jìn)行推理和訓(xùn)練學(xué)習(xí),既能夠?qū)⑸舷挛牡男畔⒆鳛樘卣鬟M(jìn)行充分的利用,也可以將外部特征進(jìn)行添加。假設(shè)輸入的觀測序列為x,輸出的觀測序列為y,則CRF 模型的條件概率為:
其中,相鄰輸出標(biāo)記之間的轉(zhuǎn)移特征函數(shù)為trj(yi+1,yi,xi);狀態(tài)特征函數(shù)為sk(yi,xi);規(guī)范化函數(shù)為Z;超參數(shù)為λj和uk。通過維特比算法可獲得條件概率分布,并能生成觀測序列對應(yīng)的標(biāo)注序列,從而完成命名實(shí)體識別以序列為核心的自然語言處理任務(wù)。
文中所有實(shí)驗(yàn)的軟件環(huán)境如表2所示。
表2 實(shí)驗(yàn)軟件環(huán)境
BERT-BiLSTM-CRF模型在訓(xùn)練時采用固定的BERT參數(shù)配置,只是微調(diào)了BiLSTM-CRF參數(shù)的特征提取參數(shù)和方法。為了驗(yàn)證該模型的效果,分別對比了基于CRF、BiLSTM 、BiLSTM-CRF以及CNN-BiLSTM-CRF的四種命名實(shí)體識別方法。在實(shí)驗(yàn)前,搜集了包含6 134條科研咨詢語料庫,語料庫中包含有科研人員姓名、科研履歷、科研學(xué)術(shù)及成果情況等。對于語料數(shù)據(jù)的劃分,80%用于訓(xùn)練模型,10%用于驗(yàn)證集,10%用于測試集。訓(xùn)練集共包含4 900個句子約1.6萬個命名實(shí)體,測試集和測試集包括2 234個句子約0.5萬個命名實(shí)體。為了避免單一類別語料造成的訓(xùn)練偏差,在資訊選擇上盡量進(jìn)行了均衡選取,語料庫中各類別命名實(shí)體對象的占比如圖6所示。
圖6 語料庫不同實(shí)體類數(shù)量
采用的BERT模型為Google在網(wǎng)絡(luò)上提供下載并開源的中文版BERT預(yù)訓(xùn)練模型BERT-Chinese,具體參數(shù)如下:層數(shù)共有12 層, 隱藏層共有768維,模型采用12頭模式,共計(jì)包含約1.1億個可調(diào)參數(shù)。BERT訓(xùn)練時,其采用的最大序列長度為512, 訓(xùn)練的batch尺寸為64,模型中的學(xué)習(xí)率和Dropout 過程概率參數(shù)均使用默認(rèn)值。BiLSTM中隱藏層的維數(shù)為256,訓(xùn)練采用Adam的優(yōu)化方式,訓(xùn)練數(shù)據(jù)片為32個字,學(xué)習(xí)率為0.001,Dropout過程概率為0.6。CRF 層均采用其默認(rèn)的參數(shù)設(shè)置,其鏈長設(shè)定為256。
目前命名實(shí)體識別的主流標(biāo)注策略有三類,分別是BIO模式、BIOE模式和BIOES模式。文中采用的是BIO的標(biāo)注模式,在該模式中使用 “B”來表示實(shí)體的開始,“I”表示實(shí)體的非開始部分,“O”表示非實(shí)體的部分[18-21]。結(jié)合表1中的19小類實(shí)體,帶識別的小類標(biāo)簽共用39個。例如:“B_ADR_DM”、“I_ADR_DM”、“B_ADR_QY”、“I_ADR_QY”、“B_ADR_ZB”、“I_ADR_ZB”等。在測試過程中,只出現(xiàn)實(shí)體邊界與實(shí)體類型出現(xiàn)完全匹配時,即可判斷該實(shí)體預(yù)測為正確。
對命名實(shí)體識別的評價指標(biāo)主要有精確率(P)、召回率(R)和F1值。其中,TP為模型正確識別的實(shí)體數(shù)量,F(xiàn)P為模型識別出的非相關(guān)實(shí)體數(shù)量,F(xiàn)N為模型未檢測出的相關(guān)實(shí)體數(shù)量,具體計(jì)算公式如下:
(12)
(13)
(14)
在對5類模型測試結(jié)果搜集和計(jì)算分析的基礎(chǔ)上,得出每一類模型的精確率、召回率和F1值,具體如表3所示。
表3 實(shí)驗(yàn)結(jié)果分析
從表3可以看到,BiLSTM-CRF雖然將BiLSTM和CRF進(jìn)行了組合使用,但是在有的單項(xiàng)指標(biāo)上沒有得到提升,這主要是由于科研語料庫的規(guī)模還欠缺,在科研咨詢語料庫中的無關(guān)文本較多,模型在學(xué)習(xí)過程中的參數(shù)優(yōu)化調(diào)整未能達(dá)到最優(yōu)。在增加了CNN和BERT之后,模型在精確率、召回率和F1值的分?jǐn)?shù)上都有了較大的提升,這也表明了循環(huán)神經(jīng)網(wǎng)絡(luò)對于文本識別效果較好,使用BERT進(jìn)行向量化之后,對于句子中的字、詞的表達(dá)更為準(zhǔn)確,且包含了上下文的語境,使得其語義信息表達(dá)也更為豐富[22-23]。7類實(shí)體在不同算法模型精確率如圖7所示。
圖7 7類命名實(shí)體識別精確率
針對科研領(lǐng)域人才挖掘和分析的現(xiàn)實(shí)需求,文中根據(jù)科研人才相關(guān)領(lǐng)域中的命名實(shí)體特點(diǎn),確定了7大類需識別的科研人才領(lǐng)域相關(guān)命名實(shí)體。為了提升科研人才領(lǐng)域命名實(shí)體的識別效果,采用了基于BERT模型的識別方法,同時結(jié)合BiLSTM、CRF進(jìn)一步擴(kuò)展識別效果。實(shí)驗(yàn)結(jié)果表明:在科研資訊語料的訓(xùn)練和測試中,其準(zhǔn)確率達(dá)到0.9,召回率達(dá)到0.92,取得了較好的識別效果。但是,由于目前對于科研人才相關(guān)資訊的搜集還不夠全面,導(dǎo)致模型在學(xué)習(xí)過程中參數(shù)優(yōu)化程度還不夠,部分參數(shù)和語料還需要進(jìn)行手工標(biāo)注和微調(diào),存在一定的工作量,這也制約了對科技人才領(lǐng)域命名實(shí)體識別方面的研究。同時,隨著目前科研領(lǐng)域的發(fā)展,新的科研名詞層出不窮,這就需要實(shí)時搜集大量包含科技資訊的訓(xùn)練語料。因此,在以后的工作中,一方面需要加強(qiáng)語料庫的搜集和更新,另一方面也需要研究在小規(guī)模數(shù)據(jù)集和極小標(biāo)注數(shù)據(jù)下的科研人才領(lǐng)域命名實(shí)體識別。