MeCabについての説明は公式サイトの記述を引用させて頂きます。
MeCabは 京都大学情報学研究科−日本電信電話株式会社コミュニケーション科学基礎研究所 共同研究ユニットプロジェクトを通じて開発されたオープンソース 形態素解析エンジンです。 言語, 辞書,コーパスに依存しない汎用的な設計を 基本方針としています。 パラメータの推定に Conditional Random Fields (CRF) を用 いており, ChaSenが採用している 隠れマルコフモデルに比べ性能が向上しています。また、平均的に ChaSen, Juman, KAKASIより高速に動作します。 ちなみに和布蕪(めかぶ)は, 作者の好物です。
引用:MeCab (和布蕪)とは - https://taku910.github.io/mecab/
ということで、今回の目的はRubyでMeCabを使用して形態素解析をを行うことです。
使用OSはMacです。
MeCabインストール
MeCabのインストールにはHomebrewを使用します。
Homebrewの導入は割愛します。(参考:https://brew.sh/index_ja)
$ brew install mecab
$ brew install mecab-ipadic
一つ目はMeCab本体、二つ目はMeCabで使用する辞書情報のインストールとなります。
これでMacでMeCabが使えるようになりました。
$ mecab
(入力待ちになるので任意の文字列を入力してEnter)
例
$ mecab
おはようございます。
おはよう 感動詞,*,*,*,*,*,おはよう,オハヨウ,オハヨー
ござい 助動詞,*,*,*,五段・ラ行特殊,連用形,ござる,ゴザイ,ゴザイ
ます 助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス
。 記号,句点,*,*,*,*,。,。,。
EOS
nattoインストール
RubyでMeCabを使うためにはnatto gemを使用します。
https://github.com/buruzaemon/natto
$ gem install natto
gemをインストール後、pathを設定します。
$ export MECAB_PATH=/usr/local/Cellar/mecab/0.996/lib/libmecab.dylib
上記のパスが存在しない場合は、libmecab を部分一致で検索して正しいパスを指定してください。
動作確認
rubyで以下のようにファイルを作成します。
require 'natto'
nm = Natto::MeCab.new
puts nm.parse('ここに形態素解析したい文字列を入力してね!実行したら解析されるよ。')
実行するとこんな感じです。
$ ruby test.rb
ここ 名詞,代名詞,一般,*,*,*,ここ,ココ,ココ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
形態素 名詞,一般,*,*,*,*,形態素,ケイタイソ,ケイタイソ
解析 名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ
し 動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
たい 助動詞,*,*,*,特殊・タイ,基本形,たい,タイ,タイ
文字 名詞,一般,*,*,*,*,文字,モジ,モジ
列 名詞,一般,*,*,*,*,列,レツ,レツ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
入力 名詞,サ変接続,*,*,*,*,入力,ニュウリョク,ニューリョク
し 動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
ね 助詞,終助詞,*,*,*,*,ね,ネ,ネ
! 記号,一般,*,*,*,*,!,!,!
実行 名詞,サ変接続,*,*,*,*,実行,ジッコウ,ジッコー
し 動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
たら 助動詞,*,*,*,特殊・タ,仮定形,た,タラ,タラ
解析 名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ
さ 動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
れる 動詞,接尾,*,*,一段,基本形,れる,レル,レル
よ 助詞,終助詞,*,*,*,*,よ,ヨ,ヨ
。 記号,句点,*,*,*,*,。,。,。
EOS
以上です。