StoryGraphEditor 3「Botと会話する」

この記事では、「Bot3D StoryGraphEditor」のテンプレート【チャットテンプレ】Botと会話するを使います。
Botの質問に対して、音声認識やボタンで回答して、Botと会話してみましょう。

この記事のサンプル

「Bot3D StoryGraphEditor」ではいろいろな便利な機能をシンプルに使えるように、様々なテンプレートが用意してあります。
画面左上の「テンプレートから作成」を押します。 テンプレートが表示されるので、【チャットテンプレ】Botと会話するをクリックして開きます。 ことばの説明:このテンプレートの説明では以下のことばを使います。
  1. 会話ボックス:
    このグレー地の箱は、アクションをひとまとめにするものです。アクションとは、「Botにさせること」です。いろいろなことをさせることができます。
  2. "ユーザーが音声認識で選択"アクション:
    "ユーザーが音声認識で選択"と書いてある、この黄色の箱(アクション)は、音声認識による回答の際の選択肢を設定できます。
  3. "ボタン選択"アクション:
    "ボタン選択"と書いてある、この黄色の箱(アクション)は、ボタンによる回答の際の選択肢を設定できます。

基本操作のおさらい

簡単に基本操作のおさらいをしましょう。
テンプレートをカスタマイズするときに一番重要なのは、9番の、ストーリーのいちばん最後の会話ボックス「終了ボックス」につなげることです!

質問に音声認識で回答させる

それではテンプレート【チャットテンプレ】Botと会話するを開いて一度保存し、どんなふうに「Bot3D Player」で再生されるか、一度見てみましょう。
「Bot3D Player」で再生してみたい場合は、一度保存し、StoryGraphEditor クイックヘルプ:Bot3DPlayerで見る方法をご覧いただき、再生してください。

Botの質問に対して異なる回答をすると、回答に続くBotとの会話が変わりました。
「Bot3D StoryGraphEditor」上でどうなっているか見てみましょう。
  1. 音声認識選択肢と書いてある会話ボックスの中の"ユーザーが音声認識で選択"アクションが再生されると、「Bot3D Player」側ではマイク入力ができるようになり、ユーザーの音声をうけつけます。
    音声入力した結果を"ユーザーが音声認識で選択"アクションで設定されている条件で判定します。
  2. 音声認識の判定が選択肢に設定されている条件に一致すれば、その選択肢に紐づけられた会話ボックスへ分岐します。
  3. 音声認識を利用する場合、選択肢に設定されているどの条件にも該当しなかった場合の分岐もあらかじめ用意されています。
選択肢の増やし方や、選択肢に設定する条件ついて確認してみましょう。
音声認識選択肢と書いてある会話ボックスの中の"ユーザーが音声認識で選択"アクションをクリックすると、画面下部にエディタが表示されます。 具体的な設定はエディタから行います。
  1. 選択肢を追加から、選択肢の名前を決めて追加します。
  2. タブ表示されているそれぞれが、回答させる際の選択肢です(オプションを除く)。
    選択肢を削除したい場合は、タブ上の「×印」を押します。
  3. マッチワードに、音声認識に判定させる言葉を設定します。
    マッチワードをカンマ区切りで複数追加すると、相手の様々な回答に対して判定精度を高めることができます。
    ユーザーは音声認識でマイクに自由に発話するため、「犬」という答えでも「わんわん」や「わんこ」など様々な言い方をされる場合があります。
    ある程度そういった類義語を想定して複数のマッチワードを登録しておくと、スムーズな会話が実現できます。
    (マッチワードは部分一致です。「犬」を登録すれば「子犬」も判定されます)
  4. 「保存」ボタンを押して、変更を確定します。

実際に選択肢を増やしてみましょう。
好きな動物についての質問をしているので、「鳥」という選択肢を追加し、回答に合わせた会話をしてみます。
  1. 音声認識選択肢と書いてある会話ボックスの中の"ユーザーが音声認識で選択"アクションをクリックしてエディタを開きます
  2. エディタの選択肢を追加から、名前に「鳥」と入力して、追加します
  3. 「鳥」というタブが作成されます
  4. マッチワードに「鳥」と判別させたい言葉を入力します
  5. 「保存」ボタンを押します
  6. 選択肢に「鳥」が追加されました
選択肢を増やしたので、その選択肢に合わせた会話を用意します。
手近な会話ボックス作成ボタンを押して、会話ボックスを作ります。 会話ボックスの"Botのセリフ"アクションに「鳥」と判別した際に返すセリフを書いて、選択肢のコネクタと線でつなぎます。
作成した会話ボックスの出口のコネクタからも、次の会話ボックスへとつなぎます。
保存して再生すると、ちゃんと「鳥」というユーザーの入力に反応しましたね!
変更前では、選択肢に設定されているどの条件にも該当しないので、「他の動物が好きなんですね」という会話をしていました。

質問にボタンで回答させる

続いて、質問にボタンで回答させてみましょう。
「Bot3D Player」で再生すると、「どんな食べ物が好きですか?」と聞いたあとに、ボタンによる選択肢を表示されました。
このように、音声認識とは異なり、ボタンを表示させて回答を受け付けることもできます。
同様に「Bot3D StoryGraphEditor」上でどうなっているか見てみましょう。
ボタン選択肢と書いてある会話ボックスの中の"ボタン選択"アクションをクリックすると、画面下にエディタが表示されます。 ボタンを追加の項目に入力した名前がボタン名として表示されます。
選択肢は、前述の「質問に音声認識で回答させる」と同様に追加・削除します。

音声認識による回答をボタンでもサポートする

例えば電車の中など音声認識が使いづらい場所ってありますよね。
そんなシチュエーションでも回答できるように、音声認識でもボタンでも答えられるようにすることができます。

「Bot3D Player」でこの部分を再生すると、マイクボタンがアクティブになるほか、ボタンも表示され、どちらでも答えられるようになっています。
設定方法を確認してみます。
音声認識でボタンも表示と書いてある会話ボックスの中の"ユーザーが音声認識で選択"アクションをクリックすると、画面下にエディタが表示されます。 「オプション」タブから表示オプション「常に選択肢表示」を選ぶことで、音声認識による回答をボタンも表示することでサポートすることができます。
選択肢の作り方は、前述の 「質問に音声認識で回答させる」と同様です。

質問に英語で回答させる

音声認識は、通常日本語で判定されますが、英語に対応するように変更することができます。
「Bot3D Player」でストーリーのこの部分を再生してみると、helloという英語発音による入力に反応しましたね。
これを利用すると、英語対応のコンテンツが作れる他、英語が正しく発音できているか?をチェックするような英語教育コンテンツを作ることもできます。
その設定方法について確認してみましょう。
英語で音声認識と書いてある会話ボックスの中の"ユーザーが音声認識で選択"アクションをクリックします。
「オプション」タブから入力言語「英語」を選びます。 マッチワードは英語で入力します。 選択肢の作り方は、前述の 「質問に音声認識で回答させる」と同様です。

"ユーザーが音声認識で選択"アクション"ボタン選択"アクションを使って、インタラクティブなストーリーを作ってみてくださいね!