[英]Find most similar words for OOV word
我正在使用 gensim 尋找與詞匯外 OOV 詞最相似的詞。 像這樣的東西:
def get_word_vec(self, model, word):
try:
if word not in model.wv.vocab:
mostSimWord = model.wv.similar_by_word(word)
print(mostSimWord)
else:
print( word )
except Exception as ex:
print(ex)
有沒有辦法實現這個任務? 也歡迎使用 gensim 以外的選項。
如果您訓練FastText
model 而不是Word2Vec
model,它會固有地學習除了完整單詞之外的單詞片段(可配置大小范圍)的向量。
在英語和許多其他語言(但不是全部)中,未知單詞通常是拼寫錯誤、替代 forms,或者與已知單詞的詞根和后綴相關。 因此,擁有子詞的向量,然后使用這些向量來計算一個未知詞的良好猜測向量,可以很好地值得嘗試——比忽略這些詞或使用完全隨機或原點向量更好。
沒有內置的方法可以嘗試從現有的一組不基於FastText
/子詞的詞向量中提取這種關系——但理論上這是可能的。 您可以計算與所有已知單詞的編輯距離或共享子單詞計數,並通過 N 個最接近單詞的加權組合創建猜測向量。 (這對於拼寫錯誤和稀有的替代拼寫可能非常有效,但對於真正不存在的新詞則效果不佳。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.