方芳,王石,王亞,符建輝,曹存根*
(1.中國(guó)科學(xué)院計(jì)算技術(shù)研究所,智能信息處理重點(diǎn)實(shí)驗(yàn)室,北京 100190;2.中國(guó)科學(xué)院大學(xué),北京 100049)
名詞短語(yǔ)(Noun Phrase,簡(jiǎn)稱NP)識(shí)別是自然語(yǔ)言處理和文本挖掘領(lǐng)域的基礎(chǔ)問(wèn)題之一,在句法分析、主干提取、語(yǔ)義分析、知識(shí)獲取、信息檢索等眾多領(lǐng)域都有重要的意義,是完成這些任務(wù)的基礎(chǔ)工作。已有的名詞短語(yǔ)識(shí)別更多著眼于命名實(shí)體的識(shí)別,目標(biāo)是正確識(shí)別人名、機(jī)構(gòu)名、地名短語(yǔ)(有時(shí)包含時(shí)間、數(shù)量詞),范圍較窄且不能完全解決含動(dòng)詞名詞短語(yǔ)。而在所有名詞短語(yǔ)中,含有動(dòng)詞的名稱短語(yǔ)識(shí)別尤為困難,往往存在很多歧義。
本文的目標(biāo)是識(shí)別含動(dòng)詞的名詞短語(yǔ),并幫助FSTD[1]進(jìn)行知識(shí)抽取,通過(guò)對(duì)問(wèn)題和語(yǔ)料的考察,發(fā)現(xiàn)包含動(dòng)詞的名詞短語(yǔ)識(shí)別中主要包含了以下難點(diǎn)。
1)分詞錯(cuò)誤
目前的分詞工具經(jīng)常會(huì)產(chǎn)生一些錯(cuò)誤,包括分詞和詞性標(biāo)注的錯(cuò)誤,尤其是含動(dòng)詞名詞短語(yǔ)中的動(dòng)詞,常會(huì)被標(biāo)記為動(dòng)詞。而這些會(huì)對(duì)含動(dòng)詞名詞短語(yǔ)識(shí)別帶來(lái)很大影響。
2)邊界確定
確定名詞短語(yǔ)的左右邊界是名詞短語(yǔ)識(shí)別的關(guān)鍵。有些名詞短語(yǔ)會(huì)伴隨搭配信息一起出現(xiàn),而這一方法對(duì)本文的研究目標(biāo)含動(dòng)詞名詞短語(yǔ)同樣適用。例如“在/p 后期/n 維護(hù)/v 方面/n”, 其中“在/p”和“方面/n”是名詞短語(yǔ)左右邊界。
3)VN和NV結(jié)構(gòu)的名詞短語(yǔ)
含動(dòng)詞名詞短語(yǔ)中,有一類特殊的結(jié)構(gòu)V+N和N+V。這兩種情況很難確定其動(dòng)詞V是短語(yǔ)的一部分還是句子中的謂語(yǔ)動(dòng)詞。例如,“運(yùn)行/v 內(nèi)存/n”可能是指偏正結(jié)構(gòu)的名詞短語(yǔ), 或者“運(yùn)行”與“內(nèi)存”構(gòu)成動(dòng)賓結(jié)構(gòu)的動(dòng)詞短語(yǔ)。同理,“機(jī)器/n 學(xué)習(xí)/v”可能表示名詞短語(yǔ),指一種算法,或者“學(xué)習(xí)”與“機(jī)器”構(gòu)成主謂結(jié)構(gòu)。
4)標(biāo)記數(shù)據(jù)少
目前公開(kāi)的已標(biāo)記名詞短語(yǔ)數(shù)據(jù)集只有少量用于命名實(shí)體識(shí)別的數(shù)據(jù),并沒(méi)有適合本文工作的數(shù)據(jù),因此如何在很少的訓(xùn)練數(shù)據(jù)下完成含動(dòng)詞名詞短語(yǔ)識(shí)別也是一個(gè)難題。
含動(dòng)詞名詞短語(yǔ)識(shí)別與命名實(shí)體識(shí)別、術(shù)語(yǔ)識(shí)別有相似的地方。識(shí)別方法可以分為4類,分別是語(yǔ)言學(xué)方法、統(tǒng)計(jì)方法、神經(jīng)網(wǎng)絡(luò)方法和混合方法。
1)基于語(yǔ)言學(xué)的方法
基于句法進(jìn)行名詞短語(yǔ)識(shí)別的主要思想是將短語(yǔ)當(dāng)作滿足特定句法的一種形式[2],利用句法結(jié)構(gòu)確定可能的名詞單元。Petasis等[3]采用句法分析樹(shù)辨別上下文環(huán)境的方法,從而獲取實(shí)體的名稱。另外一種方法是使用詞匯的模式來(lái)識(shí)別名詞短語(yǔ),Justeson等[4]將介名短語(yǔ)、形名短語(yǔ)和名名短語(yǔ)作為候選術(shù)語(yǔ)。Shih-Hung[5]利用詞匯的內(nèi)部結(jié)構(gòu)來(lái)建立中文本體分類關(guān)系的系統(tǒng),并提出一些模板,如:A+Na, Na+Nb, A+Nc, Na+Nc 等。
2)基于統(tǒng)計(jì)的方法
Hanks等[6]利用互信息度量詞組頻繁共現(xiàn)的程度,抽取詞語(yǔ)的固定組合和搭配。Bender等[7]提出信息熵模型進(jìn)行實(shí)體名稱識(shí)別。Collier等[8]提出了一種基于隱馬爾科夫模型識(shí)別的新方法,識(shí)別生物醫(yī)學(xué)領(lǐng)域的概念。劉群[9]提出一種層疊的隱馬爾科夫模型,將漢語(yǔ)分詞、詞性標(biāo)注、切分排歧和未登錄詞識(shí)別集成到一個(gè)理論框架中。向曉雯[10]在條件隨機(jī)場(chǎng)模型(CRF)中利用改進(jìn)的標(biāo)準(zhǔn)集對(duì)命名實(shí)體進(jìn)行識(shí)別。Zhou等[11]提出了一種利用條件隨機(jī)場(chǎng)CRFs模型進(jìn)行字一級(jí)分詞和詞一級(jí)命名實(shí)體識(shí)別的兩階段識(shí)別方法。
3)基于神經(jīng)網(wǎng)絡(luò)的方法
隨著深度學(xué)習(xí)和人工智能的發(fā)展,基于神經(jīng)網(wǎng)絡(luò)的命名實(shí)體識(shí)別也取得了較好的成果。目前存在很多基于神經(jīng)網(wǎng)絡(luò)的命名實(shí)體識(shí)別方法。Collobert等[12]使用長(zhǎng)短時(shí)記憶模型(LSTM)進(jìn)行了命名實(shí)體識(shí)別的研究。Chiu等[13]在英文環(huán)境中使用雙向LSTM提取文本全局特征,再使用 CNNs 提取單詞的特征來(lái)進(jìn)行命名實(shí)體的識(shí)別。Kuru等[14]使用Stacked bidirectional LSTMs 提取文本全局特征進(jìn)行命名實(shí)體識(shí)別。
4)混合的方法
Frantzi[15]提出了一種結(jié)合語(yǔ)言學(xué)和統(tǒng)計(jì)學(xué)知識(shí)進(jìn)行術(shù)語(yǔ)抽取的方法。常衛(wèi)麗[16]在CRFs模型中加入領(lǐng)域本體。陳萬(wàn)禮[17]結(jié)合同義詞詞典、百科資源等產(chǎn)生初始候選實(shí)體集合,利用Ranking SVM對(duì)候選集進(jìn)行排序,從而得到目標(biāo)實(shí)體。另外還存在神經(jīng)網(wǎng)絡(luò)與統(tǒng)計(jì)相結(jié)合的方式,其中包含了LSTM與CRF[18]以及雙向LSTM與CRF相結(jié)合的方式[19],這兩種結(jié)合方式在LSTM層后接入CRF層來(lái)做句子級(jí)別的標(biāo)簽預(yù)測(cè),使得標(biāo)注不再是對(duì)各個(gè)詞語(yǔ)獨(dú)立分類。Ma等人[20-22]提出了深度學(xué)習(xí)與其他方法相融合的方式。
為了解決以上難題并完成對(duì)含動(dòng)詞名詞短語(yǔ)的識(shí)別工作,本文采用神經(jīng)網(wǎng)絡(luò)、規(guī)則、統(tǒng)計(jì)融合的方法。首先,對(duì)語(yǔ)料進(jìn)行預(yù)處理,其中包括詞性、助詞、時(shí)間、數(shù)量詞等內(nèi)容的糾正或合并;其次,根據(jù)已有的命名實(shí)體數(shù)據(jù)集使用雙向LSTM與條件隨機(jī)場(chǎng)的方法進(jìn)行含動(dòng)詞命名實(shí)體識(shí)別;然后根據(jù)百度詞條對(duì)含動(dòng)詞名詞短語(yǔ)進(jìn)行識(shí)別;接著,基于固定搭配、語(yǔ)義分類和描述框架中(Framework of Semantic Taxonomy and Description, 簡(jiǎn)稱FSTD)的文法[1]對(duì)含動(dòng)詞名詞短語(yǔ)進(jìn)行識(shí)別;最后對(duì)提出的方法進(jìn)行實(shí)驗(yàn)和分析。
因?yàn)橹形木渥硬⒉幌裼⑽拇嬖谔烊坏目崭襁吔?中文語(yǔ)句在計(jì)算機(jī)處理之前需要進(jìn)行分詞和詞性標(biāo)注。而分詞和詞性標(biāo)注存在很多問(wèn)題,因此在含動(dòng)詞名詞短語(yǔ)識(shí)別之前對(duì)語(yǔ)料進(jìn)行預(yù)處理,其中包括了符號(hào)的處理,詞性的修正,時(shí)間、英文、數(shù)字、成語(yǔ)等識(shí)別合并。
分詞和詞性標(biāo)注錯(cuò)誤會(huì)影響含動(dòng)詞名詞短語(yǔ)的識(shí)別,因此預(yù)處理時(shí)會(huì)進(jìn)行簡(jiǎn)單詞性修正。
1) 助詞、助動(dòng)詞的詞性修正
助詞,是附著在其他詞匯、詞組或是句子上作輔助之用。協(xié)助主要?jiǎng)釉~構(gòu)成謂語(yǔ)的詞叫助動(dòng)詞。使用助詞和助動(dòng)詞詞表對(duì)助詞和助動(dòng)詞進(jìn)行詞性修正,并標(biāo)記為u和vu。
2) 根據(jù)詞性處理規(guī)則進(jìn)行詞性修改
通過(guò)觀察發(fā)現(xiàn)分詞后語(yǔ)句會(huì)包含很多不符合語(yǔ)言學(xué)的情況,例如“還是”、“只有”是連續(xù)的連詞,而分詞會(huì)將其拆分開(kāi)。因此根據(jù)語(yǔ)言學(xué)特點(diǎn)設(shè)計(jì)詞性處理規(guī)則。
規(guī)則庫(kù)的格式如下:
原句需滿足的規(guī)則串 → 操作名稱(參數(shù))
目前已存在的部分規(guī)則如下。
符號(hào)解釋:以下表達(dá)式的詞類和規(guī)則中存在特殊的符號(hào),解釋如下: *:表示任意字符 ?:表示單個(gè)字符 |:表示或詞類:!有前面的副詞詞類 = 只|還|已|既|又 !是前面的副詞詞類 = 于|但|只|而|可|還|若|是!稱呼詞類 = 女士|先生|小姐|男士|夫人|太太|同志|教授|博士|園長(zhǎng)|經(jīng)理|老師|總裁|工程師…規(guī)則:幾乎/d+是/v+*/v -> 替代(幾乎是/d,幾乎/d 是/v) 自主/v + */v -> 替代(自主/vd,自主/v)!是前面的副詞詞類+是/v -> 拼接(,/c) 準(zhǔn)備/v + */v -> 替代(準(zhǔn)備/vd,準(zhǔn)備/v)!有前面的副詞詞類+有/v -> 拼接(,/d) ?/v+!稱呼詞類 -> 拼接(,!稱呼詞類>,/n)直/d+到/v -> 拼接(<直,到>,/c) 慎/*+*/v -> 拼接(<慎,*>,/v) 易/*+*/v -> 拼接(<易,*>,/v)
3) 其他詞性修正
除了以上的詞性修正,還有一些特殊詞的詞性,包括符號(hào)、英文以及形容詞。具體的修正方式如下:如果待判定詞為符號(hào)類型,詞性標(biāo)注不是w,詞性修改為w。如果待判定詞含有英文字符,則詞性改為nx。將“的”字后動(dòng)詞的詞性更改為形容詞詞性a。
中文語(yǔ)句在分詞以后,成對(duì)符號(hào)中的內(nèi)容常常會(huì)被分開(kāi),而內(nèi)容被分開(kāi)會(huì)影響語(yǔ)義解析,因此首先將成對(duì)符號(hào)里的內(nèi)容進(jìn)行合并。
其中成對(duì)符號(hào)包括《》,“”, "", (), (), 【】, [], ‘’,", 「」, <>等。
語(yǔ)素詞是常見(jiàn)的被過(guò)度細(xì)分的一類詞語(yǔ),成語(yǔ)和疊詞在分詞的時(shí)候也往往會(huì)被分開(kāi)。本文設(shè)計(jì)了合并方法,解決這三種問(wèn)題。
1) 語(yǔ)素詞合并
根據(jù)語(yǔ)素詞表,判定合并帶語(yǔ)素詞的詞,如“加強(qiáng)/v 版/g”,將其合并成一個(gè)詞,并將其詞性進(jìn)行修改。
2) 成語(yǔ)、疊詞合并
成語(yǔ)和疊詞是中文中很特殊的兩類詞,目前的分詞系統(tǒng)常會(huì)將其分割開(kāi),因此要對(duì)分割的成語(yǔ)和疊詞進(jìn)行合并。通過(guò)考察和收集,已形成成語(yǔ)詞典和疊詞詞典。遍歷句子中的所有詞,如果存在成語(yǔ)和疊詞則進(jìn)行合并。
數(shù)量詞即數(shù)量形容詞,是表示數(shù)、量或程度的形容詞。時(shí)間則是表示時(shí)間的短語(yǔ)。而在中文語(yǔ)句中,一些型號(hào)或者名稱中常包含字母和數(shù)字的字符串,或包含英文單詞,而這些在分詞時(shí)經(jīng)常會(huì)被分隔開(kāi),為了后續(xù)的含動(dòng)詞名詞短語(yǔ)識(shí)別,需將其進(jìn)行合并。
對(duì)三種類型的識(shí)別,采用基于規(guī)則的方式,其中wi表示句子中的詞,/表示詞性。
w1/m+w2/m→w1 w2/mw1/m+w2/q(量詞詞典中存在w2)→ w1w2/mqw1/mq + 特殊字符w2 + w3/q→ w1w2 w3/mqw1/m + w2/*(w2是時(shí)間量詞)→ w1w2/tw1/m + w2/t→w1 w2/tw1/t + w2/t + … + wn/t→w1 w2…wn/tw1/nx + w2/m(w2不含中文) w1 w2/nw1/nx + w2/w→ w1 w2/nw1/m(w1不含中文) + w2/nx→w1 w2/nw1/nx + w2/nx + … + wn/nx→w1 w2…wn/n
雖然含動(dòng)詞名詞短語(yǔ)的識(shí)別與命名實(shí)體識(shí)別(Named Entity Recognition,簡(jiǎn)稱NER)目標(biāo)不相同,但是命名實(shí)體識(shí)別可以幫助處理命名實(shí)體中包含動(dòng)詞的情況,還可以幫助后面對(duì)其他含動(dòng)詞名詞短語(yǔ)的識(shí)別。本文使用基于字的BiLSTM-CRF方法進(jìn)行含動(dòng)詞命名實(shí)體識(shí)別,使用公開(kāi)的命名實(shí)體mrsa數(shù)據(jù)進(jìn)行訓(xùn)練。
mrsa數(shù)據(jù)使用BIO標(biāo)注方法,即B-PER、I-PER代表人名首字、人名非首字,B-LOC、I-LOC代表地名首字、地名非首字,B-ORG、I-ORG代表組織機(jī)構(gòu)名首字、組織機(jī)構(gòu)名非首字,O代表該字不屬于命名實(shí)體的一部分。
以句子為單位,將含有n個(gè)字的句子(字的序列)記作矩陣x,其中xi表示句子中字的字向量。
x=(x1,x2,…,xn) .
模型的第一層是embedding層,將句子中的每個(gè)字由one-hot向量映射為低維的向量Xi∈d,其中d為embedding的維度。設(shè)置dropout以防止過(guò)擬合。
(h1,h2,…,hn)∈n×m.
因?yàn)樵O(shè)置了dropout,此時(shí)接入一個(gè)線性層,將隱狀態(tài)向量從m維映射到k維,k為標(biāo)注集的標(biāo)簽數(shù),從而得到自動(dòng)提取的句子特征,記作矩陣p=(p1,p2,…,pn)∈n×k.其中pi∈k的每一維pij可以看作將第i個(gè)字分類到第j個(gè)標(biāo)簽的概率。
模型的第三層是CRF層,進(jìn)行句子級(jí)的序列標(biāo)注。CRF層的參數(shù)是一個(gè)(k+2)×(k+2)的矩陣A,Aij表示的是從第i個(gè)標(biāo)簽到第j個(gè)標(biāo)簽的轉(zhuǎn)移概率,此時(shí)對(duì)一個(gè)位置進(jìn)行標(biāo)注利用此前已經(jīng)標(biāo)注過(guò)的標(biāo)簽,加2是因?yàn)榫渥邮撞亢臀膊糠謩e添加一個(gè)起始狀態(tài)和一個(gè)終止?fàn)顟B(tài)。如果記一個(gè)長(zhǎng)度等于句子長(zhǎng)度的標(biāo)簽序列y=(y1,y2,…,yn),由此句子x的標(biāo)簽y的概率為
(1)
因此整個(gè)序列的分值等于每個(gè)字的分值之和,而每個(gè)位置的分值由兩部分得到,一部分是由LSTM輸出的pi決定,另一部分則由CRF的轉(zhuǎn)移矩陣A決定。利用Softmax歸一化后的概率是:
(2)
模型訓(xùn)練時(shí)最大化對(duì)數(shù)似然函數(shù),下式(3)給出了對(duì)一個(gè)訓(xùn)練樣本(x,yx)的對(duì)數(shù)似然:
(3)
模型在預(yù)測(cè)時(shí)使用動(dòng)態(tài)規(guī)劃的Viterbi算法來(lái)求解最優(yōu)路徑,即
y*=arg maxy′score(x,y′) .
(4)
整個(gè)模型的結(jié)構(gòu)如圖1所示。
Fig.1 Named Entity Recognition Model of BiLSTM+CRF圖1 BiLSTM+CRF命名實(shí)體識(shí)別模型
百度百科是百度公司推出的內(nèi)容開(kāi)放的網(wǎng)絡(luò)百科全書(shū),而百科詞條是對(duì)整個(gè)百科內(nèi)容的定義。本文從百度百科獲取了超過(guò)五百萬(wàn)詞條,利用百度詞條可以幫助對(duì)含動(dòng)詞名詞短語(yǔ)進(jìn)行識(shí)別。
識(shí)別含動(dòng)詞名詞短語(yǔ)過(guò)程中,首先需要對(duì)動(dòng)詞進(jìn)行驗(yàn)證,確定當(dāng)前待判定動(dòng)詞是謂語(yǔ)動(dòng)詞還是名詞短語(yǔ)的一部分以及待判定動(dòng)詞是否具有名詞性。
3.1.1 可更改動(dòng)詞驗(yàn)證
該驗(yàn)證主要是判定動(dòng)詞是否是名詞短語(yǔ)的一部分,具體的驗(yàn)證方式如下。
1) 形式動(dòng)詞判斷
形式動(dòng)詞指不具有實(shí)在意義而只能用動(dòng)名詞或以動(dòng)名詞為中心語(yǔ)的偏正短語(yǔ)作賓語(yǔ)的動(dòng)詞。因此如果句子中存在形式動(dòng)詞和另一個(gè)動(dòng)詞,兩個(gè)動(dòng)詞都不需要再進(jìn)行識(shí)別。
2) 句賓動(dòng)詞判斷
中文中存在一些動(dòng)詞后接完整的句子作為賓語(yǔ),該類語(yǔ)句理應(yīng)存在多個(gè)動(dòng)詞,因此如果語(yǔ)句中存在句賓動(dòng)詞,則不再對(duì)其動(dòng)詞進(jìn)行識(shí)別。例如“墻機(jī)/n 業(yè)務(wù)/n 也/d 受益于/v 環(huán)保/j 壓力/n 銷量/n 快速/d 增長(zhǎng)/v”語(yǔ)句中,“受益于”后跟的賓語(yǔ)成分是一個(gè)完整語(yǔ)句。
3) 兼語(yǔ)連動(dòng)判斷
兼語(yǔ)句是由兼語(yǔ)短語(yǔ)充當(dāng)謂語(yǔ)或獨(dú)立成句的句子。它的謂語(yǔ)是由動(dòng)賓短語(yǔ)套接主謂短語(yǔ)構(gòu)成的,動(dòng)賓短語(yǔ)的賓語(yǔ)兼做主謂短語(yǔ)的主語(yǔ)。而連動(dòng)句,兩個(gè)動(dòng)詞短語(yǔ)互不作成分,共同作謂語(yǔ),但在語(yǔ)義上有目的和方式、原因和結(jié)果等關(guān)系,位置順序不能相互顛倒。
因此兼語(yǔ)和連動(dòng)句理應(yīng)存在多個(gè)動(dòng)詞,如果語(yǔ)句是兼語(yǔ)連動(dòng)句,則不再識(shí)別兩類句子中的含動(dòng)詞名詞短語(yǔ)。
3.1.2 動(dòng)詞的名詞性驗(yàn)證
判斷動(dòng)詞是否具有名詞性是含動(dòng)詞名詞短語(yǔ)識(shí)別中很重要的一步,因?yàn)樗泻瑒?dòng)詞的名詞短語(yǔ)識(shí)別工作都要保證動(dòng)詞具有名詞性。假設(shè)待判定的動(dòng)詞為v。
1) 根據(jù)計(jì)算所詞表判斷
計(jì)算所詞表由中科院計(jì)算所設(shè)計(jì),該詞表包含常見(jiàn)詞可能的詞性。利用該詞表,如果當(dāng)前v在詞表中同時(shí)具有名詞和動(dòng)詞的詞性,則認(rèn)為v具有名詞性。
2) 根據(jù)名詞語(yǔ)義特性判斷
根據(jù)名詞語(yǔ)義特性判斷v是否具有名詞特性。
① 統(tǒng)計(jì)語(yǔ)料中所有符合“v'+mq+[n|a]+v(結(jié)尾)”結(jié)構(gòu)的句子,當(dāng)超過(guò)一定次數(shù),則認(rèn)為v具有名詞性;
② 統(tǒng)計(jì)語(yǔ)料中所有符合“在+[a|n]+v+上|方面”結(jié)構(gòu)的句子,當(dāng)超過(guò)一定次數(shù),則認(rèn)為v具有名詞性。
當(dāng)動(dòng)詞通過(guò)驗(yàn)證則使用百度詞條進(jìn)行含動(dòng)詞名詞短語(yǔ)的識(shí)別,具體過(guò)程如下:
① 定義當(dāng)前待驗(yàn)證的詞為W
W=wi…wj,i=1…L;j=i+1…L,
(5)
其中,wi是句子中第i個(gè)詞,wj是句子中的第j個(gè)詞,W是從第i個(gè)到第j個(gè)連續(xù)詞形成的一個(gè)詞;L是句子中詞的總數(shù)。
② 通過(guò)百度詞典驗(yàn)證合并
如果百度詞條中存在W,則W作為可合并候選項(xiàng);如果W不在百度詞條中,則統(tǒng)計(jì)以W為結(jié)尾或開(kāi)頭的百度詞條,當(dāng)大于閾值,則W作為可合并候選項(xiàng)。
如果W是候選項(xiàng),繼續(xù)移位j,形成W’,驗(yàn)證W’,如果W’也成為候選項(xiàng),則使用最長(zhǎng)優(yōu)先匹配和最多優(yōu)先匹配的原則,放棄W。
對(duì)可合并候選項(xiàng)進(jìn)行邊界驗(yàn)證和NP驗(yàn)證(驗(yàn)證方法參見(jiàn)4.2和4.3),如果通過(guò)驗(yàn)證,則合并W’并修改詞性為NP。
定義1.最長(zhǎng)優(yōu)先匹配原則。當(dāng)W1與W2同時(shí)滿足條件,如果W1包含W2且W1的長(zhǎng)度大于W2的長(zhǎng)度,則優(yōu)先選擇W1。
定義2.最多優(yōu)先匹配原則。當(dāng)W1與W2同時(shí)滿足條件,如果W1出現(xiàn)次數(shù)大于W2,則優(yōu)先選擇W1。
通過(guò)對(duì)語(yǔ)料的觀察以及總結(jié)的名詞短語(yǔ)出現(xiàn)特點(diǎn),發(fā)現(xiàn)很多名詞短語(yǔ)會(huì)出現(xiàn)在特定詞語(yǔ)之間,這些特定詞語(yǔ)可以認(rèn)為是名詞短語(yǔ)的語(yǔ)義邊界。因此語(yǔ)義邊界是一種識(shí)別名詞短語(yǔ)很好的一種方式,這樣也同樣可以用來(lái)識(shí)別含動(dòng)詞名詞短語(yǔ),且使用邊界會(huì)是一種很好的識(shí)別方式。
中文語(yǔ)句中,存在很多固定搭配,這些固定搭配可以作為含動(dòng)詞名詞短語(yǔ)的自然語(yǔ)義邊界,因此可以通過(guò)這些固定搭配識(shí)別含動(dòng)詞名詞短語(yǔ)。表1給出部分固定搭配。
表1 部分固定搭配邊界信息
在FSTD中,文法槽定義了適用于某動(dòng)詞的語(yǔ)義文法,而文法中也定義了很多搭配,同樣這些搭配可以被用作識(shí)別含動(dòng)詞名詞短語(yǔ)的邊界,該邊界稱為FSTD邊界。表2列出了FSTD文法中的部分含動(dòng)詞名詞短語(yǔ)邊界實(shí)例,表中的非終結(jié)符“
表2 部分FSTD邊界信息
使用固定搭配邊界以及FSTD邊界識(shí)別含動(dòng)詞名詞短語(yǔ)仍需要考慮其名詞短語(yǔ)中含有動(dòng)詞的難點(diǎn),因此識(shí)別過(guò)程中要進(jìn)行驗(yàn)證才能保證含動(dòng)詞名詞短語(yǔ)識(shí)別的準(zhǔn)確性。其中驗(yàn)證包括對(duì)邊界進(jìn)行邊界驗(yàn)證,從而確定邊界是否合理,同時(shí)還要驗(yàn)證通過(guò)邊界獲取的含動(dòng)詞名詞短語(yǔ)是否合理,即名詞短語(yǔ)再驗(yàn)證。
驗(yàn)證邊界是否合適,主要是驗(yàn)證邊界前后兩個(gè)詞的粘著性,如果兩個(gè)詞的粘著性較強(qiáng),則認(rèn)為兩個(gè)詞不可被分割,即邊界不成立。具體驗(yàn)證方法如下
1) 根據(jù)邊界結(jié)果,分別抽取左右邊界的前后兩個(gè)詞,組成兩個(gè)詞對(duì);
2) 通過(guò)二元組資源(該資源是從1.5T的已分詞語(yǔ)句中得到,該資源統(tǒng)計(jì)了所有兩個(gè)詞同時(shí)出現(xiàn)的次數(shù)),找出上述兩個(gè)詞對(duì)的數(shù)目;
3) 如果其中一對(duì)的數(shù)目超過(guò)閾值,則放棄根據(jù)該邊界識(shí)別得到的含動(dòng)詞名詞短語(yǔ)結(jié)果;
4) 如果兩個(gè)詞對(duì)都不超過(guò)閾值,繼續(xù)利用統(tǒng)計(jì)驗(yàn)證,如果存在一個(gè)詞對(duì)通過(guò)驗(yàn)證,則放棄根據(jù)該邊界識(shí)別得到的含動(dòng)詞名詞短語(yǔ)結(jié)果;
5) 對(duì)識(shí)別得到的含動(dòng)詞名詞短語(yǔ)進(jìn)行短語(yǔ)再驗(yàn)證,如果無(wú)法通過(guò)驗(yàn)證,放棄識(shí)別結(jié)果;
6) 如果除了邊界以及邊界內(nèi)的內(nèi)容,不再存在其他動(dòng)詞,則放棄該識(shí)別結(jié)果。
當(dāng)識(shí)別出含動(dòng)詞名詞短語(yǔ)后,需要再次判斷是否可以將含動(dòng)詞名詞短語(yǔ)中的動(dòng)詞進(jìn)行詞性修改或該含動(dòng)詞名詞短語(yǔ)是否合適。
1) 如果當(dāng)前含動(dòng)詞名詞短語(yǔ)中的動(dòng)詞是形式動(dòng)詞,則放棄該含動(dòng)詞名詞短語(yǔ);
2) 如果當(dāng)前含動(dòng)詞名詞短語(yǔ)中的動(dòng)詞后面跟“著、了、過(guò)、完”等詞,則該動(dòng)詞為謂語(yǔ)動(dòng)詞,放棄該含動(dòng)詞名詞短語(yǔ);
3) 如果當(dāng)前含動(dòng)詞名詞短語(yǔ)中的動(dòng)詞前接“來(lái)、去、到”等詞,則放棄該短語(yǔ);
4) 如果當(dāng)前含動(dòng)詞名詞短語(yǔ)中的動(dòng)詞前有副詞修飾,則該動(dòng)詞為謂語(yǔ)動(dòng)詞,放棄該含動(dòng)詞名詞短語(yǔ)。
5.1.1 數(shù)據(jù)集
本文使用的數(shù)據(jù)皆來(lái)源于web,包含了新聞、產(chǎn)品描述以及電影等數(shù)據(jù)。隨機(jī)抽取125個(gè)包含多個(gè)動(dòng)詞的語(yǔ)句進(jìn)行測(cè)試,超過(guò)60%的句子的總詞數(shù)超過(guò)10。首先對(duì)句子進(jìn)行分詞,而后對(duì)句子使用人工手工標(biāo)注的方式,將詞性標(biāo)注為動(dòng)詞但與前詞或后詞構(gòu)成為名詞短語(yǔ)的情況定義為含動(dòng)詞名詞短語(yǔ)。
因?yàn)楸疚牡姆椒ㄖ邪ㄊ褂蒙窠?jīng)網(wǎng)絡(luò)對(duì)含動(dòng)詞的命名實(shí)體進(jìn)行識(shí)別,因此選擇公開(kāi)的msra數(shù)據(jù)庫(kù)進(jìn)行訓(xùn)練。
5.1.2 度量標(biāo)準(zhǔn)
本文使用基本的度量標(biāo)準(zhǔn),包括準(zhǔn)確率、召回率以及F1值,具體的公式如下所示
(6)
(7)
(8)
其中,VNPcorrect表示識(shí)別正確的含動(dòng)詞名詞短語(yǔ),VNPrecognition表示識(shí)別出的所有含動(dòng)詞名詞短語(yǔ),VNPactual表示句子中實(shí)際包含的含動(dòng)詞名詞短語(yǔ)。
5.2.1 實(shí)驗(yàn)結(jié)果
本文的目標(biāo)是對(duì)含動(dòng)詞的名詞短語(yǔ)進(jìn)行識(shí)別,尤其是為了語(yǔ)義解析和知識(shí)抽取這一終極目標(biāo),需要消除名詞短語(yǔ)中的動(dòng)詞對(duì)謂語(yǔ)動(dòng)詞的影響。
本文使用基于神經(jīng)網(wǎng)絡(luò)的方法,該方法需要使用已標(biāo)記的訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,目前并沒(méi)有已標(biāo)記的中文含動(dòng)詞名詞短語(yǔ)數(shù)據(jù),因此使用公開(kāi)的已標(biāo)記命名實(shí)體識(shí)別數(shù)據(jù)識(shí)別含動(dòng)詞的命名實(shí)體識(shí)別。
但即使沒(méi)有基于神經(jīng)網(wǎng)絡(luò)的命名識(shí)別,本文的方法依然可以達(dá)到一個(gè)很好的結(jié)果。本文進(jìn)行兩組實(shí)驗(yàn)來(lái)說(shuō)明即使沒(méi)有已標(biāo)記的先驗(yàn)數(shù)據(jù),本文提出的方法依然可以得到一個(gè)很好的結(jié)果。一組實(shí)驗(yàn)包含基于神經(jīng)網(wǎng)絡(luò)的含動(dòng)詞命名實(shí)體識(shí)別,第二組則不包含,最后一組則是單純使用LSTM+CRF的方法在NER的公開(kāi)數(shù)據(jù)上訓(xùn)練。通過(guò)實(shí)驗(yàn)得到的實(shí)驗(yàn)結(jié)果如表3所示。在測(cè)試的125句中,通過(guò)人工標(biāo)注得到包含動(dòng)詞的名詞短語(yǔ)有152個(gè),不添加使用LSTM+CRF進(jìn)行NER的情況,抽取到136個(gè)含動(dòng)詞名詞短語(yǔ),其中正確的是120個(gè),而添加LSTM+CRF進(jìn)行NER操作增加了2個(gè)抽取正確的含動(dòng)詞名詞短語(yǔ),而單純使用LSTM+CRF的方法,因?yàn)楦嗟氖菍?duì)命名實(shí)體的識(shí)別,因此結(jié)果中只抽取了正確的15個(gè)含動(dòng)詞的名詞短語(yǔ)。
表3 實(shí)驗(yàn)結(jié)果
通過(guò)實(shí)驗(yàn),可以看出本文提出方法的有效性,而對(duì)比實(shí)驗(yàn)說(shuō)明即使沒(méi)有已標(biāo)記的訓(xùn)練數(shù)據(jù),本文方法也可以達(dá)到一個(gè)不錯(cuò)的效果,而加入命名實(shí)體識(shí)別可以幫助提高準(zhǔn)確率。圖2給出兩條通過(guò)LSTM+CRF方法進(jìn)行NER帶來(lái)幫助的事例,黑色加粗表示因?yàn)榧尤隠STM+CRF而識(shí)別正確的名詞短語(yǔ)。
Fig.2 An Example of Improving the Accuracy by NER by LSTM+CRF圖2 LSTM+CRF進(jìn)行NER提高精度的事例
5.2.2 實(shí)驗(yàn)結(jié)果分析
通過(guò)實(shí)驗(yàn)可以看出,本文提出的方法并不依賴于大量已標(biāo)記的含動(dòng)詞名詞短語(yǔ)數(shù)據(jù),只是依靠外部資源以及公開(kāi)的命名實(shí)體數(shù)據(jù)就可以達(dá)到較好的效果。如果有標(biāo)記的含動(dòng)詞名詞短語(yǔ)數(shù)據(jù)則可以達(dá)到更好的結(jié)果。當(dāng)然本文的方法還存在問(wèn)題,主要的原因有以下幾個(gè)方面。
1) 分詞問(wèn)題
雖然本文提出的方法已經(jīng)就此問(wèn)題進(jìn)行了處理,但是依然還有未能解決的問(wèn)題,而這個(gè)問(wèn)題會(huì)對(duì)含動(dòng)詞名詞短語(yǔ)的識(shí)別結(jié)果帶來(lái)很大的影響;
2) 中間結(jié)果傳遞錯(cuò)誤
本文提出的方法有些使用了中間結(jié)果,這些結(jié)果并沒(méi)有做到100%正確,而且同一個(gè)結(jié)果在不同的語(yǔ)句會(huì)存在不同結(jié)果的情況,因此錯(cuò)誤率也會(huì)傳遞到名詞短語(yǔ)識(shí)別的結(jié)果中。
3) 連續(xù)多動(dòng)詞問(wèn)題
含動(dòng)詞名詞短語(yǔ)中,有些短語(yǔ)包含連續(xù)多個(gè)動(dòng)詞,這種情況的短語(yǔ)識(shí)別難度更大,如果該類型短語(yǔ)與謂語(yǔ)動(dòng)詞相連,在判定動(dòng)詞屬于名詞短語(yǔ)還是謂語(yǔ)動(dòng)詞時(shí)會(huì)帶來(lái)更大困難。
在使用FSTD進(jìn)行語(yǔ)義解析和知識(shí)抽取之前需要對(duì)句子進(jìn)行含動(dòng)詞名詞短語(yǔ)識(shí)別。已有的名詞短語(yǔ)識(shí)別更多著眼于命名實(shí)體的識(shí)別,而本文的目標(biāo)是識(shí)別含動(dòng)詞名詞短語(yǔ),主要包含了分詞和詞性標(biāo)注問(wèn)題、邊界確定、標(biāo)記數(shù)據(jù)少等難點(diǎn)。
為了解決以上難題,本文采用神經(jīng)網(wǎng)絡(luò)與規(guī)則、統(tǒng)計(jì)相結(jié)合的方法。首先對(duì)數(shù)據(jù)進(jìn)行包括詞性、助詞、時(shí)間、數(shù)量詞等內(nèi)容的糾正或合并;而后使用雙向LSTM與條件隨機(jī)場(chǎng)融合的方法對(duì)語(yǔ)句進(jìn)行含動(dòng)詞命名實(shí)體識(shí)別;接著使用百度詞條、固定搭配、FSTD文法對(duì)含動(dòng)詞名詞短語(yǔ)進(jìn)行識(shí)別;最后對(duì)提出的方法實(shí)驗(yàn)并分析。最終實(shí)驗(yàn)表明我們的方法具有89%的準(zhǔn)確率以及80%的召回率。