李 峰,侯加英,曾榮仁,凌 晨
1.中國人民解放軍后勤科學(xué)研究所,北京 100166
2.北京航空航天大學(xué) 計(jì)算機(jī)學(xué)院,北京 100191
3.昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,昆明 650504
融合詞向量的多特征句子相似度計(jì)算方法研究*
李 峰1,2+,侯加英3,曾榮仁1,凌 晨1
1.中國人民解放軍后勤科學(xué)研究所,北京 100166
2.北京航空航天大學(xué) 計(jì)算機(jī)學(xué)院,北京 100191
3.昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,昆明 650504
在歸納常見的句子相似度計(jì)算方法后,基于《人民日?qǐng)?bào)》3.4萬余份文本訓(xùn)練了用于語義相似度計(jì)算的詞向量模型,并設(shè)計(jì)了一種融合詞向量的多特征句子相似度計(jì)算方法。該方法在詞方面,考慮了句子中重疊的詞數(shù)和詞的連續(xù)性,并運(yùn)用詞向量模型測(cè)量了非重疊詞間的相似性;在結(jié)構(gòu)方面,考慮了句子中重疊詞的語序和兩個(gè)句子的長(zhǎng)度一致性。實(shí)驗(yàn)部分設(shè)計(jì)實(shí)現(xiàn)了4種句子相似度計(jì)算方法,并開發(fā)了相應(yīng)的實(shí)驗(yàn)系統(tǒng)。結(jié)果表明:提出的算法能夠取得相對(duì)較好的實(shí)驗(yàn)結(jié)果,對(duì)句子中詞的語義特征和句子結(jié)構(gòu)特征進(jìn)行組合處理和優(yōu)化,能夠提升句子相似度計(jì)算的準(zhǔn)確性。
詞向量;句子相似度;Word2vec;算法設(shè)計(jì)
句子相似度計(jì)算是自然語言處理領(lǐng)域中十分重要而又較為基礎(chǔ)的研究工作。例如:在機(jī)器翻譯研究中,用于查找最為相似的例句[1-2];在問答系統(tǒng)中,用于查找可能的答案[3];在噪音信息過濾中,用于剔除可能的垃圾信息[4];在文本自動(dòng)摘要研究中,用于計(jì)算摘要句的權(quán)重分配[5];在分類或聚類中,用來判定句子或文檔的類別[6],等。目前常見的句子相似度計(jì)算方法大體上可分為以下3類:
(1)基于表層信息的相似度計(jì)算。該方法通常計(jì)算句子中詞形相似度、詞序相似度和句長(zhǎng)相似度等信息[7],分別如式(1)~(3)所示。
式(1)中,S1和S2代表兩個(gè)句子;same(S1,S2)表示兩個(gè)句子中重疊詞的個(gè)數(shù);L(S1)和L(S2)分別代表兩個(gè)句子的詞數(shù)。
式(2)中,v1n和v2n分別代表由句子S1和S2的N-Gram表示的向量;當(dāng)n值為1時(shí),取詞的tf-idf值;當(dāng)n值大于1時(shí),若句子包含重疊詞,則向量值取1,否則取0。
式(3)中,L(S1)和L(S2)分別代表兩個(gè)句子中詞的個(gè)數(shù)。
(2)基于句子結(jié)構(gòu)的相似度計(jì)算。這種方法主要考查兩個(gè)句子在結(jié)構(gòu)上的相似性,如基于詞類串結(jié)構(gòu)、本體結(jié)構(gòu)、詞性及詞性依存結(jié)構(gòu)等進(jìn)行句子的相似度計(jì)算。這里引用文獻(xiàn)[8]提出的基于詞性及詞性依存的句子結(jié)構(gòu)相似度計(jì)算方法來進(jìn)行介紹。該方法認(rèn)為句子主要由主成分和修飾成分組成,主成分由句子中的核心動(dòng)詞擔(dān)任并作為句子的支配者,修飾成分則作為支配者。同一主成分可以被不同的修飾成分修飾,達(dá)到不同的效果。其中,句子的成分信息可由詞性來反映,詞性依存關(guān)系中各成分之間的修飾關(guān)系能夠體現(xiàn)句子的整體性。因此,可以通過計(jì)算詞性及詞性依存信息來把握句子間的相似性。該方法首先通過計(jì)算得到句子S1和S2詞性相似度矩陣,如式(4)所示:
其中,sij表示句子S1中第i個(gè)詞性和句子S2中第 j個(gè)詞性的相似度,若兩詞性相等,則 sij=1;否則sij=0。然后使用式(5)計(jì)算兩個(gè)句子的結(jié)構(gòu)相似度:
其中,c為句子S1和S2中相同詞性的個(gè)數(shù);d為相鄰對(duì)應(yīng)詞間距;r為句子中詞性對(duì)應(yīng)總數(shù);表示兩句中能夠?qū)?yīng)上的詞性權(quán)值均值線性和;為能夠?qū)?yīng)上的詞性前余及后余詞性權(quán)值均值線性和;表示兩句中無法對(duì)應(yīng)上的詞性權(quán)值均值線性和。
最后,在式(4)、(5)計(jì)算的基礎(chǔ)上,通過雙向最佳路徑匹配搜索算法得到結(jié)構(gòu)相似度的最大值作為句子S1和S2的結(jié)構(gòu)相似度。
(3)基于語義資源的相似度計(jì)算。該方法主要通過已建成的語義資源來考察詞間的語義關(guān)系,從而計(jì)算句子的相似度,具有代表性的主要有基于Word-Net、HowNet或同義詞林等的句子相似度計(jì)算方法。主要思路為:首先利用語義資源獲取句子S1和S2中詞語間的相似度s(wk,wn),詞義相似度計(jì)算方法請(qǐng)見相應(yīng)的參考文獻(xiàn)[9-11],這里不再贅述。
其次,利用式(6)計(jì)算求得句子S1中詞語和句子S2中詞語的平均最大相似度Q1和Q2:
其中,m、n分別為兩個(gè)句子中詞的個(gè)數(shù);s(wk,wn)表示當(dāng)前句子中第k個(gè)詞與另一個(gè)句子中第n個(gè)詞的語義相似度值。
最后利用式(7)得到雙向平均最大相似度的算術(shù)平均值作為句子S1和句子S2的相似度值:
上述3種方式能夠從不同的角度計(jì)算出兩個(gè)句子之間的相似度信息,并得到了較為廣泛的應(yīng)用。也有學(xué)者嘗試將幾種方法融合起來應(yīng)用于句子的相似度計(jì)算,也取得了較好的效果[12]。
本文則在前人研究的基礎(chǔ)上,提出了一種融合詞向量的多特征句子相似度計(jì)算方法。該方法綜合考察兩個(gè)句子中詞的語義信息和句子的結(jié)構(gòu)信息來測(cè)量句子的相似度。其中,在詞義計(jì)算過程中,除了考慮兩個(gè)句子中重疊詞的個(gè)數(shù)、連續(xù)性,還通過引入詞向量特征來刻畫非重疊詞之間的語義相似性;在句子結(jié)構(gòu)相似度計(jì)算過程中,則分別計(jì)算了重疊詞在句子中出現(xiàn)的詞序和兩個(gè)句子的句長(zhǎng)相似性兩個(gè)因素。本文第2章將基于Word2vec工具使用大規(guī)模《人民日?qǐng)?bào)》語料訓(xùn)練詞向量模型,同時(shí)測(cè)試不同字面詞之間的相關(guān)性;第3章將詳細(xì)描述本文提出的融合詞向量的多特征句子相似度計(jì)算方法;第4章將開發(fā)并實(shí)現(xiàn)相應(yīng)的實(shí)驗(yàn)系統(tǒng),對(duì)多種句子相似度算法進(jìn)行實(shí)驗(yàn)和分析,并給出實(shí)驗(yàn)結(jié)論;第5章對(duì)全文進(jìn)行總結(jié)。
2.1 詞向量和相關(guān)語言模型
語言模型的建立與訓(xùn)練是自然語言處理領(lǐng)域十分重要的組成部分,常見的有經(jīng)典的N-Gram模型[13]以及最近得到廣泛討論的深度學(xué)習(xí)模型(deep learning)[14-15]等。詞向量作為深度學(xué)習(xí)模型中一種詞的分布式表達(dá)(distributed representation),能夠較好地解決數(shù)據(jù)稀疏對(duì)統(tǒng)計(jì)建模的影響,克服維數(shù)災(zāi)難,取得了較好的應(yīng)用效果[16],得到了研究者們廣泛的關(guān)注。采用詞的分布式表達(dá)來表示詞向量最早由Hinton[17]提出,也稱之為Word Representation或Word Embedding。該方法采用一組低維度的實(shí)數(shù)向量來刻畫詞的特征,常見形式為[-0.047 339 3,-0.125 004 8, 0.223 884 4,0.051 308 5,…],其優(yōu)點(diǎn)主要表現(xiàn)在兩個(gè)方面:一是可以通過計(jì)算詞向量之間的距離來測(cè)試詞之間的相關(guān)或相似性,例如“西安”、“鄭州”和“中醫(yī)”3個(gè)詞中前兩個(gè)詞較為相關(guān),則對(duì)應(yīng)的詞向量距離就較小,反之亦然;另外通過使用較低維度的特征來刻畫詞,可以大幅降低計(jì)算的復(fù)雜度,從而提高方法的實(shí)際應(yīng)用價(jià)值。
詞向量的數(shù)值一般是從大量未經(jīng)標(biāo)注的文本數(shù)據(jù)中,通過無監(jiān)督的語言模型訓(xùn)練同步得到。鑒于下文使用的Word2vec工具主要包括CBOW(continuous bag of word)模型和Skip-gram模型[18-19],這里重點(diǎn)介紹這兩個(gè)模型。兩個(gè)模型均由Mikolov[18]提出,架構(gòu)示意如圖1所示,模型的主要目標(biāo)在于以較小的計(jì)算量獲取較好的詞向量表示。
Fig.1 CBOW model and Skip-gram model圖1CBOW模型與Skip-gram模型示意圖
Skip-gram模型通過“跳過一定字符”的方式來訓(xùn)練當(dāng)前詞的上下文詞向量,用于刻畫上下文信息,可以簡(jiǎn)單地理解為根據(jù)上下文對(duì)當(dāng)前詞進(jìn)行分類。該模型訓(xùn)練的目標(biāo)是尋找參數(shù)集合θ來最大化式(9)中Τ的值。其中,w和c均表示一個(gè)詞;D為所有單詞w和它的語境中單詞構(gòu)成的組合的集合。
CBOW模型通過計(jì)算當(dāng)前詞的上下文來得到當(dāng)前詞出現(xiàn)的概率,認(rèn)為上下文中所有詞對(duì)當(dāng)前詞出現(xiàn)的影響程度是相同的,而不考慮這些詞出現(xiàn)的順序,因此被稱為連續(xù)空間中的詞袋模型。該模型包括輸入、投影和輸出3層,輸入與輸出層表示詞向量,維數(shù)通常在50至100之間。設(shè)投影層維數(shù)為D,輸入層上下文窗口長(zhǎng)度為N,訓(xùn)練語料詞典大小為|| V,CBOW模型的訓(xùn)練復(fù)雜度Q為:
采用同樣的表達(dá)方式,若上下文窗口長(zhǎng)度為N,Skip-gram模型的訓(xùn)練復(fù)雜度Q為:
通過式(8)、(10)可以看出,相同條件下Skipgram模型與CBOW模型相比計(jì)算復(fù)雜度要高。研究表明[20-21],兩個(gè)模型的差異在于:CBOW模型能夠在訓(xùn)練中獲取更好的語法信息,得到較高的語法測(cè)試準(zhǔn)確性,而Skip-gram模型對(duì)詞的特征刻畫相對(duì)更加準(zhǔn)確,具備更好的語義區(qū)分性,能夠得到相對(duì)較高的語義計(jì)算精度。
CBOW模型和Skip-gram模型的共同優(yōu)點(diǎn)在于能夠從數(shù)億級(jí)的海量未經(jīng)標(biāo)注的數(shù)據(jù)中得到高質(zhì)量的詞向量訓(xùn)練結(jié)果,能更好地刻畫詞之間的相關(guān)或相似性,能夠描述詞和短語之間的相關(guān)性,對(duì)長(zhǎng)距離跨度的詞間關(guān)系能夠進(jìn)行有效的表達(dá)。同時(shí)訓(xùn)練的結(jié)果模型可以作為自然語言處理應(yīng)用中詞、句子或篇章主題相似或相關(guān)性計(jì)算的基礎(chǔ)資源。
2.2 Word2vec與語義相似度計(jì)算
Word2vec是谷歌2013年發(fā)布的詞向量訓(xùn)練與生成工具,能夠從大規(guī)模未經(jīng)標(biāo)注的語料中高效地生成詞的向量形式,并提供了CBOW模型和Skip-gram模型的實(shí)現(xiàn)(https://code.google.com/p/word2vec)。因其簡(jiǎn)單易用,獲取詞向量的結(jié)果較好,而受到了廣泛的關(guān)注。目前,Word2vec工具已有多個(gè)編程語言實(shí)現(xiàn)包,如C、Java、Python等,較為方便研究者學(xué)習(xí)和調(diào)用,也因此成為可利用的基于詞的語義相似度計(jì)算工具之一。盡管學(xué)界已經(jīng)推出了Sentence2vec[22-23]、Topic2vec[24]、Doc2vec[25]等句向量、話題向量或篇章向量計(jì)算方法,但由于詞一直是自然語言處理研究的基礎(chǔ)之一,加之以詞為統(tǒng)計(jì)元素,語料相對(duì)更為豐富,計(jì)算復(fù)雜度也易為大眾接受,相比較而言Word2vec近幾年應(yīng)用則更為普遍[26-28]。
本文采用ansj編寫的Java版本的Word2vec作為詞向量的訓(xùn)練工具(https://github.com/ansjsun/Word-2vec_java)。為方便測(cè)試,采用《人民日?qǐng)?bào)》2014年6月30日至2015年9月6日共434天的報(bào)紙文本作為訓(xùn)練語料,在訓(xùn)練之前剔出圖片類、廣告類新聞、正文句子數(shù)少于兩句的新聞,使用NLPIR2015(http:// ictclas.nlpir.org/downloads)進(jìn)行分詞處理并剔除詞性信息,最后共34 033篇語料參與訓(xùn)練,詞總數(shù)為202 119。由于Word2vec最初開發(fā)時(shí)主要針對(duì)英文語言的應(yīng)用,而眾所周知,英文和中文之間存在著一定的差異,如中文重語義,更傾向于通過上下文來確定詞的具體使用含義,英文則可通過詞法等結(jié)構(gòu)信息來體現(xiàn)時(shí)態(tài)和使用含義。文獻(xiàn)[19]通過研究和大規(guī)模語料實(shí)驗(yàn)表明,Word2vec工具可以較好地適用于中文處理,且采用Skip-gram模型要優(yōu)于采用CBOW模型。同時(shí)當(dāng)詞向量維度保持在170至250維之間時(shí),能夠取得相對(duì)穩(wěn)定和準(zhǔn)確的效果。在多次訓(xùn)練后,本文設(shè)置上下文窗口長(zhǎng)度為5,維度為200,并采用Skip-gram模型進(jìn)行訓(xùn)練。訓(xùn)練結(jié)束后,抽樣了幾種不同類型的詞的前5個(gè)相近詞,按向量距離倒序排列,結(jié)果如表1所示。
不難看出,對(duì)于名詞、動(dòng)詞及形容詞這些內(nèi)容詞而言,使用Word2vec工具能夠取得較好的結(jié)果。在句子相似度計(jì)算中,無論以何種方式通常都撇不開詞之間關(guān)系的計(jì)算,而詞間關(guān)系的計(jì)算往往更側(cè)重于實(shí)詞?;谇叭说难芯亢蜕鲜鰧?shí)驗(yàn)結(jié)果(http:// www.kaxiba.com/data2015.zip),可以認(rèn)為:在句子相似度計(jì)算過程中,融入詞向量特征強(qiáng)化非重疊實(shí)詞間的相似性度量,能夠提升句子相似度計(jì)算的準(zhǔn)確性。下文基于該假設(shè)設(shè)計(jì)了一種融合詞向量的多特征句子相似度計(jì)算方法,并進(jìn)行了實(shí)驗(yàn)分析。
兩個(gè)句子之間的相似程度取決于多個(gè)因素,如句子中的詞數(shù)、詞義、詞序、句子結(jié)構(gòu)、上下文語境等。限于句子結(jié)構(gòu)及上下文語境等計(jì)算資源的獲取或計(jì)算實(shí)現(xiàn)難度太大,一般傾向于通過句子中詞義間的相關(guān)性和句子的表層信息來計(jì)算句子的相似性。本文提出的融合詞向量的多特征句子相似度計(jì)算方法主要考察句子中重疊詞的詞數(shù)、重疊詞的連續(xù)性、重疊詞在句子中的順序以及非重疊詞的語義相似性等因素。
算法主要框架流程如圖2所示,主要包含以下幾個(gè)步驟。
步驟1求取句子間的公共詞塊列表。對(duì)于輸入句子S1和S2,如果兩個(gè)句子值不為空且長(zhǎng)度大于0,分別進(jìn)行分詞處理和詞性標(biāo)注,提取動(dòng)、名、形3類詞作為內(nèi)容詞后,運(yùn)用動(dòng)態(tài)規(guī)劃算法求取兩個(gè)句子的公共詞塊列表C。該列表中不僅包含詞,而且包含詞塊,但不包含單個(gè)字。
例如,對(duì)于兩個(gè)句子“習(xí)近平同哈薩克斯坦總統(tǒng)納扎爾巴耶夫會(huì)談”和“本報(bào)北京8月31日電(記者李偉紅)國家主席習(xí)近平31日在人民大會(huì)堂同哈薩克斯坦總統(tǒng)納扎爾巴耶夫舉行會(huì)談”,經(jīng)分詞處理及計(jì)算后得到的公共詞塊列表C中元素依次為“習(xí)近平”、“哈薩克斯坦總統(tǒng)納扎爾巴耶夫”、“會(huì)談”。
Fig.2 Process flowchart of algorithm圖2 算法處理流程圖
Table 1 Sampling based on the results of Word2vec training model表1 基于Word2vec訓(xùn)練結(jié)果的抽樣
步驟2以公共詞列表為基礎(chǔ)計(jì)算兩個(gè)句子的相似度。以公共詞列表C為基礎(chǔ),從句子S1和S2重疊詞個(gè)數(shù)、重疊詞在兩個(gè)句子中的連續(xù)性和詞序一致性三方面來計(jì)算兩句的相似度。其中重疊詞個(gè)數(shù)和詞在句子中的連續(xù)性使用式(11)計(jì)算:
其中,m為C中元素的個(gè)數(shù);L(ci)表示C中第i個(gè)元素中包含詞的個(gè)數(shù);k為連續(xù)詞加權(quán)系數(shù)。當(dāng)ci為獨(dú)立單詞時(shí),L(ci)為1,公式起不到加權(quán)的作用,當(dāng)L(ci)大于1時(shí),即由連續(xù)詞構(gòu)成了詞塊,系數(shù)k起到加權(quán)的作用。
對(duì)于句子S1和S2重疊詞在兩個(gè)句子中詞序的相似性,計(jì)算步驟為:
(1)以單個(gè)詞為單位獲取兩個(gè)句子重疊詞列表W。
(2)順序遍歷S1,標(biāo)記同時(shí)屬于S1和W的詞wi在S1中的索引I1,同一詞在句子S1中多次出現(xiàn)時(shí),僅記錄首次索引,最終得到的索引形如I1=[1,2,3,4,5]。
(3)順序遍歷S2,標(biāo)記同時(shí)屬于S2和W的詞wj在S1中的索引I2,同一詞在句子S2中多次出現(xiàn)時(shí),僅記錄首次索引,最終得到的索引形如I2=[4,3,1,2,5]。
(4)計(jì)算I2中索引的次序,對(duì)不是正常順序的索引進(jìn)行懲罰,計(jì)算公式如式(12):
其中,當(dāng)I2中第n個(gè)索引比第n-1個(gè)索引值小時(shí),對(duì)詞序相似度進(jìn)行懲罰,其中Q表示索引差值,δ表示懲罰因子,取值范圍為0至1;當(dāng)I2中第n個(gè)索引比第n-1個(gè)索引值大時(shí),表示該詞在S2中出現(xiàn)的順序與S1中保持一致,記語序相似度值為1。計(jì)算完成后,使用式(13)得到句子中詞序相似度的總體值:
式(13)中C(I2)表示索引列表I2中元素的個(gè)數(shù)。
步驟3使用詞向量模型計(jì)算非重疊詞相似度。對(duì)于句子S1和S2中非重疊詞部分相似度的計(jì)算,采用本文第2章訓(xùn)練的詞向量模型進(jìn)行。
(1)使用兩個(gè)句子重疊詞列表W對(duì)句子S1和S2進(jìn)行過濾,得到非重疊詞列表A和B。
(2)循環(huán)遍歷列表A和B中的詞,兩兩計(jì)算詞間的相似度wij,計(jì)算時(shí)采用Word2vec模型中詞間的向量距離來度量,如式(14):
其中,n表示W(wǎng)ord2vec模型訓(xùn)練時(shí)向量的維數(shù);m為向量vi和vj下標(biāo)值。例如可通過式(14)計(jì)算得到“總統(tǒng)”和“國家”、“主席”間的相似度值分別為0.297 951 4和0.522 891 6。在計(jì)算完成后,得到詞間的相似度矩陣,如式(15)所示:
(3)通過動(dòng)態(tài)規(guī)劃算法求解句子S1和S2非重疊部分最大相似度值之和dsim并返回。
步驟4融合多特征計(jì)算句子整體相似度。在得到句子S1和S2中詞的相似度值、詞序的相似度值之后,本文通過式(3)計(jì)算兩個(gè)句子的句長(zhǎng)相似度lsim,最后采用參數(shù)化線性疊加的方式得到兩個(gè)句子的整體相似度值,計(jì)算公式如式(16)所示:
其中,α、β、γ分別為詞義、句長(zhǎng)、詞序相似度調(diào)節(jié)因子,三者之和為1;k為連續(xù)詞塊加權(quán)系數(shù);minL(S1,S2)表示兩個(gè)句子中最短句包含的實(shí)詞個(gè)數(shù)。由于式(12)中計(jì)算詞序的得分是在句子S1和S2具有公共詞塊基礎(chǔ)上進(jìn)行的,這里對(duì)兩者得分相乘。
4.1 實(shí)驗(yàn)方法與數(shù)據(jù)
在實(shí)際應(yīng)用中,句子相似度計(jì)算主要用于從一個(gè)句子集中找到與目標(biāo)句子最為相似的句子,或者計(jì)算句子集中兩兩句子的相似度并排序,如自動(dòng)問答與文本自動(dòng)摘要等應(yīng)用,但本質(zhì)依然需要計(jì)算兩個(gè)句子間的相似度。對(duì)于新聞文本而言,一般都有標(biāo)題和正文兩個(gè)部分,而標(biāo)題作為新聞話題的標(biāo)識(shí),其意義在正文中一般都會(huì)通過一個(gè)句子或多個(gè)句子再次體現(xiàn)。據(jù)此,本文以新聞標(biāo)題為目標(biāo)句,要求算法從正文中計(jì)算與標(biāo)題最為相似的句子并返回。最后統(tǒng)計(jì)算法計(jì)算結(jié)果與人工選擇結(jié)果的差異,來考察算法的準(zhǔn)確性。
為保證實(shí)驗(yàn)的科學(xué)可靠,避免新聞文本正文中出現(xiàn)雷同句,本文采用《人民日?qǐng)?bào)》2015年9月1日至9月3日的新聞作為實(shí)驗(yàn)源數(shù)據(jù),在刪除圖片類、廣告類以及一句話新聞之后,剔除了標(biāo)題類似“記住那歷史瞬間”以及“報(bào)告”、“宣言”類主題意義不明顯的新聞之后,隨機(jī)抽取100篇新聞參與實(shí)驗(yàn)。在實(shí)驗(yàn)進(jìn)行之前,使用正則表達(dá)式結(jié)合標(biāo)點(diǎn)符號(hào)進(jìn)行斷句處理,使用NLPIR2015進(jìn)行分詞和詞性標(biāo)注。在詞向量計(jì)算部分,采用本文第2章《人民日?qǐng)?bào)》語料訓(xùn)練的Word-2vec模型作為詞向量計(jì)算基礎(chǔ)資源。邀請(qǐng)一名漢語語言文學(xué)專業(yè)碩士研究生手動(dòng)標(biāo)記這100篇新聞?wù)闹信c標(biāo)題最為相似的句子作為參考答案。
實(shí)驗(yàn)過程中,加上本文提出的句子相似度算法,共有4種算法參與對(duì)比分析,分別為:(1)基于字面特征的句子相似度算法;(2)基于多特征融合的句子相似度算法;(3)融合詞向量與字面特征的句子相似度算法;(4)融合詞向量的多特征句子相似度算法。
為保證實(shí)驗(yàn)的順利進(jìn)行,方便驗(yàn)證各個(gè)算法的實(shí)際應(yīng)用效果,本文對(duì)參與實(shí)驗(yàn)的算法進(jìn)行了全部的編碼實(shí)現(xiàn),并開發(fā)了相應(yīng)的句子相似度計(jì)算與實(shí)驗(yàn)系統(tǒng),主界面如圖3所示。
該實(shí)驗(yàn)系統(tǒng)能夠加載不同的詞向量模型,能夠基于上述4種算法,通過設(shè)置不同的參數(shù),分別從新聞文本中找出與標(biāo)題最為相似的句子,并輸出統(tǒng)計(jì)結(jié)果。為提高系統(tǒng)的應(yīng)用價(jià)值,該系統(tǒng)采用了開放式設(shè)計(jì),不僅能夠支持中文,而且可以支持其他語種;不僅能夠支持新聞?lì)愇谋?,也可以支持其他類似格式文本,以期為后續(xù)學(xué)者提供一個(gè)便捷的句子相似度研究與實(shí)驗(yàn)平臺(tái)1))實(shí)驗(yàn)數(shù)據(jù)、實(shí)驗(yàn)結(jié)果、算法源代碼、實(shí)驗(yàn)系統(tǒng)程序及源代碼下載地址為http://www.kaxiba.com/sim2015.zip。。
Fig.3 Main interface of sentence similarity computing experiment system圖3 句子相似度計(jì)算實(shí)驗(yàn)系統(tǒng)主界面
4.2 實(shí)驗(yàn)結(jié)果分析
在實(shí)驗(yàn)過程中,本文以10篇、20篇、50篇、100篇分段統(tǒng)計(jì)各種算法的準(zhǔn)確率P@10、P@20、P@50和P@100,并統(tǒng)計(jì)平均準(zhǔn)確率P@avg,α、β、γ、δ的取值分別為0.5、0.3、0.2、0.8,加權(quán)系數(shù)k為1.5。為方便表示,上述4種算法分別對(duì)應(yīng)簡(jiǎn)稱為L(zhǎng)M、MFM、LM_W2V和MFM_W2V算法。在分析過程中,主要考察多特征的引入對(duì)句子相似度計(jì)算準(zhǔn)確率的影響,詞向量的引入對(duì)句子相似度的影響,以及4種不同的句子相似度計(jì)算方法的計(jì)算效果。
(1)多個(gè)特征的引入對(duì)句子相似度計(jì)算的影響?;谧置嫣卣鞯乃惴ê突诙嗵卣魅诤系乃惴ㄔ诒緦?shí)驗(yàn)中取得的準(zhǔn)確率值對(duì)比如圖4所示??梢钥闯?,對(duì)于僅基于字面重疊的算法而言,當(dāng)引入詞的連續(xù)性特征和句子中重疊詞塊的順序特征后,準(zhǔn)確率得到了改善。在實(shí)驗(yàn)數(shù)據(jù)較少時(shí),統(tǒng)計(jì)特征不夠明顯,多特征的改善作用不突出,當(dāng)超過20篇實(shí)驗(yàn)語料后,基于多特征融合的句子相似度計(jì)算方法能夠取得約10%準(zhǔn)確率的提升。可以認(rèn)為,這兩項(xiàng)特征的融入提高了句子相似度計(jì)算的準(zhǔn)確性。
Fig.4 Accuracy of LM and MFM algorithms圖4LM和MFM兩種算法的準(zhǔn)確率
(2)詞向量的引入對(duì)句子相似度計(jì)算的影響。隨后,本文在前述兩種算法的基礎(chǔ)上融入詞向量特征,考察詞向量特征引入能否提高句子相似度計(jì)算的準(zhǔn)確率。引入詞向量特征后的對(duì)比結(jié)果如圖5和圖6所示。
Fig.5 Accuracy of LM and LM_W2V algorithms圖5LM和LM_W2V兩種算法的準(zhǔn)確率
Fig.6 Accuracy of MFM and MFM_W2V algorithms圖6MFM和MFM_W2V兩種算法的準(zhǔn)確率
從圖5中可以看出,基于字面的句子相似度計(jì)算方法在融入詞向量特征后,取不同比率的實(shí)驗(yàn)語料,均能夠得到較為明顯的準(zhǔn)確率提升,平均準(zhǔn)確率提升約9%。同時(shí),兩種算法的準(zhǔn)確率變化趨勢(shì)較為一致,可以認(rèn)為,詞向量的引入對(duì)于提升基于字面的句子相似度計(jì)算方法的準(zhǔn)確率起到了積極的作用。
圖6顯示了當(dāng)在多個(gè)特征的基礎(chǔ)上再融入詞向量特征后句子相似度計(jì)算的準(zhǔn)確率情況。不難發(fā)現(xiàn),融合詞向量特征后,當(dāng)取不同比率的實(shí)驗(yàn)數(shù)據(jù)時(shí)依然能夠提升句子相似度計(jì)算的準(zhǔn)確性,平均提升準(zhǔn)確率約5個(gè)百分點(diǎn)。同時(shí),從整體上看,融入詞向量的多特征句子相似度計(jì)算方法準(zhǔn)確率趨勢(shì)仍然和僅基于多特征計(jì)算的方法保持大體一致。
綜合圖5與圖6可以得出,融合詞向量特征能夠提升句子相似度計(jì)算的準(zhǔn)確率,當(dāng)特征較少時(shí)作用更為明顯。
(3)各種相似度算法總體結(jié)果對(duì)比。為從總體上觀察實(shí)驗(yàn)中各種方法取得的準(zhǔn)確率,圖7給出了實(shí)驗(yàn)中4種句子相似度計(jì)算方法在不同比率實(shí)驗(yàn)數(shù)據(jù)條件下取得的平均準(zhǔn)確率情況。
Fig.7 Accuracy of 4 sentence similarity calculation methods圖7 4種句子相似度計(jì)算方法準(zhǔn)確率
從圖7中可以觀察到,特征的選取以及選取特征的數(shù)量對(duì)句子相似度計(jì)算有著明顯的影響。在相同的條件下,詞向量的融入能夠明顯提升句子相似度計(jì)算的準(zhǔn)確性。同時(shí)本文設(shè)計(jì)的融合詞向量的多特征句子相似度計(jì)算方法能夠取得相對(duì)更好的準(zhǔn)確率。
4.3 相關(guān)結(jié)論
在句子相似度計(jì)算中,字面重疊和詞向量特征屬于句子中詞義層面的計(jì)算,可以視為句子中詞義層面的特征;重疊詞的連續(xù)性、在句子中的語序以及兩句的句長(zhǎng)特征則傾向于歸類為句子結(jié)構(gòu)層面的特征。通過上文實(shí)驗(yàn)不難得出如下結(jié)論:
(1)在句子相似度計(jì)算時(shí),通過詞的語義層面或句子結(jié)構(gòu)層面的優(yōu)化,均有利于提升句子相似度計(jì)算的準(zhǔn)確性。
(2)單個(gè)層面的優(yōu)化結(jié)果往往不如多個(gè)層面融合的結(jié)果更能提升句子相似度計(jì)算的準(zhǔn)確性。如圖7所示,融合詞向量與字面特征的句子相似度算法并沒有優(yōu)于沒有融入詞向量的多特征融合的句子相似度算法。
(3)詞向量的融入能夠提升句子中所包含詞語義層面計(jì)算的準(zhǔn)確性,同時(shí)結(jié)合句子結(jié)構(gòu)層面的特征,能夠取得相對(duì)最好的句子相似度計(jì)算準(zhǔn)確率。
句子相似度計(jì)算在自然語言處理領(lǐng)域中是一項(xiàng)基礎(chǔ)性研究工作,伴隨著自然語言處理的發(fā)展,相關(guān)方法不斷演進(jìn)。本文對(duì)前人的研究進(jìn)行了歸類,總結(jié)了前人的研究成果,并給出了具有代表性方法的計(jì)算公式?;谠~向量的語義表示近年來在自然語言處理研究中得到了廣泛的關(guān)注。首先詳細(xì)分析了詞向量與語義相似度計(jì)算的關(guān)系,基于《人民日?qǐng)?bào)》語料運(yùn)用Word2vec工具訓(xùn)練了相關(guān)的語義相似度計(jì)算模型;隨后詳細(xì)描述了融合詞向量的多特征句子相似度計(jì)算方法,包括方法的整體框架流程、實(shí)現(xiàn)步驟及相關(guān)的計(jì)算公式。基于前人的研究與本文提出的方法,設(shè)計(jì)實(shí)現(xiàn)了4種句子相似度計(jì)算方法,開發(fā)了相應(yīng)的句子相似度實(shí)驗(yàn)系統(tǒng),并基于《人民日?qǐng)?bào)》語料進(jìn)行了較為詳盡的實(shí)驗(yàn)。最后從多個(gè)特征的引入對(duì)句子相似度計(jì)算的影響、詞向量對(duì)句子相似度計(jì)算的影響和4種句子相似度計(jì)算方法的總體準(zhǔn)確率3個(gè)層面分析討論了實(shí)驗(yàn)結(jié)果,表明了本文方法的有效性及可行性,并基于前文的算法與實(shí)驗(yàn)分析,給出了相關(guān)結(jié)論。
未來的研究將在本文的基礎(chǔ)上,一方面嘗試采用不同的方法在不同體裁的文本上進(jìn)行測(cè)試,比如在微博、短信息等短文本上的測(cè)試情況;另一方面擬擴(kuò)大語種范圍,測(cè)試本文方法在英文、俄文等語言上的模型、參數(shù)選擇和實(shí)際應(yīng)用效果等。
[1]Cranias L,Papageorgiou H,Piperidis S.A matching technique in example-based machine translation[C]//Proceedings of the 15th Conference on Computational Linguistics,Kyoto,Japan,Aug 5-9,1994.Stroudsburg,USA:ACL,1994: 100-104.
[2]Lin C Y,Och F J.Automatic evaluation of machine translation quality using longest common subsequence and skip-bigram statistics[C]//Proceedings of the 42nd Annual Meeting on Association for Computational Linguistics,Barcelona, Spain,Jul 21-26,2004.Stroudsburg,USA:ACL,2004:605.
[3]Pradhan N,Gyanchandani M,Wadhvani R.A review on text similarity technique used in IR and its application[J]. International Journal of Computer Applications,2015,120 (9):29-34.
[4]Adafre S F,Rijke D M.Finding similar sentences across multiple languages in Wikipedia[C]//Proceedings of the 11th Conference of the European Chapter of the Association for Computational Linguistics,Trento,Italy,Apr 3-7,2006. Stroudsburg,USA:ACL,2006:62-69.
[5]Sarkar K,Saraf K,Ghosh A.Improving graph based multidocument text summarization using an enhanced sentence similarity measure[C]//Proceedings of the 2nd IEEE International Conference on Recent Trends in Information Systems,Kolkata,India,Jul 9-11,2015.Piscataway,USA:IEEE, 2015:359-365.
[6]Lin Y S,Jiang J Y,Lee S J.A similarity measure for text classification and clustering[J].IEEE Transactions on Knowledge and Data Engineering,2014,26(7):1575-1590.
[7]Zhang Lin,Hu Jie.Sentence similarity computing for FAQ question answering system[J].Journal of Zhengzhou University:Natural Science Edition,2010,42(1):57-61.
[8]Lan Yanling,Chen Jianchao.Chinese sentence structures similarity computation based on POS and POS dependency [J].Computer Engineering,2011,37(10):47-49.
[9]Chen Lisha.The research and implementation on WordNetbased sentence similarity of automatic question answering system[D].Guangzhou:South China University of Technology,2014.
[10]Xia Tian.Study on Chinese words semantic similarity computation[J].Computer Engineering,2007,33(6):191-194.
[11]Tian Jiule,Zhao Wei.Words similarity algorithm based on Tongyici cilin in semantic Web adaptive learning system[J]. Journal of Jilin University:Information Science Edition, 2010,28(6):602-608.
[12]Zhang Peiying.Model for sentence similarity computing based on multi-features combination[J].Computer Engineering andApplications,2010,46(26):136-137.
[13]Brown P F,Desouza P V,Mercer R L,et al.Class-based ngram models of natural language[J].Computational Linguistics,1992,18(4):467-479.
[14]Mikolov T,Kombrink S,Burget L,et al.Extensions of recurrent neural network language model[C]//Proceedings of the 2011 IEEE International Conference on Acoustics,Speech and Signal Processing,Prague,Czech,May 22-27,2011. Piscataway,USA:IEEE,2011:5528-5531.
[15]Devlin J,Zbib R,Huang Z,et al.Fast and robust neural network joint models for statistical machine translation[C]// Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics,Baltimore,USA,Jun 23-25, 2014.Stroudsburg,USA:ACL,2014:1370-1380.
[16]Zhang Jian,Qu Dan,Li Zhen.Recurrent neural network language model based on word vector features[J].Pattern Recognition andArtificial Intelligence,2015,28(4):299-305.
[17]Bengio Y.Deep learning of representations:looking forward [C]//LNCS 7978:Proceedings of the 1st International Conference on Statistical Language and Speech Processing,Tarragona,Spain,Jul 29-31,2013.Berlin,Heidelberg:Springer, 2013:1-37.
[18]Mikolov T,Chen K,Corrado G,et al.Efficient estimation of word representations in vector space[EB/OL].[2015-10-15]. http://arxiv.org/pdf/1301.3781v3.pdf.
[19]Yu Mo,Dredze M.Improving lexical embeddings with semantic knowledge[C]//Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, Baltimore,USA,Jun 23-25,2014.Stroudsburg,USA:ACL, 2014:545-550.
[20]Xiong Fulin,Deng Yihao,Tang Xiaosheng.The architecture of Word2vec and its application[J].Journal of Nanjing Normal University:Engineering and Technology Edition,2015, 15(1):43-48.
[21]Zhang Dongwen,Xu Hua,Su Zengcai,et al.Chinese comments sentiment classification based on Word2vec and SVM [J].Expert Systems withApplications,2015,42(4):1857-1863.
[22]Iyyer M,Boyd-Graber J,Daumé III H.Generating sentences from semantic vector space representations[C]//Proceedings of the 2014 Conference on Neural Information Processing Systems Workshop on Learning Semantics,Montréal,Canada,Dec 8-13,2014.
[23]Singh P.Decompositional semantics for document embedding[D].Indian Institute of Technology Kanpur,2015.
[24]Niu Liqiang,Dai Xinyu.Topic2Vec:learning distributed representations of topics[EB/OL].[2015-10-15].http://arxiv. org/pdf/1506.08422.pdf.
[25]Matt K,Yu Sun,Nicholas K,et al.From word embeddings to document distances[C]//Proceedings of the 32nd International Conference on Machine Learning,Lille,France,Jul 6-11,2015:957-966.
[26]Wolf L,Hanani Y,Bar K,et al.Joint Word2vec networks for bilingual semantic representations[J].International Journal of Computational Linguistics and Applications,2014,5 (1):27-44.
[27]Goldberg Y,Levy O.Word2vec explained:deriving Mikolov et al.'s negative-sampling word-embedding method[EB/OL]. [2015-10-15].http://arxiv.org/pdf/1402.3722.pdf.
[28]Su Zengcai,Xu Hua,Zhang Dongwen,et al.Chinese sentiment classification using a neural network tool—Word2vec [C]//Proceedings of the 2014 International Conference on Multisensor Fusion and Information Integration for Intelligent Systems,Beijing,Sep 28-29,2014.Piscataway,USA: IEEE,2014:1-6.
附中文參考文獻(xiàn):
[7]張琳,胡杰.FAQ問答系統(tǒng)句子相似度計(jì)算[J].鄭州大學(xué)學(xué)報(bào):理學(xué)版,2010,42(1):57-61.
[8]藍(lán)雁玲,陳建超.基于詞性及詞性依存的句子結(jié)構(gòu)相似度計(jì)算[J].計(jì)算機(jī)工程,2011,37(10):47-49.
[9]陳麗莎.自動(dòng)問答系統(tǒng)中基于WordNet的句子相似度計(jì)算研究與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2014.
[10]夏天.漢語詞語語義相似度計(jì)算研究[J].計(jì)算機(jī)工程, 2007,33(6):191-194.
[11]田久樂,趙蔚.基于同義詞詞林的詞語相似度計(jì)算方法[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2010,28(6):602-608.
[12]張培穎.多特征融合的語句相似度計(jì)算模型[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(26):136-137.
[16]張劍,屈丹,李真.基于詞向量特征的循環(huán)神經(jīng)網(wǎng)絡(luò)語言模型[J].模式識(shí)別與人工智能,2015,28(4):299-305.
[20]熊富林,鄧怡豪,唐曉晟.Word2vec的核心架構(gòu)及其應(yīng)用[J].南京師范大學(xué)學(xué)報(bào):工程技術(shù)版,2015,15(1):43-48.
LI Feng was born in 1982.He received the Ph.D.degree in computational linguistics from PLA University of Foreign Languages in 2012.His research interests include natural language processing,big data analytics and corpus linguistics,etc.
李峰(1982—),男,河南固始人,2012年于解放軍外國語學(xué)院計(jì)算語言學(xué)專業(yè)獲得博士學(xué)位,主要研究領(lǐng)域?yàn)樽匀徽Z言處理,大數(shù)據(jù)分析,語料庫語言學(xué)等。
HOU Jiaying was born in 1993.She is an M.S.candidate at Kunming University of Science and Technology.Her research interests include nature language processing and information retrieval,etc.
侯加英(1993—),女,山東泰安人,昆明理工大學(xué)碩士研究生,主要研究領(lǐng)域?yàn)樽匀徽Z言處理,信息檢索等。
ZENG Rongren was born in 1973.He received the M.S.degree in computer science and technology from National University of Defense Technology in 1997.His research interests include information system design,artificial intelligence and radio frequency identification,etc.
曾榮仁(1973—),男,福建莆田人,1997年于國防科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)獲得碩士學(xué)位,主要研究領(lǐng)域?yàn)樾畔⑾到y(tǒng)設(shè)計(jì),人工智能,射頻識(shí)別等。
LING Chen was born in 1980.He graduated from PLA University of Science and Technology in 2001.His research interests include big data analysis,information system design and artificial intelligence,etc.
凌晨(1980—),男,山東淄博人,2001年畢業(yè)于解放軍理工大學(xué),主要研究領(lǐng)域?yàn)榇髷?shù)據(jù)分析,信息系統(tǒng)設(shè)計(jì),人工智能等。
Research on Multi-Feature Sentence Similarity Computing Method with Word Embedding*
LI Feng1,2+,HOU Jiaying3,ZENG Rongren1,LING Chen1
1.Logistics Science Research Institute of PLA,Beijing 100166,China
2.School of Computer Science and Engineering,Beihang University,Beijing 100191,China
3.School of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650504,China
+Corresponding author:E-mail:li_bopr@126.com
Based on the summarization of sentence similarity computing methods,this paper applies 34 000 pieces of texts of People's Daily to train word vector space model for semantic similarity computing.Then,based on the trained word vector model,this paper designs a multi-feature sentence similarity computing method,which takes both word and sentence structure features into consideration.Firstly,the method takes note of possible effects of the number of overlapping words and word continuity,and then applies word vector model to calculate the semantic similarity of non-overlapping words.Regarding the aspect of sentence structure,the method takes both overlapping word order and sentence length conformity into consideration.Finally,this paper designs and implements four different sentence similarity calculating methods,and further develops an experimental system.The experimental results show that the method proposed in this paper can get satisfactory results and the combination and optimization upon the features of words and sentence structures can improve the accuracy of sentence similarity calculating.
word embedding;sentence similarity;Word2vec;algorithm design
10.3778/j.issn.1673-9418.1604029
A
TP391
*The National Natural Science Foundation of China under Grant No.61370126(國家自然科學(xué)基金);the National High Technology Research and Development Program of China under Grant No.2015AA016004(國家高技術(shù)研究發(fā)展計(jì)劃(863計(jì)劃));the National Social Science Foundation of China under Grant No.15GJ003-154(國家社會(huì)科學(xué)基金);the Fund of the State Key Laboratory of Software Development Environment under Grant No.SKLSDE-2015ZX-16(軟件開發(fā)環(huán)境國家重點(diǎn)實(shí)驗(yàn)室探索性自主研究課題基金).
Received 2016-04,Accepted 2016-06.
CNKI網(wǎng)絡(luò)優(yōu)先出版:2016-06-23,http://www.cnki.net/kcms/detail/11.5602.TP.20160623.1401.020.html
LI Feng,HOU Jiaying,ZENG Rongren,et al.Research on multi-feature sentence similarity computing method with word embedding.Journal of Frontiers of Computer Science and Technology,2017,11(4):608-618.