2018年8月25日土曜日

もう少し簡単にKH Coderで新語に対応するためにmecab-ipadic-NEologdを使う

KH Coderで新語に対応するためにmecab-ipadic-NEologdを使うでKH Coderでmecab-ipadic-NEologdを使えるようにする方法をまとめたところ、KH Coderのツイートで紹介してもらった。ただし「手順多め」という注釈付き。確かにもともとKH Coder用の手順でないものも混ざっていて、はじめからやるとすると面倒な手順になっている。そこで、WSLも進化していることだし、以前よりも簡単な方法をまとめておく。



大まかな流れとしては、Linux環境でしか作成できないmecab-ipadic-NEologdをWindows10のWSL(Ubuntu)で作成して、Windows10にインストールしたKH Coderで利用できるようにする。


環境


Windows10(1803/April 2018 Update)
Windows版 KH Coder Version 3.Alpha.13g
Windows10 WSL Ubuntu 16.04 LTS(mecab-ipadic-NEologdの作成に使用)


Windows10でUbuntuのインストール


Linux環境でしか作成できないmecab-ipadic-NEologdを作成するために、Windows10でWSLのUbuntuをインストールする。インストールできるUbuntuは何種類かあるが、ここではUbuntu 16.04 LTSをインストールする。mecab-ipadic-NEologdを作成するだけなので、あえて新しい18.04を使うよりも無難だと思う。インストールできるUbuntuの種類についてはストアにある3つの「Ubuntu」の違いは? ~WLSの「Ubuntu」をアップグレードする方法を参照。

WSLのUbuntuのインストール方法は、Windows 10でLinuxプログラムを利用可能にするWSL(Windows Subsystem for Linux)をインストールする(バージョン1803対応版)の手順に従うが、「Ubuntu 16」で検索してUbuntuでなくUbuntu 16.04 LTSをインストールする。

ユーザー名とパスワードの設定が完了したら、次のコマンドでパッケージを最新に更新しておく。



mecab-ipadic-NEologdのインストール


mecab-ipadic-NEologd : Neologism dictionary for MeCabにあるBash on Ubuntu on Windowsでのインストール方法を参考にインストールするが、ここではaptitudeコマンドの代わりにaptコマンドでパッケージをインストールする。

必要パッケージのインストール。


MeCabの動作確認。わかち書きがちゃんとできている。


次にmecab-ipadic-NEologdのインストール。


インストールが完了したらインストールディレクトリを確認しておく。


最後にmecab-ipadic-NEologdの効果を確認する。まずはデフォルトの辞書で「インスタ映え」を形態素解析する。「インスタ」と「映」に分割された。


続いてmecab-ipadic-NEologdを使って形態素解析してみる。「インスタ映え」がひとつの固有名詞として認識された。



KH Coderのインストール


KH CoderのダウンロードページからKH Coder3のWindows版をダウンロードする。インストールは、ダウンロードしたファイルをKH CoderをインストールするWindows10環境で実行し、開いたポップアップ画面で「unzip」をクリックすると「C:\khcoder3」にファイルが解凍される。作成されたフォルダ内のkh_coder.exeを実行するとKH Coderが起動する。


KH Coderでmecab-ipadic-NEologdを使えるようにする


WSLのUbuntuで作成したmecab-ipadic-NEologdをWindows環境にコピーして、KH Coderで使えるようにする。

まずはUbuntu環境にあるmecab-ipadic-NEologdをWindows環境にコピーする。WSLではWindowsのドライブが自動でマウントされるので、コピーコマンドで簡単にできる。以下のコマンドでKH Coderフォルダ配下にあるMeCab辞書のフォルダにmecab-ipadic-NEologdをコピーできる。


続いて、KH CoderといっしょにインストールされたMeCabの辞書を変更する。Windows環境にあるC:\khcoder3\dep\mecab\etc\mecabrcをnotepadなどのテキストエディタで開いて以下のように変更する。

dicdir =  $(rcpath)\..\dic\ipadic

dicdir =  $(rcpath)\..\dic\mecab-ipadic-neologd


KH Coderでmecab-ipadic-NEologdの効果を確認する


MeCabの辞書をデフォルトのIPA辞書からmecab-ipadic-NEologdに変更した効果を確認してみる。使うのはRaspberry PiのPython3でMecabを使うのはじめの段落の文章。この文章をテキストファイルに保存してKH Coderで取り込んで抽出語リストを作成する。

KH Coderでプロジェクトの新規作成で保存したテキストファイルを参照するとき、形態素解析エンジンをChaSenからMeCabに変更する。

続いて前処理を行う。

前処理が完了したら、抽出語リストを表示する。

以下のような抽出語リストが表示された。

以下はデフォルト辞書での結果。MeCabの辞書をmecab-ipadic-NEologdに変更して「テキストマイニング」「形態素解析」がひとつの語として抽出できるようになった。

KH Coderで新語に対応するためにmecab-ipadic-NEologdを使うに比べるとずいぶん簡略化できたと思う。というか、前回の手順が煩雑すぎただけか。。

0 件のコメント:

コメントを投稿