実験で使ったPepperのロボアプリ簡単解説
はじめに
昨年の日本心理学会で発表した実験では、アンケートを行うロボットとして Pepper を使用しました。
実はこの実験用に簡易な Pepper ロボアプリを開発していたので、今回はそのアプリの簡単な紹介です。
当日の様子: 第 83 回日本心理学会に参加
自動で対話は難しい
実験当日、私はマジックミラー越しに Pepper を操作して被験者へアンケートや相槌を行う役でした。
理想でいえば、音声認識や自然言語処理をふんだんに用いることで、ほっといても勝手にアンケートをとってくれて、いい感じに相槌をしてくれる、そんな Pepper をコーヒーでも飲みながら眺めている…
そんな悠々自適に実験したいところですが、現実的には非常に難しいです。。。
アプリの仕組み
というわけで、当日はこんな感じのリモコンを使って Pepper を操作して実験を行いました。
マジックミラーの裏から私がこのボタンをポチポチクリックしながらアンケートや相槌をしていくわけですね。
自由入力で都度回答してもいいんですが、実験中はなるべく違和感の無い速度で返答するがあります。残念ながら私のタイピング速度では違和感のない回答をするには程遠いので、あらかじめ準備しておいたセリフをボタンクリックですぐ発話できるようにしておきました。
データはこんな感じで定義しています。以下にデータの一部を抜粋します。
{
"replies": [
{
"text": "どうぞ",
"saytext": "どうぞッッ!!"
},
{
"text": "お座りください。",
"saytext": "お座りください。"
},
{
"text": "こんにちは",
"saytext": "こんにちは"
},
{
"text": "こんにちは、ペッパーです。本日はどうぞよろしくお願いします。",
"saytext": "こんにちは、ペッパーです。本日はどうぞよろしくお願いします。"
}
]
}
say
はボタンに表示される文字、sayText
は実際に Pepper で読み上げる文字です。
Pepper はセリフによっては漢字を読み間違えたり、文字をそのまま読み上げると変なイントネーションになる事があるので、表示用と実際の発話用のデータを 1 セットで定義しています。
今回、表示用のテキストは自分のリモコン画面にしか出てこないのであまり必要性ないのですが、このアプリは今後他にも使えそうだったので一応つけてみました。
ところどころ雑な部分がありますが、アプリ全体のソースコードはこちらに公開しているので良かったら触ってみてください。
(開発したのは 3 年以上前だということに気づいて驚愕…)
https://github.com/kokubunji-no-kai/robo-psychology-experiments
アプリを Pepper にインストールして起動後、Pepper と同一の LAN に接続している PC のウェブブラウザ(Chome 推奨)でhttp://<Pepper のIPアドレス>/apps/enqueteapp-5e7648/remote.html
にアクセスするとリモコン画面が表示されるので、ボタンをポチポチすると Pepper がしゃべります。