MeCabとは「文章を要素」ごとに分解してくれるソフトです。
プログラミング 名詞,サ変接続,*,*,*,*,プログラミング,プログラミング,プログラミング
の 助詞,連体化,*,*,*,*,の,ノ,ノ
勉強 名詞,サ変接続,*,*,*,*,勉強,ベンキョウ,ベンキョー
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
始め 動詞,自立,*,*,一段,連用形,始める,ハジメ,ハジメ
まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。 記号,句点,*,*,*,*,。,。,。
ソフトのダウンロード自体は、下記サイトから行うことが出来ます。
http://taku910.github.io/mecab/#download
ただし、ソフトを単体で使う分には問題ないのですが、プログラムの中で実行しようとすると、64bitの場合、「libmecab.dll」を開けないといったエラーが出てしまうことがあります。
その場合は、インストーラーを自分で修正する必要があります。
もしくは下記サイトでダウンロードしたものでも大丈夫です。
https://github.com/ikegami-yukino/mecab/releases
ここで注意することとしてはインストールする場所を変えてしまうとうまく動作しなくなることです。デフォルトのディレクトリにインストールすることをおすすめします。
次にRuby側に必要なことは、「natto」を使えるようにしておくことです。
そして最後に「MECAB_PATH」を設定します。ここで設定するパスは「libmecab.dll」のパスとなります。
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
これで準備が出来ました。早速プログラムのサンプル見てみましょう。
----------------------------------------------------------------------------------------------------------
# Mecab を使う準備をする
mecab = Natto::MeCab.new
text = "プログラミングの勉強を始めました。"
mecab.parse(text) do |n|
puts "#{n.surface}: #{n.feature}"
end
----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
プログラミング: 名詞,サ変接続,*,*,*,*,プログラミング,プログラミング,プログラミング
の: 助詞,連体化,*,*,*,*,の,ノ,ノ
勉強: 名詞,サ変接続,*,*,*,*,勉強,ベンキョウ,ベンキョー
を: 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
始め: 動詞,自立,*,*,一段,連用形,始める,ハジメ,ハジメ
まし: 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た: 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。: 記号,句点,*,*,*,*,。,。,。
: BOS/EOS,*,*,*,*,*,*,*,*
----------------------------------------------------------------------------------------------------------