Mecabってなに?
文章を品詞単位で切ってくれる形態素解析エンジン。↓こんなかんじ
$ mecab
明日は明日の風が吹く
明日	名詞,副詞可能,*,*,*,*,明日,アシタ,アシタ
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
明日	名詞,副詞可能,*,*,*,*,明日,アシタ,アシタ
の	助詞,連体化,*,*,*,*,の,ノ,ノ
風	名詞,一般,*,*,*,*,風,カゼ,カゼ
が	助詞,格助詞,一般,*,*,*,が,ガ,ガ
吹く	動詞,自立,*,*,五段・カ行イ音便,基本形,吹く,フク,フク
EOS
MeCabと辞書のインストールはこちらから。。。
nattoをインストール
MeCabをRubyプログラム内で使えるようにするバインディングが、natto。
まずはインストール。
gem install natto
下のようなプログラムを書くだけでOK。
# -*- coding: utf-8 -*-
require 'natto'
txt = '明日は明日の風が吹く'
natto = Natto::MeCab.new
natto.parse(txt) do |n|
  puts "#{n.surface}: #{n.feature}"
end
実行してみると、、、
$ ruby natto_test.rb
明日: 名詞,副詞可能,*,*,*,*,明日,アシタ,アシタ
は: 助詞,係助詞,*,*,*,*,は,ハ,ワ
明日: 名詞,副詞可能,*,*,*,*,明日,アシタ,アシタ
の: 助詞,連体化,*,*,*,*,の,ノ,ノ
風: 名詞,一般,*,*,*,*,風,カゼ,カゼ
が: 助詞,格助詞,一般,*,*,*,が,ガ,ガ
吹く: 動詞,自立,*,*,五段・カ行イ音便,基本形,吹く,フク,フク
: BOS/EOS,*,*,*,*,*,*,*,*
無事出来ました!
mecab-ipadic-NEologdとは?
mecabで形態素解析をする場合に用いる辞書です。デフォルトで使われるipadicだとうまく品詞分割できない場合があります。。(↓こんな感じにドラゴンボールもアラレちゃんも分けてしまう。。。)
$ mecab
ドラゴンボールとアラレちゃん
ドラゴン	名詞,一般,*,*,*,*,ドラゴン,ドラゴン,ドラゴン
ボール	名詞,一般,*,*,*,*,ボール,ボール,ボール
と	助詞,並立助詞,*,*,*,*,と,ト,ト
アラレ	名詞,固有名詞,一般,*,*,*,*
ちゃん	名詞,接尾,人名,*,*,*,ちゃん,チャン,チャン
EOS
これをNEologd辞書を使うと、、、
$ mecab -u /usr/local/lib/mecab/dic/mecab-ipadic-neologd/seed/mecab-user-dict-seed.20170216.dic
ドラゴンボールとアラレちゃん
ドラゴンボール	名詞,固有名詞,一般,*,*,*,DRAGON BALL,ドラゴンボール,ドラゴンボール
と	助詞,並立助詞,*,*,*,*,と,ト,ト
アラレちゃん	名詞,固有名詞,一般,*,*,*,アラレちゃん,アラレチャン,アラレチャン
EOS
ちゃんと「ドラゴンボール」と「アラレちゃん」に分けてくれます!
使い方
- 
1.まずはダウンロード $ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
- 
2.次に、辞書ファイルを解凍 $ xz -dkv mecab-ipadic-neologd/seed/mecab-user-dict-seed.20170216.csv.xz
- 
3.csvをmecab用の .dic形式に変換$ /usr/local/libexec/mecab/mecab-dict-index -d /usr/local/lib/mecab/dic/ipadic -u mecab-user-dict-seed.20170216.dic -f utf-8 -t utf-8 mecab-user-dict-seed.20170216.csv
- 
4.実行 - mecabコマンドの後に-uでdicのパスを指定する場合
 $ mecab -u /usr/local/lib/mecab/dic/mecab-ipadic-neologd/seed/mecab-user-dict-seed.20170216.dic- mecabの設定ファイルを変更しておく場合
 /usr/local/etc/mecabrcに以下を追記
 userdic = /usr/local/lib/mecab/dic/mecab-ipadic-neologd/seed/mecab-user-dict-seed.20170216.dic
お世話になったサイト
rubyのmecabバインディングnattoを使う
MaCabのユーザー辞書にmecab-ipadic-NEologdを手動で追加する