本發(fā)明涉及自然語言處理技術(shù),尤其涉及一種基于多特征融合的短文本相似度計(jì)算方法。
背景技術(shù):
空間向量模型(vsm)將短文本中的特征詞項(xiàng)轉(zhuǎn)化成能被計(jì)算機(jī)識別的數(shù)字形式,并且在一定程度上反映出特征詞項(xiàng)在短文本中的重要程度。
基于詞頻的特征提取是指在原始的詞項(xiàng)集合中,根據(jù)特定的特征評估函數(shù)計(jì)算挑選出最能反映短文本特征的特征詞項(xiàng)集合的過程。詞頻-逆向文檔頻率(tf-idf)和互信息(mi)是比較常用的兩種詞頻特征提取方法。信息熵(ie)的概念來源于統(tǒng)計(jì)熱力學(xué),用于度量體系的混亂程度,它本身并不直接用于文本的特征提取,但是經(jīng)常融入到其它短文本詞頻特征提取方法中。
基于語法的特征提取既可以利用語言模型直接從詞語上下文環(huán)境考察,從而提取短文本的語法性特征;也可以利用神經(jīng)網(wǎng)絡(luò)對短文本中給定上下文條件下后續(xù)詞語的分布建模,即利用深度學(xué)習(xí)方法提取短文本的語法性特征。word2vec的skip_gram訓(xùn)練模型是神經(jīng)網(wǎng)絡(luò)語言模型(nnlm)的一個實(shí)現(xiàn),它省略了nnlm的非線性隱藏層,以犧牲訓(xùn)練精度的方法快速提高詞語的預(yù)測過程,并通過增加訓(xùn)練語料的方式彌補(bǔ)訓(xùn)練精度,從而使得訓(xùn)練模型能夠有效且快速地生成詞向量。skip_gram訓(xùn)練模型通過當(dāng)前詞預(yù)測其上下文生成的概率,得到不同概率的特征詞,從而保留了特征詞之間的語法關(guān)系。
詞對主題模型(btm)是比較常用的一種短文本語義特征提取模型,它是一元混合模型和主題模型的完美結(jié)合:首先,為了解決數(shù)據(jù)稀疏問題,btm結(jié)合一元混合模型的優(yōu)點(diǎn):所有短文本共享一個主題分布;然后,為了消除每個短文本只有一個主題的弊端,btm在整個語料庫上的共現(xiàn)詞對上建模;最后,將短文本映射到相應(yīng)的語義空間(或主題空間),從而對短文本語義進(jìn)行分析和判斷。如果用數(shù)學(xué)語言描述,主題表示特征詞集合中特征詞的條件概率分布,特征詞的條件概率值大小反映它與主題之間的關(guān)系密切程度。
短文本相似度計(jì)算可以定義為:對于給定的短文本集合,在研究短文本結(jié)構(gòu)的基礎(chǔ)上,提取多種短文本特征(比如詞頻、語法、語義特征)并量化,從而用數(shù)據(jù)反映短文本之間的相同點(diǎn)及不同點(diǎn),相同點(diǎn)越多,相似程度越高,反之,相似程度越低。js距離以一種常用的短文本相似度計(jì)算方法,適用于短文本特征以概率形式呈現(xiàn)的情況,可以反映同樣的概率空間中兩個概率分布的差異情況,它基于kl距離,并改進(jìn)kl距離的結(jié)果不滿足非負(fù)性、對稱性等缺點(diǎn)。
短文本相似度計(jì)算是自然語言處理(nlp)乃至機(jī)器學(xué)習(xí)領(lǐng)域的難點(diǎn)和熱點(diǎn),它是nlp中一個重要任務(wù),既可以當(dāng)成一個單獨(dú)的任務(wù),又可以作為其它nlp應(yīng)用的基礎(chǔ)。迄今為止,在短文本相似度計(jì)算領(lǐng)域,學(xué)者們大多偏向于提取詞頻或語義的單一維度特征,很少有對跨維度的短文本特征進(jìn)行提取并融合,因此,得到的特征是片面的、不完全的,利用這些特征得到的相似度精度也不會太高。此外,在詞頻維度特征組合方面,目前的研究大多以特征池或二維特征空間的方式進(jìn)行組合,缺乏深層次的整合;在語義維度特征提取方面,目前的研究方向通常直接在原始短文本集合上應(yīng)用btm,即直接利用原始短文本集合豐富的詞對信息進(jìn)行特征提取,這樣可能會放大噪音特征產(chǎn)生的不利影響。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于針對現(xiàn)有技術(shù)中的缺陷,提供一種基于多特征融合的短文本相似度計(jì)算方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種基于多特征融合的短文本相似度計(jì)算方法,包括:
(1)獲取待計(jì)算短文本集合d中的文本數(shù)量|m|以及主題數(shù)量|k|,通過詞頻、語法和語義的三維特征提取和融合過程(即過程(a))得到短文本-主題矩陣s;
1.1)對短文本集合d進(jìn)行短文本詞頻特征提取;
1.2)對短文本集合d進(jìn)行短文本語法特征提取;
1.3)短文本語義融合:
首先,獲取詞頻和語法特征融合的權(quán)重矩陣w′;然后,在由w′中三元元素<特征項(xiàng)t,短文本d,融合權(quán)重w′>組成的共現(xiàn)二元對上利用btm建模;最后,通過計(jì)算得到短文本的主題分布概率,即得到短文本的語義融合結(jié)果短文本-主題矩陣s;
(2)按公式(10)將短文本-主題矩陣s轉(zhuǎn)化為短文本向量集合z,初始化相似度計(jì)算結(jié)果矩陣y;
(3)不重復(fù)選取集合z中的短文本向量d1,如果集合z中沒有可選取的短文本,轉(zhuǎn)到步驟(6);
(4)不重復(fù)選取集合z中的短文本向量d2,如果集合z中沒有可選取的短文本,轉(zhuǎn)到步驟(3);
(5)計(jì)算短文本d1和d2之間的相似度,將結(jié)果記錄到相似度結(jié)果矩陣y中,轉(zhuǎn)到步驟(4);
(6)得到短文本相似度結(jié)果矩陣y。
按上述方案,所述步驟1.1)中設(shè)短文本集合d中的文本數(shù)量為|m|,詞典中不重復(fù)特征項(xiàng)數(shù)量為|n|,采用hti方法計(jì)算權(quán)值矩陣,具體步驟如下:
1.1.1):初始化特征項(xiàng)索引i和短文本索引j的值為0,初始化權(quán)值矩陣w為零矩陣;
1.1.2):統(tǒng)計(jì)計(jì)算特征項(xiàng)ti在短文本dj中出現(xiàn)的頻率并賦值給tf(ti,dj);
1.1.3):計(jì)算特征項(xiàng)局部因子,采用的計(jì)算公式為:
localt(ti,dj)=log(tf(ti,dj)+β)(1)
其中,tf(ti,dj)表示特征項(xiàng)ti在短文本dj中出現(xiàn)的頻率,β為常數(shù)因子(一般取經(jīng)驗(yàn)值1)。
1.1.4):計(jì)算特征項(xiàng)ti和短文本dj的相關(guān)性因子,采用的計(jì)算公式為:
其中,p(ti,dj)表示特征項(xiàng)ti和短文本dj同時出現(xiàn)的概率,p(ti)表示特征項(xiàng)ti在短文本集中出現(xiàn)的概率,p(dj)表示短文本dj在短文本集中出現(xiàn)的概率。
1.1.5):計(jì)算特征項(xiàng)全局因子,采用的計(jì)算公式為:
其中,n是短文本的總數(shù)量,c(ti,dj)表示特征項(xiàng)ti和短文本dj的相關(guān)性因子,α是常數(shù)因子(一般取經(jīng)驗(yàn)值1)。
1.1.6):計(jì)算特征項(xiàng)-短文本對(ti,dj)的hti值,并賦值給wij,hti權(quán)值計(jì)算公式:
hti(ti,dj)=localt(ti,dj)×globalt(ti,dj)(4)
其中l(wèi)ocalt(ti,dj)表示特征項(xiàng)局部因子,globalt(ti,dj)表示特征項(xiàng)全局因子;
1.1.7):對于每一個特征項(xiàng)-短文本對(ti,dj),重復(fù)1.1.2)至1.1.6)的操作,得到短文本集合d的hti權(quán)值矩陣w。
按上述方案,所述步驟1.2)中短文本語法特征提取是利用word2vec的skip_gram模型訓(xùn)練短文本集合d得到詞向量集合x:
x=(x1,x2,...,xi)(5)
其中,xi表示特征項(xiàng)ti的詞向量。
按上述方案,所述步驟1.3)中短文本語義融合的具體步驟如下:
1.3.1):根據(jù)步驟1.2)獲得的詞向量集合x的每一個詞向量xi,計(jì)算詞向量歸一化因子:
其中,m表示預(yù)定的詞向量的維數(shù),k表示詞向量xi第k維的值。
1.3.2):對于hti權(quán)值矩陣w中的每一個三元元素<特征項(xiàng)t,文本d,hti權(quán)重w>,計(jì)算權(quán)重歸一化因子:
其中,hti(ti,dj)表示短文本dj中特征詞項(xiàng)ti的hti權(quán)重w。
1.3.3):利用詞向量歸一化因子和權(quán)重歸一化因子計(jì)算融合權(quán)重,并用融合權(quán)重替換矩陣w中每一個三元元素的hti權(quán)重w,得到新的詞頻和語法融合權(quán)重矩陣w′。融合權(quán)重計(jì)算公式:
nl(ti,dj)=f(ti,dj)×g(i)(8)
1.3.4):在融合權(quán)重矩陣w′上利用btm生成語料庫b(或稱共現(xiàn)二元對集合b)
1.3.5):為集合b中的每個共現(xiàn)二元對b=(ci,cj)隨機(jī)初始化主題,初始化迭代次數(shù)i=0;
1.3.6):對集合b中的每個共現(xiàn)二元對b=(ci,cj)計(jì)算狀態(tài)轉(zhuǎn)移概率:
1.3.7):重復(fù)執(zhí)行步驟1.3.6),同時更新狀態(tài)轉(zhuǎn)移概率公式(9)中的頻數(shù)ns、
1.3.8):利用btm計(jì)算整個短文本集的主題分布θs和特定主題下的三元元素c的分布φc|s,從而得到每個短文本的主題概率分布,即獲得短文本-主題矩陣s。
按上述方案,所述步驟2)中短文本向量的計(jì)算如下:
短文本集合d經(jīng)過hsbm模型后,得到短文本-主題分布矩陣s,s中的每一個元素都是一個條件概率,對矩陣s中的每一列,將其轉(zhuǎn)化為短文本的向量形式:
di=(p(s1|di),p(s2|di),p(s3|di),...,p(s|k||di))(10)
其中,p(si|di)表示短文本di被分配到主題si下的條件概率值,|k|表示主題的數(shù)量;
基于公式(10),將短文本-主題分布矩陣s轉(zhuǎn)化為短文本向量集合z。
按上述方案,所述步驟6)中計(jì)算短文本d1和d2之間的相似度采用以下公式:
kl距離和js距離的計(jì)算公式為:
其中,d1、d2為短文本的概率分布向量,d1(k)、d2(k)分別表示概率分布向量d1、d2中第k個的概率。
本發(fā)明產(chǎn)生的有益效果是:
(1)本方法在剖析tf-idf、互信息兩種詞頻特征提取方法的基礎(chǔ)上,結(jié)合信息熵的概念,對其進(jìn)行有效融合,提出短文本詞頻特征提取方法hti,實(shí)現(xiàn)詞頻維度多種特征的深層次整合。
(2)本方法基于btm構(gòu)建短文本的語義特征提取模型hsbm,不再直接對短文本語料庫中的詞對生成過程建模,而是先獲取短文本-特征詞融合權(quán)重矩陣w′,然后在由w′中三元元素<特征項(xiàng)t,文本d,融合權(quán)重w′>組成的共現(xiàn)二元對上建模,一定程度上去除了噪音特征帶來的不利影響。
(3)本方法從詞頻、語法、語義多個維度提取特征,有效地提高短文本相似度計(jì)算精度。
附圖說明
下面將結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步說明,附圖中:
圖1是本發(fā)明實(shí)施例的hsbm的模型結(jié)構(gòu)圖;
圖2是本發(fā)明實(shí)施例的mfsm的模型結(jié)構(gòu)圖;
圖3是本發(fā)明實(shí)施例的基于多特征融合的短文本相似度計(jì)算方法流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,圖1是hsbm(hti-skip_gram-btmfusionmodel)的模型結(jié)構(gòu)圖,其中,參數(shù)說明如下:
過程(i)中,圓角矩形(例如“hti”)表示特征提取方法或模型,六邊形表示短文本集合;圓圈表示權(quán)重矩陣:w是通過hti方法得到的hti權(quán)重矩陣,x是通過skip_gram訓(xùn)練模型得到的特征詞向量集合,w′是hti權(quán)重矩陣w和特征詞向量集合x進(jìn)行歸一化操作(nl)得到的短文本-特征詞融合權(quán)重矩陣;|m|代表短文本集合中的總文本數(shù)量,|n|代表特征詞項(xiàng)的數(shù)量。
過程(ii)中透明圓圈(例如“θ”)表示隱含參數(shù),陰影圓圈(例如“ci”)表示可通過采樣直接獲取的變量;α是dirichlet分布θ的超參,β是dirichlet分布
如圖3所示,本發(fā)明方法的基本步驟如下:
假如短文本集合d中的文本數(shù)量為|m|,主題數(shù)量為|k|
(1)通過詞頻、語法和語義的三維特征提取和融合過程(即過程(a))得到短文本-主題矩陣s;
(2)按公式(10)將短文本-主題矩陣s轉(zhuǎn)化為短文本向量集合z,初始化相似度計(jì)算結(jié)果矩陣y;
(3)不重復(fù)選取集合z中的短文本向量d1,如果集合z中沒有可選取的短文本,轉(zhuǎn)到步驟(6);
(4)不重復(fù)選取集合z中的短文本向量d2,如果集合z中沒有可選取的短文本,轉(zhuǎn)到步驟(3);
(5)按公式(11)和公式(12)計(jì)算短文本d1和d2之間的相似度,將結(jié)果記錄到相似度結(jié)果矩陣y中,轉(zhuǎn)到步驟(4);
(6)得到短文本相似度結(jié)果矩陣y。
詞頻、語法和語義的三維特征提取和融合過程
詞頻、語法和語義的三維特征提取和融合過程主要利用本專利設(shè)計(jì)的hsbm模型實(shí)現(xiàn),它的基本步驟是:首先從詞頻和語法兩個維度分別提取出短文本特征,然后在語義維度進(jìn)行有機(jī)融合。因此,實(shí)施過程分為三個階段:短文本詞頻特征提取階段;短文本語法特征提取階段;短文本語義融合階段。下面會對這三個階段分別進(jìn)行介紹。
短文本詞頻特征提取階段
短文本詞頻特征提取階段主要利用本專利設(shè)計(jì)的hti(hybridtf-idf)方法實(shí)現(xiàn),該方法利用mi以及ie的概念對tf-idf進(jìn)行改進(jìn),保留tf對短文本特征提取的重要作用,同時優(yōu)化idf的結(jié)構(gòu),使其更加準(zhǔn)確地反映特征詞在所有短文本中的分布情況以及重要程度,從而更有效地調(diào)整特征詞的權(quán)值,提高相似度計(jì)算的精度。
假如短文本集合d中的文本數(shù)量為|m|,詞典中不重復(fù)特征項(xiàng)數(shù)量為|n|,hti方法計(jì)算權(quán)值矩陣的基本步驟:
第一步:初始化特征項(xiàng)索引i和短文本索引j的值為0,初始化權(quán)值矩陣w為零矩陣;
第二步:統(tǒng)計(jì)計(jì)算特征項(xiàng)ti在短文本dj中出現(xiàn)的頻率并賦值給tf(ti,dj);
第三步:計(jì)算特征項(xiàng)局部因子,它的計(jì)算公式為:
localt(ti,dj)=log(tf(ti,dj)+β)(1)
其中,tf(ti,dj)表示特征項(xiàng)ti在短文本dj中出現(xiàn)的頻率,β為常數(shù)因子(一般取經(jīng)驗(yàn)值1)。
第四步:計(jì)算特征項(xiàng)ti和短文本dj的相關(guān)性因子,它的計(jì)算公式為:
其中,p(ti,dj)表示特征項(xiàng)ti和短文本dj同時出現(xiàn)的概率,p(ti)表示特征項(xiàng)ti在短文本集中出現(xiàn)的概率,p(dj)表示短文本dj在短文本集中出現(xiàn)的概率。
第五步:計(jì)算特征項(xiàng)全局因子,它的計(jì)算公式為:
其中,n是短文本的總數(shù)量,c(ti,dj)表示特征項(xiàng)ti和短文本dj的相關(guān)性因子,α是常數(shù)因子(一般取經(jīng)驗(yàn)值1)。
第六步:計(jì)算特征項(xiàng)-短文本對(ti,dj)的hti值,并賦值給wij,hti權(quán)值計(jì)算公式:
hti(ti,dj)=localt(ti,dj)×globalt(ti,dj)(4)
其中l(wèi)ocalt(ti,dj)表示特征項(xiàng)局部因子,globalt(ti,dj)表示特征項(xiàng)全局因子。
第七步:對于每一個特征項(xiàng)-短文本對(ti,dj),重復(fù)步驟二~六的操作,得到短文本集合d的hti權(quán)值矩陣w。
短文本語法特征提取階段
短文本語法特征提取階段主要利用word2vec的skip_gram模型訓(xùn)練短文本集合d得到詞向量集合x:
x=(x1,x2,...,xi)(5)
其中,xi表示特征項(xiàng)ti的詞向量。
短文本語義融合階段
在hsbm模型中,短文本語義融合階段的實(shí)施是:首先,獲取詞頻和語法特征融合的權(quán)重矩陣w′;然后,在由w′中三元元素<特征項(xiàng)t,短文本d,融合權(quán)重w′>組成的共現(xiàn)二元對上利用btm建模;最后,通過計(jì)算得到短文本的主題分布概率,即得到短文本的語義融合結(jié)果。該階段的具體步驟(圖1中過程(i)包含步驟一~三,過程(ii)包含步驟四~八):
第一步:對于式(5)中詞向量集合x的每一個詞向量xi,計(jì)算詞向量歸一化因子:
其中,m表示預(yù)定的詞向量的維數(shù),k表示詞向量xi第k維的值。
第二步:對于hti權(quán)值矩陣w中的每一個每一個三元元素<特征項(xiàng)t,文本d,hti權(quán)重w>,計(jì)算權(quán)重歸一化因子:
其中,hti(ti,dj)表示短文本dj中特征詞項(xiàng)ti的hti權(quán)重w。
第三步:利用詞向量歸一化因子和權(quán)重歸一化因子計(jì)算融合權(quán)重,并用融合權(quán)重替換矩陣w中每一個三元元素的hti權(quán)重w,得到新的詞頻和語法融合權(quán)重矩陣w′。融合權(quán)重計(jì)算公式:
nl(ti,dj)=f(ti,dj)×g(i)(8)
第四步:在融合權(quán)重矩陣w′上利用btm生成語料庫b(或稱共現(xiàn)二元對集合b)
第五步:為集合b中的每個共現(xiàn)二元對b=(ci,cj)隨機(jī)初始化主題,初始化迭代次數(shù)i=0;
第六步:對集合b中的每個共現(xiàn)二元對b=(ci,cj)計(jì)算狀態(tài)轉(zhuǎn)移概率:
第七步:重復(fù)執(zhí)行步驟六,同時更新狀態(tài)轉(zhuǎn)移概率公式(9)中的頻數(shù)ns、
第八步:利用btm計(jì)算整個短文本集的主題分布θs和特定主題下的三元元素c的分布φc|s,從而每個短文本的主題概率分布,即獲得短文本-主題矩陣s。
基于多特征融合的短文本相似度計(jì)算方法的實(shí)現(xiàn)
基于多特征融合的短文本相似度計(jì)算方法的基本思想是:首先分別從詞頻、語法和語義維度提取出短文本特征,然后對其進(jìn)行有機(jī)融合,并將融合結(jié)果量化,從而計(jì)算短文本之間的相似度。該方法主要利用本專利設(shè)計(jì)的mfsm模型實(shí)現(xiàn),如圖2所示,圖2是mfsm(multi-featurebasedsimilarity-calculationmodel)的模型結(jié)構(gòu)圖,其中,s是短文本集合通過hsbm模型得到的短文本-主題分布矩陣,z是短文本向量集合,y是短文本相似度結(jié)果矩陣,|m|代表短文本集合中的文本數(shù)量,|k|代表主題數(shù)量,js表示對短文本向量集合z進(jìn)行處理的相似度計(jì)算方法(即js距離)。方法的具體實(shí)現(xiàn)主要分為3個過程:(a)詞頻、語法和語義的三維特征提取和融合;(b)短文本向量的計(jì)算;(c)短文本相似度的計(jì)算。其中,過程(a)在前文中已實(shí)現(xiàn)。下面先對過程(b)和過程(c)進(jìn)行介紹,然后闡述本方法的基本步驟。
短文本向量的計(jì)算
短文本集合d經(jīng)過hsbm模型后,得到短文本-主題分布矩陣s,s中的每一個元素都是一個條件概率,對矩陣s中的每一列,將其轉(zhuǎn)化為短文本的向量形式:
di=(p(s1|di),p(s2|di),p(s3|di),...,p(s|k||di))(10)
其中,p(si|di)表示短文本di被分配到主題si下的條件概率值,|k|表示主題的數(shù)量。
顯然,短文本已經(jīng)映射到相應(yīng)的語義空間(即主題空間)?;诠?10),將短文本-主題分布矩陣s轉(zhuǎn)化為短文本向量集合z(即圖2中過程(b)),可作為過程(c)中短文本相似度計(jì)算的輸入。
短文本相似度的計(jì)算
由于短文本向量集合z中的每一個短文本向量都以概率的形式呈現(xiàn),因此,本方法利用js距離計(jì)算短文本之間的相似度,它基于kl距離,并改進(jìn)kl距離的結(jié)果不滿足非負(fù)性、對稱性等缺點(diǎn)。kl距離和js距離的計(jì)算公式為:
其中,d1、d2為短文本的概率分布向量,d1(k)、d2(k)分別表示概率分布向量d1、d2中第k個的概率。
目前,短文本相似度計(jì)算所利用的短文本特征的維度比較單一,大多偏向于提取詞頻或語義的單一維度特征,很少有對跨維度的短文本特征進(jìn)行提取并融合,因此,得到的特征是片面的、不完全的,利用這些特征得到的相似度精度也不會太高。本專利提出一種基于多特征融合的短文本相似度計(jì)算方法,首先,設(shè)計(jì)hti方法提取短文本的詞頻特征,其次,利用已有的word2vec的skip_gram訓(xùn)練模型提取短文本的語法特征,然后,設(shè)計(jì)hsbm模型在語義維度上對詞頻和語法特征進(jìn)行有機(jī)融合,最后,設(shè)計(jì)mfsm模型計(jì)算將融合結(jié)果向量化,并計(jì)算短文本之間的相似度。本專利從多個維度提取短文本的特征,因此能有效地提高短文本相似度計(jì)算精度。
應(yīng)當(dāng)理解的是,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,而所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。