Ubuntu 10.04 LTSにRuby + MeCab環境を作る

研究?の一部業務?でRuby + MeCabにお世話になっているのですが,環境構築の手法を忘れて無駄に悩んだのでメモ.

今回の環境はUbuntu10.04 LTS
インストールで忘れがちなのは辞書.
UbuntuUTF-8な環境なのでmecab-ipadic-utf8を入れる.

sudo apt-get install ruby ruby-dev mecab mecab-utils libmecab-ruby mecab-ipadic-utf8

サンプルを動かす.

#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
require 'MeCab'
sentence = "本日は晴天なり"

begin

  print MeCab::VERSION, "\n"
  print sentence, "\n"
  c = MeCab::Tagger.new(ARGV.join(" "))

  puts c.parse(sentence)

  n = c.parseToNode(sentence)

  while n do
    print n.surface,  "\t", n.feature, "\t", n.cost, "\n"
    n = n.next
  end 
  print "EOS\n";

rescue
  print "RuntimeError: ", $!, "\n";
end

動作結果

0.98
本日は晴天なり
本日 名詞,副詞可能,*,*,*,*,本日,ホンジツ,ホンジツ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
晴天 名詞,一般,*,*,*,*,晴天,セイテン,セイテン
なり 助動詞,*,*,*,文語・ナリ,基本形,なり,ナリ,ナリ
EOS
BOS/EOS,*,*,*,*,*,*,*,* 0
本日 名詞,副詞可能,*,*,*,*,本日,ホンジツ,ホンジツ 4470
は 助詞,係助詞,*,*,*,*,は,ハ,ワ 5345
晴天 名詞,一般,*,*,*,*,晴天,セイテン,セイテン 11000
なり 助動詞,*,*,*,文語・ナリ,基本形,なり,ナリ,ナリ 14387
BOS/EOS,*,*,*,*,*,*,*,* 12553
EOS