This is an old revision of the document!


分かち書きに Kakasi 以外のプログラム(例えば MeCab など)を使用する

日本語の文章には、英語と違って単語の間に空白(スペース)がありません。このため、ベイジアンフィルタを使ってメールの分析をするためには、メールの本文を単語ごとに分割する(分かち書き)必要があります。POPFile では、Kakasi を使ってこれを実現しています。

現在のバージョンの POPFile では分かち書きに使用するプログラムを変更することはできませんが、MeCab や内蔵パーサ(文字種による単純な分割)を使うためのパッチを現在テスト中です。POPFile の次のバージョン(0.22.6 を予定)に含まれる予定です。テストにご協力いただける方を募集中です。動作状況については、 POPFile フォーラムへご報告ください。

分かち書きに MeCab を使う

POPFile にパッチを当てることにより、分かち書きに使用するプログラムとして Kakasi の代わりに MeCab を使うことができます。MeCab を使うことによるメリットは、

  • メール処理の高速化(環境によっては Kakasi とあまり変わらないこともあります)
  • 分かち書き精度の向上(POPFile の分類精度については必ずしも向上するとは限りません)

などがあります。逆に、

  • 辞書ファイルのサイズが大きい

というデメリットがあります(ハードディスクの容量が大きくなっている現在ではほとんど問題にならないでしょうが)。

分かち書きに内蔵パーサ(文字種による分割)を使う

POPFile にパッチを当てることにより、分かち書きに使用するプログラムとして内蔵パーサ(文字種による分割)を使うことができます。内蔵パーサを使うことによるメリットは、

  • メール処理の高速化
  • 外部モジュールが不要(クロスプラットフォーム版の導入時などに便利でしょう)

などがあります。逆に、

  • 分かち書き精度の低下(POPFile の分類精度については必ずしも低下する訳ではありません)

というデメリットがあります。

パッチをインストールする

パッチは以下で入手することができます。クロスプラットフォーム版を使用している場合は zip ファイルを展開し、POPFile/Classifier フォルダの Bayes.pm と MailParse.pm を入れ替えます。Windows 版を使用している場合でも同じです。

パッチを適用する前には、必ず POPFile のデータおよびプログラムを バックアップしてください。

パッチの入手先:

MeCab をインストールする

パッチは MeCab 0.91 以降でのみ動作します(0.96 を推奨)。MeCab と mecab-perl(Perl モジュール)、MeCab の辞書として ipadic をインストールします。

Windows 版

パッチを適用するのに必要な環境は、

  • POPFile 0.22.5 (Windows 版)
  • ActivePerl 5.8.x (必ずしも必須というわけではありません。インストールしない場合の方法は後述)

準備するものは、

  • mecab-perl 0.91 以降( ナマズのブログを参考に、ppm を使ってダウンロード、インストールしてください)
  • mecab-ipadic (上記ページを参考に、ダウンロード&展開し、所定の場所にコピーします。環境変数もあわせて設定してください)
  • MeCab を使うパッチ (上記からダウンロードします)

POPFile から MeCab が使用できるようにするため、Perl モジュールを POPFile/lib 以下にコピーする必要があります。具体的には、

  • C:\Perl\site\lib\MeCab.pmC:\Program Files\POPFile\lib\MeCab.pm
  • C:\Perl\site\lib\auto\MeCab (フォルダ) → C:\Program Files\POPFile\lib\auto\MeCab

のようにコピーします(デフォルトインストールの場合)。

ActivePerl がインストールされていない場合は、 ppm でダウンロードされるファイルを直接ダウンロード&展開し、上記と同様に POPFile/lib 以下のフォルダにコピーします。

クロスプラットフォーム版

MeCab と mecab-perl のバージョン 0.91 以降をインストールします。インストール方法などについては MeCab ホームページを参照してください。辞書ファイルは、MeCab と一緒に公開されている ipadic をインストールします。

分かち書きプログラムの切替方法

パッチを適用しただけでは、分かち書きのプログラムはデフォルトの Kakasi を使用するようになっています。POPFile UI の詳細設定タブを開き、bayes_japanese_parser パラメータの値を mecab に変更し、POPFile を再起動することによって、MeCab を使用するようになります(もし MeCab のインストールがうまくいっていない場合は引き続き Kakasi が使われます。正常に動作しているかどうか確認するには、もう一度詳細設定タブを開いて、bayes_japanese_parser パラメータの値が mecab になっているかどうかを調べてみてください)。

bayes_japanese_parser パラメータの値を internal に変更することにより、Kakasi も MeCab も使わず、単純に文字種(ひらがな、カタカナ、漢字、英数字など)によって分割する機能を使うことができます。クロスプラットフォーム版を使っている場合などで、Kakasi も MeCab も使用したくない場合などに便利かもしれません(Kakasi と MeCab がいずれもインストールされていない場合、自動的に内蔵パーサを使用するようになっています)。正確な分かち書きではないため、若干精度が落ちる可能性がありますが、しばらくテストした感じでは、それほど影響はないようです。

POPFile の分類精度比較について

2 万通あまりのメールを使用して、Kakasi、MeCab、内蔵パーサ(文字種による分割)を使った場合の分類精度を比較したデータ こちらにあります。どのパーサを使用しても分類精度にはほとんど違いがないという結果が出ています。

FAQ 初心者・初学者向けのQ&A集

POPFile ドキュメンテーションプロジェクト

 
jp/faq/mecab.1189259357.txt.gz · Last modified: 2008/02/08 19:49 (external edit)

Should you find anything in the documentation that is incomplete, unclear, outdated or just plain wrong, please let us know and leave a note in the Documentation Forum.

Recent changes RSS feed Donate Driven by DokuWiki
The content of this wiki is protected by the GNU Fee Documentation License