always one step forward

MeCab+RMeCabインストール - OS X v10.9.2

日本語テキストの形態素解析に触れてみたい、と「Rによるテキストマイニング入門」を購入して読んでいたものの、実作業には入らないまましばらく経っていた。

Rによるテキストマイニング入門

Rによるテキストマイニング入門

先日、この問題がCodeIQに出題されていたのもあり、入り口にふさわしいよいタイミング、と手を動かしはじめた(実際は回答期限後に作業を始めたので、CodeIQには未回答)

MeCabIPA辞書をつかって「走れメロス」を形態素解析してみましょう。

まずは環境を整えるところまでをこのエントリで。実際に解析してみた結果は:

環境

MeCab、RMeCabとも、他のツールと異なり、LinuxWindowsでも環境は比較的整えやすい(と思う)

MeCab(+IPA辞書)インストール

  • MeCab: Yet Another Part-of-Speech and Morphological Analyzer
  • 情報充実、開発者 工藤拓さんによるサイトからダウンロード
  • 以下、両ファイルのダウンロード先を ~/Downloads と仮定
  • Web上の情報によれば ./configure の際に --with-charset="utf-8" 指定をしておいたほうがよい
# MeCabインストール
$ cd ~/Downloads
$ tar xvzf mecab-0.996.tar.gz
$ cd mecab-0.996
$ ./configure --with-charset="utf-8"
$ make
$ sudo make install

# PATHの確認
$ echo $PATH
# もし /usr/local/bin が含まれていなければ、以下を実施
$ export PATH=/usr/local/bin:PATH
$ cd ~
$ echo '/usr/local/bin:$PATH' >> .profile

# IPA辞書インストール
$ cd ~/Downloads
$ tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset="utf-8"
$ sudo make install
# MeCab実行できるか確認
$ which mecab
/usr/local/bin/mecab  # と表示されればOK

$ mecab

大きなすももも大きくないすももももものうち # 適当に日本語を入力してEnter

大きな   連体詞,*,*,*,*,*,大きな,オオキナ,オーキナ
すもも   名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
大きく   形容詞,自立,*,*,形容詞・イ段,連用テ接続,大きい,オオキク,オーキク
ない  助動詞,*,*,*,特殊・ナイ,基本形,ない,ナイ,ナイ
すもも   名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも  名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち  名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
EOS
# と形態素解析結果が表示されればOK

あとは、以下のような諸言語から呼び出す形で使用可能。いずれもさすがというか、シンプルに洗練された形でこの形態素解析エンジンを扱える

http://taku910.github.io/mecab/bindings.html

各種スクリプト言語 (perl, ruby, python, Java) から, MeCab が提供する形態素解析の機能を利用可能です.

Rインストール

  • 公式サイトからパッケージをダウンロードしてインストール

RMeCabインストール

石田基広さんが作成されたRのパッケージ、RMeCabであれば、解析結果をRのオブジェクト(リストや配列など)に格納でき、その後の分析(頻度分析などいろいろ)へ持っていきやすくなっている。今回はこれを導入して使うことにした

基本的に↑このサイト記載の手順通り。注意点も色々記載されており有用

  • Rを起動し、コンソールから以下を実行
# RMeCabインストール
>  install.packages ("RMeCab", repos = "http://rmecab.jp/R")

# 以下はログとして表示される
URL 'http://rmecab.jp/R/bin/macosx/contrib/3.0/RMeCab_0.9995.tgz' を試しています 
Content type 'application/x-gzip' length 127644 bytes (124 Kb)
開かれた URL 
==================================================
downloaded 124 Kb

ダウンロードされたパッケージは、以下にあります 
/var/folders/wp/qv_kld957cgb8t3t4sscgz_40000gn/T//Rtmptnp17Y/downloaded_packages 

> library(RMeCab)  # パッケージを読み込み、使用可能な状態にする
  • library(RMeCab) の代わりに以下でもよい:
    • Rのメニュー[パッケージとデータ]→[パッケージマネージャ]
    • 一覧中のパッケージ「RMeCab」にチェックを入れ「未ロード」→「ロード済み」にする

書籍「Rによるテキストマイニング入門」には、ローカルへ一度ダウンロードしたファイルを→パッケージマネージャで指定、という手順が記載されている。しかし現在はWebサイト上にレポジトリが準備され repos = "http://rmecab.jp/R" 指定だけでインストール可能になっている。シンプルで便利

あとは、書籍やRMeCabFunctionsに記載の関数群を使える状態になる。たとえば:

# RMeCabC関数の使用例
> library(RMeCab)
> kekka <- RMeCabC("すもももももももものうち")
> unlist(kekka)
    名詞     助詞     名詞     助詞     名詞     助詞     名詞 
"すもも"     "も"   "もも"     "も"   "もも"     "の"   "うち" 

参考書籍

Rによるテキストマイニング入門

Rによるテキストマイニング入門

  • 良書。よく考えられた例示とともに進める、MeCabとRMeCabのチュートリアル
  • また、形態素解析とはどんな分析を行うのか?の視点でも、章を進めるにつれて理解できるようになっている
  • Rそのものに慣れるための内容に2-3割ほどページを割き、Rを触ったことない人でも"参入"ハードルは低いと思う

Rで学ぶ日本語テキストマイニング

Rで学ぶ日本語テキストマイニング