NLP小白學習路線(2)——Glove模型

上一篇我們講到了,怎麼讓計算機理解人類的語言,那就是構建讓計算機可以理解的one-hot向量,
但是由於語料庫太龐大,one-hot容易導致維度災難,並且不能計算詞之間的相似性,所以我們引入了Word Embedding的概念。

Word Embedding 在one-hot的基礎上壓縮了描述語料庫的維度,從原先的V-dim降低爲了自己設定的K值,Word Embedding是Word2Vecmo模型的中間產物,是在不斷最小化損失函數時候,不斷迭代更新生成的。

PS: word2vec的經典之作 Xin Rong 論文

本篇文章介紹了基於窗口的共現矩陣的方法,引入GloVe。最後介紹了內部和外部詞向量評估機制

Window based co-occurrence matrix

什麼爲共線矩陣(co-occurrence matrix )?
在這裏插入圖片描述
這種方法存在以下問題:

詞彙增加,維度增加
高緯度,需要大量存儲空間
後面分類模型存在稀疏性問題,導致模型不健壯
解決辦法:降維——如何降?

對共現矩陣進行奇異值分解(SVD)
在這裏插入圖片描述
但是一些功能詞(the, he, has)出現太過頻繁,對語法(syntax)影響較大,上圖所示的效果並不十分理想,需要對進行改進:

  • 限制高頻詞的頻次,min(X,t),with t~100 ,或者乾脆忽略這些高頻詞
  • 增加的窗口更精確地計算相近的單詞(ampedwindows that count closer words more)用皮爾遜相關係數( Pearson correlations)代替詞頻(counts),然後將負值設置爲0。

GloVe模型

  • 模型目標:進行詞的向量化表示,使得向量之間儘可能多地蘊含語義和語法的信息
  • 輸入:語料庫
  • 輸出:詞向量

GloVe目標是綜合基於統計和基於預測的兩種方法的優點。

模型目標:詞進行向量化表示,使得向量之間儘可能多地蘊含語義和語法的信息

流程:輸入語料庫–> 統計共現矩陣–> 訓練詞向量–>輸出詞向量
目標函數:
在這裏插入圖片描述

How to evaluate word vectors?

1.Intrinsic:內部詞向量評估:詞向量類比。
通過對詞向量的餘弦距離分析可得到直觀的語義和語法問題。
通過Glove可視化,會發現這些類推的向量是近乎平行的。
在這裏插入圖片描述
關於調參:

  • 維度最好爲0-300,但對於downstream的任務可能不同。
  • 不對稱的上下文(只對左邊的單詞)結果不太好
  • 窗口大小爲8的對稱窗口對Glove向量效果好。
  • 更長的訓練時間會幫助提升模型的效果
  • 更多的數據
    在這裏插入圖片描述

2.Extrinsic:實體命名識別會起到很大的幫助

Word senses and word sense ambiguity

關於單詞歧義的消除:通過對上下文的聚類分門別類地重新訓練
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章