本發(fā)明涉及跨語言話題檢測技術(shù)領(lǐng)域,尤其涉及一種基于可比語料庫的跨語言話題檢測方法和系統(tǒng)。
背景技術(shù):
跨語言話題檢測的研究有助于不同國家和民族的人們能夠?qū)嵭兄R共享,增強各個國家和民族地區(qū)網(wǎng)絡(luò)信息安全,推進我國民族地區(qū)經(jīng)濟文化發(fā)展,促進民族團結(jié),為構(gòu)建“和諧社會”和“科學(xué)發(fā)展”的社會環(huán)境提供重要的條件支撐。
目前,跨語言話題檢測主要有基于機器翻譯、雙語詞典、雙語平行語料庫三種方法。對于基于機器翻譯和詞典的跨語言檢測方法,由于每種語言都有自身的特征,在從源語言到目標語言翻譯的過程中,會出現(xiàn)語義上的偏差,并產(chǎn)生噪聲,從而改變源語言新聞報道所表達的意思,影響文本和話題相似度計算的準確度。因此翻譯策略并不能在根本上提升跨語言話題檢測的性能?;谄叫姓Z料庫的跨語言話題檢測方法主要面臨的困難是平行語料難以獲取且資源匱乏。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于,解決現(xiàn)有的跨語言話題檢測技術(shù)存在的上述問題,提供了一種跨語言的話題檢測方法及系統(tǒng),通過詞向量擴充語言的關(guān)鍵詞來提高跨語言文檔相似度計算的準確率,通過基于LDA的話題模型構(gòu)建,利用跨語言話題對齊實現(xiàn)了跨語言話題檢測。
為了實現(xiàn)上述目的,一方面,本發(fā)明提供了一種跨語言話題檢測方法,該方法包括以下步驟:
通過計算第一語言和第二語言的相似度來構(gòu)建第一語言和第二語言的可比語料庫;基于第一語言和第二語言的可比語料庫分別構(gòu)建第一語言話題模型和第二語言話題模型;在第一語言話題模型和第二語言話題模型生成的文檔-話題概率分布的基礎(chǔ)上通過相似度判定,以確定第一語言話題和第二語言話題的對齊,從而實現(xiàn)跨語言話題檢測。
另一方面,本發(fā)明提供一種跨語言話題檢測系統(tǒng),具體包括:
第一生成模塊,用于構(gòu)建第一語言和第二語言的可比語料庫;
第二生成模塊,基于第一語言和第二語言的可比語料庫分別構(gòu)建第一語言話題模型和第二語言話題模型;
檢測模塊,用于在第一語言話題模型和第二語言話題模型生成的文檔-話題概率分布的基礎(chǔ)上通過相似度判定,以確定第一語言話題和第二語言話題的對齊,從而實現(xiàn)跨語言話題檢測。
本發(fā)明提供的一種跨語言話題檢測方法及系統(tǒng),提高了跨語言文檔相似度計算的準確率,通過基于LDA的話題模型構(gòu)建,利用跨語言話題對齊實現(xiàn)了跨語言話題檢測。
附圖說明
圖1為本發(fā)明實施例提供的一種跨語言話題檢測方法流程示意圖;
圖2為本發(fā)明實施例提供的一種跨語言話題檢測系統(tǒng)結(jié)構(gòu)示意圖;
圖3為圖1所示跨語言話題檢測方法流程中涉及藏語和漢語的網(wǎng)絡(luò)頁面;
圖4為圖1所示跨語言話題檢測方法流程中構(gòu)建藏語LDA話題模型和漢語LDA話題模型的示意圖,其中LDA(Latent Dirichlet Allocation)是一種文檔主題生成模型,也稱為一個三層貝葉斯概率模型,包含詞、主題和文檔三層結(jié)構(gòu),本實施例中的話題即為LDA中的主題;
圖5為圖1所示跨語言話題檢測方法流程中通過吉布斯抽樣法對LDA話題模型進行參數(shù)估計的示意圖;
圖6為圖1所示跨語言話題檢測方法流程中藏語話題和漢語話題的對齊過程示意圖;
圖7為本發(fā)明實施例提供的跨語言話題檢測系統(tǒng)結(jié)構(gòu)示意圖。
具體實施方式
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案作進一步的詳細描述。
本發(fā)明實施例提供了一種跨語言話題檢測方法及系統(tǒng),以提高跨語言文檔相似度計算的準確率,通過基于LDA的話題模型構(gòu)建,利用跨語言話題對齊實現(xiàn)了跨語言話題檢測。
以下結(jié)合圖1和圖7對本發(fā)明實施例提供的跨語言話題檢測方法進行詳細闡述:
如圖1所示,該方法包括步驟101-103:
步驟101,構(gòu)建第一語言和第二語言的可比語料庫,本實施例中,第一語言以藏語為例,第二語言以漢語為例。
(1)藏漢詞典構(gòu)建
如圖3所示,利用網(wǎng)絡(luò)爬蟲,從維基百科中包含漢語鏈接的藏語網(wǎng)頁中獲取藏語和漢語對應(yīng)的實體對;
從網(wǎng)絡(luò)上下載藏漢詞典,通過分割、替換獲取實體對,并與利用網(wǎng)絡(luò)爬蟲從維基百科中獲取的實體對一起構(gòu)成新的藏漢詞典。
(2)新聞?wù)Z料獲取
利用網(wǎng)絡(luò)爬蟲從新聞網(wǎng)站抓取藏語和漢語的新聞文檔,包括新聞標題、時間、內(nèi)容三部分。過濾掉內(nèi)容較少的文檔,從而獲得初始的雙語語料。
對初始的雙語語料進行數(shù)據(jù)預(yù)處理,具體包括步驟:
分詞:藏語分詞使用國家語言資源監(jiān)測與研究中心少數(shù)民族語言分中心開發(fā)的分詞工具,漢語分詞使用中科院計算所的自動分詞軟件ICTCLAS;
去除無意義的詞:按照藏語和漢語停用詞表中的詞語分別將藏語、漢語新聞?wù)Z料中無意義的詞、符號、標點及亂碼等去掉。
詞性選擇:選擇長度至少為兩個字的名詞、動詞;
漢語文檔還需要進行繁體轉(zhuǎn)簡體、數(shù)字和字母等全角轉(zhuǎn)半角。
(3)藏漢文本相似度計算
①特征項的選擇
選擇藏語和漢語文檔的特征項并構(gòu)建詞向量,以計算藏語和漢語文檔的相似度,具體包括步驟:
設(shè)D為語料中的文檔總數(shù),Di為包含詞語i的文檔數(shù)。按照公式(1)計算得到預(yù)處理后的雙語語料的中每一個詞的權(quán)重值IDF。
將一篇新聞文本中的詞語按照出現(xiàn)的位置分為三類:在標題和正文中都存在的詞、只存在于標題中的詞和只存在于正文中的詞。對網(wǎng)絡(luò)新聞來說,標題具有舉足輕重的作用,因此標題中的詞應(yīng)有較高的權(quán)重,將這三類詞的權(quán)重依次設(shè)置為2、1.5和1。根據(jù)公式(2)中詞的位置不同賦予不同的重要性,得到新的權(quán)重IDF′。
設(shè)TF為某一詞語在一篇文本里出現(xiàn)的次數(shù),按公式(3)計算出詞i的最終權(quán)重Wi。
Wi=TF*IDF′ (3)
對一篇預(yù)處理后的文檔中的詞的權(quán)重進行排序,選擇權(quán)重較高的詞作為關(guān)鍵詞,關(guān)鍵詞為藏語和漢語文檔的第一特征項。
對關(guān)鍵詞進行詞向量的語義距離計算,能夠獲得與此關(guān)鍵詞距離的最近的幾個詞,作為對關(guān)鍵詞的語義擴展,從而作為文本相似度計算的第二特征項。
選取藏語和漢語新聞文檔的第三特征項,具體包括步驟:
將藏語和漢語新聞文檔中涉及時間、數(shù)字或其他字符串作為輔助特征,加入到文檔的特征項中,可以增加跨語言相似文本的匹配度。由于藏語分詞時直接將阿拉伯數(shù)字分成獨立的詞,而漢語分詞時表示時間的阿拉伯數(shù)字后通常帶有年、月、日等單位,表示數(shù)量的阿拉伯數(shù)字后通常帶有億、萬、千等單位。為了減少由于分詞粒度帶來的偏差,將有這樣特征的漢語詞中的阿拉伯數(shù)字和其后的單位分割開,只留下阿拉伯數(shù)字。
②詞向量的獲取
詞向量的獲取過程如下:
從預(yù)處理后的初始雙語語料中讀入詞匯;
統(tǒng)計詞頻,初始化詞向量,放入哈希表中;
構(gòu)建哈夫曼樹,得到每個詞匯的哈夫曼樹中的路徑;
從初始的雙語語料中讀入一行語句,去除停用詞,獲得該行語句中每一個中心詞的上下文,詞向量求和Xw。獲得中心詞的路徑,使用路徑上所有節(jié)點的目標函數(shù)對Xw的偏導(dǎo)數(shù)的和優(yōu)化中心詞詞向量,優(yōu)化中心向量的具體步驟如下:
優(yōu)化詞向量公式要計算δ(Xwθ),為了簡便運算,本實施例采用一種近似計算的方法。激勵函數(shù)sigmoid函數(shù)δ(x)在x=0處變化劇烈,向兩邊趨于平緩,當x>6和x<-6時函數(shù)就基本不變。
將值域區(qū)間[-6,6]均等分為1000等份,剖分節(jié)點分別記為x0,x1,x2,…,xk,…,x1000,分別計算sigmoid函數(shù)在每個xk處的值,并存儲在表格中,當獲得一個詞的上下文詞向量之和x時:
當x<=-6時,δ(x)=0
當x>=6時,δ(x)=1
當-6<x<6時,δ(x)≈δ(xk),xk為距離x最近的等份點,直接查表就可獲得δ(xk);
統(tǒng)計已訓(xùn)練詞匯數(shù)目,大于10000時更新學(xué)習(xí)率,具體包括:
在神經(jīng)網(wǎng)絡(luò)中,較小的學(xué)習(xí)率可以保證收斂性,但會導(dǎo)致收斂的速度太慢;較大的學(xué)習(xí)率雖然可以使學(xué)習(xí)速度變快,但可能導(dǎo)致振蕩或發(fā)散,所以在訓(xùn)練過程中要“動態(tài)優(yōu)化”學(xué)習(xí)率。學(xué)習(xí)率初始值設(shè)為0.025,每當訓(xùn)練完10000個詞對學(xué)習(xí)率進行一次調(diào)整,調(diào)整的公式為:
wordCountActual為已經(jīng)處理過的詞數(shù)量,trainWordsCount為詞典中總的詞數(shù)量;
最后,保存詞向量。
③詞語語義距離計算
獲取詞向量后,對關(guān)鍵詞進行詞向量的語義距離計算,具體包括步驟:
首先加載存儲詞向量的二進制文件。將文件中詞向量讀入到哈希表中。在加載過程中,為了后續(xù)詞義距離計算的方便,對詞語的每個向量做了除以它向量長度的計算,計算公式如下:
采用余弦值法計算詞語與詞語之間的語義距離,即:
假設(shè)詞語A的向量表示為(Va1,Va2,…,Van),詞語B的向量表示為(Vb1,Vb2,…,Vbn),則詞語A和詞語B的語義計算公式為:
在模型加載過程中,程序處理已經(jīng)完成了對向量距離的除運算,所以上述公式的計算轉(zhuǎn)化為:
根據(jù)計算結(jié)果選取與關(guān)鍵詞距離最近的幾個詞。
④候選匹配文本的選擇
對于一篇藏語新聞文本,需要選定與其進行相似度計算的漢語新聞文本。由于一件新聞報道的藏語和漢語版本發(fā)布的時間不是完全一一對應(yīng)的,通常漢語的報道要早于藏語的報道,通過比較新聞文本的時間,將時間差限定在一個范圍內(nèi),以此來選定藏語新聞文本的候選匹配漢語文本,避免進行大量沒必要的計算。
⑤構(gòu)建藏漢可比新聞文檔
利用已選取的第一特征項、第二特征項和第三特征項,將每一篇藏語和漢語新聞文檔都分別用空間向量的形式表示:
Ti=(tw1,tw2,…,twx)Cj=(cw1,cw2,…,cwy)
利用Dice系數(shù)計算藏語文本Ti和漢語文本Cj的相似度:
其中,c為兩篇文本Ti和Cj的所共同含有的特征項的權(quán)重之和,即直接匹配的字符串和通過藏漢詞典匹配的藏語和漢語翻譯對。a和b分別為文本特征詞語的權(quán)重之和。
文本的相似度完成以后,根據(jù)計算的相似度值與人工設(shè)定的閾值進行比較,大于閾值就認為是相似的,由此構(gòu)建出m對藏漢可比新聞文檔。
步驟102,根據(jù)可比語料庫分別構(gòu)建第一語言話題模型和第二語言模型;
具體地,本實施例基于藏語和漢語的可比語料庫分別構(gòu)建藏語LDA話題模型和漢語LDA話題模型(如圖4所示)。
圖4為圖1所示跨語言話題檢測方法流程中構(gòu)建藏語LDA話題模型和漢語LDA話題模型的示意圖:
圖中KT、KC分別為藏語和漢語話題個數(shù),M為藏漢可比新聞文本對的數(shù)量,分別是藏語和漢語的第m個文檔的詞語總數(shù),NT、NC分別為藏語和漢語文檔的詞語總數(shù),分別是藏語和漢語每個文檔下話題的多項分布的Dirichlet先驗參數(shù),是每個話題下詞的多項分布的Dirichlet先驗參數(shù),分別是藏語第m個文檔中第nT個詞的話題和漢語第m個文檔中第nC個詞的話題,分別是藏語第m個文檔中的第nT個詞語和漢語第m個文檔中第nC個詞語,分別是藏語第m個文檔下的話題分布向量和漢語第m個文檔下的話題分布向量,它們分別是KT、KC維向量。分別表示藏語第kT個話題下詞的分布向量和漢語第kC個話題下詞的分布向量,它們分別是NT、NC維向量。
藏語LDA話題模型和漢語LDA話題模型的生成過程如下:
設(shè)置話題的數(shù)量KT、KC;
設(shè)置先驗參數(shù)本實施例中設(shè)為50/KT,設(shè)為50/KC,設(shè)為0.01;
對藏語文檔的KT個話題,根據(jù)Dirichlet分布計算每個潛在話題下詞語的分布概率向量對漢語文檔的KC個話題,根據(jù)Dirichlet分布計算每個潛在話題下詞語的分布概率向量
對于之前獲取的藏語和漢語新聞文本可比對,
(1)分別計算文檔中話題的分布概率向量
(2)針對藏語文本所包含的每一個詞nt,從話題的分布概率向量的多項式分布中為其分配一個潛在話題在此話題的多項式分布中,選擇特征詞
(3)針對漢語文本所包含的每一個詞nc,從話題的分布概率向量的多項式分布中為其分配一個潛在話題在此話題的多項式分布中,選擇特征詞
重復(fù)步驟(1)、(2)和(3),直到算法結(jié)束。
圖5為圖1所示跨語言話題檢測方法流程中通過吉布斯抽樣法對LDA話題模型進行參數(shù)估計的示意圖。
本實施例采用吉布斯抽樣法(Gibbs sampling)對LDA模型進行參數(shù)估計。Gibbs sampling是生成馬爾科夫鏈的一種方法,生成的馬爾科夫鏈可以用來做蒙特卡洛仿真,從而求得一個較復(fù)雜的多元分布。它是馬爾科夫鏈蒙特卡洛(Markov-Chain Monte Carlo,MCMC)算法的一種簡單實現(xiàn),主要思想是構(gòu)造出收斂于目標概率分布函數(shù)的馬爾科夫鏈,并且從中抽取最接近目標概率的樣本。
初始時,隨機給文檔中的每個詞語分派一個話題z(0),然后統(tǒng)計每個話題z下詞w出現(xiàn)的次數(shù)以及每篇文檔m下話題z中的詞出現(xiàn)的數(shù)量,每一輪計算p(zi|z-i,d,w)。
其中,t為文檔中第i個詞,zi為第i個詞所對應(yīng)的話題,為話題k中出現(xiàn)詞語v的詞數(shù),為文檔m中出現(xiàn)話題z的次數(shù),V為詞語的總數(shù),K為話題的總數(shù)。
排除對當前詞語的話題分配,依照其他全部詞的話題分配,來估計當前詞被分配各個話題的概率。在獲得當前詞語屬于全部話題z的概率分布后,根據(jù)這個概率分布為該詞語分派一個新的話題z(1)。然后用同樣的方法不斷更新下一個詞語的話題,直到每篇文檔下話題分布和每個話題下詞語的分布收斂,算法停止,輸出待估計的參數(shù)和最后第m篇文檔中第n個詞語的話題zm,n也同時得出。
設(shè)置迭代次數(shù),本實施例中參數(shù)α和β分別設(shè)為50/K、0.01。根據(jù)公式10計算產(chǎn)生話題-詞匯概率分布即出現(xiàn)在話題k中的詞語v的概率。
其中,為話題k中詞語v出現(xiàn)的次數(shù),βv=0.01。
針對文檔集中每篇文檔,根據(jù)公式11計算文檔的文檔-話題分布概率θm,k,即文檔m中話題k所占的概率。
其中,為文檔m中話題k出現(xiàn)的次數(shù),αk=50/K。
步驟103,在話題模型生成的文檔-話題概率分布的基礎(chǔ)上通過話題的相似度判定,以確定第一語言和第二語言對齊。
具體地,如圖6所示,在構(gòu)建出LDA話題模型后,在生成的話題-文檔概率分布中,每一個話題在每一篇文檔中都會以一定的概率出現(xiàn)。因此,對每個話題來說,可以表示成文檔上的空間向量。通過向量之間的相似度來衡量藏漢話題的相關(guān)性,將藏漢話題對齊。
對于藏語話題ti和漢語話題tj,計算兩者的相關(guān)性的步驟如下:
將通過文檔相似度計算構(gòu)建出的m對藏漢可比新聞文檔,作為索引文檔集;
對于藏語話題ti,將映射到索引文檔集上,得到ti的向量表示(di1,di2,di3,…,dim),則ti的索引向量為
對于漢語話題,將映射到索引文檔集上,得到tj的向量表示(d'j1,d'j2,d'j3,…,'djm,)則tj的索引向量為
得到ti和tj的索引向量后,采用以下四種常用的相似度計算方法來計算向量和的相關(guān)性,每種方法只保留最大的相似度。
①余弦相似度,利用向量的余弦夾角來計算相似度,余弦值越大,相關(guān)性越大。余弦距離注重的是兩個向量在方向上的差異,對絕對的數(shù)值不敏感,適用于長度不一的文本之間的相似性比較。
②歐氏距離,用來描述空間中兩個點的常規(guī)距離。計算的值越小,兩點之間的距離就越近,相似度就越大。與余弦距離相比,歐氏距離體現(xiàn)的是向量在數(shù)值特征上的絕對差異,因此適用于長度差異不大的文本之間的相似性比較。
③Hellinger距離,度量兩個分布之間差異的一種方法。由于話題可以表示成離散的概率分布,因此,Hel l inger距離可以用來計算話題之間的相似度。計算值越大,話題之間的差異度就越大,相似度就越?。挥嬎阒翟叫?,話題之間的相似度就越大。
④KL距離(Kullback-Leibler Divergence),也叫做相對熵(Relative Entropy),是基于信息論提出的。因為和是相同維度上的分布,因此可以用KL距離來衡量兩個話題的相關(guān)性。藏語話題和漢語話題之間相似度的差異,可以通過在一個信息空間的兩個話題的概率分布的差異來度量。兩個概率分布P和Q,P到Q的KL距離為:
DKL(P||Q)=P*log(P/Q) (15)
Q到P的KL距離為:
DKL(Q||P)=Q*log(Q/P) (16)
由于KL距離是非對稱的,而事實上,藏語話題ti到漢語話題tj的距離與tj到ti的距離是相等的。因此,我們使用對稱的KL距離來計算話題的距離:
將公式代入
整理得
基于以上四種方法對結(jié)果進行投票,如果第n種方法methodn計算出藏語話題ti和漢語話題tj的相似度最大,投票值為1,否則投票值為0,記為Vote(methodn,ti,tj)∈{1,0},當投票結(jié)果Votes(ti,tj)≥3時為有效投票,否則,為無效投票。當投票無效時,通過計算的準確率來選擇有優(yōu)越性的方法為最終的投票結(jié)果。
本發(fā)明實施例提供的一種跨語言話題檢測方法,提高了跨語言文檔相似度計算的準確率,通過基于LDA的話題模型構(gòu)建,利用跨語言話題對齊實現(xiàn)了跨語言話題檢測。
圖2為本發(fā)明實施例提供的一種跨語言話題檢測系統(tǒng)的結(jié)構(gòu)圖。該跨語言話題檢測系統(tǒng)500包括第一生成模塊501、第二生成模塊502和檢測模塊503。
第一生成模塊501用于構(gòu)建第一語言和第二語言的可比語料庫;
第二生成模塊502基于第一語言和第二語言的可比語料庫分別構(gòu)建第一語言話題模型和第二語言話題模型;
檢測模塊503用于在第一語言話題模型和第二語言話題模型生成的文檔-話題概率分布的基礎(chǔ)上通過相似度判定,以確定第一語言話題和第二語言話題的對齊,從而實現(xiàn)跨語言話題檢測。
本發(fā)明實施例提供的一種跨語言話題檢測系統(tǒng)提高了跨語言文檔相似度計算的準確率,通過基于LDA的話題模型構(gòu)建,利用跨語言話題對齊實現(xiàn)了跨語言話題檢測。
以上的具體實施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施方式而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。