KeyError: «слово 'word' отсутствует в словаре» в word2vec

Я использую word2vec, корпус вики, который я обучал, что я могу сделать, если слово, которое я ввожу, отсутствует в словаре в word2vec?

Протестируйте немного:

model = word2vec.Word2Vec.load('model/' + 'wiki_chinese_word2vec.model')    
model['boom']

Ошибка:

KeyError ("слово '% s' отсутствует в словаре"% word)


person Mr.Novence    schedule 14.12.2016    source источник
comment
Проверьте if 'boom' in model перед тем, как получить его.   -  person DYZ    schedule 14.12.2016
comment
Это просто образец, я проверяю слово, которое хочу, в корпусе вики, но не в модели.   -  person Mr.Novence    schedule 14.12.2016


Ответы (2)


Используйте try & except для обработки исключений в Python. Блок try выполняется нормально. Если возникает какое-либо исключение или ошибка, будет выполнен блок except.

try:
        c = model['boom']
except KeyError:
        print "not in vocabulary"
        c = 0
person white_terminal    schedule 11.01.2017

Когда ты говоришь

что я могу сделать, если введенное мной слово отсутствует в словарном запасе word2vec

Я интерпретирую это двояко

1) Как избежать этого исключения: вы можете использовать try, catch

2) Как обработать это исключение: повторно обучить модель с учетом недостающих слов. У вас есть возможность постепенно обучать модель с новым корпусом в word2vec, пожалуйста, прочтите руководство по gensim подробно.

Я предполагаю, что "бум" недоступен в корпусе, который вы прошли, отсюда и проблема

person Trinadh Gupta    schedule 14.12.2016