nlp期末複習 詞向量

2021-10-07 10:55:41 字數 1666 閱讀 1259

1、不能體現詞的含義進行編碼(one-hot)

2、單詞按照含義進行編碼成向量的方式稱為word embedding

word embedding:word2vec(cbow/skip-gram)—>glove

3、從word embedding到bert模型

!!!無法解決詞的多義問題

缺點:

word embedding在對bank這個單詞進行編碼的時候,是區分不開這兩個含義的,因為它們儘管上下文環境**現的單詞不同,但是在用語言模型訓練的時候,不論什麼上下文的句子經過word2vec,都是**相同的單詞bank,而同乙個單詞佔的是同一行的引數空間,這導致兩種不同的上下文資訊都會編碼到相同的word embedding空間裡去。所以word embedding無法區分多義詞的不同語義,這就是它的乙個比較嚴重的問題。

**解決:**引入elmo

實際使用word embedding的時候,單詞已經具備了特定的上下文了,這個時候我可以根據上下文單詞的語義去調整單詞的word embedding表示,這樣經過調整後的word embedding更能表達在這個上下文中的具體含義,自然也就解決了多義詞的問題了。所以elmo本身是個根據當前上下文對word embedding動態調整的思路。

缺點:乙個非常明顯的缺點在特徵抽取器選擇方面,elmo使用了lstm而不是新貴transformer,很多研究已經證明了transformer提取特徵的能力是要遠強於lstm的

**解決:**引入gpt

與elmo主要不同在於兩點:首先,特徵抽取器不是用的rnn,而是用的transformer,上面提到過它的特徵抽取能力要強於rnn,這個選擇很明顯是很明智的;其次,gpt的預訓練雖然仍然是以語言模型作為目標任務,但是採用的是單向的語言模型,

缺點:採用單向語言模型

所謂「單向」的含義是指:語言模型訓練的任務目標是根據 [公式] 單詞的上下文去正確**單詞 [公式] , [公式] 之前的單詞序列context-before稱為上文,之後的單詞序列context-after稱為下文。elmo在做語言模型預訓練的時候,**單詞 [公式] 同時使用了上文和下文,而gpt則只採用context-before這個單詞的上文來進行**,而拋開了下文。這個選擇現在看不是個太好的選擇,原因很簡單,它沒有把單詞的下文融合進來,這限制了其在更多應用場景的效果,比如閱讀理解這種任務,在做任務的時候是可以允許同時看到上文和下文一起做決策的。如果預訓練時候不把單詞的下文嵌入到word embedding中,是很吃虧的,白白丟掉了很多資訊。

**解決:**引入bert

bert採用和gpt完全相同的兩階段模型,首先是語言模型預訓練;其次是使用fine-tuning模式解決下游任務。和gpt的最主要不同在於在預訓練階段採用了類似elmo的雙向語言模型,當然另外一點是語言模型的資料規模要比gpt大。所以這裡bert的預訓練過程不必多講了。

缺點:對領域內有標籤資料的過分依賴:雖然有了預訓練+精調的兩段式框架,但還是少不了一定量的領域標註資料,否則很難取得不錯的效果,而標註資料的成本又是很高的。

對於領域資料分布的過擬合:在精調階段,因為領域資料有限,模型只能擬合訓練資料分布,如果資料較少的話就可能造成過擬合,致使模型的泛華能力下降,更加無法應用到其他領域。

**解決:**引入gpt-3

**解決:**引入xlnet

xlnet引入了自回歸語言模型以及自編碼語言模型的提法

NLP(四)詞向量

關於word2vec的原理網上很詳細了 本文 共2種詞向量轉換方式 1 獨熱編碼 2 word2vec from sklearn.preprocessing import labelencoder one hot labelencoder 輸入為列表好像也可以 word vector one hot...

NLP 如何評估詞向量

目前詞向量的評估一般分為兩大類 extrinsic evaluation和 intrinsic evaluation。即內部評估和外部評估。內部評估直接衡量單詞之間的句法和語義關係。這些任務通常涉及一組預先選擇的查詢術語和語義相關的目標詞彙,我們將其稱為query inventory。當前絕大部分工...

莫煩nlp 詞向量 skim gram

將訓練的句子人工分為兩派 數字派,字母派 雖然都是文字,但是期望模型能自動區分出在空間上,數字和字母是有差別的。因為數字總是和數字一同出現,而字母總是和字母一同出現。臥底數字 9 的任務就是把字母那邊的情報向數字通風報信。所以期望的樣子就是數字 9 不但靠近數字,而且也靠近字母。上一節已經介紹了cb...