2017-07-06 35 views
0

can word2vec可以用來猜測剛剛上下文的單詞嗎? 已經用大數據集例如Google新聞我怎樣才能使用word2vec來預測一個類似的單詞,只用上下文「在國際象棋超過15年的統治下,他將與密蘇里州聖路易斯的九名頂尖選手競爭。」產出應該是卡斯帕羅夫或卡爾森。word2vec guesing word embeddings

我只看到了相似性apis,但我不明白如何使用它們呢?這不是word2vec如何使用?

回答

3

這不是word2vec的預期用途。 word2vec算法在內部嘗試使用周圍的單詞來預測精確的單詞,作爲迂迴的方式來學習周圍單詞的有用向量。

即便如此,它在培訓期間並未形成準確的預測。它只是看一個狹隘的訓練示例 - 上下文單詞和目標單詞 - 並執行一個非常簡單的比較和內部微調,以使其與該示例的一致性略好一些。隨着時間的推移,即使預測仍然具有非常不同的質量,它也會自動調整爲有用的媒介。

大多數word2vec庫不提供直接界面來顯示排名預測,給定上下文單詞。最後幾個版本的Python gensim庫(截至2017年7月,當前版本爲2.2.0)提供了一個predict_output_word()方法,該方法大致顯示了模型在某些訓練模式下給出的上下文關係預測的內容。請參閱:

https://radimrehurek.com/gensim/models/word2vec.html#gensim.models.word2vec.Word2Vec.predict_output_word

然而,考慮到你的填充式的空白查詢(也稱爲「完形填空刪除」相關教育或機器學習情境):

_____, who dominated chess for more than 15 years, will compete against nine top players in St Louis, Missouri 

香草word2vec模式不太可能得到正確的結果。對詞語的相對重要性幾乎沒有意義(除非有些詞語更能預測其他詞語)。它沒有語法/排序的意義,或者沒有關聯短語的組成意義(比如「主導的國際象棋」,而不是「主導的」和「國際象棋」)。儘管描述同類事物的單詞通常彼此接近,但它不知道類別能夠確定空白必須是「人」和「棋手」,並且word2vec的模糊相似性不能保證所有的單詞都必須比其他單詞更接近。

爲了更好地幫助解答這些問題解答任務,已經有很多工作來訓練單詞/概念向量(又名'稠密嵌入')。一個隨機的例子可能是"Creating Causal Embeddings for Question Answering with Minimal Supervision",但像[word2vec問題回答]或[嵌入問答]這樣的查詢會發現更多。儘管如此,我不知道這樣做的簡單的開箱即用庫,不管有沒有word2vec的核心。