mecab-ipadic-NEologdのインストール【Ubuntu + Windows】

mecab-ipadic-NEologdのインストール【Ubuntu + Windows】 サーバー

この記事では、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でこの辞書を利用するための検証は、本記事では行いません。
別記事で行いたいと思います。

※検証自体は失敗。
ただし、失敗をリカバーする方法を見つけています。
それは、別途記事にします。

タイトルとURLをコピーしました