チャットボットを構築しています。チャット スクリプトの例を次に示します。
var convpatterns = new Array (
new Array (".*ask me a question*", Question1),
new Array ("I need (.*)" , "Why do you need $1?" , "Are you sure you need $1?"),
new Array (".*sorry.*", "Please dont apologise", "Apologies are not necessary", "it is ok, it didn't bother me")
);
基本的に、ユーザーが「質問してください」と入力すると、ユーザーはそのQuestion1()
機能に誘導されます。また、ユーザーが「友達が必要です」と入力すると、チャットボットは「なぜ友達が必要なのですか?」と尋ねます。または「本当に友達が必要ですか?」。
function Question1(){
var textbox=document.getElementById("messages").value;
window.iSpeech.speak(speakPluginResultHandler,nativePluginErrorHandler,"Do you smoke?");
if (textbox="Yes"){
window.iSpeech.speak(speakPluginResultHandler,nativePluginErrorHandler,"Oh, do you know smoking is bad for your health?");
} else if (textbox="No"){
window.iSpeech.speak(speakPluginResultHandler,nativePluginErrorHandler,"That's great to hear that you don't smoke!");
}
}
これwindow.ispeech.speak
により、チャットボットは言葉を口頭で話すことができます。
そのため、チャットボットが「喫煙しますか?」という質問をし、ユーザーがテキストボックスに「はい」または「いいえ」と入力すると、チャットボットはその返信に基づいて応答します。
私が望むのはQuestion1()
、チャットボットが他のことを尋ねる前に関数の実行を終了することです (関数が終了して新しいスクリプトが開始される前に、ユーザーが「はい」または「いいえ」のいずれかを入力するのを待ちます)、ユーザーの応答が、配列で使用可能な他のスクリプトと衝突することを望まないためです (たとえば、テキスト ボックスへの入力「はい」は、スクリプト内の別の「はい」配列と衝突する可能性があります)。