Salesforce AI最新研究,翻譯中的情境化詞向量

2021-03-01 CRM日記本

周末來點燒腦的,Salesforce愛因斯坦發布以來究竟做了哪些事情,做了哪些高科技含量的事情,下面我們就來一起看一看Salesforce愛因斯坦在自然語言處理領域的最新研究吧。

Salesforce 在去年成立新部門 Salesforce Research,專門處理關於深度學習、自然語言處理,和計算機視覺辨識技術的研究,協助用在 Salesforce 的產品線上。其人工智慧服務愛因斯坦AI (Einstein AI),將與他們既有的雲端服務結合,提供更好的服務。最近,他們發布了最新的自然語言處理成果,我們一起來看看。

現如今,自然語言處理(NLP)找到一個很好的實現方法,通過對單個單詞的理解以植入新的神經網絡,但是該領域還沒有找到一種方法可以初始化新網絡,理解這些單詞與其他單詞之間的關係。我們的研究打算利用已經學會了如何使文本情境化的網絡,從而使新的神經網絡能夠學習理解自然語言的其他部分。

對於NLP中的大多數問題來說,理解情境至關重要。翻譯模型需要了解英語句子中的單詞是如何協同工作的,從而生成德語翻譯。摘要模型需要通曉上下文,從而知道哪些詞是最重要的。執行情緒分析的模型需要了解如何能夠掌握那些改變他人表達情緒的關鍵詞。問答模型依賴於對一個問題中的詞語如何改變一個文檔中詞語重要性的理解。由於這些模型中的每一個都需要理解情境是如何影響單詞的含義的,因此每個模型都可以通過與已經學習如何情境化單詞的模型相結合來獲益。

一條通往NLP Imagenet-CNN的路徑

在找尋可重複使用的表徵方面,顯然計算機視覺已經比NLP取得了更大的成功。在大圖像分類數據集(ImageNet)上訓練的深度卷積神經網絡(CNN)經常用作其他模型中的組件。為了更好地對圖像進行分類,CNN通過逐漸構建像素是如何與其他像素相關的更為複雜的理解,來學習圖像的表徵。諸如圖像標註、面部識別和目標檢測等模型處理任務都可以從這些表徵開始,而不需要從頭開始。NLP應該能夠做一些和單詞及其語境類似的事情。

我們可以教一個神經網絡如何在情境中理解單詞。首先,教它如何將英語翻譯成德語;然後,我們將以一種方式來展示我們可以重複使用這個網絡,即計算機視覺中在ImageNet上進行訓練的CNN的重用。我們通過將網絡的輸出,即情境向量(context vectors (CoVe))作為學習其他NLP任務的新網絡的輸入來實現。在我們的實驗中,將CoVe提供給這些新網絡總是能夠提高其性能,所以我們很高興發布生成CoVe的已訓練網絡,以便於進一步探索NLP中的可重用表徵。

詞向量

可以說今天的大多數用於NLP的深度學習模式主要是依靠用詞向量來表徵單個單詞的含義。而對於那些不熟悉這個概念的人來說,所有這一切只不過意味著我們將語言中的每個單詞與一個稱為向量的數字列表相關聯在一起。

圖1:在深度學習中,常常將單詞表徵為向量。深度學習模型不是像讀文本般讀取序列單詞,而是讀取單詞向量的序列。

預訓練詞向量

有時,在為特定任務訓練模型之前,常常將詞向量初始化為隨機數列表,但是用諸如word2vec、GloVe或FastText之類的方法來初始化模型的詞向量也是很常見的。這些方法中的每一種都定義了一種學習具有有用屬性的詞向量的方法。前兩種假說認為,至少有一部分單詞的含義與它的用法是相關的。

word2vec通過訓練一個模型來處理一個單詞並預測一個本地情境窗口;模型看到一個單詞,並試圖預測在其周圍的單詞。

圖2:像word2vec和GloVe這樣的算法產生的詞向量與在自然語言中經常出現的詞向量是相關的。這樣一來,「(vector)向量」的向量意味著出現在諸如「lists」、「of」以及「numbers」這類單詞周圍的單詞「vector」。

GloVe採取類似的方法,但它還明確地添加了關於每個單詞與其他每個單詞發生頻率的統計信息。在這兩種情況下,每個單詞都由相應的詞向量表示,並且訓練強制詞向量以與自然語言中單詞的使用相關聯的方式相互關聯。

預訓詞向量的突現屬性

如果將這些詞向量視為空間中的點,我們可以從中看到一種令人著迷的緊密關係,從而讓人聯想到單詞之間的語義關係。

圖3:捕獲到的男性—女性單詞對之間的向量差異(Pennington等人在2014提出的觀點)。

圖4:對於關係a-b,c:d表示c +(a-b)產生最接近d的向量(Mikolov等人於2013年提出觀點)。

圖5:捕獲到的比較和最高級關係之間的向量差異(Pennington等人於2014提出的觀點)。

很快就發現,在為目標任務初始化一個模型時,如果用word2vec或GloVe所定義的用於中級任務的預訓練詞向量進行訓練,將會使模型在目標任務上更加具有優勢。因此,由word2vec和GloVe生成的詞向量在NLP的許多任務中找到了廣泛的實驗方法。

隱藏向量

這些預訓練的詞向量表現出有趣的屬性,並提供了對隨機初始化的詞矢量的性能增益。但是正如上面所敘述的那樣,單詞很少獨立出現。使用預訓練詞向量的模型必須學習如何使用它們。我們的工作是通過對中級任務進行訓練,找到一種用於改進詞向量情境化的隨機初始化方法,從而提取詞矢量。

編碼器

情境化詞向量的一種常見方法是使用一個循環神經網絡(RNN)。RNN是一種處理可變長度的向量序列的深度學習模型。這使得它們適合於處理詞向量的序列。我們使用的是一種稱為長短期記憶網絡(LSTM)的特定類型的RNN,從而更好地處理長序列。在處理的每個步驟中,LSTM接收一個詞向量,並輸出一個稱為隱藏向量的新向量。該過程通常被稱為編碼序列,並且將執行編碼的神經網絡稱為編碼器。

圖6:LSTM編碼器接收一個詞矢量序列並輸出一個隱藏向量序列。

雙向編碼器

這些隱藏的向量不包含序列中稍後出現的單詞的信息,但這一點很容易進行補救。我們可以反向運行一個LSTM從而獲得一些反向輸出向量,並且我們可以將它們與正向LSTM的輸出向量相連,以獲得更有用的隱藏向量。我們把這對正向和反向的LSTM當做一個單元,它通常被稱為雙向LSTM。它接收一個詞向量序列,運行正向和反向LSTM,連接對應於相同輸入的輸出,並返回所得到的隱藏向量的結果序列。

圖7:雙向編碼器包含每個單詞前後的信息。

我們使用一組兩個雙向LSTM作為編碼器。第一個雙向LSTM處理其整個序列,然後將輸出傳遞給第二個。

機器翻譯中的隱藏向量

正如預訓練的詞向量被證明是許多NLP任務的有效表徵一樣,我們期望預訓練我們的編碼器,以便它能夠輸出通用的隱藏向量。為此,我們選擇機器翻譯作為第一個訓練任務。機器翻譯訓練集要遠大於其他大多數NLP任務的翻譯訓練集,翻譯任務的性質似乎具有一種吸引人的屬性,可用於訓練通用情境編碼器,例如,翻譯似乎比文本分類這樣的任務需要更一般的語言理解能力。

解碼器

在實驗中,我們教編碼器如何如何將英語句子翻譯成德語句子,從而教它生成有用的隱藏向量。編碼器為英語句子生成隱藏向量,另一個稱為解碼器的神經網絡在生成德語句子時將引用這些隱藏向量。

正如LSTM是我們編碼器的主幹一樣,LSTM在解碼器中也扮演著重要的角色。我們使用一個與編碼器一樣具有兩個層的解碼器LSTM。解碼器LSTM從編碼器的最終狀態初始化,讀入一個特殊的德語詞向量作為開始,並生成一個解碼器狀態向量。

圖8:解碼器使用單向LSTM從輸入詞向量中創建解碼器狀態。

注意

注意機制回顧隱藏向量,以便決定接下來要翻譯英文句子的哪一部分。它使用狀態向量來確定每個隱藏向量的重要性,然後它生成一個新的向量,我們稱之為情境調整狀態(context-adjusted state)來記錄其觀察結果。

圖9:注意機制使用隱藏狀態和解碼器狀態來生成情境調整狀態。

生成

生成器稍後將查看情境調整狀態以確定要輸出的德語單詞,並且將情境調整狀態傳遞迴解碼器,從而使其對已經翻譯的內容與足夠準確的理解。解碼器重複此過程,直到完成翻譯。這是一種標準的注意編碼—解碼器體系結構,用於學習序列的序列任務,如機器翻譯。

圖10:生成器使用情境調整狀態來選擇輸出單詞。

來自預訓練MT-LSTM的情境向量

當訓練完成後,我們可以提取已訓練的LSTM作為機器翻譯的編碼器。我們將這個已預訓練的LSTM稱為MT-LSTM,並使用它來輸出用於新句子的隱藏向量。當使用這些機器翻譯隱藏向量作為另一個NLP模型的輸入時,我們將它們稱為情境向量(CoVe)。

圖11:a)編碼器的訓練b)將其重新用作新模型的一部分

用CoVe進行實驗

我們的實驗探索了使用預訓練的MT-LSTM生成用於文本分類和問答模型的CoVe的優點,但CoVe可以與任何表徵其輸入的模型一起作為向量序列。

分類

我們研究兩種不同類型的文本分類任務。第一種,包括情緒分析和問題分類,具有單一的輸入。第二種僅包括蘊涵分類(entailment classification),有兩個輸入。對於這兩種,我們使用雙集中分類網絡(Biattentive Classification Network)。如果只有一個輸入,我們將其複製,假裝有兩個,讓模型知道避免運行冗餘計算。而且我們不需要了解BCN理解CoVe的細節以及使用它們的好處。

圖12:一個雙集中分類網絡。

問答

我們依靠動態關注網絡(Dynamic Coattention Network)進行問答實驗。為了分析MT數據集對模型學習其他任務性能的影響,我們使用一個稍微修改過的DCN,但實驗測試了整個CoVe和CoVe與字符向量的總體有效性,我們使用udpated DCN +。

表1:我們實驗中數據集和任務的總結。

GloVe+CoVe

對於每個任務,我們用不同的方式來表徵輸入序列。我們可以將每個序列表示為我們訓練的隨機初始化的詞向量序列,我們可以使用GloVe,或者我們可以將GloVe和CoVe一起使用。 在最後一種情況下,我們採用GloVe序列,通過預訓練的MT-LSTM運行它,以獲得CoVe序列,並且我們將CoVe序列中的每個向量與GloVe序列中的相應向量相加。不管是MT-LSTM還是GloVe都不是作為分類或問答模型的一部分進行訓練的。

實驗結果表明,在隨機初始化詞向量和單獨使用GloVe的情況下,包括CoVe以及GloVe在內總是能夠提高其性能。

圖13:通過使用GloVe和添加CoVe來驗證性能是否提高。

更多MT→更好CoVe

改變用於訓練MT-LSTM的數據量表明,用更大的數據集進行訓練會導致更高質量的MT-LSTM,在這種情況下,更高的質量意味著使用它來生成CoVe會在分類和問題應答任務上產生更好的性能。

結果表明,用較少的MT訓練數據訓練的MT-lstms所獲得的增益是不顯著的,在某些情況下,使用這些小MT數據集訓練MT-lstm產量,實際上會損害性能。這可能表明使用CoVe的好處來自於使用不平凡的MT-lstm。這也可能表明,MT訓練集的領域對產生的MT-lstm所提供的任務有影響。

圖14:MT-LSTM的訓練集大小對使用CoVe的模型的驗證性能有明顯的影響。在這裡,MT-Small是2016年WMT多模態數據集,MT-Medium是2016年IWSLT訓練集,MT-Large是2017年WMT新聞追蹤訓練集。

CoVe和字符

在這些實驗中,我們嘗試向GloVe和CoVe添加字符向量。結果表明,在某些任務中,字符向量可以與GloVe和CoVe一起工作,以獲得更高的性能。這表明CoVe添加了與字符和單詞級信息相輔相成的信息。

圖15:CoVe與字符向量中存儲的字符級信息互補。

測試性能

我們所有最好的模型都使用了GloVe、CoVe和字符向量。我們採用了為每個任務實現最高驗證性能的模型,並在測試集上對這些模型進行了測試。上圖顯示,相較於我們在出發點的表現,添加CoVe始終可以提升我們的模型性能,下表顯示,在我們七個任務中的其中三個裡面,在測試集層面,足以推動我們的起始模式向藝術表現的最新狀態發展。

表2:在測試時,測試性能與其他機器學習方法的比較(7/12/17)。

值得注意的是,就像我們使用機器翻譯數據來改進我們的模型一樣,sst-2和IMDb的最先進的模型也在使用監督訓練集之外的數據。對於sst-2來說,頂級模型使用了8200萬未標記的Amazon評論,而IMDb的頂級模型使用了50000個未標記的IMDb評論,此外還有22500個監督訓練樣本。這兩種方法都增加了與目標任務相似的數據,而不是我們使用的機器翻譯數據集。這些模型的優越性可能突出顯示了附加數據的種類與附加數據的有益程度之間的聯繫。

結論

我們展示了如何訓練一個神經網絡,使其能夠學習情境中單詞的表徵,並且我們展示了我們可以使用該網絡的一部分——MT-LSTM,從而幫助網絡學習NLP中的其他任務。在分類和問答模型中,MT-LSTM提供的情境向量或CoVe都無疑推動它們達到更好的性能。我們用於訓練MT-LSTM的數據越多,改進越明顯,這似乎與使用其他形式的預先訓練向量表徵所帶來的改進相輔相成。通過將來自GloVe,CoVe和字符向量的信息相結合,我們能夠在各種NLP任務中提高基準模型的性能。

相關焦點

  • Salesforce愛因斯坦AI最新NLP研究,通過情境化詞向量從翻譯中學習(附開原始碼)
    導覽:CRM 廠商 Salesforce 在去年成立新單位 Salesforce Research,專門處理關於深度學習、自然語言處理,和計算機視覺辨識技術的研究,協助用在 Salesforce 的產品線上。其人工智慧服務愛因斯坦AI (Einstein AI),將與他們既有的雲端服務結合,提供更好的服務。最近,他們發布了最新的自然語言處理成果,我們一起來看看。
  • Salesforce App Builder Transition Exam介紹
    v=BJzePKYnSqw】✔ 記錄類型(Record Type)簡介:【https://help.salesforce.com/articleView?id=customize_recordtype.htm】✔ 累計匯總欄位(Roll-Up Summary)介紹:【https://help.salesforce.com/articleView?
  • 如何輕鬆拿下Salesforce CPQ 證書?
    關於CPQ考試,Salesforce是建議有6到12個月的Salesforce CPQ項目經驗的人參加考試。 理想情況下,您將從事5到10個Salesforce CPQ項目的經驗後參加考試。 如果你這從事過Salesforce CPQ相關項目經驗,我們強烈建議您在開發者組織中基於實際業務場景構建解決方案。
  • Salesforce 在JavaScript中使用SOQL
    您可以在VF頁面上的Javascript中或您編寫的任何類型的Javascript中使用SOQL,就像我們可以通過單擊按鈕或記錄的詳細信息頁面上存在的連結將其執行一樣。以下是簡單的示例,您可以使用它並進行相應的修改:JavaScript代碼:{!
  • 【最新實習發布!】Amazon 中國 | Paypal | Salesforce
    effectively influence both peers and senior leadershipApply:https://jobsearch.paypal-corp.com/en-US/job/data-analyst-intern/J3S8FB6XSNFBVJF34H903Salesforce
  • Salesforce DX環境搭建
    關於CI,CD那些敏捷相關的東東就不打算自己學習了,以後項目中如果用到再寫學習筆記。最近發現學習總是容易跑偏Salesforce Developer Experience (DX)是能夠簡化整個開發聲明周期的一組工具。他能夠改進團隊開發和協作,促進自動化測試和持續集成,並使部署變得更高效和敏捷。
  • Red Box通過與Salesforce Einstein Call Coaching的整合在Sales...
    倫敦和紐約2020年7月31日 /美通社/ -- 領先的語音平臺Red Box今天宣布在Salesforce AppExchange上推出面向Salesforce Einstein的Red Box AI Bridge。AppExchange是全球領先的企業雲市場。
  • Salesforce Rest Api詳解一之Spring Boot集成
    該應用程式將在Salesforce上調用身份驗證,並使用身份驗證的響應進行調用以從Salesforce中的對象獲取一些數據。在實際的實現中,可以對身份驗證進行緩存,無需在每次對Salesforce進行API調用之前都調用身份驗證。可以比會話上的超時更頻繁地刷新緩存,或者,由於超時,可以在身份驗證失敗異常之後刷新緩存。
  • Salesforce中的Transient關鍵字的作用
    Salesforce中的視圖狀態是什麼?ViewState包含visualforce頁面的狀態,該頁面包含欄位,組件和控制器狀態的狀態。Viewstate數據採用加密格式,無法通過Firebug等工具查看。
  • Salesforce LWC學習(二十三) Lightning Message Service 淺談
    salesforce默認的訂閱模型的scope範圍是active的,如果我們希望訂閱範圍擴大,需要lwc component頭部引入APPLICATION_SCOPE,這個是在 『lightning/messageService』中。
  • 深度 | 致研究者:2018 AI研究趨勢
    以「博客」為形式的出版新格式,是當代人工智慧研究中最棒的事情之一。我們可以關注各種博客,比如:DeepMind blog(https://deepmind.com/blog/)OpenAI blog(https://blog.openai.com/)Salesforce blog(https://www.salesforce.com/products/einstein/ai-research/)IBM Research
  • Salesforce豪擲277億美金收購Slack,與微軟「Teams」展開決戰
    【新智元導讀】企業軟體公司Salesforce周二宣布,將以近280億美元的價格收購職場聊天工具Slack,成為salesforce成立以來最大的收購案。這筆收購不僅是Salesforce公司自成立以來的最大收購案,同時也是軟體行業有史以來最大的收購案之一。此次Slack收購案,僅是Salesforce CEO馬克-貝尼奧夫(Marc Benioff)多年收購狂潮中的最新一筆。
  • Salesforce與Oracle的愛恨情仇
    此時是1976年,IBM研究人員發表了一篇裡程碑式的論文——《R系統:資料庫關係理論》,文章介紹了關係資料庫理論和查詢語言SQL。這讓還在安培(Ampex)公司打工的拉裡·埃裡森,從此碎碎念不能自拔,開始了關係資料庫商業化的開發之路,並給項目命名為「Oracle」。
  • 谷歌雲+salesforce,真能狙擊微軟+亞馬遜嗎?
    讀懂雲變局之前,最好先了解谷歌的to B夢用「砸鍋賣鐵」來形容谷歌對salesforce的收購併不過分。(谷歌雲服務CEO Thomas Kurian,曾是原Oracle的研發總裁)收購雖多,為什麼是salesforce?首先,要從谷歌在雲市場的地位與野望說起。
  • 在Salesforce公式欄位中使用圖像來豐富您的組織
    Salesforce最具吸引力的功能之一就是能夠自定義所有內容。購買現成的產品,但能夠完全根據您的獨特業務流程進行定製,這是Salesforce排名第一的原因之一。一項已經存在很長一段時間的功能是可以將圖像添加到Salesforce公式欄位中。從本質上講,這意味著代替計算數字或輸出文本字符串,根據結果,公式欄位「結果」可以是一系列圖像。
  • 初學者指南-什麼是Salesforce元數據?
    元數據是Salesforce基礎架構的核心。元數據是Salesforce中的核心組件或功能。沒有元數據,大多數功能就無法實現!但是,許多Salesforce管理員仍難以掌握元數據的整個範圍,並且無法從中獲取最大價值。讓我們深入了解元數據的內容,原因,方式和令人驚嘆的地方。什麼是Salesforce元數據?
  • Salesforce LWC學習(十八) datatable展示 image
    本篇參看:https://developer.salesforce.com/docs/component-library/bundle
  • Salesforce CEO的奇葩建議:像管煙一樣管Facebook,因為容易上癮
    最近表示不滿的就是Salesforce(美國著名的企業級軟體服務公司)的執行長馬克·貝尼奧夫(Marc Benioff)。貝尼奧夫在瑞士達沃斯的CNBC上表示,現在社交媒體不是應該視為社會的氧氣,而是一種致癌物質。他希望Facebook及其同行如同對待健康問題一樣對待這個問題。
  • police force中force指什麼?
    另外sales force指某公司的「銷售團隊」;police force指「警察部隊」;force在這些詞中都是可數名詞,指「軍隊」時多做複數。force做名詞的基本語義是各種「力」比如自然力,物理力量,武力,暴力,影響力,
  • Salesforce 開發了一個處理不同 NLP 任務的通用模型
    Salesforce研究院(Salesforce Research)創建的自然語言處理架構可以處理多種模型和任務。