この記事では、mecab-ipadic-NEologdのインストールを解説しています。
mecab-ipadic-NEologdのインストールは、Ubuntuで行います。
しかし、Windowsからmecab-ipadic-NEologdを利用することを想定しています。
つまり、仮想環境のUbuntuで追加した辞書をWindowsで利用するということです。
本記事の内容
- 仮想環境の準備と確認
- ホストOSとゲストOSの共有フォルダの準備と確認
- ゲストOSのメモリを増やす
- mecab-ipadic-NEologdのインストール
- ホストOSからゲストOS上の辞書を参照できるようにする
それでは、上記に沿って解説していきます。
仮想環境の準備と確認
Linux系のOSにmecab-ipadic-NEologdをインストールするだけなら、一瞬です。
コマンド数個で終わります。
今回は、仮想環境上のUbuntuにmecab-ipadic-NEologdをインストールしていきます。
そして、その追加された辞書をWindowsで利用します。
実際、まだまだWindowsが開発マシンとしてはメジャーです。
だから、Windowsで開発しならMecabの辞書を利用するというのがポイントになります。
また、mecab-ipadic-NEologdは常時更新されています。
そのため、一度コピーしたから終りというのではありません。
つまり、Ubuntuで常時更新した辞書をWindowsで利用できるようにしたいのです。
このような仕組みには、仮想環境が必要です。
そこで大抵の場合は、Windows Subsystem for Linux(WSL)を利用します。
次の記事でも、泣く泣く利用しています。
個人的には、WindowsにべったりのWSLを利用したくありませんでした。
10年以上Linuxを触ってきた人間からすると、WSLは使いたくないのです。
ただ、記事作成時はまだ他に方法を知りませんでした。
その反省を活かして、WSLを利用せずにmecab-ipadic-NEologdをメンテできる方法を考えました。
別の仮想化ソフトウェアを利用するという方法です。
仮想環境を構築する方法は、次の記事をご覧ください。
WSLを利用するよりも、全然簡単です。
それに、WSLには汎用性はありません。
Windowsべったりの仕組みなので。
しかし、Vagrantによる方法は汎用性があります。
macOSでもLinuxでも、どこでも同じように構築できるということです。
いろいろと述べてきましたが、まずは仮想環境を用意します。
ゲストOSは、Ubuntuがベストです。
ホストOSとゲストOSの共有フォルダの準備と確認
mecab-ipadic-NEologd自体は、Ubuntu(ゲストOS)にインストールします。
そして、Windows(ホストOS)が、ゲストOS上で作成された辞書を利用する必要があります。
そのためには、ホストOSとゲストOSとでファイルを共有できる仕組みが必要です。
仕組みと言えば大袈裟ですが、共有フォルダがあればOKです。
共有フォルダの設定は、次の記事で解説しています。
共有フォルダの設定も簡単です。
簡単にできる方法をまとめています。
では、ここまでの準備が整ったらUbuntuにmecab-ipadic-NEologdをインストールしましょう。
ただ、その前にゲストOSのメモリを増やしておきます。
ゲストOSのメモリを増やす
mecab-ipadic-NEologdのインストール前に必須な作業があります。
Vagrantで利用できるメモリを増やすことです。
mecab-ipadic-NEologdのインストールでは、最低でも1.5GBは必要です。
メモリに余裕がないと、mecab-ipadic-NEologdのインストールがエラーとなります。
メモリを増やすためには、「Vagrantfile」を変更します。
事前に仮想環境は停止しておいてください。
通常、52目行から57行目に下記の表記があります。
# config.vm.provider "virtualbox" do |vb| # # Display the VirtualBox GUI when booting the machine # vb.gui = true # # # Customize the amount of memory on the VM: # vb.memory = "1024" # end
メモリを1GBから3GBに増やします。
設定を次のように変更。
config.vm.provider "virtualbox" do |vb| # # Display the VirtualBox GUI when booting the machine # vb.gui = true # # # Customize the amount of memory on the VM: vb.memory = "3072" end
ファイルを保存します。
保存した後に、仮想環境を起動させます。
>vagrant up
エラーがなく仮想環境が起動すれば、メモリは増強されているはずです。
Ubuntuにログインして確認しましょう。
>vagrant ssh
Ubuntu上に確認。
$ free -mh total used free shared buff/cache available Mem: 2.9G 84M 2.7G 600K 173M 2.7G Swap: 0B 0B 0B
メモリは増えていますね。
では、次こそmecab-ipadic-NEologdのインストールです。
mecab-ipadic-NEologdのインストール
Ubuntuでの作業となります。
インストール前には、呪文のように唱えましょう。
$ sudo apt update
辞書作成のために必要なモノを一括でインストールします。
$ sudo apt-get install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file
途中で「Do you want to continue? [Y/n]」と聞かれます。
もちろん、「Y」を入力してEnter。
環境によりますが、数分はかかるでしょうね。
インストールが終わったら、以下のコマンドで確認。
$ mecab -v mecab of 0.996
上記のように表示されれば、辞書作成に必要なモノのインストールは成功です。
では、次にmecab-ipadic-NEologd本体をインストールします。
管理できる適当な場所に移動します。
$ cd /opt
mecab-ipadic-NEologdのダウンロードを行います。
$ sudo git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
mecab-ipadic-NEologdのダウンロードには、1分程度でしょうか。
ダウンロードが完了したら、ディレクトリを移動します。
$ ls mecab-ipadic-neologd $ cd mecab-ipadic-neologd/
mecab-ipadic-NEologdのインストールは、以下のコマンドで行います。
$ sudo ./bin/install-mecab-ipadic-neologd -n
ズラズラとログが流れていきます。
途中で「Do you want to install mecab-ipadic-NEologd? Type yes or no」と聞かれます。
「yes」を入力してEnter。
その後すぐにmecab-ipadic-NEologdのインストールは完了します。
[install-mecab-ipadic-NEologd] : Install completed. [install-mecab-ipadic-NEologd] : When you use MeCab, you can set '/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd' as a value of '-d' option of MeCab. [install-mecab-ipadic-NEologd] : Usage of mecab-ipadic-NEologd is here. Usage: $ mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd ... [install-mecab-ipadic-NEologd] : Finish.. [install-mecab-ipadic-NEologd] : Finish..
辞書の場所は、「/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd」です。
辞書を使って動作を確認してみましょう。
$ mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd EOS DOS窓では、基本的には日本語がアウトです DOS窓 名詞,固有名詞,一般,*,*,*,DOS窓,ドスマド,ドスマド で 助詞,格助詞,一般,*,*,*,で,デ,デ は 助詞,係助詞,*,*,*,*,は,ハ,ワ 、 記号,読点,*,*,*,*,、,、,、 基本的 名詞,固有名詞,一般,*,*,*,基本的,キホンテキ,キホンテキ に 助詞,格助詞,一般,*,*,*,に,ニ,ニ は 助詞,係助詞,*,*,*,*,は,ハ,ワ 日本語 名詞,一般,*,*,*,*,日本語,ニホンゴ,ニホンゴ が 助詞,格助詞,一般,*,*,*,が,ガ,ガ アウト 名詞,一般,*,*,*,*,アウト,アウト,アウト です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス EOS
OKですね。
では、これにてmecab-ipadic-NEologdのインストールは完了です。
ただ、このままだとWindows(ホストOS)からは辞書を参照できません。
以下では、Windowsが辞書を参照できるように対応しています。
ホストOSからゲストOS上の辞書を参照できるようにする
共有フォルダが設定されているなら、とても簡単です。
シンボリックリンクを作成します。
早速、やっていきましょう。
とりあえず、一旦仮想環境を停止します。
そして、コマンドプロンプト(もしくはPowerShell、以下では表記しない)を閉じます。
閉じたことを確認したら、今度は管理者権限でコマンドプロンプトを起動。
その状況で仮想環境を起動して、Ubuntuにアクセスします。
何をしているのかというと、管理者権限でないとシンボリックリンクが作成できないのです。
もちろん、共有フォルダでの話になります。
では、シンボリックリンクを作成しましょう。
$ cd /vagrant_data/ $ ln -s /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd ipadic-neologd
必ず共有フォルダに移動して作業を行います。
これもルールだと割り切ってください。
作成できたか確認します。
$ ls -l ipadic-neologd lrwxrwxrwx 1 vagrant vagrant 0 Nov 23 08:00 ipadic-neologd -> /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd
ちゃんとシンボリックリンクが作成できていますね。
念のため、Windows(ホストOS)側でも確認しておきます。
種類が、「.symlink」でファイルが存在しています。
これでWindowsからもUbuntu上の辞書を参照できるようになりました。
Windows上のMecabでこの辞書を利用するための検証は、本記事では行いません。
別記事で行いたいと思います。
※検証自体は失敗。
ただし、失敗をリカバーする方法があります。
同期ソフトを利用する方法です。