バージョンアップ決定!?
あなたのご要望をお待ちしております。
人工無能 Rev.3.0
友達に教える。
| 人工無能のRev. 3.0です。 |
| 特徴
|
特徴
- dbmを使っていますので何となくかっちょええ気がします。
- 今までの人工無能とは辞書の互換性はありませんが、頑張れば変換可能です。
- オプションで辞書引き機能をつけられます。
まずは、こちらのサンプルをご覧下さい。
(新しいブラウザにて表示されます)
サンプル版には、プロレス辞書p-dic(法林 浩之さん作、VECTORからダウンロードしました)を適当にいじったものを入れています。
〜〜を辞書でひいて、と話しかけると〜〜を辞書でひいてくれます。
漢字はkakasiを使ってひらがなにして検索しますが、難しい漢字は認識しません。
うまく辞書をひけない場合は、獣神サンダーライガー→じゅうしんサンダーライガー、と平仮名にして聞いてあげて下さい。
|
| 必要なファイルや道具
|
まず必要になるのは、EUCコードを扱えるエディターです。
MacintoshならばJeditやNuEdit、Windowsなら秀丸エディターなどといったエディターがお勧めです。雑誌の付録CD等でお探し下さい。これらのエディターは、シェアウエアですので、気に入ったら作者に送金しましょう。下記のファイルをダウンロードして下さい。
- Windowsの場合
- LHA自己解凍ファイルで保存されます。
ダブルクリックで、インストールして下さい。
- Macの場合
- 自己解凍ファイルとして保存されます。
スタッフイットエキスパンダーがあれば、ダブルクリックで自己解凍します。
- UNIXの場合
- tar + compressです。
zcat no38.tar.Z | tar xvf - で解凍して下さい。
|
| ファイル名 |
説 明 |
| zhagi3.cgi |
メインルーチン |
| zhagi3teach.cgi |
教えるCGI |
| zhagi3.pl |
人工無能ライブラリ |
| dict1 |
辞書1 |
| dict2 |
ぼけ辞書 |
| mkdb.pl |
dbmファイル作成スクリプト |
| vacuum.pl |
辞書吸い上げスクリプト |
| zhagi3.dat |
ログファイル |
| jcode.pl |
文字コード変換パッケージ。 |
| 以上のファイルが必要になります。
|
| 設置作業 |
zhagi3.cgi、zhagi3teach.cgiの設定部分を設置するサーバーに合わせて変更します。
変更する部分は、
zhagi3.cgi
- #!/usr/local/bin/perl
- $CgiName (このCGIのファイル名)
- $TeachCgi (教えるCGIファイル名)
- $LogFile (ログファイル名)
- $Dict1 (辞書1)
- $Dict2 (ぼけ辞書)
- $HomeUrl (ホームページのURL)
- $Kakasi (kakasiのパスオプション辞書を使わない場合は不要)
- $OptionDict (オプション辞書。使わない場合はこの行を消す)
- $MaxWrite (最大書き込み数-3)
zhagi3teach.cgi
- $CgiName (このCGIのファイル名)
- $ZhagiCgi (チャットCGIファイル名)
- $LogFile (ログファイル名)
- $Dict1 (辞書1)
- $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#!#答え2#!#答え3....
- 入力した人の名前を入れたい場合は、ynameと書く。
- ynameには、「さん」が自動的につくので、ynameさん、と書いてはいけない。
キーワードは重複していてはいけません(複数行に同じキーワードがきてたらダメ)。
同じキーワードが複数ある場合は、(行の)最後に出てきたキーワードに対する答えのみ有効となります。
ぼけ辞書は、従来通り、1行に1つづつお返事を書いていって下さい。
- オプション辞書のフォーマット
オプション辞書のフォーマットは、下記のようになっています。
- キーワード%!%答え
- 複数の答えが有る場合は、キーワード%!%答え1#!#答え2#!#答え3....
- キーワードは、必ず平仮名で書く。(漢字がわからない、間違えた、という場合に対応する為)
標準のkakasi辞書では専門用語をうまく平仮名に対応出来ない場合がありますので、kakasi辞書の方にも手を加えてやるとよいでしょう。
kakasi辞書(kakasidict)のフォーマットは、
よみ 漢字
となります。
- dbmファイルの作成
dict1、オプション辞書は、mkdb.plを使ってdbmファイルにします。
mkdb.plの使い方は、
- perl mkdb.pl 辞書ファイル名
です。
dict1を変換するには、tmpディレクトリ内で、
- $ perl mkdb.pl dict1
とします。
zhagi3.plは、でき上がったdbmファイルを参照しますので、元のdict1は消しておきます。
また、テキストファイルからdbmファイルに変換すると、ファイルサイズが2〜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の作り方
- kakasi-2.2.5.tar.gz(kakasi本体)
kakasidict.940620.gz(kakasi辞書)
をダウンロードします。
- この2つをサーバーの適当なディレクトリ内に転送します。
- $ gzcat kakasi-2.2.5.tar.gz | tar xvfz -
(標準でgzcat=zcatの場合は、zcat kakasi-2.2.5.tar.gz | tar xvfz -とします。また、tar=GNUtarの場合は、tar xvfz kakasi-2.2.5.tar.gzとします)
で、kakasi-2.2.5.tar.gzがkakasi-2.2.5ディレクトリに展開されます。
- $ gunzip kakasidict.940620.gz
でkakasidict.940620.gzが展開されkakasidict.940620ファイルができ上がります。
- $ mv kakasidict.940620 kakasi-2.2.5/src/kakasidict
で、kakasidict.940620をkakasi-2.2.5ディレクトリ内のsrcディレクトリにkakasidictという名前にして入れます。
- kakasi-2.2.5/src/Makefileの
- PREFIX=/usr/local
をインストールしたいディレクトリに変更します。例えば、ホームディレクトリが/home/kappaだったとして、その下のlocalディレクトリ内にインストールしたい場合は、
- PREFIX=/home/kappa/local
としておきます。
- インストール先ディレクトリを作ります。/home/kappa/localにインストールする場合は、
- $ mkdir /home/kappa/local
- $ mkdir /home/kappa/local/bin /home/kappa/local/lib
- $ mkdir /home/kappa/local/lib/kakasi
とします。
- $ cd kakasi-2.2.5/src
でkakasi-2.2.5/srcディレクトリ内に入ります。
- $ make
$ make install
でkakasiをインストールします。
- $ cd ../..
$ rm -rf ./kakasi-2.2.5
で不要になったkakasi-2.2.5を消します。
|
| 転送及びパーミッションの変更についての詳しい説明は、こちらです。
以上で 「人工無能 Rev.3.0」
の説明を終わります。
尚、ご質問やご意見などございましたら、MLへ参加して下さい。
|
友達に教える。
![[back]](../../../gif/back.gif)
Copyright (C) 1999 Web新撰組 All Rights Reserved.