2010年11月24日水曜日

形態素解析器IgoのPython版を作るときにはまったこと

IgoPythonへの移植がとりあえずのところまで来たので、メモをかねて記録。

何で移植しようかと思ったかと言えば

  1. Wooshを知って、WooshがせっかくPurePythonなら形態素解析器もPurePythonでと思った
  2. IgoはJavaで書かれているので、MeCabを移植するよりは移植が簡単だと思った
  3. PurePythonでそれなりの形態素解析器があれば、いろいろ遊んでくれる人も多いだろうと考えた

取りかかる前は、バイナリ辞書の扱いが一番面倒だと思ったけど、意外と問題なくすんだ。文字列もUTF-16でそのまま読むだけで動いている。
それよりは、javaではcharは整数なのに対して、pythonの文字は整数ではないのでordで整数値にしないといけないところがあり面倒だった気がする。

GAE版辞書対応はとりあえず出来てから取りかかったけど、思った以上に簡単にできた。

普段あまり使わない、struct, arrayと初めて使ったmmapもドキュメントがあるのでそれほど迷わず使えた。一番間抜けなのは、デフォルト引数の挙動で悩んでしまったこと。昔はまったことは解決したときに思い出した。

0 件のコメント:

コメントを投稿