機械学習シリーズですが、今回は MeCab の替りとして「Janome」をインストールして「形態素解析」をしてみます。
更に Janome で mecab-ipadic-neologd を利用する手順を説明します。
以下、前回までのパートです。
【AWS】【機械学習】Deep Learning AMI(Ubuntu)で【形態素解析】を試した【Part.1】
【AWS】【機械学習】Deep Learning AMI(Ubuntu)で【形態素解析】を試した【Part.2】
【AWS】【機械学習】Deep Learning AMI(Ubuntu)で【形態素解析】を試した(Janomeのインストール)【Part.3】
【AWS】【機械学習】Deep Learning AMI(Ubuntu)で【形態素解析】を試した(Janome&mecab-ipadic-neologd で解析)【Part.4】
Janome とは何か?
Janome は「形態素解析エンジン」です。
エンジンとは、以下の解説の通り「ある特定の処理を行うための機能を提供する、ひとまとまりになった処理装置」のことです。
「エンジン」とは、イメージとしては、ある機能を提供する「関数一式」とか「プログラム一式」です。
■IT用語辞典バイナリより
http://www.sophia-it.com/content/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3
エンジンとは、一般的には内燃機関を指すが、IT用語としては、ある特定の処理を行うための機能を提供する、ひとまとまりになった処理装置のことである。プログラムを指す場合が多いが、カスタムICなどのハードウェアを指す場合もある。
エンジンと呼ばれる代表的な例として、検索エンジンや、データベースエンジン、画像エンジンなどを挙げることができる。検索エンジンはWeb上で公開されているWebページをはじめとする情報をデータベース化し、キーワードなどで検索できる機能を提供する。データベースエンジンは、データベースソフトウェアにおいてデータを削除したり更新したりするための機能を提供する。また、画像エンジンは、デジタルカメラやデジタルビデオカメラにおいて、イメージセンサーから得られた電気信号を画像データに変換する処理能力を提供する。
Janome の特徴
■Janome のメリット(長所)
- Python のみで記述されているため MeCab が必要ない
- pip コマンドで簡単にインストールができる
- 形態素解析に使用する辞書一式が Janome のインストールパッケージに含まれている
- 辞書は MeCab と同じものを利用している
■Janome のデメリット(短所)
- Python で開発されているので、形態素解析の処理速度が MeCab の10倍くらい遅い
Janome のインストール
Janome のインストールは簡単です。
pip コマンドでインストールできます。
[test@SAKURA_VPS ~]$ sudo pip3.6 install janome |
mecab-ipadic-neologdをインストールする
以下のサイトを参考にしてインストールしました。
(very experimental) NEologd 辞書を内包した janome をビルドする方法
ページの中盤にビルド手順が記載されていますが、結構時間が掛かり大変です。
私がビルドをした際は、AWS の EC2 インスタンスタイプ「t2.large」を利用しても1時間は掛かりました。
ちなみに「t2.large」は
- CPU : 2コア
- メモリ : 8GB
となかなかのスペックです。
簡単に「NEologd 辞書を内包した janome」をインストールできるお勧めの方法
実は上記ページにはすでにビルドしたパッケージをダウンロードできます。
しかも定期的に最新版をビルドしてくれています。
これを利用しない手はありません。
以下、簡単に「NEologd 辞書を内包した janome」をインストールする手順です。
以下、URLにアクセスします。
以下のように「ビルド済みパッケージを こちら からダウンロードできます。」をクリックします。
以下のページに移動したら「Janome-X.X.X…」のパッケージを選択して右クリックし「ダウンロード」を選択します。
ファイルのサイズが大きいので下図のような警告が表示されますが「エラーを無視してダウンロード」ボタンをクリックします。
手元のパソコンにダウンロードしたファイル「Janome-0.3.6.neologd-20171218.tar.gz(2018年1月16日現在)」をインストールしたいコンピュータにアップロードします。
Tera Term を使ってリモートアクセスをしている場合は、パソコンから Tera Term 経由で「SSH SCP」を使ってファイルをアップロードします。
pip コマンドでインストールします。
ubuntu@AWS_TEST: ~] pwd |
/usr/local/ ディレクトリ配下の所有権を普段利用するアカウント(今回の場合は ubuntu)に割り当てます。
ubuntu@AWS_TEST: /usr] pwd ubuntu@AWS_TEST: /usr] ls |
以上でインストールは完了です。
Janome & mecab-ipadic-neologd の動作確認
Janome & mecab-ipadic-neologd の動作確認をします。
ubuntu@AWS_TEST: ~] python3.6 |
「渋谷ヒカリエ」や「東急シアターオーブ」など固有名詞がキチンと認識されています。
Janome だけの場合
比較するために Janome だけの場合、どのような解析になるのか以下に記載します。
root@AWS_TEST: ~] pyhthon3.6 |
1つ1つの単語が細かく区切られていて、せっかくの固有名詞が単語の集まりのようになっています。
この比較を見ると、やはり「mecab-ipadic-neologd」は精度が高いですね。
参考にした書籍
現在以下の書籍で機械学習のさわり部分を勉強しています。
まだまだ学ぶべき部分は多いですが、「Pythonによるスクレイピング&機械学習 開発テクニック」は機械学習のための様々なライブラリを分かりやすく解説しています。
専門的な部分まで取り扱っていませんが、機械学習初心者にとって、本書は入り口としては最適だと思います。
いきなり難しい専門書を読んでもすぐに挫折すると思うので、最初にこの本を読んでおくのがいいと思います。
Pythonによるスクレイピング&機械学習 開発テクニック BeautifulSoup,scikit-learn,TensorFlowを使ってみよう
今までの記事
【AWS】【機械学習】Deep Learning AMI(Ubuntu)で【形態素解析】を試した【Part.1】
【AWS】【機械学習】Deep Learning AMI(Ubuntu)で【形態素解析】を試した【Part.2】
【AWS】【機械学習】Deep Learning AMI(Ubuntu)で【形態素解析】を試した(Janomeのインストール)【Part.3】
【AWS】【機械学習】Deep Learning AMI(Ubuntu)で【形態素解析】を試した(Janome&mecab-ipadic-neologd で解析)【Part.4】
コメント