亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種改進(jìn)詞向量模型的語義計算方法與流程

文檔序號:12034582閱讀:541來源:國知局
一種改進(jìn)詞向量模型的語義計算方法與流程

本發(fā)明涉及信息科學(xué)領(lǐng)域,具體是一種改進(jìn)word2vec詞向量模型的語義計算方法及系統(tǒng)。



背景技術(shù):

將自然語言交給機器學(xué)習(xí)算法來處理,需要將語言進(jìn)行數(shù)學(xué)化處理,詞向量化就是一種方式。進(jìn)行詞向量化最簡單的方式為獨熱碼表示法(one-hotrepresentation),該方法通過創(chuàng)建一個詞表庫,并對詞庫中的每個詞進(jìn)行順序編號來賦予每個詞一個向量,向量的分量只有一個1,其他全為0。這種詞向量表示法有2個缺點:(1)容易產(chǎn)生維數(shù)災(zāi)難;(2)不能很好的刻畫詞與詞之間的相似性,即語義鴻溝。為了克服這種缺陷,hinton在1986年提出分布式表示方法(distributedrepresentation),其基本思想是通過訓(xùn)練將每個詞映射成一個固定長度的k維實數(shù)短向量(k為正整數(shù)),然后將所有向量映射到向量空間,每個向量對應(yīng)空間上的一個點,在空間上計算向量與向量之間的距離,就可以判斷它們之間的相似度。分布式表示法的一種生成詞向量的方式是利用神經(jīng)網(wǎng)絡(luò)算法,該方法通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)最終得到詞向量和語言模型。bengio于2003年提出神經(jīng)網(wǎng)絡(luò)語言模型(neuralnetworklanguagemodel),其核心思想是利用神經(jīng)網(wǎng)絡(luò)建立n-gram語言模型,將每個詞表示成一個浮點向量,然后作為神經(jīng)網(wǎng)絡(luò)的輸入,通過隨機梯度算法對神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行訓(xùn)練,訓(xùn)練完成之后同時得到語言模型和詞向量。

目前比較廣泛應(yīng)用的詞向量化方法是基于word2vec去訓(xùn)練得到詞向量模型,word2vec訓(xùn)練詞向量的過程,就是構(gòu)建一個多層神經(jīng)網(wǎng)絡(luò),然后在給定文本中獲得對應(yīng)的輸入和輸出,在訓(xùn)練過程中不斷修正神經(jīng)網(wǎng)絡(luò)中的參數(shù),最終得到詞向量。word2vec的核心模型就是cbow模型(continuousbag-of-wordsmodel)和skip-gram模型(continuousskip-grammodel),cbow模型是根據(jù)當(dāng)前詞上下文的2n個詞來預(yù)測當(dāng)前詞(設(shè)詞窗大小為n),它的輸入是周圍詞向量之和,輸出是當(dāng)前詞詞向量;而skip-gram模型是根據(jù)當(dāng)前詞本身來預(yù)測周圍有哪些詞,它的輸入是當(dāng)前詞詞向量,輸出是上下文的詞向量。傳統(tǒng)word2vec訓(xùn)練詞向量的效果,在語義功能上體現(xiàn)為簡單的線性關(guān)系,比如說:“男人-皇帝=女人-皇后”、“醫(yī)生-手術(shù)=老師-教學(xué)”等,正是由于這個特性,使得word2vec生成的詞向量具有初步的語義推理能力。

然而,現(xiàn)有技術(shù)中的word2vec沒有充分考慮詞性因素,而詞性是訓(xùn)練詞向量的重要信息,因為詞性本身就涵蓋了語義信息和語法規(guī)則,利用詞性信息可以很好的結(jié)合詞語的搭配順序、規(guī)律和關(guān)系,比如形容詞后面可以加名詞而不能加副詞,因而影響了模型對語義的深層理解。



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

本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點與不足,提供了一種加入詞性向量因素的改進(jìn)word2vec詞向量模型的語義計算方法及系統(tǒng)。

本發(fā)明通過以下的方案實現(xiàn):一種改進(jìn)詞向量模型的語義計算方法,包括以下步驟:s1:語料預(yù)處理,對語料進(jìn)行清理,規(guī)范化,分詞操作;

s2:詞性標(biāo)注,對語料預(yù)處理后得到的詞語進(jìn)行標(biāo)注詞性;

s3:向量初始化,對詞性標(biāo)注后得到的詞語和詞性進(jìn)行向量化;

s4:上下文向量整合,對詞語的上下文詞語向量及詞性向量進(jìn)行計算整合;

s5:構(gòu)建哈夫曼樹并訓(xùn)練網(wǎng)絡(luò),優(yōu)化目標(biāo)函數(shù)并判斷誤差是否達(dá)到閾值;

s6:向量獲取,獲取詞語向量和詞性向量。

s7:向量應(yīng)用,應(yīng)用詞語向量和詞性向量進(jìn)行語義計算。

作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟s1中,具體包括:

s11:去除無關(guān)字符,包括去除標(biāo)點符號和亂碼;

s12:統(tǒng)一表達(dá)規(guī)范,將中文語料都轉(zhuǎn)為中文簡體,英文語料統(tǒng)一為英文小寫;

s13:分詞,使用jieba分詞中的搜索引擎分詞模式進(jìn)行分詞。

作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟s2中采用jieba分詞詞典進(jìn)行詞性標(biāo)注。

作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟s3中,具體為:首先設(shè)定向量的維度,然后使用服從均勻分布的數(shù)據(jù)填充向量的每一維度。

作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟s5中,具體包括:

s51:構(gòu)建哈夫曼樹,該哈夫曼樹的葉子節(jié)點為詞向量;

s52:判斷誤差是否達(dá)到閾值,若未達(dá)到閾值,就繼續(xù)訓(xùn)練網(wǎng)絡(luò),并返回步驟s4;若達(dá)到閾值,就停止訓(xùn)練,并執(zhí)行步驟s6。

作為本發(fā)明的進(jìn)一步改進(jìn),還包括步驟s7:對詞語向量和詞性向量進(jìn)行應(yīng)用,具體包括:

s71:詞語向量余弦相似度的語義計算,輸出常用詞的前n個相似詞,所述前n為正整數(shù);

s72:詞語和詞性的語義計算,輸出常用詞對應(yīng)的向量和詞性向量的和的相似詞;

s73:詞語語義范圍的語義計算,選取若干個情感類型的情感詞,遞歸找出各個情感詞相關(guān)的詞語,并繪制關(guān)系圖。

本發(fā)明還提供了一種詞向量的語義計算系統(tǒng),其包括:

語料預(yù)處理模塊,用于進(jìn)行語料預(yù)處理;

詞性標(biāo)注模塊,用于對每個詞的詞性進(jìn)行標(biāo)注;

向量初始化模塊,用于對詞語向量和詞性向量進(jìn)行隨機向量化;

上下文向量整合模塊,用于將詞語向量和詞性向量求和,求和的結(jié)果除以詞語個數(shù)得到向量均值,向量均值與中心詞的詞性向量取差值得到向量整合結(jié)果;

中心詞向量調(diào)整模塊,用于對中心詞向量進(jìn)行調(diào)整,優(yōu)化目標(biāo)函數(shù);

向量獲取模塊,用于獲取詞語向量和詞性向量。

作為本發(fā)明的進(jìn)一步改進(jìn),所述語料預(yù)處理模塊包括:

無關(guān)字符去除子模塊,用于去除無關(guān)字符,包括去除標(biāo)點符號和亂碼;

表達(dá)規(guī)范子模塊,用于統(tǒng)一表達(dá)規(guī)范,將中文語料都轉(zhuǎn)為中文簡體,英文語料統(tǒng)一為英文小寫;

分詞子模塊,用于使用jieba分詞中的搜索引擎分詞模式進(jìn)行分詞。

作為本發(fā)明的進(jìn)一步改進(jìn),所述詞性標(biāo)注模塊采用jieba分詞詞典進(jìn)行詞性標(biāo)注。

作為本發(fā)明的進(jìn)一步改進(jìn),所述向量初始化模塊通過設(shè)定向量的維度,然后使用服從均勻分布的數(shù)據(jù)填充向量的每一維度。

作為本發(fā)明的進(jìn)一步改進(jìn),所述中心詞向量調(diào)整模塊包括:

訓(xùn)練子模塊,用于構(gòu)建哈夫曼樹,該哈夫曼樹的葉子節(jié)點為詞向量;

誤差判斷子模塊,用于判斷誤差是否達(dá)到閾值,若未達(dá)到閾值,就繼續(xù)訓(xùn)練網(wǎng)絡(luò);若達(dá)到閾值,就停止訓(xùn)練。

作為本發(fā)明的進(jìn)一步改進(jìn),還包括向量應(yīng)用模塊,用于對詞語向量和詞性向量進(jìn)行應(yīng)用;所述向量應(yīng)用模塊包括:

詞語向量余弦相似度的語義計算子模塊,用于輸出常用詞的前n個相似詞,所述前n為正整數(shù);

詞語和詞性的語義計算子模塊,用于輸出常用詞對應(yīng)的向量和詞性向量的和的相似詞;

詞語語義范圍的語義計算子模塊,用于選取若干個情感類型的情感詞,遞歸找出各個情感詞相關(guān)的詞語,并繪制關(guān)系圖。

相比于現(xiàn)有技術(shù),本發(fā)明加入了詞性向量的考慮,并且根據(jù)現(xiàn)有的word2vec模型進(jìn)行改進(jìn)。同時,根據(jù)該改進(jìn)后的模型進(jìn)行了創(chuàng)新的應(yīng)用,拓展了word2vec進(jìn)行語義計算的功能。

為了更好地理解和實施,下面結(jié)合附圖詳細(xì)說明本發(fā)明。

附圖說明

圖1是本發(fā)明的改進(jìn)詞向量模型的語義計算方法的步驟流程圖。

圖2是現(xiàn)有技術(shù)的cbow和skip-gram模型示意圖。

圖3是現(xiàn)有技術(shù)的cbow模型的結(jié)構(gòu)圖。

圖4是本發(fā)明改進(jìn)后的模型示意圖。

圖5是本發(fā)明改進(jìn)后的結(jié)構(gòu)圖。

圖6是輸出層的原理示意圖。

圖7是情感相關(guān)詞語的關(guān)系圖

圖8是本發(fā)明的語義計算系統(tǒng)的框圖。

具體實施方式

以下結(jié)合實施例及附圖對本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實施方式不限于此。

本發(fā)明為了解決現(xiàn)有技術(shù)的缺陷,提供了一種改進(jìn)word2vec詞向量模型的語義計算方法及系統(tǒng)。

具體通過以下實施例進(jìn)行介紹:

首先,先對本發(fā)明的改進(jìn)詞向量模型的語義計算方法的整體流程進(jìn)行介紹。具體請參閱圖1,其為本發(fā)明的改進(jìn)詞向量模型的語義計算方法的步驟流程圖。本發(fā)明提供了一種改進(jìn)詞向量模型的語義計算方法,包括以下步驟:

s1:語料預(yù)處理。具體的所述步驟s1中包括:

s11:去除無關(guān)字符,包括去除標(biāo)點符號和亂碼。

s12:統(tǒng)一表達(dá)規(guī)范,將中文語料都轉(zhuǎn)為中文簡體,英文語料統(tǒng)一為英文小寫。

s13:分詞,使用jieba分詞中的搜索引擎分詞模式進(jìn)行分詞。

s2:詞性標(biāo)注,對語料預(yù)處理后得到的詞語進(jìn)行標(biāo)注詞性。具體的,所述步驟s2中采用jieba分詞詞典進(jìn)行詞性標(biāo)注,可以標(biāo)注句子分詞后每個詞的詞性,詞性標(biāo)注集采用北大計算所詞性標(biāo)注集,屬于基于統(tǒng)計模型的標(biāo)注方法。

s3:向量初始化,對詞性標(biāo)注后得到的詞語和詞性進(jìn)行向量化所述步驟s3中,具體為:首先設(shè)定向量的維度,然后使用服從均勻分布的數(shù)據(jù)填充向量的每一維度。

s4:上下文向量整合,對詞語的上下文詞語向量及詞性向量進(jìn)行計算整合,具體為:將詞語向量和詞性向量求和,求和的結(jié)果除以詞語個數(shù)得到向量均值,向量均值與中心詞的詞性向量取差值得到向量整合結(jié)果。

s5:構(gòu)建哈夫曼樹并訓(xùn)練網(wǎng)絡(luò),優(yōu)化目標(biāo)函數(shù)并判斷誤差是否達(dá)到閾值;所述步驟s5中,具體包括:

s51:構(gòu)建哈夫曼樹,該哈夫曼樹的葉子節(jié)點為詞向量。

s52:判斷誤差是否達(dá)到閾值,若未達(dá)到閾值,就繼續(xù)訓(xùn)練網(wǎng)絡(luò),并返回步驟s4;若達(dá)到閾值,就停止訓(xùn)練,并執(zhí)行步驟s6。

s6:向量獲取,獲取詞語向量和詞性向量。

s7:對詞語向量和詞性向量進(jìn)行應(yīng)用。具體的,所述步驟s7包括:

s71:詞語向量余弦相似度的語義計算,輸出常用詞的前n個相似詞,所述前n為正整數(shù)。

s72:詞語和詞性的語義計算,輸出常用詞對應(yīng)的向量和詞性向量的和的相似詞。

s73:詞語語義范圍的語義計算,選取若干個情感類型的情感詞,遞歸找出各個情感詞相關(guān)的詞語,并繪制關(guān)系圖。

以下具體介紹本發(fā)明的具體原理和過程:

首先,本發(fā)明需要針對現(xiàn)有的word2vec詞向量化模型進(jìn)行改進(jìn),具體的改進(jìn)步驟如下:

步驟1.首先建立詞語與詞性的詞典。

現(xiàn)有的詞向量訓(xùn)練方法,無論是神經(jīng)概率語言模型還是word2vec,都沒有考慮詞性,這對訓(xùn)練詞向量來說是一種信息缺失。因此在本發(fā)明中,以cbow模型為例,輸入上下文的詞性向量并且將它們加入到訓(xùn)練的過程中,成為與上下文詞向量共同預(yù)測當(dāng)前詞詞向量的重要信息,所以跟傳統(tǒng)方法不同,一開始要先對語料中所有的詞分別構(gòu)建詞語和詞性一一對應(yīng)的詞典。

另外,如果加入詞性訓(xùn)練僅從改變語料方面考慮而不改模型和源碼,可以直接導(dǎo)入由詞語和詞性先后一一對應(yīng)的混合語料,在訓(xùn)練模型設(shè)置窗口詞時將窗口設(shè)置為原來的2倍,其他訓(xùn)練參數(shù)不變,因為在jieba分詞中每一個詞都附帶而且唯一匹配一個詞性,這種改語料不改模型的方法跟本發(fā)明中通過改模型的方法有所不同。

步驟2.初始化詞向量的同時,通過同樣的方法來初始化詞性向量。

在以往的方法中,用神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到詞向量的第一步便是隨機初始化詞向量,然后投入神經(jīng)網(wǎng)絡(luò)中訓(xùn)練,進(jìn)而不斷調(diào)整各種參數(shù)包括詞向量本身,本發(fā)明以初始化詞向量的方法來隨機初始化詞性向量,目的是讓詞向量和詞性向量保持維度相等

步驟3.模型訓(xùn)練過程加入詞性向量的考慮。

原來的word2vec中用的兩個重要模型——cbow模型(continuousbag-of-wordsmodel)和skip-gram模型(continuousskip-grammodel)。請同時參閱圖2,其為現(xiàn)有技術(shù)的cbow和skip-gram模型示意圖。兩個模型都包含三層:輸入層、投影層和輸出層,cbow模型是在已知當(dāng)前詞wt的上下文wt-2,wt-1,wt+1,wt+2的前提下,預(yù)測當(dāng)前詞wt,而skip-gram模型則相反,是在已知當(dāng)前詞wt的前提下,預(yù)測上下文wt-2,wt-1,wt+1,wt+2。對于這兩個模型,word2vec給出了兩套框架,分別基于層次softmax(hierarchicalsoftmax)和負(fù)采樣(negativesampling)來設(shè)計。

進(jìn)一步再參閱圖3,其為現(xiàn)有技術(shù)的cbow模型的結(jié)構(gòu)圖。

該結(jié)構(gòu)包含三層:輸入層、投影層和輸出層。

1.輸入層:包含context(w)中2n個詞的詞向量v(context(w)1),v(context(w)2),…,v(context(w)2n)。

2.投影層:將輸入層的2n個詞向量做求和累加,即

3.輸出層:輸出層對應(yīng)一棵二叉樹,以語料中出現(xiàn)過的詞為葉子節(jié)點,以各詞在語料中出現(xiàn)的次數(shù)作為權(quán)值構(gòu)造出來的哈夫曼樹,利用哈夫曼樹上每一個分支都當(dāng)做一次二分類,每一次分類就產(chǎn)生一個概率,將這些概率乘起來就是所需的p(w|context(w))。

本發(fā)明針對已有的word2vec方法進(jìn)行改進(jìn),加入對詞性因素的考慮,對于使用cbow模型的word2vec,改進(jìn)后的模型如圖4和圖5所示,其分別為改進(jìn)后的模型示意圖和結(jié)構(gòu)圖。

其中w表示詞word,f表示詞性flag。

假設(shè)context(w)由w前后各n個詞和對應(yīng)的n個詞性共同構(gòu)成,以樣本(context(w),w)為例,對這四個層做簡要說明。

1.輸出層(inputlayer):選擇窗口詞的時候抽出每個窗口詞以及它的詞性所對應(yīng)的向量,包含context(w)中2n個詞語向量v(context(w)1),v(context(w)2),…,v(context(w)2n)以及這些詞對應(yīng)的2n個詞性向量v(context(f)1),v(context(f)2),…,v(context(f)2n)。

2.投影層(projectionlayer):將輸入層的2n個詞向量和對應(yīng)的2n個詞性向量做求和累加,即將詞向量和詞性向量共同構(gòu)成的窗口內(nèi)所有向量求和,為

3.整合層(subtractionlayer):詞語向量和詞性向量求和,求和的結(jié)果除以詞語個數(shù)得到向量均值,引入整合層,用于減去中心詞的詞性向量,向量均值與中心詞的詞性向量取差值得到向量整合結(jié)果nw。

4.輸出層(outputlayer):輸出層對應(yīng)一棵二叉樹,以語料中出現(xiàn)過的詞為葉子節(jié)點,以各詞在語料中出現(xiàn)的次數(shù)當(dāng)權(quán)值構(gòu)造出來的哈夫曼樹,利用哈夫曼樹上每一個分支都當(dāng)做一次二分類,每一次分類就產(chǎn)生一個概率,將這些概率乘起來就是所需的p(w|context(w))。

接著,在對現(xiàn)有的word2vec模型進(jìn)行改進(jìn)后,需要對模型進(jìn)行訓(xùn)練,其中對于cbow模型來說,訓(xùn)練過程的步驟如下:

步驟1.隨機初始化詞向量和詞性向量,使用服從均勻分布的數(shù)據(jù)填充向量的每一維度。

步驟2.將中心詞的上下文窗口內(nèi)的詞語和詞性向量累加求和,因為上下文已經(jīng)考慮了詞性,所以該向量實際上是融合了詞性的向量因素的一個結(jié)果。

步驟3.求和累加之后,除以詞語個數(shù)得到向量均值,向量均值與中心詞的詞性向量取差值得到向量整合結(jié)果。

步驟4.構(gòu)建哈夫曼樹,構(gòu)建哈夫曼樹的葉子節(jié)點是詞向量而不包括詞性向量,原因是哈夫曼樹是以各詞在語料中出現(xiàn)的次數(shù)作為權(quán)值來構(gòu)造,相比單獨的詞語來說,詞性出現(xiàn)的次數(shù)要多得多,因為一個詞性對應(yīng)很多個詞,如果也用詞性構(gòu)造哈夫曼樹,就會出現(xiàn)不合理的情況,平攤誤差的時候只平攤給詞向量,詞性向量不進(jìn)行更新,因為上下文的詞和詞性向量的索引是一一對應(yīng)的,而改進(jìn)方案的目的是對詞向量進(jìn)行更新,詞性向量本身相當(dāng)于“催化劑”的作用,用于影響詞向量的優(yōu)化過程,它本身的參數(shù)不進(jìn)行優(yōu)化。

步驟5.判斷誤差是否達(dá)到閾值,若未達(dá)到閾值,就繼續(xù)訓(xùn)練網(wǎng)絡(luò),若達(dá)到閾值,就停止訓(xùn)練。

步驟6.向量獲取,分別輸出詞語及其詞性向量。

請同時參閱圖6,其為輸出層的原理示意圖,以下具體輸出層概率計算的原理:

層次softmax(hierachicalsoftmax)是一種對輸出層進(jìn)行優(yōu)化的策略,它利用哈夫曼樹來計算概率值,語料的詞以出現(xiàn)的次數(shù)當(dāng)權(quán)值來構(gòu)造哈夫曼樹,葉子節(jié)點為n個,分別對應(yīng)詞典中的詞,相對應(yīng)的非葉子節(jié)點就有n-1個,假設(shè)約定將權(quán)值較大的子節(jié)點放在左邊并且編碼為1,將權(quán)值較小的子節(jié)點放在右邊并且編碼為0,將一個節(jié)點分類時,分到左邊為負(fù)類,分到右邊為正類,那么邏輯回歸得到一個節(jié)點被分為正類的概率為:

被分為負(fù)類的概率為:對于每一個葉子節(jié)點都有一條從根節(jié)點到它的路徑,這個路徑要經(jīng)過若干個中間節(jié)點,每個中間節(jié)點都當(dāng)做一次二分類,每一次分類就產(chǎn)生一個概率,將這些概率乘起來就是所需的p(w|context(w))。例如對于出現(xiàn)次數(shù)為3的這個葉子節(jié)點,從根節(jié)點到這個節(jié)點中間共經(jīng)歷了4次分支(在這里用有向邊來表示),將每次分類結(jié)果的概率寫出來就是:

1.第一次:

2.第二次:

3.第三次:

4.第四次:

哈夫曼樹中必有一條從根節(jié)點到詞w的唯一路徑,計算葉節(jié)點的概率就是將路徑上每個分類器的概率相乘,對于詞典的每個詞w,假設(shè)pw表示從根節(jié)點到w對應(yīng)節(jié)點路徑,lw表示pw中包含節(jié)點的個數(shù),表示詞w的哈夫曼編碼,表示路徑中非葉子節(jié)點對應(yīng)的向量,故:

其中

經(jīng)過推導(dǎo)得到對數(shù)似然函數(shù)之后,求最大概率,而關(guān)于該輸出層的概率計算,在改進(jìn)后的模型中,也采用相同的原理。

以下結(jié)合具體例子,針對改進(jìn)后的word2vec模型的應(yīng)用和效果進(jìn)行說明:

本發(fā)明改進(jìn)的word2vec方法,利用詞性向量提供更加豐富的信息,在訓(xùn)練詞向量的過程中加入詞性的考慮。

例如對于句子,“我很喜歡做數(shù)學(xué)題”,如果按照經(jīng)典word2vec的cbow模型方法,就是用前面3個詞“我很喜歡做”去預(yù)測下一個詞也就是第4個詞“數(shù)學(xué)題”,現(xiàn)在加入詞性的信息變成“我pron(指示代詞)很喜歡adv(副詞)做v(動詞)數(shù)學(xué)題n(名詞)”,原來是4個詞,現(xiàn)在加上詞對應(yīng)的詞性提供的向量信息,共同來預(yù)測第4個詞。特別地,詞性是事先隨機初始化之后的,在調(diào)整優(yōu)化的時候沒有優(yōu)化這些向量。

改進(jìn)詞向量模型之后,本發(fā)明從模型的效果上證明本方法拓展了word2vec在語義計算上的功能。

另外,本發(fā)明用多種方法來檢驗詞向量化的效果,同時將改進(jìn)后的模型做了創(chuàng)新的應(yīng)用,包括詞語和詞性的語義計算、詞語語義范圍的語義計算,跟改進(jìn)前的word2vec方法結(jié)果做對比證明,本裝置拓展了word2vec在語義計算上的功能,豐富了詞向量的語義信息。本發(fā)明的詞向量方法,效果優(yōu)于改進(jìn)前word2vec的詞向量化方法,檢驗方法如下:

1.詞語向量余弦相似度的語義計算,輸出常用詞的前n個相似詞,輸出相似度進(jìn)行對比。

2.詞語和詞性的語義計算,輸出常用詞對應(yīng)的向量和詞性向量的和的相似詞,觀察是否有語義的規(guī)律。

例如:

打?qū)?yīng)向量[2.1,-1.2,0.3]

v(動詞)對應(yīng)向量[0.2,-3.0,-2.0]

打+v(動詞)求和之后[2.3,-4.2,-1.7]

假如“打”輸出一個向量,“v(動詞)”也輸出一個向量那么“打”(向量)+“v”(向量)的結(jié)果去找前n個相似詞,輸出的是球(打球)、架(打架)等名詞,而避免出現(xiàn)其他詞性或者像“打太陽”這種不符合語義的名詞“太陽”這類情況。

3.測試模型得到少量常用詞的前n個相似詞及相似度,以相似度的平均值降序排序,觀察語義的相似度是否與向量的相似度正相關(guān)。

例如:

通過降序排序后:

4.詞語語義范圍的語義計算,選取若干個情感類型的情感詞,遞歸找出各個情感詞相關(guān)的盡可能多且質(zhì)量高的詞語,并繪制關(guān)系圖,如圖7所示。

這個是通過多層嵌套的方法去尋找某領(lǐng)域相似詞的關(guān)系,從而來拓展情感詞典,比如說原來的情感詞典沒辦法找到“藍(lán)瘦”、“香菇”這種情感新詞,通過這種方法,能夠較好地擴充情感詞典。

加入詞性的詞向量改進(jìn)模型,拓展了word2vec在語義計算上的功能,豐富了詞向量的語義信息,可以結(jié)合詞向量和詞性向量進(jìn)行語義計算。

另外,請同時參閱圖8,其為本發(fā)明的語義計算系統(tǒng)的框圖。本發(fā)明還提供了一種詞向量的語義計算系統(tǒng),其包括:語料預(yù)處理模塊1,詞性標(biāo)注模塊2,向量初始化模塊3,上下文向量整合模塊4,中心詞向量調(diào)整模塊5,向量獲取模塊6,向量應(yīng)用模塊7。

所述語料預(yù)處理模塊1,用于進(jìn)行語料預(yù)處理。

所述詞性標(biāo)注模塊2,用于對每個詞的詞性進(jìn)行標(biāo)注。具體的,所述詞性標(biāo)注模塊采用jieba分詞詞典進(jìn)行詞性標(biāo)注。

所述向量初始化模塊3,用于對詞語向量和詞性向量進(jìn)行隨機向量化。具體的,所述向量初始化模塊通過設(shè)定向量的維度,然后使用服從均勻分布的數(shù)據(jù)填充向量的每一維度。

所述上下文向量整合模塊4,用于將詞語向量和詞性向量求和,求和的結(jié)果除以詞語個數(shù)得到向量均值,向量均值與中心詞的詞性向量取差值得到向量整合結(jié)果。

所述中心詞向量調(diào)整模塊5,用于構(gòu)建哈夫曼樹并訓(xùn)練網(wǎng)絡(luò),優(yōu)化目標(biāo)函數(shù)并判斷誤差是否達(dá)到閾值。

所述向量獲取模塊6,用于獲取詞語向量和詞性向量。

所述向量應(yīng)用模塊7,用于對詞語向量和詞性向量進(jìn)行應(yīng)用。

進(jìn)一步,所述語料預(yù)處理模塊1包括:無關(guān)字符去除子模塊11、表達(dá)規(guī)范子模塊12和分詞子模塊13。

所述無關(guān)字符去除子模塊11,用于去除無關(guān)字符,包括去除標(biāo)點符號和亂碼。

所述表達(dá)規(guī)范子模塊12,用于統(tǒng)一表達(dá)規(guī)范,將中文語料都轉(zhuǎn)為中文簡體、英文語料統(tǒng)一為英文小寫。

所述分詞子模塊13,用于使用jieba分詞中的搜索引擎分詞模式進(jìn)行分詞。

進(jìn)一步,所述中心詞向量調(diào)整模塊5包括:構(gòu)建子模塊51和誤差判斷子模塊52。

所述構(gòu)建子模塊51,用于構(gòu)建哈夫曼樹,該哈夫曼樹的葉子節(jié)點為詞向量。

所述誤差判斷子模塊52,用于判斷誤差是否達(dá)到閾值,若未達(dá)到閾值,就繼續(xù)訓(xùn)練網(wǎng)絡(luò);若達(dá)到閾值,就停止訓(xùn)練。

進(jìn)一步,所述向量應(yīng)用模塊7包括:詞語向量余弦相似度的語義計算子模塊71、詞語和詞性的語義計算子模塊72和詞語語義范圍的語義計算子模塊73。

所述詞語向量余弦相似度的語義計算子模塊71,用于輸出常用詞的前n個相似詞,所述前n為正整數(shù)。

所述詞語和詞性的語義計算子模塊72,用于輸出常用詞對應(yīng)的向量和詞性向量的和的相似詞。

所述詞語語義范圍的語義計算子模塊73,用于選取若干個情感類型的情感詞,遞歸找出各個情感詞相關(guān)的詞語,并繪制關(guān)系圖。

本發(fā)明中的詞向量的語義計算系統(tǒng)與上述的哈弗曼樹改進(jìn)詞向量模型的語義計算方法的原理相同,故這里就不贅述。

相比于現(xiàn)有技術(shù),本發(fā)明加入了詞性向量因素的考慮,并根據(jù)現(xiàn)有的word2vec模型進(jìn)行改進(jìn)。同時,根據(jù)該改進(jìn)后的模型進(jìn)行了創(chuàng)新的應(yīng)用,拓展了word2vec進(jìn)行語義計算的功能。

上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1