“… 어머님 나 는 별 하나 에 아름다운 말 한마디 씩 불러 봅니다 …”
CBoW 를 사용하면 표시된 단어 정보를 바탕으로 아래의 [ ---- ] 에 들어갈 단어를 예측하는 과정으로 학습이 진행됩니다.
“… 나 는 [ -- ] 하나 에 … “
“… 는 별 [ ---- ] 에 아름다운 …”
“… 별 하나 [ -- ] 아름다운 말 …”
“… 하나 에 [ -------- ] 말 한마디 …”
Skip-gram 을 사용하면 표시된 단어 정보를 바탕으로 다음의 [ ---- ] 에 들어갈 단어를 예측하는 과정으로 학습이 진행됩니다.
“… [ -- ][ -- ] 별 [ ---- ][ -- ] …”
“… [ -- ][ -- ] 하나 [ -- ][ -------- ] …”
“… [ -- ][ ---- ] 에 [ -------- ][ -- ] …”
“… [ ---- ][ -- ] 아름다운 [ -- ][ ------ ] …”
import gensim
# 데이터 불러오기
import gensim.downloader as api
wv = api.load('word2vec-google-news-300')
# 인덱스에 위치한 단어 정보
wv.index_to_key
# 유사도 측정
wv.similarity(word1, word2)
# 가장 유사한 단어(5순위)
wv.most_similar(positive=['word1', 'word2'], topn=5)
# 단어들 중 가장 관계 없는 단어
wv.doesnt_match(['word1', 'word2', 'word3'])