PythonからMeCabをさわろう(形態素解析)
Sponsored Links
皆さんこんにちは
お元気ですか。私はどうにもこうにも元気です。
さて、本日はMeCabについて
MeCabとは
MeCabって?
オープンソースの形態素解析エンジンで、奈良先端科学技術大学院大学出身、現GoogleソフトウェアエンジニアでGoogle 日本語入力開発者の一人である工藤拓[1][2]によって開発されている。名称は開発者の好物「和布蕪(めかぶ)」から取られた。(Wikipediaより)
端的に言うと、形態素解析やってくれるツールです。
形態素解析って?
形態素解析(けいたいそかいせき、Morphological Analysis)とは、コンピュータ等の計算機を用いた自然言語処理の基礎技術のひとつ。かな漢字変換等にも応用されている。 対象言語の文法の知識(文法のルールの集まり)や辞書(品詞等の情報付きの単語リスト)を情報源として用い、自然言語で書かれた文を形態素(Morpheme, おおまかにいえば、言語で意味を持つ最小単位)の列に分割し、それぞれの品詞を判別する作業を指す。(Wikipediaより)
自然言語処理の分野でよく利用される技術です。言葉を分割したい時によく使います。
形態素解析自体の処理は、言葉を分割して、それらに品詞を割り当てるわけですね。
MeCabを使って、例を出すと
私は 寝ることが大好きだ 私 名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ 寝る 動詞,自立,*,*,一段,基本形,寝る,ネル,ネル こと 名詞,非自立,一般,*,*,*,こと,コト,コト が 助詞,格助詞,一般,*,*,*,が,ガ,ガ 大好き 名詞,形容動詞語幹,*,*,*,*,大好き,ダイスキ,ダイスキ だ 助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ
インストール
mecab-ipadic は辞書らしいです。
homebrewでインストールするとどうやら32bit版がインストールされてしまうよう。
通常モードでインストールしてみました。
mecab
wget https://mecab.googlecode.com/files/mecab-0.996.tar.gz tar -xzvf mecab-0.996.tar.gz cd mecab-0.996 ./configure make make install make check
mecab-ipadic
wget https://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz cd mecab-ipadic-2.7.0-20070801 ./configure --with-charset=utf8 make all make install
check
mecab 私は本を買う 私 名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ は 助詞,係助詞,*,*,*,*,は,ハ,ワ 本 名詞,一般,*,*,*,*,本,ホン,ホン を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ 買う 動詞,自立,*,*,五段・ワ行促音便,基本形,買う,カウ,カウ EOS
Python用のMeCabライブラリ
インストール
wget https://mecab.googlecode.com/files/mecab-python-0.996.tar.gz tar zxvf mecab-python-0.996.tar.gz cd mecab-python-0.996 export CFLAGS=-Qunused-arguments export CPPFLAGS=-Qunused-arguments python setup.py build python setup.py install
動作確認
>>> import MeCab >>> m = MeCab.Tagger ("-Ochasen") >>> print m.parse ("今日もしないとね") 今日 キョウ 今日 名詞-副詞可能 も モ も 助詞-係助詞 し シ する 動詞-自立 サ変・スル 未然形 ない ナイ ない 助動詞 特殊・ナイ 基本形 と ト と 助詞-接続助詞 ね ネ ね 助詞-終助詞 EOS
homebrewでインストールすると…
brew install mecab brew install mecab-ipadic
なんかエラー出た…
wget https://mecab.googlecode.com/files/mecab-python-0.996.tar.gz tar -xzvf mecab-python-0.996.tar.gz cd mecab-python-0.996 python setup.py build running install running build running build_py running build_ext building '_MeCab' extension cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -I/usr/local/Cellar/mecab/0.996/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c MeCab_wrap.cxx -o build/temp.macosx-10.9-intel-2.7/MeCab_wrap.o clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future] clang: note: this will be a hard error (cannot be downgraded to a warning) in the future error: command 'cc' failed with exit status 1
!?
$ export CFLAGS=-Qunused-arguments $ export CPPFLAGS=-Qunused-arguments
参考文献
http://stackoverflow.com/questions/22703393/clang-error-unknown-argument-mno-fused-madd-wunused-command-line-argumen
http://devlog.mitsugeek.net/entry/20110206/1296958442
http://blog.forodin.com/2013/06/mac-os-x-%E3%81%A7-mecab-%E3%81%A8-mecab-python-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/