2009 Aug 5th
KAKASIの Python バインディングを作りました。作ったと言ってもpython+kakasi で分かち書き - lolloo-htnの日記をほぼ丸ぱくりです。使い方は以下のような感じです。
>>> import kakasi >>> sent = u'その春僕はずいぶん沢山の手紙を書いた。' >>> kt = kakasi.Tagger(['-AH', '-KH', '-JH', '-EH', '-kH']) >>> print kt.parse(sent) そのはるぼくはずいぶんたくさんのてがみをかいた。 >>> kt.set_opts(['-HK', '-AK', '-JK', '-EK']) >>> print kt.parse(sent) ソノハルボクハズイブンタクサンノテガミヲカイタ。 >>> kt.set_opts(['-Ha', '-Ka', '-Ja', '-Ea', '-ka']) >>> print kt.parse(sent) sonoharubokuhazuibuntakusannotegamiwokaita. >>> kt.set_opts(['-w']) >>> print kt.parse(sent) その 春 僕は ずいぶん 沢山 の 手紙 を 書い た 。
Tagger オブジェクトを作成する際にリストで KAKASI のオプションを渡し、 parse メソッドにユニコード文字列を渡します。また、1回しか処理しないとか、都度都度 Tagger オブジェクトを作ることが気にならないとかであれば、
>>> print kakasi.hiragana(sent) そのはるぼくはずいぶんたくさんのてがみをかいた。 >>> print kakasi.katakana(sent) ソノハルボクハズイブンタクサンノテガミヲカイタ。 >>> print kakasi.hepburn(sent) sonoharubokuhazuibuntakusannotegamiwokaita. >>> print kakasi.wakachi(sent) その 春 僕は ずいぶん 沢山 の 手紙 を 書い た 。
というようにも使えます。用意しているのは hiragana, katakana, hepburn, kunrei, wakachi の5つです。ただ、なぜか同一プロセス内ではヘボン式と訓令式の切り替えができません...。

また、 Mac OS X で port でインストールした KAKASI の libkakasi.dylib へのアクセス方法がわからないので、今のところは Linux でしか動作を確認していません。それで良ければkakasi.pyからどうぞです。
Posted by setomits at 13:07 | Comments: 0
Leave a comment
Required fields are marked with *
search
calendar
Sep 2010
SunMonTueWedThuFriSat
   1234
567891011
12131415161718
19202122232425
2627282930  
archives
photos on flickr
www.flickr.com
bookmarks on delicious