国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于句向量的文本相似度計(jì)算方法

2020-07-14 00:51:58劉繼明于敏敏
科學(xué)技術(shù)與工程 2020年17期
關(guān)鍵詞:詞序詞頻語(yǔ)義

劉繼明,于敏敏,袁 野

(重慶郵電大學(xué)經(jīng)濟(jì)管理學(xué)院電子商務(wù)與現(xiàn)代物流重點(diǎn)實(shí)驗(yàn)室,重慶 400065)

為了提高問答系統(tǒng)的性能,對(duì)于用戶輸入的常問問題,通常采用面向常見問題集FAQ(frequently asked questions)庫(kù)的問答策略。基于FAQ庫(kù)的限定域自動(dòng)問答系統(tǒng)由于更具實(shí)用性而成為自然語(yǔ)言處理領(lǐng)域的研究熱點(diǎn),而問題之間的相似度計(jì)算是FAQ中最關(guān)鍵的技術(shù)。問答系統(tǒng)中的句子相似度是指兩個(gè)問題的匹配符合程度,相似度用0~1之間的數(shù)值表示,數(shù)值越大兩個(gè)句子越相似[1]。

目前常見的計(jì)算句子相似度的方法有基于統(tǒng)計(jì)的、基于語(yǔ)義的、基于句法結(jié)構(gòu)的、基于編輯距離的以及詞向量的方法[2]?;诮y(tǒng)計(jì)的方法以詞頻-逆文檔頻率(term frequency-inverse document frequency, TF-IDF)算法及其改進(jìn)算法為主,根據(jù)詞頻衡量該詞在句子中的重要程度并以此賦予權(quán)重,通過計(jì)算向量距離表示句子之間相似度。該方法主要從詞的表面特征進(jìn)行匹配,計(jì)算復(fù)雜度低,速度快,但缺點(diǎn)是沒有考慮詞的語(yǔ)義本身,無(wú)法識(shí)別同義詞或近義詞[3]?;谡Z(yǔ)義信息的方法通過《同義詞詞林》《知網(wǎng)》、WordNet等語(yǔ)義資源對(duì)通用詞匯進(jìn)行擴(kuò)展,識(shí)別問句中的同義或近義信息,從而提高問句的匹配度。但該方法受限于知識(shí)源,不適用特定領(lǐng)域,且對(duì)人力成本和語(yǔ)言學(xué)知識(shí)要求高。基于句法結(jié)構(gòu)的方法通過分析一個(gè)句子中的各個(gè)成分的依存關(guān)系得到有效配對(duì),再計(jì)算有效配對(duì)之間的相似度得到句子之間相似度[4]。該方法引入句法特征,體現(xiàn)了句子內(nèi)部的結(jié)構(gòu),但沒有考慮語(yǔ)義在句子中的作用,現(xiàn)有的依存句法分析準(zhǔn)確率并不高?;诰庉嬀嚯x的方法以詞串之間變化所需要的最少的編輯操作次數(shù)作為變量,衡量句子之間的相似度。雖然考慮了詞語(yǔ)順序,但是這種關(guān)系變化太過機(jī)械,無(wú)法體現(xiàn)出詞語(yǔ)在語(yǔ)句中不同位置對(duì)語(yǔ)義的影響?;谠~向量(word embedding)的方法[5]在大規(guī)模語(yǔ)料庫(kù)中訓(xùn)練詞向量,然后將問句轉(zhuǎn)化為由詞向量構(gòu)成的句向量計(jì)算問句的相似度。通過訓(xùn)練特定領(lǐng)域的語(yǔ)料獲得的詞向量模型,能有效克服詞典在特定領(lǐng)域作近義詞查詢時(shí)準(zhǔn)確度不高的問題。

基于詞向量的方法充分考慮語(yǔ)義特征并且解決了維度災(zāi)難問題,具有良好的性能?;谏窠?jīng)網(wǎng)絡(luò)的word2vec在大規(guī)模語(yǔ)料條件下訓(xùn)練出的詞向量包含了詞本身的含義以及詞與其他詞之間的聯(lián)系,是詞向量計(jì)算的有力工具。在進(jìn)行句子相似度計(jì)算時(shí),往往需要將詞向量轉(zhuǎn)化為句向量進(jìn)行相似度比較,平滑反頻率(smooth inverse frequency,SIF)算法能夠?qū)⒃~向量通過加權(quán)算法轉(zhuǎn)化為句向量,其核心思想是通過加權(quán)和去除噪聲得到句向量來(lái)計(jì)算句子相似度,相對(duì)于簡(jiǎn)單平均加權(quán)和TF-IDF加權(quán)具有絕對(duì)優(yōu)越性[6]。然而SIF算法主要從語(yǔ)義和詞頻角度進(jìn)行加權(quán)計(jì)算,未考慮詞性與詞序因素,因此,提出基于word2vec與SIF改進(jìn)的文本相似度計(jì)算方法,提高相似度計(jì)算的準(zhǔn)確度。

1 相關(guān)研究

1.1 詞向量表示

傳統(tǒng)的詞表示方式為獨(dú)熱表示(one-hot representation),它將語(yǔ)料中所有非重復(fù)詞語(yǔ)數(shù)量作為向量的維數(shù),每一個(gè)詞對(duì)應(yīng)該向量的一個(gè)維度,對(duì)應(yīng)位置的值為1,其余位全為0。假設(shè)詞表中有n個(gè)詞語(yǔ),“集裝箱”在詞表中處于第1個(gè),那么“集裝箱”詞向量表示為[1 0 0 0 …],“碼頭”在此表中處于第2個(gè),其詞向量表示為[0 1 0 0 0…],即詞表中的n個(gè)詞都有唯一的離散向量表示。One-Hot編碼方法簡(jiǎn)單,但缺點(diǎn)是容易引起維數(shù)災(zāi)難,且詞向量孤立,無(wú)法判別語(yǔ)義關(guān)系。1986年Hinton[7]基于Harris的分布假說(shuō)(distributional hypothesis)提出詞的分布式表示(distributional representation),能夠刻畫語(yǔ)義之間的相似度并且用維度較低的稠密向量表示詞語(yǔ),即具有相似上下文的詞,應(yīng)該具有相似的語(yǔ)義。例如“鐵路”“公路”和“蛋糕”3個(gè)詞中“鐵路”和“公路”相關(guān)性較大,這兩個(gè)詞對(duì)應(yīng)的詞向量距離就小。另外分布式表示通過使用較低維度的特征刻畫詞語(yǔ),大大降低了計(jì)算的復(fù)雜性。

2013年Mikolov等[8]開發(fā)的Word2vec作為深度學(xué)習(xí)模型中的一種分布式表達(dá)(distributed representation),能夠從大規(guī)模未經(jīng)標(biāo)注的語(yǔ)料中高效地生成詞的向量形式,且可以較好地適用于中文處理。其基本思想是通過訓(xùn)練將每個(gè)詞映射成高維實(shí)數(shù)向量,通過詞之間的距離判斷它們之間的語(yǔ)義相似度。word2vec包含兩種語(yǔ)言模型:CBOW(continuous bag-of-words model)和Skip-Gram(continuous skip-gram model),如圖1所示。CBOW和Skip-gram模型都包括輸入、投影和輸出3層,其中輸入與輸出層表示詞向量。不同的是,CBOW的目標(biāo)是根據(jù)上下文來(lái)預(yù)測(cè)當(dāng)前詞語(yǔ)的概率,Skip-gram則是根據(jù)當(dāng)前詞語(yǔ)來(lái)預(yù)測(cè)上下文的概率。CBOW模型能夠獲取更好的語(yǔ)法信息,因此主要采用word2vec的CBOW模型訓(xùn)練詞向量。

圖1 CBOW模型與Skip-gram模型Fig.1 CBOW model & Skip-gram model

1.2 句向量表示

關(guān)于詞向量(word embedding)的研究相對(duì)較早,目前分布式表示方式已經(jīng)相對(duì)成熟并得到廣泛應(yīng)用[9]。但從詞向量向句向量(sentence embedding)乃至段落向量(paragraph embedding)等的擴(kuò)展卻仍處于探索階段。詞向量可以通過均值模型或加權(quán)模型轉(zhuǎn)化為句向量。其中,最簡(jiǎn)單直接的方法是將句子中所有詞向量的平均值作為句向量,但這種方法的缺點(diǎn)是忽略了詞頻對(duì)句子的影響,認(rèn)為句子中的所有詞對(duì)于表達(dá)句子含義同樣重要。加權(quán)模型考慮到詞頻的影響,其效果要明顯優(yōu)于均值模型。TF-IDF加權(quán)平均詞向量以TF-IDF為權(quán)重,對(duì)所有詞向量加權(quán)得到句向量[10];SIF改進(jìn)了TF-IDF加權(quán)平均詞向量方法,它以SIF為權(quán)重對(duì)所有詞的詞向量加權(quán)平均,最后從中減掉第一主成分(principal component)的投影得到句向量[6]。

SIF模型以簡(jiǎn)潔的思想和優(yōu)異的性能成為句向量領(lǐng)域最新的強(qiáng)大基線。其句向量表示為

(1)

式(1)中:vS表示去除主成分前的句向量;S表示句子中詞的總數(shù);vw表示詞向量;a/[a+p(w)]表示句子S中詞w的權(quán)重,其中a為平滑系數(shù),取0.001;p(w)為(估計(jì)的)詞頻。式(1)表明頻率越低的詞權(quán)重越大,其在句子中的重要性也越大。

vS←vS-uuTvS

(2)

式(2)中最終的句子S的句向量vS為式(1)中的句向量減去句子中的共有信息(主成分)。其中uuTvS表示vS的最大主成分向量;u為去“所有構(gòu)成vs的矩陣”通過奇異值分解的特征矩陣;uT為u弘的轉(zhuǎn)置。即減去所有句子的共有信息,使得句子確保留下來(lái)的句子向量更能夠表示本身意思。

1.3 相似度算法

兩個(gè)句子的相似度可用歐式距離、余弦距離、杰卡德系數(shù)等公式計(jì)算[11],其中余弦距離應(yīng)用較為廣泛。余弦相似度指利用向量空間中兩個(gè)向量夾角的余弦值表示兩個(gè)個(gè)體間差異的大小程度,余弦值在0~1之間越接近0,兩個(gè)向量越相似。

2 算法設(shè)計(jì)

目前,對(duì)SIF算法計(jì)算出的句向量進(jìn)行相似度計(jì)算能夠準(zhǔn)確地匹配到FAQ庫(kù)中相似問句,取得較好的效果。SIF算法兼顧詞頻與語(yǔ)義信息,但缺點(diǎn)是未考慮詞性與詞序因素。因此,綜合考慮詞性、詞序、句法結(jié)構(gòu)、詞頻、語(yǔ)義信息,從詞性和詞序方面提出基于句向量的句子相似度計(jì)算方法。具體步驟如下。

步驟1:將預(yù)處理后的文本sn和sm采用詞集合s′n和s′m表示。

步驟2:采用word2vec獲得每個(gè)詞的詞向量,采用詞性消減因子為每個(gè)詞賦詞性調(diào)節(jié)權(quán)重因子wp;最終權(quán)重為wp與SIF原始權(quán)重之積。

步驟3:利用調(diào)節(jié)后的權(quán)重將每個(gè)文本的詞向量相加,獲得句向量。

步驟4:利用余弦距離公式計(jì)算用戶輸入問句與FAQ問題庫(kù)中每個(gè)問句的相似度并獲取前5%相似句集合T。

步驟5:采用詞序的方法計(jì)算T中的句子與測(cè)試句子的詞序相似度simo并與SIF方法進(jìn)行線性加權(quán),得到最終相似度得分。基于SIF問句相似度算法的基本流如圖2所示

圖2 基于SIF問句相似度算法的基本流程Fig.2 Basic flow based on SIF question similarity algorithm

2.1 引入詞性消減因子調(diào)節(jié)關(guān)鍵詞權(quán)重系數(shù)

除詞頻外,詞性也是判斷詞語(yǔ)重要性的重要指標(biāo)。漢語(yǔ)詞語(yǔ)中實(shí)詞有6類:動(dòng)詞、名詞、形容詞、量詞、數(shù)詞和代詞,虛詞也有6類:介詞、副詞、助詞、嘆詞、語(yǔ)氣詞和連詞。一般情況下,動(dòng)詞、名詞和形容詞是句子的核心詞,應(yīng)該給予更高的權(quán)重,其中動(dòng)詞在句子中的作用尤為重要。同時(shí),查詢的意圖往往依賴于動(dòng)詞的位置,動(dòng)詞越接近句子的末尾,越能代表整個(gè)句子的意思,其重要程度也相對(duì)越高[12],因此還應(yīng)該考慮動(dòng)詞所處句子的位置。例如:“我/可以/申請(qǐng)/退貨/嗎”,“申請(qǐng)”和“退貨”都是動(dòng)詞,“退貨”位于“申請(qǐng)”之后,更能反映整個(gè)句子的意思。為了表示詞語(yǔ)位置與權(quán)重關(guān)系,按逆序法分析詞語(yǔ)和句子。若句子中的詞為動(dòng)詞、名詞、形容詞,則詞性調(diào)節(jié)權(quán)重因子為

wp={scoremin,score-decay}, 0

(3)

式(3)既考慮了不同詞性的重要程度,也考慮了不同位置的詞的重要性,即越靠近句尾的詞語(yǔ)更能說(shuō)明句子的意圖。其中,wp為詞性調(diào)節(jié)權(quán)重因子,其大小取決于詞性及詞在句中的位置;scoremin表示每類詞給定的下限值,它保證了所有詞性的詞的最低權(quán)重大于0,不同詞性的下限值設(shè)定為:1>動(dòng)詞>名詞>形容詞>其他>0;decay為詞性消減權(quán)重,表示句子中的關(guān)鍵詞隨著單詞接近句首而變小的幅度。以動(dòng)詞為例,“我/可以/申請(qǐng)/退貨/嗎”,假定decay=0.2,那么按照逆序法,“退貨”一詞為第一個(gè)動(dòng)詞,假定其權(quán)重為1,那么“申請(qǐng)”一詞的詞性權(quán)重為1-0.2=0.8。句向量的權(quán)重系數(shù)awp/[a+p(w)],句向量表示為

(4)

2.2 融合詞序相似度優(yōu)化相似度值

人類很容易處理詞序信息,然而對(duì)于計(jì)算機(jī)來(lái)說(shuō),在理解自然語(yǔ)言的計(jì)算方法中加入詞序信息是一個(gè)很大的挑戰(zhàn)。詞序是指詞在詞組或句子里的先后次序,它包含了句子所傳達(dá)的語(yǔ)義和語(yǔ)法信息。在漢語(yǔ)中,即使包含完全相同詞語(yǔ)的兩個(gè)句子,若詞語(yǔ)位置發(fā)生微調(diào),他們所表達(dá)的意思也會(huì)發(fā)生改變。以下面兩句為例。

S1:那些北京來(lái)的客人很熱情。

S2:那些客人來(lái)北京很熱情。

S1和S2所包含的詞相同,但由于詞序存在差異,兩句話所表達(dá)的意思明顯不同。由于SIF加權(quán)算法僅僅將詞頻作為句向量加權(quán)的依據(jù),不考慮句子中詞語(yǔ)順序信息,因此通過SIF加權(quán)后得到的S1和S2的句向量完全相同。這種情況下,計(jì)算兩個(gè)句子之間相似度時(shí)考慮詞序問題會(huì)使結(jié)果更加精確。

關(guān)于詞序相似度,一種是通過找出兩個(gè)句子中既是相同詞語(yǔ)又在相同位置的詞語(yǔ)來(lái)計(jì)算詞序相似度[13]。另一種使用較多的是基于向量距離的詞序算法[14]?;谶@兩種計(jì)算詞序的思想,提出一種新的詞序相似度算法,其核心是S2中與S1重疊的詞的個(gè)數(shù)越多并且S2達(dá)到S1順序所需交換的次數(shù)越少,則兩句話的詞序相似度越大。公式表示為

0≤simo(S1,S2)≤1

(5)

首先,寫出待比較句子的特征順序向量。將句子S1=(w1,w2,w3,…,wn)的向量特征項(xiàng)順序作為標(biāo)準(zhǔn)順序,其對(duì)應(yīng)的特征順序向量為v1=(v1,v2,v3,…,vn)=(1,2,3,…,n),那么S2=(w1,w2,w3,…,wm)所對(duì)應(yīng)的順序特征向量v2是向量空間S2按照特征項(xiàng)在S1中生成的,沒有相同特征的位置用0表示[15]。以上述例句為例,將文本S1的向量特征順序作為標(biāo)準(zhǔn)順序S1=(那些,北京,來(lái),的,客人,很,熱情),其對(duì)應(yīng)的特征順序向量v1=(1,2,3,4,5,6,7),那么S2=(那些,客人,來(lái),北京,很,熱情)對(duì)應(yīng)的特征順序向量v2=(1,5,3,2,6,7)。

3 實(shí)驗(yàn)

3.1 實(shí)驗(yàn)數(shù)據(jù)及性能指標(biāo)

3.1.1 實(shí)驗(yàn)數(shù)據(jù)

詞向量訓(xùn)練常用質(zhì)量較好的中文語(yǔ)料庫(kù)為維基百科的中文語(yǔ)料庫(kù),它具有質(zhì)量高、領(lǐng)域廣泛而且開放的優(yōu)點(diǎn),因此本文采用2017年10月發(fā)布的維基百科中文數(shù)據(jù)作為word2vec的訓(xùn)練集。過濾掉標(biāo)點(diǎn)符號(hào)和其他無(wú)關(guān)符號(hào)等數(shù)據(jù)清洗之后,通過張華平等[16]研究的中文分詞工具NLPR漢語(yǔ)分詞系統(tǒng)(又名ICTCLAS)進(jìn)行分詞,形成提供學(xué)習(xí)訓(xùn)練的文本數(shù)據(jù)集,然后使用基于python語(yǔ)言的自然語(yǔ)言處理庫(kù)Gensim中word2vec模塊,采用CBOW模型,維度為200、窗口大小為10等參數(shù)對(duì)該文本數(shù)據(jù)集進(jìn)行學(xué)習(xí)訓(xùn)練得到詞向量模型文件。

FAQ庫(kù)語(yǔ)料來(lái)源由3部分組成共1 200個(gè)問答對(duì)。①?gòu)B門科技局提供的真實(shí)問答語(yǔ)料。②根據(jù)科技政策有關(guān)的等相關(guān)辦事指南及法律條文人工編寫的問答對(duì)。③網(wǎng)絡(luò)爬取相關(guān)語(yǔ)料。隨機(jī)抽取300條語(yǔ)料進(jìn)行人工改寫相似問句用于測(cè)試。

3.1.2 評(píng)價(jià)指標(biāo)

在智能問答系統(tǒng)方面,中國(guó)研究起步相對(duì)較晚,評(píng)價(jià)標(biāo)準(zhǔn)相對(duì)也不是很完善。召回率(recall)、準(zhǔn)確率(precision)和F測(cè)度值是檢測(cè)問答系統(tǒng)中常用的3個(gè)參數(shù)[17]。召回率是匹配到的相關(guān)問題數(shù)目與FAQ庫(kù)中所有相關(guān)問題數(shù)目的比率,衡量問答系統(tǒng)的查全率;準(zhǔn)確率是匹配到的相關(guān)問題數(shù)目與匹配到的問題總數(shù)的比率,衡量問答系統(tǒng)的查準(zhǔn)率;F測(cè)度值是把召回率和準(zhǔn)確率的函數(shù)兩個(gè)參數(shù)結(jié)合起來(lái)的綜合評(píng)價(jià)指標(biāo)。

從FAQ數(shù)據(jù)集中進(jìn)行問句匹配時(shí),把文檔分成4組:A組為系統(tǒng)匹配到的相關(guān)問句;B組為系統(tǒng)匹配到的不相關(guān)問句;C組為相關(guān)但系統(tǒng)沒有匹配到的問句;D組為不相關(guān)且系統(tǒng)未匹配到的問句。召回率與準(zhǔn)確率如圖3所示。

圖3 召回率與準(zhǔn)確率Fig.3 Recall rate and precision rate diagram

3.2 實(shí)驗(yàn)結(jié)果及分析

基于word2vec詞向量和SIF句向量模型提出一種融合詞性和詞序的句子相似度算法,為驗(yàn)證方法的有效性,分別采用基于SIF的方法、結(jié)合詞性消減因子調(diào)節(jié)SIF權(quán)重的方法、結(jié)合詞序的方法以及融合詞性和詞序的方法對(duì)條測(cè)試問句進(jìn)行相似度測(cè)試,測(cè)試問題個(gè)數(shù)為300個(gè)。實(shí)驗(yàn)結(jié)果如表1和圖4所示。

表1 4種相似度算法的實(shí)驗(yàn)對(duì)比Table 1 Experimental comparison of four similarity algorithms

圖4 4種句子相似度計(jì)算方法結(jié)果比較Fig.4 Comparison of results of four sentence similarity calculation methods

從以上試驗(yàn)結(jié)果可以看出,通過使用基于SIF的改進(jìn)算法,其所得的結(jié)果在準(zhǔn)確率、查全率和查準(zhǔn)率方面均要高于基準(zhǔn)SIF算法。同時(shí),由于加入了詞性和詞序因素,算法的復(fù)雜性也相對(duì)提高,平均用時(shí)增加了0.13 s,在正常范圍內(nèi)。這說(shuō)明不同詞的詞性對(duì)詞的重要程度有一定影響,詞序相似度在句子相似度計(jì)算中也發(fā)揮了作用,使計(jì)算結(jié)果更加準(zhǔn)確。

4 結(jié)論

提出了一種基于word2vec詞向量和SIF句向量模型的句子相似度計(jì)算方法,利用詞性及詞性消減因子調(diào)節(jié)SIF計(jì)算句子向量的參數(shù),并使用詞序相似度進(jìn)行加權(quán)計(jì)算,使句子相似度的度量結(jié)果更為準(zhǔn)確。在實(shí)驗(yàn)所用的語(yǔ)料中顯示,本文方法相比其他傳統(tǒng)的句子相似度算法能夠在相似度測(cè)試中獲得更好的效果,更加接近于人的相似排序。但算法對(duì)漢語(yǔ)中一些句法結(jié)構(gòu)的考慮還有欠缺,下一步將結(jié)合中文句法結(jié)構(gòu)對(duì)算法進(jìn)行改進(jìn),繼續(xù)提升句子相似度計(jì)算的準(zhǔn)確率。

猜你喜歡
詞序詞頻語(yǔ)義
論東坡詞的敘事藝術(shù)
基于詞頻分析法的社區(qū)公園歸屬感營(yíng)建要素研究
園林科技(2021年3期)2022-01-19 03:17:48
語(yǔ)言與語(yǔ)義
修改病句的妙招
孩子(2019年12期)2019-12-27 06:08:44
漢語(yǔ)搭配信息對(duì)詞匯識(shí)別的影響
俄漢語(yǔ)定語(yǔ)對(duì)比
“上”與“下”語(yǔ)義的不對(duì)稱性及其認(rèn)知闡釋
詞頻,一部隱秘的歷史
云存儲(chǔ)中支持詞頻和用戶喜好的密文模糊檢索
認(rèn)知范疇模糊與語(yǔ)義模糊
普兰店市| 涞源县| 太谷县| 栾川县| 关岭| 南通市| 军事| 贡觉县| 安庆市| 宜黄县| 睢宁县| 文山县| 全椒县| 苍山县| 蓬溪县| 休宁县| 双牌县| 东辽县| 道孚县| 个旧市| 江孜县| 旬邑县| 图木舒克市| 南雄市| 安丘市| 襄城县| 北票市| 盐池县| 天峨县| 菏泽市| 沙田区| 舞钢市| 景泰县| 察隅县| 黄山市| 冕宁县| 宁晋县| 漠河县| 三亚市| 华容县| 游戏|