王仁武 孟現(xiàn)茹 孔琦
〔摘 要〕[目的/意義]研究利用深度學(xué)習(xí)的循環(huán)神經(jīng)網(wǎng)絡(luò)GRU結(jié)合條件隨機(jī)場(chǎng)CRF對(duì)標(biāo)注的中文文本序列進(jìn)行預(yù)測(cè),來(lái)抽取在線(xiàn)評(píng)論文本中的實(shí)體—屬性。[方法/過(guò)程]首先根據(jù)設(shè)計(jì)好的文本序列標(biāo)注規(guī)范,對(duì)評(píng)論語(yǔ)料分詞后進(jìn)行實(shí)體及其屬性的命名實(shí)體標(biāo)注,得到單詞序列、詞性序列和標(biāo)注序列;然后將單詞序列、詞性序列轉(zhuǎn)為分布式詞向量表示并用于GRU循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入;最后輸出層采用條件隨機(jī)場(chǎng)CRF,輸出標(biāo)簽即是實(shí)體或?qū)傩?。[結(jié)果/結(jié)論]實(shí)驗(yàn)結(jié)果表明,本文的方法將實(shí)體—屬性抽取簡(jiǎn)化為命名實(shí)體標(biāo)注,并利用深度學(xué)習(xí)的GRU捕獲輸入數(shù)據(jù)的上下文語(yǔ)義以及條件隨機(jī)場(chǎng)CRF獲取輸出標(biāo)簽的前后關(guān)系,比傳統(tǒng)的基于規(guī)則或一般的機(jī)器學(xué)習(xí)方法具有較大的應(yīng)用優(yōu)勢(shì)。
〔關(guān)鍵詞〕實(shí)體屬性抽??;GRU;循環(huán)神經(jīng)網(wǎng)絡(luò);條件隨機(jī)場(chǎng);命名實(shí)體識(shí)別
DOI:10.3969/j.issn.1008-0821.2018.10.009
〔中圖分類(lèi)號(hào)〕TP391.1 〔文獻(xiàn)標(biāo)識(shí)碼〕A 〔文章編號(hào)〕1008-0821(2018)10-0057-08
〔Abstract〕[Purpose/Significance]The study used the recurrent neural network GRU combined conditional random field CRF to predict the annotated Chinese sequence text to extract the entity-attribute in the online review text.[Method/Process]Firstly,according to the designed annotation specification to a text sequence,the paper made name entity annotations for entities and their attributes after the segmentation of corpus,and got word sequence,part of speech sequence and annotation sequence;Then the word sequence and part-of-speech sequence were converted into distributed word vector representation and used for input of GRU recurrent neural network;finally,the output layer used the conditional random field CRF and the output label was the entity or attribute.[Result/Conclusion]The method in this paper simplified entity-attribute extraction to named entity annotation,and used GRU to capture the contextual semantics of input data and conditional random field CRF to obtain the output label context,which had a larger application advantage than the traditional rule based or general machine learning method.
〔Key words〕entity attribute extraction;GRU;RNN;CRF;NER
實(shí)體—屬性抽取是從非結(jié)構(gòu)的文本數(shù)據(jù)中抽取有價(jià)值的語(yǔ)義單元的重要手段,是信息抽取、觀(guān)點(diǎn)挖掘、智能檢索、自動(dòng)問(wèn)答、知識(shí)圖譜等構(gòu)建任務(wù)的基礎(chǔ)。實(shí)體—屬性抽取屬于自動(dòng)內(nèi)容抽?。ˋutomatic Content Extraction,ACE)的研究范疇。美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(National Institute of Standards and Technology,NIST)組織開(kāi)展了系列ACE測(cè)評(píng)會(huì)議。ACE會(huì)議旨在研究自動(dòng)抽取出新聞?wù)Z料中的實(shí)體、關(guān)系以及事件等內(nèi)容[1]。ACE的目標(biāo)是發(fā)展包括自動(dòng)識(shí)別和標(biāo)識(shí)文本在內(nèi)的自動(dòng)內(nèi)容抽取技術(shù),以支持對(duì)語(yǔ)料庫(kù)的自動(dòng)處理[2]。
本文研究的實(shí)體是文本中描述的對(duì)象,或者說(shuō)是文本中包含的特定事實(shí)信息,例如產(chǎn)品評(píng)論中的產(chǎn)品、服務(wù)、商家等。與此對(duì)應(yīng),屬性是描述產(chǎn)品或服務(wù)的特定屬性的特征,例如,屬性的一些示例是品牌、顏色、材料、包裝、價(jià)格、質(zhì)量等。屬性值是賦予屬性的特定值。涉及到實(shí)體的研究,使用比較多的方法是命名實(shí)體識(shí)別。在命名實(shí)體識(shí)別研究中,MUC-6[3]中命名實(shí)體類(lèi)型分為3大類(lèi)(實(shí)體類(lèi)、時(shí)間類(lèi)和數(shù)字類(lèi))和7小類(lèi)(機(jī)構(gòu)名、地名、人名、日期、時(shí)間、百分比和貨幣)。隨著研究的深入和社會(huì)的發(fā)展,一些新的實(shí)體類(lèi)型逐漸成為研究熱點(diǎn),例如醫(yī)學(xué)生物信息、商業(yè)信息等。在大數(shù)據(jù)時(shí)代,我們生活中絕大多數(shù)的數(shù)據(jù)都是非結(jié)構(gòu)的文本數(shù)據(jù),我們已淹沒(méi)在非結(jié)構(gòu)化數(shù)據(jù)的海洋之中。實(shí)體識(shí)別與實(shí)體—屬性抽取已經(jīng)成為非結(jié)構(gòu)化文本理解的一個(gè)重要手段。
在本文研究中,我們充分利用循環(huán)神經(jīng)網(wǎng)絡(luò)捕捉文本上下文語(yǔ)義的能力來(lái)抽取文本中的實(shí)體與屬性。首先利用命名實(shí)體標(biāo)注的方法來(lái)標(biāo)注文本中的實(shí)體與屬性形成實(shí)驗(yàn)語(yǔ)料,然后利用循環(huán)神經(jīng)網(wǎng)絡(luò)(本文使用GRU)來(lái)訓(xùn)練標(biāo)注好的語(yǔ)料,網(wǎng)絡(luò)輸出層使用條件隨機(jī)場(chǎng)(CRF),好處是在輸出時(shí)也能利用標(biāo)注標(biāo)簽之間的先后關(guān)系,提高輸出的準(zhǔn)確率。本文方法的思路來(lái)源于深度學(xué)習(xí)強(qiáng)大的無(wú)監(jiān)督自主學(xué)習(xí)的能力,避免了傳統(tǒng)機(jī)器學(xué)習(xí)比較耗時(shí)且復(fù)雜的特征工程。實(shí)驗(yàn)表明,本文的實(shí)體—屬性抽取方法,利用GRU+CRF,可以取得較好的效果。
本文余下部分的結(jié)構(gòu)安排:第1部分相關(guān)的研究工作情況;第2部分模型框架;第3部分語(yǔ)料標(biāo)注;第4部分實(shí)驗(yàn)與分析評(píng)估;第5部分總結(jié)與展望。
1 相關(guān)研究
自20世紀(jì)80年代開(kāi)始召開(kāi)的信息理解會(huì)議MUC(Message Understanding Conferences)和自動(dòng)內(nèi)容抽取ACE評(píng)測(cè)會(huì)議等多個(gè)信息抽取領(lǐng)域的會(huì)議極大地推動(dòng)了信息抽取技術(shù)的發(fā)展。本世紀(jì)ACE評(píng)測(cè)已經(jīng)舉辦了八屆,經(jīng)過(guò)多年發(fā)展,當(dāng)前對(duì)信息的提取已經(jīng)有一些研究成果[4],信息抽取的研究方法主要有以下兩種:模式匹配方法和機(jī)器學(xué)習(xí)方法。基于模式匹配的方法對(duì)知識(shí)的表達(dá)比較直觀(guān)、自然,類(lèi)似于規(guī)則,更接近人的思維方式。模式匹配多是面向領(lǐng)域的,準(zhǔn)確率較高;基于機(jī)器學(xué)習(xí)方法靈活性較好,不需要太多的背景知識(shí),但是它需要大規(guī)模的語(yǔ)料庫(kù)支持以及手工標(biāo)注。
在基于機(jī)器學(xué)習(xí)的實(shí)體屬性抽取方面,Liu H等[5]利用屬性值信息和最大熵模型構(gòu)造屬性與標(biāo)簽之間的映射關(guān)系,并對(duì)實(shí)體實(shí)例進(jìn)行標(biāo)注,然后,將隱馬爾可夫模型應(yīng)用于相關(guān)實(shí)體屬性提取。Li C X等[6]則提出了一種基于實(shí)體屬性分類(lèi)的Web實(shí)體抽取方法,使用Libsvm分類(lèi)器對(duì)物品的實(shí)體與屬性進(jìn)行分類(lèi)抽取。曾道建等[7]將屬性抽取看作是一個(gè)序列標(biāo)注問(wèn)題,利用百度百科信息框已有的結(jié)構(gòu)化內(nèi)容來(lái)自動(dòng)產(chǎn)生訓(xùn)練數(shù)據(jù),然后使用條件隨機(jī)場(chǎng)(CRF)作為分類(lèi)器來(lái)從非結(jié)構(gòu)化文本中抽取屬性。劉倩等[8]在實(shí)體屬性抽取的進(jìn)一步研究中提出了利用全局信息構(gòu)造神經(jīng)網(wǎng)絡(luò)感知器模型來(lái)抽取實(shí)體屬性,整體效果優(yōu)于傳統(tǒng)的CRF。
近年來(lái),隨著深度學(xué)習(xí)在圖像領(lǐng)域應(yīng)用的成功,不少學(xué)者開(kāi)始關(guān)注深度學(xué)習(xí)在信息抽取方面的應(yīng)用。Zhong B等[9]通過(guò)構(gòu)造深度信念網(wǎng)(Deep Belief Network)來(lái)進(jìn)行實(shí)體屬性抽取。蘇豐龍等[10]將深度學(xué)習(xí)框架的詞語(yǔ)嵌入表示方法(Word Embedding)引入到領(lǐng)域?qū)嶓w屬性抽取研究中,方法是采用詞的聚類(lèi)方法,在無(wú)監(jiān)督條件下解決大規(guī)模語(yǔ)料、領(lǐng)域?qū)嶓w屬性詞表人工參與構(gòu)建代價(jià)較高的問(wèn)題。Gridach M等人[11]使用循環(huán)神經(jīng)網(wǎng)絡(luò)GRU結(jié)合CRF進(jìn)行了推特文本中的法文文本的命名實(shí)體識(shí)別,而Huang Z等人[12]則研究利用循環(huán)神經(jīng)網(wǎng)絡(luò)BiLSTM結(jié)合CRF對(duì)英文語(yǔ)料CoNLL2000、CoNLL2003文進(jìn)行NER,都取得了較好的效果。
由于傳統(tǒng)的機(jī)器學(xué)習(xí)其分類(lèi)算法的數(shù)據(jù)來(lái)自有限數(shù)據(jù)集合L=(X,y),其中X為輸入樣本并以二維數(shù)組形式給出,形狀為n_samples×m_features,即n個(gè)樣本,m個(gè)特征;輸出值以數(shù)組y的形式給出,并以y中的Symbolic(符號(hào))值表示。傳統(tǒng)的機(jī)器學(xué)習(xí)的質(zhì)量嚴(yán)重受制于X數(shù)據(jù)的獲得與處理,需要繁瑣的特征工程(即m_features的獲得過(guò)程)來(lái)進(jìn)行處理,它主要依靠設(shè)計(jì)者的先驗(yàn)知識(shí),很難利用大數(shù)據(jù)的優(yōu)勢(shì),而且還不一定能取得好的效果。而深度學(xué)習(xí)與傳統(tǒng)機(jī)器學(xué)習(xí)方法最大不同之處在于它能從數(shù)據(jù)中自動(dòng)學(xué)習(xí)特征。例如,傳統(tǒng)的圖像分類(lèi),要識(shí)別圖片中的貓,需要設(shè)計(jì)好的特征,給出貓的胡須、耳朵、眼睛等特征,而深度學(xué)習(xí),只需標(biāo)注圖片是否是貓即可,剩下的工作,交給神經(jīng)網(wǎng)絡(luò)去調(diào)節(jié)聯(lián)結(jié)權(quán)重,通過(guò)輸入數(shù)據(jù)(圖片)與調(diào)節(jié)后權(quán)重的矢量乘積的激活,產(chǎn)生是否是貓的預(yù)測(cè)。
本文在前人研究的基礎(chǔ)上,利用Keras[13]的深度學(xué)習(xí)框架,設(shè)計(jì)構(gòu)造了雙向GRU[14]循環(huán)神經(jīng)網(wǎng)絡(luò),在輸出層使用CRF[15],對(duì)序列標(biāo)注的中文在線(xiàn)評(píng)論文本進(jìn)行實(shí)體屬性抽取。本文的方法將傳統(tǒng)的大量依賴(lài)映射詞表與規(guī)則的比較繁瑣的實(shí)體屬性抽取,簡(jiǎn)化為文本序列標(biāo)注。充分利用了深度神經(jīng)網(wǎng)絡(luò)雙向GRU綜合學(xué)習(xí)利用語(yǔ)料上下文的語(yǔ)義關(guān)系,以及利用條件隨機(jī)場(chǎng)CRF在序列標(biāo)簽上的預(yù)測(cè)能力,提高模型的預(yù)測(cè)輸出效果。盡管語(yǔ)料標(biāo)注需要一定的工作量,但標(biāo)注工作本身簡(jiǎn)單易行,具有較大的應(yīng)用優(yōu)勢(shì)。
2 模型框架
本文使用循環(huán)神經(jīng)網(wǎng)絡(luò)GRU(輸出層使用CRF)對(duì)輸入的經(jīng)過(guò)人工標(biāo)注的中文在線(xiàn)評(píng)論文本序列進(jìn)行學(xué)習(xí)(文本標(biāo)注的相關(guān)內(nèi)容見(jiàn)第4部分)。
2.1 GRU模型
GRU全稱(chēng)是Gated Recurrent Unit,即門(mén)限循環(huán)單元,是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN[16])的一種。我們知道卷積神經(jīng)網(wǎng)絡(luò)(CNN[17])擅長(zhǎng)處理空間信息,例如圖像,而RNN則擅長(zhǎng)處理時(shí)間信息,例如語(yǔ)音、文本序列等。GRU則是對(duì)RNN存在的比較嚴(yán)重的梯度消失或梯度爆炸問(wèn)題的改進(jìn)。
RNN的“梯度消失”是指,如果梯度較?。?lt;1),多層迭代以后,指數(shù)相乘,梯度很快就會(huì)下降到對(duì)調(diào)參幾乎沒(méi)有影響(設(shè)想一下,0.9的n次方,當(dāng)n足夠大時(shí),值將很?。??!疤荻缺ā眲t反過(guò)來(lái),如果梯度較大(>1),多層迭代以后,又導(dǎo)致了梯度很大(設(shè)想一下,1.1的n次方,當(dāng)n足夠大時(shí),值將很大)。盡管在理論上,RNN能夠捕獲長(zhǎng)距離依賴(lài)性,但實(shí)際上,它們由于梯度消失/爆炸問(wèn)題而失敗[18]。GRU等是RNN的優(yōu)化,能夠解決RNN在梯度上面臨的問(wèn)題。
GRU具有與RNN常用的一個(gè)優(yōu)化版本LSTM[19]類(lèi)似的結(jié)構(gòu),但是更為簡(jiǎn)化,如圖1所示。
GRU模型中的參數(shù)U∈Rd×k,W∈Rd×d,在所有時(shí)間步中共享,并在模型訓(xùn)練過(guò)程中學(xué)習(xí)?!驯硎驹刂g相乘,描述U和W中的k是表示隱藏層向量的維度的超參數(shù)。直觀(guān)的理解一下,如果更新門(mén)關(guān)閉,即zt=0,則無(wú)論序列有多長(zhǎng),都可以保持初始時(shí)間步中的信息。
2.2 用于實(shí)體—屬性抽取的BGRU+CRF模型
2.2.1 BGRU(Bidirectional GRU)
單個(gè)GRU的主要缺點(diǎn)是僅利用一個(gè)方向上的上下文的語(yǔ)義關(guān)系。對(duì)于命名實(shí)體識(shí)別(NER)、分詞(POS)等文本序列任務(wù)建模,一個(gè)強(qiáng)大的建模思想,要能捕捉在每個(gè)時(shí)間步上的過(guò)去的和未來(lái)的特征。為了解決這個(gè)問(wèn)題,我們使用雙向GRU,即BGRU(Bidirectional GRU)。BGRU可以在兩個(gè)方向上處理數(shù)據(jù),輸出層從兩個(gè)單獨(dú)的隱藏層接收結(jié)果。對(duì)于給定的文本句子Sentence S,S={w1,w2,…,wn},包含n個(gè)單詞w,BGRU計(jì)算兩個(gè)表示:前向GRU,即右邊的單詞的上下文關(guān)系,F(xiàn)orward GRU ht;后向GRU,即左邊的單詞的上下文關(guān)系,Backward GRU ht。然后,對(duì)每個(gè)單詞計(jì)算其表示值是將Forward GRU ht與Backward GRU ht合并起來(lái)。
2.2.2 BGRU+CRF模型
圖2給出了BGRU+CRF模型結(jié)構(gòu),對(duì)文本序列的標(biāo)注類(lèi)型預(yù)測(cè)最后是通過(guò)CRF(條件隨機(jī)場(chǎng))來(lái)完成。標(biāo)注序列之間的也有聯(lián)系,而CRF在判斷文本序列中單詞的標(biāo)注類(lèi)型時(shí),能充分考慮標(biāo)注值之間的關(guān)系,從而使得標(biāo)注的預(yù)測(cè)更加準(zhǔn)確。
BGRU+CRF模型說(shuō)明:
1)模型的第一層是輸入層,輸入句子中的單詞的詞向量,處理過(guò)程一般是:
①例如,對(duì)紙尿褲的原始語(yǔ)料,對(duì)媽咪寶貝紙尿褲的一條評(píng)論語(yǔ)句分詞后為[“除了”,“媽寶”,“,”,“其它”,“的”,“柔軟度”,“都”,“好”],進(jìn)一步可得到每個(gè)單詞的one-hot向量,維數(shù)是字典大?。ㄓ蓪?shí)驗(yàn)語(yǔ)料中所有詞構(gòu)成)。one-hot向量的含義是一個(gè)向量中只有一個(gè)值是1(熱值,hot value),其它都是0。
②利用預(yù)編譯的或隨機(jī)初始化的詞向量(Word Embedding)矩陣將句子中的每個(gè)詞由one-hot向量映射為低維稠密的詞向量(Word Embedding),Embedding的維度可以自行設(shè)置,對(duì)中文來(lái)說(shuō)可選擇100維、200維等。
③設(shè)置Dropout去除輸入數(shù)據(jù)的某些維度以緩解過(guò)擬合。
2)模型的第二層是BGRU層,其處理過(guò)程:
①將一個(gè)句子的各個(gè)詞的詞向量序列作為BGRU各個(gè)時(shí)間步的輸入。
②輸出前向Forward GRU的隱狀態(tài)序列。
③輸出后向Backward GRU的隱狀態(tài)序列。
④將前向與后向GRU輸出的隱狀態(tài)序列在各個(gè)位置輸出的隱狀態(tài)進(jìn)行按位置拼接得到完整的隱狀態(tài)序列。
⑤設(shè)置Dropout去除輸入數(shù)據(jù)的某些維度以緩解過(guò)擬合。
⑥將隱狀態(tài)向量從m維映射到k維,k是標(biāo)注集的標(biāo)簽數(shù),得到自動(dòng)提取的句子特征。
⑦為單詞分類(lèi)到k個(gè)標(biāo)簽計(jì)算打分值。
3)模型的第三層是CRF層
CRF層完成序列標(biāo)注的標(biāo)簽預(yù)測(cè),CRF層由連接連續(xù)輸出層的行表示。CRF層將BGRU輸出的狀態(tài)轉(zhuǎn)換矩陣作為參數(shù),有了該層,我們可以有效地使用標(biāo)注標(biāo)簽之間的關(guān)系來(lái)預(yù)測(cè)當(dāng)前標(biāo)簽。
3 語(yǔ)料序列標(biāo)注
3.1 在線(xiàn)評(píng)論語(yǔ)料獲取與處理
本項(xiàng)目研究以淘寶網(wǎng)主題市場(chǎng)下的“童裝玩具/孕產(chǎn)/用品”主題的“孕產(chǎn)”用品中的紙尿褲,以及奶粉輔食的在線(xiàn)評(píng)論數(shù)據(jù)作為研究語(yǔ)料來(lái)源。利用Python語(yǔ)言編程采集了花王、幫寶適、好奇、媽咪寶貝等紙尿褲及愛(ài)他美、羊奶粉、惠氏、雅培等奶粉輔食近150個(gè)品種(作為實(shí)體)。評(píng)論數(shù)據(jù)從2017年1月至2018年12月,經(jīng)過(guò)語(yǔ)料數(shù)據(jù)預(yù)處理,去除無(wú)效的評(píng)論,得到有效評(píng)論數(shù)據(jù)29 807條。語(yǔ)料預(yù)處理過(guò)程包括數(shù)據(jù)清洗、分詞與詞性標(biāo)注。
數(shù)據(jù)清洗包括:1)刪除不適合本文研究的圖片和表情符號(hào);2)刪除與評(píng)論主題無(wú)關(guān)的評(píng)論;3)刪除重復(fù)發(fā)帖的記錄;4)刪除店家回復(fù)的記錄;5)刪除淘寶系統(tǒng)自動(dòng)評(píng)論,例如“評(píng)價(jià)方未及時(shí)做出評(píng)價(jià),系統(tǒng)默認(rèn)好評(píng)!”等。
分詞的質(zhì)量關(guān)鍵取決于詞典,一般的分詞軟件都不帶有領(lǐng)域的詞典。所以要想提高特定領(lǐng)域的分詞效果,則要先建立該領(lǐng)域用戶(hù)詞典。本項(xiàng)目是母嬰用品中的紙尿褲和奶粉,應(yīng)該先建立該領(lǐng)域詞典,因本項(xiàng)目需要人工標(biāo)注,所以開(kāi)始并沒(méi)有建立比較完整的領(lǐng)域詞典,而是在標(biāo)注過(guò)程中不斷積累需要增加的領(lǐng)域詞匯,為后面的模型應(yīng)用建立領(lǐng)域詞典做好積累。例如,在標(biāo)注過(guò)程中,發(fā)現(xiàn)“媽咪寶貝”多數(shù)用戶(hù)稱(chēng)作“媽寶”以及“防漏性”,也有些用戶(hù)稱(chēng)作“防漏”,這些都需要加入領(lǐng)域詞典。分詞與詞性標(biāo)注需要分詞軟件,本文采用Python編程語(yǔ)言中的Jieba分詞模塊進(jìn)行分詞。
3.2 語(yǔ)料標(biāo)注及質(zhì)量管理
本項(xiàng)目使用Bakeoff-3[20]評(píng)測(cè)中所采用的BIO2標(biāo)注集,即B-PER、I-PER代表人名首字、人名非首字,B-ORG、I-ORG代表組織機(jī)構(gòu)名首字、組織機(jī)構(gòu)名非首字等,O代表該字不屬于命名實(shí)體的一部分。對(duì)母嬰用品的各種實(shí)體類(lèi)型,制定如表1的命名實(shí)體標(biāo)注規(guī)則。本研究中,產(chǎn)品、服務(wù)、商家等文本中談?wù)摰闹饕獙?duì)象統(tǒng)稱(chēng)為實(shí)體,不做細(xì)分。例如,本項(xiàng)目研究的紙尿褲和奶粉的各個(gè)品牌,花王、媽咪寶貝、惠氏、雅培等都是實(shí)體,屬性則是這些實(shí)體的某一方面的特征。
所以本實(shí)驗(yàn)的標(biāo)注標(biāo)簽集合為{B-E,I-E,B-AGC,I-AGC,B-AM,I-AM,B-AI,I-AI,B-AP,I-AP,B-AT,I-AT,B-AS,I-AS,B-APP,I-APP,B-AN,I-AN,B-APF,I-APF,B-APO,I-APO,O}。總共23個(gè)標(biāo)簽值,因?qū)嶋H標(biāo)注時(shí),有些實(shí)體—屬性不會(huì)有組合標(biāo)簽,所以語(yǔ)料的實(shí)際標(biāo)簽要小于23個(gè)。
有了標(biāo)注規(guī)范后,就可對(duì)語(yǔ)料預(yù)處理后的評(píng)論數(shù)據(jù)進(jìn)行人工標(biāo)注,標(biāo)注時(shí),詞與詞之間空格隔開(kāi),每個(gè)詞的標(biāo)注由3部分組成,即:詞|詞性|標(biāo)注標(biāo)簽,例如:柔軟aB-APP,表示單詞“柔軟”,形容詞,屬性是產(chǎn)品的物理性能,B表示是一個(gè)獨(dú)立的標(biāo)簽或一個(gè)組合標(biāo)簽的開(kāi)始。
具體標(biāo)注時(shí),要注意做好以下工作。
1)對(duì)不規(guī)范用語(yǔ)的進(jìn)一步規(guī)范。在語(yǔ)料預(yù)處理環(huán)節(jié)已經(jīng)處理了明顯的錯(cuò)誤和明顯的不合法、不規(guī)范的內(nèi)容。因模型主要是以詞為單位,來(lái)預(yù)測(cè)每個(gè)詞可能的標(biāo)簽值。所以同樣含義的單詞最好能統(tǒng)一,以提高模型預(yù)測(cè)的正確率。例如,文中舉例的“媽寶”與“媽咪寶貝”,“柔軟”與“柔軟度”、“柔軟性”要統(tǒng)一采用一個(gè)詞,除了有利輸出標(biāo)簽預(yù)測(cè)外,這樣它們的分布式表示詞向量也一樣,即作為模型的輸入也一致。
2)實(shí)體與屬性的界定。需要標(biāo)注人員準(zhǔn)確理解,確實(shí)區(qū)分實(shí)體與屬性,以及屬性應(yīng)準(zhǔn)確地屬于哪一類(lèi)屬性。即要準(zhǔn)確地把人類(lèi)知識(shí)賦予標(biāo)注的語(yǔ)料,以便于深度學(xué)習(xí)模型準(zhǔn)確獲取語(yǔ)料的含義。
3)對(duì)于不屬于實(shí)體與屬性的詞,一律標(biāo)注為“O”,包括標(biāo)點(diǎn)符號(hào)。
4)為了解決多人標(biāo)注可能的錯(cuò)誤和不一致的地方,標(biāo)注完成后,一定要做好標(biāo)注質(zhì)量管理。比較好的解決辦法是使用有一個(gè)具有質(zhì)量控制的標(biāo)注系統(tǒng)來(lái)進(jìn)行標(biāo)注,或至少有一個(gè)標(biāo)注質(zhì)量檢查程序。
3.3 標(biāo)注好的語(yǔ)料情況
本文共標(biāo)注了9 240條紙尿褲語(yǔ)料和1 520條奶粉輔食語(yǔ)料,各標(biāo)簽數(shù)量如表2所示。
3.4 實(shí)體—屬性關(guān)系初始化
為了提高本文模型的泛化推廣能力,特意選擇了母嬰用品的兩個(gè)子領(lǐng)域,紙尿褲與奶粉。這兩個(gè)子領(lǐng)域有較大的差別,有不同的屬性,例如紙尿褲沒(méi)有奶粉的營(yíng)養(yǎng)元素(標(biāo)注標(biāo)簽為AN)、口味(標(biāo)注標(biāo)簽為AT)等屬性。
語(yǔ)料標(biāo)注完成后,可以對(duì)標(biāo)注結(jié)果進(jìn)行匯總、分析,構(gòu)建實(shí)體標(biāo)簽對(duì)應(yīng)的詞語(yǔ)與屬性標(biāo)簽對(duì)應(yīng)的詞語(yǔ)的關(guān)系,這樣在實(shí)際應(yīng)用中可以避免在抽取實(shí)體—屬性時(shí),將奶粉的屬性賦予紙尿褲。
4 實(shí)驗(yàn)與分析
4.1 實(shí)驗(yàn)數(shù)據(jù)準(zhǔn)備
GRU接受的輸入文本數(shù)據(jù)的字或詞通常是詞向量(Word Embedding)格式,為此需要將輸入的標(biāo)注好的文本序列數(shù)據(jù),即單詞序列、詞性序列轉(zhuǎn)換成詞向量格式,而NER標(biāo)注標(biāo)簽轉(zhuǎn)換成一般的one-hot向量格式。目前在深度學(xué)習(xí)應(yīng)用中將單詞轉(zhuǎn)換成詞向量表示,多用Google開(kāi)源的Word2vec[21]工具。Google公司在2013年開(kāi)源Word2vec后,目前已有一些基于詞向量Word2vec的文本處理方面的研究[22]。
2)為評(píng)論單詞、詞性創(chuàng)建詞向量,本實(shí)驗(yàn)采用的是300維的詞向量。即一個(gè)單詞或詞性由一個(gè)300維的向量表示。為NER標(biāo)簽創(chuàng)建one-hot向量,要注意的是,在標(biāo)注的標(biāo)簽集上,再加一個(gè)標(biāo)簽“PAD”對(duì)應(yīng)索引值0,和一個(gè)標(biāo)簽“UNK”對(duì)應(yīng)索引值最大值后的值?!癙AD”一般用于序列長(zhǎng)度不滿(mǎn)足長(zhǎng)度要求,在序列后填充該值直到符合要求的序列長(zhǎng)度,“UNK”用于未知的內(nèi)容。one-hot向量的含義是一個(gè)向量中只有一個(gè)值是1(熱值,hot value),其它都是0。在機(jī)器學(xué)習(xí)中,對(duì)于多分類(lèi)問(wèn)題,one-hot是轉(zhuǎn)換目標(biāo)變量,即多分類(lèi)標(biāo)簽值的通用方法。
4.2 模型構(gòu)建與模型訓(xùn)練
我們使用Python編程,在深度學(xué)習(xí)框架Keras下,后端使用Tensorflow[23],電腦帶有GPU的NVIDIA Geforce 940MX顯卡,并配置好使用GPU功能。
我們?cè)趯?shí)驗(yàn)數(shù)據(jù)上實(shí)驗(yàn)了BGRU+CRF模型,作為對(duì)比也實(shí)驗(yàn)了機(jī)器學(xué)習(xí)中常用的支持向量機(jī)模型(SVM)[24],RNN的另一個(gè)優(yōu)化版本LSTM[19](使用雙向LSTM,即BiLSTM,采用Softmax激活函數(shù)作為輸出)和單獨(dú)的CRF模型(CRF是傳統(tǒng)的文本序列標(biāo)注預(yù)測(cè)最常用的模型)。4個(gè)模型構(gòu)建與訓(xùn)練的參數(shù)設(shè)置如表3所示。
BGRU+CRF模型與單獨(dú)的BGRU模型的參數(shù)設(shè)置基本相同,不同在于前者的最后一層是CRF(Keras-Contrib中帶的CRF模塊),而后者使用的是Softmax激活函數(shù),每個(gè)詞可能取15個(gè)標(biāo)簽之一(本實(shí)驗(yàn)實(shí)際用到了15個(gè)標(biāo)簽,用one-hot編碼),取最大概率的值。實(shí)驗(yàn)使用的詞向量是根據(jù)本實(shí)驗(yàn)的語(yǔ)料生成的,通過(guò)多次實(shí)驗(yàn)我們選擇的詞向量維度為300。窗口大小90表示使用的輸入句子最大長(zhǎng)度是90,即一條評(píng)論句子由90個(gè)單詞構(gòu)成(包括標(biāo)點(diǎn)符號(hào)),不足部分用4.1中提到的“PAD”填充。實(shí)驗(yàn)中,對(duì)于BGRU+CRF模型,使用詞性和沒(méi)有使用詞性也分別做了實(shí)驗(yàn)。
實(shí)驗(yàn)中單獨(dú)的CRF模型使用的是Python支持的Pycrfsuite套件。輸入數(shù)據(jù)是單詞和詞性的組合數(shù)據(jù),為防止過(guò)擬合,設(shè)置了CRF的懲罰系數(shù)L1、L2。
4.3 實(shí)驗(yàn)評(píng)估與結(jié)果分析
以下用3個(gè)模型代表BGRU+CRF、單獨(dú)的BGRU和單獨(dú)的CRF。
4.3.1 3個(gè)模型算法的整體評(píng)估
考慮到序列標(biāo)注的分類(lèi)預(yù)測(cè)自身的特點(diǎn),也即盡管其也是一個(gè)多分類(lèi)問(wèn)題,但在NER識(shí)別中,更關(guān)注的是有意義標(biāo)簽的分類(lèi)的正確性,而不是所有分類(lèi)標(biāo)簽的正確性。即在評(píng)估模型的精度(Precision)、召回率(Recall)和F1值(f1-score)時(shí),不考慮標(biāo)簽O,只考慮標(biāo)簽B、I構(gòu)成的標(biāo)簽的評(píng)估。3個(gè)模型的評(píng)估結(jié)果如表4所示。
通過(guò)實(shí)驗(yàn)我們看出,CRF模型確實(shí)體現(xiàn)了其在序列預(yù)測(cè)上的能力,單獨(dú)CRF模型訓(xùn)練速度也較快,實(shí)驗(yàn)中同樣的數(shù)據(jù)量,4秒不到就完成訓(xùn)練。BGRU+CRF比單獨(dú)的CRF模型高幾個(gè)百分點(diǎn)的原因是其在輸入和輸出時(shí)都利用了上下文關(guān)系,因此比較適合做文本的序列分析。單獨(dú)的BGRU使用Softmax作為輸出,只是在輸入信息時(shí)利用GRU獲取了上下文關(guān)系,而Softmax輸出時(shí),沒(méi)有利用這些關(guān)系,所有評(píng)估值都較差。
對(duì)于BGRU+CRF模型,我們也對(duì)比實(shí)驗(yàn)了詞性對(duì)實(shí)驗(yàn)結(jié)果的影響。理論上,在已知單詞序列上,再增加一個(gè)已知詞性序列,對(duì)求未知的標(biāo)注序列的分類(lèi)預(yù)測(cè)時(shí)應(yīng)更有幫助。但實(shí)驗(yàn)結(jié)果卻是無(wú)詞性的比有詞性的評(píng)估效果更好。我們檢查了詞性情況,發(fā)現(xiàn)分詞軟件在分詞時(shí),給單詞的詞性的質(zhì)量上還是有問(wèn)題,我們對(duì)比了幾個(gè)軟件,都還有待提高。
4.3.2 3個(gè)模型算法的分類(lèi)評(píng)估
本實(shí)驗(yàn)中,我們用序列標(biāo)注的標(biāo)簽值代表實(shí)體與屬性。對(duì)實(shí)體與屬性的相應(yīng)標(biāo)簽值的分類(lèi)實(shí)驗(yàn)預(yù)測(cè)結(jié)果分析如表5所示。表中的P值是Precision值。
實(shí)驗(yàn)結(jié)果表明,使用到CRF模型在實(shí)體與屬性的標(biāo)簽分類(lèi)預(yù)測(cè)上基本上都取得80%以上的評(píng)測(cè)結(jié)果,而且BGRU+CRF模型都要好于單獨(dú)的CRF模型,同樣的單獨(dú)的BGRU表現(xiàn)都不好。通過(guò)對(duì)幾個(gè)評(píng)測(cè)指標(biāo)較高和較低的進(jìn)一步分析,發(fā)現(xiàn)樣本量對(duì)分類(lèi)預(yù)測(cè)結(jié)果有較大影響,樣本量的增加會(huì)提升標(biāo)簽分類(lèi)預(yù)測(cè)的正確率。例如I-E評(píng)估指標(biāo)較差,原因就是樣本中含有組合標(biāo)簽I-E的數(shù)量遠(yuǎn)小于B-E的數(shù)量。
4.3.3 模型優(yōu)化
眾所周知,模型的質(zhì)量取決于2個(gè)方面:訓(xùn)練數(shù)據(jù)的質(zhì)量和模型算法的質(zhì)量。對(duì)訓(xùn)練語(yǔ)料的質(zhì)量控制在第4部分已經(jīng)簡(jiǎn)單提及,這一塊還有較大的提升空間。而影響模型算法質(zhì)量的因素有很多種,在BGRU中主要是調(diào)參。實(shí)驗(yàn)中,主要根據(jù)表6來(lái)調(diào)參。我們嘗試改變模型構(gòu)建過(guò)程當(dāng)中涉及到的變量和參數(shù),以期尋找最佳的組合。
實(shí)驗(yàn)中,手工改變參數(shù),通過(guò)多次實(shí)驗(yàn),表3中的默認(rèn)值是效果比較好的參數(shù)。
4.4 實(shí)體—屬性確認(rèn)
通過(guò)前面的實(shí)驗(yàn),模型可以以比較高的準(zhǔn)確率,抽取出在線(xiàn)評(píng)論中實(shí)體與屬性。下面的任務(wù)是要確認(rèn)每條評(píng)論中抽取出的實(shí)體與屬性是否有對(duì)應(yīng)關(guān)系。目前,本文采用的方法是用3.4初始化的實(shí)體—屬性關(guān)系數(shù)據(jù)來(lái)保證實(shí)體與屬性的對(duì)應(yīng)關(guān)系,實(shí)際應(yīng)用時(shí),還需要一定的人工審核。后續(xù)的研究計(jì)劃將利用深度學(xué)習(xí)自動(dòng)確認(rèn)實(shí)體—屬性的對(duì)應(yīng)關(guān)系。
5 總結(jié)與展望
本文提出了一種實(shí)體—屬性的抽取方法,將傳統(tǒng)的大量依賴(lài)映射詞表與規(guī)則的比較繁瑣實(shí)體屬性抽取,簡(jiǎn)化為文本序列標(biāo)注。然后利用深度神經(jīng)網(wǎng)絡(luò)BGRU綜合學(xué)習(xí)利用語(yǔ)料上下文的語(yǔ)義關(guān)系,并有效地利用條件隨機(jī)場(chǎng)(CRF)在序列標(biāo)簽上的預(yù)測(cè)能力,提高模型的輸出效果。相比較單獨(dú)的BGRU和單獨(dú)的CRF模型,本文的方法在實(shí)體—屬性的抽取上取得了較好的效果。
本文模型算法的評(píng)估指標(biāo)還可以進(jìn)一步提高,而且組合標(biāo)簽的預(yù)測(cè)準(zhǔn)確率還比較低,下一步可考慮加大語(yǔ)料量,同時(shí)引入新的深度學(xué)習(xí)技術(shù),例如遷移學(xué)習(xí)、注意力機(jī)制(Attention)等,探索不斷提升實(shí)體—屬性抽取的效果與質(zhì)量,同時(shí)做好模型的相關(guān)應(yīng)用推廣。
參考文獻(xiàn)
[1]Doddington G R,Mitchell A,Przybocki M A,et al.The Automatic Content Extraction(ACE)Program-Tasks,Data,and Evaluation[C]//LREC,2004,(2):1.
[2]趙琦,劉建華,馮浩然.從ACE會(huì)議看信息抽取技術(shù)的發(fā)展趨勢(shì)[J].現(xiàn)代圖書(shū)情報(bào)技術(shù),2008,(3):18-23.
[3]Grishman R,Sundheim B.Message Understanding Conference-6:A Brief History[C]//Proceedings of the 16th Conference on Computational Linguistics-Volume 1.Association for Computational Linguistics,1996:466-471.
[4]黃勛,游宏梁,于洋.關(guān)系抽取技術(shù)研究綜述[J].現(xiàn)代圖書(shū)情報(bào)技術(shù),2013,(11):30-39.
[5]Liu H,Chen C,Zhang L,et al.The Research of Label-Mapping-Based Entity Attribute Extraction[C]//IEEE International Conference on Progress in Informatics and Computing.IEEE,2011:635-639.
[6]Li C X,Chen P,Wang R J,et al.Web Entity Extraction Based on Entity Attribute Classification[C]//International Conference on Machine Vision.International Society for Optics and Photonics,2011:39.
[7]曾道建,來(lái)斯惟,張?jiān)?,?面向非結(jié)構(gòu)化文本的開(kāi)放式實(shí)體屬性抽取[J].江西師范大學(xué)學(xué)報(bào):自然科學(xué)版,2013,37(3):279-283.
[8]劉倩,伍大勇,劉悅,等.結(jié)合全局特征的命名實(shí)體屬性值抽取[J].計(jì)算機(jī)研究與發(fā)展,2016,53(4):941-948.
[9]Zhong B,Kong L,Liu J.Entity Attribute Extraction from Unstructured Text with Deep Belief Network[C]//Advanced Science and Technology,2016:429-433.
[10]蘇豐龍,謝慶華,邱繼遠(yuǎn),等.基于深度學(xué)習(xí)的領(lǐng)域?qū)嶓w屬性詞聚類(lèi)抽取研究[J].微型機(jī)與應(yīng)用,2016,35(1):53-55.
[11]Gridach M,Haddad H,Mulki H.FNER-BGRU-CRF at Cap 2017 NER Challenge:Bidirectional GRU-CRF for French Named Entity Recognition in Tweets[C]//Cap,2017.
[12]Huang Z,Xu W,Yu K.Bidirectional LSTM-CRF Models for Sequence Tagging.ArXiv Preprint ArXiv:1508.01991,2015.
[13]Keras中文文檔[EB/OL].http://keras-cn.readthedocs.io/en/latest/.
[14]Chung J,Gulcehre C,Cho K H,et al.Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling[J].Eprint Arxiv,2014.
[15]Mccallum A.Efficiently Inducing Features of Conditional Random Fields[J].Computer Science,2003,19(4):1.
[16]Mikolov T,Karafiát M,Burget L,et al.Recurrent Neural Network Based Language Model[C]//INTERSPEECH 2010,Conference of the International Speech Communication Association,Makuhari,Chiba,Japan,September.DBLP,2010:1045-1048.
[17]Lawrence S,Giles C L,Tsoi A C.Convolutional Neural Networks for Face Recognition[C]//Computer Vision and Pattern Recognition,1996.Proceedings CVPR96,1996 IEEE Computer Society Conference on.IEEE,1997:217-222.
[18]Hihi S E,Bengio Y.Hierarchical Recurrent Neural Networks for Long-Term Dependencies[C]//International Conference on Neural Information Processing Systems.MIT Press,1995:493-499.
[19]Gers F A,Schmidhuber J,Cummins F.Learning to Forget:Continual Prediction with LSTM.[C]//Artificial Neural Networks,1999.ICANN 99.Ninth International Conference on.IET,2002:2451.
[20]Zhang S,Qin Y,Wen J,et al.Word Segmentation and Named Entity Recognition for SIGHAN Bakeoff3[C]//Proceedings of the Fifth SIGHAN Workshop on Chinese Language Processing,2006:158-161.
[21]Mikolov T,Chen K,Corrado G,et al.Efficient Estimation of Word Representations in Vector Space[J].ArXiv Preprint ArXiv:1301.3781,2013.
[22]王仁武,宋家怡,陳川寶.基于Word2vec的情感分析在品牌認(rèn)知中的應(yīng)用研究[J].圖書(shū)情報(bào)工作,2017,61(22):6-12.
[23]Abadi M,Barham P,Chen J,et al.TensorFlow:A System for Large-Scale Machine Learning[C]//OSDI,2016,16:265-283.
[24]Lin X D,Peng H,Liu B.Chinese Named Entity Recognition using Support Vector Machines[C]//International Conference on Machine Learning and Cybernetics.IEEE,2009:4216-4220.
(責(zé)任編輯:陳 媛)