ELMo 和 BERT 提供的嵌入與傳統的靜態詞嵌入(如 Word2Vec)的主要區別在於它們是否為上下文相關 (contextual)。
靜態詞嵌入 (Static Embeddings)
- 代表模型: Word2Vec、GloVe、FastText
- 主要特點:
- 單一詞彙,單一向量: 每個詞彙在詞彙表中只有一個固定的向量表示。例如,「bank」這個詞,無論在「river bank」(河岸)還是在「financial bank」(銀行)的句子中,它的向量都是相同的。
- 忽略上下文: 它們無法區分多義詞在不同語境中的含義差異。
- 計算方式: 這些模型通常是根據詞彙在大型語料庫中的共現關係來學習的。
上下文相關詞嵌入 (Contextual Embeddings)
- 代表模型: ELMo、BERT
- 主要特點:
- 動態向量表示: 同一個詞彙,會根據它在句子中的上下文,生成不同的向量表示。例如,BERT 對於「I went to the river bank」中的「bank」和「I went to the financial bank」中的「bank」,會生成兩個不同的向量,精準地捕捉到它的語義。
- 捕捉語義: 這些模型能夠理解多義詞、同義詞、甚至複雜的語法結構。
- 雙向編碼: BERT 特別使用了 Transformer 的雙向編碼器,使其在生成嵌入時能夠同時考慮一個詞彙前後的全部上下文信息,從而獲得更豐富、更準確的語義表示。而 ELMo 則使用了兩個獨立的從左到右和從右到左的 LSTM 網絡來實現雙向性。
- 預訓練與微調 (Pre-training and Fine-tuning): 這些模型通常在大型通用語料庫上進行預訓練,學習語言的深層模式。然後,可以針對特定的下游任務(如情感分析、問答系統)使用較小的、帶有標註的資料集進行微調,以達到更好的性能。
比較總結
