標簽: Jd_Paperweekly
來源: ACL 2019
關(guān)鍵詞:文本匹配,GCN, BERT
1.背景及問題描述
本文目標主要是為了解決長文本匹配的問題,與短文本匹配不同泻云,長文本匹配涉及到關(guān)鍵詞相速、實體和句子之間更復雜的交互丧鸯。所以本文提出了一種“分而治之”的思路庄蹋,首先將文本構(gòu)造成一個圖杰妓,然后使用圖卷積網(wǎng)絡(luò)來抽取特征來進行文本匹配钝吮。在自己構(gòu)造的長文本數(shù)據(jù)集上埋涧,取得了非常好的效果板辽。
2.已有的解決方案
作者主要與傳統(tǒng)的文本匹配算法做比較。
使用TF-IDF棘催,BM25,LDA等算法來比較兩個文本的相似度劲弦,這些算法在信息檢索和搜索領(lǐng)域應用廣泛。近年來出現(xiàn)大量的深度神經(jīng)網(wǎng)絡(luò)模型醇坝,比如RNN和CNN等邑跪,來對文本進行編碼,可以很好的獲取語義相關(guān)性呼猪,特別是序列相關(guān)性画畅。但是這些方法都是為了匹配一對句子(sentence-pair)而設(shè)計的,而長文本涉及到關(guān)鍵詞宋距、實體和句子之間更復雜的交互轴踱,再使用這些模型就很難取得很好的結(jié)果。
3.解決方案概述
上圖是本文提出方法的結(jié)構(gòu)圖谚赎,是pipe-line的結(jié)構(gòu)淫僻,首先對文檔構(gòu)建CIG,然后使用GCN提取特征壶唤,再使用分類器進行分類雳灵。主要步驟有構(gòu)造CIG,使用GCN來聚合特征视粮,最后的分類層细办,下面我們逐一討論:
- 概念交互圖(CIG,Concept Interaction Graph)
上面是對左邊這篇文檔構(gòu)造CIG的例子蕾殴。CIG是一個無向帶權(quán)圖笑撞,沒一個節(jié)點稱為一個concept,它是這個文檔中的關(guān)鍵詞或者是高度關(guān)聯(lián)的關(guān)鍵詞組钓觉,文檔中的每個句子被唯一的關(guān)聯(lián)到與它最相關(guān)的一個節(jié)點上茴肥,所以各節(jié)點關(guān)聯(lián)的句子集合是互斥的。邊的權(quán)重的含義是兩個concept的相關(guān)度荡灾,計算方式有很多種瓤狐。
下面我們詳細介紹構(gòu)造CIG的過程:
簡單版本的實現(xiàn):
- 使用TextRank算法抽取實體和關(guān)鍵詞(keyword)
- 把關(guān)鍵詞看作節(jié)點,在關(guān)鍵詞上構(gòu)建圖(KeyGraph)批幌。邊的定義是础锐,如果兩個keyword同時在一個句子中出現(xiàn)。
作者繼續(xù)介紹了使用concept來構(gòu)造圖的方法荧缘。
- 概念檢測(Concept Detection)
使用社區(qū)發(fā)現(xiàn)算法(community detection algorithms)將多個關(guān)鍵詞合并為concept皆警,每個關(guān)鍵詞可以出現(xiàn)在不同的concept中。這一步不是必要的截粗,只是為了減少圖中節(jié)點的個數(shù)來減少計算量信姓。 - 句子鏈接(Sentence Attachment)
計算文檔中每個句子與每個concept的余弦相似度鸵隧,其中句子與concept的向量用TF_IDF表示,這樣把每個句子與最相關(guān)的concept鏈接起來意推,沒有匹配到任何concept的句子鏈接到一個偽節(jié)點(dummy vertex)上豆瘫。 - 構(gòu)造邊
將與每個節(jié)點附屬的句子拼接起來,節(jié)點之間的相關(guān)性就是直接計算拼接句子的TF_IDF值菊值。
如果需要構(gòu)造一對文檔外驱,只需要在節(jié)點上將兩個CIG對齊,來自不同文檔中的句子也直接拼接在一起腻窒。
- GNN聚合文章對
Encoding Local Matching Vectors
在得到合并的CIG 之后略步,對于圖中每個節(jié)點(concept),我們定義來自的文檔A和B的句子集合分別為定页,。首先需要學習每個節(jié)點的匹配向量(matching vector)绽诚,這個向量是用來表示和相似度的典徊。
這樣,就可以把兩篇文章的匹配問題轉(zhuǎn)移到每個節(jié)點的兩個句子集合匹配問題上了恩够。
作者使用了兩種方法:
Siamese Encoder: 使用攣生網(wǎng)絡(luò)分別對卒落,中句子編碼。這里作者應該是將句子集合拼看成一個句子來處理的蜂桶。然后使用一個聚合層儡毕,得到一個匹配向量:。
Term-based Similarities: 直接計算扑媚,之間的詞語相似度腰湾,作者使用了五種方法:TF-IDF相似度,TF余弦相似度疆股,BM25费坊,1-gram的Jaccard還有Ochiai相似度,最后將這五個得分拼接在一起旬痹,得到另一個匹配向量:Matching Aggregation via GCN
模型的目標是要利用這個圖和每個節(jié)點的匹配向量得到一個匹配分數(shù)附井,來表示兩個文檔的相似度。作者使用GCN在這個圖上來提取特征两残。
首先定義輸入:
已知圖,有N個節(jié)點,邊為,沒條邊對應的權(quán)重表示為 永毅。
另外每個節(jié)點的節(jié)點特征矩陣為 ,其中就是將上面計算得到的匹配向量(matching vector)拼接得到: 人弓。
然后使用GCN在此基礎(chǔ)上編碼提取特征沼死,在最后一層將所有隱向量取平均得到最終的向量(graphically merged matching vector),然后最后一層使用MLP在此向量上做分類票从。
作者還嘗試在分類層加入其他特征向量漫雕,比如使用BERT編碼兩個文檔滨嘱、直接計算兩個文檔的Term-based Similarities,實驗證明都沒有提升浸间。
4.結(jié)果分析
結(jié)論:
- 對比其他一些常規(guī)的文本匹配模型太雨,在這個數(shù)據(jù)集上,本文提出的方法確實提升很多魁蒜。而在常規(guī)的方法上囊扳,用BERT微調(diào)后的模型表現(xiàn)已經(jīng)很好了,好于本文方法的幾個對比模型兜看。但是加入CIG后確實有大幅度提升锥咸。
- 使用社區(qū)發(fā)現(xiàn)算法來merge節(jié)點,可以將圖的平均節(jié)點數(shù)從30降到13,降低55%的訓練和測試時間细移。當然搏予,實驗表示,結(jié)果沒有使用全部keyword做節(jié)點表現(xiàn)好弧轧。這也是可以理解的雪侥,畢竟更多節(jié)點可以提供更多的信息。
5.創(chuàng)新點或貢獻
- 提出了概念交互圖(CIG)來表示一篇文檔精绎,用關(guān)鍵詞或者概念作為節(jié)點速缨,文檔中每個句子唯一的鏈接到一個節(jié)點上,節(jié)點附屬的句子集合相似度作為權(quán)重代乃。得到的CIG不僅可以很好的刻畫文檔的語義特征旬牲,還可以在此基礎(chǔ)上進行基于節(jié)點的文檔比較方法。
- 提出了一種基于CIG和GCN的“分而治之”的框架來做文檔匹配搁吓。
- 提供了一個長文檔匹配的數(shù)據(jù)集原茅。
6.個人思考
- 圖卷積模型的應用。
- 將文檔構(gòu)造成CIG的方法堕仔,實現(xiàn)的細節(jié)比較常規(guī)员咽,有很多優(yōu)化點。
- 以CIG為基礎(chǔ)來編碼證明可以很好提取長文檔的特征贮预。
[參考:]