[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