Word2Vec

Word2Vec 是一種用于將單詞映射到連續(xù)向量空間的技術焊傅,最早由 Google 的研究團隊在 2013 年提出部蛇。它通過分析大規(guī)模文本數(shù)據(jù)生成單詞嵌入(word embeddings)摊唇,捕捉單詞之間的語義關系。以下是 Word2Vec 的詳細講解搪花,包括其原理遏片、模型、實現(xiàn)和應用等方面撮竿。

1. Word2Vec 的基本原理

Word2Vec 通過上下文來學習單詞的表示吮便。基本思想是幢踏,如果兩個單詞在許多上下文中出現(xiàn)得很相近髓需,那么它們的語義和用法就可能相似。通過這一方法房蝉,Word2Vec 能夠生成高維向量(通常為100到300維)僚匆,并保留單詞之間的距離關系。

2. Word2Vec 模型

Word2Vec 實現(xiàn)了兩種主要的模型:

2.1 Continuous Bag of Words (CBOW)

  • 原理:CBOW 模型使用上下文單詞來預測中心單詞搭幻。上下文單詞組成一個窗口咧擂,CBOW 模型通過對這些上下文單詞的向量表示求平均或加權平均來預測目標中心單詞。

  • 示例
    如果句子是:“The cat sat on the mat”檀蹋,當上下文窗口為 2 時松申,上下文可能是 “The”, “cat”, “on”, “the” 而目標中心詞是 “sat”。

  • 訓練過程:CBOW 模型通過最大化概率來學習參數(shù),將每個上下文單詞的向量累加并經(jīng)過一個 softmax 輸出目標單詞的概率分布贸桶。

2.2 Skip-Gram

  • 原理:Skip-Gram 模型的工作方式正好相反舅逸,它用中心單詞來預測上下文單詞。輸入一個中心單詞皇筛,模型嘗試預測在該中心詞周圍的上下文單詞琉历。

  • 示例
    對于同樣的句子 “The cat sat on the mat”,如果中心詞是 “sat”水醋,則要預測上下文詞 “The”, “cat”, “on”, “the”, "mat"旗笔。

  • 訓練過程:Skip-Gram 模型通過最大化上下文單詞概率來進行訓練。

3. 訓練過程

Word2Vec 通常使用負采樣和層次 softmax 進行高效訓練离例。

3.1 負采樣

  • 負采樣是一種有效的訓練方法换团,可以減少計算的復雜度。模型僅更新一小部分詞匯表中的單詞宫蛆,從而加速訓練過程艘包。具體來說,對于每個的訓練樣本耀盗,模型不僅預測真實的上下文單詞想虎,還隨機選擇一些負樣本進行訓練。

3.2 層次 softmax

  • 由于詞匯表可能非常大叛拷,傳統(tǒng)的 softmax 計算量龐大舌厨,因此出現(xiàn)了層次 softmax 的概念。邏輯是將詞匯表建成樹形結(jié)構忿薇,每個單詞的概率通過路徑上的節(jié)點表示裙椭,從而減少計算。

4. 實現(xiàn) Word2Vec

使用 Python 的 gensim 庫可以非常方便的實現(xiàn) Word2Vec署浩。以下是一個簡單的示例:

from gensim.models import Word2Vec

# 準備語料數(shù)據(jù)
sentences = [
    ['the', 'dog', 'barked'],
    ['the', 'cat', 'meowed'],
    ['the', 'mouse', 'squeaked'],
    ['the', 'dog', 'and', 'cat', 'played'],
]

# 訓練 Word2Vec 模型
model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, workers=4)

# 獲取單詞向量
word_vector = model.wv['dog']
print("Word vector for 'dog':", word_vector)

# 相似單詞
similar_words = model.wv.most_similar('dog')
print("Most similar words to 'dog':", similar_words)

# 詞關系
result_vector = model.wv['king'] - model.wv['man'] + model.wv['woman']
similar_words_to_result = model.wv.most_similar(positive=[result_vector])
print("Result from king - man + woman:", similar_words_to_result)

5. 應用場景

Word2Vec 在多種自然語言處理任務中都有應用揉燃,包括但不限于:

  • 文本分類:通過將單詞嵌入傳遞給下游模型(如 RNN、CNN)進行分類筋栋。
  • 情感分析:分析文本情感時炊汤,可以使用 Word2Vec 提供的向量作為特征。
  • 推薦系統(tǒng):根據(jù)用戶行為的文本數(shù)據(jù)進行用戶特征建模弊攘。
  • 語義相似度計算:通過計算向量之間的余弦相似度抢腐,判斷單詞或句子之間的相似性。

6. 優(yōu)點

優(yōu)點

  • 捕捉語義關系:能夠有效捕捉單詞之間的語義關系和上下文襟交。
  • 高效率:在大規(guī)模數(shù)據(jù)集上訓練時效率較高迈倍,特別是在使用負采樣。
  • 可用于下游任務:嵌入的向量可以用于多種任務中捣域,便于遷移學習啼染。
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末醋界,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子提完,更是在濱河造成了極大的恐慌,老刑警劉巖丘侠,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件徒欣,死亡現(xiàn)場離奇詭異,居然都是意外死亡蜗字,警方通過查閱死者的電腦和手機打肝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挪捕,“玉大人粗梭,你說我怎么就攤上這事〖读悖” “怎么了断医?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長奏纪。 經(jīng)常有香客問我鉴嗤,道長,這世上最難降的妖魔是什么序调? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任醉锅,我火速辦了婚禮或听,結(jié)果婚禮上曙搬,老公的妹妹穿的比我還像新娘。我一直安慰自己赠制,他們只是感情好边酒,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布经柴。 她就那樣靜靜地躺著,像睡著了一般甚纲。 火紅的嫁衣襯著肌膚如雪口锭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天介杆,我揣著相機與錄音鹃操,去河邊找鬼。 笑死春哨,一個胖子當著我的面吹牛荆隘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赴背,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼椰拒,長吁一口氣:“原來是場噩夢啊……” “哼晶渠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起燃观,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤褒脯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后缆毁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體番川,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年脊框,在試婚紗的時候發(fā)現(xiàn)自己被綠了颁督。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡浇雹,死狀恐怖沉御,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昭灵,我是刑警寧澤吠裆,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站烂完,受9級特大地震影響硫痰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜窜护,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一效斑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧柱徙,春花似錦缓屠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至羊初,卻和暖如春滨溉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背长赞。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工晦攒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人得哆。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓脯颜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贩据。 傳聞我的和親對象是個殘疾皇子栋操,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容