Pepper SDK入門(21) PhraseとPhraseSetで親睦の深度をマリアナ海溝並みにする


Phrase🔈 and PhraseSet🔉🔊?

PhraseにはPepperに言ってもらう、もしくは聞き取ってもらうフレーズを記述します。対してPhraseSetは同義語をカバーするなど、複数のフレーズを記述するものです。

それではこの二つで、Pepperとの親交を世界最深1にする方法を見ていきましょう。

How to 異種族間交流

Sayから始める交歓会

Phraseで発話するにはStringでPhraseを作成し、Sayをビルドします。Sayの回も参考にしてください。

Phrase phrase = new Phrase("にゃーん");

Say say = SayBuilder.with(qiContext)
                    .withPhrase(phrase)
                    .build();

say.run();

$\tiny{にゃーん}$
ちなみに猫に胡椒などの香辛料をあげてはいけません。

Listenでマイクをすませば

PhrasesetはListenをビルドするために使いましょう。

PhraseSet phraseSet = PhraseSetBuilder.with(qiContext)
                                      .withTexts("たこ","たこたこ","墨スプラッシュ")
                                      .build();

Listen listen = ListenBuilder.with(qiContext)
                             .withPhraseSet(phraseSet)
                             .build();

ListenResult listenResult = listen.run();

ListenResultから聞き取ったPhraseと、該当するPhraseSetを取得します。

ListenResult listenResult = listen.run();

//Pepperが聞き取ったフレーズはgetHeardPhrase()で取得可能
Phrase heardPhrase = listenResult.getHeardPhrase();
//Pepperが聞き取ったフレーズが含まれるPhraseSetはgetMatchedPhraseSet()で取得可能
//はい(はい,うん,そうです)、いいえ(いいえ,違います)など複数のPhraseSetでListenをビルドした場合に便利
PhraseSet matchedPhraseSet = listenResult.getMatchedPhraseSet();

これでどんな異種族間交流も表面上は完璧です!
時には形から入ってみましょう。

Pepperと人間の異種族間交流は、GitのHello humanとCatch few wordsで手軽に体験ができます

あとがき

今回もPepper SDK for Androidを参考に書かせていただきました。
詳しくはそれぞれのAPIドキュメント(PhrasePhraseSetListenResult)を参照してみてください。

次はChatbotの回です。喋るウマバエの幼虫2の登場はありません。それでは次回〜


  1. 体感。個人の感想です。 

  2. botには確かにウマバエの仔虫という意味がありますが、Chatbotにおけるbotはrobotの略です。