This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
jp:faq:mecab [2007/01/24 09:44] – amatubu | jp:faq:mecab [2007/09/08 13:49] – update for new version amatubu | ||
---|---|---|---|
Line 3: | Line 3: | ||
日本語の文章には、英語と違って単語の間に空白(スペース)がありません。このため、ベイジアンフィルタを使ってメールの分析をするためには、メールの本文を単語ごとに分割する(分かち書き)必要があります。POPFile では、Kakasi を使ってこれを実現しています。 | 日本語の文章には、英語と違って単語の間に空白(スペース)がありません。このため、ベイジアンフィルタを使ってメールの分析をするためには、メールの本文を単語ごとに分割する(分かち書き)必要があります。POPFile では、Kakasi を使ってこれを実現しています。 | ||
- | 現在のバージョンの POPFile では分かち書きに使用するプログラムを変更することはできませんが、MeCab を使うためのパッチが現在テスト中です。POPFile の次のメジャーバージョンアップ(0.23 を予定)に含められればと思っています。テストにご協力いただける方を募集中です。動作状況については、[[http:// | + | 現在のバージョンの POPFile では分かち書きに使用するプログラムを変更することはできませんが、MeCab |
===== 分かち書きに MeCab を使う ===== | ===== 分かち書きに MeCab を使う ===== | ||
POPFile にパッチを当てることにより、分かち書きに使用するプログラムとして Kakasi の代わりに MeCab を使うことができます。MeCab を使うことによるメリットは、 | POPFile にパッチを当てることにより、分かち書きに使用するプログラムとして Kakasi の代わりに MeCab を使うことができます。MeCab を使うことによるメリットは、 | ||
- | * メール処理の高速化 | + | * メール処理の高速化(環境によっては Kakasi とあまり変わらないこともあります) |
- | * 分かち書き精度の向上 | + | * 分かち書き精度の向上(POPFile の分類精度については必ずしも向上するとは限りません) |
などがあります。逆に、 | などがあります。逆に、 | ||
* 辞書ファイルのサイズが大きい | * 辞書ファイルのサイズが大きい | ||
というデメリットがあります(ハードディスクの容量が大きくなっている現在ではほとんど問題にならないでしょうが)。 | というデメリットがあります(ハードディスクの容量が大きくなっている現在ではほとんど問題にならないでしょうが)。 | ||
- | ==== パッチをインストールする ==== | + | ===== 分かち書きに内蔵パーサ(文字種による分割)を使う ===== |
- | パッチは以下で入手することができます。クロスプラットフォーム版を使用している場合は zip ファイルを展開し、POPFile/ | + | POPFile にパッチを当てることにより、分かち書きに使用するプログラムとして内蔵パーサ(文字種による分割)を使うことができます。内蔵パーサを使うことによるメリットは、 |
+ | * メール処理の高速化 | ||
+ | * 外部モジュールが不要(クロスプラットフォーム版の導入時などに便利でしょう) | ||
+ | などがあります。逆に、 | ||
+ | * 分かち書き精度の低下(POPFile の分類精度については必ずしも低下する訳ではありません) | ||
+ | というデメリットがあります。 | ||
- | このパッチには、分かち書きに MeCab を使う以外に、単純に文字種によって分割する機能や、ほかのバグ修正、若干のパフォーマンス向上が含まれています。パッチを適用する前には、必ず POPFile のデータおよびプログラムを[JP: | + | ===== パッチをインストールする ===== |
+ | |||
+ | パッチは以下で入手することができます。クロスプラットフォーム版を使用している場合は zip ファイルを展開し、POPFile/ | ||
+ | |||
+ | パッチを適用する前には、必ず POPFile のデータおよびプログラムを[[JP: | ||
パッチの入手先: | パッチの入手先: | ||
- | *[[http:// | + | *[[https:// |
- | ==== MeCab をインストールする ==== | + | ===== MeCab をインストールする |
- | パッチは MeCab 0.91 以降でのみ動作します(0.91 および 0.92 にて動作確認)。MeCab と mecab-perl(Perl モジュール)、MeCab の辞書として ipadic をインストールします。 | + | パッチは MeCab 0.91 以降でのみ動作します(0.96 を推奨)。MeCab と mecab-perl(Perl モジュール)、MeCab の辞書として ipadic をインストールします。 |
- | === Windows 版 === | + | ==== Windows 版 ==== |
パッチを適用するのに必要な環境は、 | パッチを適用するのに必要な環境は、 | ||
- | * POPFile 0.22.4 (Windows 版) | + | * POPFile 0.22.5 (Windows 版) |
- | * ActivePerl 5.8.x (必ずしも必須というわけではありません。インストールしない場合の方法は後述) | + | * %%ActivePerl%% 5.8.x (必ずしも必須というわけではありません。インストールしない場合の方法は後述) |
準備するものは、 | 準備するものは、 | ||
* mecab-perl 0.91 以降([[http:// | * mecab-perl 0.91 以降([[http:// | ||
- | * mecab-ipadic (上記ページを参考に、ダウンロード&展開し、所定の場所にコピーします。環境変数もあわせて設定してください)< | + | * mecab-ipadic (上記ページを参考に、ダウンロード&展開し、所定の場所にコピーします。環境変数もあわせて設定してください) |
* MeCab を使うパッチ (上記からダウンロードします) | * MeCab を使うパッチ (上記からダウンロードします) | ||
Line 44: | Line 53: | ||
のようにコピーします(デフォルトインストールの場合)。 | のようにコピーします(デフォルトインストールの場合)。 | ||
- | ActivePerl がインストールされていない場合は、[[http:// | + | %%ActivePerl%% がインストールされていない場合は、[[http:// |
- | Windows 環境では、下記のインストーラを使うのが最も楽でしょう。 | + | ==== クロスプラットフォーム版 |
- | + | ||
- | MeCab 0.91 + 辞書 + パッチ インストーラ: | + | |
- | *[[http:// | + | |
- | + | ||
- | === クロスプラットフォーム版 === | + | |
MeCab と mecab-perl のバージョン 0.91 以降をインストールします。インストール方法などについては[[http:// | MeCab と mecab-perl のバージョン 0.91 以降をインストールします。インストール方法などについては[[http:// | ||
- | ipadic は、そのままインストールすると半角英数字や半角記号が分割されてしまい、HTML の分析などに支障が生じるため、辞書の設定ファイル(char.def)において、文字種の定義が行われている部分(CODE(UCS2) TO CATEGORY MAPPING のところ)を修正します。 | + | ===== 分かち書きプログラムの切替方法 ===== |
- | + | ||
- | < | + | |
- | 0x0021..0x002F SYMBOL | + | |
- | 0x0030..0x0039 NUMERIC | + | |
- | 0x003A..0x0040 SYMBOL | + | |
- | 0x0041..0x005A ALPHA | + | |
- | 0x005B..0x0060 SYMBOL | + | |
- | 0x0061..0x007A ALPHA | + | |
- | 0x007B..0x007E SYMBOL</ | + | |
- | + | ||
- | カテゴリ(一番右端の SYMBOL や NUMERIC と書かれたところ)をすべて「ALPHA」に統一してしまうことにより、分割されてしまうことを防ぐことができます。クロスプラットフォーム版でも、[[http:// | + | |
- | ==== パッチ適用後の使用方法 ==== | + | パッチを適用しただけでは、分かち書きのプログラムはデフォルトの Kakasi を使用するようになっています。POPFile UI の詳細設定タブを開き、bayes_japanese_parser パラメータの値を mecab に変更し、POPFile を再起動することによって、MeCab を使用するようになります(もし MeCab のインストールがうまくいっていない場合は引き続き Kakasi が使われます。正常に動作しているかどうか確認するには、もう一度詳細設定タブを開いて、bayes_japanese_parser パラメータの値が mecab になっているかどうかを調べてみてください)。 |
- | パッチを適用しただけでは、分かち書きのプログラムはデフォルトの Kakasi を使用するようになっています。POPFile UI の詳細設定タブを開き、bayes_japanese_parser パラメータの値を | + | bayes_japanese_parser パラメータの値を |
- | bayes_japanese_parser パラメータの値を simple に変更することにより、Kakasi も MeCab も使わず、単純に文字種(ひらがな、カタカナ、漢字、英数字など)によって分割する機能を使うことができます。クロスプラットフォーム版を使っている場合などで、Kakasi も MeCab も使用したくない場合などに便利かもしれません。正確な分かち書きではないため、若干精度が落ちる可能性がありますが、しばらくテストした感じでは、それほど影響はないようです。 | + | ===== POPFile |
- | 参照: | + | 2 万通あまりのメールを使用して、Kakasi、MeCab、内蔵パーサ(文字種による分割)を使った場合の分類精度を比較したデータ |
- | *[[http://sourceforge.jp/forum/forum.php? | + | |
[[:JP:FAQ | FAQ 初心者・初学者向けのQ& | [[:JP:FAQ | FAQ 初心者・初学者向けのQ& |
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.