Page List

Search on the blog

2015年12月25日金曜日

MeCabをインストール

 遅ればせながらMeCabを使ってみた。

MeCabとは?
形態素解析を行うソフト。
形態素解析とはテキストを最小構成要素に分解し、それぞれの要素の品詞を判別する作業のこと。

インストール
Macにインストールした。
brew install mecab
brew install mecab-ipadic
mecab-ipadicはmecabが形態素解析を行う際に使用する辞書。

使ってみる
$ cat test.txt 
「天は人の上に人を造らず人の下に人を造らず」と言えり。
$ mecab test.txt -o res.txt
「 記号,括弧開,*,*,*,*,「,「,「
天 名詞,一般,*,*,*,*,天,テン,テン
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
人 名詞,一般,*,*,*,*,人,ヒト,ヒト
の 助詞,連体化,*,*,*,*,の,ノ,ノ
上 名詞,非自立,副詞可能,*,*,*,上,ウエ,ウエ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
人 名詞,一般,*,*,*,*,人,ヒト,ヒト
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
造ら 動詞,自立,*,*,五段・ラ行,未然形,造る,ツクラ,ツクラ
ず 助動詞,*,*,*,特殊・ヌ,連用ニ接続,ぬ,ズ,ズ
人 名詞,一般,*,*,*,*,人,ヒト,ヒト
の 助詞,連体化,*,*,*,*,の,ノ,ノ
下 名詞,一般,*,*,*,*,下,シタ,シタ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
人 名詞,一般,*,*,*,*,人,ヒト,ヒト
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
造ら 動詞,自立,*,*,五段・ラ行,未然形,造る,ツクラ,ツクラ
ず 助動詞,*,*,*,特殊・ヌ,連用ニ接続,ぬ,ズ,ズ
」 記号,括弧閉,*,*,*,*,」,」,」
と 助詞,格助詞,引用,*,*,*,と,ト,ト
言え 動詞,自立,*,*,一段,連用形,言える,イエ,イエ
り 助動詞,*,*,*,文語・リ,基本形,り,リ,リ
。 記号,句点,*,*,*,*,。,。,。
EOS

Pythonから使ってみる
まずはMeCabのPython bindingsをインストール。
pip install https://mecab.googlecode.com/files/mecab-python-0.996.tar.gz

これでPythonからMeCabを使える。
まずは分かち書きをやってみる。
$ python
>>> import MeCab
>>> text = '私はその人を常に先生と呼んでいた。'
>>> tagger = MeCab.Tagger('-Owakati')
>>> print tagger.parse(text)
私 は その 人 を 常に 先生 と 呼ん で い た 。 

名詞だけ取り出してみる。
$ python
>>> import MeCab
>>> 
>>> text = '私はその人を常に先生と呼んでいた。'
>>> tagger = MeCab.Tagger('-Ochasen')
>>> node = tagger.parseToNode(text)
>>> res = []
>>> while node:
...   if node.feature.split(',')[0] == '名詞':
...     res.append(node.surface)
...   node = node.next
... 
>>> print ' '.join(res)
私 人 先生

0 件のコメント:

コメントを投稿