• 締切済み

PerlでCabochaを呼び出すには(Windows)

Windows上でコマンドラインからではなく、PerlのプログラムからCabochaを使うにはどのようにすればいいのでしょうか。Cabochaはwindows版のcabocha-0.52.exeを使用しています。 Linux版のCabochaに含まれている以下のtest.plのようなソースを実行したいのですが、 (http://chasen.org/~taku/software/cabocha/libcabocha.html)に書いてあるperl/READMEを読んだ後、Cygwinで実行してもtest.plは実装できませんでした。 /**********************************************************/ use lib "../src/.libs"; use lib $ENV{PWD} . "/blib/lib"; use lib $ENV{PWD} . "/blib/arch"; my $sentence = "太郎はこの本を二郎を見た女性に渡した。"; use CaboCha; my $c = new CaboCha::Parser([($0, @ARGV)]); print $c->parseToString ($sentence); my $tree = $c->parse($sentence); print $tree->toString (2); my $size = $tree->size(); my $ci = 0; for (my $i = 0; $i < $size; ++$i) { my $token = $tree->token ($i); if ($token->hasChunk ()) { printf ("* %d %d%s %d/%d %f\n", $ci++, $token->chunk->link, $token->chunk->rel, $token->chunk->head, $token->chunk->func, $token->chunk->score); } printf ("%s\t%s\t%s\t%s\t%s\t%s\t%s\n", $token->surface, $token->base, $token->read, $token->pos, $token->ctype, $token->cform, $token->ne); } print "EOS\n"; /*****************************************************/

みんなの回答

回答No.1

どんなエラーがでるのでしょう? CaboCha.pmやCaboCha/Perser.pmを探してみて下さい。この名前のファイルがないと、perlインタフェースは使えません。

PRIXDEL
質問者

補足

Windows版のBinary packageにはCaboCha.pmが存在しないため、ソースをダウンロードするとCaboCha.pmがありました。 Perlモジュールの使用方法を知らなかったので、ネットで検索したところ、PPMでのインストールや手動でのインストール などが書かれていたのですが、PPMでインストールをしようとすると Error: neither'HKEY_LOCAL_MACHINE/SOFTWARE/ActiveState/PPM//InstallLocation' no r 'HKEY_CURRENT_USER/SOFTWARE/ActiveState/PPM//InstallLocation' found in registr y at C:\ActivePerl-5.8.6.811\Perl\bin/ppm.bat line 29. というエラーが出ました。PPMはActivePerlに付属のものです。 また、Cygwinでの手動インストールをしようとしましたが、 $ perl Makefile.PL WARNING: Setting VERSION via file 'CaboCha.pm' failed at /usr/lib/perl5/5.8/ExtUtils/MakeMaker.pm line 486 Note (probably harmless): No library found for -lyamcha Note (probably harmless): No library found for -ldl Note (probably harmless): No library found for -lcabocha Writing Makefile for CaboCha となり、Makefileがうまく作れませんでした。

関連するQ&A