Word2Vec
Word2Vecとは?
Word2Vecは、自然言語処理で使用される技術の一つで、単語をベクトル空間に埋め込む手法です。この技術は、Googleの研究者であるトマス・ミコロフ(Tomas Mikolov)らによって開発されました。Word2Vecは、単語の意味的な関係を数値ベクトルに変換することで、コンピュータが単語の意味を理解しやすくします。
今回はgensimというライブラリに実装されている下記のword2vecモデルを利用して、類似単語の取得を行ってみます。
インストール
pip install gensim
gensimをインストールします。
ライブラリのインポート
from gensim.models import Word2Vec
from gensim.test.utils import common_texts
from gensim.utils import simple_preprocess
モデルの初期化
model = Word2Vec(sentences=common_texts, vector_size=100, window=5, min_count=1, workers=4)
今回はgensimに組み込まれている共通テキストデータ(common_texts)を使用しています。
トレーニング済みモデルの単語ベクトルの取得
word_vectors = model.wv
類似単語の取得
similar_words = word_vectors.most_similar('computer', topn=5)
print("'computer'に類似する単語: ", similar_words)
下記の出力が得られました。
'computer'に類似する単語: [
('system', 0.21617139875888824),
('survey', 0.04468922317028046),
('interface', 0.015203381888568401),
('time', 0.0019510635174810886),
('trees', -0.03284316882491112)
]