• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      融合TextRank算法的中文短文本相似度計算

      2020-10-19 10:14:06盧佳偉
      電子科技 2020年10期
      關鍵詞:關鍵字向量詞語

      盧佳偉,陳 瑋,尹 鐘

      (上海理工大學 光電信息與計算機工程學院,上海 200093)

      文本相似度計算是自然語言處理任務中的一個重要課題。提高文本相似度的準確性是提高文本處理后續(xù)任務準確度的關鍵所在。

      目前大部分計算相似度的方法都會使用到基于向量空間模型(Vector Space Model,VSM)的方法[1]。傳統(tǒng)方法只考慮了詞語的頻率,僅采用詞頻逆文檔頻率(TF-IDF)的方法對文本進行處理,得到一個由TF-IDF值表示的矩陣。該矩陣通常存在著很大的稀疏性,且這種計算方法所參考的是詞語在文本中出現(xiàn)的頻率。因此,該模型只包含了統(tǒng)計信息而忽略了文本中詞與詞之間的語義關聯(lián)度[2]。文獻[3]基于知識庫和語料庫來分析詞語之間的語義相似度,最終提高了相似度算法的準確性。文獻[4]計算出關鍵詞加權的文本相似度,然后通過提取句子的主干成分對傳統(tǒng)基于語法語義模型的方法進行改進,得到文本主干的語義相似度,最后對這兩種相似度進行加權。文獻[5~6]提出基于統(tǒng)計的文本向量特征之間存在相關性的觀點,可以通過詞匯語義信息表示,以此來改進相似度算法。從以上相關研究可以看出,語義相似度逐漸成為文本相似度研究的傾向重點。

      隨著深度學習技術的發(fā)展,很多研究人員將詞向量應用到各種自然語言處理任務中并且取得了理想的效果。利用Word2vec模型將文本信息轉(zhuǎn)化為向量矩陣,通過計算向量空間的距離來表示文本語義上的相似度。文獻[7]采用Word2vec模型在中文語料上進行關鍵字提取的研究獲得了不錯的效果。文獻[8]使用Word2vec來計算詞語之間的相似度,將其作為TextRank的新的權重節(jié)點來提升關鍵字提取的性能。近年來, ELMO、GPT和BERT這些詞向量預訓練方法被相繼提出,其中BERT模型在NLP的11個任務中刷新了成績,取得了驚人的效果。BERT的模型架構(gòu)是一個多層雙向的轉(zhuǎn)換編碼器,與其他語言表示模型不同,BERT旨在通過聯(lián)合調(diào)節(jié)所有層中的上下文來預先訓練深度雙向表示模型,通過使用雙向信息來關聯(lián)上下文從而提升效果[9]。

      綜上所述,本文提出一種新的文本相似度計算方法,在融合改進的TextRank關鍵字提取算法的同時,分別采用Word2vec與Bert詞向量技術來對文本進行預處理,并且測試不同的距離計算公式以選取最優(yōu)的模型。通過對比其他算法可知,融合了TextRank與Bert詞向量的相似度計算方法獲得了良好的效果。

      1 改進的文本相似度計算方法

      本文提出一種新的文本相似度檢測方法,即融合關鍵字提取技術與詞向量方法的文本相似度計算。該方法首先對文本進行分詞、去停用詞的過濾處理,隨后使用關鍵字提取算法將文本的特征信息提取出來,也就是將文本的語義信息保留并除去冗余信息。然后,采用詞向量技術構(gòu)建詞向量空間。最后通過不同的向量距離公式計算文本之間的相似度。

      1.1 TF-IDF提取算法

      詞頻(Term Frequency,TF),即在文本中詞語的出現(xiàn)次數(shù)。然而在文本中出現(xiàn)次數(shù)較多的詞并不一定是關鍵詞,因此通常會構(gòu)建一個調(diào)整系數(shù)來確定一個詞的常見度,該權重為逆文檔頻率(Inverse Document Frequency,IDF),它的大小與一個詞的常見程度成反比。得到TF和IDF之后,兩個值的乘積即為TF-IDF值,其計算如式(1)和式(2)所示。TF-IDF值越高則表示該詞在文本中的重要性越強。

      (1)

      (2)

      該計算通常會對IDF做平滑處理,從而使語料庫中沒有出現(xiàn)的詞也可以得到一個合適的IDF值。如式(2)所示,分子、分母及整體式子都加1,以此來降低矩陣的稀疏性。上述兩式相乘即為TF-IDF值。TF-IDF算法具有簡單快速的特點,但是單純依靠“詞頻”來評判一個詞的重要性顯然是不夠的。

      1.2 改進的TextRank算法

      TextRank算法是一種基于圖論的排序算法。它的基本思想主要來源于谷歌的PageRank算法,通過把文本分割成若干組成單元(單詞、句子)并建立圖模型,利用投票機制對文本中的重要成分進行排序,僅利用單篇文檔本身的信息即可實現(xiàn)關鍵詞提取[10]。

      TextRank的模型一般由一個有向有權圖G=(V,E)來表示,V表示圖的節(jié)點,E表示圖的邊。圖中任意兩個節(jié)點Vi與Vj之間邊的權重為Wij,用于表示兩個節(jié)點之間邊連接的重要程度。對于一個給定的點Vi,lnVi為指向該點的點集合,Out(Vi)為Vi指向的點集合。點Vi的得分定義如式(3)所示。

      (3)

      其中,d代表阻尼系數(shù),一般取值為0.85,其意義在于能夠表示當前節(jié)點向其他任意節(jié)點跳轉(zhuǎn)的概率,同時能夠讓權重穩(wěn)定地傳遞至收斂[11]。

      在關鍵字提取的過程中,候選關鍵詞的邊是由共現(xiàn)關系決定的,而共現(xiàn)關系又由共現(xiàn)窗口window影響。該窗口表示每次最多出現(xiàn)w個詞語,通過每次向右滑動一個窗口來建立詞語間的共現(xiàn)關系。在改進的算法中,本文將窗口window數(shù)量提升至5個,即考慮某關鍵詞的周圍10個詞語的共現(xiàn)關系,同時引入Word2vec詞向量來表征兩個節(jié)點詞,進一步增強關鍵詞與關鍵詞之間的相關性,改進的計算式如式(4)所示。

      (4)

      原式(3)中Wij即為點i與j組成的邊對應的權重值??紤]到詞語的Word2vec詞向量之間的關系,可以通過計算兩個詞向量之間向量矩陣的余弦距離,增加一個權重來進一步反饋出節(jié)點詞之間的相關性。如式(5)所示,Rvi、Rvj分別代表兩個詞的向量矩陣,cos函數(shù)計算參考式(6)。

      w2vij=cos(Rvi,Rvj)

      (5)

      通過加入詞向量相關性系數(shù)權重,改進了TextRank算法在詞匯語義關系上的不足,使得提取出的關鍵詞更加能夠突出某個事件,比如在一段文本中有3個詞匯,分別為科比、湖人、騎士。顯然前兩者之間的詞向量關系是大于后兩者的(在維基百科的詞向量訓練中,科比、湖人這兩個詞語一般是頻繁同時出現(xiàn)的)。因此科比、湖人兩個詞之間會有更高的相關性。在一段文本中,整體提取的關鍵字相關性增長后會更有利于文本主題信息的挖掘,從而能更好地計算文本相似度。

      1.3 Word2vec詞向量

      Word2vec主要采用詞袋模型(Continuous Bag-of-Words,CBOW)和跳字模型(Skip-Gram)兩種模型。CBOW模型和Skip-Gram模型都是在霍夫曼樹的基礎上實現(xiàn)的?;舴蚵鼧渲蟹侨~節(jié)點(子節(jié)點)儲存的中間向量的初始化值為零向量,葉節(jié)點所對應的單詞的詞向量是隨機初始化的。跳字模型是由當前詞語來預測上下文的概率,而詞袋模型則是根據(jù)上下文來預測當前詞語的概率。算法開始時,每一個單詞都是一個隨機N維向量,經(jīng)過神經(jīng)網(wǎng)絡的訓練之后,通過建立詞袋模型或跳字模型獲得每個單詞的最優(yōu)向量,隨之也就建立起詞向量空間。對于處理文本而言,Word2vec是當下尤為關鍵的一個技術[12]。

      CBOW是根據(jù)上下文的詞語預測當前詞語出現(xiàn)概率的模型。如圖1所示,該模型總共分為3層:INPUT層、PROJECTION層、OUTPUT層。

      INPUT層表示某個詞周圍n個窗口大小的詞的詞向量。n為2時,則表示當前詞的前后2個詞。借助Huffman樹,PROJECTION層的值沿著Huffman樹持續(xù)進行l(wèi)ogistic分類,其間不斷修正各中間向量和詞向量,最終處理完所有節(jié)點到達葉節(jié)點結(jié)束流程,完成w(t)的詞向量輸出。

      Skip-Gram模型也由INPUT層、PROJECTION層、OUTPUT層構(gòu)成,二者相比只有細微的不同。跳字模型的輸入是當前詞的詞向量,輸出為當前詞周圍n個窗口的詞向量,即通過當前詞來預測周圍的詞。如圖2所示,同樣構(gòu)建Huffman樹來完成詞向量的表示。

      本文依據(jù)Word2vec的模型方法,采用的是CBOW來訓練中文維基百科的語料,最終得到352 217個維度為300的詞向量。

      1.4 Bert詞向量

      BERT是一種新的語言表示模型,它使用Transformer的雙向編碼器表示。與之前的其他語言表示模型不同,BERT旨在通過聯(lián)合調(diào)節(jié)所有層中的上下文來預先訓練深度雙向表示。BERT提出一種新的預訓練目標,即遮蔽語言模型(Masked Language Model,MLM)來克服標準語言模型的單向性局限。MLM隨機遮蔽模型輸入中的一些Token,目標在于只通過遮蔽詞的語境來預測其原始詞匯ID。與從左到右的語言模型預訓練不同,MLM目標允許表征融合左右兩側(cè)的語境,以此來訓練出一個深度雙向Transformer[13]。具體的結(jié)構(gòu)圖如圖3所示。

      BERT模型輸出詞向量的方式如下圖4所示,對于每一個輸入的詞,它的表征包括Token Embeddings、段落表征(Segment Embeddings)和位置表征(Positions Embeddings)。其中每一句話使用CLS和SEP作為開頭和結(jié)尾的標記,單個段落文本使用一個Segment Embedding。最終的詞向量輸出結(jié)果為這3個Embedding層拼接而成。

      在之后的仿真實驗中,本文采用了官方預訓練好的中文BERT模型來對文本進行向量化處理,每一個測試文本生成的矩陣維度為768維。

      1.5 相似度距離計算

      經(jīng)過向量化處理之后,接下來則進行文本的相似度計算。在此之前,研究人員已經(jīng)提出了很多用于處理文本向量距離的計算方法,本文主要采用余弦距離和歐式距離這兩種方法來計算相似度。

      1.5.1 余弦距離

      余弦距離是使用余弦公式來計算文本間的向量距離,通過計算向量之間的夾角大小來判斷這兩個向量的相似度,它與向量各個維度的相對大小有關系,不會受到各個維度的直接數(shù)值影響。對于向量空間中的兩個點X和Y,其余弦距離如式(6)所示。

      (6)

      余弦的夾角取值為[-1,1],因此需要對余弦距離計算式進行歸一化[14]。這里采用式(7)將其閾值范圍歸一化到[0,1]。

      d1=0.5+0.5×cos(X,Y)

      (7)

      1.5.2 歐氏距離

      歐式距離(以下簡稱em)是一種非?;镜木嚯x運算公式,實際上也就是在空間中的兩個點的距離量度,和兩個點的坐標信息有關。對于X和Y這兩個點歐氏距離如式(8)所示。

      (8)

      同樣歐氏距離也需要對其進行歸一化,即進行如式(9)所示處理。

      d2=1/(1+em(X,Y))

      (9)

      最后,將以上兩種距離取平均值作為新的距離計算式,平均距離(以下簡稱mean),平均距離計算如下

      d3=(d1+d2)/2

      (10)

      本文使用式(7)、式(9)和式(10)進行文本相似度距離的計算,通常在計算時需要一個閾值來進行判定。參考以往研究人員的經(jīng)驗,本文將閾值設定為0.7,即超過0.7閾值的兩個文本認定為相似文本,反之則為不相似文本。

      2 實驗與分析

      本文實驗環(huán)境為:Windows10 Inter Core(TM)i5-7200U CPU @2.5GHz,使用Python3.5版本語言,采用 jieba分詞工具包以及Github開源項目肖涵博士的Bert-as-service包。所有實驗數(shù)據(jù)均提前采用分詞過濾詞的預處理[15]。

      2.1 數(shù)據(jù)集

      目前國內(nèi)外還沒有專門的中文文本相似度檢測的公共測試集。文獻[16]中采用了人工標注的50對中文語句作為數(shù)據(jù)集。文獻[4]中也通過采用200對從知網(wǎng)、百度、Google等平臺構(gòu)建的句子來進行仿真實驗。本文采用人工的方法構(gòu)建了400對語句,共計800篇新聞文本,分別來自各大新聞門戶網(wǎng)站,包括娛樂、體育、軍事等新聞的數(shù)據(jù),由實驗室成員精心標注分析,其中200對為相似文本,另外200對不相似。

      同時本文選用THUCNews數(shù)據(jù)集的新聞短文本進行測試。THUCNews是根據(jù)新浪新聞RSS訂閱頻道2005~2011年間的歷史數(shù)據(jù)篩選過濾生成,包含74萬篇新聞文檔(2.19 GB),均為UTF-8純文本格式。該數(shù)據(jù)集分為體育、財經(jīng)、房產(chǎn)、家居、教育、科技、時尚、時政、游戲、娛樂等10個類別。本文在此10類數(shù)據(jù)集上分別選出1 000篇共計10 000篇新聞短文本作為測試集。

      2.2 評估標準

      機器學習中常用的模型性能評估方法為召回率(Recall,R)、準確率(Precision,P),僅憑這兩項還無法整體評估出算法的性能,還需要引入F1值,F(xiàn)1的評估定義如式(11)所示。

      (11)

      2.3 實驗結(jié)果分析

      在進行相似度檢測前,還需要對提取的關鍵字數(shù)量進行測試,提取關鍵字的數(shù)量將會影響到算法的性能。由于本研究所選取的文本均為新聞文本,篇幅不長,所以設置文本提取的關鍵字測試字數(shù)為6、7、8、9、10、11、12、13、14、15。按照設置的關鍵字數(shù)在人工構(gòu)建的400對新聞短文本上使用TF-IDF算法(TI)、TextRank算法(TR)以及改進的TextRank算法(Imp-TR)上進行仿真實驗,主要在Word2vec詞向量模型上進行測試,實驗結(jié)果如圖5所示。

      從圖5中可以看出,各個組合算法模型的F1值都在隨著關鍵字提取數(shù)的增加而上升,但是在達到數(shù)量10之后,曲線開始變得平滑且部分模型的曲線出現(xiàn)下滑現(xiàn)象,說明關鍵字提取的字數(shù)對模型產(chǎn)生了影響,具體的算法模型數(shù)值參考表1。結(jié)合圖5和表1,在接下來的THUCNews數(shù)據(jù)集上將關鍵字提取數(shù)設置為10。

      表1 基于關鍵字提取數(shù)量的算法模型F1值表

      表2展示了不同相似度算法模型在人工選取數(shù)據(jù)集的準確率、召回率、F1值。W2v表示W(wǎng)ord2vec詞向量,括號內(nèi)數(shù)字表示獲得最佳性能的關鍵字提取字數(shù)。

      表2 人工選取數(shù)據(jù)集測試結(jié)果

      從表2中可以看出,詞向量距離計算式、關鍵字提取方法的引入和關鍵字提取字數(shù)都對模型最后的結(jié)果產(chǎn)生了影響。因此初步可以得出如下結(jié)論:(1)對比傳統(tǒng)的VSM向量空間結(jié)合TF-IDF矩陣的模型,本文提出的新相似度檢測方法效果更好;(2)采用關鍵字提取算法之后,相似度檢測的F1值得到了顯著的提升,并且在3種提取算法中,改進的TextRank算法性能稍稍領先;(3)3種距離計算式對模型的影響效果不大,但是使用cos余弦距離計算式有略微優(yōu)勢。

      僅在小樣本上得出如上結(jié)論顯然是不夠充分的,因此接下來在THUCNews大數(shù)據(jù)集上再次進行了仿真實驗,并且使用Word2vec和BERT兩種不同的詞向量預訓練方法進行對比。實驗結(jié)果如表3和表4所示。

      表3 THUCNews數(shù)據(jù)集測試結(jié)果-Word2vec

      表4 THUCNews數(shù)據(jù)集測試結(jié)果-BERT

      從表3和表4中可以看出,采用改進的TextRank算法的模型在大數(shù)據(jù)集上依然取得了較好的效果,進一步說明了本文所提改進的文本相似度算法的有效性。基于Word2vec的模型獲得了0.88的F1值得分,而在BERT模型上獲得了最好的效果,F(xiàn)1值提升到了0.932,同時其他采用BERT模型的方法都有著不錯的效果提升,相比于Word2vec,BERT預訓練詞向量方法有著更加出色的效果。

      3 結(jié)束語

      文本提出了一種新的文本相似度計算方法,融合了關鍵字提取算法與詞向量表征模型,采用3種不同的距離計算式計算文本相似度。其中,通過改進TextRank算法提高了關鍵字提取的效果,并通過引入Word2vec和BERT兩種預訓練詞向量方法超越了傳統(tǒng)的VSM向量空間模型。本研究在小樣本測試集上測試出關鍵字提取最佳字數(shù)后,在大樣本THUCNews數(shù)據(jù)集上再進行所有模型的仿真實驗。最終,BERT+Imp-TR-cos(改進的TextRank算法結(jié)合余弦距離公式與BERT詞向量)的組合模型獲得了最佳的F1值效果。

      猜你喜歡
      關鍵字向量詞語
      容易混淆的詞語
      向量的分解
      履職盡責求實效 真抓實干勇作為——十個關鍵字,盤點江蘇統(tǒng)戰(zhàn)的2021
      華人時刊(2022年1期)2022-04-26 13:39:28
      聚焦“向量與三角”創(chuàng)新題
      找詞語
      成功避開“關鍵字”
      詞語欣賞
      向量垂直在解析幾何中的應用
      向量五種“變身” 玩轉(zhuǎn)圓錐曲線
      一枚詞語一門靜
      丁青县| 贵定县| 天镇县| 颍上县| 武乡县| 麻城市| 咸丰县| 高邑县| 甘肃省| 扎赉特旗| 德令哈市| 阳高县| 临城县| 柳河县| 宁津县| 东乌| 道真| 增城市| 师宗县| 三门县| 盈江县| 潞西市| 阜城县| 维西| 定结县| 宁安市| 茶陵县| 玉林市| 尼玛县| 湖南省| 鲁山县| 阿鲁科尔沁旗| 巨鹿县| 图们市| 隆子县| 饶河县| 彭泽县| 莱芜市| 台安县| 德令哈市| 龙口市|