韓程程 李磊 劉婷婷 高明
摘要:綜述了語(yǔ)義文本相似度計(jì)算的最新研究進(jìn)展,主要包括基于字符串、基于統(tǒng)計(jì)、基于知識(shí)庫(kù)和基于深度學(xué)習(xí)的方法,針對(duì)每一類方法,不僅介紹了其中典型的模型和方法,而且深入探討了各類方法的優(yōu)缺點(diǎn);并對(duì)該領(lǐng)域的常用公開(kāi)數(shù)據(jù)集和評(píng)估指標(biāo)進(jìn)行了整理,最后討論并總結(jié)了該領(lǐng)域未來(lái)可能的研究方向。
關(guān)鍵詞:文本相似度;語(yǔ)義相似度;自然語(yǔ)言處理;知識(shí)庫(kù);深度學(xué)習(xí)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)志碼:A DOI:10.3969/j,issn,1000-5641.202091011
0引言
隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,海量信息在互聯(lián)網(wǎng)中不斷涌現(xiàn),文本是信息最重要的載體,研究文本信息的深度挖掘,對(duì)于人們快速而準(zhǔn)確地獲取所需內(nèi)容具有重要意義,語(yǔ)義文本相似度計(jì)算(semantic Textual Similarity)是聯(lián)系文本表示和上層應(yīng)用之間的紐帶,目前,在信息檢索(InformationRetrieval)領(lǐng)域,語(yǔ)義文本相似度計(jì)算在文本分類(Text classification)、文本聚類(Text clustering)、實(shí)體消歧(Entity Disambiguation)等任務(wù)上有著極其重要的作用;在人工智能領(lǐng)域,問(wèn)答系統(tǒng)(Q/ASystem)和智能檢索(Intelligent Retrieval)等任務(wù)也都需要語(yǔ)義文本相似度算法作為支撐,此外,語(yǔ)義文本相似度計(jì)算也廣泛應(yīng)用在抄襲檢測(cè)(Plagiarism Detection)、文本摘要(Text Summarization)、機(jī)器翻譯罔(Machine Translation)等自然語(yǔ)言處理(Natural Language Processing)任務(wù)中,因此,系統(tǒng)化地研究語(yǔ)義文本相似度算法具有非常重要的應(yīng)用價(jià)值。
給定兩段文本A和B,語(yǔ)義文本相似度計(jì)算旨在衡量?jī)啥挝谋驹谡Z(yǔ)義上的相近程度,通常,文本的語(yǔ)義相似度數(shù)值越小,則說(shuō)明兩個(gè)文本之間的語(yǔ)義差異性越大,即在語(yǔ)義層面上越不相似;反之,該數(shù)值越大,則說(shuō)明這兩個(gè)文本所表達(dá)出的語(yǔ)義越相似,由于人類語(yǔ)言表達(dá)十分復(fù)雜,文本當(dāng)中包含許多同義詞、縮略詞、否定詞等,還有多變的句法結(jié)構(gòu),都加大了語(yǔ)義文本相似度計(jì)算的難度,為了解決這些難題,學(xué)術(shù)界和工業(yè)界都進(jìn)行了大量的研究和實(shí)踐,提出了一系列針對(duì)語(yǔ)義文本相似度計(jì)算問(wèn)題的模型和方法。
由于語(yǔ)義文本相似度計(jì)算一直以來(lái)都是自然語(yǔ)言處理領(lǐng)域的熱點(diǎn)問(wèn)題之一,因此國(guó)內(nèi)外已經(jīng)有一些學(xué)者對(duì)已有的語(yǔ)義文本相似度計(jì)算方法進(jìn)行了系統(tǒng)整理,其中不乏一些優(yōu)秀的綜述論文,但他們的工作都主要集中在傳統(tǒng)的基于統(tǒng)計(jì)和基于知識(shí)庫(kù)的方法上,而近年來(lái),伴隨深度學(xué)習(xí)技術(shù)的快速發(fā)展,特別是2013年分布式詞向量問(wèn)世后,語(yǔ)義文本相似度計(jì)算領(lǐng)域取得了突破性的進(jìn)展,基于深度學(xué)習(xí)的語(yǔ)義文本相似度計(jì)算方法已經(jīng)逐漸成為該領(lǐng)域的主流方法,與已有的綜述文獻(xiàn)不同,本文在總結(jié)傳統(tǒng)方法的基礎(chǔ)上,特別聚焦在語(yǔ)義文本相似度計(jì)算的最新進(jìn)展上。
本文對(duì)現(xiàn)有的語(yǔ)義文本相似度計(jì)算方法進(jìn)行了系統(tǒng)的綜述,總體分類框架如圖1所示,本文將分小節(jié)依次對(duì)每一類方法進(jìn)行系統(tǒng)的介紹,本文的第1章主要介紹基于字符串的語(yǔ)義文本相似度算法;第2章主要介紹基于統(tǒng)計(jì)的語(yǔ)義文本相似度算法;第3章主要介紹基于知識(shí)庫(kù)的語(yǔ)義文本相似度算法;第4章主要介紹基于深度學(xué)習(xí)的語(yǔ)義文本相似度算法;第5章主要介紹語(yǔ)義文本相似度領(lǐng)域相關(guān)數(shù)據(jù)集及評(píng)價(jià)指標(biāo);最后,討論語(yǔ)義文本相似度計(jì)算的未來(lái)研究方向,并對(duì)全文進(jìn)行總結(jié)。
1基于字符串的語(yǔ)義文本相似度計(jì)算
基于字符串的方法都是直接對(duì)原始文本進(jìn)行比較,主要包括編輯距離(Levenshtein Distance,LD)、最長(zhǎng)公共子序列(Longest Common Sequence,LCS)、N_Gram和Jaccard相似度等,
編輯距離通常被用于句子的快速模糊匹配領(lǐng)域,以表示兩個(gè)文本之間,由一個(gè)轉(zhuǎn)換成另一個(gè)所需的最少編輯操作次數(shù),其中編輯操作包括增、刪、改三種,它既可以是字符級(jí)別,也可以是單詞級(jí)別,車(chē)萬(wàn)翔等利用大規(guī)模知識(shí)庫(kù)賦予不同編輯操作不同的權(quán)重,提出了改進(jìn)的編輯距離計(jì)算方法,同時(shí)考慮了詞序和部分語(yǔ)義信息,提高了編輯距離的算法性能。
最長(zhǎng)公共子序列(LCS)算法以兩個(gè)文本的最長(zhǎng)公共子文本的長(zhǎng)度來(lái)表征文本間的相似度,一個(gè)序列s任意刪除若干個(gè)字符得到的新序列T,則T叫作s的子序列,兩個(gè)序列x和Y的公共子序列中,長(zhǎng)度最長(zhǎng)的被定義為x和Y的最長(zhǎng)公共子序列(LCS),可以使用動(dòng)態(tài)規(guī)劃的方法計(jì)算兩個(gè)文本的最長(zhǎng)公共子序列以表征兩個(gè)文本的相似度。
N-Gram模型的基本思想是設(shè)置大小為Ⅳ的滑動(dòng)窗口,將文本內(nèi)容按照字符流或者單詞流的形式進(jìn)行窗口滑動(dòng)操作,形成多個(gè)長(zhǎng)度為Ⅳ的文本片段,每個(gè)片段被稱為一個(gè)Ⅳ元組,然后計(jì)算給定的兩個(gè)文本中公共Ⅳ元組的數(shù)量與總Ⅳ元組數(shù)量的比值,以此來(lái)表征兩個(gè)文本的相似度,
Jaccard系數(shù)是兩個(gè)集合的交集與并集中包含的元素個(gè)數(shù)之比,它僅關(guān)注兩個(gè)集合中共有的元素個(gè)數(shù),而不關(guān)注集合元素之間的差異性,我們可以將文本看成由其中的單詞組成的集合,此時(shí)單詞即為集合元素,也可以將文本所包含的N元組作為集合元素,然后計(jì)算兩個(gè)集合之間的Jaccard系數(shù)來(lái)表征兩個(gè)文本間的相似度,Jaccard系數(shù)還可以與局部敏感哈希(Locality Sensitive Hashing,LSH)相結(jié)合進(jìn)行快速的近似文本查找,或?qū)Σ幌嗨频奈谋具M(jìn)行過(guò)濾。
Dice系數(shù)與Jaccard系數(shù)類似,都是基于集合的思想,Dice系數(shù)是兩個(gè)集合的交集中包含的元素個(gè)數(shù)與兩個(gè)集合的長(zhǎng)度之和的比值,主要關(guān)注的是集合中相同的部分,取值范圍在(0.1)之間,該值越接近于1.則說(shuō)明兩個(gè)字符串越相似,表1展示了基于字符串的文本相似度計(jì)算方法的總結(jié)。
基于字符串的方法原理簡(jiǎn)單、實(shí)現(xiàn)方便,并且直接對(duì)原始文本進(jìn)行比較,多用于文本的快速模糊匹配,其不足主要在于沒(méi)有考慮到單詞的含義及單詞和單詞之間的相互關(guān)系,并且同義詞、多義詞等問(wèn)題都無(wú)法處理,目前很少單獨(dú)使用基于字符串的方法計(jì)算文本相似度,而是將這些方法的計(jì)算結(jié)果作為表征文本的特征融入更加復(fù)雜的方法中。
2基于統(tǒng)計(jì)的語(yǔ)義文本相似度計(jì)算方法
基于統(tǒng)計(jì)的方法源于一種分布假設(shè),該假設(shè)認(rèn)為上下文相似的單詞具有相似的語(yǔ)義,這類計(jì)算方法先通過(guò)某種策略將文本轉(zhuǎn)換成一個(gè)向量,然后通過(guò)各種向量空間的轉(zhuǎn)換,最后計(jì)算表征文本的向量間距離,通過(guò)向量空間中的度量來(lái)衡量文本間的相似度,主流的基于統(tǒng)計(jì)的方法包括向量空間模型(Vector Space Model,VSM)和主題模型(Topic Model),而主題模型又可分為潛在語(yǔ)義分析模型(LatentSemantic Analy8is,LSA)、概率潛在語(yǔ)義分析模型(Probabilistic Latent Semantic Analysis,PLSA)和隱含狄利克雷分布模型(Latent Dirichlet Allocation,LDA)等。
2.1基于向量空間模型(VSM)的計(jì)算方法
Salton等在1975年首次提出向量空間模型(VSM),由于該模型簡(jiǎn)單高效,在之后很長(zhǎng)的一段時(shí)間里,它都是文本相似度計(jì)算領(lǐng)域的主流方法,VSM的主要思想就是假設(shè)一個(gè)文本的語(yǔ)義只與該文本中的單詞有關(guān),而忽略其語(yǔ)序和單詞之間的相互關(guān)系,然后通過(guò)基于詞頻統(tǒng)計(jì)的方法,將文本映射成向量,最后通過(guò)向量間的距離計(jì)算以表征文本間的相似度。
在VSM中,將單詞作為文本向量的特征項(xiàng),其中特征項(xiàng)的權(quán)重可以用單詞在該文本中出現(xiàn)的次數(shù)表示,但這樣做會(huì)導(dǎo)致一些沒(méi)有實(shí)際含義的單詞如“is”“are”等的權(quán)重變大,進(jìn)而嚴(yán)重影響文本相似度的計(jì)算,因此,目前VSM中最常用的是基于TF-IDF的權(quán)重計(jì)算法,這種方法將特征項(xiàng)的權(quán)重表示為詞頻(TF)和逆文本頻率(IDF)的乘積,詞頻(TF)可以通過(guò)下式進(jìn)行計(jì)算:
從上式可以看出,當(dāng)一個(gè)單詞在單一文本中出現(xiàn)的頻次很高,而很少出現(xiàn)在其他文本中時(shí),則這個(gè)單詞的TF-IDF值就會(huì)很大,TF-IDF的主要思想就是認(rèn)為這類單詞具有更好的類別區(qū)分能力,因此給予這類單詞更大的權(quán)重。
在利用TF-IDF權(quán)重計(jì)算法計(jì)算出各個(gè)特征項(xiàng)的權(quán)重之后,就得到了可以表征文本的向量,接下來(lái)只要計(jì)算向量之間的距離即可,一般來(lái)說(shuō),距離越近則兩文本越相似,文本相似度領(lǐng)域中常用的距離計(jì)算包括余弦相似度(cosine Similarity)、歐式距離(Euclidean Distance)、曼哈頓距離(ManhattanDistance)、切比雪夫距離(chebyshev Distance)等,我們還可以將文本向量看成不同的多維變量,因此可以使用統(tǒng)計(jì)相關(guān)系數(shù)進(jìn)行相似度計(jì)算,如皮爾遜(Pearson)和斯皮爾曼(spearman)相關(guān)系數(shù)等。
Qinglin等l 21l在進(jìn)行TF-IDF加權(quán)計(jì)算前,首先通過(guò)計(jì)算特征項(xiàng)之間的信息增益、卡方檢驗(yàn)和互信息等方法進(jìn)行特征選擇,然后在此基礎(chǔ)上利用VSM計(jì)算語(yǔ)義文本相似度,提高了算法性能,Li等指出傳統(tǒng)的VSM方法沒(méi)有對(duì)文本間相同特征詞的個(gè)數(shù)進(jìn)行統(tǒng)計(jì),這樣會(huì)導(dǎo)致某些情況下計(jì)算結(jié)果會(huì)變差,因此在VSM基礎(chǔ)上增加了文本間相同特征詞的統(tǒng)計(jì),Tasi將最長(zhǎng)公共子序列(LCS)和VSM相結(jié)合,首先對(duì)文本進(jìn)行基于LCS的最優(yōu)匹配,根據(jù)匹配結(jié)果賦予關(guān)鍵詞不同的權(quán)重,在此基礎(chǔ)上在進(jìn)行向量空間模型計(jì)算,并且將余弦相似度替換為計(jì)算Jaccard系數(shù),進(jìn)一步提升了算法性能。
盡管有很多研究對(duì)VSM方法進(jìn)行了改進(jìn),但是基于VSM的方法仍然有兩點(diǎn)缺陷:①當(dāng)文本量很大時(shí),生成的文本向量是非常稀疏的,這就導(dǎo)致了空間和計(jì)算資源的浪費(fèi);②VSM為達(dá)到簡(jiǎn)化模型的效果忽略了詞語(yǔ)間的關(guān)系,但在很多情況下詞語(yǔ)之間是存在聯(lián)系的,因此簡(jiǎn)單地認(rèn)為詞語(yǔ)間相互獨(dú)立是不合理的,隨著近幾年深度學(xué)習(xí)方法的迅速發(fā)展,VSM模型的研究熱度逐漸退去,但在深度學(xué)習(xí)方法中依然有VSM的思想貫穿其中。
2.2基于主題模型(Topic Model)的計(jì)算方法
主題模型是機(jī)器學(xué)習(xí)和自然語(yǔ)言處理領(lǐng)域的經(jīng)典方法,盡管目前在語(yǔ)義文本相似度計(jì)算領(lǐng)域中,深度學(xué)習(xí)方法已經(jīng)占據(jù)主導(dǎo)地位,但主題模型的作用不容忽視,主題模型的基本假設(shè)是每個(gè)文檔包含多個(gè)主題,而每個(gè)主題又包含多個(gè)單詞,換句話說(shuō),文檔的語(yǔ)義由一些隱變量表示,這里的隱變量是指主題,而這些主題代表了文檔的語(yǔ)義信息,而主題模型的目的就是揭示這些隱變量和它們之間的相互關(guān)系。
主題模型主要包括:①潛在語(yǔ)義分析(LSA)模型;②概率潛在語(yǔ)義分析(PLSA)模型;③潛在狄利克雷分布(LDA)模型,
LSA模型是基于VSM模型而提出的,其基本思想是在得到文本的空間向量表示后,通過(guò)奇異值分解(sVD),將高維且稀疏的空間向量映射到低維的潛在語(yǔ)義空間當(dāng)中,在得到低維的文本向量和單詞向量之后,再用余弦相似度等度量方式來(lái)計(jì)算文本間的語(yǔ)義相似度,LSA的本質(zhì)思想就是通過(guò)降維來(lái)去除原始矩陣中的噪音,從而提高計(jì)算準(zhǔn)確度,但由于使用SVD分解,使得計(jì)算復(fù)雜度增高,并且可移植性較差。
Hofmann用概率方法代替SVD分解,提出了概率潛在語(yǔ)義分析(PLSA)模型,其核心思想是加入主題層,采用期望最大化算法(Expectation Maximization,EM)訓(xùn)練主題,找到一個(gè)潛在主題的概率模型,該模型用于預(yù)測(cè)文本空間向量中觀察到的數(shù)據(jù),在PLSA模型中,多義詞會(huì)被分到不同的主題下,而同義詞會(huì)被分到同一主題下,從而避免了同義詞和多義詞對(duì)文本相似度計(jì)算的影響,但是PLSA的模型參數(shù)會(huì)隨著文檔數(shù)量線性增長(zhǎng),因而容易出現(xiàn)過(guò)擬合和泛化能力差等問(wèn)題。
Blei等在PLSA模型的基礎(chǔ)上提出了潛在狄利克雷分布(LDA)模型,可以將其視作PLSA的貝葉斯版本,該模型是一個(gè)三層貝葉斯概率模型,包含詞、主題和文檔三層結(jié)構(gòu),并且使用狄利克雷分布來(lái)處理文檔一主題分布和單詞一主題分布,在PLSA中,在給定數(shù)據(jù)集的情況下文檔概率是固定的,如果某個(gè)文檔沒(méi)有出現(xiàn)過(guò)就無(wú)法獲取該文檔的概率值,而在LDA中,數(shù)據(jù)集作為訓(xùn)練數(shù)據(jù)用于訓(xùn)練文檔一主題分布的狄利克雷分布,即使沒(méi)有看到某個(gè)文件,仍然可以從狄利克雷分布中抽樣得到,從而提高模型的泛化能力。
王振振等對(duì)語(yǔ)料庫(kù)進(jìn)行LDA主題建模,在建模過(guò)程中使用Gibbs采樣對(duì)模型參數(shù)進(jìn)行估計(jì),在得到文本的主題分布后,通過(guò)使用KL(Kullback-Leibler)距離進(jìn)行文本相似度計(jì)算,這也是目前比較常見(jiàn)的基于LDA的語(yǔ)義文本相似度計(jì)算方法。
Daping等將LDA與VSM以及基于知識(shí)庫(kù)的方法相結(jié)合,分別計(jì)算出主題相似度、統(tǒng)計(jì)相似度及語(yǔ)義相似度,最終通過(guò)線性加權(quán)得到最終的相似度得分,Chao等將詞性標(biāo)注與LDA相結(jié)合,先對(duì)單詞進(jìn)行詞性標(biāo)注,并按照單詞詞性將其分為名詞、動(dòng)詞和其他詞,然后分別進(jìn)行LDA主題建模,最終通過(guò)不同權(quán)重綜合3種模型進(jìn)行文本相似度計(jì)算,由于考慮到了詞性對(duì)文本相似度的貢獻(xiàn)差異,因而提高了文本聚類的準(zhǔn)確率。
Miao等將分布式詞向量和LDA相結(jié)合提出lda2vec模型,在訓(xùn)練詞向量的同時(shí)訓(xùn)練文檔向量和主題向量,在進(jìn)行相似度計(jì)算時(shí)可以將3種向量相結(jié)合,以提高算法性能,Lau等將語(yǔ)言模型和LDA主題模型相結(jié)合,使用分布式詞向量而非TF-IDF權(quán)值將文本映射為向量,并且對(duì)原始的文本向量組成的矩陣進(jìn)行卷積,最終通過(guò)Attention機(jī)制產(chǎn)生主題向量,實(shí)驗(yàn)結(jié)果證明了其性能優(yōu)于原始LDA模型。
3基于知識(shí)庫(kù)的語(yǔ)義文本相似度計(jì)算方法
基于知識(shí)庫(kù)的語(yǔ)義文本相似度計(jì)算方法根據(jù)知識(shí)庫(kù)的類型可以分為兩大類,一類是基于本體的方法,這類方法運(yùn)用結(jié)構(gòu)化語(yǔ)義詞典進(jìn)行計(jì)算,其基本思想就是運(yùn)用這些語(yǔ)義詞典中包含的概念信息和概念間的層次關(guān)系進(jìn)行語(yǔ)義文本相似度計(jì)算,另一類是基于網(wǎng)絡(luò)知識(shí)的方法,這類方法主要利用網(wǎng)絡(luò)大型知識(shí)庫(kù)資源,如維基百科(Wikipedia)和百度百科等,通過(guò)網(wǎng)頁(yè)內(nèi)容和網(wǎng)頁(yè)間的超鏈接進(jìn)行相似度計(jì)算。
3.1基于本體的計(jì)算方法
在語(yǔ)義文本相似度計(jì)算中,本體是指對(duì)特定領(lǐng)域的概念進(jìn)行抽象化和結(jié)構(gòu)化的描述,通用本體主要包括一些概念語(yǔ)義詞典,常見(jiàn)的語(yǔ)義詞典有WordNet、《同義詞詞林》、《知網(wǎng)》(HowNet)等,
WordNet是一種英文的語(yǔ)義詞典,不僅包括單詞的概念解釋、詞性信息等,還包含了多種語(yǔ)義關(guān)系,如同義關(guān)系(synonymy)、反義關(guān)系(Antonymy)、上位/下位關(guān)系(Hypernymy&Hyponymy)、部分整體關(guān)系(Meronymy)等,并且通過(guò)概念樹(shù)的結(jié)構(gòu)展示各個(gè)概念之間的關(guān)系,《同義詞詞林》是一種結(jié)構(gòu)上與WordNet十分相似的中文語(yǔ)義詞典,它將所有的概念分為大類、中類、小類、詞群、原子詞群,并通過(guò)該分層建立概念樹(shù)。
《知網(wǎng)》(HowNet)中包含中文和英文兩種語(yǔ)言,構(gòu)建方式與上述兩種語(yǔ)義詞典有所不同,它將詞語(yǔ)分解為多個(gè)概念,再將概念分解為多個(gè)義原,義原是最小的不可分的語(yǔ)義單位,所有概念的語(yǔ)義都可使用一個(gè)有限的義原集合去表示,義原之間存在多種關(guān)系,如上下位關(guān)系、同義關(guān)系、反義關(guān)系等,通過(guò)這些關(guān)系可以構(gòu)成一個(gè)樹(shù)狀的義原層次結(jié)構(gòu),再根據(jù)這個(gè)結(jié)構(gòu)進(jìn)行語(yǔ)義文本相似度計(jì)算。
3.1.1基于WordNet和《同義詞詞林》的計(jì)算方法
由于上述兩種語(yǔ)義詞典的構(gòu)建方式較為相似,很多方法可以互用,因此放在一起進(jìn)行介紹,這類方法主要分為4類:①基于距離的方法;②基于信息量Ic(Information Content)的方法;③基于屬性的方法;④混合方法,表2對(duì)相關(guān)方法進(jìn)行分類并總結(jié)了各類方法的特點(diǎn)。
基于距離的方法是指利用語(yǔ)義詞典中的概念結(jié)構(gòu)樹(shù)的層次關(guān)系來(lái)計(jì)算語(yǔ)義文本相似度,兩個(gè)概念節(jié)點(diǎn)在概念層次樹(shù)中的路徑越長(zhǎng),相似度越低。
Rada等假設(shè)所有邊的權(quán)重相同,通過(guò)求出兩個(gè)概念間的最短路徑(shortest Path)以表征它們之間的語(yǔ)義文本相似度,Richardson等在Shortest Path方法的基礎(chǔ)上,通過(guò)對(duì)概念的位置信息進(jìn)行分析,為概念結(jié)構(gòu)樹(shù)的邊加上權(quán)重信息,Leacock等除了計(jì)算最短距離之外,還考慮了概念在語(yǔ)義詞典層次結(jié)構(gòu)中的深度,Wu等則提出不直接計(jì)算概念間的距離,而是計(jì)算兩個(gè)概念與其公共父節(jié)點(diǎn)之間的距離以表征其語(yǔ)義文本相似度,Hirst等提出在進(jìn)行距離計(jì)算的同時(shí)加入轉(zhuǎn)向因子,該方法認(rèn)為除了考慮距離問(wèn)題之外,路徑中的方向轉(zhuǎn)變?cè)缴伲瑒t兩概念的語(yǔ)義文本越相似,Yang等充分利用WordNet中的同義關(guān)系和部分整體關(guān)系設(shè)計(jì)了兩種更為復(fù)雜的搜索算法用來(lái)衡量單詞對(duì)之間的語(yǔ)義文本相似度,實(shí)驗(yàn)證明該算法的性能良好,但該算法包含多個(gè)超參數(shù),增加了算法的不確定性,
基于信息量的方法是指利用概念所包含的信息量來(lái)衡量概念間的相似度,概念對(duì)之間的共享信息量越大,則說(shuō)明它們?cè)较嗨?,不同學(xué)者對(duì)于衡量信息量的方法的想法各有不同,
Resnik提出利用概念對(duì)的公共父節(jié)點(diǎn)在語(yǔ)義詞典中出現(xiàn)的頻率來(lái)衡量概念對(duì)的共享信息量;Jiang等利用概念對(duì)本身信息量和公共父節(jié)點(diǎn)信息量的差值表示概念間的距離;Lin等和Jiang等的想法類似,兩者定義的語(yǔ)義文本相似度計(jì)算公式稍有不同,之后很多學(xué)者嘗試改進(jìn)基于信息量的方法,改進(jìn)的本質(zhì)都是定義新的信息量計(jì)算方法和新的基于信息量的語(yǔ)義文本相似度的計(jì)算公式,
基于屬性的方法是指利用概念的屬性信息進(jìn)行相似度計(jì)算,屬性一般指概念的釋義信息和類型信息。
Lesk首先提出統(tǒng)計(jì)概念釋義中的共現(xiàn)詞語(yǔ)的數(shù)量以衡量語(yǔ)義文本相似度;Banerjee等在Lesk[411的基礎(chǔ)上進(jìn)行了改進(jìn),在統(tǒng)計(jì)單詞概念釋義的同時(shí)考慮了其同義詞的概念釋義信息;Pedersen等提出將概念的釋義信息通過(guò)語(yǔ)義詞典的層次結(jié)構(gòu)轉(zhuǎn)化為釋義向量,然后計(jì)算概念對(duì)的釋義向量間的余弦值表征概念的語(yǔ)義相似度。
混合方法一般指結(jié)合上述多種方法,綜合考慮不同因素對(duì)于相似度計(jì)算的影響,為各因素賦予不同的權(quán)重,然后進(jìn)行加權(quán)求和得到最終的語(yǔ)義文本相似度,Li等將概念間的最短路徑、公共父節(jié)點(diǎn)在結(jié)構(gòu)樹(shù)中的深度及概念的局部密度信息相結(jié)合;Bin等主要基于信息量,同時(shí)融合路徑長(zhǎng)度、概念深度等信息,提出混合式相似度計(jì)算方法;鄭志蘊(yùn)等結(jié)合基于距離、基于信息量及基于屬性的方法,采用主成分分析法,提出一種自適應(yīng)相似度加權(quán)計(jì)算方法以解決傳統(tǒng)人工賦權(quán)的不足。
3.1.2基于《知網(wǎng)》(HowNet)的計(jì)算方法
《知網(wǎng)》用概念描述詞匯語(yǔ)義,再用義原描述概念語(yǔ)義,義原是描述概念的最小單位,同時(shí)《知網(wǎng)》中也標(biāo)注了義原之間的各種關(guān)系,其中最重要的是上下位關(guān)系,通過(guò)上下位關(guān)系,可以將義原組織為一個(gè)樹(shù)狀層次結(jié)構(gòu),這是利用《知網(wǎng)》計(jì)算語(yǔ)義文本相似度的基礎(chǔ),知網(wǎng)中的實(shí)詞概念主要是由第一基本義原、其他基本義原、關(guān)系義原、關(guān)系符號(hào)4個(gè)部分進(jìn)行描述,劉群等提出將概念按照描述中所包含的義原類別分為幾個(gè)部分,每個(gè)部分分別通過(guò)義原結(jié)構(gòu)樹(shù)計(jì)算概念語(yǔ)義相似度,最終加權(quán)求和得到最終結(jié)果;李峰等在劉群的基礎(chǔ)上引入信息量的概念,認(rèn)為越處于底層的義原節(jié)點(diǎn)包含的信息量越大,并以此對(duì)算法進(jìn)行了改進(jìn);類似地,江敏等在劉群的基礎(chǔ)上加入了義原的深度信息,并且對(duì)義原的反義關(guān)系的處理采用了全新的方式,該方法應(yīng)用于情感分析任務(wù)時(shí)算法效果明顯提升,
基于結(jié)構(gòu)化語(yǔ)義詞典的方法確實(shí)在一定程度上考慮到了詞語(yǔ)之間的語(yǔ)義信息,但是有以下缺點(diǎn):①人工成本高,需要專家參與建立語(yǔ)義詞典,并且需要不斷地更新新出現(xiàn)的詞匯以及部分詞匯之間的關(guān)系,②領(lǐng)域本體,即特定領(lǐng)域的語(yǔ)義詞典,容易出現(xiàn)異構(gòu)問(wèn)題,導(dǎo)致算法不通用,③該類方法都是計(jì)算詞語(yǔ)之間的相似度,句子相似度的計(jì)算則是簡(jiǎn)單地對(duì)詞語(yǔ)相似度進(jìn)行加權(quán)求和,并沒(méi)有考慮到句法結(jié)構(gòu)信息,對(duì)長(zhǎng)文本的相似度計(jì)算準(zhǔn)確率較低。
3.2基于網(wǎng)絡(luò)知識(shí)的計(jì)算方法
隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)知識(shí)愈加豐富,如何充分利用網(wǎng)絡(luò)中的資源進(jìn)行語(yǔ)義文本相似度計(jì)算非常值得研究,由于網(wǎng)頁(yè)中知識(shí)顆粒度較粗,加之部分網(wǎng)頁(yè)的知識(shí)結(jié)構(gòu)化程度較低,如果直接對(duì)所有的網(wǎng)頁(yè)鏈接進(jìn)行分析,會(huì)導(dǎo)致知識(shí)含量稀疏、計(jì)算困難等問(wèn)題,維基百科作為全球最大的多語(yǔ)種、開(kāi)源的在線百科全書(shū),知識(shí)更新速度更快,知識(shí)結(jié)構(gòu)化程度更高,因此,挖掘與利用維基百科中的信息資源成為了研究熱點(diǎn),我們可以將維基百科看成由網(wǎng)頁(yè)內(nèi)容及其包含的超鏈接組成的大型網(wǎng)絡(luò),其中,將超鏈接看成邊,網(wǎng)頁(yè)內(nèi)容看成節(jié)點(diǎn),則可以將其抽象為有向圖模型,表3對(duì)基于網(wǎng)絡(luò)知識(shí)的方法進(jìn)行了簡(jiǎn)要的分類并總結(jié)了各類方法的特點(diǎn)。
Strube等提出的WikiRelatel方法是最早的探索用Wikipedia進(jìn)行語(yǔ)義文本相似度計(jì)算的方法之一,計(jì)算方法和基于本體中的方法類似,包括基于距離和基于信息量的方法等,在實(shí)驗(yàn)中證明了其結(jié)果可以優(yōu)于部分基于WordNet的方法。
Gabrilovich等提出顯式語(yǔ)言分析(Explicit Semantic Anal,ysi8.ESA)方法,該方法通過(guò)Wikipedia中的網(wǎng)頁(yè)內(nèi)容將文本映射為一個(gè)高維向量,再通過(guò)基于向量空間的方法進(jìn)行語(yǔ)義文本相似度計(jì)算;Witten等首次提出利用Wikipedia中的超鏈接結(jié)合向量空間的方法進(jìn)行語(yǔ)義文本相似度計(jì)算,由于該方法僅使用鏈接信息,幾乎不用文本信息,所以雖然方法簡(jiǎn)單,但準(zhǔn)確性較差;Yeh等則是在ESA算法的基礎(chǔ)上,加入個(gè)性化的PageRank算法,在提高性能的同時(shí)增加了計(jì)算量;Camacho-Collados等在ESA的基礎(chǔ)上提出了NASARI方法,該方法額外加上了WordNet的知識(shí)信息,得到了更有效的文本向量表示,對(duì)比ESA算法效果明顯提升。
基于網(wǎng)絡(luò)知識(shí)的方法具有知識(shí)信息豐富、知識(shí)迭代速度快等優(yōu)點(diǎn),但是相比于專家編制的語(yǔ)義詞典,維基百科的結(jié)構(gòu)化程度較差,其中也不免有一些錯(cuò)誤的信息,整體的分類也更加粗糙,這導(dǎo)致目前基于網(wǎng)絡(luò)知識(shí)的方法效果并不好,如何更好地在半結(jié)構(gòu)化數(shù)據(jù)中提取更多有用的信息還有待進(jìn)一步研究。
4基于深度學(xué)習(xí)的語(yǔ)義文本相似度計(jì)算方法
自2013年分布式詞向量問(wèn)世以來(lái),基于深度學(xué)習(xí)的方法在語(yǔ)義文本相似度領(lǐng)域涌現(xiàn)了許多杰出的工作,目前效果最好的幾種模型都是基于深度學(xué)習(xí)的方法實(shí)現(xiàn)的,因此,這類方法在相似度計(jì)算領(lǐng)域具有十分重要的意義。
目前,基于深度學(xué)習(xí)的語(yǔ)義文本相似度計(jì)算方法可以分為兩大類
無(wú)監(jiān)督方法和監(jiān)督方法,無(wú)論是無(wú)監(jiān)督還是監(jiān)督方法,都需要在分布式詞向量的基礎(chǔ)上展開(kāi),因此,4.1節(jié)簡(jiǎn)要介紹詞向量相關(guān)內(nèi)容,之后兩節(jié)將分別介紹無(wú)監(jiān)督方法和監(jiān)督方法。
4.1分布式詞向量
簡(jiǎn)單地說(shuō),詞向量技術(shù)就是將單詞映射成向量,最早出現(xiàn)的one-hot編碼和TF-IDF方法都可以將單詞映射為向量,但是,這兩種方法都面臨維度災(zāi)難和語(yǔ)義鴻溝問(wèn)題,分布式詞向量可以在保存更多語(yǔ)義信息的同時(shí)降低向量維度,在一定程度上可以克服維度災(zāi)難和語(yǔ)義鴻溝問(wèn)題。
Mikolov等提出的word2vec是最早生成分布式詞向量的方法,它包含兩個(gè)模型,分別為CBOW和Skip-gram,基本思路是確定中心詞和上下文窗口大小,CBOW是通過(guò)上下文來(lái)預(yù)測(cè)中心詞,Skip-gram是通過(guò)中心詞來(lái)預(yù)測(cè)上下文,整體來(lái)說(shuō)是通過(guò)自監(jiān)督訓(xùn)練的模型生成詞向量,word2vec的主要問(wèn)題在于它只能考慮局部信息,局部信息的大小取決于上下文窗口的大小。
Pennington等提出Glove模型,該模型通過(guò)語(yǔ)料庫(kù)構(gòu)建單詞的共現(xiàn)矩陣,然后通過(guò)該共現(xiàn)矩陣用概率的思想得到最終的詞向量,綜合了全局語(yǔ)料,在一定程度上考慮了全局信息。
Joulin等則是提出了一種快速文本分類方法FastText,其同樣可以用于生成詞向量,模型架構(gòu)與CBOW類似,但賦予模型的任務(wù)不同。
以上3種詞向量為靜態(tài)詞向量,即當(dāng)它們應(yīng)用于下游任務(wù)時(shí)詞向量始終是固定的,無(wú)法解決一詞多義問(wèn)題,同時(shí)無(wú)法滿足不同語(yǔ)境下語(yǔ)義不同的場(chǎng)景需求。
動(dòng)態(tài)詞向量則是為了解決上述問(wèn)題所提出的,這類詞向量首先在大型語(yǔ)料庫(kù)上進(jìn)行預(yù)訓(xùn)練,然后在面對(duì)具體下游任務(wù)時(shí)微調(diào)所有參數(shù),那么在上下文輸入不同時(shí),生成的詞向量也不同,因此可以解決一詞多義問(wèn)題。
Peters等提出ELMO模型,其使用雙向語(yǔ)言模型和兩個(gè)分開(kāi)的雙層LSTM作為編碼器,通過(guò)在大型語(yǔ)料庫(kù)上進(jìn)行預(yù)訓(xùn)練得到動(dòng)態(tài)詞向量。
Radford等提出GPT模型,通過(guò)將單向語(yǔ)言模型與編碼能力更強(qiáng)大的Transformer架構(gòu)的decoder部分相結(jié)合,從而生成詞向量。
Devlin等提出的BERT模型,則是應(yīng)用Transformer的encoder部分,結(jié)合mask機(jī)制,并且對(duì)模型增加了預(yù)測(cè)“next sentence prediction”任務(wù),從而生成了更加優(yōu)質(zhì)的動(dòng)態(tài)詞向量,該模型也是目前最常用的詞向量預(yù)訓(xùn)練方法之一。
4.2基于無(wú)監(jiān)督學(xué)習(xí)方法的語(yǔ)義文本相似度計(jì)算
無(wú)監(jiān)督學(xué)習(xí)方法不需要帶有標(biāo)簽的數(shù)據(jù)集就可以計(jì)算文本間的語(yǔ)義相似度,這類方法更加通用,在一些資源稀少的特定領(lǐng)域應(yīng)用廣泛,這類方法的基本思路是,通過(guò)數(shù)據(jù)集本身帶有的信息進(jìn)行自監(jiān)督訓(xùn)練或通過(guò)數(shù)學(xué)分析的方法,對(duì)句子中的詞向量進(jìn)行加權(quán)求和得到句向量,并最終通過(guò)計(jì)算向量間距離以表征語(yǔ)義文本相似度,表4對(duì)基于無(wú)監(jiān)督學(xué)習(xí)的計(jì)算方法進(jìn)行了簡(jiǎn)要的分類并總結(jié)了各類方法的特點(diǎn)。
Le等在word2vec的啟發(fā)下提出了doc2vec,該模型在訓(xùn)練詞向量的同時(shí),加入表征段落的向量和詞向量共同訓(xùn)練,doc2vec與word2vec相同,有兩種訓(xùn)練方式,一種是通過(guò)段落向量和上下文單詞向量預(yù)測(cè)中心詞;另一種則是通過(guò)段落向量預(yù)測(cè)文本中包含的單詞,這樣就可以通過(guò)計(jì)算訓(xùn)練好的段落向量之間的余弦值表征其語(yǔ)義文本相似度。
Pagliardini等提出的sent2vec模型是word2vec模型中CBOW的擴(kuò)展,其不僅僅使用窗口中的詞來(lái)預(yù)測(cè)目標(biāo)詞,而且使用窗口中所有的n-grams表示來(lái)預(yù)測(cè)目標(biāo)詞,為了得到句子向量,將句子看成一個(gè)完整的窗口,模型的輸人為句子中的n-grams表示,目標(biāo)是預(yù)測(cè)句子中的missing word(目標(biāo)詞),而句子向量是所有n-grams向量表示的平均。
Kiros等提出的Skip-Thought模型同樣是從word2vec方法中獲得靈感,其基本思想是將word2vec中的skip-gram模型通過(guò)encoder-decoder架構(gòu)拓展到句子級(jí)別,即用中心句預(yù)測(cè)其上下句,更具體地說(shuō),首先通過(guò)encoder對(duì)中心句進(jìn)行編碼,然后通過(guò)decoder預(yù)測(cè)中心句的上下兩個(gè)句子,而模型的目標(biāo)是,預(yù)測(cè)的上下句與其對(duì)應(yīng)的真實(shí)句越接近越好,Logeswaran等在Skip-Thought的基礎(chǔ)上,提出了一種更加高效的方法Quick-Thought,它主要是用分類任務(wù)代替了之前的預(yù)測(cè)任務(wù),對(duì)模型任務(wù)進(jìn)行了簡(jiǎn)化,實(shí)驗(yàn)結(jié)果證明,QT在訓(xùn)練時(shí)間較少的情況下,依然能夠達(dá)到非常不錯(cuò)的效果。
Hill等提出的模型稱為序列去噪自編碼器(sequential Denoising AutoEncoder,SDAE),其包括基于LSTM的編碼器和解碼器兩部分,輸入信息通過(guò)編碼器產(chǎn)生編碼信息,再通過(guò)解碼器得到輸出信息,并且在原始輸入句子上通過(guò)將詞序互換、刪除某些單詞等方法加入噪音,模型的目標(biāo)是使輸出信息和原始信息越接近越好,該方法相較于Skip-Thought方法的優(yōu)勢(shì)在于只需要輸入單個(gè)句子,而Skip-Thought需要輸入3個(gè)有序的句子,Hill等同時(shí)還提出了FastSent模型,該模型和Skip-Thought一樣,都是基于word2vec中的skip-gram,但是該方法忽略了詞序信息,只需要預(yù)測(cè)周?chē)渥又邪膯卧~,而無(wú)須按照單詞在句子中的順序進(jìn)行逐一預(yù)測(cè),該方法計(jì)算速度快,在無(wú)監(jiān)督任務(wù)上效果也優(yōu)于Skip-Thought。
以上方法都是利用自監(jiān)督的思想,在數(shù)據(jù)集中通過(guò)數(shù)據(jù)本身攜帶的信息進(jìn)行模型訓(xùn)練,以下方法則無(wú)須進(jìn)行訓(xùn)練,直接通過(guò)線性規(guī)劃、PCA降維等在詞向量的基礎(chǔ)上得到句向量。
Kusner等將句子相似度問(wèn)題轉(zhuǎn)換為運(yùn)輸問(wèn)題,引入詞移距離,將文本間距離轉(zhuǎn)化為約束條件下的最優(yōu)化問(wèn)題,巧妙地將運(yùn)輸問(wèn)題中的EMD算法應(yīng)用到相似度計(jì)算當(dāng)中,得到了WMD算法,
Arora等提出的SIF算法則是將主成分分析(PCA)用于句向量的生成,首先用通過(guò)改進(jìn)的TFIDF方法對(duì)詞向量進(jìn)行加權(quán)平均得到句向量,然后減去所有句子向量組成的矩陣的第一個(gè)主成分上的投影,得到最終的句子嵌入,實(shí)驗(yàn)表明該方法具有不錯(cuò)的競(jìng)爭(zhēng)力,在大部分?jǐn)?shù)據(jù)集上都比平均詞向量或者使用TFIDF加權(quán)平均的效果要好。
Ruckle等是對(duì)詞向量求平均得到句向量的思想進(jìn)行了改進(jìn),通過(guò)引入超參數(shù)p將“詞向量求平均得到句向量”的操作泛化為p-means的一類操作,取不同的p值產(chǎn)生不同的特征,當(dāng)p=l時(shí),該方法等同于求平均的操作,同時(shí)本文使用了多種詞向量(如word2vec和Glove等),實(shí)驗(yàn)結(jié)果表明該方法在無(wú)監(jiān)督任務(wù)上具有很好的性能。
無(wú)監(jiān)督的方法不需要帶有標(biāo)簽的訓(xùn)練集對(duì)模型進(jìn)行訓(xùn)練,減少了人工打標(biāo)簽的成本,并且更加通用,在一些資源稀少的特定領(lǐng)域應(yīng)用廣泛,但同時(shí)由于無(wú)法將帶有標(biāo)簽的信息和一些先驗(yàn)知識(shí)融入其中,相對(duì)于監(jiān)督方法而言,其計(jì)算準(zhǔn)確率較低。
4.3基于監(jiān)督學(xué)習(xí)方法的語(yǔ)義文本相似度計(jì)算
監(jiān)督學(xué)習(xí)方法是一類需要帶有標(biāo)簽的訓(xùn)練集對(duì)模型進(jìn)行訓(xùn)練后才能進(jìn)行語(yǔ)義文本相似度計(jì)算的方法,這類方法由于有標(biāo)簽對(duì)模型進(jìn)行指導(dǎo),在多數(shù)有訓(xùn)練集的任務(wù)上,其性能要優(yōu)于無(wú)監(jiān)督學(xué)習(xí)方法,監(jiān)督學(xué)習(xí)方法從模型架構(gòu)上可以分為兩種,一種是孿生網(wǎng)絡(luò)(siamese Network)架構(gòu);另一種是交互(interaction-based)模型架構(gòu),兩種模型的典型架構(gòu)如圖2所示。
孿生網(wǎng)絡(luò)架構(gòu)一般分為3層,分別為輸入層、編碼層和相似度測(cè)量層,如圖2a)所示,輸入層主要是句子分詞后,將單詞映射為詞向量后輸入編碼層;編碼層對(duì)句中的詞向量進(jìn)行編碼得到句向量;相似度測(cè)量層則是對(duì)兩個(gè)句向量進(jìn)行相似度計(jì)算,可以是簡(jiǎn)單地利用向量距離如歐式距離、余弦相似度等直接表征兩個(gè)句子的語(yǔ)義相似性,也可以是將兩個(gè)句向量拼接后傳人多層感知機(jī)或其他分類器得到最終的語(yǔ)義文本相似度度量,“孿生”主要體現(xiàn)在句子對(duì)中SA和SB同時(shí)輸入左右兩個(gè)網(wǎng)絡(luò)當(dāng)中,這兩個(gè)網(wǎng)絡(luò)的輸入層和編碼層模型架構(gòu)完全相同并共享權(quán)重。
孿生網(wǎng)絡(luò)在語(yǔ)義文本相似度計(jì)算中效果很好,但缺少了兩個(gè)句子在編碼過(guò)程中的交互,兩個(gè)句子編碼時(shí)相互獨(dú)立,這樣不利于后面的相似度度量,因此交互模型應(yīng)運(yùn)而生。
交互模型如圖2b)和圖2c)所示,整體與孿生網(wǎng)絡(luò)類似,但在編碼層利用Attention機(jī)制或其他技術(shù)增加兩個(gè)網(wǎng)絡(luò)間的交互,然后將交互結(jié)果傳人相似度度量層,表5是按照模型層次結(jié)構(gòu)中所用的技術(shù)進(jìn)行的簡(jiǎn)要總結(jié),接下來(lái)將分小節(jié)詳細(xì)介紹基于孿生網(wǎng)絡(luò)的方法和基于交互模型的方法。
4.3.1基于孿生網(wǎng)絡(luò)的方法
Huang等提出的DSSM算法是最先將孿生網(wǎng)絡(luò)架構(gòu)用于語(yǔ)義文本相似度計(jì)算的算法之一,DSSM架構(gòu)主要分為輸入層、表示層、匹配層,這種三層架構(gòu)也是后來(lái)基于孿生網(wǎng)絡(luò)的算法最常用的架構(gòu),輸入層主要將原始文本映射為向量,由于本文在2013年被提出,當(dāng)時(shí)的分布式詞向量剛剛問(wèn)世,因此本文并沒(méi)有使用詞向量,而是使用字符級(jí)的trigram方法將文本映射為高維向量,更具體地說(shuō),trigram是將3個(gè)字符為一組映射為one-hot向量,最后將句子中的trigram向量相加得到高維句子向量表示,表示層是將高維的句子向量映射為低維向量,DSSM表示層就是簡(jiǎn)單的幾個(gè)全連接層,最終將句子映射為128維的低維向量,匹配層是將兩個(gè)低維句子向量表示之間求余弦相似度來(lái)表征兩個(gè)句子的語(yǔ)義相似度,DSSM模型在文本匹配任務(wù)上取得了突出的成績(jī),但忽略了語(yǔ)序信息和上下文信息。
Shen等將CNN網(wǎng)絡(luò)引入DSSM模型以保留更多的上下文信息,該方法對(duì)DSSM的改進(jìn)主要發(fā)生在表示層,該模型表示層中添加了卷積層和池化層,使得上下文信息得到了有效保留,但是由于卷積核的限制,距離較遠(yuǎn)的上下文信息仍會(huì)丟失。
Palangi等為了保留更多的上下文信息,將LSTM網(wǎng)絡(luò)引入其中,該網(wǎng)絡(luò)考慮到了距離更遠(yuǎn)的上下文信息和一些語(yǔ)序信息,使得算法效果有所提升,Mueller等在預(yù)訓(xùn)練的詞向量的基礎(chǔ)上同樣使用Siamese-LSTM對(duì)句子進(jìn)行編碼,然后,使用編碼得到的句向量之間的曼哈頓距離來(lái)預(yù)測(cè)句子對(duì)的語(yǔ)義相似度,實(shí)驗(yàn)證明將該方法和SVM結(jié)合用于情感分類(Entailment Classification),效果提升明顯。
Lin等將雙向LSTM(BiLSTM)和Self-Attention技術(shù)相結(jié)合得到句子向量表示,具體來(lái)說(shuō)就是,首先將句子通過(guò)BiLSTM模型,將得到的每一時(shí)刻的兩個(gè)方向的向量拼接成一個(gè)二維矩陣,然后通過(guò)自注意力機(jī)制(self-Attention)得到句中每個(gè)詞向量對(duì)應(yīng)的權(quán)重,最終通過(guò)詞向量的加權(quán)求和得到句向量,在訓(xùn)練網(wǎng)絡(luò)時(shí)同樣是使用Siamese架構(gòu),在得到句向量后進(jìn)行簡(jiǎn)單的特征提取,如拼接、點(diǎn)積、對(duì)位相減等,然后輸入一個(gè)多層感知機(jī),得到最終的語(yǔ)義文本相似度。
Pontes等目將CNN模型和LSTM模型同時(shí)用于Siamese架構(gòu)來(lái)計(jì)算語(yǔ)義文本相似度,首先將句子分成局部片段,然后將每個(gè)片段分別經(jīng)過(guò)CNN網(wǎng)絡(luò)得到片段向量,再將原句中的詞向量和它所對(duì)應(yīng)的上下文向量拼接起來(lái)傳人LSTM網(wǎng)絡(luò),最終得到句向量后,計(jì)算句向量間的曼哈頓距離以表征語(yǔ)義文本相似度。
下面3種方法基于遷移學(xué)習(xí)進(jìn)行語(yǔ)義文本相似度計(jì)算,基本思想是在其他NLP任務(wù)中進(jìn)行訓(xùn)練然后將生成的句向量用于計(jì)算語(yǔ)義文本相似度當(dāng)中。
Conneau等提出InferSent模型,在自然語(yǔ)言推理(NLI)任務(wù)上,通過(guò)孿生網(wǎng)絡(luò)架構(gòu)訓(xùn)練通用句向量,文中使用了7種不同的encoder,其中包括GRU、LSTM、雙向GRU、雙向LSTM等,并通過(guò)最終實(shí)驗(yàn)證明,在encoder選取雙向LSTM并使用max-pooling技術(shù)的情況下,生成的句向量比Skip-Thought和FastSent等方法要更好。
Yang等18引提出了“如果句子的回復(fù)具有相似的分布,那么它們?cè)谡Z(yǔ)義上也是相似的,”的想法,從這個(gè)想法出發(fā),通過(guò)使用對(duì)話數(shù)據(jù)來(lái)學(xué)習(xí)句子級(jí)向量表示,并通過(guò)SNLI數(shù)據(jù)集對(duì)模型進(jìn)行加強(qiáng),該模型基于孿生網(wǎng)絡(luò)架構(gòu),一共用了兩種編碼器,一種為DAN,DAN是指將句子中的詞向量進(jìn)行加權(quán)平均之后送人前饋神經(jīng)網(wǎng)絡(luò)中得到句子隱層表示,另一種為T(mén)ransformer架構(gòu)的編碼部分,主要由多頭注意力(Multi-head Attention)機(jī)制和前饋神經(jīng)網(wǎng)絡(luò)組成,通過(guò)上述兩種編碼器對(duì)句子進(jìn)行編碼得到句向量,再經(jīng)過(guò)簡(jiǎn)單的特征提取后送入多層感知機(jī)模型得到最終的相似度得分,實(shí)驗(yàn)表明,該模型在語(yǔ)義文本相似度任務(wù)上表現(xiàn)突出。
Cer等提出了USE模型,在Yang等的模型基礎(chǔ)上結(jié)合Skip-Thought,將模型拓展到了更多的任務(wù)上,通過(guò)多任務(wù)學(xué)習(xí)得到通用句子表示。
縱覽上述方法,可以清晰地看到基于孿生網(wǎng)絡(luò)的計(jì)算方法的發(fā)展進(jìn)程,對(duì)于模型的改進(jìn)主要集中在使用不同的編碼器,如從最開(kāi)始的多層感知機(jī)發(fā)展為CNN、LSTM,再到Transformer等,從訓(xùn)練數(shù)據(jù)角度上說(shuō),這類方法從單一訓(xùn)練數(shù)據(jù)集逐步發(fā)展到遷移學(xué)習(xí),再發(fā)展到多任務(wù)學(xué)習(xí),目前基于多任務(wù)學(xué)習(xí)計(jì)算語(yǔ)義文本相似度的探索才剛剛開(kāi)始,針對(duì)不同任務(wù)的訓(xùn)練數(shù)據(jù)具有不同的標(biāo)簽,包含著句子不同角度的信息,那么建立一個(gè)通用的模型架構(gòu),通過(guò)在不同的任務(wù)數(shù)據(jù)集上進(jìn)行訓(xùn)練,從而提升模型性能,是未來(lái)重要的研究方向之一。
4.3.2基于交互模型的方法
基于孿生網(wǎng)絡(luò)的方法在編碼層對(duì)句子編碼時(shí)是相互獨(dú)立的,句子對(duì)之間沒(méi)有交互,這樣對(duì)于計(jì)算句子對(duì)的語(yǔ)義相似度會(huì)造成一定影響,基于交互模型的方法就是為了解決這個(gè)問(wèn)題而產(chǎn)生的,它是在孿生網(wǎng)絡(luò)的基礎(chǔ)上增加兩個(gè)平行網(wǎng)絡(luò)之間的交互作用,從而提取到句子對(duì)之間更加豐富的交互信息。
Yin等提出了ABCNN模型,是在詞向量基礎(chǔ)上通過(guò)CNN網(wǎng)絡(luò)對(duì)句子進(jìn)行處理,在分別對(duì)句子對(duì)中的句子進(jìn)行卷積和池化操作的同時(shí),使用Attention機(jī)制對(duì)兩個(gè)中間步驟進(jìn)行交互,文中一共嘗試了3種添加Attention的策略,主要區(qū)別是作用于模型的不同階段,如第一種Attention是直接作用在詞向量組成的矩陣上,而第二種Attention是作用在經(jīng)過(guò)卷積和池化操作后產(chǎn)生的輸出矩陣上,第三種則是將前兩種方法相結(jié)合,可以將經(jīng)過(guò)卷積和池化操作后得到的結(jié)果看作短語(yǔ)向量,而該短語(yǔ)向量的長(zhǎng)度取決于卷積核的大小,從這個(gè)角度理解,第一種和第二種Attention方法的區(qū)別實(shí)質(zhì)上是在不同粒度上對(duì)模型進(jìn)行了處理。
華東師范大學(xué)學(xué)報(bào)(自然科學(xué)版)2020年5期