2013年1月4日金曜日

[Python]MeCab バインディング - Python からの使い方

test01.py
# -*- coding: utf-8 -*-
import optparse
import codecs
import MeCab

parser = optparse.OptionParser()
parser.add_option("-i", "--input", dest="input", help="Input file name", metavar="[INPUT]")
(options, args) = parser.parse_args()
print "Input file name: %s" % (options.input)

if options.input == None:
 parser.print_help()
 exit()

fd = codecs.open(options.input, 'r', 'utf-8')
for line in fd:
 line = line.rstrip() # 行末の空白・改行コードを削除する
 print line
 t = MeCab.Tagger("")

 # MeCab 内では UTF-8 で処理されるので utf-8 に変換して文字列を渡す
 ret = t.parse(line.encode('utf-8'))
 # MeCab からの出力は UTF-8 になっているので unicode に decode して表示する
 print ret.decode('utf-8')

 m = t.parseToNode(line.encode('utf-8'))
 while m:
 str = m.surface.decode('utf-8')
 print str
 m = m.next

fd.close()
sample.txt
こんにちは、今日はいい天気ですね。
一緒にお散歩に行きましょう。
天気が悪くなってきたら急いで帰りましょう。


実行結果

> python test01.py -i sample.txt
Input file name: sample.txt
こんにちは、今日はいい天気ですね。
こんにちは 感動詞,*,*,*,*,*,こんにちは,コンニチハ,コンニチワ
、 記号,読点,*,*,*,*,、,、,、
今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
いい 形容詞,自立,*,*,形容詞・イイ,基本形,いい,イイ,イイ
天気 名詞,一般,*,*,*,*,天気,テンキ,テンキ
です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
ね 助詞,終助詞,*,*,*,*,ね,ネ,ネ
。 記号,句点,*,*,*,*,。,。,。
EOS


こんにちは
、
今日
は
いい
天気
です
ね
。

一緒にお散歩に行きましょう。
一緒 名詞,サ変接続,*,*,*,*,一緒,イッショ,イッショ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
お 接頭詞,名詞接続,*,*,*,*,お,オ,オ
散歩 名詞,サ変接続,*,*,*,*,散歩,サンポ,サンポ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
行き 動詞,自立,*,*,五段・カ行促音便,連用形,行く,イキ,イキ
ましょ 助動詞,*,*,*,特殊・マス,未然ウ接続,ます,マショ,マショ
う 助動詞,*,*,*,不変化型,基本形,う,ウ,ウ
。 記号,句点,*,*,*,*,。,。,。
EOS


一緒
に
お
散歩
に
行き
ましょ
う
。

天気が悪くなってきたら急いで帰りましょう。
天気 名詞,一般,*,*,*,*,天気,テンキ,テンキ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
悪く 形容詞,自立,*,*,形容詞・アウオ段,連用テ接続,悪い,ワルク,ワルク
なっ 動詞,自立,*,*,五段・ラ行,連用タ接続,なる,ナッ,ナッ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
き 動詞,非自立,*,*,カ変・クル,連用形,くる,キ,キ
たら 助動詞,*,*,*,特殊・タ,仮定形,た,タラ,タラ
急い 動詞,自立,*,*,五段・ガ行,連用タ接続,急ぐ,イソイ,イソイ
で 助詞,接続助詞,*,*,*,*,で,デ,デ
帰り 動詞,自立,*,*,五段・ラ行,連用形,帰る,カエリ,カエリ
ましょ 助動詞,*,*,*,特殊・マス,未然ウ接続,ます,マショ,マショ
う 助動詞,*,*,*,不変化型,基本形,う,ウ,ウ
。 記号,句点,*,*,*,*,。,。,。
EOS


天気
が
悪く
なっ
て
き
たら
急い
で
帰り
ましょ
う
。

0 件のコメント:

コメントを投稿