Home > 技術 > Rubyの形態素解析「MeCab」で文章から名詞を抽出してみる

Rubyの形態素解析「MeCab」で文章から名詞を抽出してみる

ちょうどこちらでbotを作ったので、Wordpressを使っておすすめ記事をレコメンドするTwitterBotを作ってみた、形態素解析なんてものを導入したらもっと面白いのかな〜と思って使ってみました。
(実際にbotに導入するかは分かりませんがねっ!)

MeCab本体のインストール

RubyでMecabを使ってみた (Mac OS X) - F.Ko-Jiの「一秒後は未来」を参考にやってみたら、あっさり入りました。

基本的にはMacPortsからインストールします。

まずはMeCab本体。

sudo port install mecab

この時点で、UTF-8ではないmecab-ipadic(辞書)が入りますがあとあと文字化けしちゃうので、次のコマンドを実行する。

sudo port install mecab-ipadic-utf8

そしてRubyから使えるようにモジュールもインストールします。

sudo port install rb-mecab

これだけだとMeCabがUTF-8じゃないほうの辞書ファイルを見に行ってしまうので、設定ファイルを書き換えます。

sudo vim /opt/local/etc/mecabrc

「ipadic」→「ipadic-utf8」と変更します。

dicdir = /opt/local/lib/mecab/dic/ipadic-utf8

ターミナルからMeCabを使って遊んでみる

ターミナルにmecabと打ち込んでエンターを押して、もう一度エンターを押します。

mecab

そうすると入力モードになるので、適当に言葉を入力してみます。「僕はラーメンが好きです。

EOS
僕はラーメンが好きです。
僕 名詞,代名詞,一般,*,*,*,僕,ボク,ボク
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
ラーメン 名詞,一般,*,*,*,*,ラーメン,ラーメン,ラーメン
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
好き 名詞,形容動詞語幹,*,*,*,*,好き,スキ,スキ
です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
。 記号,句点,*,*,*,*,。,。,。
EOS

なかなか面白いですね〜、文章がうまいこと分割されています。

Rubyを使って文章から名詞を抜き出してみる

RubyからMeCabを使うサンプルは、Browse MeCab Files on SourceForge.netよりモジュールをダウンロードするとtestコードが入っているので、そこを参考にしてもいいでしょう。

このコードを実行すると、以下のように出力されます。

今日

わたし
変態

う〜ん。。。もっとマトモな言葉で使いましょうねっ!

■参考リンク
mecabで『走れメロス』から名詞だけを抽出する - 大切なものは目に見えない - mahataの日記
Rubyで形態素解析してみた - unnecessary words
RubyでMecabを使ってみた (Mac OS X) - F.Ko-Jiの「一秒後は未来」
[-*煙猴*-]: mecab-rubyを使ってみる
[-*煙猴*-]: Ruby+MeCab+MySQLでスクリプト書いた

Trackback:0

TrackBack URL for this entry
http://hisasann.com/cgi-bin/mt/mt-tb.cgi/1262
Listed below are links to weblogs that reference
Rubyの形態素解析「MeCab」で文章から名詞を抽出してみる from HouseTect, JavaScriptな情報をあなたに

Home > 技術 > Rubyの形態素解析「MeCab」で文章から名詞を抽出してみる

Tag cloud
月別アーカイブ
Powered by
Powered by
Movable Type Commercial 4.261

Page Top