DL, install
tar zxvf mecab-0.98.tar.gz
cd mecab-0.98
./configure --with-charset=utf8
make
make install
tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz
cd mecab-ipadic-2.7.0-20070801
./configure --with-charset=utf8
make
make install
$ mecab
庭には二羽ニワトリがいる
庭 名詞,一般,*,*,*,*,庭,ニワ,ニワ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
二 名詞,数,*,*,*,*,二,ニ,ニ
羽 名詞,接尾,助数詞,*,*,*,羽,ワ,ワ
ニワトリ 名詞,一般,*,*,*,*,ニワトリ,ニワトリ,ニワトリ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
いる 動詞,自立,*,*,一段,基本形,いる,イル,イル
EOS
tar zxvf mecab-python-0.97.tar.gz
cd mecab-python-0.97.tar.gz
apt-get install python-dev #導入済みの場合は不要
python setup.py build
python setup.py install
>>> import MeCab
>>> mecab = MeCab.Tagger('Ochasen')
>>> sent = u"庭には二羽ニワトリがいる".encode('utf-8')
>>> print mecab.parse(sent)
庭 名詞,一般,*,*,*,*,庭,ニワ,ニワ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
二 名詞,数,*,*,*,*,二,ニ,ニ
羽 名詞,接尾,助数詞,*,*,*,羽,ワ,ワ
ニワトリ 名詞,一般,*,*,*,*,ニワトリ,ニワトリ,ニワトリ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
いる 動詞,自立,*,*,一段,基本形,いる,イル,イル
EOS
とりあえずの導入はこれで完了。
ファイルの入出力
mecab smpl.txt -O wakati -o res_smpl.txt
cat res_smpl.txt
庭 に は 二 羽 ニワトリ が いる 。
unigramを配列へ抽出
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random
import MeCab
mecab = MeCab.Tagger('-Owakati')
sent = u"庭には二羽ニワトリがいる。裏庭には二羽ニワトリがいた。".encode('utf-8')
values = mecab.parse(sent)
gram = values.rstrip().split(' ')
for value in gram:
print value
実行結果
python smpl2.py
庭
に
は
二
羽
ニワトリ
が
いる
。
裏庭
に
は
二
羽
ニワトリ
が
い
た
。
単語unigramを配列へ抽出(引数にテキストファイルを指定)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import random
import MeCab
mecab = MeCab.Tagger('-Owakati')
f = open(sys.argv[1])
sent = f.read()
values = mecab.parse(sent)
gram = values.rstrip().split(' ')
for value in gram:
print value
任意のテキストファイルから単語bigramを抽出して結果をファイルに出力する。(引数にテキストファイルを指定)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import random
import MeCab
mecab = MeCab.Tagger('-Owakati')
f = open(sys.argv[1])
resf = 'res_'+ sys.argv[1]
r = open(resf, "w")
sent = f.read()
values = mecab.parse(sent)
gram = values.rstrip().split(' ')
bgram = []
for i in range(len(gram)):
if i > 0:
r.write(gram[i-1])
r.write(gram[i])
r.write('\n')
print gram[i-1],
print gram[i]
r.close
最終更新:2011年06月27日 17:14