Добавление синтетического токена '<OOV>'
просто позволит вам найти этот токен, например model['<OOV>']
. Модель по-прежнему выдаст ключевые ошибки для отсутствующих ключей, таких как 'kjklk'
.
Нет встроенной поддержки для добавления любого такого «универсального» отображения. Часто игнорирование неизвестных токенов лучше, чем использование некоторого значения плагина (такого как нулевой вектор или случайный вектор).
В Python довольно идиоматично явно проверять наличие ключа через ключевое слово * 1008, если вы хотите сделать что-то другое для отсутствующих ключей. Например:
vector = model['kjklk'] if 'kjklk' in model else DEFAULT_VECTOR
(Примечательно, что *expr1* if *expr2* else *expr3*
откладывает оценку начального expr1 , избегая KeyError
.)
Python также имеет вариантный словарь defaultdict
, который может иметь значение по умолчанию, возвращаемое для любого неизвестного ключа. См:
https://docs.python.org/3.7/library/collections.html#collections.defaultdict
Можно попробовать заменить словарь KeyedVectors
vocab
одним из них, если поведение действительно важно, но могут быть побочные эффекты в другом коде.