MeCab 0.97 PPM2008年09月29日 17時29分49秒

MeCab 0.97 は随分前にリリースされていましたが、MeCab の PPM を 0.97 にバージョンアップするのを忘れていました。 個人的には 0.97 を使っていましたが、古い 0.96 を公開していました。

そのまま 0.97 を公開しても良かったのですが、最近 SWIG を少し学習したので、MeCab PPM を VC++ 2005 でコンパイルしてみました。 多少苦労しましたが、VC++ 2005 でコンパイルできましたので、 今後は MinGw + gcc でコンパイルしたものではなくて VC++ 2005 でコンパイルしたものを公開することにします。 (VC++ 2005 でコンパイルできるということは x64 版のコンパイルも可能ということになりますから。)

MeCab の PPM のインストールはまず IPA 辞書のインストールを行ってください。 (必ず専用の辞書のインストールを行ってください。 MeCab Windows 版の辞書を本辞書の代わりに使用することはできません。)

http://www.akaneiro.jp/public/mecab/ipadic/

Microsoft Installer 形式(.msi)のインストーラが起動し、MeCab 用 IPA 辞書(EUC-JP)のインストールが行われます。

辞書のインストールが終了しましたら、メニューから「MeCab PPM install」を選択して MeCab PPM のインストールを行ってください。

  • Windows 用 ActivePerl 専用です。
  • AcitvePerl x86 版用です。
  • ActivePerl ビルド800番台(Perl 5.8)専用です。
  • AcitvePerl ビルド600番台(Perl 5.6)、ビルド1000番台(Perl 5.10) にはインストールできません。

詳しくは http://www.akaneiro.jp/mecab/ をご覧ください。

  • Namazu for Windows 2.0.18 では EUC-JP の辞書を前提にしています。
  • Namazu 以外の用途用にEUC-JP版辞書以外にShift_JIS版辞書、UTF-8版辞書を用意しました。 Shift_JIS版辞書とUTF-8版辞書は下記のメンバエリアで公開しています。 メンバエリアにアクセスするためにはユーザIDとパスワードが必要になります。

https://www.akaneiro.jp/members/mecab/ipadic-sjis/

https://www.akaneiro.jp/members/mecab/ipadic-utf8/

コメント

_ core ― 2008年11月11日 22時27分02秒

はじめまして。
perlでMeCabがうまくいかないので質問させてください。

mecab-ipadic-0.97.msiをDL後、実行し、説明通りのことをしました。
その後、C:\perl test.pl(テストプログラムです)を実行したのですが、エラーが出てうまくいきません。

実行後、エラーダイアログが出て内容は、
『プロシージャ エントリ ポイント Perl_hv_common_key_len がダイナミック リンク ライブラリ perl58.dll からみつかりませんでした。』
という内容です。その後、プロンプト画面に
『Can't load 'C:/Perl/site/lib/auto/MeCab/MeCab.dll' for module MeCab: load_file:
指定されたプロシージャが見つかりません。 at C:/perl/lib/DynaLoader.pm line 229.
at C:/perl/site/lib/MeCab.pm line 10
Compilation failed in require at test.pl line 5.
BEGIN failed--compilation aborted at main.pl line 5.』
と表示されました。

perlのバージョンは5.8.8で、OSはWinXPです。

色々試しましたがよくわからないので解決方法がわかるなら教えていただきたいです。
よろしくお願いします。

_ opengl2772 ― 2008年11月11日 22時41分21秒

ActivePerl 5.8.8.824 にバージョンアップしてみてください。

_ core ― 2008年11月11日 23時16分55秒

perlのバージョンを
5.8.8 → 5.8.8.824
に変えるだけで問題解決しました。

迅速な返信ありがとうございました。

_ yaris ― 2010年03月03日 19時44分13秒

Windows環境でnamazu + MeCab(0.97PPM EUC-JP)を使うことを考えています。
(Namazu Ver2.0.20、ActivePerl 5.8.9 Build 827を使用)

IPA辞書をインストールし、mknmzrcをMeCab向けに書き換えています。
その後にmknmzでIndexを作成したのですが、

Date: Wed Mar 3 11:33:01 2010
Added Documents: 16
Size (bytes): 4,372,342
Total Documents: 16
Added Keywords: 2,039
Total Keywords: 2,039
Wakati: module_kakasi -ieuc -oeuc -w <-ここのところ
Time (sec): 6
File/Sec: 2.67
System: MSWin32
Perl: 5.008009
Namazu: 2.0.20

と、Wakatiのところにkakasiが出てきています。
このようになっていてもMecabによるわかち書きは機能しているのでしょうか?
mknmzrcを修正するだけでは、MeCabは使えないのでしょうか?

_ opengl2772 ― 2010年03月04日 00時16分43秒

mknmzrc の修正に誤りがあるのではないでしょうか?

pltests を実行して結果をしめしてください。

_ yaris ― 2010年03月04日 21時34分30秒

pltestsはPassしています。
mknmz -Cしてもエラーはも出ていません。

仕方がないので、conf.plを書換えて対応しています。

_ opengl2772 ― 2010年03月06日 14時51分45秒

今回の場合は、pltests がパスするかどうかが重要ではなく、mecab 関係のテストが実行されているかどうかが重要なのです。そのため、結果をしめしてくださいと書いています。

また、mknmz -C の結果が重要であって、エラーかどうかもあまり重要ではありません。(エラーだといけないけど。)

conf.pl を書き換えて動くのなら、mknmzrc の記述に問題があるか、あるいは環境変数の設定に問題があるのではないでしょうか?

いずれにしても MeCab PPM をインストールさえすれば、標準で MeCab は使えるようになっています。
mknmz に -b オプションを付けて MeCab を使うように指示して実行すればよいでけです。

mknmz 実行時に -b オプションを付けないでも MeCab を使いたいという場合にだけ mknmzrc を修正してください。

_ ten ― 2010年06月17日 02時37分04秒

はじめまして
やっとのことperlのCGIでmecabを使えるようになりましたが、ユーザー辞書の登録ができません。どうすればいいのでしょうか?

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://namazu.asablo.jp/blog/2008/09/29/3788573/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。