KeyedVectors\' 对象没有属性 \'wv for gensim 4.1.2

KeyedVectors\' object has no attribute \'wv for gensim 4.1.2

我已经从 gensim 3.8.3 迁移到 4.1.2,我正在使用这个

claim = [token for token in claim_text if token in w2v_model.wv.vocab]

reference = [token for token in ref_text if token in w2v_model.wv.vocab]

我不确定如何将 w2v_model.wv.vocab 替换为较新的属性,我收到此错误

KeyedVectors 的对象没有属性'wv' 谁能帮忙。

您仅使用 .wv 属性 从另一个更完整的算法模型中获取 KeyedVectors 对象,例如完整的 Word2Vec 模型(其中包含 KeyedVectors 在其 .wv 属性中)。

如果您已经在使用 just-the-vectors,则无需请求 word-vectors 子组件。无论您要做什么,都可以直接对 KeyedVectors 执行。

但是,您还使用了 .vocab 属性,该属性已被替换。有关详细信息,请参阅迁移常见问题解答:

https://github.com/RaRe-Technologies/gensim/wiki/Migrating-from-Gensim-3.x-to-4#4-vocab-dict-became-key_to_index-for-looking-up-a-keys-integer-index-or-get_vecattr-and-set_vecattr-for-other-per-key-attributes

(主要是:不用做in w2v_model.wv.vocab,你可能只需要做in kv_modelin kv_model.key_to_index。)