[NLP]VagrantでAmazonLinuxにMeCabをインストールする

カテゴリ: MeCab

AmazonLinuxにMeCabをインストールすることがあったので、その時の手順をVagrantfileにしたものを公開しておきます。

Vagrantを使わずに、手作業でセットアップしたい場合はconfig.vm.provisionに書いてあるコマンドを手で実行すれば良いです。

※本作業に当たってhttps://qiita.com/katsuyuki/items/65f79d44f5e9a0397d31の記事を参考にさせてもらいました。

Vagrantファイル

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "mvbcoding/awslinux"
  # config.vm.synced_folder "../data", "/vagrant_data"

  # config.vm.provider "virtualbox" do |vb|
  #   vb.gui = true
  #   vb.memory = "1024"
  # end

  config.vm.provision "shell", inline: <<-SHELL
    # install comiler
    sudo yum install gcc-c++ -y

    # install MeCab
    wget -O mecab-0.996.tar.gz "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE" -q
    tar zxvf mecab-0.996.tar.gz
    pushd mecab-0.996
    ./configure
    make
    sudo make install

    sudo ln -s /usr/local/lib/libmecab.so.2.0.0 /lib64/libmecab.so.2
    popd


    # install Dictionary
    wget -O mecab-ipadic-2.7.0-20070801.tar.gz "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM" -q
    tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
    pushd mecab-ipadic-2.7.0-20070801
    ./configure --with-charset=utf8 --with-mecab-config=/usr/local/bin/mecab-config
    make
    sudo make install
    popd

    # check
    /usr/local/bin/mecab -v
    ls -l /usr/local/lib/mecab/dic/ipadic

    # test
    echo "MeCabを使った分かち書きのテストです。" | /usr/local/bin/mecab
  SHELL
end

実行結果

上記のファイルをVagrantfileのファイル名で保存し、vagrant upコメンドを実行すれば良いです。
環境にもよりますが、数分で環境が構築できます。ただし、最初の一回はVMイメージのダウンロードが行われるので非常に時間が掛かります。

$ vagrant up

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'mvbcoding/awslinux'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'mvbcoding/awslinux' is up to date...
...

    default: /home/vagrant
    default: mecab of 0.996

    default: total 51828
    default: -rw-r--r-- 1 root root   262496 May  3 08:52 char.bin
    default: -rw-r--r-- 1 root root      693 May  3 08:52 dicrc
    default: -rw-r--r-- 1 root root    55910 May  3 08:52 left-id.def
    default: -rw-r--r-- 1 root root  3463716 May  3 08:52 matrix.bin
    default: -rw-r--r-- 1 root root     1477 May  3 08:52 pos-id.def
    default: -rw-r--r-- 1 root root     6241 May  3 08:52 rewrite.def
    default: -rw-r--r-- 1 root root    55910 May  3 08:52 right-id.def
    default: -rw-r--r-- 1 root root 49199027 May  3 08:52 sys.dic
    default: -rw-r--r-- 1 root root     5690 May  3 08:52 unk.dic

    default: MeCab  名詞,一般,*,*,*,*,*
    default: を  助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
    default: 使っ 動詞,自立,*,*,五段・ワ行促音便,連用タ接続,使う,ツカッ,ツカッ
    default: た  助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
    default: 分かち書き  名詞,一般,*,*,*,*,分かち書き,ワカチガキ,ワカチガキ
    default: の  助詞,連体化,*,*,*,*,の,ノ,ノ
    default: テスト    名詞,サ変接続,*,*,*,*,テスト,テスト,テスト
    default: です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
    default: 。  記号,句点,*,*,*,*,。,。,。
    default: EOS

Vagrantfileの最後で以下の文章を分かち書きしているので、vagrant upの実行結果の最後に、分かち書きした結果が出ていることが確認できます。

echo "MeCabを使った分かち書きのテストです。" | /usr/local/bin/mecab
こちらもおススメ

2 thoughts on “[NLP]VagrantでAmazonLinuxにMeCabをインストールする

コメントを残す

メールアドレスが公開されることはありません。