« Sennaとrubyで全文検索(インストール編) | メイン | CentOSでPHP5 »

MeCabのRubyバインディング

[mecab] [ruby]

MeCabのRubyバインディングを試してみました。

まずは、下記のページを参考に、ダウンロードしてインストール。

付属のテストコードを見てみる。


#!/usr/bin/ruby

require 'MeCab'
sentence = "太郎はこの本を二郎を見た女性に渡した。"

begin

     print MeCab::VERSION, "\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


16行目
n.surface が、単語。 n.feature が品詞の種類など。 n.cost が、コスト。

出力結果はこんな感じ。


0.93
太郎    名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
は      助詞,係助詞,*,*,*,*,は,ハ,ワ
この    連体詞,*,*,*,*,*,この,コノ,コノ
本      名詞,一般,*,*,*,*,本,ホン,ホン
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
二郎    名詞,固有名詞,一般,*,*,*,二郎,ニロウ,ニロー
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
見      動詞,自立,*,*,一段,連用形,見る,ミ,ミ
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
女性    名詞,一般,*,*,*,*,女性,ジョセイ,ジョセイ
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
渡し    動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。      記号,句点,*,*,*,*,。,。,。
EOS
        BOS/EOS,*,*,*,*,*,*,*,* 0
太郎    名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー    8308
は      助詞,係助詞,*,*,*,*,は,ハ,ワ    9237
この    連体詞,*,*,*,*,*,この,コノ,コノ 9346
本      名詞,一般,*,*,*,*,本,ホン,ホン  13811
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ 13094
二郎    名詞,固有名詞,一般,*,*,*,二郎,ニロウ,ニロー     18835
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ 19322
見      動詞,自立,*,*,一段,連用形,見る,ミ,ミ    23338
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ   20625
女性    名詞,一般,*,*,*,*,女性,ジョセイ,ジョセイ        23008
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ 22871
渡し    動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ      25639
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ   25006
。      記号,句点,*,*,*,*,。,。,。      21081
        BOS/EOS,*,*,*,*,*,*,*,* 19505
EOS

トラックバック

このエントリーのトラックバックURL:
http://i-am.web777.net/mt/mt-tb.cgi/25

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)