【问题标题】:Is there a way to remove a word from a KeyedVectors vocab?有没有办法从 KeyedVectors 词汇中删除一个单词?
【发布时间】:2019-07-08 21:55:23
【问题描述】:

我需要从“gensim.models.keyedvectors.Word2VecKeyedVectors”的词汇中删除一个无效词。

我尝试使用del model.vocab[word] 删除它,如果我打印model.vocab,这个词就消失了,但是当我使用其他词运行model.most_similar 时,我删除的那个词仍然显示为相似。 那么我怎样才能以影响model.most_similar 的方式从model.vocab 中删除一个单词而不带它呢?

【问题讨论】:

标签: gensim word2vec embedding glove


【解决方案1】:

没有支持删除单个单词的现有方法。

一种快速而简单的解决方法可能是,在删除 vocab 条目的同时,注意现有向量(在底层大型向量数组中)的 index,并更改该索引处的kv_model.index2entity 列表指向某个插头值(例如'***DELETED***')。

然后,在执行任何most_similar() 之后,丢弃任何匹配'***DELETED***' 的条目。

【讨论】:

  • 好的,知道了!谢谢!
【解决方案2】:

参考:

How to remove a word completely from a Word2Vec model in gensim?

  1. 可能的方法1:我通过编辑文本模型文件本身来解决。
  2. 可能的方法2:参考@zsozso 的回答。 (虽然我没有得到 它到

工作)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 2020-01-13
    • 1970-01-01
    • 2021-07-30
    • 2022-01-17
    相关资源
    最近更新 更多