#!/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