王銘濤,方曄瑋,陳文亮
(蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)
隨著智能手機(jī)的普及以及各類(lèi)電子商務(wù)平臺(tái)的興起,網(wǎng)絡(luò)購(gòu)物受到越來(lái)越多人的青睞。電商領(lǐng)域中積累了大量的用戶(hù)評(píng)論信息,評(píng)論文本中包含的電商事件屬性能反映出用戶(hù)購(gòu)買(mǎi)商品的意圖和應(yīng)用場(chǎng)景。通過(guò)挖掘評(píng)論中的電商事件可以發(fā)現(xiàn)用戶(hù)需求,對(duì)建立電商分類(lèi)、查詢(xún)和推薦系統(tǒng)具有很大的幫助。和常見(jiàn)新聞?lì)I(lǐng)域的事件識(shí)別相比,電商評(píng)論文本不正規(guī)、書(shū)寫(xiě)隨意性較大,并且缺乏相應(yīng)事件的定義和標(biāo)注語(yǔ)料。
常見(jiàn)事件通常定義為特定的人、物在特定時(shí)間和特定地點(diǎn)相互作用的客觀事實(shí)。組成事件的元素包括: 觸發(fā)詞、事件類(lèi)型、論元及論元角色[1-2]。而本文的電商文本的事件識(shí)別更側(cè)重于判斷觸發(fā)詞和事件類(lèi)型。在本文中,電商事件是以動(dòng)詞為核心詞、主語(yǔ)為人并且持續(xù)一段時(shí)間用于描述場(chǎng)景的簡(jiǎn)易事件。電商事件定義來(lái)源于電商平臺(tái)的業(yè)務(wù)需求。目前電商平臺(tái)開(kāi)始采用場(chǎng)景化導(dǎo)購(gòu)模式,觸發(fā)購(gòu)物需求模糊的潛在用戶(hù),通過(guò)關(guān)聯(lián)商品與場(chǎng)景來(lái)刺激用戶(hù)消費(fèi)。在場(chǎng)景營(yíng)銷(xiāo)時(shí)代,用戶(hù)可以通過(guò)場(chǎng)景來(lái)了解產(chǎn)品的用途,用戶(hù)在不同的場(chǎng)景下,對(duì)產(chǎn)品體驗(yàn)后的感受和記憶也不同。標(biāo)準(zhǔn)場(chǎng)景由時(shí)間、地點(diǎn)、人物、做事和如何做5個(gè)要素組成,電商事件體現(xiàn)了場(chǎng)景中的“做事”要素。電商平臺(tái)的推薦和搜索欄目下存在許多場(chǎng)景入口,如“把酒暢飲”場(chǎng)景對(duì)應(yīng)內(nèi)部“喝酒”事件及其相關(guān)商品,“悠閑下午茶”場(chǎng)景對(duì)應(yīng)內(nèi)部“喝茶”事件及其相關(guān)商品等。電商事件構(gòu)成主要為短語(yǔ)結(jié)構(gòu),共4類(lèi): 動(dòng)賓、雙動(dòng)詞、動(dòng)(定語(yǔ))賓和單動(dòng)詞短語(yǔ),具體實(shí)例如表1所示。本文的事件定義雖然從短語(yǔ)結(jié)構(gòu)出發(fā),但并不是所有符合要求的短語(yǔ)結(jié)構(gòu)都能成為事件。
表1 電商事件結(jié)構(gòu)實(shí)例
本文將事件識(shí)別問(wèn)題看作序列標(biāo)注問(wèn)題,所謂“序列標(biāo)注”,即對(duì)輸入序列x={x1,x2,x3,…,xn}中的每個(gè)元素都打上標(biāo)簽集y={y1,y2,y3,…,yk}中的標(biāo)簽,是對(duì)序列中的每個(gè)元素根據(jù)上下文內(nèi)容進(jìn)行分類(lèi)的問(wèn)題。目前常見(jiàn)的做法是采用深度學(xué)習(xí)的方法,通過(guò)結(jié)合BiLSTM編碼和CRF共同對(duì)標(biāo)簽進(jìn)行預(yù)測(cè)[3-5]。
隨著預(yù)訓(xùn)練模型的發(fā)展,基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法與傳統(tǒng)的統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法相比取得了更好的結(jié)果。較早的Word2Vec和GloVe通過(guò)對(duì)上下文中的詞進(jìn)行預(yù)測(cè),得到詞的分布式向量表示,作為神經(jīng)網(wǎng)絡(luò)的初始化。但通過(guò)這種方式取得的詞向量都是靜態(tài)的,無(wú)法體現(xiàn)一詞多義的情況。Peters[6]等人提出上下文相關(guān)的語(yǔ)言模型ELMo,將詞輸入預(yù)訓(xùn)練模型中獲得動(dòng)態(tài)的上下文向量表示,輔助下游任務(wù)。之后,很多研究開(kāi)始嘗試改變預(yù)訓(xùn)練模型結(jié)構(gòu)和預(yù)訓(xùn)練任務(wù)來(lái)提高預(yù)訓(xùn)練模型的表示能力,進(jìn)一步幫助下游任務(wù)[7-8]。
中文是表意文字,漢字是以象形字為基礎(chǔ)的,字形在大多數(shù)情況下隱含著特別的含意。針對(duì)中文這一特點(diǎn),本文在預(yù)訓(xùn)練語(yǔ)言模型中加入中文字形信息,加強(qiáng)字向量的表達(dá)能力。中文字形信息通常包含: 部首、五筆和筆畫(huà),由于部首信息只包含部分的中文字符結(jié)構(gòu),所以本文使用了五筆和筆畫(huà)信息。從模型結(jié)構(gòu)角度出發(fā),本文提出第一種方法直接在預(yù)訓(xùn)練語(yǔ)言模型中引入額外的字形編碼器豐富字向量表示,聯(lián)合字符和字形特征建模。從建模對(duì)象角度出發(fā),本文提出第二種單獨(dú)對(duì)字形和字符建模再結(jié)合向量表示的預(yù)訓(xùn)練方法。在構(gòu)建的數(shù)據(jù)上使用不同的中文字形進(jìn)行實(shí)驗(yàn),兩種方法相較于僅基于字符訓(xùn)練的ELMo獲得了更好的事件識(shí)別性能。
本文主要貢獻(xiàn)如下: ①根據(jù)電商平臺(tái)的業(yè)務(wù)需求,定義了面向電商領(lǐng)域的簡(jiǎn)易事件,并根據(jù)定義構(gòu)建了一個(gè)電商事件標(biāo)注數(shù)據(jù); ②對(duì)預(yù)訓(xùn)練語(yǔ)言模型ELMo進(jìn)行改進(jìn),結(jié)合兩種不同的中文字形信息,提高了預(yù)訓(xùn)練語(yǔ)言模型的表示能力; ③實(shí)驗(yàn)結(jié)果表明,本文所提出的改進(jìn)ELMo比標(biāo)準(zhǔn)ELMo具有更強(qiáng)的表達(dá)能力,相對(duì)應(yīng)的系統(tǒng)取得了更好的識(shí)別性能。
序列標(biāo)注在自然語(yǔ)言處理中是一項(xiàng)重要的任務(wù),包括分詞、詞性標(biāo)注和命名實(shí)體識(shí)別等,是知識(shí)圖譜、問(wèn)答系統(tǒng)等的基礎(chǔ)任務(wù)。傳統(tǒng)的統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法包括隱馬爾科夫模型(HMM)、最大熵馬爾可夫模型(MEMM)、條件隨機(jī)場(chǎng)(CRF)等[9-11]。
隱馬爾科夫模型是由馬爾可夫鏈演變而來(lái)的數(shù)學(xué)統(tǒng)計(jì)模型,它用來(lái)描述一個(gè)含有隱含未知參數(shù)的馬爾可夫過(guò)程,主要應(yīng)用在分詞和詞性標(biāo)注中。在詞性標(biāo)注中,詞性序列就相當(dāng)于HMM中隱藏的狀態(tài)序列,因?yàn)樵~性序列在標(biāo)注前是隱藏的,是需要求解的目標(biāo),給定的詞串是已知條件。HMM屬于生成模型,直接對(duì)觀測(cè)序列和標(biāo)記序列的聯(lián)合分布進(jìn)行建模。CRF與HMM有些類(lèi)似,但屬于一種判別式無(wú)向圖模型,其對(duì)條件分布進(jìn)行建模。CRF較HMM更為強(qiáng)大,CRF的隱藏狀態(tài)可以依賴(lài)更廣泛的信息,而HMM只能依賴(lài)上一個(gè)時(shí)刻的隱藏狀態(tài)以及當(dāng)前時(shí)刻的觀測(cè)信息。CRF提供了一個(gè)特征靈活、全局最優(yōu)的學(xué)習(xí)框架,實(shí)際應(yīng)用中通常選取字/詞特征、上下文特征、字典特征或者其他組合特征作為輸入,逐步疊加來(lái)獲得較好的性能。
隨著深度學(xué)習(xí)的發(fā)展,在許多序列標(biāo)注任務(wù)中,神經(jīng)網(wǎng)絡(luò)模型已經(jīng)超越傳統(tǒng)的機(jī)器學(xué)習(xí)方法[12-14]。深度學(xué)習(xí)方法使用一種端到端的學(xué)習(xí)范式,完全交給深度學(xué)習(xí)模型直接學(xué)習(xí)從原始數(shù)據(jù)到期望輸出的映射。目前,主流方法都是基于有標(biāo)注的數(shù)據(jù)通過(guò)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,結(jié)合大規(guī)模的無(wú)標(biāo)注數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練來(lái)做的。經(jīng)典的方法是Mikolov[15]等人提出的Word2Vec和Pennington[16]等人提出的GloVe對(duì)網(wǎng)絡(luò)的詞表示層進(jìn)行初始化。他們利用大規(guī)模的無(wú)監(jiān)督數(shù)據(jù),通過(guò)對(duì)句子中的上下文進(jìn)行建模,來(lái)學(xué)習(xí)句子中詞的表示。許多NLP任務(wù)的實(shí)踐證明,對(duì)網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練初始化能獲得顯著的效果提升。
目前主流的序列標(biāo)注模型還是BiLSTM-CRF,該模型首先通過(guò)嵌入(embedding)層對(duì)句子中的字/詞進(jìn)行表示,在BiLSTM層獲得隱層編碼,通過(guò)分類(lèi)層獲取字/詞的分類(lèi)概率輸入CRF層計(jì)算。該模型不需要特別的特征工程,在使用字或詞向量的基礎(chǔ)上就能達(dá)到或超過(guò)基于豐富特征的CRF模型的效果。由于LSTM網(wǎng)絡(luò)的設(shè)計(jì)是為了解決長(zhǎng)依賴(lài)問(wèn)題,很適合自然語(yǔ)言處理任務(wù),所以近年序列標(biāo)注任務(wù)大都圍繞BiLSTM-CRF模型展開(kāi)工作。為融入中文不同粒度的信息,在中文命名實(shí)體識(shí)別任務(wù)中,Dong[17]等人使用LSTM抽取中文部首級(jí)別的表示,再與詞向量拼接獲得字符向量表示,最后輸入BiLSTM-CRF模型中進(jìn)行學(xué)習(xí)。Yang[18]等人則利用CNNs抽取字符五筆編碼來(lái)豐富中文字符的表示,發(fā)揮中文五筆編碼重碼率低的優(yōu)勢(shì),對(duì)于結(jié)構(gòu)相似的字符也能區(qū)分。然而這些工作利用的字形向量表示都是未經(jīng)過(guò)預(yù)訓(xùn)練的,是在特定任務(wù)上訓(xùn)練得到的相關(guān)表示。本文的做法則是通過(guò)直接在預(yù)訓(xùn)練語(yǔ)言模型中結(jié)合中文字形的方式來(lái)獲得更好的字符表示。Zhang[19]等人通過(guò)網(wǎng)格LSTM將中文詞信息融入基于字的序列標(biāo)注模型中,使中文命名實(shí)體識(shí)別的性能又獲得提升。
深度學(xué)習(xí)的方法多是數(shù)據(jù)驅(qū)動(dòng),如何結(jié)合少量標(biāo)注數(shù)據(jù)和大量無(wú)標(biāo)注數(shù)據(jù)來(lái)提升序列標(biāo)注模型性能成為了研究重點(diǎn)。Peters[6]等人使用雙向語(yǔ)言模型,在大規(guī)模無(wú)標(biāo)注數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練,在Conll03 NER數(shù)據(jù)上取得很好的性能。之后Peters[6]等人又進(jìn)一步對(duì)預(yù)訓(xùn)練語(yǔ)言模型進(jìn)行探索,提出ELMo語(yǔ)言模型。而在中文ELMo語(yǔ)言模型中,Che[20]等人使用基于詞的ELMo模型在詞性分析和句法上取得不錯(cuò)的性能。然而在中文預(yù)訓(xùn)練模型中僅考慮詞和字的特征,對(duì)中文字形的表示潛力沒(méi)有進(jìn)一步挖掘。
受到上述研究工作的啟發(fā),本文使用基于字的中文ELMo對(duì)大規(guī)模無(wú)標(biāo)注評(píng)論文本預(yù)訓(xùn)練,得到中文字符的上下文相關(guān)表示,再通過(guò)BiLSTM-CRF模型對(duì)電商文本進(jìn)行標(biāo)注,得到事件詞。不同的是,本文為進(jìn)一步提高預(yù)訓(xùn)練語(yǔ)言模型的表達(dá)能力,充分利用中文字形特征,提出了兩種融入字形特征的方法。在實(shí)驗(yàn)中驗(yàn)證了本文所提新模型的有效性。
目前常用的序列標(biāo)注模型是BiLSTM-CRF模型,該模型在分詞、詞性標(biāo)注等多個(gè)序列標(biāo)注任務(wù)中取得了良好效果。本文的基準(zhǔn)系統(tǒng)(Baseline)采用Huang[12]等人提出的BiLSTM-CRF模型,在此基礎(chǔ)上結(jié)合Peters[6]等人提出的ELMo預(yù)訓(xùn)練模型,作為電商事件識(shí)識(shí)模型。整個(gè)模型框架如圖1所示,分為字表示層、BiLSTM層、CRF層。
圖1 基于ELMo的BiLSTM-CRF模型
該層由GloVe訓(xùn)練的字符向量表示(Embedding)和基于字的ELMo表示(ELMo rep)拼接而成。給定包含n個(gè)字符的句子s=[s1,s2,s3,…,sn],通過(guò)查詢(xún)靜態(tài)向量表獲取序列的向量表示x=[x1,x2,x3,…,xn]。本文將抽取出的ELMo表示作為額外特征輸入,最終獲取序列的語(yǔ)言模型表示e=[e1,e2,e3,…,en]。字表示層x=[xt⊕et,t∈[1,n]]作為下一層的輸入。
BiLSTM模型作為RNN網(wǎng)絡(luò)的擴(kuò)展,通過(guò)門(mén)的機(jī)制來(lái)對(duì)信息進(jìn)行保護(hù)和控制,有效地利用字符上下文的信息。LSTM單元如式(1)~式(3)所示。
(1)
(2)
ht=ot⊙tanhct
(3)
其中,xt代表t時(shí)刻的輸入,σ是sigmod函數(shù),it,ft,ot表示輸入門(mén)、遺忘門(mén)、輸出門(mén)。這些門(mén)接受當(dāng)前時(shí)刻的輸入和前一時(shí)刻的輸出,經(jīng)過(guò)線性變換和非線性變換得到新的單元門(mén)表示,ct,ht表示當(dāng)前單元的狀態(tài)和隱層表示。BiLSTM模型在句子的開(kāi)始和結(jié)束位置初始化一個(gè)隱層狀態(tài),通過(guò)前向和反向的順序?qū)渥拥木幋a獲取句子隱層表示。
模型在預(yù)測(cè)階段也可以使用softmax分類(lèi)器解決多分類(lèi)問(wèn)題,但它無(wú)法考慮到相鄰標(biāo)簽之間的約束問(wèn)題。于是采用CRF來(lái)對(duì)整個(gè)序列進(jìn)行建模,得到全局最優(yōu)解。如式(4)所示,Score(X,y)定義了一個(gè)長(zhǎng)度為n的序列X=[xi,i∈[1,n]]在輸出序列為y=[yi,i∈[1,n]]時(shí)的得分。Pi,yi表示字符xi映射到y(tǒng)i的概率,設(shè)標(biāo)簽集個(gè)數(shù)為k,P為n*k的矩陣。Tyi,yi+1表示標(biāo)簽yi到標(biāo)簽yi+1的概率,這里T是維度為k+2的方陣,加入y0,yk+1來(lái)表示句子的起始和終止標(biāo)簽。
(4)
對(duì)所有可能的輸出路徑進(jìn)行歸一化,得到關(guān)于輸出序列y的概率p(y|X),如式(5)所示。
(5)
最大化似然概率p(y|X),再通過(guò)多種優(yōu)化方法求解網(wǎng)絡(luò)參數(shù),為方便計(jì)算取對(duì)數(shù),如式(6)所示。
(6)
在解碼時(shí),采用動(dòng)態(tài)規(guī)劃算法viterbi求解最優(yōu)序列。
本文提出兩種新的中文字形ELMo預(yù)訓(xùn)練模型,分別是混合中文字形ELMo(詳見(jiàn)3.1節(jié))和中文字形序列ELMo(詳見(jiàn)3.2節(jié))?;旌现形淖中蜤LMo在模型中嵌入字形特征編碼器結(jié)合字符表示輸入語(yǔ)言模型中訓(xùn)練,將不同層的輸出結(jié)合得到字符向量表示。而中文字形序列ELMo直接對(duì)字形序列建立雙向語(yǔ)言模型,根據(jù)BiLSTM結(jié)構(gòu),抽取字符拆解的首尾字形上下文向量來(lái)表示該字符。其中中文字形特征用筆畫(huà)和五筆。筆畫(huà)通常是指組成漢字不間斷的各種形狀的點(diǎn)和線,它是漢字字形的最小連筆單位。五筆則是結(jié)合筆畫(huà)和字符結(jié)構(gòu)進(jìn)一步對(duì)漢字進(jìn)行編碼。
對(duì)于中文字形級(jí)別的特征,通常采用LSTM網(wǎng)絡(luò)或CNNs進(jìn)行抽取,然后與字向量表示拼接后輸入句子編碼器中。本文所采用的方式是使用CNNs對(duì)中文字形特征編碼。圖2為混合五筆ELMo的模型結(jié)構(gòu),而混合筆畫(huà)ELMo結(jié)構(gòu)與此類(lèi)似。
圖2 混合五筆ELMo示例
對(duì)于基于字的ELMo訓(xùn)練,給定一個(gè)包含n個(gè)字符的句子s=[s1,s2,s3,…,sn],經(jīng)過(guò)詞嵌入層獲取字符對(duì)應(yīng)的向量表示后x=[x1,x2,x3,…,xn],將其輸入到BiLSTM語(yǔ)言模型中獲取字符的隱層表示hiLM,如式(7)所示。
hiLM=BiLSTMLM(xi,hi -1)
(7)
英文字符級(jí)別的特征由卷積神經(jīng)網(wǎng)絡(luò)(CNNs)和HighWayNet抽取表示,一些前綴和后綴信息能被捕捉到。而中文ELMo的詞表示層僅包含字符的表示,但對(duì)中文字符包含的字形特征沒(méi)有很好地利用。在這里將中文字符x的字形表示為x=[c1,c2,c3,…,cn]作為卷積層的輸入,以此提高對(duì)字符的表示能力,學(xué)習(xí)到更加豐富的表示。中文字形ELMo對(duì)應(yīng)的隱層表示hiLM,如式(8)所示。
hiLM=BiLSTMLM(xi⊕CNN(c1,…,cn),hi -1)
(8)
在前向語(yǔ)言模型中通過(guò)對(duì)字符st和它之前的序列(s1,s2,…,st-1)建模,來(lái)計(jì)算整個(gè)句子出現(xiàn)的概率p,如式(9)所示。
(9)
與前向語(yǔ)言模型類(lèi)似,在反向語(yǔ)言模型中對(duì)字符st和它之后的序列(st+1,st+2,…,sn)建模,來(lái)計(jì)算整個(gè)句子出現(xiàn)的概率。如式(10)所示,雙向語(yǔ)言模型包含前向和反向語(yǔ)言模型,最大化它們的似然概率,再通過(guò)反向傳播訓(xùn)練整個(gè)雙向語(yǔ)言模型的參數(shù)。
(10)
這里的前向LSTM和反向LSTM網(wǎng)絡(luò)沒(méi)有參數(shù)共享。θx表示字向量層參數(shù),θs表示softmax層參數(shù)。 ELMo也證明,對(duì)于不同的下游任務(wù),模型中不同的層能學(xué)到不同的語(yǔ)義表示。本文沿用ELMo對(duì)不同層賦予不同權(quán)重后相加的規(guī)則,來(lái)獲取ELMo字形語(yǔ)言模型表示。對(duì)于一個(gè)包含L層的ELMo向量的加權(quán)表示如式(11)所示。
(11)
受到Alan[21]等人英文字符級(jí)語(yǔ)言模型(character language model)的啟發(fā),本文將輸入文本序列轉(zhuǎn)化為中文字形序列,用與基于字的ELMo類(lèi)似的方法對(duì)序列化的中文字形進(jìn)行建模。將字形序列輸入到ELMo中進(jìn)行訓(xùn)練以得到上下文相關(guān)的字形表示,通過(guò)對(duì)字符邊界字形的輸出表示進(jìn)行抽取拼接以獲得該字符的上下文表示。該預(yù)訓(xùn)練模型直接從中文字形層面出發(fā),沒(méi)有任何字符信息,直接建模學(xué)習(xí)上下文相關(guān)的表示。
該方法與基于字的ELMo類(lèi)似,能夠解決一詞多義問(wèn)題,字符序列的上下文不同,字符向量表示也不同。同時(shí)對(duì)于不在訓(xùn)練集中出現(xiàn)的字符也可以通過(guò)已知字形的表示抽取得到。字符信息不再顯式地出現(xiàn)在模型訓(xùn)練過(guò)程中,而是在抽取過(guò)程中隱式地確定字符邊界,從而得到字符ELMo表示。
與雙向語(yǔ)言模型訓(xùn)練方式類(lèi)似,只是將包含n個(gè)字符的句子s=[s1,s2,s3,…,sn]中的每個(gè)字符si轉(zhuǎn)換成對(duì)應(yīng)的中文字形序列w,在字形序列起始和結(jié)束位置上插入分隔符。最后將字形序列的詞向量表示輸入到雙向語(yǔ)言模型中,獲得字形的隱層表示,與3.1節(jié)的式(7)類(lèi)似。模型參數(shù)包含前向LSTM和反向LSTM網(wǎng)絡(luò)、字形向量表示層及最后的softmax層參數(shù)。
在雙向序列中文字形ELMo中,以五筆特征為例抽取字符表示的過(guò)程如圖3所示。例句中“餃”的五筆編碼為“qnuq”,經(jīng)過(guò)詞向量層得到五筆表示再輸入到LSTM中。首先,在前向語(yǔ)言模型LMforward中抽取字符五筆序列末尾的隱層表示hend。然后,在反向語(yǔ)言模型LMbackward中抽取字符五筆序列起始的隱層表示hstart。最后將這兩個(gè)向量進(jìn)行拼接,組成這個(gè)字符的五筆序列預(yù)訓(xùn)練模型表示x,如式(12)所示。
x=hendLMforward⊕hstartLMbackward
(12)
圖3 五筆序列ELMo示例
通過(guò)中文字形序列來(lái)訓(xùn)練的語(yǔ)言模型,在預(yù)測(cè)句子出現(xiàn)的概率時(shí)考慮當(dāng)前字符的上下文字形信息,增強(qiáng)字符的表示能力。在遇到未登錄詞時(shí)也能獲得五筆或筆畫(huà)編碼,可以對(duì)基于字的語(yǔ)言模型抽取的字符表示進(jìn)行額外信息的補(bǔ)充。
實(shí)驗(yàn)數(shù)據(jù)為爬取的淘寶評(píng)論文本,首先使用收集的電商事件詞典通過(guò)遠(yuǎn)程監(jiān)督的方法獲得事件密度較高的文本,然后利用一系列預(yù)處理手段對(duì)數(shù)據(jù)清洗,獲得一批質(zhì)量較高的待標(biāo)注數(shù)據(jù),最后在數(shù)據(jù)標(biāo)注系統(tǒng)中對(duì)標(biāo)注員進(jìn)行培訓(xùn)。為確保數(shù)據(jù)標(biāo)注質(zhì)量,每條數(shù)據(jù)由多人標(biāo)注,最后通過(guò)投票得到標(biāo)注結(jié)果。最終共獲得12 000句電商事件語(yǔ)料。
為驗(yàn)證融入中文字形特征的ELMo預(yù)訓(xùn)練模型對(duì)電商事件識(shí)別的影響,固定訓(xùn)練集、開(kāi)發(fā)集、測(cè)試集的句數(shù)比例為8∶1∶1。第一種方式采取隨機(jī)劃分,下文中以Data_Rand為表示。第二種方式根據(jù)事件實(shí)體進(jìn)行劃分,保持訓(xùn)練集、開(kāi)發(fā)集、測(cè)試集句數(shù)比例,提高測(cè)試集OOV事件比例(即不在訓(xùn)練集中出現(xiàn)的事件),下文中以Data_OOV為表示。兩種劃分方式的數(shù)據(jù)集包含的事件數(shù)統(tǒng)計(jì)如表2所示,其中OOV_rate為去掉重復(fù)出現(xiàn)事件后的OOV事件比例。從表2可以看出,Data_Rand切分測(cè)試集中OOV比例僅為11.45%,而Data_OOV為54.19%。通過(guò)不同劃分方式,來(lái)考察模型對(duì)OOV事件的識(shí)別能力。
表2 數(shù)據(jù)集包含事件數(shù)統(tǒng)計(jì)
實(shí)驗(yàn)baseline采用基于字的BiLSTM-CRF作為主要框架,由GloVe訓(xùn)練的100維詞向量初始化模型。預(yù)訓(xùn)練語(yǔ)言模型ELMo使用的無(wú)監(jiān)督數(shù)據(jù)為新聞?lì)I(lǐng)域和電商領(lǐng)域的數(shù)據(jù),選擇中文筆畫(huà)和五筆字形作為額外信息。通過(guò)直接拼接向量表示的方式進(jìn)行實(shí)驗(yàn)對(duì)比。
實(shí)驗(yàn)使用的筆畫(huà)編碼來(lái)自爬取的在線字典(1)https://zdic.net/,五筆編碼使用王碼86版的編碼檢索表。在模型訓(xùn)練和解碼階段,使用相同的編碼表來(lái)查找對(duì)應(yīng)字符的五筆和筆畫(huà)編碼,再輸入模型,保證編碼的一致性。
在BiLSTM-CRF模型中,本文設(shè)置LSTM隱層維度為200。訓(xùn)練時(shí)使用Adam更新神經(jīng)網(wǎng)絡(luò)參數(shù),對(duì)LSTM輸入向量和輸出向量采用dropout策略,概率設(shè)置為0.5。為防止模型過(guò)擬合,總訓(xùn)練輪次設(shè)置為50輪,當(dāng)開(kāi)發(fā)集性能10輪內(nèi)不提升時(shí),模型停止訓(xùn)練。
ELMo訓(xùn)練代碼基于Che[20]等人的開(kāi)源代碼(2)https://github.com//HIT-SCIR//ELMoForManyLangs。新聞和電商領(lǐng)域的無(wú)標(biāo)注數(shù)據(jù)都為90萬(wàn)句,新聞?lì)I(lǐng)域字符數(shù)為3 500萬(wàn),電商領(lǐng)域字符數(shù)為2 500萬(wàn)?;谧值腅LMo預(yù)訓(xùn)練模型的參數(shù)設(shè)置與原代碼保持一致,只有2層BiLSTM抽取字的特征,沒(méi)有CharCNNs層,嵌入層映射維度為512,負(fù)采樣窗口大小設(shè)置為8 192。設(shè)置迭代輪次為10,使用GTX 1080ti訓(xùn)練約3天,在10萬(wàn)句開(kāi)發(fā)集上選取模型。
加入中文字形特征的ELMo與基于字的ELMo參數(shù)設(shè)置相同,CharCNNs層將字符拆解成粒度更小的筆畫(huà)與五筆后作為特征輸入,使用256個(gè)字符的n-gram卷積濾波器進(jìn)行抽取。其中筆畫(huà)特征使用爬取的筆畫(huà)詞典,五筆特征來(lái)自五筆工具包,訓(xùn)練設(shè)置和步驟與基于字的ELMo相同。
在序列化字形ELMo中,模型中的參數(shù)維度設(shè)置大小與基于字的ELMo一致。由于將序列轉(zhuǎn)為字形表示后模型的輸入長(zhǎng)度會(huì)大大增加,所以設(shè)置模型的可接收序列最大長(zhǎng)度為250。最后當(dāng)模型困惑度不再明顯降低時(shí)停止模型訓(xùn)練。
本文實(shí)驗(yàn)中構(gòu)建如下系統(tǒng)進(jìn)行比較:
baseline: 即基線模型,使用BiLSTM-CRF模型,輸入為GloVe字向量。
+ELMo: 在baseline基礎(chǔ)上,模型輸入拼接上標(biāo)準(zhǔn)ELMo得到的字向量表示。
+ELMo_wubi: 在baseline基礎(chǔ)上,模型輸入拼接上混合五筆ELMo得到的字向量表示。
+ELMo_stroke: 在baseline基礎(chǔ)上,模型輸入拼接上混合筆畫(huà)ELMo得到的字向量表示。
+ELMo_wubi+ELMo_stroke: 在baseline基礎(chǔ)上,模型輸入拼接上混合五筆ELMo和混合筆畫(huà)ELMo得到的字向量表示。
+ELMo+stringwubi_ELMo: 在baseline基礎(chǔ)上,模型輸入拼接上標(biāo)準(zhǔn)ELMo和五筆序列ELMo得到的字向量表示。
+ELMo+stringstroke_ELMo: 在baseline基礎(chǔ)上,模型輸入拼接上標(biāo)準(zhǔn)ELMo和筆畫(huà)序列ELMo得到的字向量表示。
+ELMo+stringwubi_ELMo+stringstroke_ELMo: 在baseline基礎(chǔ)上,模型輸入拼接上標(biāo)準(zhǔn)ELMo、五筆序列ELMo和筆畫(huà)序列ELMo得到的字向量表示。
在大規(guī)模無(wú)標(biāo)注的電商語(yǔ)料上預(yù)訓(xùn)練的上下文詞向量能夠有助于事件識(shí)別性能,在針對(duì)OOV實(shí)體構(gòu)建的數(shù)據(jù)集Data_OOV上能看到效果顯著,如表3所示獲得了6.98%的提升,Data_Rand獲得了2.19%的提升。
本文研究的側(cè)重點(diǎn)是融入字形特征的ELMo預(yù)訓(xùn)練模型。 表3的結(jié)果表明融入中文筆畫(huà)和中文五筆特征的預(yù)訓(xùn)練模型又進(jìn)一步提高模型的識(shí)別能力。ELMo_wubi和ELMo_stroke表示使用3.1節(jié)的方式加入五筆特征和筆畫(huà)特征,相比ELMo的結(jié)果在Data_OOV上分別獲得了1.31%和2.32%的提升。stringwubi_ELMo和stringstroke_ELMo表示使用3.2節(jié)的方式訓(xùn)練序列化字形ELMo,可以看到在ELMo基礎(chǔ)上拼接序列化字形ELMo取得了最高性能。Data_OOV的測(cè)試集F值達(dá)到73.69%,Data_Rand的測(cè)試集F值達(dá)到86.24%。
表3 事件語(yǔ)料實(shí)驗(yàn)結(jié)果
為更進(jìn)一步挖掘字形特征的潛力,表3實(shí)驗(yàn)嘗試將ELMo_wubi和ELMo_stroke的輸出再拼接,stringwubi_ELMo和stringstroke_ELMo再拼接。筆畫(huà)和五筆融合的實(shí)驗(yàn)結(jié)果比ELMo有一定提升,但會(huì)損害結(jié)果較高一方的性能,并未獲得再提升。
為驗(yàn)證不同領(lǐng)域預(yù)訓(xùn)練模型的影響,本文使用規(guī)模相同的新聞?lì)I(lǐng)域無(wú)標(biāo)注數(shù)據(jù)訓(xùn)練上述ELMo模型。由于機(jī)器和時(shí)間限制,這里預(yù)訓(xùn)練模型的中文字形特征采用五筆特征,實(shí)驗(yàn)結(jié)果如表4所示。news代表新聞?lì)I(lǐng)域數(shù)據(jù)上訓(xùn)練的預(yù)訓(xùn)練模型,ec代表電商領(lǐng)域。在兩份數(shù)據(jù)集上,新聞?lì)I(lǐng)域的預(yù)訓(xùn)練語(yǔ)言模型ELMo較baseline平均提升3.1%,電商領(lǐng)域ELMo平均提升4.59%,在垂直領(lǐng)域上獲得更好的性能。ELMo+stringwubi_ELMo在兩個(gè)領(lǐng)域上取得最優(yōu)結(jié)果,相較baseline平均提升4.45%和6.15%。
表4 新聞?wù)Z料和電商語(yǔ)料ELMo實(shí)驗(yàn)結(jié)果
在上述實(shí)驗(yàn)結(jié)果基礎(chǔ)上,本節(jié)主要針對(duì)中文字形特征的預(yù)訓(xùn)練方式、不同中文字形特征的影響以及訓(xùn)練數(shù)據(jù)的領(lǐng)域影響進(jìn)行分析。
相較基于字的ELMo,加入筆畫(huà)或五筆信息的ELMo預(yù)訓(xùn)練模型首先能豐富字符的表示,其次模型對(duì)不在訓(xùn)練詞表中出現(xiàn)的字符有了更好的表示方法,下游任務(wù)能獲得較好的初始化,而且在五筆字根中包含部分偏旁部首編碼,這些字根不僅表示筆畫(huà),還有表聲表意的功能。如“阝”部,在左可以表示和山或地名有關(guān)的事物,在右可以表示和城市、邦國(guó)、地方、居住、姓氏有關(guān)的事物。如“耳”部,可以表示和耳朵、聽(tīng)覺(jué)或聲音相關(guān)的事物。利用上述中文字形ELMo的特點(diǎn),可以更好地捕捉電商事件字串符的字形模式,增強(qiáng)OOV事件的識(shí)別能力。
本文使用兩種不同的方式在ELMo語(yǔ)言模型中加入中文字形特征,第一種方式如3.1節(jié)所示,通過(guò)CNNs抽取字形特征并將其與字向量進(jìn)行拼接,傳入雙向BiLSTM中訓(xùn)練,直接通過(guò)端到端的模式得到中文字形ELMo表示。從實(shí)驗(yàn)結(jié)果來(lái)看,在Data_OOV數(shù)據(jù)集上相較僅由字訓(xùn)練的ELMo有性能上的提升。第二種方式如3.2節(jié)所示,直接對(duì)中文字形序列進(jìn)行語(yǔ)言模型建模,沒(méi)有字符的信息,通過(guò)對(duì)最后的隱層輸出操作得到字符預(yù)訓(xùn)練表示。最后將其與基于字的ELMo表示進(jìn)行拼接,在不同領(lǐng)域預(yù)訓(xùn)練數(shù)據(jù)和實(shí)驗(yàn)數(shù)據(jù)下均取得最佳結(jié)果。從模型復(fù)雜度角度分析,字形序列化ELMo參數(shù)更少,但缺少字的信息,需要結(jié)合ELMo表示。
從實(shí)驗(yàn)結(jié)果來(lái)看,在不同的預(yù)訓(xùn)練模型中,五筆和筆畫(huà)特征具有不同的優(yōu)勢(shì)。在序列ELMo中,五筆的結(jié)果優(yōu)于筆畫(huà)。從模型訓(xùn)練角度來(lái)看,筆畫(huà)拆解出來(lái)的序列過(guò)長(zhǎng),會(huì)給訓(xùn)練模型帶來(lái)問(wèn)題,容易在訓(xùn)練模型中出現(xiàn)梯度消失等問(wèn)題。給訓(xùn)練帶來(lái)負(fù)面效果,會(huì)經(jīng)過(guò)更多的輪次來(lái)選定參數(shù),所以五筆序列ELMo能獲得更好的性能。而在基于字形的ELMo中,筆畫(huà)的結(jié)果優(yōu)于五筆。同樣由于字符拆解出的筆畫(huà)和五筆序列長(zhǎng)度不同,卷積得到的特征數(shù)量也不同,筆畫(huà)模型的表達(dá)能力也更豐富,兩個(gè)模型在平均性能上筆畫(huà)的結(jié)果更加穩(wěn)定。實(shí)驗(yàn)還嘗試將五筆預(yù)訓(xùn)練模型和筆畫(huà)預(yù)訓(xùn)練模型的表示再進(jìn)行拼接輸入模型,從結(jié)果來(lái)看,對(duì)模型性能有損害。
不同領(lǐng)域數(shù)據(jù)訓(xùn)練的ELMo也給下游任務(wù)的應(yīng)用帶來(lái)許多影響。從實(shí)驗(yàn)結(jié)果來(lái)看,ELMo預(yù)訓(xùn)練模型獲取的上下文字向量在兩個(gè)領(lǐng)域上都能使baseline性能有所提升。在電商和新聞?lì)I(lǐng)域中,本文提出的兩個(gè)加入中文字形特征的模型也都能獲得性能提升。對(duì)于電商事件識(shí)別任務(wù),當(dāng)沒(méi)有足夠的電商領(lǐng)域無(wú)標(biāo)注數(shù)據(jù)時(shí),新聞?wù)Z料也可以通過(guò)ELMo預(yù)訓(xùn)練的方式來(lái)提高模型識(shí)別性能。在缺少電商數(shù)據(jù)資源時(shí),可以嘗試使用這種方法來(lái)緩解缺少目標(biāo)領(lǐng)域訓(xùn)練數(shù)據(jù)的問(wèn)題。
本文工作主要有以下三點(diǎn): ①針對(duì)電商場(chǎng)景,將事件識(shí)別任務(wù)轉(zhuǎn)換為序列標(biāo)注問(wèn)題; ②在預(yù)訓(xùn)練語(yǔ)言模型ELMo中加入中文字形特征,獲取更好的上下文表示,提高序列標(biāo)注的性能; ③在兩個(gè)領(lǐng)域上都能表明,本文提出的中文字形ELMo和序列化中文字形ELMo相比基于字的ELMo能夠提高序列標(biāo)注結(jié)果,并且中文五筆特征在兩個(gè)實(shí)驗(yàn)數(shù)據(jù)集上取得最好結(jié)果。
基于中文字形的ELMo,雖然對(duì)序列標(biāo)注結(jié)果取得了一定性能提升,但還有進(jìn)一步改進(jìn)的空間。對(duì)于ELMo向量表示的使用,不僅僅局限在拼接這一種方式,還可以使用基于權(quán)值、基于注意力機(jī)制的使用方式。此外,基于BERT的語(yǔ)言模型具有更強(qiáng)的編碼能力,后續(xù)可以嘗試在BERT中引入額外的字符表征來(lái)提高模型的表示能力。