最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

利用基于詞上下文的字嵌入與神經(jīng)網(wǎng)絡(luò)的中文分詞方法與流程

文檔序號(hào):11250873閱讀:646來(lái)源:國(guó)知局

本發(fā)明涉及一種利用計(jì)算機(jī)進(jìn)行中文分詞的方法,特別是一種利用基于詞上下文的字嵌入與神經(jīng)網(wǎng)絡(luò)相結(jié)合的方式進(jìn)行自動(dòng)中文分詞的方法。



背景技術(shù):

中文分詞是自然語(yǔ)言處理的一項(xiàng)基本任務(wù),其廣泛的應(yīng)用需求吸引了大量相關(guān)研究從而促進(jìn)了其相關(guān)技術(shù)的快速發(fā)展。中文這樣的黏著語(yǔ)與西方語(yǔ)言不同,中文句子的詞與詞之間并沒(méi)有明顯的間隔。而一般自然語(yǔ)言處理任務(wù)的最小單元是“詞”,所以對(duì)于中文來(lái)說(shuō),首要的問(wèn)題是先識(shí)別詞串。目前處理中文分詞的手段大體可以分為兩類,基于規(guī)則的方法與基于統(tǒng)計(jì)方法?;谠~典的規(guī)則方法需要構(gòu)建一個(gè)大規(guī)模的詞典。切詞時(shí)會(huì)根據(jù)預(yù)先設(shè)計(jì)好的匹配規(guī)則來(lái)匹配詞典中的詞,從而完成對(duì)文本的切分。在計(jì)算資源相對(duì)受限和緊缺的時(shí)期,機(jī)器學(xué)習(xí)方法需要占用大量的計(jì)算資源和耗費(fèi)很大內(nèi)存開(kāi)銷,并不具有實(shí)用性,所以規(guī)則方法在相當(dāng)長(zhǎng)的一段時(shí)期內(nèi)成為了處理中文分詞問(wèn)題的主流方法。而隨著計(jì)算資源的不斷增長(zhǎng),基于機(jī)器學(xué)習(xí)的方法慢慢成為了解決中文分詞的主要手段。

在sighan2003舉行的首屆中文分詞評(píng)測(cè)中,基于字標(biāo)注的方法首次被提出,該方法的性能雖然不是最高的,但是其未登錄詞的識(shí)別率位居榜首。對(duì)于中文分詞任務(wù)來(lái)說(shuō),主要有兩大難點(diǎn),歧義切分和未登錄詞的識(shí)別,實(shí)驗(yàn)證明這兩類問(wèn)題并不是平等的,未登錄詞的影響要遠(yuǎn)遠(yuǎn)大于歧義切分?;谧值男蛄谢瘶?biāo)注的方法慢慢的被大家接受,成為了處理分詞問(wèn)題的主流方法。

在建模分詞任務(wù)的方式,將其看成序列化標(biāo)注任務(wù)是一種常見(jiàn)的手段。其工作過(guò)程是:針對(duì)待分詞的句子,以字為單位,從左至右對(duì)每個(gè)字進(jìn)行標(biāo)注(即打標(biāo)簽),一般采用的標(biāo)注體系是包括b、m、e、s四個(gè)標(biāo)記的四詞位標(biāo)注集,其中b代表當(dāng)前字占據(jù)一個(gè)多字詞的詞首,m代表當(dāng)前字占據(jù)一個(gè)多字詞的詞中e代表當(dāng)前字占據(jù)一個(gè)多字詞的詞尾,s代表當(dāng)前字是一個(gè)單字詞。得到標(biāo)注序列之后,可以轉(zhuǎn)換成分詞的結(jié)果。本發(fā)明在建模中文分詞任務(wù)是也將其看成序列化標(biāo)注任務(wù)并采用了上述的標(biāo)注集。

神經(jīng)網(wǎng)絡(luò)是一種常用的機(jī)器學(xué)習(xí)方法,它具有從一些基本原子特征自動(dòng)學(xué)習(xí)特征組合方式的能力,這區(qū)別于需要使用者根據(jù)語(yǔ)言學(xué)相關(guān)等先驗(yàn)知識(shí)來(lái)設(shè)計(jì)大量任務(wù)相關(guān)的模板的傳統(tǒng)方法。神經(jīng)網(wǎng)絡(luò)的使用,可以省去人工定制大量組合特征模板的工作,同時(shí)可以借助神經(jīng)網(wǎng)絡(luò)強(qiáng)大的表達(dá)能力來(lái)自動(dòng)地學(xué)習(xí)特征之間的組合。在本發(fā)明使用了雙向長(zhǎng)短記憶神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)句子的字序列進(jìn)行計(jì)算,從而更多地捕獲遠(yuǎn)距離特征。

對(duì)于基于神經(jīng)網(wǎng)絡(luò)的模型方法而言,一個(gè)重要的問(wèn)題就是如何使用詞嵌入。如果擁有足夠多的訓(xùn)練數(shù)據(jù),那么可以首先隨機(jī)初始化詞嵌入,然后把詞嵌入的學(xué)習(xí)融合到模型的訓(xùn)練中來(lái),從而得到高質(zhì)量的詞嵌入。但是對(duì)于分詞這樣的任務(wù),標(biāo)注數(shù)據(jù)集的規(guī)模非常有限,一般在幾萬(wàn)條左右。首先很難訓(xùn)練好字嵌入,其次由于數(shù)據(jù)規(guī)模有限,遇到測(cè)試數(shù)據(jù)時(shí),經(jīng)常會(huì)遇到未登錄詞這樣的問(wèn)題。一種方法是利用無(wú)監(jiān)督數(shù)據(jù)學(xué)習(xí)字嵌入,典型的方法有word2vec、glove,這些的方法的基本依據(jù)是根據(jù)分布式假設(shè),相似的詞會(huì)出現(xiàn)在相似的上下文中。相似的詞之間會(huì)具有相似或相近的詞嵌入。但“相似”這一特性又依賴于具體的任務(wù),對(duì)于不同的任務(wù),“相似”這一概念是不同的。



技術(shù)實(shí)現(xiàn)要素:

發(fā)明目的:本發(fā)明針對(duì)目前中文分詞技術(shù)中現(xiàn)有基于字標(biāo)注的模型不能充分利用詞信息的缺點(diǎn),提出了了一種基于詞上下文的字嵌入學(xué)習(xí)方法來(lái)間接的融合詞級(jí)別的信息,從而提升中文分詞任務(wù)的準(zhǔn)確度。

為了解決上述技術(shù)問(wèn)題,本發(fā)明公開(kāi)了一種利用基于詞上下文的字嵌入與神經(jīng)網(wǎng)絡(luò)的中文分詞方法以及關(guān)于分析過(guò)程中所使用模型參數(shù)訓(xùn)練方法的附加說(shuō)明。

本發(fā)明所述的利用基于詞上下文的字嵌入與神經(jīng)網(wǎng)絡(luò)的中文分詞方法包括以下步驟:

步驟1,計(jì)算機(jī)讀取大規(guī)模自動(dòng)切分的數(shù)據(jù),利用基于詞上下文的字嵌入學(xué)習(xí)方法得到字嵌入和雙字嵌入;

步驟2,利用基于神經(jīng)網(wǎng)絡(luò)的方法對(duì)待分詞句子進(jìn)行句子切分。

其中步驟1包含如下步驟:

步驟1-1,根據(jù)四詞位標(biāo)注體系,一句切分好的句子可以表示成字序列{c1,c2,…,cn}和{l1,l2,…,ln}。n是句子的長(zhǎng)度,li∈{b,m,e,s}。在四詞位標(biāo)注體系中共有b、m、e、s四個(gè)標(biāo)記,其中b代表當(dāng)前字占據(jù)一個(gè)多字詞的詞首,m代表當(dāng)前字占據(jù)一個(gè)多字詞的詞中e代表當(dāng)前字占據(jù)一個(gè)多字詞的詞尾,s代表當(dāng)前字是一個(gè)單字詞。下面給出一個(gè)例子說(shuō)明四詞位標(biāo)注體系的含義。首先給出一句已經(jīng)分好詞的句子:

(1)自然科學(xué)的研究不斷深入

該句子在用四詞位標(biāo)注體系進(jìn)行標(biāo)注后的形式如下:

(2)自/b然/m科/m學(xué)/e的/s研/b究/e不/b斷/e深/b入/e

在四詞位標(biāo)注體系中(1)和(2)是兩種等價(jià)的形式,可以相互轉(zhuǎn)換,如在自標(biāo)注方法中會(huì)先得到如(2)中的形式,然后轉(zhuǎn)換成(1)中的形式即是分詞的結(jié)果。

步驟1-2,利用基于詞上下文的字嵌入學(xué)習(xí)方法在大規(guī)模自動(dòng)切分的數(shù)據(jù)上學(xué)習(xí)得到字嵌入和雙字嵌入。

步驟1-2中整個(gè)大規(guī)模自動(dòng)切分?jǐn)?shù)據(jù)中的所有句子拼接成一個(gè)長(zhǎng)句形成數(shù)據(jù)集,整個(gè)數(shù)據(jù)集表示為字序列{c1,c2,…,ct}和相對(duì)應(yīng)的標(biāo)記序列{l1,l2,…,lt},其中t是數(shù)據(jù)集中字的個(gè)數(shù),ct表示數(shù)據(jù)集中的第t個(gè)字,lt表示數(shù)據(jù)集中的第t個(gè)字對(duì)應(yīng)的標(biāo)記。

步驟1-2包括如下步驟:

步驟1-2-1,字嵌入的學(xué)習(xí)目標(biāo)定義為:

其中,logp(ct+j|ct)和logp(lt+j|ct)按如下公式計(jì)算,

其中,σ表示sigmoid函數(shù),為一個(gè)實(shí)值函數(shù),其作用在一個(gè)向量上表示對(duì)向量中的每個(gè)元素都做此操作,得到一個(gè)與輸入向量維度相同的目標(biāo)向量,euni表示輸入端的字嵌入矩陣,表示輸出端的字嵌入矩陣,euni(x)表示從輸入端的字嵌入矩陣中取出字x對(duì)應(yīng)的字嵌入,表示從輸出端的字嵌入矩陣中取出字x對(duì)應(yīng)的字嵌入,k表示負(fù)采樣的個(gè)數(shù),pn(c)表示采樣的分布,a表示上下文窗口的大?。?/p>

步驟1-2-2,按照隨機(jī)梯度下降法學(xué)習(xí)得到字嵌入矩陣euni;

步驟1-2-3,雙字嵌入的學(xué)習(xí)目標(biāo)定義為:

其中,logp(ct+jct+j+1|ctct+1)和logp(lt+j|ctct+1)按如下公式計(jì)算,

其中ebi表示輸入端的雙字嵌入矩陣,表示輸出端的字嵌入矩陣,ebi(x)表示從輸入端的雙字嵌入矩陣中取出雙字x對(duì)應(yīng)的雙字嵌入,表示從輸出端的雙字嵌入矩陣中取出字x對(duì)應(yīng)的的雙字嵌入,ctct+1表示第t個(gè)字和第t+1個(gè)字連接在一起得到的雙字;

步驟1-2-4,在定義完雙字嵌入的學(xué)習(xí)目標(biāo)后,按照隨機(jī)梯度下降法學(xué)習(xí)得到雙字嵌入矩陣ebi。

在整個(gè)步驟2中w1,w2,…,wn表示待分詞的句子,n表示待分詞句子的長(zhǎng)度,wn表示句子中的第n個(gè)字,步驟2包括如下步驟:

步驟2-1,在處理第t*字時(shí)利用神經(jīng)網(wǎng)絡(luò)對(duì)所有標(biāo)注類型進(jìn)行打分,其中1≤tt≤n;

步驟2-2,對(duì)t*=1,2,…,n迭代執(zhí)行步驟2-1,按照貪心算法每步選擇得分最高的標(biāo)記作為當(dāng)前標(biāo)記,n表示待分詞句子的長(zhǎng)度;

步驟2-3,得到整個(gè)句子的詞位標(biāo)注序列后,轉(zhuǎn)換成句子切分的結(jié)果,即為句子分析的最終結(jié)果。

步驟2-1包括如下步驟:

步驟2-1-1,生成特征向量,特征向量包括字特征和雙字特征;

步驟2-1-2,利用神經(jīng)網(wǎng)絡(luò)針對(duì)步驟2-1-1中生成的特征向量進(jìn)行計(jì)算得到所有候選標(biāo)記的得分。

步驟2-1-1包括如步驟:

步驟2-1-1-1,根據(jù)步驟1-2中學(xué)習(xí)得到的字嵌入和雙字嵌入得到字特征向量和雙字特征向量其中下標(biāo)t代表當(dāng)前位置;

步驟2-1-1-2,將字特征向量和雙字特征向量拼接在一起得到當(dāng)前位置的特征表示

步驟2-1-2包括以下步驟:

步驟2-1-2-1,使用雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)模型計(jì)算生成當(dāng)前位置的中間表示,其中網(wǎng)絡(luò)的輸入為前向過(guò)程計(jì)算如下:

其中,是已經(jīng)訓(xùn)練好的模型參數(shù)矩陣,矩陣中每個(gè)元素的值均為實(shí)數(shù)值,這組參數(shù)與t無(wú)關(guān);為第t*個(gè)計(jì)算單元的輸出的隱層向量和記憶單元向量;分別是計(jì)算時(shí)隱層向量,輸入向量和記憶單元向量的轉(zhuǎn)換矩陣;分別是計(jì)算時(shí)隱層向量,輸入向量和記憶單元向量的轉(zhuǎn)換矩陣;分別是計(jì)算時(shí)隱層向量,輸入向量和記憶單元向量的轉(zhuǎn)換矩陣;分別是計(jì)算時(shí)隱層向量和輸入向量的轉(zhuǎn)換矩陣;公式中所用的tanh是雙曲函數(shù),為一個(gè)實(shí)值函數(shù),其作用在一個(gè)向量上表示對(duì)向量中的每個(gè)元素都做此操作,得到一個(gè)與輸入向量維度相同的目標(biāo)向量;σ是sigmod函數(shù),為一個(gè)實(shí)值函數(shù),其作用在一個(gè)向量上表示對(duì)向量中的每個(gè)元素都做此操作,得到一個(gè)與輸入向量維度相同的目標(biāo)向量;⊙是點(diǎn)乘運(yùn)算,即將兩個(gè)維度相同的向量按位做乘法得到一個(gè)相同維度的結(jié)果向量;

后向網(wǎng)絡(luò)的計(jì)算過(guò)程如下:

其中,是已經(jīng)訓(xùn)練好的模型參數(shù)矩陣,矩陣中每個(gè)元素的值均為實(shí)數(shù)值,這組參數(shù)與t*無(wú)關(guān);hb(wt)、為第t*個(gè)計(jì)算單元的輸出的隱層向量和記憶單元向量;分別是計(jì)算時(shí)隱層向量,輸入向量和記憶單元向量的轉(zhuǎn)換矩陣;分別是計(jì)算時(shí)隱層向量,輸入向量和記憶單元向量的轉(zhuǎn)換矩陣;分別是計(jì)算時(shí)隱層向量,輸入向量和記憶單元向量的轉(zhuǎn)換矩陣;分別是計(jì)算時(shí)隱層向量和輸入向量的轉(zhuǎn)換矩陣;

和hb(wt)拼接即得到最終的中間層表示

步驟2-1-2-2,使用前向神經(jīng)網(wǎng)絡(luò)計(jì)算所有標(biāo)注類型的得分,整個(gè)前向網(wǎng)絡(luò)的計(jì)算過(guò)程如下公式:

o=w2h+b2,

其中,w1,w2,b1,b2是已經(jīng)訓(xùn)練好的模型參數(shù),h是神經(jīng)網(wǎng)絡(luò)的隱層向量;o是計(jì)算輸出,是一個(gè)實(shí)值向量,其維度對(duì)應(yīng)詞位標(biāo)記的個(gè)數(shù),其中第i個(gè)值就對(duì)應(yīng)時(shí)刻t*時(shí),標(biāo)記i的得分,該得分是一個(gè)實(shí)數(shù)值。

有益效果:本發(fā)明針對(duì)目前中文分詞技術(shù)中現(xiàn)有基于字標(biāo)注的模型不能充分利用詞信息的缺點(diǎn),提出了了一種基于詞上下文的字嵌入學(xué)習(xí)方法來(lái)間接的融合詞級(jí)別的信息,在不增加模型復(fù)雜程度的前提下,提升了中文分詞任務(wù)的準(zhǔn)確度。

附圖說(shuō)明

下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明做更進(jìn)一步的具體說(shuō)明,本發(fā)明的上述和/或其他方面的優(yōu)點(diǎn)將會(huì)變得更加清楚。

圖1是本發(fā)明的流程圖。

具體實(shí)施方式

本發(fā)明提出了一種利用基于詞上下文的字嵌入與神經(jīng)網(wǎng)絡(luò)的中文分詞方法,在大規(guī)模的自動(dòng)切分?jǐn)?shù)據(jù)上學(xué)習(xí)字嵌入,將學(xué)習(xí)得到的字嵌入作為神經(jīng)網(wǎng)絡(luò)分詞模型的輸入,可以有效幫助模型學(xué)習(xí)。

如圖1所示,本發(fā)明公開(kāi)了一種利用基于詞上下文的字嵌入與神經(jīng)網(wǎng)絡(luò)的中文分詞方法,它既能夠運(yùn)用字級(jí)別的特征,而且可以通過(guò)引入基于詞向量的字嵌入來(lái)間接融合詞信息,提升了中文分詞任務(wù)的準(zhǔn)確度。

本發(fā)明所述的利用基于詞上下文的字嵌入與神經(jīng)網(wǎng)絡(luò)的中文分詞方法包括如下步驟:

步驟1,計(jì)算機(jī)讀取大規(guī)模自動(dòng)切分的數(shù)據(jù),利用基于詞上下文的字嵌入學(xué)習(xí)方法得到字嵌入和雙字嵌入;

步驟2,利用基于神經(jīng)網(wǎng)絡(luò)的方法對(duì)待分詞句子進(jìn)行句子切分。

其中步驟1包含如下步驟:

步驟1-1,根據(jù)四詞位標(biāo)注體系,一句切分好的句子可以表示成字序列{c1,c2,…,cn}和{l1,l2,…,ln}。n是句子的長(zhǎng)度,li∈{b,m,e,s}。在四詞位標(biāo)注體系中共有b、m、e、s四個(gè)標(biāo)記,其中b代表當(dāng)前字占據(jù)一個(gè)多字詞的詞首,m代表當(dāng)前字占據(jù)一個(gè)多字詞的詞中e代表當(dāng)前字占據(jù)一個(gè)多字詞的詞尾,s代表當(dāng)前字是一個(gè)單字詞。下面給出一個(gè)例子說(shuō)明四詞位標(biāo)注體系的含義。首先給出一句已經(jīng)分好詞的句子:

(1)自然科學(xué)的研究不斷深入

該句子在用四詞位標(biāo)注體系進(jìn)行標(biāo)注后的形式如下:

(2)自/b然/m科/m學(xué)/e的/s研/b究/e不/b斷/e深/b入/e

在四詞位標(biāo)注體系中(1)和(2)是兩種等價(jià)的形式,可以相互轉(zhuǎn)換,如在自標(biāo)注方法中會(huì)先得到如(2)中的形式,然后轉(zhuǎn)換成(1)中的形式即是分詞的結(jié)果。

步驟1-2,利用基于詞上下文的字嵌入學(xué)習(xí)方法在大規(guī)模自動(dòng)切分的數(shù)據(jù)上學(xué)習(xí)得到字嵌入和雙字嵌入。

步驟1-2中整個(gè)大規(guī)模自動(dòng)切分?jǐn)?shù)據(jù)中的所有句子拼接成一個(gè)長(zhǎng)句形成數(shù)據(jù)集,整個(gè)數(shù)據(jù)集表示為字序列{c1,c2,…,ct}和相對(duì)應(yīng)的標(biāo)記序列{l1,l2,…,lt},其中t是數(shù)據(jù)集中字的個(gè)數(shù),ct表示數(shù)據(jù)集中的第t個(gè)字,lt表示數(shù)據(jù)集中的第t個(gè)字對(duì)應(yīng)的標(biāo)記。

步驟1-2包括如下步驟:

步驟1-2-1,字嵌入的學(xué)習(xí)目標(biāo)定義為:

其中,logp(ct+j|ct)和logp(lt+j|ct)按如下公式計(jì)算,

其中,σ表示sigmoid函數(shù),為一個(gè)實(shí)值函數(shù),其作用在一個(gè)向量上表示對(duì)向量中的每個(gè)元素都做此操作,得到一個(gè)與輸入向量維度相同的目標(biāo)向量,euni表示輸入端的字嵌入矩陣,表示輸出端的字嵌入矩陣,euni(x)表示從輸入端的字嵌入矩陣中取出字x對(duì)應(yīng)的字嵌入,表示從輸出端的字嵌入矩陣中取出字x對(duì)應(yīng)的字嵌入,k表示負(fù)采樣的個(gè)數(shù),pn(c)表示采樣的分布,a表示上下文窗口的大?。?/p>

步驟1-2-2,按照隨機(jī)梯度下降法學(xué)習(xí)得到字嵌入矩陣euni;

步驟1-2-3,雙字嵌入的學(xué)習(xí)目標(biāo)定義為:

其中,logp(ct+jct+j+1|ctct+1)和logp(lt+j|ctct+1)按如下公式計(jì)算,

其中ebi表示輸入端的雙字嵌入矩陣,表示輸出端的字嵌入矩陣,ebi(x)表示從輸入端的雙字嵌入矩陣中取出雙字x對(duì)應(yīng)的雙字嵌入,表示從輸出端的雙字嵌入矩陣中取出字x對(duì)應(yīng)的的雙字嵌入,ctct+1表示第t個(gè)字和第t+1個(gè)字連接在一起得到的雙字;

步驟1-2-4,在定義完雙字嵌入的學(xué)習(xí)目標(biāo)后,按照隨機(jī)梯度下降法學(xué)習(xí)得到雙字嵌入矩陣ebi。

在整個(gè)步驟2中w1,w2,…,wn表示待分詞的句子,n表示待分詞句子的長(zhǎng)度,wn表示句子中的第n個(gè)字,步驟2包括如下步驟:

步驟2-1,在處理第t*字時(shí)利用神經(jīng)網(wǎng)絡(luò)對(duì)所有標(biāo)注類型進(jìn)行打分,其中1≤t*≤n;

步驟2-2,對(duì)t*=1,2,…,n迭代執(zhí)行步驟2-1,按照貪心算法每步選擇得分最高的標(biāo)記作為當(dāng)前標(biāo)記,n表示待分詞句子的長(zhǎng)度;

步驟2-3,得到整個(gè)句子的詞位標(biāo)注序列后,轉(zhuǎn)換成句子切分的結(jié)果,即為句子分析的最終結(jié)果。

步驟2-1包括如下步驟:

步驟2-1-1,生成特征向量,特征向量包括字特征和雙字特征;

步驟2-1-2,利用神經(jīng)網(wǎng)絡(luò)針對(duì)步驟2-1-1中生成的特征向量進(jìn)行計(jì)算得到所有候選標(biāo)記的得分。

特征在于,步驟2-1-1包括如步驟:

步驟2-1-1-1,根據(jù)步驟1-2中學(xué)習(xí)得到的字嵌入和雙字嵌入得到字特征向量和雙字特征向量其中下標(biāo)t代表當(dāng)前位置;

步驟2-1-1-2,將字特征向量和雙字特征向量拼接在一起得到當(dāng)前位置的特征表示

步驟2-1-2包括以下步驟:

步驟2-1-2-1,使用雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)模型計(jì)算生成當(dāng)前位置的中間表示,其中網(wǎng)絡(luò)的輸入為前向過(guò)程計(jì)算如下:

其中,是已經(jīng)訓(xùn)練好的模型參數(shù)矩陣,矩陣中每個(gè)元素的值均為實(shí)數(shù)值,這組參數(shù)與t*無(wú)關(guān);為第t*個(gè)計(jì)算單元的輸出的隱層向量和記憶單元向量;分別是計(jì)算時(shí)隱層向量,輸入向量和記憶單元向量的轉(zhuǎn)換矩陣;分別是計(jì)算時(shí)隱層向量,輸入向量和記憶單元向量的轉(zhuǎn)換矩陣;分別是計(jì)算時(shí)隱層向量,輸入向量和記憶單元向量的轉(zhuǎn)換矩陣;分別是計(jì)算時(shí)隱層向量和輸入向量的轉(zhuǎn)換矩陣;公式中所用的tanh是雙曲函數(shù),為一個(gè)實(shí)值函數(shù),其作用在一個(gè)向量上表示對(duì)向量中的每個(gè)元素都做此操作,得到一個(gè)與輸入向量維度相同的目標(biāo)向量;σ是sigmod函數(shù),為一個(gè)實(shí)值函數(shù),其作用在一個(gè)向量上表示對(duì)向量中的每個(gè)元素都做此操作,得到一個(gè)與輸入向量維度相同的目標(biāo)向量;⊙是點(diǎn)乘運(yùn)算,即將兩個(gè)維度相同的向量按位做乘法得到一個(gè)相同維度的結(jié)果向量;

后向網(wǎng)絡(luò)的計(jì)算過(guò)程如下:

其中,是已經(jīng)訓(xùn)練好的模型參數(shù)矩陣,矩陣中每個(gè)元素的值均為實(shí)數(shù)值,這組參數(shù)與t無(wú)關(guān);hb(wt)、為第t*個(gè)計(jì)算單元的輸出的隱層向量和記憶單元向量;分別是計(jì)算時(shí)隱層向量,輸入向量和記憶單元向量的轉(zhuǎn)換矩陣;分別是計(jì)算時(shí)隱層向量,輸入向量和記憶單元向量的轉(zhuǎn)換矩陣;分別是計(jì)算時(shí)隱層向量,輸入向量和記憶單元向量的轉(zhuǎn)換矩陣;分別是計(jì)算時(shí)隱層向量和輸入向量的轉(zhuǎn)換矩陣;

拼接即得到最終的中間層表示

步驟2-1-2-2,使用前向神經(jīng)網(wǎng)絡(luò)計(jì)算所有標(biāo)注類型的得分,整個(gè)前向網(wǎng)絡(luò)的計(jì)算過(guò)程如下公式:

o=w2h+b2,

其中,w1,w2,b1,b2是已經(jīng)訓(xùn)練好的模型參數(shù),h是神經(jīng)網(wǎng)絡(luò)的隱層向量;o是計(jì)算輸出,是一個(gè)實(shí)值向量,其維度對(duì)應(yīng)詞位標(biāo)記的個(gè)數(shù),其中第i個(gè)值就對(duì)應(yīng)時(shí)刻t*時(shí),標(biāo)記i的得分,該得分是一個(gè)實(shí)數(shù)值。

本發(fā)明所述的分析過(guò)程中所使用的模型參數(shù)訓(xùn)練方法的附加說(shuō)明如下:

從分析過(guò)程中的步驟1可以知道,本發(fā)明中所述的基于詞上下文的字嵌入學(xué)習(xí)中所用的參數(shù)包括:

1、學(xué)習(xí)字嵌入的參數(shù)

2、學(xué)習(xí)雙字嵌入的參數(shù)

在字嵌入的學(xué)習(xí)中,對(duì)輸入端參數(shù)euni,按隨機(jī)取值進(jìn)行初始化,輸出端參數(shù)按零取值進(jìn)行初始化。整個(gè)訓(xùn)練的目標(biāo)就是最小化步驟1-2-1中的目標(biāo)函數(shù),在學(xué)習(xí)詞嵌入的方法中通常使用隨機(jī)梯度下降法求解參數(shù)。在本實(shí)施例中也采取了隨機(jī)梯度下降法求解得到參數(shù)

在雙字字嵌入的學(xué)習(xí)中,對(duì)輸入端參數(shù)ebi,按隨機(jī)取值進(jìn)行初始化,輸出端參數(shù)按零取值進(jìn)行初始化。整個(gè)訓(xùn)練的目標(biāo)就是最小化步驟1-2-3中的目標(biāo)函數(shù),在學(xué)習(xí)詞嵌入的方法中通常使用隨機(jī)梯度下降法求解參數(shù)。在本實(shí)施例中也采取了隨機(jī)梯度下降法求解得到參數(shù)

從分析過(guò)程中的步驟2可以知道,本發(fā)明中所述的分詞過(guò)程中所用的的參數(shù)包括如下幾個(gè)部分(后面叫這些參數(shù)為模型參數(shù)組):

1、對(duì)應(yīng)輸入的特征向量字嵌入和雙字嵌入其中為單字,為雙字;

2、步驟2-1-2-1中計(jì)算前向特征所用的神經(jīng)網(wǎng)絡(luò)參數(shù)

3、步驟2-1-2-1中計(jì)算后向特征所用的神經(jīng)網(wǎng)絡(luò)參數(shù)

4、步驟2-1-2-2中前向神經(jīng)網(wǎng)絡(luò)所用的網(wǎng)絡(luò)參數(shù)w1,w2。

訓(xùn)練過(guò)程采用極大似然訓(xùn)練數(shù)據(jù)集中的正確標(biāo)注序列的、使用迭代方式實(shí)現(xiàn)。在訓(xùn)練開(kāi)始之前,可以根據(jù)步驟1得到參數(shù)euni和ebi。2、3、4中的參數(shù)按隨機(jī)取值進(jìn)行初始化。然后使用已標(biāo)注數(shù)據(jù)集(假設(shè)數(shù)據(jù)集大小為d)dataest={sent1,sent2,…,sentd}對(duì)參數(shù)進(jìn)行訓(xùn)練:首先定義一個(gè)訓(xùn)練目標(biāo),該目標(biāo)定義在整個(gè)數(shù)據(jù)集上,又稱為損失函數(shù),它是整個(gè)模型參數(shù)組中所有參數(shù)的函數(shù),假設(shè)為l(dataset),針對(duì)每一個(gè)句子sentr的損失函數(shù)表示為loss(sentr)兩者的定義與計(jì)算過(guò)程按下述方式進(jìn)行:

根據(jù)步驟2-2,可以得到sentr中任意時(shí)刻t*的關(guān)于標(biāo)記i的得分score(sentr,t*,i),其中時(shí)刻t*的正確標(biāo)記為gold,那么關(guān)于句子的損失函數(shù)可以定義為:

其中的ex表示指數(shù)函數(shù),e表示自然對(duì)數(shù)的常量。

定義針對(duì)整個(gè)訓(xùn)練數(shù)據(jù)集的損失函數(shù)為:

其中的θ,e表示該損失函數(shù)為模型參數(shù)組中參數(shù)的函數(shù)。

整個(gè)訓(xùn)練過(guò)程的目標(biāo)就是最小化以上損失函數(shù),最小化以上損失函數(shù)并求得參數(shù)的方法有多種且為業(yè)界從業(yè)人員熟知,如實(shí)施例其中采用了隨機(jī)梯度下降法來(lái)對(duì)其進(jìn)行求解2,3,4中的參數(shù)。

實(shí)施例1

首先,本實(shí)施例中所采用的標(biāo)注數(shù)據(jù)是濱州樹(shù)庫(kù)中文版ctb6.0,其中訓(xùn)練集23401句,開(kāi)發(fā)集2078句,測(cè)試集2795句。自動(dòng)切分?jǐn)?shù)據(jù)是在中文gigaword(ldc2011t13)得到的共41071242句。

本實(shí)施例利用本發(fā)明中的利用基于詞上下文的字嵌入與神經(jīng)網(wǎng)絡(luò)的中文分詞方法的完整過(guò)程如下:

步驟1-1,確定字標(biāo)注模型的標(biāo)注體系,定義了四種類型b,m,e,s,具體含義見(jiàn)說(shuō)明書(shū)中的1-1;

步驟1-2,再gigaword中文自動(dòng)切分?jǐn)?shù)據(jù)上訓(xùn)練得到字嵌入euni矩陣和雙字嵌入ebi;

步驟2-1,讀取一個(gè)中文句子“你馬上過(guò)來(lái)”,并計(jì)算出每個(gè)位置關(guān)于標(biāo)記的得分:

1.你score(b)=1.01score(m)=0.32score(e)=0.13score(s)=2.34

2.馬score(b)=1.82score(m)=0.46score(e)=0.39score(s)=0.42

3.上score(b)=0.25score(m)=0.23score(e)=2.26score(s)=0.47

4.過(guò)score(b)=2.37score(m)=0.74score(e)=0.29score(s)=0.56

5.來(lái)score(b)=0.27score(m)=0.10score(e)=3.26score(s)=0.24

步驟2-2,根據(jù)貪心策略可以得到標(biāo)記序列:你/s馬/b上/e過(guò)/b來(lái)/e

步驟2-3,通過(guò)標(biāo)記序列可以轉(zhuǎn)換得到分詞結(jié)果:你馬上過(guò)來(lái)

實(shí)施例2

本發(fā)明所用的算法全部使用c++語(yǔ)言編寫(xiě)實(shí)現(xiàn)。該實(shí)施例實(shí)驗(yàn)所采用的機(jī)型為:intel(r)core(tm)i7-4790k處理器,主頻為4.0ghz,內(nèi)存為24g。本實(shí)施例中所采用的標(biāo)注數(shù)據(jù)是濱州樹(shù)庫(kù)中文版ctb6.0,其中訓(xùn)練集23401句,開(kāi)發(fā)集2078句,測(cè)試集2795句。自動(dòng)切分?jǐn)?shù)據(jù)是在中文gigaword(ldc2011t13)得到的共41071242句。模型參數(shù)在gigaword數(shù)據(jù)和ctb6.0數(shù)據(jù)上訓(xùn)練得到,實(shí)驗(yàn)結(jié)果如表1所示:

表1實(shí)驗(yàn)結(jié)果說(shuō)明

其中xuandsun(2016)采用了為基于依存遞歸神經(jīng)網(wǎng)絡(luò)的分詞模型,liu(2016)為利用切分的表示的分詞模型,zhang(2016)為基于轉(zhuǎn)換的神經(jīng)網(wǎng)絡(luò)分詞模型,zhang(2016)comb是將傳統(tǒng)特征與神經(jīng)網(wǎng)絡(luò)特征相結(jié)合的基于轉(zhuǎn)換的分詞模型,這幾種模型代表了目前基于神經(jīng)網(wǎng)絡(luò)的分詞模型的前沿水平。需要說(shuō)明的是,在該數(shù)據(jù)集上進(jìn)行評(píng)測(cè)是評(píng)價(jià)中文分詞的一個(gè)常用方式??梢钥闯觯景l(fā)明中的方法在該數(shù)據(jù)集上取得了較高的f1-score值,說(shuō)明了該方法的有效性。

此處對(duì)f1-score的計(jì)算方式進(jìn)行說(shuō)明:因?yàn)樵摐y(cè)試集是已標(biāo)注數(shù)據(jù)集,所以是知道正確標(biāo)注結(jié)果的,假設(shè)對(duì)整個(gè)數(shù)據(jù)集而言,所有正確的詞組成的集合s(gold),其大小為count(gold);在對(duì)數(shù)據(jù)集中的每個(gè)句子按實(shí)施例1中的方式進(jìn)行分詞以后,取出所有分析結(jié)果中的分詞結(jié)果組成預(yù)測(cè)集合s(predict),假設(shè)其大小為count(predict);s(gold)和s(predict)中切分相同的部分組成的集合為s(correct),其大小為count(correct);假設(shè)預(yù)測(cè)準(zhǔn)確度表示為precision,預(yù)測(cè)召回率表示為recall,則各個(gè)值的計(jì)算按如下公式進(jìn)行:

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1