一種自然語言文本關鍵詞關聯(lián)網絡構建方法
【專利摘要】本發(fā)明提供一種自然語言文本關鍵詞關聯(lián)網絡構建方法,包括步驟:構建關鍵詞的詞典,根據(jù)所述詞典對目標語料庫進行分詞操作,得到多個詞;對得到的多個詞基于N元統(tǒng)計語言模型統(tǒng)計前后詞關聯(lián)出現(xiàn)的頻度;以統(tǒng)計出的頻度為訓練條件,采用神經網絡訓練語言模型,并獲得詞向量;計算兩個詞的詞向量的相似度,作為兩個詞語義相關性的度量,生成兩個詞之間語義關聯(lián)度;根據(jù)所述語義關聯(lián)度,按照兩個詞之間的所述語義關聯(lián)度的高低,生成文本關鍵詞關聯(lián)網絡。該方法,能夠有效地提高有關項目中文本關聯(lián)網絡的精確度。
【專利說明】一種自然語言文本關鍵詞關聯(lián)網絡構建方法
【技術領域】
[0001] 本發(fā)明屬于自然語言處理【技術領域】,更具體地說,特別涉及一種自然語言文本關 鍵詞關聯(lián)網絡構建方法。
【背景技術】
[0002] -般情況下,對海量科技項目數(shù)據(jù)處理或者專家信息數(shù)據(jù)總結評價,借助計算機 處理顯得尤為必要,在自然語言處理技術中,由于中文自身的語言特點,中文處理比以拉丁 語系為主的西文處理要復雜得多。而使得計算機能夠處理自然語言的一個前提是文本量 化。文本量化的一個處理手段是提取文本內容中的特征詞,即從各類科技文獻、科技項目立 項和評審等文本材料中抽取出行業(yè)或領域關鍵詞,再通過關鍵詞匹配等構建文本之間的關 聯(lián)網絡。
[0003] 對于中文處理來說,關鍵詞提取的一個前提是對文本進行分詞,在進行分詞操作 得到詞表后,當前最常用的詞表示方法是把每個詞表示為一個很長的向量,向量的維度是 詞表大小,其中絕大多數(shù)元素為0,只有一個維度的值為1,這個維度就代表了當前的詞,即 對文本中的每個詞賦予了一個數(shù)字編碼。該方法為稀疏方式存儲,非常簡潔實用。但是,任 意兩個詞之間都是孤立的,向量無法表示詞之間的關系。因此,不同字組成的同義詞,例如 "話筒"和"麥克風",通過這種表示方法無法體現(xiàn)其相同的意義。這就導致了有時關聯(lián)度很 1?的關鍵詞不會被識別,使得構建的關聯(lián)網絡精度不1?。
【發(fā)明內容】
[0004] 本發(fā)明要解決的技術問題是提供一種自然語言文本關鍵詞關聯(lián)網絡構建方法,用 以解決上述技術問題。
[0005] 為此,本發(fā)明提供了一種自然語言文本關鍵詞關聯(lián)網絡構建方法,包括步驟:
[0006] 步驟A,構建關鍵詞的詞典,根據(jù)所述詞典對目標語料庫進行分詞操作,得到多個 詞;
[0007] 步驟B,對得到的多個詞基于N元統(tǒng)計語言模型統(tǒng)計前后詞關聯(lián)出現(xiàn)的頻度;
[0008] 步驟C,以統(tǒng)計出的頻度為訓練條件,采用神經網絡訓練語言模型,并獲得詞向 量;
[0009] 步驟D,計算兩個詞的詞向量的相似度,作為兩個詞語義相關性的度量,生成兩個 詞之間語義關聯(lián)度;
[0010] 步驟E,根據(jù)所述語義關聯(lián)度,按照兩個詞之間的所述語義關聯(lián)度的高低,生成文 本關鍵詞關聯(lián)網絡。
[0011] 其中,所述步驟A中構建關鍵詞的詞典包括步驟:
[0012] 通過爬蟲技術爬取目標語料庫中的關鍵詞信息,將得到的多個關鍵詞匯總為詞 典。
[0013] 其中,所述步驟A中根據(jù)所述詞典對目標語料庫進行分詞操作包括:
[0014] 基于字符串匹配進行分詞,以及基于語義理解進行分詞和/或基于字相鄰共現(xiàn)頻 度統(tǒng)計進行分詞。
[0015] 其中,所述步驟C中獲得詞向量包括獲得維度小于等于100的低維實數(shù)向量。
[0016] 其中,所述步驟B中對得到的多個詞基于N元統(tǒng)計語言模型統(tǒng)計前后詞關聯(lián)出現(xiàn) 的頻度包括步驟:
[0017] 對切分后的多個詞,按照相鄰出現(xiàn)的1、2 --? N個詞為一個元組,進行元組劃分, 統(tǒng)計每個詞在前N-I個詞出現(xiàn)的條件下出現(xiàn)的概率。
[0018] 其中,所述步驟C中采用神經網絡訓練語言模型包括:
[0019] 采用三層的神經網絡訓練語言模型,將前N-I個向量首尾相接拼起來,形成一個 (N-l)m維的向量,作為所述神經網絡的第一層,m為所述詞向量的維度;
[0020] 使用d+Hx計算得到第二層,并使用tanh作為激活函數(shù),d是一個偏置項;
[0021] 第三層輸出V個節(jié)點yi,后使用SOftmax激活函數(shù)將輸出值y歸一化成概率,yi 表示下一個詞為i的未歸一化log概率,y的計算公式為:
[0022] y = b+ffx+Utanh (d+Hx)
[0023] 其中U是第二層到第三層的參數(shù),b也為一個偏置項;
[0024] 用隨機梯度下降法把所述語言模型優(yōu)化出來。
[0025] 其中,所述步驟D中計算兩個詞的詞向量的相似度包括計算兩個詞的詞向量的余 弦距離。
[0026] 本發(fā)明提供了一種自然語言文本關鍵詞關聯(lián)網絡構建方法,對中文自然語言文本 進行分詞后,基于N元統(tǒng)計語言模型統(tǒng)計前后詞關聯(lián)出現(xiàn)的頻度,以統(tǒng)計出的頻度為訓練 條件,采用神經網絡訓練語言模型,并獲得詞向量,以兩個詞向量的相似度,度量兩個詞之 間語義關聯(lián)度,進而構建關聯(lián)網絡,即將中文的語義信息通過概率統(tǒng)計的方式,結合神經網 絡進行語言模型的訓練,量化為詞向量信息,這樣構建的關聯(lián)網絡,結合了語義信息,相比 單純的對不同字詞進行編碼不考慮語義的關聯(lián)方式,顯然本發(fā)明提供的關聯(lián)網絡的精度更 商。
【專利附圖】
【附圖說明】
[0027] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0028] 圖1為本發(fā)明實施例提供的一種自然語言文本關鍵詞關聯(lián)網絡構建方法流程圖。
【具體實施方式】
[0029] 為了使本【技術領域】的人員更好地理解本發(fā)明,下面結合附圖和【具體實施方式】對本 發(fā)明作進一步的詳細說明。
[0030] 本發(fā)明實施例提供了一種自然語言文本關鍵詞關聯(lián)網絡構建方法。
[0031] 參見圖1所示,該方法包括步驟:
[0032] 步驟S110,構建關鍵詞的詞典,根據(jù)所述詞典對目標語料庫進行分詞操作,得到多 個詞。
[0033] 通過爬蟲技術爬取目標語料庫中的關鍵詞信息,將得到的多個關鍵詞匯總為詞 典,并依據(jù)詞典對語料庫進行分詞操作。
[0034] 分詞操作包括基于字符串匹配進行分詞,優(yōu)選地,還應結合基于語義理解進行分 詞方法和/或基于字相鄰共現(xiàn)頻度統(tǒng)計進行分詞方法,綜合進行分詞,得到詞表。采用單一 的分詞方式,可能準確度不高,因此,將基于字符串匹配和基于理解以及基于統(tǒng)計這三種方 式進行合理搭配和結合運用,可提高分詞的準確度。
[0035] 優(yōu)選地,可利用n階馬爾科夫模型n-gram模型,將待分詞文本進行分詞,得到第一 文本,n-gram模型用于消除分詞歧義,第一文本包括以空格為間隔的詞串;當?shù)谝晃谋局?包括目標詞串時,將目標詞串添加至詞典,得到更新后的詞典,目標詞串為未存儲在所述詞 典中的詞串。根據(jù)所述更新后的詞典,利用前向最大匹配分詞方法以及后向最大匹配分詞 方法對所述第一文本進行分詞,分別得到第二文本和第三文本。從第二本文以及第三文本 中選取詞長期望和詞長方差符合要求的文本作為分詞結果。
[0036] 更優(yōu)地,對已分詞的語料進行訓練得到CRF模型;采用所述CRF模型對未分詞的語 料進行分詞;判斷分詞成功的語料是否滿足設置的條件,如果是,則加入到所述已分詞的語 料中;循環(huán)執(zhí)行上述步驟,直至所述已分詞的語料的規(guī)模不再擴大,得到最終的CRF模型。
[0037] 步驟S111,對得到的多個詞基于N元統(tǒng)計語言模型統(tǒng)計前后詞關聯(lián)出現(xiàn)的頻度。
[0038] 統(tǒng)計需要對切分后的詞串進行元組劃分,統(tǒng)計每個詞在前N-I個詞出現(xiàn)的條件下 出現(xiàn)的概率。對切分后的多個詞,按照相鄰出現(xiàn)的1、2* ? *N個詞為一元組,進行元組劃 分,統(tǒng)計每個詞在前N-I個詞出現(xiàn)的條件下出現(xiàn)的概率。
[0039] 其中N為自然數(shù),即不為0的實數(shù)整數(shù)。
[0040] N元統(tǒng)計語言模型的形式化描述:給定一個詞串,其為自然語言的概率 P(wl,w2, "^wt),wl到wt依次表示文本中的各個詞,貝U有如下推論:
[0041] P (wl,w2,…,wt) = P (wl) X P (w2 I wl) X P (w3 I wl,w2) X …X P (wt I wl,w2,... ,wt-1)
[0042] 其中P(wl)表示第一個詞wl出現(xiàn)的概率,P(w2|wl)是在已知第一個詞的前提下, 第二個詞出現(xiàn)的概率,以次類推。可以看出,詞w的出現(xiàn)概率取決于它前面所有詞,因常用 的自然語言中的詞語量都非常大,導致計算P (Wl,《2,…,wt)非常復雜,因此當前的自然語 言處理領域都考慮使用N元語言模型,N元模型假定每個詞出現(xiàn)的概率只與前面出現(xiàn)的N-I 個詞有關系,因此用P(wt|wt-n+l,…,wt-1)近似求解P(wt|wl, w2,…,wt-1)。
[0043] 例如,以3元語言模型為例,假定整個語料庫已經被切分成詞串wl,w2,…,wn,則 可以得到所有連續(xù)的1元組(〈wl>, <w2>, <w3>,…,<wn>)、2元組(〈wl, w2>, <w2, w3>,… ,〈wn_l, wn>)和 3 元組(〈wl, w2, w3>, <w2, w3, w4>,…,〈wn_2, wn_l, wn>),進而統(tǒng)計出每個詞 wt在前2個詞wt-1, wt-2出現(xiàn)的條件下出現(xiàn)的概率。
[0044] 步驟Sl 12,以統(tǒng)計出的頻度為訓練條件,采用神經網絡訓練語言模型,并獲得詞向 量。
[0045] 本發(fā)明實施例中所使用的詞向量是一種形如[0? 792, -0? 177, -0? 107, 0? 109, -0? 5 42,...]的低維實數(shù)向量,維度一般不超過100,可以為50或者100這樣的整數(shù)。這種詞向 量可通過衡量彼此之間的距離得到語義相似度,同時高維詞表的表示復雜度極大的降低。
[0046] 本發(fā)明中的詞向量通過利用前饋或遞歸神經網絡訓練語言模型得到,以C(W)表 示詞w所對應的詞向量,神經網絡的輸入是前N-I個詞wt-n+1,…,wt-1個詞對應的詞向 量,輸出是一個向量,向量中的第i個元素表示下一個詞是wi的概率,進而利用語料庫獲得 的N元組計算出的統(tǒng)計概率作為訓練條件,進而不斷調整神經網絡各層權重,優(yōu)化結束后 獲得了語言模型和詞向量。
[0047] 作為一種可實施方式,本發(fā)明實施例使用一個三層的神經網絡來構建語言模型。
[0048] wt-n+1,…,wt-1是前N-I個詞,需要根據(jù)這已知的N-I個詞預測下一個詞wt。 C(W)表示詞w所對應的詞向量,整個模型中使用的是一套唯一的詞向量,存在矩陣C (一個 V| Xm的矩陣)中。其中I V|表示詞表的大?。ㄕZ料中的總詞數(shù)),m表示詞向量的維度。 C到C(W)的轉化就是從矩陣中取出一行。
[0049] 網絡的第一層(輸入層)是將C(wt_n+1),…,C(wt-2),C(wt_l)這N-I個向量首 尾相接拼起來,形成一個(N-l)m維的向量。
[0050] 網絡的第二層(隱藏層)如同普通的神經網絡,直接使用d+Hx計算得到。d是一 個偏置項。在此之后,使用tanh作為激活函數(shù)。
[0051] 網絡的第三層(輸出層)一共有|V|個節(jié)點,每個節(jié)點yi表示下一個詞為i的未 歸一化log概率。最后使用SOftmax激活函數(shù)將輸出值y歸一化成概率。最終,y的計算 公式為:
[0052] y = b+ffx+Utanh (d+Hx)
[0053] 式子中的U(-個|V| Xh的矩陣)是隱藏層到輸出層的參數(shù),整個模型的多數(shù)計 算集中在U和隱藏層的矩陣乘法中。最后用隨機梯度下降法把這個模型優(yōu)化出來。一般神 經網絡的輸入層只是一個輸入值,而本模型的輸入層也是參數(shù)(存在C中),也需要優(yōu)化的。 優(yōu)化結束后同時產生了詞向量和語言模型。
[0054] 更優(yōu)地,采用如下神經網絡算法表示語言模型:
【權利要求】
1. 一種自然語言文本關鍵詞關聯(lián)網絡構建方法,其特征在于,包括步驟: 步驟A,構建關鍵詞的詞典,根據(jù)所述詞典對目標語料庫進行分詞操作,得到多個詞; 步驟B,對得到的多個詞基于N元統(tǒng)計語言模型統(tǒng)計前后詞關聯(lián)出現(xiàn)的頻度; 步驟C,以統(tǒng)計出的頻度為訓練條件,采用神經網絡訓練語言模型,并獲得詞向量; 步驟D,計算兩個詞的詞向量的相似度,作為兩個詞語義相關性的度量,生成兩個詞之 間語義關聯(lián)度; 步驟E,根據(jù)所述語義關聯(lián)度,按照兩個詞之間的所述語義關聯(lián)度的高低,生成文本關 鍵詞關聯(lián)網絡。
2. 根據(jù)權利要求1所述的自然語言文本關鍵詞關聯(lián)網絡構建方法,其特征在于,所述 步驟A中構建關鍵詞的詞典包括步驟: 通過爬蟲技術爬取目標語料庫中的關鍵詞信息,將得到的多個關鍵詞匯總為詞典。
3. 根據(jù)權利要求2所述的自然語言文本關鍵詞關聯(lián)網絡構建方法,其特征在于,所述 步驟A中根據(jù)所述詞典對目標語料庫進行分詞操作包括: 基于字符串匹配進行分詞,以及基于語義理解進行分詞和/或基于字相鄰共現(xiàn)頻度統(tǒng) 計進行分詞。
4. 根據(jù)權利要求1所述的自然語言文本關鍵詞關聯(lián)網絡構建方法,其特征在于,所述 步驟C中獲得詞向量包括獲得維度小于等于100的低維實數(shù)向量。
5. 根據(jù)權利要求1所述的自然語言文本關鍵詞關聯(lián)網絡構建方法,其特征在于,所述 步驟B中對得到的多個詞基于N元統(tǒng)計語言模型統(tǒng)計前后詞關聯(lián)出現(xiàn)的頻度包括步驟: 對切分后的多個詞,按照相鄰出現(xiàn)的1、2* ? *N個詞為一個元組,進行元組劃分,統(tǒng)計 每個詞在前N-1個詞出現(xiàn)的條件下出現(xiàn)的概率。
6. 根據(jù)權利要求1所述的自然語言文本關鍵詞關聯(lián)網絡構建方法,其特征在于,所述 步驟C中采用神經網絡訓練語言模型包括: 采用三層的神經網絡訓練語言模型,將前N-1個向量首尾相接拼起來,形成一個(N-1) m維的向量,作為所述神經網絡的第一層,m為所述詞向量的維度; 使用d+Hx計算得到第二層,并使用tanh作為激活函數(shù),d是一個偏置項; 第三層輸出V個節(jié)點后使用softmax激活函數(shù)將輸出值y歸一化成概率,yi表示下 一個詞為i的未歸一化log概率,y的計算公式為: y = b+ffx+Utanh (d+Hx) 其中U是第二層到第三層的參數(shù),b也為一個偏置項; 用隨機梯度下降法把所述語言模型優(yōu)化出來。
7. 根據(jù)權利要求1所述的自然語言文本關鍵詞關聯(lián)網絡構建方法,其特征在于,所述 步驟D中計算兩個詞的詞向量的相似度包括計算兩個詞的詞向量的余弦距離。
【文檔編號】G06F17/30GK104391963SQ201410719639
【公開日】2015年3月4日 申請日期:2014年12月1日 優(yōu)先權日:2014年12月1日
【發(fā)明者】郭光
申請人:北京中科創(chuàng)益科技有限公司