Есть ли способ удалить слово из словаря KeyedVectors?

Мне нужно удалить недопустимое слово из словаря "gensim.models.keyedvectors.Word2VecKeyedVectors".

Я пытался удалить его с помощью del model.vocab[word]если я распечатаю model.vocab слово исчезло, но когда я бегу model.most_similar используя другие слова, слово, которое я удалил, все еще выглядит как подобное. Так как я могу удалить слово из model.vocab таким образом, что влияет на model.most_similar не принести это?

1 ответ

Решение

Не существует метода, поддерживающего удаление отдельных слов.

Быстрый и грязный обходной путь может быть, одновременно с удалением vocab запись, отмечая index существующего вектора (в основном массиве векторов), а также изменяя строку в kv_model.index2entity список в этом индексе к некоторому значению плагина (например, '***DELETED***').

Затем после выполнения любого most_similar(), откажитесь от любых подходящих записей '***DELETED***',

Ссылаться на:

Как полностью удалить слово из модели Word2Vec в gensim?

  1. Возможный способ 1: Решаю путем редактирования самого файла текстовой модели.
  2. Возможный метод 2: обратитесь к ответу @zsozso. (Хотя я не понял

Работа).

Другие вопросы по тегам