邵詩韻,周 宇,楊 蕾,鐘茂生,戴 芮,趙家樂
(1.江西師范大學(xué)計(jì)算機(jī)信息工程學(xué)院,江西 南昌 330022; 2.江西省電力公司,江西 南昌 330077;3.江西省科學(xué)院,江西 南昌 330096; 4.國網(wǎng)甘肅省電力公司信息通信公司,甘肅 蘭州 730000)
隨著我國電力事業(yè)的迅速發(fā)展,電力招標(biāo)環(huán)節(jié)產(chǎn)生了數(shù)量體量龐大的專業(yè)性標(biāo)書文本??焖偬幚順?biāo)書,確定施工方案是提高工程效率、管理效率、企業(yè)效率的重要舉措之一。由于工程受到自然條件、技術(shù)限制、總投資量、國家政策等因素的影響,標(biāo)書存在變量屬性多、數(shù)據(jù)體量大、標(biāo)書信息繁復(fù)、篇幅長(zhǎng)、結(jié)構(gòu)復(fù)雜[1-3]的特點(diǎn)。與此同時(shí),關(guān)鍵信息分散在文本各部分,核心內(nèi)容密度低。標(biāo)書文本所具有的數(shù)據(jù)量大、類型豐富、信息密度低[3-4]、審核時(shí)間緊任務(wù)重的工作特征為標(biāo)書實(shí)現(xiàn)高效、準(zhǔn)確、快速評(píng)估和處理帶來巨大挑戰(zhàn)。
本文以電力建設(shè)工程標(biāo)書文本為處理對(duì)象,根據(jù)評(píng)估工作需求,采用條件隨機(jī)場(chǎng)(Conditional Random Field, CRF)模型實(shí)現(xiàn)對(duì)標(biāo)書文本的實(shí)體自動(dòng)識(shí)別和標(biāo)簽類別預(yù)測(cè)。
本文基于命名實(shí)體識(shí)別處理文本數(shù)據(jù)。命名實(shí)體識(shí)別是實(shí)現(xiàn)自動(dòng)閱讀、機(jī)器翻譯、信息檢索等自然語言處理任務(wù)的基礎(chǔ)環(huán)節(jié)[5-7]。由于在客觀世界中,現(xiàn)實(shí)存在的實(shí)例或概念都是被命名實(shí)體定義的,因此廣義的實(shí)體識(shí)別主要是識(shí)別目標(biāo)文本中的實(shí)體,包括7類(人名、地名、機(jī)構(gòu)名、時(shí)間、日期、貨幣和百分比)[8-11],具體實(shí)現(xiàn)時(shí)分為2個(gè)子任務(wù):一是切塊用于確定實(shí)體邊界;二是確定所識(shí)別實(shí)體的類型[12]。
針對(duì)中文的命名實(shí)體識(shí)別的主要難點(diǎn)如下:
1)詞組或短語的分割邊界模糊。中文文本不以空格、首字母大寫來標(biāo)記詞與詞之間的間隔或是句子的開頭。
2)無統(tǒng)一命名規(guī)則。無統(tǒng)一的實(shí)體命名規(guī)則導(dǎo)致實(shí)體的意義和外延存在差異,從而必須考慮上下文本信息。
3)詞典更新速度緩慢。實(shí)體具有衍生性,新詞層出不窮,數(shù)目龐大且更新速度快,這為命名實(shí)體識(shí)別帶來困難。
4)詞縮寫形式多樣造成的意義混淆。實(shí)體中存在大量縮寫現(xiàn)象。
5)中英文混用。由于中西方文化的融合,現(xiàn)存的自然語言文本存在很多中英文混用現(xiàn)象。
6)評(píng)測(cè)語料庫不足。由于中文命名實(shí)體識(shí)別的研究起步較晚,用于評(píng)測(cè)任務(wù)的高效客觀的實(shí)體標(biāo)注語料庫不多。
當(dāng)前,實(shí)現(xiàn)命名實(shí)體識(shí)別主要有3種方法:基于規(guī)則的方法、基于統(tǒng)計(jì)的方法以及基于規(guī)則和統(tǒng)計(jì)的混合方法[13]。
基于規(guī)則的方法主要由2個(gè)部分構(gòu)成:包含一系列規(guī)則的集合和控制約束規(guī)則的觸發(fā)策略集[14]。模板描述語言特征的準(zhǔn)確與否將直接影響命名實(shí)體識(shí)別的效果。
基于統(tǒng)計(jì)的識(shí)別方法雖然不需要建立語言規(guī)則,但需要通過訓(xùn)練數(shù)據(jù)集進(jìn)行模型訓(xùn)練,并調(diào)整統(tǒng)計(jì)模型的參數(shù)[15-16]。
常用的命名實(shí)體識(shí)別工具包括NLTK、NER自然語言處理平臺(tái)、SpaCy工具、NLPIR分詞系統(tǒng)等。
由賓夕法尼亞大學(xué)計(jì)算機(jī)與信息科學(xué)系主持研發(fā)的NLTK[17]主要針對(duì)英文文本。但由于標(biāo)注結(jié)果過于細(xì)致,例如輸出結(jié)果包含語法標(biāo)記,不利于提取結(jié)果以及后期的數(shù)據(jù)結(jié)構(gòu)化存儲(chǔ)。
NER[18]是由斯坦福大學(xué)自然語言研究小組發(fā)布的一款基于Java的命名實(shí)體識(shí)別系統(tǒng),由于跨平臺(tái)開發(fā),在使用中會(huì)出現(xiàn)無解的問題。
SpaCy[19]是一款由Explosion AI研究小組開發(fā)的工業(yè)級(jí)別的實(shí)體識(shí)別工具,通過使用大量的Cython(Python超集)提高模塊性能,但只針對(duì)英文。
張華平博士等研發(fā)的NLPIR[20],是中文信息處理領(lǐng)域做得較好的一款具有分詞和命名實(shí)體識(shí)別功能的工具,但無法實(shí)現(xiàn)基于工業(yè)的生產(chǎn)型目標(biāo)。
針對(duì)上述研究現(xiàn)狀,結(jié)合電力建設(shè)工程標(biāo)書文本實(shí)際需求,本文采用CRF條件隨機(jī)場(chǎng)模型實(shí)現(xiàn)對(duì)標(biāo)書文本的實(shí)體識(shí)別。
條件隨機(jī)場(chǎng)模型是基于最大熵模型和隱馬爾可夫模型提出的。
在馬爾可夫隨機(jī)場(chǎng)基礎(chǔ)上,假設(shè)隨機(jī)場(chǎng)中只含有2類隨機(jī)變量X和Y,X給定,是一組互不相交的觀測(cè)變量序列集,Y則是目標(biāo)變量序列集,是X的輸出序列。
當(dāng)隨機(jī)變量X和Y被指定具有相同的圖結(jié)構(gòu)時(shí),線性鏈的情況如圖1所示。
圖1 線性鏈條件隨機(jī)場(chǎng)
由于Xi的值在使用網(wǎng)絡(luò)時(shí)被假設(shè)為可被觀測(cè)的,因此在圖中用黑色圓圈表示,而由于狀態(tài)序列Yi是隱藏的,用白色圓圈標(biāo)記。
在線性鏈條件隨機(jī)場(chǎng)中,假設(shè)X=(X1,X2,…,Xn),Y=(Y1,Y2,…,Yn)為隨機(jī)變量序列。Y的條件概率分布P(Y|X)所形成的條件隨機(jī)場(chǎng),滿足馬爾可夫性,可寫為:
P(Yi|X,Y1,…,Yi-1,Yi,…,Yn)=P(Yi|X,Yi-1,Yi+1)
(1)
其中,i=1,2,…,n,在i=1和n時(shí)只考慮單邊。
模型訓(xùn)練主要涉及2方面任務(wù):
1)計(jì)算轉(zhuǎn)移特征函數(shù)的代價(jià),它與計(jì)算狀態(tài)特征函數(shù)的代價(jià)相似,用于求得對(duì)給定yi-1,從yi-1轉(zhuǎn)移到y(tǒng)i的非規(guī)范化概率:對(duì)觀測(cè)序列x的每一個(gè)位置,定義一個(gè)m×m矩陣(m是y所有可能狀態(tài)取值個(gè)數(shù))。
(2)
每一項(xiàng)特征函數(shù)只有同時(shí)接受x和y才能決定輸出0還是1。
2)計(jì)算期望值。運(yùn)用前向后向算法,分別對(duì)節(jié)點(diǎn)期望值以及對(duì)應(yīng)邊求得對(duì)應(yīng)的轉(zhuǎn)移特征函數(shù)關(guān)于條件分布P(Yi=yi|x)和p(Yi-1=yi-1,Yi=yi|x)的數(shù)學(xué)期望值,從而得到條件分布的數(shù)學(xué)期望值。在獲得前向概率α和后向概率β以及規(guī)范因子Z之后,求得梯度以及目標(biāo)函數(shù)。
電力工程標(biāo)書文本特征鮮明,經(jīng)研究分析,主要具有以下特征:
1)不涉及人名識(shí)別。作為工程類文本,內(nèi)容中一般不涉及人名識(shí)別,即PER類。
2)語言形式復(fù)雜。工程類文本的內(nèi)容包含大量的數(shù)據(jù)、參數(shù)和大量的特殊符號(hào),中英文混雜。
3)專業(yè)術(shù)語數(shù)量多。工程類文本中出現(xiàn)的專業(yè)術(shù)語數(shù)目龐大。
4)語法規(guī)則豐富。工程類文本的語法規(guī)則豐富,結(jié)構(gòu)復(fù)雜多變,建立統(tǒng)一規(guī)則的難度較大。
5)實(shí)體數(shù)目龐大。比起常規(guī)文本,文本中包含的信息量類別以及本身的數(shù)量呈劇增的趨勢(shì),直接影響識(shí)別的準(zhǔn)確率和F1值。
實(shí)驗(yàn)數(shù)據(jù)采用經(jīng)過數(shù)據(jù)安全處理的某電力基建項(xiàng)目投標(biāo)文本,總計(jì)2800條數(shù)據(jù),以8∶2進(jìn)行數(shù)據(jù)分割,劃分為訓(xùn)練數(shù)據(jù)與測(cè)試數(shù)據(jù)。
結(jié)合實(shí)際數(shù)據(jù)需求,本文列出了如表1語料中標(biāo)注出來的4項(xiàng)實(shí)體標(biāo)注類型。
表1 實(shí)體標(biāo)注類型
訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集類似,兩者都包含多列。將每一列定義為一個(gè)類,最后一列是實(shí)體標(biāo)注結(jié)果且與第一列中的觀察序列X對(duì)應(yīng)的實(shí)體標(biāo)注序列C,必須與第一列長(zhǎng)度相同。假定觀察序列中的每個(gè)字為xi,實(shí)體標(biāo)注序列中的每一個(gè)標(biāo)注標(biāo)簽為ci,本文采用BIO標(biāo)注體系,B表示實(shí)體的開始字(Begin-of-entity),I表示實(shí)體的中間部分(continuation-of-entity),O表示xi不在命名實(shí)體中(in no entity)。以B-,I-,O的形式出現(xiàn),其中B-和I-后跟實(shí)體的類型,對(duì)文本中的每個(gè)字實(shí)現(xiàn)分類標(biāo)注,標(biāo)注類型總計(jì)9種,如表2所示。
表2 實(shí)體類型清單
如圖2所示是本文對(duì)原始電力標(biāo)書文本的關(guān)鍵信息提取和標(biāo)簽分類預(yù)測(cè)的流程圖。分詞部分的工作采用現(xiàn)有的Jieba分詞方法實(shí)現(xiàn)命名實(shí)體識(shí)別的前序任務(wù)。
圖2 實(shí)體識(shí)別和標(biāo)簽分類預(yù)測(cè)流程圖
在模型訓(xùn)練中,對(duì)訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集的格式要求相同,文件須包含2列及以上,在觀察序列和實(shí)體標(biāo)注類之間可根據(jù)需要包含多類,每一行可表示為[word,F1,F2,F3,…,class],word表示觀察序列當(dāng)前所指的字xi,F(xiàn)表示xi的特征類,class表示與觀察序列xi對(duì)應(yīng)的命名實(shí)體類型。如表3所示為訓(xùn)練數(shù)據(jù)集中的部分實(shí)例。
表3 訓(xùn)練數(shù)據(jù)集實(shí)例
通過對(duì)文本的分析,確定重點(diǎn)需要進(jìn)行命名實(shí)體識(shí)別的內(nèi)容和對(duì)象,例如工程屬性這一塊,將從13個(gè)方面,超過40項(xiàng)小類做分析,包括:路徑,氣象條件,導(dǎo)、地線,導(dǎo)、地線防振,導(dǎo)線相序及換位,絕緣配置,防雷和接地,金具及絕緣子串,鐵塔,基礎(chǔ),防舞設(shè)計(jì),在線監(jiān)測(cè)配置,設(shè)計(jì)新技術(shù)研究及應(yīng)用。以此為基礎(chǔ),對(duì)每一塊內(nèi)容做具體的細(xì)分,重點(diǎn)針對(duì)工程屬性以及工程屬性參數(shù),表4為部分被提取的工程屬性實(shí)體。
表4 部分工程屬性實(shí)體
特征模版的抽取是為了設(shè)置特征函數(shù)的權(quán)值,向?qū)W習(xí)機(jī)器提供并強(qiáng)調(diào)在識(shí)別過程中必須關(guān)注的語料特征。
一行對(duì)應(yīng)一個(gè)Template,每個(gè)Template含有宏T**:%x [row, col],T表示模板類型;**表示每一條Template的行編號(hào),無物理含義,方便用戶閱讀。row表示與當(dāng)前位置i 的相對(duì)行數(shù),col指絕對(duì)列數(shù)。例如U01:%x[-2,0],CRF++會(huì)根據(jù)此模板自動(dòng)生成一組特征函數(shù)集合[fun1,fun2,…,funN]。上述模板窗口大小為5,工具中限制最大的窗口寬度為17,因此用戶可以根據(jù)自身需要確定窗口大小。具體說明如表5和表6所示。
表5 行列對(duì)應(yīng)說明
表6 部分模板表示說明
根據(jù)輸入的Template特征模板和train_file文件自動(dòng)學(xué)習(xí)生成Model識(shí)別模型并將訓(xùn)練過程中的相關(guān)數(shù)據(jù)寫入文件。整個(gè)過程中經(jīng)多次實(shí)驗(yàn)、測(cè)試、驗(yàn)證和調(diào)整,對(duì)比各項(xiàng)數(shù)據(jù),本實(shí)驗(yàn)的特征的超參數(shù)(Hyper-Parameter)c取值為2.5。
得到Model后,執(zhí)行“crf_test -m model test_file>>result_file”。最終得到的測(cè)試結(jié)果形式為[word,F1,F2,F3,…,class1,class2],其中class1為人工標(biāo)注的實(shí)體標(biāo)注結(jié)果,class2為測(cè)試結(jié)果,方便比較和評(píng)測(cè)。部分模型測(cè)試結(jié)果如表7所示。
表7 部分模型測(cè)試結(jié)果實(shí)例
本文采用準(zhǔn)確率P,召回率R,綜合指標(biāo)F1值這3個(gè)評(píng)測(cè)指標(biāo)來衡量實(shí)驗(yàn)結(jié)果。
準(zhǔn)確率P表示正確識(shí)別的實(shí)體個(gè)數(shù)t與在測(cè)試結(jié)果中所有識(shí)別出來的命名實(shí)體個(gè)數(shù)pw之比,表達(dá)式為:
(3)
召回率R表示正確識(shí)別實(shí)體個(gè)數(shù)t與測(cè)試數(shù)據(jù)集中實(shí)際存在所有實(shí)體個(gè)數(shù)rw之比,表達(dá)式為:
(4)
F1值用于評(píng)價(jià)結(jié)果的綜合能力,理想情況下,P和R的值越高,則說明實(shí)驗(yàn)效果越好,然而兩者存在矛盾關(guān)系,因此引入F1值概念,表達(dá)式為:
(5)
其中,β指R和P的相對(duì)權(quán)值,是調(diào)和參數(shù)。當(dāng)β=1時(shí),表示P和R同等重要;當(dāng)β>1時(shí),P為主要參考值;當(dāng)β<1時(shí),R為主要參考值。取值根據(jù)實(shí)際情況做調(diào)整。
測(cè)評(píng)得出實(shí)驗(yàn)的整體精確度、總體準(zhǔn)確率、召回率以及F1值,如表8所示。
表8 基于CRF的實(shí)驗(yàn)結(jié)果
而采用NLPIR得到的部分?jǐn)?shù)據(jù)結(jié)果與本文方法的對(duì)比結(jié)果如圖3和表9所示。
圖3 NLPIR的命名實(shí)體識(shí)別效果
表9 分別使用NLPIR和本文方法的目標(biāo)欲識(shí)別實(shí)體和實(shí)際被識(shí)別實(shí)體數(shù)據(jù)對(duì)比
NLPIR做出的命名實(shí)體識(shí)別并不理想,命中實(shí)體識(shí)別率效果較差,且NLPIR只識(shí)別6類命名實(shí)體,包括:人名、地名、機(jī)構(gòu)名、作者、時(shí)間、媒體另附關(guān)鍵詞,不僅對(duì)地名類的命名實(shí)體識(shí)別效果不佳,也無法根據(jù)電力標(biāo)書的信息讀取標(biāo)準(zhǔn)和要求實(shí)現(xiàn)自定義識(shí)別對(duì)象的屬性分類。而本文設(shè)計(jì)提出的基于CRF的方法實(shí)體識(shí)別準(zhǔn)確率更高,且實(shí)體分類更為客觀合理,可根據(jù)項(xiàng)目需求,自定義設(shè)置識(shí)別對(duì)象的類型,符合生產(chǎn)需求。
本文所提出的針對(duì)電力工程建設(shè)標(biāo)書文本的關(guān)鍵信息的識(shí)別提取以及標(biāo)簽預(yù)測(cè)方法是基于投標(biāo)項(xiàng)目評(píng)估工作中的評(píng)價(jià)指標(biāo)和要求設(shè)計(jì)的。由于在此之前,沒有相關(guān)的研究將自然語言處理技術(shù)應(yīng)用在電力領(lǐng)域的中文文本處理中,而現(xiàn)有的處理工具和技術(shù)主要針對(duì)一般性的自由文本以及社交媒體領(lǐng)域、醫(yī)學(xué)信息領(lǐng)域和教育領(lǐng)域,且本文所提出的面向行業(yè)的自定義的標(biāo)簽分類方案是全新的,在3.6節(jié)的實(shí)驗(yàn)結(jié)果對(duì)比中,本文采用了具體化的方式將結(jié)果以表格的形式對(duì)比呈現(xiàn)。NLPIR只針對(duì)人名、地名、機(jī)構(gòu)名、作者、時(shí)間、媒體另附關(guān)鍵詞做識(shí)別分類,而本文提出的關(guān)鍵信息的分類是4類:參數(shù)屬性、工程參數(shù)、專業(yè)術(shù)語說明、地名。
本文的方法已作為輔助文本處理工具,被應(yīng)用于某省電力公司的年度招標(biāo)工作中,節(jié)省了相關(guān)工作人員的材料處理時(shí)間,并通過內(nèi)嵌投標(biāo)工具的方式,形成一體化招投標(biāo)平臺(tái),并且還被應(yīng)用于現(xiàn)場(chǎng)作業(yè)環(huán)節(jié)中的前期指導(dǎo)環(huán)節(jié),通過處理歷史作業(yè)日志,生成全面的供電基建設(shè)備現(xiàn)場(chǎng)作業(yè)指南。
方法方面,本文選擇的基于條件隨機(jī)場(chǎng)的監(jiān)督學(xué)習(xí)雖有較高的正確率但要求大量的標(biāo)注數(shù)據(jù)集,因此前期的數(shù)據(jù)標(biāo)注工作量巨大。隨著深度學(xué)習(xí)的廣泛應(yīng)用,接下來將考慮使用多層感知機(jī)的無監(jiān)督學(xué)習(xí)方式來減小標(biāo)注代價(jià),并在此基礎(chǔ)之上使用監(jiān)督學(xué)習(xí)的方法提高預(yù)測(cè)正確率。
在電力建設(shè)招標(biāo)過程中,對(duì)數(shù)據(jù)體量龐大、數(shù)據(jù)類型繁多、核心內(nèi)容密度低的電力標(biāo)書文本的高效、精準(zhǔn)快速讀取、審核、評(píng)估、處理、存儲(chǔ)面臨諸多困難,傳統(tǒng)人工方式存在專業(yè)要求嚴(yán)格、成本高、速度慢、準(zhǔn)確率低等問題。本文提出并設(shè)計(jì)將CRF條件隨機(jī)場(chǎng)模型應(yīng)用到電力工程標(biāo)書實(shí)體的自動(dòng)識(shí)別能有效滿足電力行業(yè)需要在短時(shí)間內(nèi)快速精準(zhǔn)地完成標(biāo)書處理的工作需求,并為數(shù)據(jù)結(jié)構(gòu)化存儲(chǔ)、數(shù)據(jù)庫的建立提供參考應(yīng)用價(jià)值。本文主要集中于對(duì)電力標(biāo)書數(shù)據(jù)的快速自動(dòng)化讀取研究,在如何縮短訓(xùn)練數(shù)據(jù)的準(zhǔn)備時(shí)間和采取何種手段以有效提高機(jī)器的訓(xùn)練速度方面仍需進(jìn)一步研究。