前沿|通用句子語義編碼器,谷歌在語義文本相似性上的探索

選自Google AI Blog

機器之心編譯

參與:Pedro、蔣思源

近年來,基於神經網絡的自然語言理解研究取得了快速發展(尤其是學習語義文本表示),這些深度方法給人們帶來了全新的應用,且還可以幫助提高各種小數據集自然語言任務的性能。本文討論了兩篇關於谷歌語義表示最新進展的論文,以及兩種可在 TensorFlow Hub 上下載的新模型。

語義文本相似度

在「Learning Semantic Textual Similarity from Conversations」這篇論文中,我們引入一種新的方式來學習語義文本相似的句子表示。直觀的說,如果句子的回答分佈相似,則它們在語義上是相似的。例如,「你多大了?」以及「你的年齡是多少?」都是關於年齡的問題,可以通過類似的回答,例如「我 20 歲」來回答。相比之下,雖然「你好嗎?」和「你多大了?」包含的單詞幾乎相同,但它們的含義卻大相徑庭,所以對應的回答也相去甚遠。

論文地址:https://arxiv.org/abs/1804.07754

前沿|通用句子语义编码器,谷歌在语义文本相似性上的探索

如果句子可以通過相同的答案來回答,那麼句子在語義上是相似的。否則,它們在語義上是不同的。

這項工作中,我們希望通過給回答分類的方式學習語義相似性:給定一個對話輸入,我們希望從一批隨機選擇的回覆中分類得到正確的答案。但是,任務的最終目標是學習一個可以返回表示各種自然語言關係(包括相似性和相關性)的編碼模型。我們提出了另一預測任務(此處是指 SNLI 蘊含數據集),並通過共享的編碼層同時推進兩項任務。利用這種方式,我們在 STSBenchmark 和 CQA task B 等相似度度量標準上取得了更好的表現,究其原因,是簡單等價關係與邏輯蘊含之間存在巨大不同,後者為學習複雜語義表示提供了更多可供使用的信息。

前沿|通用句子语义编码器,谷歌在语义文本相似性上的探索

對於給定的輸入,分類可以認為是一種對所有可能候選答案的排序問題。

通用句子編碼器

「Universal Sentence Encoder」這篇論文介紹了一種模型,它通過增加更多任務來擴展上述的多任務訓練,並與一個類似 skip-thought 的模型聯合訓練,從而在給定文本片段下預測句子上下文。然而,我們不使用原 skip-thought 模型中的編碼器 - 解碼器架構,而是使用一種只有編碼器的模型,並通過共享編碼器來推進預測任務。利用這種方式,模型訓練時間大大減少,同時還能保證各類遷移學習任務(包括情感和語義相似度分類)的性能。這種模型的目的是為儘可能多的應用(釋義檢測、相關性、聚類和自定義文本分類)提供一種通用的編碼器。

論文地址:https://arxiv.org/abs/1803.11175

前沿|通用句子语义编码器,谷歌在语义文本相似性上的探索

成對語義相似性比較,結果為 TensorFlow Hub 通用句子編碼器模型的輸出。

正如文中所說,通用句子編碼器模型的一個變體使用了深度平均網絡(DAN)編碼器,而另一個變體使用了更加複雜的自注意力網絡架構 Transformer。

前沿|通用句子语义编码器,谷歌在语义文本相似性上的探索

「Universal Sentence Encoder」一文中提到的多任務訓練。各類任務及結構通過共享的編碼層/參數(灰色框)進行連接。

隨著其體系結構的複雜化,Transformer 模型在各種情感和相似度分類任務上的表現都優於簡單的 DAN 模型,且在處理短句子時只稍慢一些。然而,隨著句子長度的增加,使用 Transformer 的計算時間明顯增加,但是 DAN 模型的計算耗時卻幾乎保持不變。

新模型

除了上述的通用句子編碼器模型之外,我們還在 TensorFlow Hub 上共享了兩個新模型:大型通用句型編碼器通和精簡版通用句型編碼器。

  • 大型:https://www.tensorflow.org/hub/modules/google/universal-sentence-encoder-large/1

  • 精簡:https://www.tensorflow.org/hub/modules/google/universal-sentence-encoder-lite/1

這些都是預訓練好的 Tensorflow 模型,給定長度不定的文本輸入,返回一個語義編碼。這些編碼可用於語義相似性度量、相關性度量、分類或自然語言文本的聚類。

大型通用句型編碼器模型是用我們介紹的第二篇文章中提到的 Transformer 編碼器訓練的。它針對需要高精度語義表示的場景,犧牲了速度和體積來獲得最佳的性能。

精簡版模型使用 Sentence Piece 詞彙庫而非單詞進行訓練,這使得模型大小顯著減小。它針對內存和 CPU 等資源有限的場景(如小型設備或瀏覽器)。

我們很高興與大家分享這項研究以及這些模型。這只是一個開始,並且仍然還有很多問題亟待解決,如將技術擴展到更多語言上(上述模型目前僅支持英語)。我們也希望進一步地開發這種技術,使其能夠理解段落甚至整個文檔。在實現這些目標的過程中,很有可能會產生出真正的「通用」編碼器。

前沿|通用句子語義編碼器,谷歌在語義文本相似性上的探索

原文鏈接:https://ai.googleblog.com/2018/05/advances-in-semantic-textual-similarity.html

✄------------------------------------------------

廣告&商務合作:[email protected]


分享到:


相關文章: