MeCab 資料一覧

mecab-rubyインストール手順(Rubyバインディング)

2008/9/27更新

対応バージョン: 0.97

公式サイト

準備

あらかじめインストールしておくもの

MeCab

関連資料・記事

導入に必要なもの

mecab-ruby-0.97.tar.gz

導入OS

Fedora 9

インストール

% tar zxvf mecab-ruby-0.97.tar.gz
% cd mecab-ruby-0.97
% ruby extconf.rb
% make
% sudo make install

インストール物 (man,infoは除く)

/usr/lib/ruby/site_ruby/1.8/i386-linux/MeCab.so

動作確認

以下のようなプログラムを書いて文章を解析してみる。

require 'MeCab'

opt  = ARGV[0..-2].join(" ")    # オプション(-O wakatiなど)
data = ARGV[-1]                 # 解析文字列

c = MeCab::Tagger.new(opt)

puts c.parse(data)
オプションなし(品詞解析)
% ./test.rb 隣の竹やぶに竹たてかけた
隣	名詞,一般,*,*,*,*,隣,トナリ,トナリ
の	助詞,連体化,*,*,*,*,の,ノ,ノ
竹やぶ	名詞,一般,*,*,*,*,竹やぶ,タケヤブ,タケヤブ
に	助詞,格助詞,一般,*,*,*,に,ニ,ニ
竹	名詞,一般,*,*,*,*,竹,タケ,タケ
たてかけ	動詞,自立,*,*,一段,連用形,たてかける,タテカケ,タテカケ
た	助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
EOS
分かち書き
% ./test.rb -O wakati 隣の竹やぶに竹たてかけた
隣 の 竹やぶ に 竹 たてかけ た 
読みがな付与
% ./test.rb -O yomi 隣の竹やぶに竹たてかけた
トナリノタケヤブニタケタテカケタ

名詞のみ取り出すプログラムを書いてみる。

require 'MeCab'

data = ARGV[-1]                  # 解析文字列

c = MeCab::Tagger.new()

n = c.parseToNode(data)

# 形態素ごとループ
while n do
  type = n.feature.split(",")[0] # 品詞 

  if type == "名詞"              # 名詞のみ出力
    puts n.surface
  end

  n = n.next                     # 次に移動
end
% ./test.rb 隣の竹やぶに竹たてかけた
隣
竹やぶ
竹

他にもいろいろな使いかたがあるので公式サイトのスクリプト言語のバインディングを参照のこと。