本發(fā)明涉及語言文字處理領(lǐng)域,特別涉及一種基于集成學(xué)習(xí)和詞句綜合信息的文本蘊(yùn)涵自動(dòng)識(shí)別方法。
背景技術(shù):
文本蘊(yùn)涵關(guān)系被定義為兩文本段之間的定向關(guān)系,根據(jù)人類共同的語言理解和共同的背景知識(shí),由一個(gè)文本所蘊(yùn)涵的內(nèi)容可以推斷另一個(gè)文本很可能是正確的。文本蘊(yùn)涵識(shí)別技術(shù)具有極強(qiáng)的應(yīng)用前景,信息抽取、問答系統(tǒng)、文檔摘要和機(jī)器翻譯等領(lǐng)域都與之有密切聯(lián)系。文本蘊(yùn)涵識(shí)別評(píng)測(cè)自2005年以來已經(jīng)連續(xù)舉辦了11屆。文本蘊(yùn)涵識(shí)別評(píng)測(cè)的開展吸引了大量研究機(jī)構(gòu)的參加,推動(dòng)了文本蘊(yùn)涵的研究和發(fā)展。自2005年來,關(guān)于文本蘊(yùn)涵識(shí)別的優(yōu)秀論文已陸續(xù)發(fā)表在國際重要會(huì)議和期刊上。
由于文本蘊(yùn)涵識(shí)別在自然語言處理領(lǐng)域的基礎(chǔ)性地位,已有多個(gè)研究單位發(fā)布了針對(duì)英文的文本蘊(yùn)涵識(shí)別系統(tǒng),例如意大利威尼斯大學(xué)的venses,美國伊利諾大學(xué)香檳分校的entailmentdemo,日本國立情報(bào)學(xué)研究所的tifmo等。國內(nèi)學(xué)術(shù)界和工業(yè)界則少有針對(duì)中文文本蘊(yùn)涵識(shí)別的突破性研究,也很少有相關(guān)學(xué)術(shù)成果發(fā)表在重要學(xué)術(shù)會(huì)議和期刊上。
目前的文本蘊(yùn)涵識(shí)別方法主要分為以下幾種:基于文本相似度的方法、基于知識(shí)庫的方法、基于規(guī)則的方法,以及基于機(jī)器學(xué)習(xí)的方法?;谖谋鞠嗨贫鹊姆椒ㄕJ(rèn)為兩個(gè)文本的相似度越高,文本間存在蘊(yùn)涵關(guān)系的可能性越大,這種方法思想過于簡(jiǎn)單,忽視了詞語間的語義關(guān)系,丟失了文本蘊(yùn)涵關(guān)系的方向性,性能一般;基于知識(shí)庫的方法依賴于基于認(rèn)知語言學(xué)的詞典,例如英文的wordnet、中文知網(wǎng)等,由于知識(shí)庫主要是專業(yè)人員手動(dòng)構(gòu)建的,詞匯之間的語義關(guān)系質(zhì)量較高,信息比較準(zhǔn)確,但是知識(shí)庫資源,尤其是中文資源有限,無法解決中文詞語中存在的復(fù)雜的語義關(guān)系;基于規(guī)則的方法主要是設(shè)定一系列規(guī)則,當(dāng)滿足某一規(guī)則或一組規(guī)則時(shí)得出蘊(yùn)涵或非蘊(yùn)涵的結(jié)論,對(duì)符合規(guī)則的實(shí)例可以給出準(zhǔn)確的判斷,但是由于語言表達(dá)的多樣性,很難用規(guī)則覆蓋語言中存在的各種現(xiàn)象。本發(fā)明主要使用機(jī)器學(xué)習(xí)方法,目前基于機(jī)器學(xué)習(xí)的方法由于所選擇的特征比較簡(jiǎn)單,導(dǎo)致對(duì)數(shù)據(jù)的擬合程度不足,另外由于訓(xùn)練數(shù)據(jù)較少,模型結(jié)果不夠穩(wěn)定。為了克服這些問題,本發(fā)明提出抽取綜合詞匯和句法信息的特征,從而提高擬合效果,并且利用集成學(xué)習(xí)中的bagging技術(shù)提高模型穩(wěn)定性,使文本蘊(yùn)涵識(shí)別準(zhǔn)確性得以提高。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)當(dāng)前機(jī)器學(xué)習(xí)方法在文本蘊(yùn)涵識(shí)別任務(wù)中的缺陷,本發(fā)明提供一種基于集成學(xué)習(xí)和詞句綜合信息的文本蘊(yùn)涵識(shí)別方法,該方法通過結(jié)合詞匯信息和句法信息抽取綜合特征,提高對(duì)數(shù)據(jù)的擬合程度,為避免訓(xùn)練數(shù)據(jù)不足影響模型穩(wěn)定性,該方法采用集成學(xué)習(xí)中的bagging技術(shù)進(jìn)行模型訓(xùn)練。
本發(fā)明提出的一種基于集成學(xué)習(xí)和詞句綜合信息的文本蘊(yùn)涵識(shí)別方法,包括如下步驟:
(1)對(duì)輸入的文本句進(jìn)行預(yù)處理和分詞糾正;
(2)進(jìn)行中文數(shù)字和時(shí)間表達(dá)的一致性轉(zhuǎn)化;
(3)提取相似度、詞匯、句法以及基于綜合信息的特征;
(4)基于集成學(xué)習(xí)技術(shù)的訓(xùn)練和基于投票的分類:
進(jìn)一步,對(duì)輸入的文本句進(jìn)行預(yù)處理和分詞糾正:
我們使用哈工大語言技術(shù)平臺(tái)(languagetechnologyplatform,ltp)對(duì)t1(推理文本)和t2(假設(shè)文本)進(jìn)行預(yù)處理。主要步驟包括分詞,詞性標(biāo)注,命名實(shí)體識(shí)別,依存句法分析。為了提高對(duì)t1和t2處理的一致性,在分詞步驟之后,進(jìn)行自動(dòng)的分詞糾正。如果t1和t2中包含相同字串,但只切分方式不同,則進(jìn)行最長(zhǎng)匹配修正。
進(jìn)一步,進(jìn)行中文數(shù)字和時(shí)間表達(dá)的一致性轉(zhuǎn)化步驟如下:
中文中數(shù)字和時(shí)間有多種表達(dá)方式,為了后續(xù)特征提取中的匹配工作,首先進(jìn)行數(shù)字和時(shí)間的表示方法統(tǒng)一化。
數(shù)字表示形式包括:漢字、阿拉伯?dāng)?shù)字、百分?jǐn)?shù)、小數(shù)、分?jǐn)?shù)等。表達(dá)不一致可能導(dǎo)致的蘊(yùn)涵關(guān)系判斷錯(cuò)誤。所以將所有整數(shù)統(tǒng)一轉(zhuǎn)換成阿拉伯?dāng)?shù)字表示,分?jǐn)?shù)、小數(shù)、百分?jǐn)?shù)統(tǒng)一轉(zhuǎn)換成小數(shù)表示且小數(shù)點(diǎn)后保留兩位。
中文時(shí)間表示也有多種形式,包括:2015年9月28日、20150928、二零一五年九月二十八日等。統(tǒng)一轉(zhuǎn)化為“2015年9月28日”的形式。世紀(jì)、時(shí)、分、秒同理轉(zhuǎn)化成“阿拉伯?dāng)?shù)字+單位”的形式。
進(jìn)一步,提取相似度、詞匯、句法以及基于綜合信息的特征步驟如下:
我們使用四維向量表示重合度特征:[句長(zhǎng)比例,unigram重合度,bigram重合度,最大公共子串長(zhǎng)度]。
我們用十維向量表示詞匯特征:[時(shí)間矛盾,數(shù)字矛盾,實(shí)體矛盾,方位矛盾,否定詞,極端詞,同義詞,反義詞,上位詞,下位詞]。其中,對(duì)于時(shí)間矛盾,數(shù)字矛盾,實(shí)體矛盾,方位矛盾,我們認(rèn)為時(shí)間、數(shù)字、人名、地名、機(jī)構(gòu)名、方位詞在句中表達(dá)了關(guān)鍵信息,如果t2中出現(xiàn)的以上信息在t1中找不到推理來源,則兩個(gè)句子傾向于不具有蘊(yùn)涵關(guān)系。時(shí)間、數(shù)字、方位通過詞性標(biāo)注信息篩選,實(shí)體通過命名實(shí)體識(shí)別篩選。在時(shí)間匹配中,考慮時(shí)間范圍的匹配。在實(shí)體、方位的匹配中,考慮同義詞的匹配。t2中不能找到匹配信息的時(shí)間/數(shù)字/實(shí)體/方位詞個(gè)數(shù)作為特征的值。對(duì)于否定詞,用t1和t2中否定詞個(gè)數(shù)之差的絕對(duì)值作為特征的值。對(duì)于極端詞,極端詞指程度級(jí)別較高的詞,對(duì)于t2中出現(xiàn)的極端詞,在t1中尋找推理來源,使用hownet發(fā)布的“情感分析用詞語集”中的程度級(jí)別詞語詞典篩選出t1和t2中的極端詞,在匹配時(shí),考慮同義詞的匹配。t2中不能找到匹配信息的極端詞個(gè)數(shù)作為特征的值。對(duì)于同義詞,反義詞,上位詞,下位詞:對(duì)t2中的詞在t1中查找匹配,同義匹配、反義匹配、上位匹配、下位匹配的個(gè)數(shù)作為特征的值。
我們用六維向量表示句法特征:[主謂關(guān)系,動(dòng)賓關(guān)系,主謂-動(dòng)賓,介賓關(guān)系,定中關(guān)系,狀中關(guān)系]。對(duì)于主謂,動(dòng)賓,介賓,定中,狀中關(guān)系,用t2中的句法依賴關(guān)系對(duì),在t1中查找匹配.。對(duì)于主謂-動(dòng)賓關(guān)系,用t2中的主謂關(guān)系,在t1中查找相應(yīng)的動(dòng)賓關(guān)系,或?qū)τ趖2中的動(dòng)賓關(guān)系,在t1中查找相應(yīng)的主謂關(guān)系。
上述的特征分別單獨(dú)考慮了相似度信息,詞匯信息和句法信息,由于一些詞匯信息,尤其是上下位詞,需要借助句法信息的約束才能更好的區(qū)分正負(fù)例,為了解決這一問題,我們加入一組基于詞匯-句法綜合信息的特征,用四維向量表示:[主語上位,賓語上位,主語下位,賓語下位]。以主語上位為例:對(duì)于t2中的詞w2i,它是t1中w1j的上位詞,且在依存句法中是主語角色,則是一個(gè)主語上位。特征的值為t2中這樣詞的個(gè)數(shù)。
進(jìn)一步,基于集成學(xué)習(xí)技術(shù)的訓(xùn)練和基于投票的分類步驟如下:
我們使用嘗試各種分類算法,最終選用svm分類器,采用rbf核函數(shù)。為了分類的穩(wěn)定性和預(yù)測(cè)的準(zhǔn)確性,我們采用集成學(xué)習(xí)技術(shù),集成學(xué)習(xí)的思路是在對(duì)新的實(shí)例進(jìn)行分類的時(shí)候,把若干個(gè)單個(gè)分類器集成起來,通過對(duì)多個(gè)分類器的分類結(jié)果進(jìn)行某種組合來決定最終的分類,以取得比單個(gè)分類器更好的性能。如果把單個(gè)分類器比作一個(gè)決策者的話,集成學(xué)習(xí)的方法就相當(dāng)于多個(gè)決策者共同進(jìn)行一項(xiàng)決策。具體來說,我們使用bagging策略。每次從訓(xùn)練樣例中隨機(jī)抽樣70%,訓(xùn)練出一個(gè)分類器。重復(fù)9次,構(gòu)造出9個(gè)不同的分類器。對(duì)于一個(gè)新的要預(yù)測(cè)的實(shí)例,我們使用9個(gè)分類器同時(shí)分類,最后投票得出最終分類結(jié)果。
本發(fā)明的效果在于:利用基于詞匯和句法的綜合信息,通過集成學(xué)習(xí)技術(shù),能夠訓(xùn)練出對(duì)數(shù)據(jù)集擬合更好,對(duì)測(cè)試實(shí)例預(yù)測(cè)更穩(wěn)定和準(zhǔn)確的文本蘊(yùn)涵識(shí)別模型。使用ntcir-10與ntcir-11的訓(xùn)練數(shù)據(jù)作為訓(xùn)練樣本。ntcir-11的測(cè)試數(shù)據(jù)作為測(cè)試數(shù)據(jù),進(jìn)行效果評(píng)估。本發(fā)明達(dá)到的f-score為0.7872,accuracy為0.7675,優(yōu)于其他中文文本蘊(yùn)涵識(shí)別方法。使用集成學(xué)習(xí)模型進(jìn)行蘊(yùn)涵識(shí)別,性能為平均每0.017s處理一對(duì)文本。
附圖說明
圖1是本發(fā)明所提供的基于集成學(xué)習(xí)和詞句綜合信息的文本蘊(yùn)涵識(shí)別方法的流程圖;
具體實(shí)施方式
下面結(jié)合實(shí)施例和附圖進(jìn)一步闡明本發(fā)明所述的技術(shù)方案:
如圖1所示,一種基于智能模板選擇的短新聞自動(dòng)寫稿方法,包括如下步驟:
(1)對(duì)輸入的文本句進(jìn)行預(yù)處理和分詞糾正:
我們使用哈工大語言技術(shù)平臺(tái)(languagetechnologyplatform,ltp)對(duì)t1(推理文本)和t2(假設(shè)文本)進(jìn)行預(yù)處理。主要步驟包括分詞,詞性標(biāo)注,命名實(shí)體識(shí)別,依存句法分析。為了提高對(duì)t1和t2處理的一致性,在分詞步驟之后,進(jìn)行自動(dòng)的分詞糾正。如果t1和t2中包含相同字串,但只切分方式不同,則進(jìn)行最長(zhǎng)匹配修正。例如:
則用“失聰者”替換t2中的“失聰/者”。
(2)進(jìn)行中文數(shù)字和時(shí)間表達(dá)的一致性轉(zhuǎn)化:
中文中數(shù)字和時(shí)間有多種表達(dá)方式,為了后續(xù)特征提取中的匹配工作,首先進(jìn)行數(shù)字和時(shí)間的表示方法統(tǒng)一化。
數(shù)字表示形式包括:漢字、阿拉伯?dāng)?shù)字、百分?jǐn)?shù)、小數(shù)、分?jǐn)?shù)等。表達(dá)不一致可能導(dǎo)致的蘊(yùn)涵關(guān)系判斷錯(cuò)誤。所以將所有整數(shù)統(tǒng)一轉(zhuǎn)換成阿拉伯?dāng)?shù)字表示,分?jǐn)?shù)、小數(shù)、百分?jǐn)?shù)統(tǒng)一轉(zhuǎn)換成小數(shù)表示且小數(shù)點(diǎn)后保留兩位。例如:
轉(zhuǎn)換為
中文時(shí)間表示也有多種形式,包括:2015年9月28日、20150928、二零一五年九月二十八日等。統(tǒng)一轉(zhuǎn)化為“2015年9月28日”的形式。世紀(jì)、時(shí)、分、秒同理轉(zhuǎn)化成“阿拉伯?dāng)?shù)字+單位”的形式。
(3)提取相似度、詞匯、句法以及基于綜合信息的特征;
我們使用四維向量表示重合度特征:[句長(zhǎng)比例,unigram重合度,bigram重合度,最大公共子串長(zhǎng)度]。其中,句長(zhǎng)比例指根據(jù)分詞結(jié)果統(tǒng)計(jì)t1和t2中的單詞個(gè)數(shù),則句長(zhǎng)比例=t2詞數(shù)/t1詞數(shù)。unigram重合度指句子中每個(gè)單詞作為一個(gè)unigram,則unigram重合度=t1和t2公共單詞數(shù)/t2詞數(shù)。bigram重合度指句子中兩個(gè)連續(xù)的詞作為一個(gè)bigram,則bigram重合度=t1和t2公共bigram數(shù)/t2中bigram。最大公共子串長(zhǎng)度中公共子串指t1和t2中連續(xù)出現(xiàn)的單詞串,長(zhǎng)度指詞語個(gè)數(shù)占比,則最大公共子串長(zhǎng)度=最大公共子串中詞數(shù)/t2詞數(shù)。
我們用十維向量表示詞匯特征:[時(shí)間矛盾,數(shù)字矛盾,實(shí)體矛盾,方位矛盾,否定詞,極端詞,同義詞,反義詞,上位詞,下位詞]。其中,對(duì)于時(shí)間矛盾,數(shù)字矛盾,實(shí)體矛盾,方位矛盾,我們認(rèn)為時(shí)間、數(shù)字、人名、地名、機(jī)構(gòu)名、方位詞在句中表達(dá)了關(guān)鍵信息,如果t2中出現(xiàn)的以上信息在t1中找不到推理來源,則兩個(gè)句子傾向于不具有蘊(yùn)涵關(guān)系。時(shí)間、數(shù)字、方位通過詞性標(biāo)注信息篩選,實(shí)體通過命名實(shí)體識(shí)別篩選。在時(shí)間匹配中,考慮時(shí)間范圍的匹配。例如:
“20世紀(jì)之前”可以由1889年推出。在實(shí)體、方位的匹配中,考慮同義詞的匹配。t2中不能找到匹配信息的時(shí)間/數(shù)字/實(shí)體/方位詞個(gè)數(shù)作為特征的值。對(duì)于否定詞,用t1和t2中否定詞個(gè)數(shù)之差的絕對(duì)值作為特征的值。對(duì)于極端詞,極端詞指程度級(jí)別較高的詞,對(duì)于t2中出現(xiàn)的極端詞,在t1中尋找推理來源,使用hownet發(fā)布的“情感分析用詞語集”中的程度級(jí)別詞語詞典篩選出t1和t2中的極端詞,在匹配時(shí),考慮同義詞的匹配。t2中不能找到匹配信息的極端詞個(gè)數(shù)作為特征的值。對(duì)于同義詞,反義詞,上位詞,下位詞:對(duì)t2中的詞在t1中查找匹配,同義匹配、反義匹配、上位匹配、下位匹配的個(gè)數(shù)作為特征的值。
我們用六維向量表示句法特征:[主謂關(guān)系,動(dòng)賓關(guān)系,主謂-動(dòng)賓,介賓關(guān)系,定中關(guān)系,狀中關(guān)系]。對(duì)于主謂,動(dòng)賓,介賓,定中,狀中關(guān)系,用t2中的句法依賴關(guān)系對(duì),在t1中查找匹配.。以主謂關(guān)系為例,特征的值為主謂關(guān)系匹配對(duì)數(shù)/t2中主謂關(guān)系總數(shù)。例如:
t2中有一對(duì)主謂關(guān)系,“使用者-是”,但在t1中不存在這對(duì)主謂關(guān)系,所以特征的值為0。對(duì)于主謂-動(dòng)賓關(guān)系,用t2中的主謂關(guān)系,在t1中查找相應(yīng)的動(dòng)賓關(guān)系,或?qū)τ趖2中的動(dòng)賓關(guān)系,在t1中查找相應(yīng)的主謂關(guān)系。特征的值為匹配數(shù)/t2中主謂關(guān)系和動(dòng)賓關(guān)系總數(shù)。例如:上例中t2的主謂關(guān)系“使用者-是”可以在t1中找到相應(yīng)的動(dòng)賓關(guān)系“是-使用者”
上述的特征分別單獨(dú)考慮了相似度信息,詞匯信息和句法信息,由于一些詞匯信息,尤其是上下位詞,需要借助句法信息的約束才能更好的區(qū)分正負(fù)例,為了解決這一問題,我們加入一組基于詞匯-句法綜合信息的特征,用四維向量表示:[主語上位,賓語上位,主語下位,賓語下位]。以主語上位為例:對(duì)于t2中的詞w2i,它是t1中w1j的上位詞,且在依存句法中是主語角色,則是一個(gè)主語上位。特征的值為t2中這樣詞的個(gè)數(shù)。
(4)基于集成學(xué)習(xí)bagging技術(shù)的訓(xùn)練和基于投票的分類:
我們使用python機(jī)器學(xué)習(xí)包sklearn中的各種分類算法,最終選用其中表現(xiàn)最好的svm分類器,采用rbf核函數(shù)。為了分類的穩(wěn)定性和預(yù)測(cè)的準(zhǔn)確性,我們采用集成學(xué)習(xí)技術(shù),集成學(xué)習(xí)的思路是在對(duì)新的實(shí)例進(jìn)行分類的時(shí)候,把若干個(gè)單個(gè)分類器集成起來,通過對(duì)多個(gè)分類器的分類結(jié)果進(jìn)行某種組合來決定最終的分類,以取得比單個(gè)分類器更好的性能。如果把單個(gè)分類器比作一個(gè)決策者的話,集成學(xué)習(xí)的方法就相當(dāng)于多個(gè)決策者共同進(jìn)行一項(xiàng)決策。具體來說,我們使用bagging策略。每次從訓(xùn)練樣例中隨機(jī)抽樣70%,訓(xùn)練出一個(gè)分類器。重復(fù)9次,構(gòu)造出9個(gè)不同的分類器。對(duì)于一個(gè)新的要預(yù)測(cè)的實(shí)例,我們使用9個(gè)分類器同時(shí)分類,最后投票得出最終分類結(jié)果。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求所界定的保護(hù)范圍為準(zhǔn)。