Pythonライブラリ「gensim」を使って機械学習アルゴリズム「Word2Vec」「Doc2Vec」を実装し、トピック抽出する方法とソースコードについて紹介します。
Word2Vecとは
Word2Vecは、単語をベクトル表現化して次元圧縮する技術です。
これにより、単語の意味や文法を効率的に認識することができます。
Doc2Vecとは
Word2Vecは、単語ベクトルとパラグラフベクトルを組み合わて、文章のベクトルを求める技術です。
Word2Vecの仕組み(概要)
Word2Vecの基本的な構造は、2層のニューラルネットワークです。
入力値として文字列を入れてやると、単語の特徴量ベクトルが出力されます。
ざっくり言うと、1つの単語の周囲に存在する他の単語の出現率を用いて学習しています。
例えば、
「沖田さん大勝利」
「沖田さん強い」
「セイバー最強は沖田さん」
などの文章を入れてやると、「沖田さん」と「強い」「最強」「大勝利」は互いに関連性が高い単語ということになります。
それを特徴量ベクトルという数値形式で圧縮して出力します。
数値形式で圧縮して出力することで、膨大なデータから学習した結果を効率的にコンパクトな数値データに変換できます。
数値データに変換することで、様々なプログラムで活用しやすくなります。
gensimライブラリ
Pythonではgensimライブラリを用いることで、Word2VecとDoc2Vecの技術を手軽に実装できます。
その基本的な使い方を項目別に以下にまとめました。
(準備中)
公式ドキュメント:gensim
【関連記事】
Python入門 サンプル集
コメント