MySQL (Tritonn)に載った辞書データベースから意味を抽出するスクリプトを書きました。
MySQL (Tritonn)に載った辞書データベースから意味を抽出するスクリプトを書きました。
keywords.txtと言うファイルに一行ずつMohawkのキーワードがあります。
dictionaryと言うデータベースに
dictionaryと言うテーブルを作って、
word TEXT definition TEXTとしてあります。
キーワードを一つずつデータベースに問い合わせて意味をkeyword-meaning.txtに書き込みます。
#!/usr/bin/perl use DBI; my ($dns) = "DBI:mysql:dictionary:xxxx"; my ($username) = "xxxx"; my ($password) = "xxxx"; my ($dbh, $sth); my (@ary); my $outfile = "keyword-meaning.txt"; #### database connection $dbh = DBI -> connect ($dns, $username, $password) or &Error("Can not connect to database."); $dbh->do("SET NAMES sjis"); ################################################################ open(FH, "keywords.txt"); @file = <FH>; close(FH); open(FH2, ">$outfile"); foreach $data (@file) { chomp($data); if ($data ne ""){ ############################################################## $SQL_QUERY=<<__CURSOR_1__; select word, definition from dictionary where word = "$data"; __CURSOR_1__ ############################################################## $cursor = $dbh->prepare( "$SQL_QUERY" ); $cursor->execute; while(my @row = $cursor->fetchrow_array) { print FH2 "$row[0] $row[1]\n"; } #print "success\n"; } } close(FH2); $cursor->finish; $dbh->disconnect;