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的對比
對于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
其前向表示為:
反向表示為:
從上面的聯(lián)合概率來看是一個典型的語言模型,前向利用上文來預(yù)測下文,后向利用下文來預(yù)測上文。假設(shè)輸入的token是,在每一個位置 k ,每一層LSTM 上都輸出相應(yīng)的context-dependent的表征。
這里 j = 1 , 2 , ... , L ,L 表示LSTM的層數(shù)。頂層的LSTM 輸出,通過softmax層來預(yù)測下一個。
對數(shù)似然函數(shù)表示如下:
模型的結(jié)構(gòu)圖如下:
ELMO 模型不同于之前的其他模型只用最后一層的輸出值來作為word embedding的值,而是用所有層的輸出值的線性組合來表示word embedding的值。
對于每個token,一個L層的 biLM要計算出 2L + 1 個表征:
在上面等于,表示的是token層的值。
在下游任務(wù)中會把 Rk壓縮成一個向量:
其中是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)表示,能有效的捕捉語境信息,解決多義詞的問題。
-
計算機
+關(guān)注
關(guān)注
19文章
7367瀏覽量
87633 -
人工智能
+關(guān)注
關(guān)注
1789文章
46656瀏覽量
237091
發(fā)布評論請先 登錄
相關(guān)推薦
評論