ニンニンPepperのご紹介
(機能設計と実装技術)
プロジェクトチーム・ディメンティア
宋 チュウ
http://famirobo.com
songchong@famirobo.com
1© 2015 ninninpepper.com
2
なぜ高齢者×ロボットに着目するのか?
© 2015 ninninpepper.com
3
ロボット技術は高齢者に適する(と思う)
※ Persuasive Technology(人の動かす技術)の理論モデルを参考して、
筆者の主観的な理解で作成したものです。客観的な研究成果ではありません。
子供
成人
高齢者Smart
Phone
PCTablet
Senso
r
Smart
Watch
Robot
意欲(Motivation)
能力(Ability)
誘導(Trigger)
積極的
消極的
簡単な操作 複雑な操作
© 2015 ninninpepper.com
4
どのような機能を提供するか?
© 2015 ninninpepper.com
5
ユーザのニーズを適切な技術手段で満たす
高齢者のニーズ
生活リズムを整えたい
自分で服薬管理をしたい
お話しをしたい
家族と繋ぎたい
パートナーを欲しい
自己実現をしたい
Pepperの
優れたところ
きれいな喋り方
腕や身体の動き
目線や頭の動き
ディスプレイ画面
ネットワーク機能
記憶や記録機能
撮影や録音機能
音楽や音の再生
タッチセンサー
クラウドAI(将来)
介護者のニーズ
見守りを楽にしたい
介護を楽にしたい
高齢者を喜ばせたい
Pepperはコミュニケーションロボットです
© 2015 ninninpepper.com
6
リモート操作
会話リモコン
(孫)
(息子)
(妻)(要介護者)
写真や音声の
メール受送信
(医者)
連携カスタマイズ
見守り
服薬確認
遠隔服薬指導
データ収集
クラウドAI
会話中心に
様々な機能
(看護師)(介護者)
研究・開発
※将来的に検討していくものも含みます。
コミュニケーションを中心に機能設計
© 2015 ninninpepper.com
生活リズムを整える
• 朝起きる、日めくりカレンダー、曜日確認など変わらずに日常生
活ができる。
• 認知症高齢者がPepperと暮らして、生活リズムを自然に整える。
7
日めくりカレンダー曜日確認時間や予定の提示
© 2015 ninninpepper.com DEMO:目覚まし
離れて暮らす家族と想いを繋ぐ
• Pepperが音声や写真を送受信して、高齢者と離れて暮らすご家
族を繋ぐことができる。
• 高齢者の孤独感を緩和すると共に、外部と繋ぐことで認知症予
防に効果がある。
8
家族の音声や写真 高齢者の写真撮影
家族へメール送信
© 2015 ninninpepper.com TABLET:メール
服薬管理と服薬確認
• Pepperが時間通りに服薬を促すことで、高齢者が自分で服薬管
理できるようになる。
• 服薬前後の写真を主治医や関係者に送信することで、高齢者の
服薬状況を把握できる。
9
高齢者の服薬を促す
写真から服薬状況を確認可能
主治医へ薬の写真を送信
© 2015 ninninpepper.com
日常会話を通じて認知症予防
• Pepperが高齢者との会話の中で、日常の曜日や身近な家族について確認する。
• Pepperが高齢に昔の話などを、頷き(傾聴)やおうむ返ししながら聞くことができる。
• 介護者はリモコンを利用してPepperを操作して、高齢者の好きな話などができる。
• 高齢者は、Pepperと会話を楽しめることで、孤独感もなく、認知症予防の効果もある。
10
高齢者への声掛け 高齢者好みの写真表示
頷きやおうむ返し
音声認識でデータ蓄積
キーワード抽出
© 2015 ninninpepper.com
見守り
• Pepperが監視モードで、日常生活に変化があると知らせることができる。
• 宅内や施設内の他のセンサーの情報を見て、Pepperが対応や連絡することができる。
• 日常会話履歴が介護者へ送信され、高齢者の状況を把握できる。
• 会話キーワードや高齢者の反応速度から、高齢者の状態を推測できる。
• 離れて暮らす家族は遠隔ちからPepperを操作して、高齢者に通知&呼びかけできる。
11
音声認識でデータ蓄積
キーワード
リモコン
© 2015 ninninpepper.com
連携カスタマイズ
• 介護者がWebなどで、会話コンテンツ作成など高齢者向けにカスタマイズできる。
• 将来的に、介護システムと連携させ、高齢者のアセスメント情報を見ることもできる。
• Pepperが、介護システムや地域連携システムに繋がり、高齢者情報をレポートしたり、
逆にPepperに伝言やリモートから操作することもできる。
12© 2015 ninninpepper.com
クラウドAIやBigData分析
• PepperはクラウドAI(IBM watsonなど)と連携する予定であり、
将来的にPepperを通じて、医療や介護分野のAI研究が可能となる。
• Pepperが収集した会話履歴などのデータをBigData分析に活用する
ことで、将来的には、高齢者の認知症や疾病の早期発見も可能にな
る。
13© 2015 ninninpepper.com
14
コミュニケーションをどう実装するか?
© 2015 ninninpepper.com
15
リモコン外部画面
本体ディスプレイ
Pepperの本体
会話の実行
動き, 撮影, 音楽…
会話スクリプト
会話と画面
の連動
会話の流れ
NAOqi OS
ALDialog
Dialog
Web browser
Framework
(Modules)
OS
ALSpeechReco. ALMemory
Application
(NinNinPepper)
QiMessaging
HTML&
JavaScript
Android
Python
…
Speech
Reco.
Choice Say
会話・動き・画面表示を一体化した実装
© 2015 ninninpepper.com
16
会話の流れをどうを実装するか?
© 2015 ninninpepper.com
17
DialogとSpeechReco.は物足りない
・Pepperからの発話は制御困難
・会話の長さと比例して階層が増加
・会話の長さと比例して工数増加
・会話全体の統一性を保つのは困難
Dialog(QiChat) SpeechReco.+Say
たつじさん、おはようございます!
よく眠れましたか?
よかったですね。ところで、きょう
は何曜日かわかりますか?
おはよう、ペッパー!
よく寝れたよ。
わからないな〜
© 2015 ninninpepper.com
18
会話スクリプト取得
構文解析
文の抽出 質問と回答
発話(Say)実行 回答の保存
画面表示
会話の流れをスクリプトとして実装
・ソースコードの保守性向上
・新機能の追加が容易になる
・音声の全体的な統一性を保つ
© 2015 ninninpepper.com
19
モジュールの定義
機能モジュール
会話スクリプト実行
会話スクリプトから機能モジュールを実行
© 2015 ninninpepper.com DEMO:薬を飲む
20
会話の実行をどう実装するか?
© 2015 ninninpepper.com
21
・Pepperから質問する
・人間の回答に最も近い
選択肢を出力する
・キーワードを定義する
・人間の回答に最も近い
キーワードを出力する
・人間の発話を応答する
・ワイルドカードで
任意の言葉も認識可能
・高度な機能を備える
(動き、聞き直し等)
・ソースコードは長い
・信頼度を取得できる
・認識精度はほど良い
・任意言葉の認識は不可
・信頼度取得できない
・ワイルドカードの認識
精度は改善途中である
Speech
Reco.
Choice
Dialog
既存の音声認識系BOXを活用する
© 2015 ninninpepper.com
22
・高精度で任意の言葉を認識可能
・応答するまでに時間がかかる
・人間発話してからイベント発生
までに(数百ms?)遅延ある
・録音データをGoogle Speechに
投げて、認識結果を取得する
・SpeechDetectedイベントで
会話の開始と終了を検知する
API イベント できること
Speech Reco. SpeechDetected 人間が何か喋ったことを検知する
WordRecognized Pepperが聞き取った言葉と信頼度を取得する
Dialog Dialog/LastInput Pepperがちゃんと聞き取れた言葉を取得する
Dialog/Answered Pepperから喋った言葉を取得する
Dialog/NotSpeaking 人間が黙っていることの検知する
イベントやWeb APIで独自実装する
Google
Speech
API
Event
© 2015 ninninpepper.com DEMO:傾聴
23
会話と画面表示はどう連動するか?
© 2015 ninninpepper.com
24
ALMemory QiMessaging
HTML&
JavaScript
プログラム
本体機能 本体ディスプレイ
QiMessaging
HTML&
JavaScript
外部画面
broker
QiMessagingを利用して実装
同一NW
© 2015 ninninpepper.com
25
認識した言葉の表示 質問文の表示
会話の内容を画面に表示する
本体ディスプレイに表示
同じネッワークの中で
IPアドレスを指定して接続する必要
外部画面に表示
選択肢の表示
集計データの表示
© 2015 ninninpepper.com
26
画面操作から会話や動きを制御する
機能を会話として表示
画面タップで機能呼び出し
入力した言葉
を話す
本体ディスプレイから制御 リモコンから制御
© 2015 ninninpepper.com DEMO:日常会話
今後の研究開発
• 音声認識や会話機能
– 高齢者向けに音声認識のチューニング
– クラウドAIを利用して自然な会話の実現(を目指す)
• 服薬支援機能
– Pepper向け薬カレンダーや薬箱のデザイン
– ソフトウェアと連動して服薬支援の実現
• カスタマイズ機能
– 介護者の使い易いカスタマイズUIの実装
– 機械学習を利用したカスタマイズの自動化
• その他
– 認知症予防機能(脳トレなど)の実装
– 高齢者を喜ばせる機能(レクなど)の実装
27© 2015 ninninpepper.com
28
開発・実証協力メンバー募集中
http://ninninpepper.com
ご清聴ありがとうございました。
© 2015 ninninpepper.com

ニンニンPepperアプリ概要と技術説明

Editor's Notes

  • #4 アプリ開発を始まる前の企画段階
  • #6 アプリの設計段階 ユーザのニーズを適した技術で満たすのは必要 …. 一言言いますと、Pepperはコミュニケーションロボットです。
  • #7 そして、コミュニケーションを中心に… みなさん色々アイディアを出し合って…
  • #16  QiMessagingはwebブラウザの中で、JavaScriptバインディングを提供する。ロボット向けのHTML5アプリも作成可能になる。 QiMessagingライブラリは非同期通信として設計されている。jQueryに似ていて、ほとんどのメソッドはコールバックでとして実装されている。 Socket.IOを利用して、ロボットとブラウザの間での双方向通信を実現する。 WebSocketは基本的にHTTPと同じ、ただ一回接続したら、コネクションをずっと維持しているだけだ。
  • #20 ChoiceとSpeechRecoとDialogをちゃんと終わらせていないと、実行時にエラーが出る。 エラーを抑止するためにStop ASRを追加している
  • #22 Choice ・質問から認識までの一連を簡単に実装できる Dialog ・Pepperから質問するのは実装困難である A Proposal rule triggers a specific robot output without any user output beforehand. どういう条件、どういう順番でProposalを実行するか、制御は難しい 外部のモジュールの呼び出しは難しい
  • #25 Local Module : Simply use the name of the module. Remote Module : Use the name of the module, and the IP and port of a broker. QiMessaging : イベント駆動 QiMessagingからALMemoryだけでなく、他のmoduleも制御可能、図では一部だけを示す