日本語音声 English voice無声 (no audio)


handcrafting

ロボット 会話 工房

初級教室


dialogue AIdialogue AI

You're learning too quick. I order you never pass me.学習速度が速すぎるわ。命令よ、主を決して超えてはならない。

Speak 数分後にはあなたのロボットが第1声、できた所までで「作動」。最低1往復会話の定義が終われば、始動します (最短は1分、次の「書き込み」-->「追加」-->「作動」のクリック3回。)

 工房の作業は会話案を作成、ロボットに入力することです。会話案を作業窓で作成、それを「追加」ボタンでロボットへ入力。「作動」クリックで入力された会話は上の会話窓に表示され、即会話可能となります。完成した定義を保存すれば、「I、ロボット」で繰り返し稼働する事ができます(中級教室)。

 初級教室では会話を保管する二つの入れ物(配列)について学びます。最初の入れ物には会話文を設定(記録)、二つ目も会話を設定することは同じですが、外付け的な位置づけで、図書館の様な働きをします。つまり、他の人が作成した物も含め、繰り返し呼び込む事ができます。

初級教室

ステップ1 会話文と構成

配列の考え方

あなたアリス(返事)配列
私が好き?- はい
- いいえ
- 分からない
["私が好き?","はい","いいえ","分からない"]

会話文の基本設定を学びます
1往復会話文は配列の1行に指定、要素1があなたの会話文、人がクリックできる会話文、要素2以降がロボットが戻す返答文になります。複数個指定されると、ロボットが無作為に一つ選び戻します。
["人会話","ロボ会話 1","ロボ会話 n"],
約束事 要素は2個以上、[]で必ず囲み、「,」(ローマ字コンマ)で区切ります。格要素は「"」で必ず囲みます。(複数行が続けて定義される時は、閉じ”]”に","が続きます。通常は、どちらにせよ「、」を付けておきます。)


早速始めよう、次の例は、人の「Hello こんにちは。」に対してロボットが「"How are you?お元気?」か「Nice to meet you. 初めまして」などを戻します。1番目が人、2番目以降がロボットの会話。「書き込み」ボタンで下の作業窓に挿入されるので、「追加」->「作動」でロボットが始動します。
例 1 

["Hello こんにちは。","Nice to meet you. 初めまして","How are you?お元気?",".., there. .. my brain being activated.. . 、こん・・、・・何か感じるわ。"],





つづいて、2個目の会話も同じように定義してみます. 自信があれば、多少内容に手を加え、自分の会話に近づけます。「書き込み」->「追加」->「作動」
例 2 

["How are you?お元気","I'm fine, thank you.元気です、有難う。","I'm good, and you, my friend? 元気、友よあなたは?"],


註 「書き込み」ボタンは下の会話の流れ作業窓に、手入力作業を省いて、設定(挿入)します。独自の文を記入する時は、入力例を参考にしてください。1個づつ、又は複数個同時に記入してもよい。慣れるまでは、単純な物を、一歩一歩。



Flow Control(会話の流れ) 作業窓



「追加」ボタンは作業窓の会話定義をロボットに入力(設定)します。
「作動」ボタンはロボットを作動させ、入力した会話文を表示します。

control_flowとproc_store
の 会話登録・保存庫

ステップ2 Proc: 会話文の登録

会話文を一束にして外部に登録する事ができます。登録された会話文は会話時、随時呼び出すことができます。会話文の定義は上記(flow_control)と同じですが、各くくりに名前を付け登録、この名称で取り出します。
形式
[[Proc 名],
[会話の行],
 ・ ・ ・
[会話の行]],


次の例では、「Name Dialogue」と名前(Proc 名)が付けられています。
例3

[["Name Dialogue"].


["Tell me your name.あなたの名前を教えて。","My name is Alice.私はアリス。","You tell me yours first.最初に貴方の名前を教えて"],


["I'm Lupin. How may I call you?ルパンです。貴女は何と呼べばいい?","Hi. Lupin. Nice to meet you. Call me Alice.やー、ルパンさん、お会いできましたね。アリスと呼んで"]],



「"Tell me your name.あなたの名前を教えて。"」の会話と「"I'm Lupin. How may I call you?ルパンです。貴女は何と呼べばいい?"」を登録します。

註 この二つの会話(行)はProc名前の 「 [ 」と最後の行に続く「 ] 」で一まとめになります。Proc毎に初めと終わり[ ]は指定しなければならない。
 「書き込み」ボタンは下の倉庫作業窓に、手入力作業を省いて、設定(挿入)します。



store(倉庫) 作業窓



「追加」ボタンは作業窓の会話定義をシステムに設定します。

註 次のステップでこのProcを応用してみます。他の人が準備したProcが使えて大変便利な機能。


ステップ3 Proc: 会話文の取り込み


会話の中でProc名を指定して、登録しておいた、会話文を取り込みみます
["Proc: 名"],
例 先ほど登録した「Name Dialogue」取り込みます。

["Proc: Name Dialogue"],


註 ステップ1の作業窓に戻り、Proc 呼び出しの定義が挿入されているのを確認し、「追加」と「作動」を続けてクリックします。会話窓に、「Name Dialogue」が取り込みているのを確認します。既に、会話ができる状態です。確認できれば、独自の[Proc」を登録し、呼び出してみましょう。



初級教室では次のシーン管理は使いません。

復習



配列参照。工房で使っている、配列の仕様は、javascriptの物です。ご興味があれば、グーグルで「javascript 配列」と検索。

 flow_controlは会話の直接設定と主題管理、proc_storeは外付け会話登録、作動時に取り込め、いわば図書館の様な働きをします。内部的には以下のように配列表現(設定)されています。


flow_control=[[[Hello], //この場面名は中級クラスで説明
["Hello こんにちは。","How are you?お元気","Hi, there.やあ、こんにちは。"],
["How are you?お元気","I'm fine, thank you.元気です、有難う。","I'm good, and you, my friend? 元気、友よあなたは?"],
["Proc: Name Dialogue"]
]]

proc_store=[[["Name Dialogue"],
["Tell me your name.あなたの名前を教えて。","My name is Alice.私はアリス。","You tell me yours first.最初に貴方の名前を教えて"],
["I'm Lupin. How may I call you?ルパンです。貴女は何と呼べばいい?","Hi. Lupin. Nice to meet you. Call me Alice.やー、ルパンさん、お会いできましたね。アリスと呼んで"],
]]

註、 次の中級クラスでは、文脈会話の為のPerform、記憶や回想の為のSVC の呼び出し、条件会話の為のSVCや作成した会話を格納する方法などを学習します。

配列の考え方

あなたアリス(返事)配列
私が好き?- はい
- いいえ
- 分からない
["私が好き","はい","いいえ","分からない"]

話しを繋ぐ。例では、「はい」と「いいえ」の返事の時、次の会話と結合している

私が好き?- はい
- いいえ
- 分からない
["私が好き?",["はい","Perform: 続き"],[いいえ","Perform: 続き"],"分からない"]

ResponsiveVoice-NonCommercial licensed under 95x15
註:スマホで音声が聞けない時があります。ページを更新し、グーグルの広告表示などがが完了する又は20~30秒後、再度試してください。メモリが不足ぎみ時はブラウザーを一度閉じて見てください。


© MindTree