電子書籍の厳選無料作品が豊富!

perl で TermExtract というものを使って専門用語抽出をしたいと思っています。

参考ページ
http://gensen.dl.itc.u-tokyo.ac.jp/termextract.h

形態素解析ソフトは「和布蕪」を使っています。
参考ページの
「和布蕪」の場合の、TermExtract::MeCab サンプルスクリプトを参考にして
動かしてみたんですがうまく動作しません。


<ソース>
#! /usr/bin/perl
use TermExtract::MeCab;
my $data = new TermExtract::MeCab;
my $InputFile = "./CGI/mecab_out.txt";
$SIG{INT} = $SIG{QUIT} = $SIG{TERM} = 'sigexit';
my $output_mode = 1;
my @noun_list = $data->get_imp_word($InputFile);

print "Content-type: text/html; charset=EUC-JP\n\n";
print <<"EOM";
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE>mecab</TITLE>
</HEAD>
<BODY>
EOM
foreach (@noun_list) {
# 結果表示
printf "%-60s %16.2f\n", $_->[0], $_->[1] if $output_mode == 1;
printf "%s\n", $_->[0] if $output_mode == 2;
printf "%s,", $_->[0] if $output_mode == 3;
}
sub sigexit {
$data->unlock_db;
}
print <<"EOM";
</BODY>
</HTML>
EOM
<--------------->

mecab_out.txtには、和布蕪」を使って出食された形態素解析済みのデータ
が入っています。
ブラウザでみると、真っ白のページが表示されます。

なにか使い方を間違えているのでしょうか?
よろしくお願いいたします。

A 回答 (1件)

「ブラウザで見る」以外の動作確認はしないんですか?

この回答への補足

変数の渡し方を変えてみり、同じような問題で困った人がいるか調べたり
perlcheckerやprint"check";したり、真っ白なページのhtmlソースを見たりなど、
自分で出来うる限りの、動作確認・調査をしたうえで質問しています。
サンプルをコピペしてきて、動かないから質問なんてことは絶対にしません。

格闘した結果、テキストファイル、実行ファイルの文字コードをSHIFT-JISにした時だけ表示されました。
UTF-8,EUCでは文字化けすらせずに何も表示されないようでした。
原因はわかりませんが、TermExtractは動作させることができたようでよかったです。

ありがとうございました。

補足日時:2011/11/27 08:23
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!