mecab-ruby のインストール
(Mac OSX & Cygwin on Windows)

mecab の ruby バインディング、mecab-ruby をインストールします。


  1. まえがき
  2. インストール
  3. 設定
  4. 使い方

関連するページはこちら、

MacOSX & Cygwin on Windows のソフトの事

Mail関係はこちら


1. まえがき

bogofilter-nihongo.rb で、mecab-ruby を呼んでいます。mecab-ruby は、mecab の ruby バインディングです。


2. インストール

2.1. References

Homepage
http://mecab.sourceforge.jp/bindings.html
Source
http://mecab.sourceforge.jp/src/
Dependency
下記パッケージが必要です

2.2. make & install (Leopard & Cygwin)

解凍して、此のパッチ

*** mecab-ruby-0.96/extconf.rb.orig	Sun Jul 30 20:48:52 2006
--- mecab-ruby-0.96/extconf.rb	Fri Nov 24 17:17:02 2006
***************
*** 8,12 ****
--- 8,13 ----
  }

  $CFLAGS += ' ' + `#{mecab_config} --cflags`.chomp
+ $LDFLAGS = '-L/usr/local/lib'

  have_header('mecab.h') && create_makefile('MeCab')

を当てて、

$ ruby extconf.rb

出来た、Makefile の、

で、

$ make
$ ruby test.rb
$ sudo make install

するだけ。因に、依存関係は、下のとおり。

$ otool -L /usr/lib/ruby/site_ruby/1.8/universal-darwin9.0/MeCab.bundle
/usr/lib/ruby/site_ruby/1.8/universal-darwin9.0/MeCab.bundle:
	/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/libruby.1.dylib (compatibility version 1.8.0, current version 1.8.6)
	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
	/usr/local/lib/libmecab.1.dylib (compatibility version 2.0.0, current version 2.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
	/usr/local/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)


2.3. make & install (Tiger)

10.4 の時の、依存関係は、下のとおり。

$ otool -L /usr/lib/ruby/site_ruby/1.8/universal-darwin8.0/MeCab.bundle
/usr/lib/ruby/site_ruby/1.8/universal-darwin8.0/MeCab.bundle:
	/usr/lib/libruby.1.dylib (compatibility version 1.8.0, current version 1.8.2)
	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.5.1)
	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
	/usr/local/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)


3. 設定

特に無し。


4.使い方

mecab-ruby 附属の、test.rb から

#!/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