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

2021-01-20 機器之心Pro

近年來,基於神經網絡的自然語言理解研究取得了快速發展(尤其是學習語義文本表示),這些深度方法給人們帶來了全新的應用,且還可以幫助提高各種小數據集自然語言任務的性能。本文討論了兩篇關於谷歌語義表示最新進展的論文,以及兩種可在 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 等資源有限的場景(如小型設備或瀏覽器)。

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

相關焦點

  • BERT-Flow | 文本語義表示新SOTA
    但在文本語義相似度計算任務上,未經微調的BERT句向量的質量常常不如GloVe句向量。提醒: 微信深色模式下,有些公式會看不清,建議在正常模式下(白底)閱讀本文~Introduction將預訓練BERT遷移到文本語義相似度計算任務上大致有兩種思路:「交互編碼:」 這是BERT原文給出的微調方法,也就是把兩個需要計算語義相似度的文本用[SEP]拼接起來
  • 李偉:輿情事件等級評估及基於語義理解實現文本精細化分類
    人民網輿情數據中心主任數據分析師李偉分享的主題是:輿情事件等級評估及基於語義理解實現文本精細化分類。 圖 2 知識圖譜自動構建方法 對於句子級的語義分析,李偉表示主要是通過語義標註來了解句子含義。語義標註首先需要處理最小對象——知識元,也就是詞,需要先了解知識元含義,然後明確知識元聯結方式,二者共同構成句子含義,從而實現句子級語義理解。知識元/詞含義需要有兩個方面工作:分詞和消除歧義,知識元聯結方式包括詞與詞之間關係,還有詞與詞之間的組合方法。見 圖 3 知識圖譜應用於句子級語義理解:
  • 谷歌開源語義圖像分割模型:該領域當前最優模型
    剛剛,谷歌開源了語義圖像分割模型 DeepLab-v3+,DeepLab-v3+結合了空間金字塔池化模塊和編碼器-解碼器結構的優勢,是自三年前的 DeepLab 以來的最新、性能最優的版本。DeepLab-v3+ 模型建立在一種強大的卷積神經網絡主幹架構上 [2,3],以得到最準確的結果,該模型適用於伺服器端的部署。此外,谷歌還分享了他們的 TensorFlow 模型訓練和評估代碼,以及在 Pascal VOC 2012 和 Cityscapes 基準語義分割任務上預訓練的模型。
  • AAAI 2020|通過解糾纏模型探測語義和語法的大腦表徵機制
    如圖2所示,該模型屬於雙通道的變分自編碼器,利用兩個隱含變量分別表示語義特徵變量和語法特徵變量。具體使用詞向量平均編碼器來抽取句子中的語義特徵,利用長短時記憶網絡(LSTM)來抽取句子中的語法特徵,接著通過令語義變量學習區分兩個句子是否含義相同,令語法變量學習區分兩個句子是否語法相同的目標函數,使語義變量積累語義信息,語法變量積累語法信息。
  • 語義理論新轉向:語義最小主義
    他們認為,說話人可以帶著不同的意圖說出一句話,但是句子只有一個語義內容,且這個語義內容不受任何意圖的影響,即任何意圖都不能為句子的語義內容增加什麼。語義最小主義對索引詞的處理是將它們視為表達式的具有語義統一特徵的語義類型。因此,雖然指示詞、人稱代詞等詞項具有索引性可由句法出發而對句子語義產生微弱影響,但是它們本質上是語義類型,具有語義統一特徵。
  • 百度NLP | 神經網絡語義匹配技術
    同理,相同的語義也可由不同的詞表達,例如「的士」、「taxi」都表示計程車。2)語言的組合結構問題相同的詞組成的短語或句子,不同的語序可表達不同的語義,例如「深度學習」和「學習深度」。更進一步,還存在句法結構問題,例如「從北京到上海高鐵」和「從上海到北京高鐵「雖然含有的詞語完全相同,但其語義完全不同。而「北京隊打敗了廣東隊」和「廣東隊被北京隊打敗了」又語義完全相同。
  • 入門| 一文了解什麼是語義分割及常用的語義分割方法有哪些
    但為了將單獨的像素映射給標籤,我們需要將標準 CNN 編碼器擴展為編碼器-解碼器架構。在這個架構中,編碼器使用卷積層和池化層將特徵圖尺寸縮小,使其成為更低維的表徵。解碼器接收到這一表徵,用通過轉置卷積執行上採樣而「恢復」空間維度,這樣每一個轉置卷積都能擴展特徵圖尺寸。在某些情況下,編碼器的中間步驟可用於調優解碼器。最終,解碼器生成一個表示原始圖像標籤的數組。
  • 百度NLP主任架構師全面講解百度語義表示技術及最新進展
    孫宇,百度NLP主任研發架構師、語義計算技術負責人。本文根據作者在「2019自然語言處理前沿論壇」語義理解主題的特邀報告整理而成。基於這個假設,我們做了一個簡單的改進,把它做成一個MASK詞和實體的方法,學習這個詞或者實體在句子裡面Global的信號。基於上述思想我們發布了基於知識增強的語義表示ERNIE(1.0)。我們在中文上做了ERNIE(1.0)實驗,找了五個典型的中文公開數據集做對比。
  • 文本嵌入的經典模型與最新進展
    詞嵌入和句子嵌入已成為所有基於深度學習的自然語言處理(NLP)系統的重要組成部分。它們在定長的密集向量中編碼單詞和句子,以大幅度提高文本數據的處理性能。對通用嵌入的追求是一大趨勢:在大型語料庫上預訓練好的嵌入,可以插入各種下遊任務模型(情感分析、分類、翻譯等),通過融合一些在更大的數據集中學習得到的常用詞句表示,自動提高它們的性能。
  • 鄒炎炎:語義分析介紹及跨語言信息在語義分析中的應用 | AI 研習社...
    Wikipedia 上對 semantic parsing 的解釋是:把人類自然語言的話轉化為機器能夠讀懂的語言。為了讓大家更好地區分語法分析和語義分析的不同點,我先介紹一下兩種分析的任務:Dependency parsing :比如輸入一句話「I saw a girl with a telescope」,Dependency parsing 的目標就是找到哪兩個詞之間是存在依賴關係的,更進一步的話,可能需要給這種關係標記上 Label。
  • 「金猿技術展」文心ERNIE——基於知識增強的語義理解技術
    技術說明文心的核心技術優勢在於,它開創性地將大數據預訓練與多源豐富知識相結合,通過持續學習技術,不斷吸收海量文本數據中詞彙、結構、語義等方面的新知識,實現模型效果不斷進化,如同人類持續學習一樣。文心在語言生成領域也取得突破,提出了業界首個基於多流機制生成完整語義片段的預訓練語言生成技術ERNIE-GEN,該技術在各類語言生成任務上也顯著超越國際最好效果。
  • 谷歌通過深度度量學習,提出新的語義實例分割方法
    雷鋒網了解到,谷歌研究院近日與UCLA合作,提出了一種新的語義實例分割方法:首先計算兩個像素屬於同一對象的可能性,然後將相似的像素分組在一起。其中,相似性度量是基於深度,完全卷積的嵌入模型,而分組方法是基於選擇所有與一組「種籽點」足夠相似的點,這個選擇模型是一個深度的、完全卷積的評分模型。
  • 基於Bert和通用句子編碼的Spark-NLP文本分類
    文本分類問題中使用了幾個基準數據集,可以在nlpprogress.com上跟蹤最新的基準。以下是關於這些數據集的基本統計數據。簡單的文本分類應用程式通常遵循以下步驟:文本預處理和清理特徵工程(手動從文本創建特徵)特徵向量化(TfIDF、頻數、編碼)或嵌入(word2vec、doc2vec、Bert、Elmo、句子嵌入等)用ML和DL算法訓練模型。
  • 語義學者:尚需進階的「學術秘書」
    針對學術搜尋引擎的種種不足,2015年,艾倫人工智慧研究所首次推出「語義學者」。「語義學者」本質上是一個旨在解決信息過載問題的學術搜尋引擎,它能幫助用戶篩選科學論文,並在一定程度上理解檢索到的論文內容。該搜尋引擎檢索的文獻庫最初集中在計算機科學,此後逐步向其他領域擴展。2016年,該研究所更新了「語義學者」的功能。
  • CVPR 2018:新型語義分割模型:動態結構化語義傳播網絡DSSPN
    原因在於它們忽略了所有概念的固有分類和語義層次。例如,長頸鹿、斑馬和馬同屬於有蹄類動物,這個大類描繪了它們的共同視覺特徵,使得它們很容易與貓/狗區分開來。此外,由於專業水平和應用目的不同,語義分割的目標概念集本質上可以開放化和高度結構化,以適應特定的任務/數據集。然而,一些技術還通過在最終預測分數上採用複雜圖形推斷 [7]、層級損失 [31] 或詞嵌入先驗 [39] 來探索視覺識別的語義層次。
  • 機器不學習:基於深度學習CNN的短文本相似度計算方案
    文章的核心想法是採用雙通道CNN來抽取輸入問題和答案之間的相似性與不相似性,整合成最終的句子向量並計算相似性。LSF-SCNN模型延續了基於Siamese結構神經網絡模型構建短文本表達模型的總體思路[5],但通過引入三種優化策略:詞彙語義特徵 (Lexical Semantic Feature, LSF)、跳躍卷積 (Skip Convolution, SC)和K-Max均值採樣 (K-Max Average Pooling, KMA) ,分別在詞彙粒度、短語粒度、句子粒度上抽取更加豐富的語義特徵,並在答案選擇
  • 谷歌語義理解框架SyntaxNet升級開啟無數可能性
    在 AI 語義理解領域,谷歌一直不遺餘力地進行研發投入。對於普通用戶而言,2015 年發布的基於深度神經網絡的谷歌智能郵件回復,2016 年上線的神經機器翻譯系統(GNMT),便源自於谷歌在該領域的研究成果。
  • 隱喻研究:從語義走向認知
    關鍵詞:哲學;語義;認知;語言;語法隱喻;詞彙;句子;隱喻研究;視域;人類認識 作者簡介:   傳統修辭學開啟了對於隱喻的研究。他對語義學問題的研究堅持語義與話語是互相聯繫的原則,注重研究實際應用中的語言,認為隱喻是在特定的語境中生成的,因此,隱喻的理解必須在話語的層面上才能得到正確的解釋。理查茲對隱喻的定位已經超出了修辭學的範圍,認為隱喻是語言發揮作用的途徑,而不能看作是對語言既有規則的一種違背,「隱喻的唯一判別標準是一個詞同時代表兩種思想」。