ページへ戻る
印刷
自然言語解析/MeCabをpythonで使う
をテンプレートにして作成 ::
NJF Wiki
xpwiki
:自然言語解析/MeCabをpythonで使う をテンプレートにして作成
開始行:
*MeCabのインストール
MeCabは日本語の文章を単語に分解してそれぞれの品詞や活用形...
[[MeCabについて詳しくはこちらを参考のこと。:http://taku91...
自然言語解析をするならとりあえず入れておいた方が良い。
インストルールは上記サイトにもあるが、最新ソースをダウン...
tar zxfv mecab-X.X.tar.gz
cd mecab-X.X
./configure --enable-utf8-only
make
make check
sudo make install
辞書は
tar zxfv mecab-ipadic-2.7.0-xxxx
cd mecab-ipadic-2.7.0-xxxx
./configure --with-charset=utf8
make
make check
sudo make install
とする。ここで文字コードをutf8に固定している。しなくても...
インストールがうまくいっていれば、
mecab -v
でバージョンが表示される。
実際にテストで解析したければ、標準入力などでテキストを与...
$ echo "庭には二羽鶏がいる" | mecab
庭 名詞,一般,*,*,*,*,庭,ニワ,ニワ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
二 名詞,数,*,*,*,*,二,ニ,ニ
羽 名詞,接尾,助数詞,*,*,*,羽,ワ,ワ
鶏 名詞,一般,*,*,*,*,鶏,ニワトリ,ニワトリ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
いる 動詞,自立,*,*,一段,基本形,いる,イル,イル
EOS
*辞書の更新
残念ながらデフォルトのままでは辞書の単語数が少なすぎて、...
自分でも単語を追加できるが、精度をあげるには相当数を追加...
幸いこちら([[http://diary.overlasting.net/2015-03-13-1.h...
辞書のインストールと使い方はリンク先参照のこと。
*pythonのMeCabバインディングのインストール
MeCabには各種スクリプト言語 (perl, ruby, python, Java) か...
ここでpythonを選んだのは、世界的には最も普及したスクリプ...
pythonのMeCabバインディングのインストールは
sudo pip install mecab-python
とすればよい。
pythonからの使い方は
import MeCab
meCabTagger= MeCab.Tagger("mecabrc")
res = meCabTagger.parseToNode("庭には二羽鶏がいる")
while res:
print res.surface
print res.feature
res = res.next
結果は
BOS/EOS,*,*,*,*,*,*,*,*
庭
名詞,一般,*,*,*,*,庭,ニワ,ニワ
に
助詞,格助詞,一般,*,*,*,に,ニ,ニ
は
助詞,係助詞,*,*,*,*,は,ハ,ワ
二
名詞,数,*,*,*,*,二,ニ,ニ
羽
名詞,接尾,助数詞,*,*,*,羽,ワ,ワ
鶏
名詞,一般,*,*,*,*,鶏,ニワトリ,ニワトリ
が
助詞,格助詞,一般,*,*,*,が,ガ,ガ
いる
動詞,自立,*,*,一段,基本形,いる,イル,イル
BOS/EOS,*,*,*,*,*,*,*,*
つまり、「surface」にもとの単語が入り、「feature」に品詞...
featureは、「品詞,品詞細分類1,品詞細分類2,品詞細分類3,活...
品詞細分類については[[形態素解析ツールの品詞体系:http://w...
ここでMeCabへの入力はstr型で無くてはならない。
>>> res = meCabTagger.parseToNode(u"庭には二羽鶏がいる")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/MeCab.py", lin...
def parseToNode(self, *args): return _MeCab.Tagger_p...
TypeError: in method 'Tagger_parseToNode', argument 2 of...
Mecabの初期化ではオプションを使える。つまり例えば他の辞書...
mecabTagger = MeCab.Tagger("-d /usr/local/lib/mecab/dic/...
とする。
終了行:
*MeCabのインストール
MeCabは日本語の文章を単語に分解してそれぞれの品詞や活用形...
[[MeCabについて詳しくはこちらを参考のこと。:http://taku91...
自然言語解析をするならとりあえず入れておいた方が良い。
インストルールは上記サイトにもあるが、最新ソースをダウン...
tar zxfv mecab-X.X.tar.gz
cd mecab-X.X
./configure --enable-utf8-only
make
make check
sudo make install
辞書は
tar zxfv mecab-ipadic-2.7.0-xxxx
cd mecab-ipadic-2.7.0-xxxx
./configure --with-charset=utf8
make
make check
sudo make install
とする。ここで文字コードをutf8に固定している。しなくても...
インストールがうまくいっていれば、
mecab -v
でバージョンが表示される。
実際にテストで解析したければ、標準入力などでテキストを与...
$ echo "庭には二羽鶏がいる" | mecab
庭 名詞,一般,*,*,*,*,庭,ニワ,ニワ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
二 名詞,数,*,*,*,*,二,ニ,ニ
羽 名詞,接尾,助数詞,*,*,*,羽,ワ,ワ
鶏 名詞,一般,*,*,*,*,鶏,ニワトリ,ニワトリ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
いる 動詞,自立,*,*,一段,基本形,いる,イル,イル
EOS
*辞書の更新
残念ながらデフォルトのままでは辞書の単語数が少なすぎて、...
自分でも単語を追加できるが、精度をあげるには相当数を追加...
幸いこちら([[http://diary.overlasting.net/2015-03-13-1.h...
辞書のインストールと使い方はリンク先参照のこと。
*pythonのMeCabバインディングのインストール
MeCabには各種スクリプト言語 (perl, ruby, python, Java) か...
ここでpythonを選んだのは、世界的には最も普及したスクリプ...
pythonのMeCabバインディングのインストールは
sudo pip install mecab-python
とすればよい。
pythonからの使い方は
import MeCab
meCabTagger= MeCab.Tagger("mecabrc")
res = meCabTagger.parseToNode("庭には二羽鶏がいる")
while res:
print res.surface
print res.feature
res = res.next
結果は
BOS/EOS,*,*,*,*,*,*,*,*
庭
名詞,一般,*,*,*,*,庭,ニワ,ニワ
に
助詞,格助詞,一般,*,*,*,に,ニ,ニ
は
助詞,係助詞,*,*,*,*,は,ハ,ワ
二
名詞,数,*,*,*,*,二,ニ,ニ
羽
名詞,接尾,助数詞,*,*,*,羽,ワ,ワ
鶏
名詞,一般,*,*,*,*,鶏,ニワトリ,ニワトリ
が
助詞,格助詞,一般,*,*,*,が,ガ,ガ
いる
動詞,自立,*,*,一段,基本形,いる,イル,イル
BOS/EOS,*,*,*,*,*,*,*,*
つまり、「surface」にもとの単語が入り、「feature」に品詞...
featureは、「品詞,品詞細分類1,品詞細分類2,品詞細分類3,活...
品詞細分類については[[形態素解析ツールの品詞体系:http://w...
ここでMeCabへの入力はstr型で無くてはならない。
>>> res = meCabTagger.parseToNode(u"庭には二羽鶏がいる")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/MeCab.py", lin...
def parseToNode(self, *args): return _MeCab.Tagger_p...
TypeError: in method 'Tagger_parseToNode', argument 2 of...
Mecabの初期化ではオプションを使える。つまり例えば他の辞書...
mecabTagger = MeCab.Tagger("-d /usr/local/lib/mecab/dic/...
とする。
ページ名: