NAOqi ダイアログ機能
NAOqi 2.1 にダイアログという機能があります。
こう聞こえたら、こう答えて、次にこう質問して、その質問がこうだったら次にこうするみたいな感じで NAO や Pepper の動き方を定義できるというものです。
Aldebaran の CEO ブルーノ・メゾニエのプレゼントを聞いているとダイアログというキーワードが何度か出てくるんですが、多分にこれのことを言っているのかなと。
ざっくりどんな感じで定義するのかというと
まず、相手から言われる言葉をグループ化して定義します。たとえば Yes というグループで「はい」、「いいね」、「そうしよう」。 hello というグループで「こんにちは」、「おはよう」、「どうも」といった具合。定義ファイルにはこんな感じで記述します。
concept:(yes) [はい そうですね 賛成です そうしましょう ぜひ ぜひぜひ] concept:(no) [いいえ いやです やめときます またこんど いまはいいです] concept:(how) [げんきですか ちょうしどう げんき] concept:(hello) [こんにちは おはよう どうも]
そして、それぞれのキーワードを聞いたときに何をするかを定義。たとえば hello で定義されたキーワードを聞いた時、あいさつのジェスチャーをして「こんにちは」と返事をし、次に howAreYou の処理に移動するというのはこんな感じで書きます
u:(~hello) ^start(animations/Stand/Gestures/Hey_1) こんにちは ^wait(animations/Stand/Gestures/Hey_1) ^goto(howAreYou)
ここで howAreYou の処理はこんな感じで記述。ここでは、質問を尋ねるジェスチャーをして、「調子はどうですか」と質問、その結果を受けて処理を切り替えています。(~happy) (~sad), (~repeat)は (yes),(no), (hello) 同様 (happy), (sad), (repeat) としてあらかじめキーワードを登録しておきます。
proposal: %howAreYou ^startTag(show) 調子はどうですか? u1:(~happy) よかったです! ^goto(favoriteColor) u1:(~sad) ざんねんです ^nextProposal u1:(~repeat) もう一回いってください ^sameProposal
一連の操作は Choregraphe で行えます。ダイアログ機能は一つのボックスとして処理されるので、他の機能との連携も簡単です。