Ubuntu 10.04でMeCabをRubyから使えるようにする

MeCabのインストール

MeCabと辞書のインストールはapt先生にお任せします.辞書はUTF-8のものを使います.

$ sudo apt-get install mecab mecab-ipadic-utf8

MeCabが正常に動くことを確認します.

$ echo "俺、この戦争が終わったら結婚するんだ。" | mecab
俺      名詞,代名詞,一般,*,*,*,俺,オレ,オレ
、      記号,読点,*,*,*,*,、,、,、
この    連体詞,*,*,*,*,*,この,コノ,コノ
戦争    名詞,サ変接続,*,*,*,*,戦争,センソウ,センソー
が      助詞,格助詞,一般,*,*,*,が,ガ,ガ
終わっ  動詞,自立,*,*,五段・ラ行,連用タ接続,終わる,オワッ,オワッ
たら    助動詞,*,*,*,特殊・タ,仮定形,た,タラ,タラ
結婚    名詞,サ変接続,*,*,*,*,結婚,ケッコン,ケッコン
する    動詞,自立,*,*,サ変・スル,基本形,する,スル,スル
ん      名詞,非自立,一般,*,*,*,ん,ン,ン
だ      助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ
。      記号,句点,*,*,*,*,。,。,。
EOS

mecab-rubyのインストール

apt-getでインストールされたRubyのgemにmecab-rubyを追加する場合は,libmecab-ruby(もしくはlibmecab-ruby1.9.1など)をインストールすれば大丈夫だと思います(未確認).

$ sudo apt-get install libmecab-ruby

RVMrbenvでインストールしたRuby,ソースから自前でインストールしたRubyなど,aptの管理下にないRubyを使っている場合は,以下のように自前でmecab-rubyをインストールする必要があります.

mecab-rubyを自前で入れる前にlibmecab-devをインストールしておきます.これがないとmecab-rubyのビルド時に大量のエラーが出て失敗します.

$ sudo apt-get install libmecab-dev

mecab-rubyはgem installですぐインストールできるわけではなく,自前でソースをダウンロードしてくる必要があります.
MeCabのバージョンを確認し,それに近いバージョンのmecab-rubyをMeCabのGoogle Codeからダウンロードします.MeCabとmecab-rubyのバージョンがあまりにも違いすぎるとmecab-rubyのインストールに失敗することがあるので注意が必要です.

$ mecab --version
mecab of 0.97

Ubuntu 10.04のMeCabのバージョンは0.97のようです.mecab-ruby-0.97はGoogle Codeにはないため,ここではmecab-ruby-0.98を使います.

$ wget http://mecab.googlecode.com/files/mecab-ruby-0.98.tar.gz 
$ tar zxvf mecab-ruby-0.98.tar.gz
$ cd mecab-ruby-0.98
$ gem build mecab-ruby.gemspec
$ gem install mecab-ruby-0.97.gem  # 環境によってはsudoが必要

インストール完了.

動作確認

あとは以下のようなRubyスクリプトを動かして,mecab-rubyが正常に動くことを確認すればOKです.

# -*- coding: utf-8 -*-

require "MeCab"

if __FILE__ == $0
  node = MeCab::Tagger.new.parseToNode("俺、この戦争が終わったら結婚するんだ。")
  while node
    puts "#{node.surface}\t#{node.feature}"
    node = node.next
  end 
end