Help us understand the problem. What is going on with this article?

【Mac】RubyでnattoでMeCabを使う

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

以上です。

kazuki_hiyama
自分自身が直面した課題や調べたことを備忘録として残すことがメインです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした