Word2Vec
이번 연습 문제에서는 Keras를 사용해 Word2Vec 모델을 만들어 볼 거예요.
모델 사전 학습에 사용된 코퍼스는 The Big Bang Theory TV 쇼의 전체 대본으로, 문장 단위로 분할되어 있어요. 변수 bigbang에 제공됩니다.
코퍼스의 텍스트는 모두 소문자로 변환되었고, 모든 단어가 토큰화되었어요. 결과는 tokenized_corpus 변수에 저장되어 있어요.
Word2Vec 모델은 컨텍스트 창 크기를 10단어(중심 단어 앞 5개, 뒤 5개)로 하고, 3회 미만 등장한 단어는 제거했으며, 50차원의 skip-gram 방법으로 사전 학습되었습니다. 모델은 bigbang_word2vec.model 파일로 저장되어 있어요.
Word2Vec 클래스는 이미 gensim.models.word2vec에서 로드되어 있어요.
이 연습은 강의의 일부입니다
Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)
연습 안내
- 사전 학습된 Word2Vec 모델을 로드하세요.
- 단어
"bazinga", "penny", "universe", "spock", "brain"을 해당 순서대로 담은list를 만들어 변수words_of_interest에 저장하세요. - 관심 단어 각각에 대해
wv속성의.most_similar()메서드를 사용해 상위 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
____