前回の
SpamBayes 日本語化
は、GUI 画面だけでしたが、今回は、日本語トークンの抽出を試みました。
トークンの抽出は、
UnicodeBlockTokenizer
を改造して使用しています。
処理速度を上げるため
generator
化しました。
また ascii 文字列も分割した方が良さそうでしたので、稚拙なコードを追加してあります。
今後、トークン分割で勝手にコードを追加して行くことになると思うので、
モジュールの名前は変更しました。
ソースとパッチは
ここ
にまとめて置いてあります。
日本語トークンはとりあえず
utf-8
でエンコードされた
str
型で返してます。
本来は
unicode
型で返したいところですが、
その後の処理を調べてませんので。
今回は
tokenizer
コードに手を入れただけで、
トークン抽出以降の処理はまったく調べていません。
とは云え (運良くこのまま) ベイジアンフィルタ処理部分が通してくれれば、
何もしないで動く可能性はあります。まあ、その反対は地獄と云うこと。
その話は、また次の機会ってことで、かんべん。
あっどうも、
CJKSplitter
あたりだと完璧?に 2-gram 分割してくれるようなのですが、Spambayes がトークン単位で評価してるようなので、それを見習っただけだったのです。解からずに試したことでも、記事を書いてみると、教えてもらえてありがたいです。少し勉強してみます。
と云うか
tokenizer.py
の先頭に書いてある長いコメント読むのが先ですよね;;
8/29 版では、トークン一覧画面で日本語表示できるようになったので、いろいろ試してみようと思います。
手元のマシンでは、日本語部分はトークン分割せずに2-gramを登録するようにして使っています。ちゃんとした評価はしていないんですが、英語のメールよりも精度が低い、ということもないような。