Word2Vec
В этом упражнении вы создадите модель Word2Vec с помощью Keras.
Корпус для предобучения модели — это сценарии всех эпизодов сериала «Теория большого взрыва», разбитые на отдельные предложения. Он доступен в переменной bigbang.
Текст корпуса был приведён к нижнему регистру, а все слова — токенизированы. Результат сохранён в переменной tokenized_corpus.
Модель Word2Vec была предобучена с размером окна контекста в 10 слов (5 до и 5 после центрального слова); слова, встречающиеся менее 3 раз, были исключены. Использовался метод skip-gram с размерностью векторов 50. Модель сохранена в файле bigbang_word2vec.model.
Класс Word2Vec уже загружен в среду из gensim.models.word2vec.
Это упражнение является частью курса
Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras
Инструкции к упражнению
- Загрузите предобученную модель Word2Vec.
- Сохраните в переменную
words_of_interestсписокlistсо словами"bazinga", "penny", "universe", "spock", "brain", сохранив их в указанном порядке. - Переберите каждое слово из списка интересующих слов, используя метод
.most_similar()атрибутаwv, и добавьте 5 наиболее похожих слов вtop5_similar_wordsв виде словаря. - Выведите найденные 5 наиболее похожих слов для каждого из слов из списка интересующих.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Word2Vec model
w2v_model = Word2Vec.load(____)
# Selected words to check similarities
words_of_interest = ____
# Compute top 5 similar words for each of the words of interest
top5_similar_words = []
for word in words_of_interest:
top5_similar_words.append(
{word: [item[0] for item in w2v_model.wv.____([word], topn=5)]}
)
# Print the similar words
____