湯潔儀 李大軍 劉 波
(東華理工大學(xué) 測(cè)繪工程學(xué)院, 江西 南昌 330032)
構(gòu)建新型基礎(chǔ)測(cè)繪體系的首要任務(wù)是建成以地理實(shí)體為核心的基本國(guó)家地理實(shí)體數(shù)據(jù)庫(kù)[1]。地理實(shí)體是在空間數(shù)據(jù)庫(kù)中表達(dá)一個(gè)現(xiàn)實(shí)的世界中實(shí)際存在地理對(duì)象其所有的信息?;ヂ?lián)網(wǎng)中存在著大量與地理實(shí)體相關(guān)的信息,但從互聯(lián)網(wǎng)上收集到的數(shù)據(jù)存在格式不統(tǒng)一、質(zhì)量不整齊和文本信息不完整等特點(diǎn)[2],如何從非結(jié)構(gòu)化的文本中抽取出結(jié)構(gòu)化的地理信息一直是人們亟須解決的問(wèn)題。
命名實(shí)體識(shí)別(named entity recognition,NER)是知識(shí)抽取的基本任務(wù)之一,主要是從文本中抽取出具有特定意義或者指代性強(qiáng)的實(shí)體,如人名、地名、組織機(jī)構(gòu)名、日期時(shí)間、專有名詞等[3]。命名實(shí)體識(shí)別的方法主要可分為基于規(guī)則的方法、基于統(tǒng)計(jì)模型的方法和基于深度學(xué)習(xí)的方法[4]。Aitken等[5]運(yùn)用歸納邏輯編程(inductive logic programming,ILP)技術(shù)在自然語(yǔ)言數(shù)據(jù)中獲得了信息提取規(guī)則,在有371個(gè)句子的數(shù)據(jù)集中,得到的F1值可達(dá)66%,但基于規(guī)則的信息抽取存在耗時(shí)較長(zhǎng)、成本高且可移植性較差等問(wèn)題;張雪英等[6-7]以可擴(kuò)展標(biāo)記語(yǔ)言(eXtensible markup language,XML)為標(biāo)注元語(yǔ)言,基于規(guī)則的方法構(gòu)建了地理實(shí)體標(biāo)注體系利用軟件設(shè)計(jì)了基于深度信念網(wǎng)絡(luò)(deep belief networks)的地質(zhì)實(shí)體識(shí)別模型,有助于解決地理實(shí)體相關(guān)標(biāo)準(zhǔn)和規(guī)模化標(biāo)準(zhǔn)數(shù)據(jù)匱乏的問(wèn)題,但本方法對(duì)標(biāo)注的標(biāo)準(zhǔn)依賴性較高且數(shù)據(jù)庫(kù)存在不均衡等問(wèn)題;陳婧玟等[8]基于條件隨機(jī)場(chǎng)(conditional random field,CRF)模型對(duì)雙語(yǔ)料庫(kù)中的地質(zhì)文本中的時(shí)間信息進(jìn)行抽取,但相對(duì)于特定領(lǐng)域而言,抽取的效率及分詞的效果不如通用領(lǐng)域的好,無(wú)法準(zhǔn)確識(shí)別并提取到專有名詞;王若佳等[9]人利用BiLSTM-CRF模型對(duì)中文電子病例中的五種實(shí)體進(jìn)行識(shí)別,當(dāng)數(shù)據(jù)集較小時(shí)識(shí)別的效果較好,但在大規(guī)模數(shù)據(jù)集和自建語(yǔ)料庫(kù)中表現(xiàn)尚待進(jìn)一步研究;王子牛等[10]利用結(jié)合基于雙向Transformer大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型(bidirectional encoder representation from transformer,BERT)和BiLSTM-CRF模型對(duì)中文實(shí)體進(jìn)行識(shí)別在人民日?qǐng)?bào)數(shù)據(jù)集上得到很好的效果;BERT模型在許多公開數(shù)據(jù)集的自然語(yǔ)言處理任務(wù)中均取得了不錯(cuò)的F1值,但在專業(yè)領(lǐng)域中的效果尚未體現(xiàn)。
因此,本研究在前人研究的基礎(chǔ)上,利用爬取的百度百科中與地理實(shí)體相關(guān)的信息構(gòu)建語(yǔ)料庫(kù),基于BERT-BiLSTM-CRF模型將其應(yīng)用于地理實(shí)體領(lǐng)域的命名實(shí)體識(shí)別,并對(duì)比了BiLSTM模型與BiLSTM-CRF模型對(duì)人名、地名和機(jī)構(gòu)名三種實(shí)體的抽取結(jié)果,為后續(xù)知識(shí)抽取和應(yīng)用奠定基礎(chǔ)。
Devlin J等[11]提出了基于雙向Transformer模型的BERT模型,在多個(gè)NLP任務(wù)中取得了很好的結(jié)果,可以通過(guò)對(duì)所有層的上下文信息進(jìn)行預(yù)訓(xùn)練,從而為問(wèn)題回答和語(yǔ)言推理等創(chuàng)建最先進(jìn)的模型。BERT作為詞嵌入層,是一個(gè)預(yù)訓(xùn)練的語(yǔ)言表征模型,也是基于Transformer模型的編碼(Encoder)。即將文本中的每個(gè)字符作為原始的詞向量通過(guò)查詢字向量表將文本中的每個(gè)字轉(zhuǎn)換為一維向量輸入到模型中,模型輸出則是輸入各字對(duì)應(yīng)的融合全文語(yǔ)義信息后的向量表示。
Transformer模型[12]最早是在2017年由谷歌提出來(lái)的,用于NLP領(lǐng)域,采用Encoder-Decoder架構(gòu),每個(gè)Transformer都包含多頭注意力機(jī)層(multi-head attention)、全連接層(FeedForward)、殘差鏈接和歸一化層(Add & Normal)。相較于其他NLP模型,不同于循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)相關(guān)模型只能從左向右依次計(jì)算或者從右向左依次計(jì)算,Transformer支持并行化的語(yǔ)言處理,在Encoder端可以支持并行處理整個(gè)序列,并且得到輸出,極大地節(jié)約了訓(xùn)練時(shí)間。
BiLSTM-CRF模型是由Lample G.等人[13]提出,以雙向長(zhǎng)短時(shí)記憶(bidirectional long short-term memory,BiLSTM)模型的結(jié)果作為CRF的輸入,通過(guò)CRF引入標(biāo)簽間的狀態(tài)轉(zhuǎn)移矩陣,在四種不同國(guó)家語(yǔ)言的開放語(yǔ)料中都取得了很好的結(jié)果。BiLSTM模型[14]是由前向LSTM和后向LSTM組合而成,長(zhǎng)短時(shí)期記憶(long short-term memory,LSTM)模型是一種特殊的RNN,主要為了解決長(zhǎng)序列過(guò)程中的梯度消失和梯度爆炸的問(wèn)題,因而引入了儲(chǔ)存單元、輸入門、遺忘門和輸出門的控制機(jī)制[15]。單向的LSTM-CRF模型只能學(xué)習(xí)序列的單向信息,不能做到學(xué)習(xí)句子上下文的全部信息。BiLSTM結(jié)構(gòu)由前向和后向的兩層LSTM神經(jīng)網(wǎng)絡(luò)組成,它們的輸入相同,能夠通過(guò)前后兩個(gè)方向的LSTM進(jìn)行信息的特征提取,實(shí)現(xiàn)對(duì)整個(gè)語(yǔ)句或文本的上下文信息關(guān)聯(lián)[16]。
CRF模型善于處理長(zhǎng)距離的上下文信息,但無(wú)法處理標(biāo)簽間的依賴信息。設(shè)兩組隨機(jī)變量X=(X1,X2,…,Xn),Y=(Y1,Y2,…,Yn),線性鏈條件隨機(jī)場(chǎng)的定義為P(Yi|X,Y1,…,Yi-1,Yi+1,…,Yn)=P(Yi|X,Yi-1,Yi+1),i=1,…,n,(其中當(dāng)i取1或n時(shí)只考慮單邊),用于序列標(biāo)注問(wèn)題的線性鏈條件隨機(jī)場(chǎng),是由輸入序列來(lái)預(yù)測(cè)輸出序列的判別式模型。CRF相比其他概率圖模型能夠利用更加豐富的標(biāo)簽分布信息,能通過(guò)鄰近標(biāo)簽的關(guān)系獲得一個(gè)最優(yōu)的預(yù)測(cè)序列,例如:B-PER后面不可能接B-LOC,并彌補(bǔ)BiLSTM的缺點(diǎn),能夠更好地利用上下文信息,確保最終預(yù)測(cè)結(jié)果的有效性和合理性,提高標(biāo)注效果。
BERT BiLSTM-CRF模型是將BERT模型與BiLSTM-CRF模型結(jié)合起來(lái),首先利用BERT預(yù)訓(xùn)練模型獲取地理實(shí)體描述特征,將語(yǔ)料庫(kù)中的每一個(gè)輸入字符詞嵌入(Embedding)為包含字符向量、句級(jí)向量和位置向量的初始向量輸入到BiLSTM模型中,充分學(xué)習(xí)句子序列的上下文信息得到包含所有字符的字典,最后輸入到CRF模型中根據(jù)句子邏輯和上下文信息得到每個(gè)字符標(biāo)注的概率分布,得到各個(gè)序列中字符的最可能的標(biāo)注。模型如圖1所示。
圖1 BERT-BiLSTM-CRF模型結(jié)構(gòu)圖
百度百科中蘊(yùn)含大量豐富的地理信息,且百度百科詞條數(shù)據(jù)結(jié)構(gòu)十分固定,主要可分為標(biāo)題、概述框、信息框、同名消歧、縮略圖、詞條統(tǒng)計(jì)、標(biāo)簽七個(gè)部分。本研究利用網(wǎng)絡(luò)爬蟲技術(shù)中的Request和Beautiful Soup庫(kù),研究區(qū)域?yàn)榻魇∧喜行陆▍^(qū),從百度百科中獲取到基于百度地圖與研究區(qū)域興趣點(diǎn)(point of interest,POI)數(shù)據(jù)相關(guān)的概述框部分的非結(jié)構(gòu)化文本(如圖4所示)構(gòu)成數(shù)據(jù)集,其中含有文本概述6 307行,共計(jì)369 714個(gè)字符。
圖2 百度百科詞條示例
在命名實(shí)體識(shí)別任務(wù)中,首先需要對(duì)初始的文本進(jìn)行標(biāo)記化(Tokenization),將輸入的文本分割成一個(gè)個(gè)字符(token),配合詞典映射成向量使計(jì)算機(jī)正確識(shí)別文本并且不會(huì)存在遺漏的問(wèn)題。一般情況下,漢語(yǔ)中的特征類別有字和詞2種,基于字粒度的Tokenization表示將句子切分成單個(gè)的漢字,例如:我是中國(guó)人按照字粒度可切分為我/是/中/國(guó)/人。可以看出,基于字粒度的切分魯棒性較強(qiáng)且詞表大大減少,但一個(gè)單字在本質(zhì)上不具有語(yǔ)義意義,減少詞表使得輸入長(zhǎng)度大大增加,從而使得輸入計(jì)算更加耗時(shí)耗力。基于詞粒度的Tokenization可以將我是中國(guó)人切分為我/是/中國(guó)人,與人類閱讀時(shí)的習(xí)慣性切分一致。詞粒度的切分一方面能夠很好地保留完整的詞的含義,另一方面能夠很好地保存詞的邊界信息,可以避免由于標(biāo)簽偏移和關(guān)鍵詞語(yǔ)義信息丟失等對(duì)后續(xù)的序列標(biāo)注及NER任務(wù)結(jié)果的影響。綜上所述,本文選擇的字符特征為詞匯與標(biāo)點(diǎn)符號(hào),將原始文本經(jīng)過(guò)預(yù)處理后進(jìn)行序列標(biāo)注。目前實(shí)體命名較為常用的序列標(biāo)注方法有三種:BIO(B-begin,I-inside,O-outside)三位標(biāo)注法、BMES四位序列標(biāo)注法(B表示一個(gè)詞的詞首位值,M表示一個(gè)詞的中間位置,E表示一個(gè)詞的末尾位置,S表示一個(gè)單獨(dú)的字詞)、BIOES(B-begin,I-inside,O-outside,E-end,S-single)五元標(biāo)注法。本文采取的為BIO標(biāo)注法,即B表示該實(shí)體的起始位置,I表示該實(shí)體的非起始位置,O表示不屬于任何實(shí)體。
實(shí)體抽取的效果是通過(guò)計(jì)算模型的精確率P(Precision)、召回率R(Recall)和F1值[12]得到的,P表示正確預(yù)測(cè)的實(shí)體占全部識(shí)別出的實(shí)體的比例,R表示正確識(shí)別的實(shí)體占應(yīng)識(shí)別實(shí)體比例,F1是結(jié)合了P和R的綜合評(píng)價(jià)指標(biāo)。計(jì)算公式如下。
(1)
(2)
(3)
其中,TP表示數(shù)據(jù)集中正確預(yù)測(cè)為正類的詞數(shù)目,FP表示數(shù)據(jù)集中錯(cuò)誤預(yù)測(cè)為負(fù)類的詞數(shù)目,TN表示數(shù)據(jù)集中正確預(yù)測(cè)為負(fù)類的詞數(shù)目,FN表示數(shù)據(jù)集中錯(cuò)誤預(yù)測(cè)為負(fù)類的詞數(shù)目。
百度百科網(wǎng)頁(yè)的文本主要是由用戶對(duì)知識(shí)及信息進(jìn)行歸納編輯,是對(duì)實(shí)體進(jìn)行的概括性的描述,內(nèi)容為非結(jié)構(gòu)化,通常所含信息量較大且真實(shí)性強(qiáng),但可能存在句子不規(guī)范、信息冗余、信息錯(cuò)誤和缺失等問(wèn)題。因此需要對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,將數(shù)據(jù)集中不相關(guān)、視為噪聲的內(nèi)容刪除,去除無(wú)用的符號(hào)(空格、特殊符號(hào)及數(shù)字角標(biāo)等),文本只保留有用信息。
在真正使用模型進(jìn)行關(guān)系分類前,需要構(gòu)造相應(yīng)的標(biāo)注語(yǔ)料庫(kù)。這些語(yǔ)料數(shù)據(jù)往往因?yàn)闆](méi)有相應(yīng)的知識(shí)庫(kù)而難以構(gòu)造,因此只能使用人工標(biāo)注的方式來(lái)進(jìn)行。本研究從文本中識(shí)別人名、地名和機(jī)構(gòu)名三種實(shí)體類型,其中人名表示為PER,人名的首字標(biāo)記為B-PER;地名表示為L(zhǎng)OC,地名的首字標(biāo)記為B-LOC;機(jī)構(gòu)名表示為ORG,機(jī)構(gòu)名的首字標(biāo)記為B-ORG,數(shù)據(jù)集標(biāo)注如表1所示,由此得到自構(gòu)建的標(biāo)注語(yǔ)料庫(kù),語(yǔ)料劃分如表2所示。
表1 數(shù)據(jù)集實(shí)體標(biāo)注實(shí)例
表2 語(yǔ)料數(shù)據(jù)劃分
本實(shí)驗(yàn)采用TensorFlow框架進(jìn)行模型搭建,將上述實(shí)驗(yàn)語(yǔ)料按照7∶2∶1的比例分成了訓(xùn)練集、測(cè)試集和驗(yàn)證集,實(shí)體識(shí)別結(jié)果如表3所示。
表3 不同模型的命名實(shí)體識(shí)別結(jié)果
從識(shí)別結(jié)果可以看出,BERT BiLSTM-CRF模型與其他模型相比在對(duì)三類實(shí)體識(shí)別中效果更好,對(duì)機(jī)構(gòu)名類實(shí)體的識(shí)別效果在準(zhǔn)確率、召回率及F1值三方面都有一定的提高。三種模型均對(duì)人名識(shí)別的準(zhǔn)確率和F1值都達(dá)到了90%以上;從準(zhǔn)確度和F1值來(lái)說(shuō),BERT BiLSTM-CRF模型對(duì)三類實(shí)體的識(shí)別效果均高于BiLSTM-CRF模型和BiLSTM模型;從召回率來(lái)看,BERT BiLSTM-CRF模型對(duì)地名類和機(jī)構(gòu)名類實(shí)體的識(shí)別效果要優(yōu)于其他兩種模型,相差最大,可達(dá)10.85%;由此可見,BERT BiLSTM-CRF模型從識(shí)別效果和穩(wěn)定性兩方面都優(yōu)于其他兩種模型。
本研究將深度學(xué)習(xí)領(lǐng)域的BERT BiLSTM-CRF模型應(yīng)用于地理實(shí)體的命名實(shí)體識(shí)別任務(wù)中,為了證明BERT模型的有效性,本實(shí)驗(yàn)基于自建的標(biāo)注語(yǔ)料庫(kù)在BERT BiLSTM-CRF模型、BiLSTM-CRF模型和BiLSTM模型的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比。在BiLSTM-CRF模型和BiLSTM模型中沒(méi)有BERT Embedding層,而是使用了傳統(tǒng)的Word Embedding層,將每個(gè)字符通過(guò)One-hot獨(dú)熱編碼為低維稠密的字向量,將文本訓(xùn)練轉(zhuǎn)化為字向量輸入到模型中。BERT模型通過(guò)Embedding將語(yǔ)料庫(kù)中的可利用的語(yǔ)義信息遷移過(guò)來(lái),并對(duì)后續(xù)任務(wù)進(jìn)行調(diào)整,提高了模型的輸出效果和邏輯性。實(shí)驗(yàn)結(jié)果表明,BERT BiLSTM-CRF模型對(duì)三種實(shí)體的識(shí)別效果均優(yōu)于其他兩種模型,可以適用于命名地理實(shí)體的識(shí)別場(chǎng)景中。