周海華 曹春萍
摘? 要: 傳統(tǒng)的中文分詞方法是一種基于單詞標(biāo)注的傳統(tǒng)機(jī)器學(xué)習(xí)方法,但學(xué)習(xí)方法需要人工配置和提取中文文本的特征。缺點(diǎn)是同義詞庫(kù)維度較高且CPU訓(xùn)練模型較長(zhǎng)。本文針對(duì)以上問(wèn)題進(jìn)行了研究,構(gòu)建了內(nèi)嵌條件隨機(jī)場(chǎng)的長(zhǎng)短時(shí)神經(jīng)網(wǎng)絡(luò)模型,使用長(zhǎng)短時(shí)神經(jīng)網(wǎng)絡(luò)隱含層的上下文向量作為輸出層標(biāo)注的特征,使用內(nèi)嵌的條件隨機(jī)場(chǎng)模型表示標(biāo)注之間的約束關(guān)系采用雙向 LSTM和CRF相結(jié)合的訓(xùn)練方法進(jìn)行特定領(lǐng)域知識(shí)點(diǎn)的中文分詞。對(duì)中文分詞測(cè)試常用語(yǔ)料庫(kù)的實(shí)驗(yàn)比較表明,基于BLSTM和CRF網(wǎng)絡(luò)模型的方法可以獲得比傳統(tǒng)機(jī)器學(xué)習(xí)方法更好的性能;使用六字標(biāo)記并添加預(yù)訓(xùn)練的字嵌入向量可以實(shí)現(xiàn)相對(duì)較好的分詞性能;BLSTM-CRF網(wǎng)絡(luò)模型方法更易于推廣并應(yīng)用于其他自然語(yǔ)言處理中的序列標(biāo)注任務(wù)。
關(guān)鍵詞: 實(shí)體識(shí)別;神經(jīng)網(wǎng)絡(luò);BLSTM;CRF
中圖分類號(hào): TP391. 41? ? 文獻(xiàn)標(biāo)識(shí)碼: A? ? DOI:10.3969/j.issn.1003-6970.2019.02.001
【Abstract】: The traditional Chinese word segmentation method is a traditional machine learning method based on word annotation, but the learning method requires manual configuration and extraction of Chinese text features. The disadvantage is that the thesaurus has a higher dimension and the CPU training model is longer. In this paper, the above problems are studied, and the long-term and short-term neural network model of embedded conditional random field is constructed. The context vector of the hidden layer of the long-term neural network is used as the feature of the output layer annotation, and the embedded conditional random field model is used to represent the annotation. The constraint relationship between the two-way LSTM and CRF combined training methods for Chinese word segmentation of specific domain knowledge points. The experimental comparison of the common corpus of Chinese word segmentation test shows that the method based on BLSTM-CRF network model can obtain better performance than the traditional machine learning method; using six-character mark and adding pre-trained word embedding vector can achieve relatively good segmentation Performance; BLSTM-CRF network model methods are easier to generalize and apply to sequence annotation tasks in other natural language processing.
【Key words】: Entity recognition; Neural Networks; BLSTM; CRF
0? 引言
互聯(lián)網(wǎng)應(yīng)用的爆發(fā)式增長(zhǎng),對(duì)海量數(shù)據(jù)的分類和知識(shí)發(fā)現(xiàn)提出了新的要求,知識(shí)圖譜在自然語(yǔ)言處理(Natural Language Processing, NLP)領(lǐng)域的作用越來(lái)越大,其中知識(shí)庫(kù)就是構(gòu)建知識(shí)圖譜的重中之重,然而這些知識(shí)庫(kù)往往缺乏一定的領(lǐng)域通用性,不能滿足特定領(lǐng)域下的需求,對(duì)于一個(gè)特定領(lǐng)域的知識(shí)圖譜,領(lǐng)域?qū)嶓w與實(shí)體關(guān)系的數(shù)量龐大,若以人力統(tǒng)計(jì)構(gòu)建,耗時(shí)且費(fèi)力,更重要的是,特定區(qū)域中的數(shù)據(jù)源并非全部是結(jié)構(gòu)化的或半結(jié)構(gòu)化的,并且在大多數(shù)情況下以非結(jié)構(gòu)化形式存在。這也大大增加了特定領(lǐng)域知識(shí)的獲取難度。
知識(shí)是客觀事物的屬性和聯(lián)系的反映,是人腦中客觀世界的主觀形象。人的學(xué)習(xí)是以知識(shí)點(diǎn)為單位的,對(duì)于考生來(lái)說(shuō),時(shí)間是最為寶貴的資源,如何高效準(zhǔn)確的找出題目中的關(guān)鍵知識(shí)點(diǎn)并加以攻克對(duì)于考生針對(duì)性復(fù)習(xí)具有重大意義。文獻(xiàn)[1]使用正則表達(dá)式來(lái)匹配知識(shí)點(diǎn)的類型并掃描整個(gè)文本數(shù)據(jù),解決了如何讓計(jì)算機(jī)快速自動(dòng)提取教科書(shū)中的知識(shí)點(diǎn)的問(wèn)題;文獻(xiàn)[2]在知識(shí)組織與管理相關(guān)理論基礎(chǔ)上,建立知識(shí)元描述模型,提出基于知識(shí)元的向?qū)畔⑻崛》椒ê椭R(shí)元標(biāo)引方法;文獻(xiàn)[3]提出將科學(xué)研究領(lǐng)域置于其背景學(xué)科中,并從全球視角檢驗(yàn)該領(lǐng)域內(nèi)外關(guān)鍵詞的統(tǒng)計(jì)特征。并依此提出關(guān)鍵詞領(lǐng)域度的概念和計(jì)算方法。然而上述研究大多耗時(shí)耗力,且涉及主觀判斷,影響實(shí)驗(yàn)結(jié)果。因此本文提出將神經(jīng)網(wǎng)絡(luò)模型和學(xué)科知識(shí)點(diǎn)提取相結(jié)合,準(zhǔn)確而高效的獲取試題中的知識(shí)點(diǎn),因此,本文的研究問(wèn)題可以理解為特定領(lǐng)域中的生命關(guān)鍵實(shí)體識(shí)別技術(shù)。
1? 相關(guān)研究
命名實(shí)體識(shí)別是自然語(yǔ)言處理領(lǐng)域的關(guān)鍵任務(wù)。目前,命名實(shí)體識(shí)別主要利用有監(jiān)督的機(jī)器學(xué)習(xí)方法,然而監(jiān)督學(xué)習(xí)的訓(xùn)練數(shù)據(jù)大多來(lái)源于人工標(biāo)識(shí),樣本數(shù)據(jù)缺乏且樣本數(shù)據(jù)的約束性較弱,這使得難以在小樣本數(shù)據(jù)上生成廣義命名實(shí)體識(shí)別結(jié)果。此外,由于中文語(yǔ)法的特殊性,詞與詞之間缺少明確的分割符。中文分詞領(lǐng)域有三種常用的手段:基于詞表的方法、基于傳統(tǒng)統(tǒng)計(jì)模型的方法和基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的方法。
基于詞匯的分詞方法有多種表現(xiàn)形態(tài)。劉元[4]做了一些總結(jié)性的工作,介紹了包括前向最大匹配、反向最大匹配和雙向掃描在內(nèi)的三種方法?;谠~匯的分詞方法非常依賴于詞匯,在中文分詞命名實(shí)體上識(shí)別效果較差。
基于傳統(tǒng)的分詞概率統(tǒng)計(jì)模型,自Bakeoff競(jìng)賽以來(lái),涌現(xiàn)出大量相關(guān)工作論文。最常見(jiàn)的做法是將中文分詞問(wèn)題視為序列標(biāo)注問(wèn)題,將中文字符標(biāo)記為4位標(biāo)簽集(B,M,E,S)之一,然后使用標(biāo)記規(guī)則進(jìn)行分詞。彭等人或者他們的聯(lián)合模型,其性能受到功能集的限制。在實(shí)際使用中,通常有太多的特征導(dǎo)致模型出現(xiàn)過(guò)度擬合的情況。
基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的分詞方法,通過(guò)從源數(shù)據(jù)中自主學(xué)習(xí),挖掘出更深層次、更抽象的文本特征。由于該特征并不是人工標(biāo)識(shí)的,因此它克服了傳統(tǒng)統(tǒng)計(jì)模型的局限性,在NLP任務(wù)中展現(xiàn)出更佳的性能。Collobert等人[7]就是利用神經(jīng)網(wǎng)絡(luò)這一天然優(yōu)勢(shì),擯棄了傳統(tǒng)的人工特征設(shè)定及提取的方式,在英文文本標(biāo)注方面取得了較好效果。Zheng 等人[8]按照文獻(xiàn)[7]中提出的思路,首次將深度學(xué)習(xí)方法運(yùn)用到中文分詞任務(wù)上,并用感知器算法替換原本的神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法,加速了模型的訓(xùn)練過(guò)程。之后,Chen等人[9-10]提出了具有上下文記憶單元的LSTM(Long Short-Term Memory)模型用于中文分詞,實(shí)現(xiàn)的結(jié)果可與傳統(tǒng)的統(tǒng)計(jì)模型分割方法相媲美。但是單向LSTM模型只記憶上文信息,對(duì)下文信息卻不予處理。中文語(yǔ)句結(jié)構(gòu)較為復(fù)雜,而中文大意需要聯(lián)系上下文方能知其大意,因此Yao等人[11]提出了雙向LSTM(BLSTM)模型,大大提高了分詞的準(zhǔn)確率。2018年Jing等人[12],將雙向的LSTM模型運(yùn)用到中文分詞任務(wù)中,并創(chuàng)新地引入了貢獻(xiàn)率α,通過(guò)α對(duì)隱藏層的權(quán)重矩陣進(jìn)行調(diào)節(jié),進(jìn)一步提高了分詞正確率。上述大多數(shù)神經(jīng)網(wǎng)絡(luò)都是基于四字位置標(biāo)注方法,不能完全表達(dá)單詞中每個(gè)單詞的詞匯信息。盡管這些深度神經(jīng)網(wǎng)絡(luò)模型的分詞方法已取得不錯(cuò)的效果,但為了應(yīng)對(duì)日益增長(zhǎng)的用戶需求,準(zhǔn)確率還需亟待提高。
鑒于上述問(wèn)題,本文提出建立一種基于LSTM神經(jīng)網(wǎng)絡(luò)的BLSTM-CRF分詞模型。通過(guò)使用六個(gè)字位置注釋并添加預(yù)訓(xùn)練字嵌入向量來(lái)執(zhí)行中文分詞。通過(guò)對(duì)Bakeoff2015數(shù)據(jù)集進(jìn)行的性能測(cè)試,實(shí)驗(yàn)結(jié)果表明在相同的分詞模型下,與LSTM模型和BLSTM模型相比,BLSTM-CRF分割模型在簡(jiǎn)體中文和繁體中文中都有很好的表現(xiàn)。在NLP任務(wù)中更容易推廣到其他序列標(biāo)記問(wèn)題,并具備一定程度的范化能力。
2? 模型介紹
2.1? BLSTM
模型的第一層是雙向LSTM層,用于自動(dòng)提取語(yǔ)句級(jí)別的特征。LSTM循環(huán)單元模塊具有不同的結(jié)構(gòu),并且有四個(gè)神經(jīng)網(wǎng)絡(luò)層以特殊方式相互作用。主要有三種門結(jié)構(gòu)(忘記門,輸入門,輸出門)和存儲(chǔ)單元。另外LSTM網(wǎng)絡(luò)特性在于提出了單元細(xì)胞狀態(tài)的概念。
2.2? CRF
CRF是基于概率圖的統(tǒng)計(jì)模型。由于可以手動(dòng)添加多種特征,因此可以利用更豐富的上下文信息。該模型實(shí)現(xiàn)了全局歸一化,可以獲得全局最優(yōu)解,有效地解決了標(biāo)記偏差問(wèn)題。這種考慮狀態(tài)前后影響的序列標(biāo)記的處理辦法與BLSTM模型利用上下文特征的思想極為相似。
在中文分詞中有兩種序列標(biāo)注思想。第一種是根據(jù)時(shí)間順序預(yù)測(cè)從前到后的序列標(biāo)簽分布,例如最大熵Markov模型。第二是從句子層面考慮標(biāo)簽問(wèn)題。它也將受到未來(lái)狀態(tài)的影響,例如線性隨機(jī)場(chǎng)模型(CRF),如圖1所示。
2.3? BLSTM-CRF
BLSTM-CRF是將BLSTM模型和CRF模型組合起來(lái),即在BLSTM網(wǎng)絡(luò)的輸出層后加一層CRF線性層,有效地解決了傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)存在梯度消失或梯度爆炸問(wèn)題[13],模型結(jié)構(gòu)如圖2所示。
模型中X表示輸入層,A表示LSTM記憶單元,y表示輸出層,即每個(gè)字的標(biāo)注信息。該模型擁有兩個(gè)相反方向的隱藏層,其運(yùn)行方式與常規(guī)神經(jīng)網(wǎng)絡(luò)的運(yùn)行方式相同,這兩個(gè)層分別從句子的前后兩端分別工作,存儲(chǔ)來(lái)自兩個(gè)方向的文本信息,結(jié)合上下文的特征,并且經(jīng)由CRF層充分地考慮上下文的標(biāo)簽信息。從而使得BLSTM-CRF在中文分詞中擁有更佳表現(xiàn)。
3? 實(shí)驗(yàn)
3.1? 實(shí)驗(yàn)環(huán)境,數(shù)據(jù)集及評(píng)價(jià)標(biāo)準(zhǔn)
(1)硬件環(huán)境及操作系統(tǒng)
處理器:intel@Corei7CPU@3.60GHz*8,內(nèi)存:16G,GPU:TITAN X (Pascal),操作系統(tǒng):Ubuntu16.04。
為了公正的評(píng)估模型的分詞性能,實(shí)驗(yàn)采用了 SIGHAN規(guī)定的“封閉測(cè)試”原則,其評(píng)價(jià)指標(biāo)有:準(zhǔn)確率(P),召回率(R),綜合指標(biāo)值(F)。
(2)實(shí)現(xiàn)中使用的工具包
本文設(shè)計(jì)實(shí)現(xiàn)的高中物理學(xué)科知識(shí)點(diǎn)命名實(shí)體識(shí)別程序,開(kāi)發(fā)語(yǔ)言為Python,開(kāi)發(fā)過(guò)程中調(diào)用了下面的工具包。jieba-0.38。結(jié)巴分詞模塊可支持精確模式、全模式、搜索引擎模式三種分詞方式,支持基于概率的用戶詞典。實(shí)驗(yàn)過(guò)程中使用精確模式并結(jié)合加載外部用戶詞典,從原文本產(chǎn)生分詞語(yǔ)料。詞典格式設(shè)計(jì)為一個(gè)詞占一行,涵蓋常用物理學(xué)上的專有名詞即確定的實(shí)體邊界。
3.2? 實(shí)驗(yàn)設(shè)計(jì)及結(jié)果分析
(1)數(shù)據(jù)處理
數(shù)據(jù)處理的第一步是分割文本,然后使用word2vec進(jìn)行單詞矢量訓(xùn)練,并使用訓(xùn)練過(guò)的單詞矢量作為神經(jīng)網(wǎng)絡(luò)模型的輸入。使用LSTM等神經(jīng)網(wǎng)絡(luò)處理數(shù)據(jù),需要對(duì)文本進(jìn)行向量化處理。文本向量化的方式主要有兩種:集中式表示和分布式表示[18]。集中表示將每個(gè)單詞表示為非常長(zhǎng)的向量。分布式表示的方式由低維向量表示,使得相關(guān)單詞在語(yǔ)義上更接近,通常稱為嵌入。以前的研究表明,添加預(yù)訓(xùn)練的單詞嵌入向量可以提高自然語(yǔ)言處理任務(wù)的性能。
(2)實(shí)驗(yàn)設(shè)計(jì)
首先準(zhǔn)備一些歷年高考物理題目,通過(guò)word2vec進(jìn)行單詞向量訓(xùn)練,并使用訓(xùn)練過(guò)的單詞向量作為BLSTM模型的輸入。再將BLSTM模型的輸出作為CRF層的輸入。
在物理學(xué)專家指導(dǎo)下人工標(biāo)注了100×4條實(shí)體語(yǔ)料,并建立字典,字典中包括實(shí)體和實(shí)體類型。 其次,利用模型生成部分實(shí)體標(biāo)注語(yǔ)料,并設(shè)計(jì)程序自動(dòng)校對(duì),校對(duì)程序判斷模型生成的語(yǔ)料是否與字典中的一致,包括實(shí)體和實(shí)體類型是否一致。 最后,生成深度學(xué)習(xí)模型需要的 BIO字標(biāo)簽形式語(yǔ)料。反復(fù)迭代下去,不斷優(yōu)化模型生成語(yǔ)料,直至建立好模型需要的語(yǔ)料。
(3)實(shí)驗(yàn)結(jié)果
將通過(guò)分詞工具得到的詞向量分別輸入到多特征CRF、LSTM、BLSTM、LSTM-CRF和 BLSTM- CRF模型,我們比較這幾種不同模型得到的實(shí)體識(shí)別效果,具體結(jié)果如表1所示。
從上表可以看出,文獻(xiàn)[19]中采用的多特征CRF模型準(zhǔn)確率和召回率相對(duì)較低,其原因在于模型的效果取決于手工設(shè)計(jì)的特征,找出的有效特征越多則模型越好。LSTM-CRF模型準(zhǔn)確率達(dá)到 89.64%,采用的BLSTM-CRF模型準(zhǔn)確率達(dá)到 90.47%,召回率達(dá)到83.74%,說(shuō)明雙向遞歸神經(jīng)網(wǎng)絡(luò)的效果優(yōu)于單向遞歸神經(jīng)網(wǎng)絡(luò)。
4? 結(jié)論
本文的工作是建立一個(gè)基于LSTM神經(jīng)網(wǎng)絡(luò)的BLSTM-CRF分詞模型,并將其應(yīng)用于知識(shí)點(diǎn)識(shí)別和提取。通過(guò)使用不同的單詞位置注釋并添加訓(xùn)練前的單詞嵌入向量來(lái)執(zhí)行中文分詞。通過(guò)比較Bakeoff 2005數(shù)據(jù)集上的分詞性能測(cè)試,并與之前的研究結(jié)果進(jìn)行比較:在相同的分詞模型下,六字標(biāo)記比四字標(biāo)記具有更好的分詞性;與LSTM模型和BLSTM模型相比較,在中文分詞任務(wù)上,BLSTM- CRF模型在各種指標(biāo)上具有更加優(yōu)良的性能。在自然語(yǔ)言處理中更容易推廣到其他序列標(biāo)注問(wèn)題,并具備一定程度的泛化能力。
參考文獻(xiàn)
[1] 孫勤紅, 朱穎文. 正則表達(dá)式在計(jì)算機(jī)類教材知識(shí)點(diǎn)提取的應(yīng)用[J]. 計(jì)算機(jī)與現(xiàn)代化, 2009(7): 110-112.
[2] 蔣玲. 面向?qū)W科的知識(shí)元標(biāo)引關(guān)鍵技術(shù)研究[D]. 華中師范大學(xué), 2011.
[3] 陳果. 全局視角下的科研領(lǐng)域特色知識(shí)點(diǎn)提取[J]. 圖書(shū)情報(bào)工作, 2014(14): 98-102.
[4] 劉源. 信息處理用現(xiàn)代漢語(yǔ)分詞規(guī)范及自動(dòng)分詞方法[M]. 北京: 清華大學(xué)出版社, 1994.
[5] Nianwen Xue. Chinese word segmentation as character tagging[J]. Computational Linguistics and Chinese Language Processing, 2003, 8(1): 29-48.
[6] Peng F, Feng F, Mccallum A. Chinese segmentation and new word detection using conditional random fields[C]. Proceedings of Coling, 2004: 562-568.
[7] Collobert R. Weston J. Bottou L. Natural language processing (almost) from scratch[J]. Journal of Machine Learning Research, 2011, 12(1): 2493-2537.
[8] Zheng X, Chen H, Xu T. Deep learning for Chinese word segmentation and POS tagging[C]. Conference on Empirical Methods in Natural Language Processing, 2013: 647-657.
[9] Chen X, Qiu X, Zhu C, et al. Gated recursive neu- ral network for Chinese word segmentation[C]. Proc of Annual Meeting of the Association for Computational Linguistics,2015: 1744-1753.
[10] Chen X, Qiu X, Zhu C, et al. Long short-term memory neural networks for Chinese word seg- mentation[C]. Conference on Empirical Methods in Natural Language Processing, 2015: 1197-1206.
[11] Yushi Yao, Zheng Huang. Bi-directional LSTM recurrent neural network for Chinese word segmentation[C]. International Conference on Neural Information Processing, 2016: 345- 353.
[12] 金宸, 李維華, 姬晨, 等. 基于雙向LSTM神經(jīng)網(wǎng)絡(luò)模型的中文分詞[J]. 中文信息學(xué)報(bào), 2018, 32(2).
[13] 李洋, 董紅斌. 基于CNN和BiLSTM網(wǎng)絡(luò)特征融合的文本情感分析[J]. 計(jì)算機(jī)應(yīng)用, 2018, 38(11): 3075-3080.
[14] 田生偉, 胡偉, 禹龍, 等. 結(jié)合注意力機(jī)制的Bi-LSTM維吾爾語(yǔ)事件時(shí)序關(guān)系識(shí)別[J]. 東南大學(xué)學(xué)報(bào): 自然科學(xué)版, 2018, 48(3): 393-399.
[15] 李婷婷, 姬東鴻. 基于SVM和CRF多特征組合的微博情感分析[J]. 計(jì)算機(jī)應(yīng)用研究, 2015, 32(4): 978-981.
[16] Tong F, Luo Z, Zhao D. A deep network based integrated model for disease named entity recognition[C]// IEEE International Conference on Bioinformatics and Biomedicine. IEEE Computer Society, 2017: 618-621.
[17] Li L, Jiang Y. Biomedical named entity recognition based on the two channels and sentence-level reading control conditioned LSTM- CRF[C]// IEEE International Conference on Bioinformatics and Biomedicine. IEEE Computer Society, 2017: 380-385.
[18] Bengio Y, Schwenk H, Sene?cal J S, et al. Neural probabilistic language models[M]// Innovations in Machine Learning. Berlin: Springer, 2006: 137-186.
[19] 蘇婭, 劉杰, 黃亞樓. 在線醫(yī)療文本中的實(shí)體識(shí)別研究[J]. 北京大學(xué)學(xué)報(bào)(自然科學(xué)版), 2016, 52(1): 1-9.
[20] 金留可. 基于遞歸神經(jīng)網(wǎng)絡(luò)的生物醫(yī)學(xué)命名實(shí)體識(shí)別[D]. 大連理工大學(xué), 2016.
[21] 謝銘, 吳產(chǎn)樂(lè). 用戶信息保護(hù)下的學(xué)習(xí)資源知識(shí)點(diǎn)自動(dòng)提取[J]. 計(jì)算機(jī)科學(xué), 2011, 38(3): 203-205.
[22] 徐浩煜, 任智慧, 施俊, 等. 基于鏈?zhǔn)綏l件隨機(jī)場(chǎng)的中文分詞改進(jìn)方法[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2016, 33(12): 210- 213.
[23] 張聰品, 方滔, 劉昱良. 基于LSTM-CRF命名實(shí)體識(shí)別技術(shù)研究與應(yīng)用[J/OL]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2019(2): 1-4 [2018-12-03].