【Python】テキストマイニングしてみた〜モデル作成〜

 

1. Word2Vecについて

この記事を読み進める前に、よりテキストマイニングの内容を理解したい方は、下記のURLにてチェックしてみてください。

【Python】テキストマイニングとは〜分析の重要性〜

「Word2Vec」とは、文章中の語句をベクトルに変換するツールです。単語同士の繋がりに基づいて単語同士の関係性をベクトル化するわけです。

ツール名通り、単語をベクトルとして表現することで、その単語の意味を捕らえる手法となります。つまり、語句と語句の類似度を測ることができるわけですね。

 

2. Gensimとインストールについて

Word2Vecを実現するツールとして、いくつか挙げられるライブラリがあります。

今回は、実行速度が速く、Pythonから手軽に利用できるものを考えると、「Gensim」ライブラリを使いたいと思います。この「Gensim」は、自然言語処理のためのライブラリです。

 

テキスト処理のための多くの機能を備えており、Word2Vec機能も備えています。「Gensim」はのインストールは、pipコマンド一発でインストール可能です。テキストマイニングを試しに行ってみたい方は利用してみてください。

以下にインストールのコマンドを記載します。

 

pip install gensim

 

3. モデル作成

今回は、model-making.pyとword2vec.pyの二つのファイルを作成します。

それぞれに行うプログラムを記載して説明していきます。

 – 3.1 プログラムの概要

 

1 – model-making.py

 

■処理の流れ

1. python解析器janome,ベクトル変換ツールword2vecをインポート
2. 作成したテキストファイルの読み込み
3. 形態素解析
4. テキストを一行ごとに処理した内容を任意の品詞で抽出
5. 書き込み先のテキストを開く
6. word2vecでモデル作成

 

 

1では、今回のテキストマイニングに必要なライブラリとして、python解析器janomeとベクトル変換ツールword2vecをインポートします。

テキスト一行ごとに処理を行う(データクレンジング)ため、正規表現マッチング操作を提供しているreもついでにインポートしておきます。

 

 

2では、任意で用意しておいたテキストファイル(何か文章を入力してあるファイル)を読み込みます。

 

 

3では、janomeを利用して形態素解析を行うため、インスタンスを作成しておきます。

 

 

4では、テキストを一行ごとに処理しています。

変数linesに対して、読み込んでおいたファイルデータをtextに代入し、その変数を単語ごとに処理しています。
forループにて、正規表現マッチング操作を行ったあと、一文字づつ形態素解析しています。

 

5では、得られた形態素解析後の単語の品詞を必要な形で分かち書きさせていきます。

 

 

6では、用意しておいた任意のテキストファイルにて、結果をファイルに保存します。

 

 

7では、分かち書きしておいたテキストファイルを読み込み、word2vecにてモデルを作成します。word2vec()メソッドにてパラメータを与えて実行すると、モデルを生成します。生成したモデルは、save()メソッドにてファイルを保存できます。

 

★model-making★

 

 

2 – word2vec.py

 

■処理の流れ
1. ベクトル変換ツールword2vecをインポート
2. 類似する語句を表示する

 

 

1では、上記のファイルと同様、word2vecをインポートします。

 

 

2では、モデル作成しておいたファイルを読み込んで、任意で決めたある単語に関する類似度を表示させます。

 

★word2vec.py★

 

 

– 3.2 出力結果

 

★用意したテキストファイル★

 

 

★形態素解析を行い、必要な品詞で分かち書きした出力ファイル★

 

 

★指定した単語の類似語句の表示結果★

 

 

最後まで読んで頂き、ありがとうございました。

 

機械学習や分析の分野に興味があり、pythonを学びたいと思っている方は是非こちらもどうぞ↓

誰でも30日間で習得出来るpython学習法

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です