2006年3月 2日

[SpamAssassin-JP 76] Re:SpamAssassin 3.1.0の日本語対応パッチ

** SpamAssassin メーリングリスト **
** 注意:このメールへの返信は SpamAssassin-jp へ行きます **
久保です。

> MeCab のUTF-8の分かち書き環境に対応させて計測してみましたら
> kakasiより若干速いようです

お、早速MeCabにチャレンジされましたね:-) ありがとうございます。


> time spamassassin -L -t -r jisemail.eml
> をそれぞれの環境で10回計測した結果の平均を出してみました
>
> real user sys
> kakasi 1.863s 1.747s 0.113s
> MeCab 1.839s 1.723s 0.112s
> -0.024s -0.024s -0.002s
>
> メールの大きさやルールの多さなどで変わってくるかと思いますが
> まぁ少しでも早い方が良いかなとも思います

MeCabのWebには「kakasiなどより3〜4倍速い」と書いてあるので、この効果があ
るのかな、と思います。

MeCabは私も軽く試していたので、作者の工藤さんに教えていただいたことも含
めて、いくつか調整すべき箇所をお知らせしておきます。

o UTF-8を受け付けるモードでコンパイルしておくと、splitter関数の中のEUC-
JPに変換して再度UTF-8に戻すという処理が不要になります。コード変換の
オーバーヘッドが減らせるので、わずかながらパフォーマンスもよくなると思
います。

o デフォルトの辞書だと、1バイト文字がSA向けになりません。"EUC_JP"が"EUC
_ JP"になったり、URLがスラッシュやピリオドでバラバラになります。

これを避けるには、MeCab 0.90を使って、「未知語」の切り出し方のポリシー
を変更すればいいとのことです。具体的には、mecab-ipadicに含まれている
char.def の以下の部分を

# ASCII
0x0021..0x002F SYMBOL
0x0030..0x0039 NUMERIC
0x003A..0x0040 SYMBOL
0x0041..0x005A ALPHA
0x005B..0x0060 SYMBOL
0x0061..0x007A ALPHA

次のように変更すればいい、とのことです。

# ASCII
0x0021..0x002F ALPHA
0x0030..0x0039 NUMERIC
0x003A..0x0040 ALPHA
0x0041..0x005A ALPHA
0x005B..0x0060 ALPHA
0x0061..0x007A ALPHA
0x007B..0x007E ALPHA

私は、数字も含めて1バイト文字はすべてALPHAにしました。そうしておかない
http://www.3ware.co.jpが"http://www.3 ware.co.jp"のようになってし
まうと思います。

上記の修正後、/usr/libexec/mecab/mecab-dict-indexを実行して辞書を作り
直してインストールする、という手順になります。

o (技術的なことじゃないですが) MeCabのライセンスはLGPLで、変更は諸般の事
情で難しい、とのことです。SAはApacheライセンスなので、組み込むときには
ライセンスのことも考慮しないといけないですね。この2つのライセンスの相
性はどうなんでしょうか>詳しい方

なお、私のパッチでわかち書きする処理はsplitterという名前の関数に切り出し
てあります。関数名が適当かどうかはともかく、こうしておくことで、わかち書
きをする/しない、あるいはわかち書きのエンジンを取り換える、などというこ
とが比較的容易になると思っています。

# 舘山さんがこんなに早くMeCabにチャレンジしていただけるとわかっていた
# ら、最初にこれらのことを書いておけばよかったですね。すみません。

--
----------------------------------------------------------------------
久保 元治 (株)サードウェア
Motoharu Kubo 274-0815 千葉県船橋市西習志野3-39-8
mkubo@xxxxx URL: http://www.3ware.co.jp/
Phone: 047-496-3341 Fax: 047-496-3370
携帯: 090-6171-5545/090-8513-0246
★弊社からのメールはZ-Linuxメールフィルタで全数検査しています★
--
SpamAssassin メーリングリスト
http://mm.apache.jp/mailman/listinfo/spamassassin-jp

投稿者 xml-rpc : 2006年3月 2日 00:17
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/40810
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。