0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

自然語言處理的ELMO使用

電子工程師 ? 來源:工程師曾玲 ? 2019-05-02 14:32 ? 次閱讀

1、概述

word embedding 是現(xiàn)在自然語言處理中最常用的 word representation 的方法,常用的word embedding 是word2vec的方法,然而word2vec本質(zhì)上是一個靜態(tài)模型,也就是說利用word2vec訓(xùn)練完每個詞之后,詞的表示就固定了,之后使用的時候,無論新句子上下文的信息是什么,這個詞的word embedding 都不會跟隨上下文的場景發(fā)生變化,這種情況對于多義詞是非常不友好的。例如英文中的 Bank這個單詞,既有河岸的意思,又有銀行的意思,但是在利用word2vec進行word embedding 預(yù)訓(xùn)練的時候會獲得一個混合多種語義的固定向量表示。即使在根據(jù)上下文的信息能明顯知道是“銀行”的情況下,它對應(yīng)的word embedding的內(nèi)容也不會發(fā)生改變。

ELMO的提出就是為了解決這種語境問題,動態(tài)的去更新詞的word embedding。ELMO的本質(zhì)思想是:事先用語言模型在一個大的語料庫上學(xué)習(xí)好詞的word embedding,但此時的多義詞仍然無法區(qū)分,不過沒關(guān)系,我們接著用我們的訓(xùn)練數(shù)據(jù)(去除標(biāo)簽)來fine-tuning 預(yù)訓(xùn)練好的ELMO 模型。作者將這種稱為domain transfer。這樣利用我們訓(xùn)練數(shù)據(jù)的上下文信息就可以獲得詞在當(dāng)前語境下的word embedding。作者給出了ELMO 和Glove的對比

自然語言處理的ELMO使用

對于Glove訓(xùn)練出來的word embedding來說,多義詞play,根據(jù)他的embedding 找出的最接近的其他單詞大多數(shù)幾種在體育領(lǐng)域,這主要是因為訓(xùn)練數(shù)據(jù)中包含play的句子大多數(shù)來源于體育領(lǐng)域,之后在其他語境下,play的embedding依然是和體育相關(guān)的。而使用ELMO,根據(jù)上下文動態(tài)調(diào)整后的embedding不僅能夠找出對應(yīng)的“表演”相同的句子,還能保證找出的句子中的play對應(yīng)的詞性也是相同的。接下來看看ELMO是怎么實現(xiàn)這樣的結(jié)果的。

2、模型結(jié)構(gòu)

ELMO 基于語言模型的,確切的來說是一個 Bidirectional language models,也是一個 Bidirectional LSTM結(jié)構(gòu)。我們要做的是給定一個含有N個tokens的序列

t1, t2, ... , tN

其前向表示為:

自然語言處理的ELMO使用

反向表示為:

自然語言處理的ELMO使用

從上面的聯(lián)合概率來看是一個典型的語言模型,前向利用上文來預(yù)測下文,后向利用下文來預(yù)測上文。假設(shè)輸入的token是自然語言處理的ELMO使用,在每一個位置 k ,每一層LSTM 上都輸出相應(yīng)的context-dependent的表征自然語言處理的ELMO使用。

這里 j = 1 , 2 , ... , L ,L 表示LSTM的層數(shù)。頂層的LSTM 輸出,通過softmax層來預(yù)測下一個。

對數(shù)似然函數(shù)表示如下:

自然語言處理的ELMO使用

模型的結(jié)構(gòu)圖如下:

自然語言處理的ELMO使用

ELMO 模型不同于之前的其他模型只用最后一層的輸出值來作為word embedding的值,而是用所有層的輸出值的線性組合來表示word embedding的值。

對于每個token,一個L層的 biLM要計算出 2L + 1 個表征:

自然語言處理的ELMO使用

在上面等于,表示的是token層的值。

在下游任務(wù)中會把 Rk壓縮成一個向量:

自然語言處理的ELMO使用

其中是softmax標(biāo)準(zhǔn)化權(quán)重,γtask?是縮放系數(shù),允許任務(wù)模型去縮放整個ELMO向量。

ELMO的使用主要有三步:

1)在大的語料庫上預(yù)訓(xùn)練 biLM 模型。模型由兩層bi-LSTM 組成,模型之間用residual connection 連接起來。而且作者認(rèn)為低層的bi-LSTM層能提取語料中的句法信息,高層的bi-LSTM能提取語料中的語義信息。

2)在我們的訓(xùn)練語料(去除標(biāo)簽),fine-tuning 預(yù)訓(xùn)練好的biLM 模型。這一步可以看作是biLM的domain transfer。

3)利用ELMO 產(chǎn)生的word embedding來作為任務(wù)的輸入,有時也可以即在輸入時加入,也在輸出時加入。

ELMO 在六項任務(wù)上取得了the state of the art ,包括問答,情感分析等任務(wù)。總的來說,ELMO提供了詞級別的動態(tài)表示,能有效的捕捉語境信息,解決多義詞的問題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 計算機
    +關(guān)注

    關(guān)注

    19

    文章

    7367

    瀏覽量

    87633
  • 人工智能
    +關(guān)注

    關(guān)注

    1789

    文章

    46656

    瀏覽量

    237091
收藏 人收藏

    評論

    相關(guān)推薦

    python自然語言

    最近,python自然語言是越來越火了,那么什么是自然語言。自然語言(Natural Language )廣納了眾多技術(shù),對自然或人類語言
    發(fā)表于 05-02 13:50

    【推薦體驗】騰訊云自然語言處理

    `相信大家對NLP自然語言處理的技術(shù)都不陌生,它是計算機科學(xué)領(lǐng)域和AI領(lǐng)域中的一個分支,它與計算機和人類之間使用自然語言進行交互密切相關(guān),而NLP的最終目標(biāo)是使計算機能夠像人類一樣理解語言
    發(fā)表于 10-09 15:28

    自然語言處理的分詞方法

    自然語言處理——75 自動分詞基本算法
    發(fā)表于 03-19 11:46

    自然語言處理語言模型

    自然語言處理——53 語言模型(數(shù)據(jù)平滑)
    發(fā)表于 04-16 11:11

    自然語言處理的詞性標(biāo)注方法

    自然語言處理——78 詞性標(biāo)注方法
    發(fā)表于 04-21 11:38

    自然語言處理筆記

    自然語言處理筆記9-哈工大 關(guān)毅
    發(fā)表于 06-04 16:34

    自然語言處理——總結(jié)、習(xí)題

    自然語言處理——79 總結(jié)、習(xí)題
    發(fā)表于 06-19 11:22

    什么是自然語言處理?

    會識別出我們正確說的話。 我們使用免費服務(wù)將在線遇到的外語短語翻譯成英語, 有時它們可以為我們提供準(zhǔn)確的翻譯。 盡管自然語言處理取得了長足的進步,但仍有很大的改進空間。[理...
    發(fā)表于 07-23 10:22

    什么是自然語言處理

    什么是自然語言處理自然語言處理任務(wù)有哪些?自然語言處理的方法是什么?
    發(fā)表于 09-08 06:51

    什么是自然語言處理_自然語言處理常用方法舉例說明

    自然語言處理是計算機科學(xué)領(lǐng)域與人工智能領(lǐng)域中的一個重要方向。它研究能實現(xiàn)人與計算機之間用自然語言進行有效通信的各種理論和方法。自然語言處理
    發(fā)表于 12-28 16:56 ?1.8w次閱讀
    什么是<b class='flag-5'>自然語言</b><b class='flag-5'>處理</b>_<b class='flag-5'>自然語言</b><b class='flag-5'>處理</b>常用方法舉例說明

    自然語言處理怎么最快入門_自然語言處理知識了解

    自然語言處理就是實現(xiàn)人機間自然語言通信,實現(xiàn)自然語言理解和自然語言生成是十分困難的,造成困難的根本原因是
    發(fā)表于 12-28 17:10 ?5277次閱讀

    自然語言處理(NLP)的學(xué)習(xí)方向

    自然語言處理(Natural Language Processing,NLP)是計算機科學(xué)領(lǐng)域與人工智能領(lǐng)域中的一個重要方向。它研究人與計算機之間用自然語言進行有效通信的理論和方法。融語言
    的頭像 發(fā)表于 07-06 16:30 ?1.3w次閱讀

    自然語言處理的概念和應(yīng)用 自然語言處理屬于人工智能嗎

      自然語言處理(Natural Language Processing)是一種人工智能技術(shù),它是研究自然語言與計算機之間的交互和通信的一門學(xué)科。自然語言
    發(fā)表于 08-23 17:31 ?1256次閱讀

    自然語言處理和人工智能的概念及發(fā)展史 自然語言處理和人工智能的區(qū)別

    自然語言處理(Natural Language Processing, NLP)的定義是通過電腦軟件程序?qū)崿F(xiàn)人們?nèi)粘?b class='flag-5'>語言的機器自動處理。為了幫助計算機理解,掌握
    發(fā)表于 08-23 18:22 ?801次閱讀

    自然語言處理包括哪些內(nèi)容

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領(lǐng)域的一個重要分支,它涉及到計算機與人類語言之間的交互。NLP的目標(biāo)是讓計算機能夠理解、生成和處理
    的頭像 發(fā)表于 07-03 14:15 ?678次閱讀