LoginSignup
2
2

More than 3 years have passed since last update.

【Mac】RubyでnattoでMeCabを使う

Last updated at Posted at 2019-12-25

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)

terminal
$ brew install mecab
$ brew install mecab-ipadic

一つ目はMeCab本体、二つ目はMeCabで使用する辞書情報のインストールとなります。
これでMacでMeCabが使えるようになりました。

terminal
$ mecab
(入力待ちになるので任意の文字列を入力してEnter)

例
$ mecab
おはようございます。
おはよう  感動詞,*,*,*,*,*,おはよう,オハヨウ,オハヨー
ござい  助動詞,*,*,*,五段・ラ行特殊,連用形,ござる,ゴザイ,ゴザイ
ます   助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス
。       記号,句点,*,*,*,*,。,。,。
EOS

nattoインストール

RubyでMeCabを使うためにはnatto gemを使用します。
https://github.com/buruzaemon/natto

terminal
$ gem install natto

gemをインストール後、pathを設定します。

terminal
$ export MECAB_PATH=/usr/local/Cellar/mecab/0.996/lib/libmecab.dylib

上記のパスが存在しない場合は、libmecab を部分一致で検索して正しいパスを指定してください。

動作確認

rubyで以下のようにファイルを作成します。

test.rb
require 'natto'

nm = Natto::MeCab.new
puts nm.parse('ここに形態素解析したい文字列を入力してね!実行したら解析されるよ。')

実行するとこんな感じです。

terminal
$ ruby test.rb
ここ     名詞,代名詞,一般,*,*,*,ここ,ココ,ココ
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
形態素   名詞,一般,*,*,*,*,形態素,ケイタイソ,ケイタイソ
解析    名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ
し      動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
たい    助動詞,*,*,*,特殊・タイ,基本形,たい,タイ,タイ
文字    名詞,一般,*,*,*,*,文字,モジ,モジ
列      名詞,一般,*,*,*,*,列,レツ,レツ
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
入力    名詞,サ変接続,*,*,*,*,入力,ニュウリョク,ニューリョク
し      動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
て      助詞,接続助詞,*,*,*,*,て,テ,テ
ね      助詞,終助詞,*,*,*,*,ね,ネ,ネ
!       記号,一般,*,*,*,*,!,!,!
実行    名詞,サ変接続,*,*,*,*,実行,ジッコウ,ジッコー
し      動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
たら    助動詞,*,*,*,特殊・タ,仮定形,た,タラ,タラ
解析    名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ
さ      動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
れる    動詞,接尾,*,*,一段,基本形,れる,レル,レル
よ      助詞,終助詞,*,*,*,*,よ,ヨ,ヨ
。      記号,句点,*,*,*,*,。,。,。
EOS

以上です。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2