Pepperとの会話:Dialogの変数による聞き取り精度について


Pepperとの会話のやり取りの中で情報を収集をするためにChoregrapheでのDialogBOXにて実装を試みました。しかしこのとき、Pepperの”一般販売モデル”と”Pepper for Biz”での挙動の違いがあることに気づき内容をまとめてみました。

実施内容

ChoregrapheのDialogボックスで人がしゃべりかけた内容をPepperがオウム返しするアプリを作りました。

実装したPepper

  1. Pepper for Biz(NAOqi 2.4.3.28)
  2. 一般販売モデル(NAOqi 2.4.3.28)

Choregrapheで作成した会話のやりとり


topic: ~x_test()
language: jpj

u:(_*)%開始 繰り返します。$1 ですか?
 u1:(はい)  ありがとう、確認しました。$onStopped=1
 u1:(いいえ)^goto(開始) もう一度、お願いします。 
(想定する会話)

人間:今日はいい天気ですね
Pepper:繰り返します。今日はいい天気ですねですか?
人間:いいえ
Pepper:もう一度、お願いします。
人間:隣の客はよく柿食う客だ
Pepper:繰り返します。隣の客はよく柿食う客だですか?
人間:はい
Pepper:ありがとう、確認しました。

実施結果

1. Pepper for Biz

Choregrapheのダイアログウインドウより

人間:<...> (48.06%)
人間:今日はいい天気ですね (92.625%)
ロボット:繰り返します。今日はいい天気ですねですか ?
人間:<...> いいえ <...> (69.26%)
ロボット:もう一度、 お願いします 。
人間:<...> (47.92%)
人間:隣の客はよく柿食う客だ (95.1778%)
ロボット:繰り返します。隣の客はよく柿食う客だですか ?
人間:<...> はい <...> (74.21%)
ロボット:ありがとう、確認しました 。

2. 一般販売モデル

Choregrapheのダイアログウインドウより

人間:<...> (47.97%)  ←「今日はいい天気ですね」と言う
人間:<...> (47.92%)  ←「今日はいい天気ですね」と言う
人間:<...> (48.21%)  ←「山」と言う
人間:ダイアログから入力しました (100%)  ←Choregrapheより入力
ロボット:繰り返します。ダイアログから入力しましたですか ?
人間:はい (100%)  ←Choregrapheより入力
ロボット:ありがとう、確認しました 。

Pepper for Bizでは、想定通りの会話を行うことができました。

しかし、一般販売モデルでは、期待する結果は得られませんでした。
ここで一般販売モデルのPepperとのやりとりを解説します。

まず、私は「今日はいい天気ですね」と話かけました。
するとPepperは、ブルーの目のままピポッ!っと音を鳴らし反応しません。
さらにもう一度、「今日はいい天気ですね」と話しかけました。
同様に反応しません。そこで私はもっと短い言葉「山」、「海」と話しかけましたが変わらず反応しませんでした。
今度は、Choregrapheのダイアログウインドウから直接「ダイアログから入力しました」と入力すると、Pepperはその言葉を受け取り反応を返してきました。再びChoregrapheから「はい」と答え会話は終了しました。

まとめ

今回はPepperとの会話の中で名前を聞き出し、Pepperに名前を呼ばせるという単純なアプリを作ろうとしていました。一般販売モデルも発売当初に、いろいろなサンプルアプリを試していたときには、これらの会話も普通にできていたように記憶しています。
一般販売モデルでも普通に会話(言葉)を聞き取れるようにできないものでしょうか?
どなたか解決策をご存じの方、また、Pepper for Bizは大丈夫な仕様であると言い切れるのか?何か情報をお持ちの方は教えていただけると助かります。