楊 賽,劉 昕,于紹文
1.鑫方盛數(shù)智科技股份有限公司,北京 102600
2.愛(ài)丁堡大學(xué) 商學(xué)院,英國(guó) 愛(ài)丁堡EH8 9JS
3.中國(guó)石油大學(xué)(華東)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 青島 266580
隨著大數(shù)據(jù)、物聯(lián)網(wǎng)和人工智能等技術(shù)的廣泛應(yīng)用,面向未來(lái)的端到端數(shù)字化供應(yīng)鏈正在轉(zhuǎn)型,打造智能化、數(shù)字化、環(huán)境升級(jí)綠色低碳化的全新采購(gòu)體驗(yàn)是數(shù)智化采購(gòu)趨勢(shì)。在各行業(yè)領(lǐng)域存在大量電子文檔和印刷后形成的紙質(zhì)文檔資料,如采購(gòu)文件和報(bào)價(jià)文件中的營(yíng)業(yè)執(zhí)照、資格證書(shū)等圖片,這些圖片中包含一些重要的有價(jià)值的信息,如何將這些圖片文字識(shí)別為含有語(yǔ)義的文本,提取圖片文本命名實(shí)體是非常有意義的工作。
要從電子文檔資料和圖片中提取命名實(shí)體,需要圖像到文本的跨模態(tài)處理技術(shù)。首先應(yīng)用光學(xué)字符識(shí)別(OCR)技術(shù)從圖片文本中識(shí)別出字符,然后針對(duì)字符構(gòu)成的文本進(jìn)行命名實(shí)體識(shí)別。光學(xué)字符識(shí)別是用計(jì)算機(jī)自動(dòng)辨別寫(xiě)在或印在紙(或其他介質(zhì))上的文字。由于印刷資料隨著時(shí)間推移會(huì)出現(xiàn)文檔色彩退化、拍照或者掃描時(shí)不清晰、文檔中舊的排版格式以及美工處理等問(wèn)題,這些文件被OCR識(shí)別時(shí)會(huì)出現(xiàn)字符錯(cuò)誤、字符錯(cuò)位、不同字符序列混編等情況,直接進(jìn)行命名實(shí)體識(shí)別準(zhǔn)確率不高。
傳統(tǒng)的光學(xué)字符識(shí)別技術(shù)通常使用OpenCV 算法庫(kù)[1],通過(guò)圖像處理和統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法提取圖像中的文字信息,使用二值化[2]、連通域分析[3]和支持向量機(jī)[4]等技術(shù)?;谏疃葘W(xué)習(xí)的光學(xué)字符識(shí)別技術(shù)主要有CRNN(convolutional recurrent neural network)OCR[5]和Attention OCR[6]兩類(lèi)技術(shù)。CRNN 由一個(gè)CNN 和一個(gè)Bi-LSTM組成。Attention OCR使用Attention LSTM作為識(shí)別算法。LSTM 非常適合于解決序列的對(duì)齊問(wèn)題,廣泛應(yīng)用于序列模型進(jìn)行編碼和解碼。而注意力機(jī)制在幫助模型解碼特定字符時(shí),將注意力集中在圖像中該字符對(duì)應(yīng)的像素點(diǎn)位置。目前最常用的開(kāi)源OCR系統(tǒng),如Calamari[7]、PERO OCR[8]和Paddle OCR都是基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)和長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)。光學(xué)字符識(shí)別(OCR)軟件可以識(shí)別圖片中的文字,但沒(méi)有進(jìn)一步獲得文字的語(yǔ)義信息。
自然語(yǔ)言處理中的命名實(shí)體識(shí)別有成熟的研究方案,包括隱馬爾可夫模型[9]、條件隨機(jī)場(chǎng)[10]、支持向量機(jī)[11]、最大熵模型[12]、基于CNN-Bi-LSTM-CRF[13]和基于Bi-LSTM-CRF的神經(jīng)網(wǎng)絡(luò)等模型[14]。然而,自然語(yǔ)言處理中的命名實(shí)體識(shí)別技術(shù)只對(duì)文本類(lèi)型的數(shù)據(jù)進(jìn)行命名實(shí)體抽取。
光學(xué)字符識(shí)別和自然語(yǔ)言命名實(shí)體識(shí)別技術(shù)都相對(duì)比較成熟,但是OCR 識(shí)別出的字符直接用自然語(yǔ)言命名實(shí)體識(shí)別技術(shù)識(shí)別出的命名實(shí)體準(zhǔn)確率不高,需要從字符識(shí)別到命名實(shí)體抽取的一整套技術(shù),獲取圖片中的關(guān)鍵信息,但是跨模態(tài)的圖片文本命名實(shí)體識(shí)別技術(shù)目前研究較少,大多集中在對(duì)歷史報(bào)紙資料、發(fā)票、情報(bào)等少數(shù)具體行業(yè),這些研究通常將OCR 與深度學(xué)習(xí)模型結(jié)合識(shí)別相關(guān)領(lǐng)域的命名實(shí)體。孫紹丹[15]使用OCR識(shí)別出歷史報(bào)紙資料的文本數(shù)據(jù),用BIOES標(biāo)簽方法標(biāo)注文本數(shù)據(jù)后,送入Bi-LSTM-CRF 模型并識(shí)別出歷史報(bào)紙資料中的人物、機(jī)構(gòu)、時(shí)間等實(shí)體。Boros等[16]針對(duì)法語(yǔ)歷史報(bào)紙資料,識(shí)別其中的人名、標(biāo)題等命名實(shí)體。肖連杰等[17]面向情報(bào)學(xué)PDF 文檔,使用Lighten PDF Converter OCR 軟件,結(jié)合Bi-LSTM 方法實(shí)現(xiàn)各種情報(bào)分析方法名稱(chēng)識(shí)別。Rouhou 等[18]提出了一種基于Transformer 的方法進(jìn)行手寫(xiě)文件的命名實(shí)體識(shí)別。但是由于OCR識(shí)別的文字中存在拼寫(xiě)錯(cuò)誤、語(yǔ)法錯(cuò)誤、不同字符序列混編等問(wèn)題導(dǎo)致命名實(shí)體識(shí)別準(zhǔn)確率不高。對(duì)此,有學(xué)者研究了OCR噪聲對(duì)命名實(shí)體識(shí)別的影響,Miller 等[19]訓(xùn)練了隱馬爾可夫模型,在字符級(jí)別上對(duì)OCR 數(shù)據(jù)進(jìn)行識(shí)別,字符錯(cuò)誤率越高,F(xiàn)1 值越低。Ahonen 等[20]使用芬蘭國(guó)家圖書(shū)館的歷史報(bào)紙資料作為實(shí)驗(yàn)對(duì)象,經(jīng)過(guò)使用模糊字符串匹配算法處理OCR 產(chǎn)生的錯(cuò)誤單詞,通過(guò)在詞典中找到更正的單詞對(duì)錯(cuò)誤單詞處理,但是歷史報(bào)紙資料因保存原因存在過(guò)多OCR識(shí)別錯(cuò)誤單詞,該算法準(zhǔn)確率仍有待提高。
針對(duì)以上問(wèn)題,面向采購(gòu)文件和報(bào)價(jià)文件中的營(yíng)業(yè)執(zhí)照等資格審核資料中存在評(píng)標(biāo)使用的關(guān)鍵信息,本文使用Paddle OCR v3模型識(shí)別文檔中的光學(xué)字符,自動(dòng)對(duì)不同字符序列組混編文本字符進(jìn)行圖片文本邊界設(shè)計(jì),將邊界內(nèi)文本字符映射為詞向量,構(gòu)建O2V2BLC跨模態(tài)命名實(shí)體識(shí)別模型,通過(guò)捕獲上下文語(yǔ)義獲得圖片文本的關(guān)鍵信息,應(yīng)用條件隨機(jī)場(chǎng)約束字符標(biāo)記序列,實(shí)現(xiàn)資質(zhì)文檔資料中的跨模態(tài)命名實(shí)體識(shí)別,能夠極大節(jié)省評(píng)標(biāo)時(shí)的人力勞動(dòng),提高處理效率和準(zhǔn)確率。
傳統(tǒng)的命名實(shí)體識(shí)別技術(shù)主要指自然語(yǔ)言處理中的命名實(shí)體識(shí)別,是針對(duì)文本數(shù)據(jù)的命名實(shí)體進(jìn)行識(shí)別,從圖片中直接識(shí)別命名實(shí)體是跨模態(tài)命名實(shí)體識(shí)別,相關(guān)研究較少,本文對(duì)自然語(yǔ)言中的命名實(shí)體識(shí)別和跨模態(tài)命名實(shí)體識(shí)別研究進(jìn)行了梳理。
自然語(yǔ)言處理的命名實(shí)體識(shí)別方法主要包括基于規(guī)則的方法,基于序列標(biāo)注的統(tǒng)計(jì)概率方法和深度學(xué)習(xí)方法。然而,基于規(guī)則的命名實(shí)體識(shí)別方法過(guò)多依賴(lài)于領(lǐng)域?qū)<抑贫ǖ囊?guī)則方法,難以應(yīng)用在不同領(lǐng)域。因此,國(guó)內(nèi)外研究主要集中在統(tǒng)計(jì)概率方法和深度學(xué)習(xí)方法上。
基于統(tǒng)計(jì)概率的命名實(shí)體識(shí)別方法,通過(guò)分類(lèi)統(tǒng)計(jì)模型將命名實(shí)體的識(shí)別問(wèn)題轉(zhuǎn)為一個(gè)分類(lèi)問(wèn)題進(jìn)行求解,主要包括隱馬爾可夫模型(HMM)、條件隨機(jī)場(chǎng)(CRF)、支持向量機(jī)(SVM)和最大熵模型(ME)等,其中HMM 和CRF 是最常用的兩種模型。一些學(xué)者使用基于隱馬爾可夫模型的命名實(shí)體識(shí)別方法提取緬甸語(yǔ)和孟加拉語(yǔ)文檔中的命名實(shí)體[9,21]。Li等[22]研究利用多個(gè)弱監(jiān)督源的噪聲標(biāo)簽學(xué)習(xí)命名實(shí)體識(shí)別標(biāo)簽的問(wèn)題,提出條件隱馬爾可夫模型。Mak 等[23]使用隱馬爾可夫模型設(shè)計(jì)了命名實(shí)體識(shí)別系統(tǒng)識(shí)別《古蘭經(jīng)》中的姓名、地點(diǎn)和事件等實(shí)體。Abd等[24]對(duì)傳統(tǒng)的特征表示方法、條件隨機(jī)場(chǎng)和最大熵馬爾可夫模型進(jìn)行了比較研究,并識(shí)別了生物醫(yī)學(xué)領(lǐng)域的命名實(shí)體。Lee等[10]研究基于字典查找的字符串匹配和條件隨機(jī)場(chǎng),識(shí)別風(fēng)濕病患者臨床記錄中的癥狀、藥物、位置等實(shí)體。Santoso 等[25]提出了一種使用混合條件隨機(jī)場(chǎng)(CRF)和K-Means 的印度尼西亞新聞文檔的NER 系統(tǒng)。Arora 等提出了一個(gè)神經(jīng)半馬爾可夫結(jié)構(gòu)化的支持向量機(jī)模型對(duì)開(kāi)源數(shù)據(jù)集CoNLL-2003 中的人名、地名和組織名等命名實(shí)體進(jìn)行識(shí)別[11]。Konkol 等[26]使用最大熵模型研究捷克語(yǔ)的命名實(shí)體識(shí)別方法。
近年來(lái),基于深度學(xué)習(xí)的命名實(shí)體識(shí)別方法占據(jù)了主導(dǎo)地位,主要包括卷積神經(jīng)網(wǎng)絡(luò)(CNN)[13]、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[27]和Transformer[20]模型。Jia 等[13]針對(duì)漢字書(shū)寫(xiě)的固有特點(diǎn),提出一種基于CNN-Bi-LSTM-CRF的神經(jīng)網(wǎng)絡(luò)模型用于簡(jiǎn)體中文NER 任務(wù)。Gui 等[28]提出了基于卷積神經(jīng)網(wǎng)絡(luò)的命名實(shí)體識(shí)別方法,使用反饋機(jī)制合并詞匯,解決潛在詞之間的沖突。一些學(xué)者使用Bi-LSTM-CRF模型處理疾病以及網(wǎng)絡(luò)安全命名實(shí)體識(shí)別任務(wù)[27,29]。Zhu 等[30]利用N 元語(yǔ)法在輸入中加入位置標(biāo)簽特征,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)獲取單詞嵌入的局部上下文,用于生物醫(yī)學(xué)命名實(shí)體識(shí)別任務(wù)。Kong 等[31]提出了一個(gè)基于卷積神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制方法識(shí)別中文臨床命名實(shí)體。Che等[32]提出了一個(gè)時(shí)間卷積網(wǎng)絡(luò)和一個(gè)條件隨機(jī)場(chǎng)層用于生物醫(yī)學(xué)命名實(shí)體識(shí)別。有的研究者基于BERT 預(yù)訓(xùn)練語(yǔ)言模型的Bi-LSTM-CRF 命名實(shí)體識(shí)別方法[14,33]。Agrawal 等[34]提出使用遷移學(xué)習(xí)的方法來(lái)解決嵌套命名實(shí)體識(shí)別。Emmert-Streib 等[35]研究了一個(gè)基于字典和條件隨機(jī)場(chǎng)的混合模型用于食品和膳食成分命名實(shí)體識(shí)別,并與BERT、BioBERT 模型進(jìn)行了對(duì)比,結(jié)果表明,混合模型在訓(xùn)練數(shù)據(jù)方面更有效率。
綜上所述,對(duì)自然語(yǔ)言命名實(shí)體識(shí)別的研究很多,算法已經(jīng)相對(duì)成熟,但是無(wú)法實(shí)現(xiàn)圖片文本中的跨模態(tài)命名實(shí)體識(shí)別。針對(duì)圖片文本的命名實(shí)體識(shí)別方法通常使用OCR 技術(shù)識(shí)別圖片中的文字,將識(shí)別出的字符處理為自然語(yǔ)言的文本形式,采用自然語(yǔ)言的命名實(shí)體識(shí)別方法識(shí)別其中的關(guān)鍵信息。圖片文本命名實(shí)體識(shí)別方法大多是將OCR技術(shù)與深度學(xué)習(xí)技術(shù)結(jié)合實(shí)現(xiàn)圖片文本命名實(shí)體識(shí)別。
Ha等[36]設(shè)計(jì)了OCRMiner系統(tǒng)識(shí)別英文發(fā)票文本,使用基于Bert 的命名實(shí)體識(shí)別方法識(shí)別英文發(fā)票中的人名、組織和地址等實(shí)體。Abadie等[37]將OCR識(shí)別工具應(yīng)用于歷史文檔,手動(dòng)標(biāo)記OCR識(shí)別后的歷史文本數(shù)據(jù)中的人名、標(biāo)題和地名等實(shí)體,使用基于CNN 和Transformer的命名實(shí)體識(shí)別方法進(jìn)行訓(xùn)練和預(yù)測(cè),識(shí)別測(cè)試集中的命名實(shí)體。Dutta等[38]使用OCR識(shí)別14 020篇新聞文章,得到識(shí)別的文本字符后,利用基于CRF的命名實(shí)體識(shí)別方法識(shí)別其中的人名、地名和機(jī)構(gòu)名。Boros等利用OCR技術(shù)處理包含法語(yǔ)和德語(yǔ)的數(shù)字化歷史報(bào)紙圖片獲取歷史文本數(shù)據(jù),然后使用Bert和Transformer模型對(duì)文本中的機(jī)構(gòu)名、地名等命名實(shí)體進(jìn)行識(shí)別[16]。Huynh等[39]分析了OCR識(shí)別單詞產(chǎn)生錯(cuò)誤的原因,使用基于編輯距離的算法細(xì)粒度檢查每個(gè)單詞的拼寫(xiě)以便于解決噪聲文本,分別構(gòu)建了Bi-LSTM-CRF和Bi-LSTMCNN 模型,一定程度上提高了命名實(shí)體識(shí)別的準(zhǔn)確率。由于最大編輯距離是根據(jù)經(jīng)驗(yàn)確定,導(dǎo)致識(shí)別準(zhǔn)確率缺少通用性。
這些圖片文本的命名實(shí)體識(shí)別算法只針對(duì)某個(gè)具體領(lǐng)域進(jìn)行研究,對(duì)于OCR 識(shí)別出的字符大多進(jìn)行人工處理后采用深度學(xué)習(xí)模型進(jìn)行自然語(yǔ)言命名實(shí)體的識(shí)別,缺乏自動(dòng)的跨模態(tài)命名實(shí)體識(shí)別算法,且由于排版錯(cuò)位、不同字符序列混編等問(wèn)題,這些方案的準(zhǔn)確率不高。
本文針對(duì)采購(gòu)文件包含的圖片文本中影響命名實(shí)體識(shí)別準(zhǔn)確率的因素,如排版錯(cuò)位、不同字符序列混編,設(shè)計(jì)跨模態(tài)圖片文本命名實(shí)體識(shí)別模型O2V2BLC,該端到端模型結(jié)構(gòu)包括OCR識(shí)別層、文本邊界處理層、嵌入層、Bi-LSTM 層、全連接層、CRF 層和輸出層,如圖1所示。
圖1 跨模態(tài)的命名實(shí)體識(shí)別網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.1 Cross-modal named entity recognition network model structure
(1)OCR 識(shí)別層將圖片文本識(shí)別為字符,文本邊界處理層用于設(shè)置字符的邊界,形成不同的字符序列并對(duì)其排序。
(2)嵌入層將文本序列中的字符編碼為向量。
(3)Bi-LSTM層獲取上下文信息的語(yǔ)義特征形成語(yǔ)義向量,計(jì)算序列字符的類(lèi)別狀態(tài)分?jǐn)?shù)矩陣。
(4)全連接層將高維語(yǔ)義向量映射為符合標(biāo)簽數(shù)量的維度。
(5)CRF 層對(duì)字符序列的規(guī)則進(jìn)行約束,輸出層輸出命名實(shí)體標(biāo)簽序列預(yù)測(cè)結(jié)果。
模型的各層之間通過(guò)向量連接,使用O2V2BLC 模型的損失函數(shù)對(duì)各模塊統(tǒng)一調(diào)參,實(shí)現(xiàn)自動(dòng)的跨模態(tài)圖片文本命名實(shí)體識(shí)別。
首先,使用Paddle OCR v3模型識(shí)別采購(gòu)文件圖片中的文本。Paddle OCR v3 模型對(duì)圖像中的文字進(jìn)行掃描檢測(cè),將圖中可能包含文字的部分進(jìn)行分割處理,每一行標(biāo)記為一個(gè)檢測(cè)框,對(duì)檢測(cè)框進(jìn)行矯正,將豎排檢測(cè)框轉(zhuǎn)換為橫排矩形框用于后續(xù)的字符識(shí)別。由于矯正后的框體可能會(huì)被反轉(zhuǎn),使用方向分類(lèi)器檢測(cè)并改正文本的方向。然后識(shí)別檢測(cè)框中的字符,作為本層的輸出。由于圖片文本的排版等情況,使用Paddle OCR v3模型識(shí)別的字符可能出現(xiàn)實(shí)體位置參差不齊、不同字符序列混編等。
其次,針對(duì)文本字符序列錯(cuò)亂的問(wèn)題,本文設(shè)置邊界處理算法,讀取各檢測(cè)框位置信息,將所有檢測(cè)框的四個(gè)頂點(diǎn)的x軸坐標(biāo)進(jìn)行升序排序,取排序后x軸坐標(biāo)的最小值與最大值的均值作為圖片中心線(xiàn)的x軸坐標(biāo)。如果存在被識(shí)別的檢測(cè)框落在了圖片中心線(xiàn)上的情況,即某個(gè)檢測(cè)框的左上角x軸坐標(biāo)小于圖片中心線(xiàn)x軸坐標(biāo)且右上角x軸坐標(biāo)大于圖片中心線(xiàn)x軸坐標(biāo),則判定該圖片的檢測(cè)框分布是自上而下依次排列,否則判定檢測(cè)框?yàn)橄茸蠛笥曳植寂帕小H绻麍D片的檢測(cè)框?yàn)樽陨隙乱来闻帕?,則按照每個(gè)檢測(cè)框的位置順序拼接識(shí)別的文字內(nèi)容。如果圖片檢測(cè)框是先左后右排列,則對(duì)圖片檢測(cè)框所屬圖片區(qū)域進(jìn)行判斷:若檢測(cè)框的左上角x軸坐標(biāo)小于圖片中心線(xiàn)x軸坐標(biāo),則判定該文本框位于圖片左半部分,若識(shí)別文本框的右上角x軸坐標(biāo)大于圖片中心線(xiàn)x軸坐標(biāo),則判定該文本框位于圖片右半部分。最后按照先左后右的順序拼接識(shí)別的字符序列。
最后,采用BIO標(biāo)記格式對(duì)文本字符序列進(jìn)行數(shù)據(jù)標(biāo)注,標(biāo)注完成后使用詞嵌入層對(duì)文本序列詞向量化。由于單向的LSTM 神經(jīng)網(wǎng)絡(luò)模型只能捕捉圖片文本序列中的上文信息,無(wú)法獲取序列的下文信息,字符序列的上下文信息對(duì)于命名實(shí)體識(shí)別都具有重要的作用。因此,本文采用雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Bi-LSTM)模型,對(duì)輸入字符序列信息進(jìn)行特征提取,將兩個(gè)方向的向量結(jié)果進(jìn)行拼接,并且預(yù)測(cè)每個(gè)向量對(duì)應(yīng)的每個(gè)標(biāo)簽的概率,形成狀態(tài)分?jǐn)?shù)矩陣。在CRF層中,將狀態(tài)分?jǐn)?shù)矩陣和標(biāo)簽轉(zhuǎn)移矩陣進(jìn)行加權(quán)求和計(jì)算路徑分?jǐn)?shù)以及所有路徑總分。標(biāo)簽轉(zhuǎn)移矩陣是類(lèi)別之間的狀態(tài)分?jǐn)?shù)矩陣,考慮到相鄰標(biāo)簽之間具有相關(guān)性,例如,I-PRO(專(zhuān)業(yè)名稱(chēng))不可能出現(xiàn)在B-PRO(專(zhuān)業(yè)名稱(chēng))之前。應(yīng)用條件隨機(jī)場(chǎng)對(duì)每個(gè)字符設(shè)置概率限制條件,利用CRF損失函數(shù)計(jì)算所有路徑的總分?jǐn)?shù),通過(guò)回溯得到全局最優(yōu)路徑。在輸出層中,輸出分?jǐn)?shù)最大的序列作為預(yù)測(cè)的命名實(shí)體標(biāo)簽序列。
為驗(yàn)證本文方法的有效性,本文將提出的O2V2BLC模型和兩種統(tǒng)計(jì)概率學(xué)習(xí)方法、Bert-Bi-LSTM-CRF算法進(jìn)行比較,使用準(zhǔn)確度、精確度、召回率和F1值四種指標(biāo)來(lái)評(píng)價(jià)命名實(shí)體識(shí)別方法。本文的實(shí)驗(yàn)在Windows 10 Professional(64位,Intel Core i7-10700CPU,@2.90 GHz和16 GB 內(nèi)存)上運(yùn)行,使用 Pycharm、Python 3.7 和PyTorch框架。
本文采集采購(gòu)流程中的工程師資格證、安全員證和職業(yè)資格證等631張圖片構(gòu)建數(shù)據(jù)集,如圖2所示,按照80%訓(xùn)練集和20%測(cè)試集的方式來(lái)劃分?jǐn)?shù)據(jù)集。數(shù)據(jù)集的標(biāo)注工作是通過(guò)YEDDA 軟件完成,初步標(biāo)注了4種實(shí)體,定義了9類(lèi)標(biāo)簽,各類(lèi)實(shí)體標(biāo)簽如表1所示。
表1 各類(lèi)實(shí)體標(biāo)簽Table 1 Various entity labels
圖2 工程師證書(shū)Fig.2 Engineer certificate
本文使用Paddle OCR v3模型識(shí)別采購(gòu)文件、工程師證書(shū)、國(guó)家職業(yè)資格證書(shū)等圖片文本,得到識(shí)別出的文本字符序列后,使用設(shè)計(jì)的文本邊界處理方法對(duì)文本進(jìn)行處理,然后采用BIO格式對(duì)文本字符進(jìn)行標(biāo)注得到文本輸入序列,標(biāo)注樣例如圖3所示。
圖3 標(biāo)注樣例Fig.3 Sample markers
將圖片文本輸入OCR 識(shí)別層,根據(jù)模型輸出的命名實(shí)體結(jié)果,利用損失函數(shù)計(jì)算標(biāo)簽序列的誤差。根據(jù)梯度下降優(yōu)化算法更新模型參數(shù)。具體的模型參數(shù)設(shè)置為:Embedding 大小設(shè)置為128,LSTM 模型的隱向量的維數(shù)為128,批處理大小(batch_size)為64,迭代次數(shù)(epoch)為30。設(shè)置網(wǎng)絡(luò)的損失函數(shù)為交叉熵?fù)p失函數(shù),利用Adam優(yōu)化方法更新參數(shù),使損失函數(shù)最小化,提高模型的泛化能力。模型訓(xùn)練的準(zhǔn)確率和損失變化如圖4所示。
圖4 O2V2BLC模型準(zhǔn)確率與損失Fig.4 O2V2BLC model accuracy and loss
為OCR 識(shí)別后字符序列經(jīng)常出現(xiàn)錯(cuò)亂,去掉O2V2BLC 模型的文本邊界處理層,與模型進(jìn)行了對(duì)比實(shí)驗(yàn),結(jié)果如圖5所示。與經(jīng)過(guò)字符序列編排的結(jié)果相比,模型的準(zhǔn)確率略低。
圖5 去掉文本邊界處理層的O2V2BLC模型指標(biāo)對(duì)比Fig.5 Comparison of metrics of O2V2BLC model with text boundary processing layer removed
為了對(duì)比模型中隱向量維數(shù)對(duì)命名實(shí)體識(shí)別模型的影響,將LSTM 隱向量的維數(shù)設(shè)置為16、32、64 和128,并進(jìn)行對(duì)比實(shí)驗(yàn),LSTM隱向量維數(shù)為隱藏層節(jié)點(diǎn)的個(gè)數(shù),得到模型準(zhǔn)確率和損失結(jié)果如圖6所示,LSTM隱向量維數(shù)的影響不大。
圖6 LSTM隱向量維數(shù)對(duì)O2V2BLC模型準(zhǔn)確率的影響Fig.6 Effect of LSTM hidden vector dimensionality on accuracy of O2V2BLC model
將Bert-Bi-LSTM-CRF 與O2V2BLC 模型進(jìn)行對(duì)比實(shí)驗(yàn),Bert-Bi-LSTM-CRF模型設(shè)置了12個(gè)Attention-head,768 個(gè)隱藏層單元,1.1×108個(gè)參數(shù),版本為Chinese_L-12_H-768_A-12。實(shí)驗(yàn)效果如圖7 所示,本文端到端模型準(zhǔn)確率有明顯提升。
圖7 模型準(zhǔn)確率對(duì)比Fig.7 Model accuracy comparison
為驗(yàn)證本文模型的有效性,本文模型與其他三個(gè)廣泛使用的模型進(jìn)行了對(duì)比。實(shí)驗(yàn)評(píng)估標(biāo)準(zhǔn)使用準(zhǔn)確率、召回率和F1值。
(1)HMM 模型:對(duì)數(shù)據(jù)集進(jìn)行序列標(biāo)注,該模型使用Viterbi算法進(jìn)行預(yù)測(cè),輸出最終的標(biāo)記結(jié)果。
(2)CRF 模型:對(duì)數(shù)據(jù)集進(jìn)行序列標(biāo)注,該模型使用詞向量作為CRF 的輸入,CRF 層輸出全局最優(yōu)的標(biāo)記結(jié)果。
(3)Bert-Bi-LSTM-CRF模型:使用Bert預(yù)訓(xùn)練模型獲取輸入文本序列的語(yǔ)義表示,得到文本序列中每個(gè)單詞的向量表示,將單詞的向量序列輸入到Bi-LSTM 層進(jìn)行進(jìn)一步的語(yǔ)義編碼,最后通過(guò)CRF層輸出全局最優(yōu)標(biāo)簽序列。
(4)O2V2BLC 模型:該模型是一個(gè)端到端模型,通過(guò)對(duì)字符進(jìn)行向量編碼,在向量空間實(shí)現(xiàn)文本上下文語(yǔ)義特征提取,設(shè)計(jì)約束規(guī)則計(jì)算各字符對(duì)應(yīng)標(biāo)簽的概率,通過(guò)計(jì)算損失函數(shù)實(shí)現(xiàn)模型的迭代優(yōu)化。
本文將提出的模型與以上三個(gè)模型進(jìn)行比較,性能指標(biāo)結(jié)果如表2所示。
表2 四種模型的實(shí)驗(yàn)結(jié)果比較Table 2 Comparison of experimental results of four models
從實(shí)驗(yàn)結(jié)果可以看出,本文O2V2BLC 模型的準(zhǔn)確率、召回率、F1 值比其他三個(gè)模型均有提升,說(shuō)明文本構(gòu)建的端到端命名實(shí)體識(shí)別模型具有較好的識(shí)別能力。
本文總結(jié)了基于統(tǒng)計(jì)概率和神經(jīng)網(wǎng)絡(luò)的命名實(shí)體識(shí)別方法,提出了一種跨模態(tài)的采購(gòu)文件圖片文本命名實(shí)體識(shí)別的端到端模型O2V2BLC,該模型將處理圖片文本中的字符映射到向量空間,設(shè)計(jì)Bi-LSTM 網(wǎng)絡(luò)捕獲字符序列的上下文語(yǔ)義,通過(guò)條件隨機(jī)場(chǎng)對(duì)字符概率進(jìn)行約束,獲得全局最優(yōu)標(biāo)記序列,并計(jì)算命名實(shí)體預(yù)測(cè)誤差優(yōu)化該模型的參數(shù)。本文模型自動(dòng)實(shí)現(xiàn)跨模態(tài)命名實(shí)體識(shí)別。本文雖然針對(duì)采購(gòu)文件場(chǎng)景提出該模型,但未使用特定領(lǐng)域的知識(shí),可以廣泛應(yīng)用于各領(lǐng)域文本圖片的命名實(shí)體識(shí)別。在未來(lái)的工作中,將考慮如何更好地應(yīng)用注意力機(jī)制表示句子以及引入更多的實(shí)體進(jìn)行實(shí)體關(guān)系抽取,進(jìn)一步探索應(yīng)用更加復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型處理圖片文本命名實(shí)體識(shí)別問(wèn)題。