Web上の言語資源から得た新語を追加することでカスタマイズした MeCab 用のシステム辞書のmecab-ipadic-NEologdをWindowsで使えるようにしたので、その過程を書いていきます。
ちなみにUbuntuから利用するのではなくWindowsから直接使えるようにしました。
Ubuntu側でインストールした辞書をWindow側に移動させることによりWindow側のMeCabから利用することができるようになります。
- 環境
- WSLのインストール
- Ubuntuのインストール
- MeCabをUbuntuにインストール
- mecab-ipadic-NEologdをUbuntuにインストール
- 辞書をWindowsにコピペする
- テスト
- デフォルトでNEologdを使う
環境
私の実行環境です。
mecab-ipadic-NEologdをインストールするにはMeCabが必要になります。
インストール方法は
・ https://www.pytry3g.com/entry/2018/04/24/143934#Windows
WSLのインストール
まずWSL(Windows Subsystem for Linux)をインストールします。
デスクトップ左下にあるWindowsのマークから
スタートメニューを開いて, powerで検索するとWindows PowerShellが出てくると思います。管理者権限でPowerShellを開いて下のコマンドを実行します。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Ubuntuのインストール
次にUbuntuをインストールします。
WindowsからUbuntuを利用するには2通りの方法があるようです。
私は2の方法でやってみました。
デスクトップ左下にあるWindowsのマークから
スタートメニューを開いて
、Microsoft Storeを開きます。
右上にある検索からUbuntuで検索すると画面中央下にいくつかのUbuntuが出てきます。 私はUbuntu18.04をインストールしました。
インストールが完了すると青色の起動ボタンが表示されるので、クリックして起動します。 すると、Windowsのコマンドプロンプトに似たやつが起動されるのでそこでユーザ名やパスワードの設定をします。設定などに少々時間がかかるかもしれません。
MeCabをUbuntuにインストール
UbuntuのコマンドプロンプトからMeCabをインストールします。
起動中の画面↓↓↓
以下のコマンドを実行します。
$ sudo apt-get update
$ sudo apt install mecab
$ sudo apt install libmecab-dev
$ sudo apt install mecab-ipadic-utf8
これでMeCabのインストールは完了です。
mecab-ipadic-NEologdをUbuntuにインストール
次にmecab-ipadic-NEologdをインストールします。
Ubuntuのコマンドプロンプトから以下のコマンドを実行します。
$ sudo apt install make
$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git $ cd mecab-ipadic-neologd $ sudo bin/install-mecab-ipadic-neologd -n -a
これでmecab-ipadic-NEologdをUbuntuにインストールすることができました。(※少々時間がかかります。)
辞書をWindowsにコピペする
mecab-ipadic-NEologdをWindowから利用できるようにするために、Window側にコピペします。私の環境の場合、インストールされた辞書は/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
にあるのでここにあるファイルをWindow側の任意のディレクトリにコピペします。
私はCドライブ直下にneologd
というディレクトリを作成してすべてのファイルをそこにコピペしました。
$ sudo cp /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/* /mnt/c/neologd/
ちなみに、このやり方はPermission deniedが出て失敗します。そこで私がとったやり方は、いったんファイルをデスクトップの任意のディレクトリにコピペします。そのあと直接そのディレクトリからC:\neologd
に移動させました。
Windows側に移動させることができたのでわざわざC:\neologd
に移動させる必要はありませんが、C:\neologd
に移動させたほうがmecab-ipadic-NEologdを利用するときにパスを短くできるので移動させました。
テスト
mecab-ipadic-NEologd
Window側で使えるかどうか確認してみます。
成功です(^^
-d
で辞書のパスを指定している。
Tagger()
の引数の先頭にrをつけなければRuntimeErrorがでる。
(rはraw文字列のこと、文字列の先頭にrをつけることによりエスケープシーケンスを無効にします。)
通常版
通常のシステム辞書を使った場合。
デフォルトでNEologdを使う
NEologdを使うときにいちいちパスを指定するのが面倒な場合はmecabrcの中身を書き換えます。
mecabrcは私の環境だと、C:\Program Files (x86)\MeCab\etc
にあります。
私はCドライブ直下にneologd
というディレクトリを作成してすべてのファイルをそこにコピペしたので、mecabrcのdicdir
を以下のように書き換えました。
dicdir = C:\neologd
; dicdir = $(rcpath)\..\dic\ipadic
この方法ではMeCabを使うときに辞書のパスを指定する必要はありません。