12/08/2018, 00:45
MeCabとNattoを使った形態素解析入門
Rubyを使って形態素解析をしたいと思います。 自然言語処理について学んでおくのは良いことだと思ったので1年を通して関わっていこうかなと思っています。 今回はMeCabとNattoを利用します。 実行環境 OS X Yosemite ruby 2.0.0p195 natto 2.4.6 mecab-0.996 mecab-ipadic-2.7.0-20070801 MeCabとNattoはbrewとgemでインストールします。 brew install mecab mecab-ipadic gem install natto ...
Rubyを使って形態素解析をしたいと思います。
自然言語処理について学んでおくのは良いことだと思ったので1年を通して関わっていこうかなと思っています。
今回はMeCabとNattoを利用します。
実行環境
- OS X Yosemite
- ruby 2.0.0p195
- natto 2.4.6
- mecab-0.996
- mecab-ipadic-2.7.0-20070801
MeCabとNattoはbrewとgemでインストールします。
brew install mecab mecab-ipadic gem install natto
Mecabは有名な形態素解析器です。 rubyで書かれたコードを解釈してMeCabの関数を呼び出すのがNattoの役割です。
NattoはMeCabライブラリの場所を知らないので、MECAB_PATHという環境変数を利用してパスを通します。
OS Xでは以下のようにします。
export MECAB_PATH=/usr/local/Cellar/mecab/0.996/lib/libmecab.dylib
これで準備が整いましたので実際に動かしてみます。test.rbを作ってみました。
require 'natto' nm=Natto::MeCab.new puts nm.parse('僕の名前は三城です')
自己紹介をパースします。
ruby test.rb
実行結果です。
僕 名詞,代名詞,一般,*,*,*,僕,ボク,ボク の 助詞,連体化,*,*,*,*,の,ノ,ノ 名前 名詞,一般,*,*,*,*,名前,ナマエ,ナマエ は 助詞,係助詞,*,*,*,*,は,ハ,ワ 三城 名詞,固有名詞,組織,*,*,*,三城,ミキ,ミキ です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス EOS
うまく解析されました。 ひとまず今日のところはRubyからMeCabを利用できたので良しとします。 これから何ができるのか探りながら触っていきたいです。