Есть ли способ удалить слово из словаря 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: Решаю путем редактирования самого файла текстовой модели.
- Возможный метод 2: обратитесь к ответу @zsozso. (Хотя я не понял
Работа).