サンプル利用、ダウンロードする前に
人工無能マスオは、データを工夫する事で、より人間らしい人工無能にすることが可能です。
サンプルで利用できるデータおよびダウンロードできるデータは、比較的単純なものであり、人工無能カツオとあまり変わりません。
Ver.1.61beta ダウンロード(37KByte)
設置サンプル(人工無能マスオ Ver.1.61を組み込んだチャット)
同梱のテストスクリプト(1対1チャットでログは残りません)
人工無能マスオとは、人工無能のエンジンの名称であり、キャラクター名ではありません。
masuo.plは、チャット、掲示板等のCGIから呼び出して使用する、人工無能スクリプトです。
あくまで組み込んで使うためのスクリプトなので、これ単体ではあまり意味を持ちません。
従って、ある程度perlを理解している方向けとなります。
キーに正規表現が使用可能になっています。
また、肝心なのはデータです。添付されているmasuo.datは、あくまでおまけですので、あなたがより人間的なデータを作成することによって、人工無能マスオの真価が発揮されます。
→データ形式
各機能の詳細については→マスオ仕様
ソケットの使用できる環境では、他のサイトの情報の一部をデータとする事が出来ます。
詳しくは「マスオ仕様」をご覧ください。
あおかわ★なぎささんが公開されている「人工無能ARISA」からアイデアを頂きました。人工無能の前回の発言を記憶しておく事により、ある程度会話の流れを制御できるようになりました。この機能をうまく利用すれば、簡単な心理テストを人工無能にやらせることもできますし、データを工夫すればアドベンチャーゲームのようなものも作れます。→データ形式
データの詳しい形式については、圧縮ファイルに含まれているformat.txtをご覧ください。
format.txtの説明は非常にわかりにくくなっています。疑問がありましたら、サポート掲示板で気軽にお尋ね下さい。
人工無能マスオは、人工無能カツオの処理を見直し、パッケージ化したものです。
応答処理はほぼ同じですが、データファイルにインクルード等が可能になり、また、データ読み込みと応答の処理を別々に呼び出し可能になったため、同じスクリプトから複数回呼び出す際に、データの読み込み回数が1度で済むようになりました。
データファイルについては以下の表をご覧ください。
| カツオ用データ | マスオ用データ | |
|---|---|---|
| 人工無能カツオ | ○ | △ |
| 人工無能マスオ | ○ | ○ |
| masuo.pl | 人工無能マスオ本体 |
| get_news.pl | ニュース取得モジュール(Ver.1.40以降) |
| masuo.dat | 単語データファイル(女言葉) |
| base.dat | 基本品詞データファイル |
| res.dat | 応答データファイル |
| rep.dat | 自動学習変換データファイル |
| uranai.dat | おみくじデータファイル |
| news.dat | ニュースデータファイル |
| dult.dat | エッチなデータファイル |
| resadult.dat | エッチな応答データファイル |
| study.dat | 教育データファイル(空ファイル) |
| cache.dat | キャッシュファイル(空ファイル) |
| masuo1.cgi | チャット風テストスクリプト |
| format.txt | データ形式についての簡単な説明 |
cgi-bin/
+--masuo/[777]
|
+-- masuo1.cgi [755]
|
+-- masuo.pl [644]
|
+-- jcode.pl [644]
|
+-- masuo.dat [644]
|
+-- base.dat [644]
|
+-- res.dat [666]
|
+-- uranai.dat [644]
|
+-- cache.dat [666]
|
+-- rep.dat [644]
|
+-- adult.dat [644] アダルト辞書1(任意)
|
+-- resadult.dat[644] アダルト辞書2(任意)
注1)masuo1.cgiの日本語コードはShift_JIS、それ以外のファイルはEUC-JPで編集、アップロードしてください。
注2)masuo1.cgiでは学習機能はサポートされていませんが、自動学習機能はサポートしています。
masuo***.lzhに同梱のmasuo.datというデータファイルは「わかめ」というキャラクターを想定しています。
base.datは、基本的な名詞、形容詞、等が記述されており、人格に影響しません。
base.dat以外を書き換える事で、別の人格に変更することができます。
01|@{旅},そういえば、わたし今度旅行に行こうと思ってるの。//F旅000001
02|@{(俺|僕|いっしょ|一緒|私|わたし|おれ|オレ|ボク|ぼく)~F旅000001},嫌だよ(笑),ほんと?うれし〜//F旅000003
03|@{.+~F旅000001},#1({T場所詞})と#2({T場所詞})ならどっちがいいかなぁ?//F旅000002,でも相手がいないのよね(^^;//F旅000004
04|@{.+~F旅000002},って、実はもう#1({reply1})に行くって決めてるんだけどね。//F旅000003,って、実はもう#1({reply2})に行くって決めてるんだけどね。//F旅000003
05|@{(誰|だれ)~F旅00000(1|2|3)},ふふふ。内緒〜。//F旅000004,これは内緒なんだけど、実は。。。//F旅000007
06|@{.+~F旅000003},あー、楽しみだなぁ。。。{reply1}。。。//F旅000004
07|@{.+~F旅000004},{name}はどこか行かないの?例えば#1({T場所詞})とか。//F旅000005
08|@{(なんで|行かない|嫌|いかない|いや|イヤ)~F旅000005},いいと思うけどな〜。{reply1}//F旅000006
09|@{.+~F旅000005},そうだよね。{reply1}っていいよね。//F旅000006
10|@{.+~F旅000007},{T男}と行くの〜(*^-^*)//F旅000006
01|@{旅},そういえば、わたし今度旅行に行こうと思ってるの。//F旅000001
この記述によりくわ>旅行でも行きたいなー わかめ>そういえば、わたし今度旅行に行こうと思ってるの。というように、 元発言内に 「旅」 という文字が含まれている場合、
02|@{(俺|僕|いっしょ|一緒|私|わたし|おれ|オレ|ボク|ぼく)~F旅000001},嫌だよ(笑),ほんと?うれし〜//F旅000003
03|@{.+~F旅000001},#1({T場所詞})と#2({T場所詞})ならどっちがいいかなぁ?//F旅000002,でも相手がいないのよね(^^;//F旅000004
データが複雑に見えるでしょうか。2行目の記述では、なにやらキーにあたる部分が長くなっています。くわ>旅っていいよね わかめ>そういえば、わたし今度旅行に行こうと思ってるの。 くわ>一緒に行こうよという会話がなされた場合、「一緒」が通常キーに、人工無能が記憶しているF旅000001が前発言キーに、それぞれヒットします。結果として、
くわ>一緒に行こうよ わかめ>嫌だよ(笑)もしくは
くわ>一緒に行こうよ わかめ>ほんと?うれし〜という返信になります。
わかめ>そういえば、わたし今度旅行に行こうと思ってるの。 くわ>へー わかめ>でも相手がいないのよね(^^;となり、人工無能は//F旅000003を記憶。 もしくは、
わかめ>そういえば、わたし今度旅行に行こうと思ってるの。 くわ>へー わかめ>シドニーとインドならどっちがいいかなぁ?となり、人工無能は//F旅000004を記憶します。
04|@{.+~F旅000002},って、実はもう#1({reply1})に行くって決めてるんだけどね。//F旅000003,って、実はもう#1({reply2})に行くって決めてるんだけどね。//F旅000003
というデータにより、
くわ>へー わかめ>シドニーとインドならどっちがいいかなぁ? くわ>俺はインドの方がいいな わかめ>って、実はもうシドニーに行くって決めてるんだけどね。もしくは
くわ>へー わかめ>シドニーとインドならどっちがいいかなぁ? くわ>俺はインドの方がいいな わかめ>って、実はもうインドに行くって決めてるんだけどね。というような会話ができます。
| 2002.07.20 | Ver.1.61beta | サイト移転に伴うURL等の変更。 |
| 2001.10.24 | Ver.1.60beta |
キー内単語検索機能追加。 キーの先頭が"T"の場合はキャッシュ検索をしないよう修正。 |
| 2001.09.15 | Ver.1.54beta3 |
news.datがShift-JISで保存されていたのをEUCに変更。 内容に変更はありません。 |
| 2001.09.12 | Ver.1.54beta2 |
Yahoo!ニュースのリニューアルに伴い、ソケットインクルード定義を変更。 ソケットインクルード定義部分はnews.datに分割しました。 masuo.plに変更はありません。 |
| 2001.08.06 | Ver.1.54beta | 細かな修正。 |
| 2001.08.06 | Ver.1.53beta | 一部の環境で暴走する不具合を修正。 |
| 2001.06.30 | Ver.1.50beta | 自動学習時の置換機能を追加。 |
| 2001.06.09 | Ver.1.41beta | 1.40bで応答がコメントのみの場合にコメントを返してしまっていたのを修正。 |
| 2001.06.09 | Ver.1.40beta | get_news.plに対応。ソケットを利用してインターネット上の情報をデータとして利用可能に。 |
| 2001.06.07 | Ver.1.30 |
wordsの扱いを修正。バージョンを非表示。 忘却処理を修正。自動学習機能を追加。 キーから単語の取得{inword*}を追加。 |
| 2001.06.04 | Ver.1.29 |
教育機能が動作していなかったのを修正。 クッキーの有効期間を1日に変更。 チャット風テストスクリプトを同梱。 |
| 2001.06.01 | Ver.1.27 | インクルードファイルパス関係のバグ修正。 |
| 2001.05.31 | Ver.1.25 |
{1to100}等の数値変換が無効になっていたのを修正。 著作権表示からリンクするよう修正。 キャッシュ処理を修正。 外部列挙データの再読込関数を追加。 データファイル内の外部ファイル指定で その他バグ修正。 |
| 2001.05.30 | Ver.1.22 |
単語列挙ファイルのインクルードで同一キーへの複数ファイルインクルードを可能に。 過去発言参照時、クッキーとキャッシュの両方を検索。 |
| 2001.05.29 | Ver.1.20beta |
あおかわ★なぎささんの人工無能ARISAのアイデアを頂き、過去発言参照機能を搭載。より人間らしくふるまうことが可能に。 正規表現に対応。 |
| 2001.05.24 | Ver.1.00beta | 人工無能カツオをリライト。大幅な効率アップ。 |