本發(fā)明涉及基于改進的Nivre算法構(gòu)建越南語依存樹庫的方法,屬于自然語言處理
技術(shù)領(lǐng)域:
。
背景技術(shù):
:在越南語信息處理研究領(lǐng)域,當前在詞法和雙語對齊方法等方面都取得了一些成果,但在依存句法分析和依存樹庫構(gòu)建等方面的工作還很少。隨著統(tǒng)計學習的迅速發(fā)展,目前采用統(tǒng)計學習來研究語言信息處理已成為主流。其中,Lai等人在2001年基于span的思想通過統(tǒng)計學習的方法解決了漢語依存分析的問題;Yamada等人在2003年將PennTreebank中的英文句子完全轉(zhuǎn)換為依存結(jié)構(gòu),然后通過統(tǒng)計學習的方法對句子進行建模分析,獲得了90.3%的準確率;馬金山在2004年通過有標記的漢語依存樹庫構(gòu)建了SVM依存句法分析模型,實現(xiàn)了漢語依存句法分析。以上這些方法分析依存關(guān)系主要依靠依存樹庫資源通過有監(jiān)督學習來實現(xiàn)。P.T.Nguyen等人在2013年將PennTreebank中的1萬句短語樹轉(zhuǎn)換為依存樹,但它的規(guī)模還相對較小。由于依存句法分析的基礎(chǔ)是依存樹庫的建設(shè),但依存樹庫的標記工作比較困難,而且當前還沒有比較成熟的依存句法分析器。對越南語依存樹庫構(gòu)建來說,通過人工標記是非常困難的,這需要耗費大量的人力物力;而且在實際情況中存在大量的無標記粗語料,這些語料未經(jīng)過任何加工處理。因此,如何有效利用這些語料來構(gòu)建越南語依存樹庫是當前越南語依存句法分析的一個重要問題。技術(shù)實現(xiàn)要素:本發(fā)明提供了基于改進的Nivre算法構(gòu)建越南語依存樹庫的方法,以用于解決越南語句子依存關(guān)系標記困難的問題,以及以用于有效利用大量無標記越南語句子級語料進行樹庫建設(shè),能夠解決因初始訓練語料規(guī)模較小給樹庫建設(shè)帶來的困難;以用于有效避免人工標記越南語句子依存關(guān)系的繁瑣過程,充分節(jié)省了人力物力的時間;以用于有效提高越南語依存分析的準確率;以用于對越南語的句法分析、機器翻譯和信息獲取等上層應(yīng)用提供有力支撐。本發(fā)明的技術(shù)方案是:基于改進的Nivre算法構(gòu)建越南語依存樹庫的方法,所述基于改進的Nivre算法構(gòu)建越南語依存樹庫的方法的具體步驟如下:Step1、首先構(gòu)建初始訓練語料、擴展語料和測試語料;Step2、然后利用構(gòu)建的初始訓練語料基于改進的Nivre算法訓練出兩個依存分析弱學習器S1和S2作為兩個充分冗余的視圖;因為Nivre模型為數(shù)據(jù)驅(qū)動模型,這樣可以將其中一個弱學習器的預測結(jié)果作為另一個弱學習器的訓練語料來促進兩個弱學習器的相互學習,以此來提高訓練模型的質(zhì)量,從而能達到兩個模型相互學習的目的。Step3、再利用訓練出的兩個弱學習器S1和S2對擴展語料進行依存分析并構(gòu)建越南語依存樹庫模型;Step4、最后利用構(gòu)建的越南語依存樹庫模型對測試語料進行依存分析測試并最終構(gòu)建出越南語依存樹庫。因為越南語句子的依存關(guān)系標記比較困難,需要耗費大量的人力物力,而且利用其它方法構(gòu)建的越南語依存樹庫的規(guī)模比較小,所以本發(fā)明利用改進的Nivre算法解決了越南語句子依存關(guān)系標記困難的問題,從而構(gòu)建出大規(guī)模的越南語依存樹庫。作為本發(fā)明的優(yōu)選方案,所述步驟Step1的具體步驟為:Step1.1、首先利用爬蟲程序從越南之聲廣播電臺爬取若干新聞粗語料,得到越南語文本級語料樣本。這些新聞覆蓋了政治、經(jīng)濟、軍事、體育、娛樂等各方面,確保了實驗數(shù)據(jù)的多樣性。因為語料是自然語言處理研究領(lǐng)域一個非常重要的概念,語料既是標記的對象,又是實驗的對象,所以語料的選擇對樹庫構(gòu)建十分重要;Step1.2、然后人工對Step1.1得到的越南語文本級語料樣本進行反復加工處理,得到3萬個標準的越南語句子,從而形成越南語句子級語料樣本。因為直接從越南之聲廣播電臺爬取的新聞粗語料是文本級的語料樣本,不利于本文的實驗,所以要人工對它們進行反復加工處理,包括去重、去除垃圾廣告等處理,最后形成句子級的語料樣本,便于本文的實驗;Step1.3、其次通過分析越南語語法,制定出符合越南語語言特點的14種依存關(guān)系標記規(guī)范表,如表1所示;該依存關(guān)系標記規(guī)范表包含兩個內(nèi)容:一是在一個越南語句子中,哪些詞語之間會存在依存關(guān)系;二是如何定義它們的依存關(guān)系類型;表1越南語依存關(guān)系標記規(guī)范表優(yōu)選地,所述步驟Step1.3制定越南語依存關(guān)系標記規(guī)范表的具體步驟如下:Step1.3.1、首先從語義角度出發(fā)。在一個句子中,語義層面上存在某種聯(lián)系的詞語之間應(yīng)該存在依存關(guān)系;也就是說,詞語之間產(chǎn)生依存關(guān)系才能促使新語義的產(chǎn)生,本發(fā)明稱之為語義原則。在進行依存關(guān)系標注時,語義原則應(yīng)優(yōu)先考慮。如圖2所示,越南語句子“l(fā)à(她)(是)xinh(美麗的)gái(女孩)”。其中:(是)和gái(女孩)這兩個詞產(chǎn)生關(guān)系才能構(gòu)成新的語義,所以兩詞之間存在依存關(guān)系。Step1.3.2、其次在一個句子中,一些詞語對句子意思的表達起主導作用,在句子中不可或缺,屬主要的詞;而有些詞語在句子中起輔助作用,只起到修飾主干成分的作用,即使去掉也不會影響整體語義的表達,屬次要的詞。在對依存關(guān)系進行標注時,應(yīng)盡量保證主干詞在依存關(guān)系中處于核心位置,其它修飾詞應(yīng)依存于這些核心詞,本發(fā)明稱之為主干原則。這樣在后續(xù)應(yīng)用中,通過依存關(guān)系便可提取到句子的主干。越南語依存句法分析主要以謂語為主導,分析其他詞與謂語動詞之間的關(guān)系。Step1.3.3、最后則是定義它們的依存關(guān)系類型,即構(gòu)建依存關(guān)系規(guī)范表。為了能夠更好地覆蓋多種語法現(xiàn)象,而又不至于因關(guān)系類型過多導致標注困難和數(shù)據(jù)稀疏等問題。經(jīng)分析,本發(fā)明制定出符合越南語語言特點的14種依存關(guān)系規(guī)范,如表1所示。Step1.4、然后利用Step1.3中得到的越南語依存關(guān)系標記規(guī)范表將Step1.2中得到的一部分越南語句子級語料樣本人工地進行越南語依存關(guān)系標記,并進行反復校對,得到初始訓練語料和測試語料,將剩下的一部分未標記的越南語句子級語料樣本用作實驗擴展語料;Step1.5、最后進行特征的選??;選取當前詞W0、其前一個詞W-1、前兩個詞W-2、后一個詞W1、后兩個詞W2,以及當前詞的詞性POS0、其前一個詞的詞性POS-1、前兩個詞的詞性POS-2、后一個詞的詞性POS1、后兩個詞的詞性POS2作為特征。特征選取如表2所示。因為經(jīng)過對越南語的研究發(fā)現(xiàn),其結(jié)構(gòu)相對比較單一,所以這種特征選取方式充分結(jié)合了越南語的語言特點,對越南語語言特點的覆蓋性較好,因為它在具備了一般性的同時有效地避免了由于選取特征過多而帶來的數(shù)據(jù)稀疏問題。表2特征選取表1Wn不同位置的詞,n=-2,-1,0,1,22POSn不同位置的詞性,n=-2,-l,0,l,2優(yōu)選地,所述步驟Step2用到的改進的Nivre算法的具體說明如下:Nivre算法是基于狀態(tài)轉(zhuǎn)移過程進行依存分析的。該算法通過訓練獲得依存分析模型,該模型根據(jù)輸入的句子和以往決策中的特征,結(jié)合當前的狀態(tài)來預測下一個狀態(tài)。在句法分析階段,分析器從一個原始的狀態(tài)開始,根據(jù)模型的預測集貪婪地向其后續(xù)狀態(tài)轉(zhuǎn)移,直至達到終止狀態(tài)才停止。確定性的Nivre算法對Reduce操作和Shift操作的劃分不十分準確。針對這個問題,本發(fā)明提出一種改進的確定性的Nivre算法。在Nivre算法中,解析器可以表示成一個三元組<S,I,A>,其中S和I是堆棧,I中是待解析的輸入序列,A是一個集合,存放在解析過程中確定下來的依存關(guān)系項。假設(shè)給定一個輸入序列Sen,解析器首先被初始化成解析器解析棧S的棧頂元素t和棧I的棧頂元素n的依存關(guān)系,然后采取相應(yīng)的動作,操作棧中的元素移動和算法迭代直至棧I為空。此時,解析器停止迭代,輸出集合A中的依存關(guān)系序列。Nivre算法一共定義了4個操作:(1)Right。在當前三元組<t|S,n|I,A>中,假如存在依存關(guān)系t→n,即t依存于n,則在集合A中添加項(t→n),同時彈出S的棧頂元素t,于是三元組變?yōu)?lt;S,n|I,A∪{(t→n)}>。(2)Left。在當前三元組<t|S,n|I,A>中,假如存在依存關(guān)系n→t,則在集合A中添加項(n→t),同時把元素n壓入到棧S中,于是三元組變成為<n|t|S,I,A∪{(n→t)}>。如果n和t不存在依存關(guān)系,改進的Nivre算法對Reduce操作和Shift操作做了明確的定義。(3)Reduce。假如兩棧頂元素n和t不存在依存關(guān)系,t有父節(jié)點在其左側(cè),并且該父節(jié)點與n存在依存關(guān)系,解析器從棧S中彈出t,于是三元組變成為<S,n|I,A>。(4)Shift。當Right,Left,Reduce操作條件都不滿足時,將n壓入棧S中,于是三元組變成<n|t|S,I,A>。作為本發(fā)明的優(yōu)選方案,所述步驟Step3的具體步驟為:Step3.1、首先從Step1得到的擴展語料中隨機抽取少量越南語句子作為集合A和集合B,再分別用Step2訓練得到的兩個弱學習器S1和S2對集合A和集合B中的越南語句子進行依存預測;Step3.2、然后從擴展語料中選取100個未標記的越南語句子為一個單位,先用弱學習器S1對這100個句子進行預測,然后采用公式1挑選出20個置信度高的句子進行標記,接著再把這些已標記過的句子加入到弱學習器S2中訓練更新;H1=1Σi=1k-1Σj=i+1k(scorei-scorej)---(1)]]>其中,H1為K-Best結(jié)果中任意兩個不同結(jié)果的分值差的和的倒數(shù),scorei和scorej是弱學習器S1對第i個和第j個句子預測結(jié)果的得分;Step3.3、其次再繼續(xù)以新的100個未標記的越南語句子為一個單位,用弱學習器S2進行預測,再根據(jù)公式1從中挑選出20個置信度高的句子進行標記,接著再將這20個已標記過的句子加入到弱學習器S1中訓練更新;Step3.4、如此反復循環(huán)Step3.2和Step3.3,直到弱學習器S1和弱學習器S2的參數(shù)不變?yōu)橹?,即待?gòu)建的越南語依存樹庫模型的參數(shù)收斂為止;Step3.5、再利用兩個弱學習器對Step1得到的擴展語料進行依存分析并構(gòu)建越南語依存樹庫模型;作為本發(fā)明的優(yōu)選方案,所述步驟Step3.5中,兩個弱學習器需要對擴展語料中的句子進行預測,進而得到句子相應(yīng)的預測結(jié)果,因為預測結(jié)果是否一致是判斷依存分析結(jié)果是否正確的前提;其求取預測結(jié)果的具體步驟如下所示:在構(gòu)建越南語依存樹庫模型的過程中,若兩個弱學習器的預測結(jié)果一致,則認為依存分析的結(jié)果是正確的;若結(jié)果不一致,則用公式2和公式3來計算置信度;H2=score2score1-score2(2)]]>H3=Σi=1k-pilogpi---(3)]]>其中,公式2中:score1表示弱學習器對第1個句子預測結(jié)果的得分,score2表示弱學習器對第2個句子預測結(jié)果的得分,H2表示K-Best置信度判別方法中score1相對于score2的增長率的倒數(shù);公式3中:表示scorei相對于k個句子預測結(jié)果得分總和的比值;其中,scorei表示弱學習器對第i個句子預測結(jié)果的得分,scorej表示弱學習器對第j個句子預測結(jié)果的得分,k表示句子的個數(shù),H3表示k個結(jié)果的熵;Step3.6、最后用公式1、公式2和公式3分別對兩個弱學習器的預測結(jié)果打取平均分,并選取分值較高的作為正確的預測結(jié)果。具體的,在對未標記越南語句子的預測過程中,置信度的判別方式尤為重要。因為弱學習器在對句子進行預測的時候,預測結(jié)果會出現(xiàn)不一致的情況,這時就需要進行置信度的計算,從而反映出預測結(jié)果的可信程度;置信度越高,說明預測結(jié)果越準確;反之,置信度越低,說明預測結(jié)果越不準確。為了度量預測結(jié)果,本發(fā)明采用K-Best方法來判斷預測結(jié)果的置信度:即若句子預測結(jié)果的K個權(quán)重分值越接近,就說明結(jié)果越容易混淆,置信度就越低;若預測結(jié)果的權(quán)重分值差異越大,則認為預測結(jié)果較為準確,進而選擇權(quán)重分值最高的結(jié)果作為待標記越南語句子的標記結(jié)果。本發(fā)明采用以下三種方式來計算置信度:方式一K-Best結(jié)果中任意兩個不同結(jié)果的分值差的和的倒數(shù):H=1Σi=1k-1Σj=i+1k(scorei-scorej)---(1)]]>其中scorei和scorej是弱學習器對第i個和第j個句子預測結(jié)果的得分。方式二K-Best結(jié)果中1-Best相對于2-Best的增長率的倒數(shù):H=score2score1-score2---(2)]]>方式三取K個結(jié)果的熵:H=Σi=1k-pilogpi---(3)]]>其中,方式一和方式二說明學習器預測結(jié)果的差異越大,置信度越高;方式三則是通過熵的大小來判斷置信度的大小。本發(fā)明的有益效果是:1.本發(fā)明構(gòu)建的越南語依存樹庫能夠?qū)υ侥险Z的句法分析、機器翻譯和信息獲取等上層應(yīng)用提供有力支撐;依存樹庫的構(gòu)建是這些上層應(yīng)用的基礎(chǔ)。2.本發(fā)明提出的構(gòu)建越南語依存樹庫的方法有效避免了人工標記越南語句子依存關(guān)系的繁瑣過程,充分節(jié)省了人力物力的時間;3.由于實際情況中存在大量的越南語無標記句子級語料,本發(fā)明提出的構(gòu)建越南語依存樹庫的方法能夠有效利用這些大量無標記的越南語句子級語料進行樹庫建設(shè),解決了因初始訓練語料規(guī)模較小給樹庫建設(shè)帶來的困難。4.本發(fā)明具有更好的依存關(guān)系標記效果,并具有穩(wěn)定的解析性能,有效地提高了越南語依存分析的準確率。附圖說明圖1為本發(fā)明中的流程圖;圖2為本發(fā)明中依存樹庫實例圖。具體實施方式實施例1:如圖1-2所示,基于改進的Nivre算法構(gòu)建越南語依存樹庫的方法,所述基于改進的Nivre算法構(gòu)建越南語依存樹庫的方法的具體步驟如下:所述基于改進的Nivre算法構(gòu)建越南語依存樹庫的方法的具體步驟如下:Step1、首先構(gòu)建初始訓練語料、擴展語料和測試語料;Step2、然后利用構(gòu)建的初始訓練語料基于改進的Nivre算法訓練出兩個依存分析弱學習器S1和S2作為兩個充分冗余的視圖;Step3、再利用訓練出的兩個弱學習器S1和S2對擴展語料進行依存分析并構(gòu)建越南語依存樹庫模型;Step4、最后利用構(gòu)建的越南語依存樹庫模型對測試語料進行依存分析測試并最終構(gòu)建出越南語依存樹庫。作為本發(fā)明的優(yōu)選方案,所述步驟Step1的具體步驟為:Step1.1、首先利用爬蟲程序爬取若干新聞粗語料,得到越南語文本級語料樣本;Step1.2、然后人工對Step1.1得到的越南語文本級語料樣本進行反復加工處理,得到標準的越南語句子,從而形成越南語句子級語料樣本;Step1.3、其次通過分析越南語語法,制定出符合越南語語言特點的14種依存關(guān)系標記規(guī)范表,該依存關(guān)系標記規(guī)范表包含兩個內(nèi)容:一是在一個越南語句子中,哪些詞語之間會存在依存關(guān)系;二是如何定義它們的依存關(guān)系類型;Step1.4、然后利用Step1.3中得到的越南語依存關(guān)系標記規(guī)范表將Step1.2中得到的一部分越南語句子級語料樣本人工地進行越南語依存關(guān)系標記,并進行反復校對,得到初始訓練語料和測試語料,將剩下的一部分未標記的越南語句子級語料樣本用作實驗擴展語料;Step1.5、最后進行特征的選取;選取當前詞W0、其前一個詞W-1、前兩個詞W-2、后一個詞W1、后兩個詞W2,以及當前詞的詞性POS0、其前一個詞的詞性POS-1、前兩個詞的詞性POS-2、后一個詞的詞性POS1、后兩個詞的詞性POS2作為特征。作為本發(fā)明的優(yōu)選方案,所述步驟Step3的具體步驟為:Step3.1、首先從Step1得到的擴展語料中隨機抽取少量越南語句子作為集合A和集合B,再分別用Step2訓練得到的兩個弱學習器S1和S2對集合A和集合B中的越南語句子進行依存預測;Step3.2、然后從擴展語料中選取100個未標記的越南語句子為一個單位,先用弱學習器S1對這100個句子進行預測,然后采用公式1挑選出20個置信度高的句子進行標記,接著再把這些已標記過的句子加入到弱學習器S2中訓練更新;H1=1Σi=1k-1Σj=i+1k(scorei-scorej)---(1)]]>其中,H1為K-Best結(jié)果中任意兩個不同結(jié)果的分值差的和的倒數(shù),scorei和scorej是弱學習器S1對第i個和第j個句子預測結(jié)果的得分;Step3.3、其次再繼續(xù)以新的100個未標記的越南語句子為一個單位,用弱學習器S2進行預測,再根據(jù)公式1從中挑選出20個置信度高的句子進行標記,接著再將這20個已標記過的句子加入到弱學習器S1中訓練更新;Step3.4、如此反復循環(huán)Step3.2和Step3.3,直到弱學習器S1和弱學習器S2的參數(shù)不變?yōu)橹?,即待?gòu)建的越南語依存樹庫模型的參數(shù)收斂為止;Step3.5、再利用兩個弱學習器對Step1得到的擴展語料進行依存分析并構(gòu)建越南語依存樹庫模型;作為本發(fā)明的優(yōu)選方案,所述步驟Step3.5中,兩個弱學習器需要對擴展語料中的句子進行預測,進而得到句子相應(yīng)的預測結(jié)果,因為預測結(jié)果是否一致是判斷依存分析結(jié)果是否正確的前提;其求取預測結(jié)果的具體步驟如下所示:在構(gòu)建越南語依存樹庫模型的過程中,若兩個弱學習器的預測結(jié)果一致,則認為依存分析的結(jié)果是正確的;若結(jié)果不一致,則用公式2和公式3來計算置信度;H2=score2score1-score2---(2)]]>H3=Σi=1k-pilogpi---(3)]]>其中,公式2中:score1表示弱學習器對第1個句子預測結(jié)果的得分,score2表示弱學習器對第2個句子預測結(jié)果的得分,H2表示K-Best置信度判別方法中score1相對于score2的增長率的倒數(shù);公式3中:表示scorei相對于k個句子預測結(jié)果得分總和的比值;其中,scorei表示弱學習器對第i個句子預測結(jié)果的得分,scorej表示弱學習器對第j個句子預測結(jié)果的得分,k表示句子的個數(shù),H3表示k個結(jié)果的熵;Step3.6、最后用公式1、公式2和公式3分別對兩個弱學習器的預測結(jié)果打取平均分,并選取分值較高的作為正確的預測結(jié)果。實施例2:如圖1-2所示,基于改進的Nivre算法構(gòu)建越南語依存樹庫的方法,所述基于改進的Nivre算法構(gòu)建越南語依存樹庫的方法的具體步驟如下:Step1、首先構(gòu)建初始訓練語料、擴展語料和測試語料;作為本發(fā)明的優(yōu)選方案,所述步驟Step1的具體步驟為:Step1.1、首先利用爬蟲程序從越南之聲廣播電臺爬取若干新聞粗語料,得到越南語文本級語料樣本。這些新聞覆蓋了政治、經(jīng)濟、軍事、體育、娛樂等各方面,確保了實驗數(shù)據(jù)的多樣性。因為語料是自然語言處理研究領(lǐng)域一個非常重要的概念,語料既是標記的對象,又是實驗的對象,所以語料的選擇對樹庫構(gòu)建十分重要;Step1.2、然后人工對Step1.1得到的越南語文本級語料樣本進行反復加工處理,得到3萬個標準的越南語句子,從而形成越南語句子級語料樣本。因為直接從越南之聲廣播電臺爬取的新聞粗語料是文本級的語料樣本,不利于本文的實驗,所以要人工對它們進行反復加工處理,包括去重、去除垃圾廣告等處理,最后形成句子級的語料樣本,便于本文的實驗;Step1.3、其次通過分析越南語語法,制定出符合越南語語言特點的14種依存關(guān)系標記規(guī)范表,如表1所示;該依存關(guān)系標記規(guī)范表包含兩個內(nèi)容:一是在一個越南語句子中,哪些詞語之間會存在依存關(guān)系;二是如何定義它們的依存關(guān)系類型;表1越南語依存關(guān)系標記規(guī)范表優(yōu)選地,所述步驟Step1.3制定越南語依存關(guān)系標記規(guī)范表的具體步驟如下:Step1.3.1、首先從語義角度出發(fā)。在一個句子中,語義層面上存在某種聯(lián)系的詞語之間應(yīng)該存在依存關(guān)系;也就是說,詞語之間產(chǎn)生依存關(guān)系才能促使新語義的產(chǎn)生,本發(fā)明稱之為語義原則。在進行依存關(guān)系標注時,語義原則應(yīng)優(yōu)先考慮。如圖2所示,越南語句子“l(fā)à(她)(是)xinh(美麗的)gái(女孩)”。其中:(是)和gái(女孩)這兩個詞產(chǎn)生關(guān)系才能構(gòu)成新的語義,所以兩詞之間存在依存關(guān)系。Step1.3.2、其次在一個句子中,一些詞語對句子意思的表達起主導作用,在句子中不可或缺,屬主要的詞;而有些詞語在句子中起輔助作用,只起到修飾主干成分的作用,即使去掉也不會影響整體語義的表達,屬次要的詞。在對依存關(guān)系進行標注時,應(yīng)盡量保證主干詞在依存關(guān)系中處于核心位置,其它修飾詞應(yīng)依存于這些核心詞,本發(fā)明稱之為主干原則。這樣在后續(xù)應(yīng)用中,通過依存關(guān)系便可提取到句子的主干。越南語依存句法分析主要以謂語為主導,分析其他詞與謂語動詞之間的關(guān)系。Step1.3.3、最后則是定義它們的依存關(guān)系類型,即構(gòu)建依存關(guān)系規(guī)范表。為了能夠更好地覆蓋多種語法現(xiàn)象,而又不至于因關(guān)系類型過多導致標注困難和數(shù)據(jù)稀疏等問題。經(jīng)分析,本發(fā)明制定出符合越南語語言特點的14種依存關(guān)系規(guī)范,如表1所示。Step1.4、然后利用Step1.3中得到的越南語依存關(guān)系標記規(guī)范表將Step1.2中得到的越南語句子級語料樣本中的5000個越南語句子人工地進行越南語依存關(guān)系標記,并進行反復校對,得到初始訓練語料和測試語料,它們都是一個小規(guī)模的越南語依存樹庫,且均包含了2500個已標記過的越南語句子。將剩下的25000個未標記的越南語句子用作實驗擴展語料;Step1.5、最后進行特征的選?。贿x取當前詞W0、其前一個詞W-1、前兩個詞W-2、后一個詞W1、后兩個詞W2,以及當前詞的詞性POS0、其前一個詞的詞性POS-1、前兩個詞的詞性POS-2、后一個詞的詞性POS1、后兩個詞的詞性POS2作為特征。特征選取如表2所示。因為經(jīng)過對越南語的研究發(fā)現(xiàn),其結(jié)構(gòu)相對比較單一,所以這種特征選取方式充分結(jié)合了越南語的語言特點,對越南語語言特點的覆蓋性較好,因為它在具備了一般性的同時有效地避免了由于選取特征過多而帶來的數(shù)據(jù)稀疏問題。表2特征選取表1Wn不同位置的詞,n=-2,-1,0,1,22POSn不同位置的詞性,n=-2,-l,0,l,2Step2、然后利用構(gòu)建的初始訓練語料所包含的2500個越南語句子并基于改進的Nivre算法訓練出兩個依存分析弱學習器S1和S2作為兩個充分冗余的視圖;因為Nivre模型為數(shù)據(jù)驅(qū)動模型,這樣可以將其中一個弱學習器的預測結(jié)果作為另一個弱學習器的訓練語料來促進兩個弱學習器的相互學習,以此來提高訓練模型的質(zhì)量,從而能達到兩個模型相互學習的目的。優(yōu)選地,所述步驟Step2用到的改進的Nivre算法的具體說明如下:Nivre算法是基于狀態(tài)轉(zhuǎn)移過程進行依存分析的。該算法通過訓練獲得依存分析模型,該模型根據(jù)輸入的句子和以往決策中的特征,結(jié)合當前的狀態(tài)來預測下一個狀態(tài)。在句法分析階段,分析器從一個原始的狀態(tài)開始,根據(jù)模型的預測集貪婪地向其后續(xù)狀態(tài)轉(zhuǎn)移,直至達到終止狀態(tài)才停止。確定性的Nivre算法對Reduce操作和Shift操作的劃分不十分準確。針對這個問題,本發(fā)明提出一種改進的Nivre算法。在改進的Nivre算法中,解析器可以表示成一個三元組<S,I,A>,其中S和I是堆棧,I中是待解析的輸入序列,A是一個集合,存放在解析過程中確定下來的依存關(guān)系項。假設(shè)給定一個輸入序列Sen,解析器首先被初始化成解析器解析棧S的棧頂元素t和棧I的棧頂元素n的依存關(guān)系,然后采取相應(yīng)的動作,操作棧中的元素移動和算法迭代直至棧I為空。此時,解析器停止迭代,輸出集合A中的依存關(guān)系序列。Nivre算法一共定義了4個操作:(1)Right。在當前三元組<t|S,n|I,A>中,假如存在依存關(guān)系t→n,即t依存于n,則在集合A中添加項(t→n),同時彈出S的棧頂元素t,于是三元組變?yōu)?lt;S,n|I,A∪{(t→n)}>。(2)Left。在當前三元組<t|S,n|I,A>中,假如存在依存關(guān)系n→t,則在集合A中添加項(n→t),同時把元素n壓入到棧S中,于是三元組變成為<n|t|S,I,A∪{(n→t)}>。如果n和t不存在依存關(guān)系,改進的Nivre算法對Reduce操作和Shift操作做了明確的定義。(3)Reduce。假如兩棧頂元素n和t不存在依存關(guān)系,t有父節(jié)點在其左側(cè),并且該父節(jié)點與n存在依存關(guān)系,解析器從棧S中彈出t,于是三元組變成為<S,n|I,A>。(4)Shift。當Right,Left,Reduce操作條件都不滿足時,將n壓入棧S中,于是三元組變成<n|t|S,I,A>。Step3、再利用訓練出的兩個弱學習器S1和S2對擴展語料所包含的25000個越南語句子進行依存分析并構(gòu)建越南語依存樹庫模型;作為本發(fā)明的優(yōu)選方案,所述步驟Step3的具體步驟為:Step3.1、首先從Step1得到的擴展語料中隨機抽取少量越南語句子作為集合A和集合B,再分別用Step2訓練得到的兩個弱學習器S1和S2對集合A和集合B中的越南語句子進行依存預測;Step3.2、然后從擴展語料中選取100個未標記的越南語句子為一個單位,先用弱學習器S1對這100個句子進行預測,然后采用公式1挑選出20個置信度高的句子進行標記,接著再把這些已標記過的句子加入到弱學習器S2中訓練更新;H1=1Σi=1k-1Σj=i+1k(scorei-scorej)---(1)]]>其中,H1為K-Best結(jié)果中任意兩個不同結(jié)果的分值差的和的倒數(shù),scorei和scorej是弱學習器S1對第i個和第j個句子預測結(jié)果的得分;Step3.3、其次再繼續(xù)以新的100個未標記的越南語句子為一個單位,用弱學習器S2進行預測,再根據(jù)公式1從中挑選出20個置信度高的句子進行標記,接著再將這20個已標記過的句子加入到弱學習器S1中訓練更新;Step3.4、如此反復循環(huán)Step3.2和Step3.3,直到弱學習器S1和弱學習器S2的參數(shù)不變?yōu)橹梗创龢?gòu)建的越南語依存樹庫模型的參數(shù)收斂為止;Step3.5、再利用兩個弱學習器對Step1得到的擴展語料所包含的25000個越南語句子進行依存分析并構(gòu)建越南語依存樹庫模型;作為本發(fā)明的優(yōu)選方案,所述步驟Step3.5中,兩個弱學習器需要對擴展語料中的句子進行預測,進而得到句子相應(yīng)的預測結(jié)果,因為預測結(jié)果是否一致是判斷依存分析結(jié)果是否正確的前提;其求取預測結(jié)果的具體步驟如下所示:在構(gòu)建越南語依存樹庫模型的過程中,若兩個弱學習器的預測結(jié)果一致,則認為依存分析的結(jié)果是正確的;若結(jié)果不一致,則用公式2和公式3來計算置信度;H2=score2score1-score2---(2)]]>H3=Σi=1k-pilogpi---(3)]]>其中,公式2中:score1表示弱學習器對第1個句子預測結(jié)果的得分,score2表示弱學習器對第2個句子預測結(jié)果的得分,H2表示K-Best置信度判別方法中score1相對于score2的增長率的倒數(shù);公式3中:表示scorei相對于k個句子預測結(jié)果得分總和的比值;其中,scorei表示弱學習器對第i個句子預測結(jié)果的得分,scorej表示弱學習器對第j個句子預測結(jié)果的得分,k表示句子的個數(shù),H3表示k個結(jié)果的熵;Step3.6、最后用公式1、公式2和公式3分別對兩個弱學習器的預測結(jié)果打取平均分,并選取分值較高的作為正確的預測結(jié)果。Step4、最后利用構(gòu)建的越南語依存樹庫模型對測試語料所包含的2500個越南語句子進行依存分析測試并最終構(gòu)建出越南語依存樹庫。因為越南語句子的依存關(guān)系標記比較困難,需要耗費大量的人力物力,而且利用其它方法構(gòu)建的越南語依存樹庫的規(guī)模比較小,所以本發(fā)明利用改進的Nivre算法解決了越南語句子依存關(guān)系標記困難的問題,從而構(gòu)建出大規(guī)模的越南語依存樹庫。實驗中,本發(fā)明把依存弧準確率(UnlabeledAttachmentScore,UAS)、標識準確率(LabeledAttachmentScore,LAS)和根節(jié)點準確率(RootAccuracy,RA)作為整句依存句法分析的評測指標。它們的定義如下:為了驗證基于改進的Nivre算法能夠有效利用大量無標記的越南語句子級語料,提高依存分析的準確率,本發(fā)明將其與不同的學習算法進行了比較,實驗結(jié)果如表3所示。表3實驗結(jié)果對比表實驗結(jié)果表明:基于改進的Nivre算法構(gòu)建的越南語依存樹庫在UAS、LAS和RA方面的準確率比其它算法要高,而確定性的Nivre算法是基于狀態(tài)轉(zhuǎn)移過程進行訓練,依存分析時搜索局部最優(yōu)轉(zhuǎn)移狀態(tài)直至整句解析結(jié)束,因此具有局部性和貪婪性,這是其準確率低的原因。而本發(fā)明基于改進的Nivre算法將一個模型的分析結(jié)果作為另一個模型的輸入,當兩個模型的分析正確率相差不大時,改進的Nivre算法顯著提高了原來確定性Nivre算法在UAS、LAS和RA方面的準確率。上面結(jié)合附圖對本發(fā)明的具體實施方式作了詳細說明,但是本發(fā)明并不限于上述實施方式,在本領(lǐng)域普通技術(shù)人員所具備的知識范圍內(nèi),還可以在不脫離本發(fā)明宗旨的前提下作出各種變化。當前第1頁1 2 3