2006年5月28日

[SpamAssassin-JP 261] Re:SpamAssassin-3.1.1日本語対応パッチ(案、その2)

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

On Fri, May 26, 2006 at 02:56:08PM +0900,
Motoharu Kubo wrote:

> > 完全に人柱バージョンです。

>
> 少し中身を追いかけてみました。normalize_charsetを0にすると、正規化、言語
> ごとのトークナイズなどがスキップされるようになっているので、dev MLで指摘
> があったスループットの懸念は問題ないと思います。

無効時に影響が少なくなるよう作っています。

> また、ロジックを細かく追いかけたわけではありませんが、実際に1ヶ月ほど動
> かしてみて、nbodyテストなども問題なく動いているようですので、ロジックも
> 大丈夫じゃないかと思います。

試していただきありがとうございます。
実はバグがありましたので今日公開したその3を試してみてください。

> トークナイズの利点
>
> o 改行で分割された単語がつながってくれる。「出<改行>会い」というケースで
> も見逃さなくなる。

これに関してはその3で対応できています。
normalize時に漢字で終わって次の行が漢字で始まる場合は改行コードを取り除く
ようにしています。

メールの文章は意味を持たせて改行することが多いので、それほど影響はないな
と思いますが。
それ以前に文末でしか改行しないメールも多いし。
何しろ敵はわかりやすいメールや興味をひくようなメールを送ってきますから。

> o (辞書に依存する度合いが高いが)複数単語が連なっていることによって間違っ
> たマッチを起こす可能性が減る
>
> たとえば「人情」という単語を検出したい場合、トークナイズしなければ「個
> 人情報」もマッチしてしまうが、トークナイズすれば「個人<スペース>情報」
> となるためにマッチしなくなる(辞書に「個人情報」が登録されていないなら
> ば)。

これに関しては英語でも同様な問題が生じる可能性があります。
無理矢理な例を出しますと、/sex/ は 'sextet' でもマッチします。
まあ、/\bsex\b/とすればよいだけなのですが。

意図しない単語にマッチしてしまうことは十分にあり得ることですが、
実運用上は一つのルールに大きなポイントを付けなければ問題ないと認識しています。
"required_score 5"に対して1ポイントくらいが誤って付いたところで問題ないです。
required_scoreを超えるようであればそれなりの単語がたくさん含まれていたり、
ベイズのポイントが高かったりするということですから。
ボディのルールに関しては小さなポイントの積み重ねで判断するのが肝だと思います。
# というか大きいポイントを付けるのは怖いです。

> トークナイズの欠点
>
> o 使うトークナイザや辞書によってことなったわかち書きになることがあり、
> nbodyの書き方がそれらに依存することになってしまう。とくに辞書に登録さ
> れていないカタカナ用語などは、実際にわかち書きさせてみないとどうなるか
> わからない。

私の考えでは、分かち書きは縁の下の力持ちであって表に出てくるべきものでは
ないです。そのため、ユーザに分かち書きのことを考慮させるべきではないです。
ユーザに職人芸的なものを求めてはいけませんし。
# 正規表現を書くこと自体が職人芸と言えば職人芸。
# ReplaceTagsプラグインは何気に職人芸を要求されますが。

> dev MLでも議論になった点なのですが、私は意図しないマッチを減らすために、
> トークナイズする方が望ましいと思っています。
>
> トークナイズしないテキストに対するテスト(nbody)、トークナイズしたテキス
> トに対するテスト(たとえばntbody)という2とおりのテストを用意する、という
> 対処もありえると思いますが、そのことの是非も含めて検討が必要ですね。

ここら辺の話はまだ議論が必要だと思います。

--
TAKIZAWA Takashi(滝澤 隆史)
http://www.emaillab.org/

--
SpamAssassin メーリングリスト
http://mm.apache.jp/mailman/listinfo/spamassassin-jp

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




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