cgi

#!/usr/bin/perl

#-----------------------------------------------------------------
#CGI環境
use lib '/usr/local/lib/perl/cgi-lib';
use CGI;
#-----------------------------------------------------------------
#CGI変数の取り込み
$query = new CGI;
$utterance = $query->param('utterance');
#$utterance = "あなたのお名前は何ですか?";
#-----------------------------------------------------------------
#CGI変数をファイル"user.txt"に書き込む
open(USER, ">user.txt");
print USER "$utterance\n";
close(USER);

#"user.txt"の文字コードをEUCに変えて"user.euc"として保存
system("nkf -euc user.txt > user.euc");

#"user.euc"の内容をchasenで形態素解析
$i=0;
open(CHASEN,"/usr/local/bin/chasen user.euc |");
while(<CHASEN>){
    chop();
    ($syutsugen[$i],$yomi[$i],$daihyou[$i],$pos[$i])=split(/\t/);
    $i++;
}
close(CHASEN);
$wordnum=$i;

#-----------------------------------------------------------------
#ここに対話処理を書く

$keyword1="固有名詞";
$keyword2="地域";
$keyflag1=0;
$keyflag2=0;
for($j=0;$j<$wordnum;$j++){
    if($pos[$j] eq $keyword1){
        $keyflag1=1;
    }
    if($pos[$j] eq $keyword2){
        $keyflag2=1;
    }
}
if(($keyflag1 ==1)&&($keyflag2 == 1)){
    $system = "OK";
}

$keyword1="固有名詞";
$keyword2="地域";
$keyflag1=0;
$keyflag2=0;
for($j=0;$j<$wordnum;$j++){
    if($pos[$j] eq $keyword1){
        $keyflag1=1;
    }
    if($pos[$j] eq $keyword2){
        $keyflag2=1;
    }
}
if(($keyflag1 ==1)&&($keyflag2 == 1)){
    $system = "OK";
}



#-----------------------------------------------------------------
#HTML出力

print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<TITLE>対話システム</TITLE>\n";
print "<BODY>\n";
print "<H1>対話システム</H1>\n";
print "User:";
for($j=0;$j<$wordnum;$j++){
    print "$syutsugen[$j] ";
}
print "<BR>\n";
print "<BR>\n";

print "User Word: \n";
print "<BR>\n";
for($j=0;$j<$wordnum;$j++){
    print "$daihyou[$j]\t$yomi[$j]\t$pos[$j]\n";
    print "<BR>\n";
}

print "System:";
print "$system\n";
print "<BR>\n";

print "<HR>\n";
print "発話を入力してTalkボタンをクリックして下さい。\n";

print '<FORM NAME="form" METHOD="POST" ACTION="dialogue.cgi">';
print '<INPUT TYPE="text" NAME="utterance" SIZE="50" VALUE="">';
print '<INPUT TYPE="submit" NAME="submit" VALUE="Talk">';
print '</FORM>';

print "</BODY>\n";
print "</HTML>\n";
最終更新:2009年06月01日 04:14
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。