一文看懂詞嵌入word embedding(2種算法+其他文本表示比較)

一文看懂 word embedding

文本表示(Representation)

文本是一種非結(jié)構(gòu)化的數(shù)據(jù)信息,是不可以直接被計算的。

文本表示的作用就是將這些非結(jié)構(gòu)化的信息轉(zhuǎn)化為結(jié)構(gòu)化的信息,這樣就可以針對文本信息做計算,來完成我們?nèi)粘K芤姷降奈谋痉诸悾楦信袛嗟热蝿?wù)。

文本表示將非結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù)

文本表示的方法有很多種,下面只介紹 3 類方式:

  1. 獨熱編碼 | one-hot representation
  2. 整數(shù)編碼
  3. 詞嵌入 | word embedding
word embedding的關(guān)系

獨熱編碼 | one-hot representation

假如我們要計算的文本中一共出現(xiàn)了4個詞:貓、狗、牛、羊。向量里每一個位置都代表一個詞。所以用 one-hot 來表示就是:

貓:[1,0,0,0]

狗:[0,1,0,0]

牛:[0,0,1,0]

羊:[0,0,0,1]

one-hot編碼

但是在實際情況中,文本中很可能出現(xiàn)成千上萬個不同的詞,這時候向量就會非常長。其中99%以上都是 0。

one-hot 的缺點如下:

  1. 無法表達(dá)詞語之間的關(guān)系
  2. 這種過于稀疏的向量,導(dǎo)致計算和存儲的效率都不高

整數(shù)編碼

這種方式也非常好理解,用一種數(shù)字來代表一個詞,上面的例子則是:

貓:1

狗:2

牛:3

羊:4

整數(shù)編碼

將句子里的每個詞拼起來就是可以表示一句話的向量。

整數(shù)編碼的缺點如下:

  1. 無法表達(dá)詞語之間的關(guān)系
  2. 對于模型解釋而言,整數(shù)編碼可能具有挑戰(zhàn)性。

什么是詞嵌入 | word embedding?

word embedding 是文本表示的一類方法。跟 one-hot 編碼和整數(shù)編碼的目的一樣,不過他有更多的優(yōu)點。

詞嵌入并不特指某個具體的算法,跟上面2種方式相比,這種方法有幾個明顯的優(yōu)勢:

  1. 他可以將文本通過一個低維向量來表達(dá),不像 one-hot 那么長。
  2. 語意相似的詞在向量空間上也會比較相近。
  3. 通用性很強,可以用在不同的任務(wù)中。

再回顧上面的例子:

word embedding:語意相似的詞在向量空間上也會比較相近

2 種主流的 word embedding 算法

2 種主流的 word embedding 算法

Word2vec

這是一種基于統(tǒng)計方法來獲得詞向量的方法,他是 2013 年由谷歌的 Mikolov 提出了一套新的詞嵌入方法。

這種算法有2種訓(xùn)練模式:

  1. 通過上下文來預(yù)測當(dāng)前詞
  2. 通過當(dāng)前詞來預(yù)測上下文

想要詳細(xì)了解 Word2vec,可以看看這篇文章:《一文看懂 Word2vec(基本概念+2種訓(xùn)練模型+5個優(yōu)缺點)

GloVe

GloVe 是對 Word2vec 方法的擴(kuò)展,它將全局統(tǒng)計和 Word2vec 的基于上下文的學(xué)習(xí)結(jié)合了起來。

想要了解 GloVe 的 三步實現(xiàn)方式、訓(xùn)練方法、和 w2c 的比較。可以看看這篇文章:《GloVe詳解
本文首發(fā)自 產(chǎn)品經(jīng)理的 AI 學(xué)習(xí)庫 easyai.tech

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容