有没有办法从KeyedVectors词汇表中删除单词?

时间:2019-02-14 19:26:54

标签: gensim word2vec embedding glove

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

我尝试使用del model.vocab[word]删除它,如果我打印model.vocab,这个词就消失了,但是当我使用其他词运行model.most_similar时,我删除的词仍然看起来像。 那么如何以一种影响model.vocab的方式从model.most_similar中删除一个单词呢?

2 个答案:

答案 0 :(得分:1)

不存在支持删除单个单词的现有方法。

在删除vocab条目的同时,注意到现有矢量(在基础大矢量数组中)的index的同时,一种快速而又肮脏的解决方法将该索引处的kv_model.index2entity列表中的字符串更改为某个插入值(例如'***DELETED***')。

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

答案 1 :(得分:0)

Refer to:

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

  1. Possible method 1: I solve it by editing the text model file itself.
  2. Possible method 2: Refer to @zsozso's answer. (Though I didn't get it to

work).