Mac OSX 10.5 LeopardにMeCab0.96 (port版)の環境をインストール
簡単に出来ると思ったのに、意外とこけたのでメモ
ソースからインストール方式と、MacPortから入れるのと2種類有る。
それぞれのメリットとデメリットが有ると思うが、自分が感じたところ。
- ソース式
- メリット
- 最新のが使える
- 文字コード等細かい設定が出来る
- デメリット
- Port式よりめんどくさい
- コンパイルに時間がかかる
- 正しいUnInstallの仕方がわからない
- メリット
- Port式
- メリット
- コマンド打つだけでいい
- uninstallが簡単
- デメリット
- バージョンが古い(今日現在096、ソース097と比較して)
- メリット
始め、ソースから入れて動作チェックまで終わったけどVの字がPort版を使っているとの事だったので挙動を合わせたかったので辞書とMeCab本体を削除した。Portの方がインスコは簡単だと思ったが意外と時間が掛かった。
MeCab + 辞書 インストール
# port install MeCab +utf8-only +utf8 # port install mecab-ipadic-utf8
途中のめちゃくちゃなんか文字が出るけどコマンド的には以上でOK
結構時間がかかった気がする。
MeCab 動作チェック
% mecab はてなのブログは、ダイアリー はてな 感動詞,*,*,*,*,*,はてな,ハテナ,ハテナ の 助詞,連体化,*,*,*,*,の,ノ,ノ ブログ 名詞,一般,*,*,*,*,* は 助詞,係助詞,*,*,*,*,は,ハ,ワ 、 記号,読点,*,*,*,*,、,、,、 ダイアリー 名詞,一般,*,*,*,*,ダイアリー,ダイアリー,ダイアリー
こんな感じになればOK
MeCab Python Bindingで苦しむの巻き
本来であればportで
# port install py25-mecab
とすれば使えそうなものだが、使えなかった。
原因は、OSX デフォルトのPython環境にPortのモジュールはインストールされない。
ソースから、setup.py installすれば良いかと思ったけど全然エラーが出まくってbuild出来ない。
こちらの原因は、最新のPythonBindingはVer097だったこと。MacPortからインストールされるMeCabは096なのでここがミスマッチしていた。
素直に096のBindingをDLする事で、無事にインストールとモジュールの読み込みが成功した。
動作チェックしたソースは以下の通り
""" macabConv.py Created by Atusi on 2007-07-15. Copyright (c) 2007 __MyCompanyName__. All rights reserved. """ import sys import os import MeCab def te(formBody): result = [] try: t = MeCab.Tagger('') m = t.parseToNode(formBody) #result = m.rstrip(" \n").split(" ") while m: r = m.feature.split(","); if r[0] == "名詞": #print n.surface, "\t", r[0] # 品詞 result.append(m.surface) m = m.next; return result except RuntimeError, e: print "RuntimeError:",e arr = te('今日は天気がいい, a2c') print arr for i in arr: print i
実行結果
% python mecabConv.py [~/local/repos/tozawa3/trunk/atu/mrsOne] ['\xe4\xbb\x8a\xe6\x97\xa5', '\xe5\xa4\xa9\xe6\xb0\x97', ',', 'a', '2', 'c'] 今日 天気 , a 2 c
1文字で名詞扱いにするところをどうにかしないとダメポイ