では実際に名前を聞き出すプロセスを勉強しながら構築していくことを考えてみる
いままでは「Fee」と「会話する客」の2名が登場人物だったが、もう一人「マスター」を参加させよう
(このためにjavascriptを変更して、talk側の入力をマスターの言葉にする)
まず最初に挨拶くらいは自動的にさせよう
次に何をしていいのかわからないFeeが「マスター…?」と問う
これにマスター(教師)から「お客様のお名前を聞きなさい」と「指令」がくる
この指令の一般化は「XXをしなさい」となるので、例えば「しなさい(EOF)」を検索語にして指令を判断できるだろう
Snack Virtualでは話すこと以外はないので、「聞く」「答える」「話す」くらいの動詞を登録しておけば当面問題ないだろう
これに応えてFeeはマスターに「はい」と返事をさせ、
次に客に「お客様のお名前をお聞きしていいですか?」と問わせる
「聞きなさい」を「お聞きしていいですか?」に変換するのは
動詞を「おXXしていいですか?」のXXに入れればいいだろう
この問いかけを記憶させる必要があるので、シーケンスの中に割り込ませる追記をする
この質問に対してNo判定をする文言が返ってきた場合、再びマスターに指示を仰ぐ
「マスター…?」という文言を言わせる
これに対してマスターが「そんなこと言わないで、教えてくださいって聞きなさい」と答える
「XXXXXXって聞きなさい」がキーワードとなり、XXXXXXXはそのままコピーされてFeeが客に問う
Fee:「そんなこと言わないで、教えてください」
この応答も記憶させる
こんな感じで学習させられるかな…
まとめると
処理が滞った場合、教師に助けを求める
教師は指示を出して手助けする
指示を出したことを記憶する
Comments