簡體   English   中英

查找與 OOV 詞最相似的詞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM