Web海援隊レンタルサーバー

バージョンアップ決定!?
あなたのご要望をお待ちしております。


呼びかけが選べる人工無能ものおぼえもよい

友達に教える。


人工無能のRev. 3.0にちょいと細工したものです。
特徴
特徴
  1. ○○=XXっておぼえて、と話しかけると、キーワード=○○、答え=XX、で辞書に登録されます。
    文中に=をつけて憶えさせたい場合は、従来通りの憶えるCGIで憶えさせて下さい。
  2. 人工無能に呼びかけてもらう時に、「ちゃん」とか「さん」とか選べるようになってます。
  3. dbmを使っていますので何となくかっちょええ気がします。
  4. 今までの人工無能とは辞書の互換性はありませんが、頑張れば変換可能です。
  5. オプションで辞書引き機能をつけられます。

まずは、こちらのサンプルをご覧下さい。
(新しいブラウザにて表示されます。サンプルのログ・辞書はNo.38と共用してます。)
サンプル版には、プロレス辞書p-dic(法林 浩之さん作、VECTORからダウンロードしました)を適当にいじったものを入れています。
〜〜を辞書でひいて、と話しかけると〜〜を辞書でひいてくれます。
漢字はkakasiを使ってひらがなにして検索しますが、難しい漢字は認識しません。
うまく辞書をひけない場合は、獣神サンダーライガー→じゅうしんサンダーライガー、と平仮名にして聞いてあげて下さい。

必要なファイルや道具
まず必要になるのは、EUCコードを扱えるエディターです。
MacintoshならばJeditやNuEdit、Windowsなら秀丸エディターなどといったエディターがお勧めです。雑誌の付録CD等でお探し下さい。これらのエディターは、シェアウエアですので、気に入ったら作者に送金しましょう。

下記のファイルをダウンロードして下さい。

Windowsの場合
LHA自己解凍ファイルで保存されます。
ダブルクリックで、インストールして下さい。
Macの場合
自己解凍ファイルとして保存されます。
スタッフイットエキスパンダーがあれば、ダブルクリックで自己解凍します。
ファイル名 説  明
zhagi3.cgi メインルーチン
zhagi3teach.cgi 教えるCGI
zhagi3.pl 人工無能ライブラリ
dict1 辞書1
dict2 ぼけ辞書
mkdb.pl dbmファイル作成スクリプト
vacuum.pl 辞書吸い上げスクリプト
zhagi3.dat ログファイル
jcode.pl 文字コード変換パッケージ。
以上のファイルが必要になります。
 
オプション辞書機能を使う場合は、kakasiを設置して下さい
kakasiは、http://kakasi.namazu.org/にて配布されています。
設置作業
zhagi3.cgi、zhagi3teach.cgiの設定部分を設置するサーバーに合わせて変更します。
変更する部分は、

zhagi3.cgi

  1. #!/usr/local/bin/perl
  2. $CgiName (このCGIのファイル名)
  3. $TeachCgi (教えるCGIファイル名)
  4. $LogFile (ログファイル名)
  5. $Dict1 (辞書1)
  6. $Dict2 (ぼけ辞書)
  7. $HomeUrl (ホームページのURL)
  8. $Kakasi (kakasiのパスオプション辞書を使わない場合は不要)
  9. $OptionDict (オプション辞書。使わない場合はこの行を消す)
  10. $MaxWrite (最大書き込み数-3)
zhagi3teach.cgi
  1. $CgiName (このCGIのファイル名)
  2. $ZhagiCgi (チャットCGIファイル名)
  3. $LogFile (ログファイル名)
  4. $Dict1 (辞書1)
  5. $HomeUrl (ホームページのURL)
等です(.cgiファイルのコメント部分を参照して下さい)。
転送・パーミッションの設定
まず、FTPソフトで全てのファイルを転送します。
ここでは、仮に「public_html」というディレクトリの中に「cgi-bin」(cgi用)「tmp」(ログデータ用)「icons」(画像ファイル用)というディレクトリを作成して、その中に設置するものとします。

尚、転送モードは全てTEXTとなります。

cgi-binディレクトリに入れるもの
ファイル名 パーミッション コマンド
zhagi3.cgi 705 or 755 chmod 705 zhagi3.cgi
chmod 755 zhagi3.cgi
zhagi3teach.cgi 705 or 755 chmod 705 zhagi3teach.cgi
chmod 755 hpost_admin.cgi
zhagi3.pl 604 or 644 chmod 604 zhagi3.pl
chmod 644 zhagi3.pl
jcode.pl 604 or 644 chmod 604 jcode.pl
chmod 644 jcode.pl

tmpディレクトリに入れるもの
ファイル名 パーミッション コマンド
dict1 604 or 644 chmod 604 dict1
chmod 644 dict1
dict2 604 or 644 chmod 604 dict2
chmod 644 dict2
zhagi3.dat 606 or 666 chmod 606 zhagi3.dat
chmod 666 zhagi3.dat
mkdb.pl 705 or 755 chmod 705 mkdb.pl
chmod 755 mkdb.pl
vacuum.pl 705 or 755 chmod 705 vacuum.pl
chmod 755 vacuum.pl

辞書設置作業
  1. 辞書のフォーマット
    辞書のフォーマットは、下記のようになっています。
    • キーワード%!%答え
    • 複数の答えが有る場合は、キーワード%!%答え1#!#答え2#!#答え3....
    • 入力した人の名前を入れたい場合は、ynameと書く。
    • ynameには、「さん」が自動的につくので、ynameさん、と書いてはいけない。
    キーワードは重複していてはいけません(複数行に同じキーワードがきてたらダメ)。
    同じキーワードが複数ある場合は、(行の)最後に出てきたキーワードに対する答えのみ有効となります。 ぼけ辞書は、従来通り、1行に1つづつお返事を書いていって下さい。
  2. オプション辞書のフォーマット
    オプション辞書のフォーマットは、下記のようになっています。
    • キーワード%!%答え
    • 複数の答えが有る場合は、キーワード%!%答え1#!#答え2#!#答え3....
    • キーワードは、必ず平仮名で書く。(漢字がわからない、間違えた、という場合に対応する為)
    標準のkakasi辞書では専門用語をうまく平仮名に対応出来ない場合がありますので、kakasi辞書の方にも手を加えてやるとよいでしょう。
    例えば、「獣神サンダーライガー」は「じゅうじんさんだーらいがー」と認識されてしまいます。ぶーぶー
    kakasi辞書(kakasidict)のフォーマットは、
    よみ 漢字
    となります。
  3. dbmファイルの作成
    dict1、オプション辞書は、mkdb.plを使ってdbmファイルにします。
    mkdb.plの使い方は、
    perl mkdb.pl 辞書ファイル名
    です。
    dict1を変換するには、tmpディレクトリ内で、
    $ perl mkdb.pl dict1
    とします。
    zhagi3.plは、でき上がったdbmファイルを参照しますので、元のdict1は消しておきます。
    また、テキストファイルからdbmファイルに変換すると、ファイルサイズが2〜4倍になりますので、ディスク容量にも気をつけて下さい。
  4. dbmファイルからの吸い上げ
    dmbファイルは直接テキストエディタ等では読めませんので、辞書のメンテナンスをする場合は、vacuum.plを使ってテキストファイルに変換します。
    vacuum.plの使い方は
    perl vacuum.pl 辞書名
    です。
    dict1.xxxを変換するには、tmpディレクトリ内で、
    $ perl vacuum.pl dict1
    とします。すると、dict1というファイル(もとの辞書と書式は同じ)が出来上がりますので、これを編集して、mkdb.plで再変換して下さい。
kakasi設置作業
kakasiは、辞書への問い合わせを行う時に、漢字片仮名→平仮名変換を行うために使っています。
サーバーにkakasiがない場合は、自分でサーバーにkakasiをインストールする必要があります。

kakasiの作り方についての詳細はhttp://kakasi.namazu.org/を参照下さい。

  • http://kakasi.namazu.org/からソースをダウンロードし、kakasiを設置するサーバーにアップロードします(はじめて設置する場合は、辞書つきのソースを使って下さい)。
  • $ gzcat kakasi-x.x.x.tar.gz | tar xvfz -
    x.x.xの部分はバージョン番号です。2001/10/03現在、kakasi-2.3.4です。
    (標準でgzcat=zcatの場合は、zcat kakasi-x.x.x.tar.gz | tar xvfz -とします。また、tar=GNUtarの場合は、tar xvfz kakasi-x.x.x.tar.gzとします)
    で、kakasi-x.x.x.tar.gzがkakasi-x.x.xディレクトリに展開されます。
  • cd kakasi-x.x.x でkakasiディレクトリ内に移動します。
    辞書を編集する場合は、その中のkakasidictを編集して下さい。
  • ./configure
  • make
  • install
  • $ cd ..
    $ rm -rf ./kakasi-x.x.x
    で不要になったkakasi-x.x.xを消します。

転送及びパーミッションの変更についての詳しい説明は、こちらです。

以上で 「呼びかけが選べる人工無能ものおぼえもよい」 の説明を終わります。
尚、ご質問やご意見などございましたら、
MLへ参加して下さい。

友達に教える。


[back]



Copyright (C) 1999 Web新撰組 All Rights Reserved.