CentOSにMeCabをインストール
まずは、MeCabをインストールする。
$ sudo yum install mecab mecab-ipadic
No package mecab available.
No package mecab-ipadic available.
できない、どうやらレポジトリを追加する必要があるらしい。
Groongaレポジトリ追加
$ sudo rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm
mecab本体と辞書ファイルをインストール
$ sudo yum install mecab mecab-ipadic
確認
$ mecab --version
mecab of 0.996
$ mecab
すもももももももものうち
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
EOS
nattoからMeCabをよぶ
nattoをインストール
$ gem install natto
rubyファイルを書いて実行
require 'natto'
text = 'すもももももももものうち'
nm = Natto::MeCab.new
nm.parse(text) do |n|
puts "#{n.surface}\t#{n.feature}"
end
$ ruby natto.rb
~/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/lib/ffi/library.rb:133:in `block in ffi_lib': Could not open library 'mecab': /usr/lib/mecab: cannot read file data: Is a directory. (LoadError)
Could not open library 'libmecab.so': libmecab.so: cannot open shared object file: No such file or directory
よく分からんが、libmecab.soが必要で、ちゃんと読み込めていない。
libmecab.soの場所を探す
$ sudo find / -name libmecab.so*
/usr/lib/libmecab.so.2
/usr/lib/libmecab.so.2.0.0
libmecab.soにパスを通す
$ echo 'export MECAB_PATH=/usr/lib/libmecab.so.2' >> ~/.bash_profile
$ source ~/.bash_profile
再度実行する
$ ruby natto.rb
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
BOS/EOS,*,*,*,*,*,*,*,*
できた!