開源項目ELMo:機器學習在自動翻譯中的應用

開源項目ELMo:機器學習在自動翻譯中的應用

計算機系統越來越善於理解人們所說的話,但它們也有一些主要的弱點。其中一個事實是,他們對具有多重或複雜含義的詞語感到困惑。一種名為ELMo的新系統將這一關鍵上下文添加到詞彙中,從而提高了對詞彙的全面理解。

要說明這個問題,可以想想“女王”這個詞。“當你和我說話的時候,我說這個詞,你從上下文就能知道我說的是伊麗莎白女王,還是象棋棋子,或是蜂房的女主人,或是RuPaul魯保羅的變裝比賽。”

單詞具有多重含義的能力稱為多義性。實際上,這是規則而不是例外。這句話的意思通常可以由“上帝保佑女王!”這句話來確定。和“我救了我的王后!”——當然,所有這些都指向了主題,句子的結構,你是否需要回應,等等。

然而,機器學習系統並沒有那麼大的靈活性。它們代表單詞的方式要簡單得多:它考察了單詞的所有不同定義,並得出一種平均值——當然是一種複雜的表示,但不能反映其真正的複雜性。

ELMo(“來自語言模型的嵌入”)允許系統輕鬆地處理多義詞,它上週在NAACL獲得了最佳論文獎。它的核心是使用它的訓練數據(大量的文本)來確定一個詞是否有多重含義,以及這些不同的含義如何在語言中被表達。

例如,你可能會在上面我的例子“女王”的句子,儘管它們非常相似,一個是關於皇室,另一個是關於遊戲。這是因為它們的編寫方式包含了一些線索,可以幫助您找到上下文檢測引擎,從而告訴您哪個女王到底是什麼。

通過人工註釋文本語料庫來了解這些差異,可以通過人工註釋來完成——但是誰想通過數百萬個單詞來記錄下哪個女王是哪個呢?

論文的第一作者馬修•彼得斯解釋說:“我們正在尋找一種能夠顯著減少對人類註釋需求的方法。”“我們的目標是儘可能多地從沒有標註的數據中學到東西。”

此外,他說,傳統的語言學習系統“將單個單詞的所有含義壓縮成一個單一的向量”。所以我們開始質疑這個基本假設:我們不學習單個向量,我們有無限個向量。因為意義高度依賴於語境"

ELMo通過攝取單詞出現的完整句子來了解這些信息;它會發現,當一個國王和一個王后在一起時,很可能是皇室或遊戲,但絕不是蜂巢。當它看到兵時,它知道這是國際象棋;jack傑克意味著撲克牌,等等。

配備了elmo的語言引擎不會像有多年解析語言經驗的人那樣出色,但即使是多義性的工作知識對理解一門語言也大有幫助。

不僅如此,在一個詞的意思中考慮到整個句子,還可以更容易地映射句子的結構,自動標註從句和詞性。

使用ELMo方法的系統有直接的好處,即使是最新的自然語言算法也有25%的改進,這對這個領域來說是一個巨大的收益。而且因為它是一種更好的、更能感知上下文的學習方式,而不是一種根本不同的學習方式,它甚至可以很容易地集成到現有的商業系統中。

事實上,據報道微軟已經在必應上使用了它。畢竟,在搜索中確定意圖是至關重要的,這當然需要準確地讀取查詢。ELMo也是開源的,就像艾倫人工智能研究所(Allen Institute for AI)的所有工作一樣,所以任何需要自然語言處理的公司都應該看看這個。

本文奠定了在英語語言系統中使用ELMo的基礎,但是由於ELMo的功能本質上是通過對它所輸入的數據的仔細閱讀而得到的,所以沒有理論理由認為它不僅適用於其他語言,還適用於其他領域。換句話說,如果你給它一堆神經科學的文本,它應該能夠分辨出時間和大腦區域之間的區別。

這只是機器學習和語言之間快速發展的一個例子;雖然它已經很好地用於基本的翻譯、語音到文本等,但是計算機通過自然語言接口可以做的事情還有很多——只要它們知道怎麼做。


分享到:


相關文章: