2006年3月 3日

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

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

私も同じくkakasiとMeCabの処理能力を比較してみました。
SAから分かち書きの部分だけを取り出してUTF-8に予め変換したspamメールを
kakasiとMeCabに食わせてみました。
利用したスクリプトは以下の通りです。


--------
[taki@xxxxx bin]$ cat wakati-kakasi.pl
#!/usr/bin/perl -w
use strict;
use Encode;
use Text::Kakasi;
Text::Kakasi::getopt_argv('kakasi','-ieuc','-w');
while() {
my $res = Encode::encode("euc-jp",Encode::decode("utf8",$_));
my $str = Text::Kakasi::do_kakasi($res);
my $utf8= Encode::decode("euc-jp",$str);
}

[taki@xxxxx bin]$ cat wakati-mecab.pl
#!/usr/bin/perl -w
use strict;
use Encode;
use MeCab;
my $m = new MeCab::Tagger ("-Owakati");
while() {
my $str = $m->parse($_);
my $utf8= Encode::decode("utf-8",$str);
}
--------

食わせたspamメールのサイズは次の通りです。
ヘッダを取り除いてボディだけにしています。
--------
[taki@xxxxx ~]$ wc spam.txt
55 42 1849 spam.txt
--------

結果は以下の通りです。
単発の結果しか記述していませんが、繰り返して行っても大きくは変わりません。
--------
[taki@xxxxx bin]$ time ./wakati-kakasi.pl < ../spam.txt

real 0m0.178s
user 0m0.088s
sys 0m0.088s
[taki@xxxxx bin]$ time ./wakati-mecab.pl < ../spam.txt

real 0m0.141s
user 0m0.060s
sys 0m0.080s
--------

分かち書きの処理の部分に関してはMeCabの方が2,3割速いようです。

また、Fedora Core用のSRPMSパッケージを作ってみたので試してみたい方はどうぞ。
MeCabのSRPMSパッケージも作ってみました。
http://www.emaillab.org/spamassassin/


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

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

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




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