Pepperとの会話

      2017/10/15

Pepperと会話するアプリを作るには、「Speech Reco.」ボックスと 「Say」系ボックス を組み 合わせるか、 「Dialog」ボックスを利用します。

■「Speech Reco.」ボックスと 「Say」系ボックス を組み 合わせ

2015-09-16_140347

Speech Reco.」ボックスは音声認識処理を実装するボックス。

通常、「Switch Case」ボックスと結線して使用する。

「Speech Reco.」ボックスの設定で音声の認識率を設定できる。

認識率を高く設定すると聞き取り憎くなり、低くすると間違った言葉にも反応してしまう。

認識率40%ぐらいが良い感じ。

Pepperが聞き取った言葉はChoregrapheのダイアログで確認できる。
(ダイアログで人の言葉も入力できる)

Say系ボックスは文字を読み上げるボックス(Say, Text Say, Animated Say)

声の高さ:130、スピード:110が推奨値

「Say Text」ボックス:「Text Edit」ボックスなどと組み合わせて使用する。

「Say」ボックス:「Localized Text」ボックスと「Say Text」ボックスで構成。

「Animated Say」ボックス:「Localized Text」ボックスと「Animated Say Text」ボックスで構成。

内部でALAnimatedSpeechを使用:disabled(無効)、random(ランダム)、contextual(文脈から判断)を指定可能。

 

■「Dialog」ボックス

2015-09-16_212921

数往復のやり取りをさせたい場合は「Dialog」ボックスを使う。

コラボラティブ:他のアプリケーションと連動して動作する。

ノンコラボラティブ:他のアプリケーションと連動しない。

通常、認識率は変更できない。

 

QiChat

2015-09-16_140552

ユーザーと複数往復する会話を記述するスクリプト。

トピックファイル(.top)とDialogボックスを連携させて使用する。

concept構文を使うと反応させたい複数の単語をひとまとめに管理できる。

uX: インデントは1〜7の範囲

Dialogボックスを終了させるには「$onStopped=データ」を指定する必要がある。
データは何でも良い。

proposal構文を使うと発話内容を複数登録しておくことが出来る。

Peppperの話すイントネーションと抑揚を調整できる。

vct=声の高さ
rspd=声の速さ
pau=一時停止
vol=音量

例:\vct=135\\rspd=110\こんにちは\pau=1000\ペッパーです
(\は逆スラッシュ。設定を逆スラッシュで囲む)

 

■抑揚のポイント

・本来の意味と違う漢字(当て字)使ってみる
・漢字をひらがなにしてみる
・ひらがなの一部をカタカナにしてみる
・「、」やスペースで間を空ける
・語尾に「ー」「っ」「ッ」「!!」「?」を1つ以上使ってみる
・小さい「ぁ」「ぃ」「ぅ」「ぇ」「ぉ」「ゃ」「ゅ」「ょ」を使ってみる
 

■聞き取り精度向上

・Speech Reco.ボックスのWordListパラメータに想定させるセリフを全て入れておく
・DialogボックスでQiChat構文のconceptに想定されるセリフを全て入れておく

※ローカル音声認識の場合、想定されるセリフとして登録した言葉しか聞き取らない。
※Dialog内では音声認識の方法が2つあり、
 ローカル音声認識の他にクラウド音声認識がある。
 
 コラボラティブの場合、ローカル音声認識とクラウド音声認識のうち
 認識率の高い方を採用する。
 ノンコラボラティブの場合、ローカル音声認識のみ。

※アプリ作成時は聞き取れない時の事も考慮して作成すること。
※Pepperの質問に15秒間(推奨)応答が無い場合はユーザーが立ち去ったと
 みなしアプリを終了させること。

 

おすすめ記事

 - 開発あれこれ , , , ,