將 word對應到新的空間中,並以多維的連續實數向量進行表示稱為「Word Represention」 或 「Word Embedding」。
自從21世紀以來,人們逐漸從原始的詞向量稀疏表示法過渡到現在的低維空間中的密集表示。
使用稀疏表示法在解決實際問題時經常會遇到維數災難,且語意資訊無法表示,無法揭示word之間的潛在連結。
而採用低維度空間表示法,不但解決了維度災難問題,並且挖掘了word之間的關聯屬性,從而提高了向量語義上的準確度。
word2vec 的學習任務
假設有這樣一句話:今天 下午 2點鐘 搜尋 引擎 群組 開 組會。
任務1:對於每一個word, 使用該word周圍的word 來預測目前word產生的機率。如使用「今天、下午、搜尋、引擎、群組」來產生「2點鐘」。
任務2:對於每一個word,使用該word本身來預測產生其他word的機率。如使用「2點鐘」來產生「今天、下午、搜尋、引擎、群組」中的每個word。
兩個任務共同的限制條件是:對於相同的輸入,輸出每個word的機率總和為1。
Word2vec的模型就是想透過機器學習的方法來達到提高上述任務準確率的方法。兩個任務分別對應兩個的模型(CBOW和skim-gram)。 如果不做特殊說明,下文皆使用CBOW即任務1所對應的模型來進行分析。
Skim-gram模型分析方法相同。
更多Word 相關技術文章,請造訪Word教學欄位進行學習!
以上是word2vector原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!