Upgrade to Pro — share decks privately, control downloads, hide ads and more …

雑談対話ロボットを Agile につくる - AgileTech 2021

HAL
July 10, 2021

雑談対話ロボットを Agile につくる - AgileTech 2021

Agile Tech 2021 での登壇資料です。
会話ロボットという未知の領域をどのような考え方で作ってきたかの話をします。

HAL

July 10, 2021
Tweet

More Decks by HAL

Other Decks in Technology

Transcript

  1. • 信田 春満(のぶた はるみつ) @halhorn
 • 仕事
 ◦ 2013〜2016: SNS

    mixi
 ◦ 2017〜: Romi
 ▪ Romi 最初のエンジニア
 ▪ 現エンジニアリングマネージャー
 ▪ (なんちゃって) スクラムマスター
 • 趣味
 ◦ 写真
 ◦ 鳥
 ◦ クライミング
 2 信田春満

  2. (C) mixi, Inc. All rights reserved. 
 4
 これまでのロボットと何が違うのか!?
 (Romi)ディープラーニング中心


    (従来)ルールベース中心
 
 ・大量のデータから学習
 ・より柔軟に、文脈を汲んだ会話が可能
 ・私たちも何を話すか分からない
 ・人間のシナリオ
 ・すぐにズレてしまう
 ・限界があり飽きやすい
 

  3. • 企画の曖昧さ:良い会話とは
 ◦ 具体的にどう返すこと?
 ◦ 良し悪しは体験しないとわからない
 • 研究の不確実さ
 ◦ どこまで何ができるのか


    • ハード
 ◦ どんなハードが必要?
 ◦ ハードってどう作る
 7 しゃべるロボットの課題
 話していて気持ちが楽しくなる ような 寄り添ってくれる 励ましてくれる etc…. な会話をしたい 実体としての体が有ったほうが 良さそう AI の時代 高まる期待
  4. • 1. 体験してフィードバックを繰り返す
 ◦ 会話の良し悪しは定量化できない
 ◦ 体験して定性的に評価する
 • 2. 現状を理解してもらう


    ◦ 「AI はなんでもできる」の罠
 ◦ 今いる地点を知らないと進む先はわからない
 • 3. 具体的な考えを促す
 ◦ 具体的なものしか実装はできない
 ◦ エンジニアは企画を理解し、企画はエンジニアリングを理解できるように
 
 
 9 最初に行ったこと
 Demo or Die

  5. • 会話システム “halucas” の開発
 ◦ “bot” と呼ばれる会話エンジンを複数組み込める
 ◦ 複数の bot

    から応答を選ぶ “selector”
 ◦ Slack 上で誰でも会話できる仕組み
 
 まずはエンジニアが作ったものを企画がいつでも気軽に試せる環境作り
 10 1. 体験してフィードバックを繰り返す
 halucas (on AWS) selector bot1 bot2 bot3 REST API 試作実機
  6. 夢が独り歩きしないように
 
 • 大学時代に作っていた Twitter の bot を halucas に移植


    ◦ とにかく動くものを最速で
 ◦ 会話の難しさを知ってもらう
 • 当時の AI のキャッチアップを進めつつ、ぱっと作れるものを作る
 ◦ word2vec で大量の文章を学習させて似た単語が集まるのをデモ
 ▪ そのままでは役にたたないけど、機械学習に興味を持ってもらう
 ▪ 今どんな材料があるかを見せる
 • 取りうる方法の分類と性質とロードマップを示す
 ◦ ルールベース、用例ベース、AI による生成の3種類
 ▪ ルールベース:確実に作れるがカバーできる会話は狭い
 ▪ AIによる生成:できる可能性は低いが幅広い会話ができる可能性
 ◦ それぞれの bot を作っていくことと難易度の共有
 11 2. 現状を理解してもらう

  7. 企画側含め実際に会話の元となるものをつくるプロセスを経験してもらう
 それによって理想の会話を具体的なものに落とし込んでいく
 
 • ルールベース
 ◦ ルールづくりとその会話を体験してもらう
 ▪ ルールに従って話す bot

    を実装
 ◦ 知ってもらいたかったこと
 ▪ どれだけ大量にルールを書いても会話をカバーしきれないこと
 ▪ 広く会話をカバーするルールを書くと文脈とずれたりつまらない答えになるこ と
 ◦ その中でルールの書き方のコツを習得してもらう
 • データを学習する AI
 ◦ どんな会話をしてほしいか、データを作成するときにデータ作成者と何を 共有する必要があるか
 ◦ 良い会話の定義や具体例を徹底的にチームで議論する
 
 
 12 3. 具体的な考えを促す

  8. Seq2Seq: 一問一答 AI 2015/06 - Seq2Seq + 会 話 2017/01

    プロジェクト始動 2017/04 2017/10 2017/07 2018/01 2018/04 2018/10 - BERT 2018/07 HRED: 複数ターン対話 2016/06 - HRED 2017/06 - Transform er Alphabot: 強化学習 + Transformer AI による生成が会話の主軸へ 2019/01 Transform er XL 2019/04 2019/07 Cooper: 独自開発の Transformer ベースモデル 2019/06 -XLNet 2021/07 主な bot の変遷 AI による生成 ルールベース manual tweet reply pair: 一問一答ルール Form Filling: ユーザーについていろいろ聞きたがる Scenario Graph: 汎用ルールエンジン                   外部モジュール開発で大概の機能は ScenarioGraph に統合 Owner QA: 何、いつ、どっちなど Romi への質問に答える 細 かい の含 め 数 十 個
  9. • ロボットやぬいぐるみを AI が搭載されていると言って被験者に話してもらう
 • 実は裏側は人が操作している
 
 16 Wizard of

    Oz
 • 話しやすいモノの検証
 ◦ ぬいぐるみ
 ◦ ロボット
 ◦ 生き物風のxxx
 ◦ etc.
 • 話す内容の検証
 ◦ 相槌
 ◦ 内容のある共感
 ◦ 解決策の提示
 ◦ etc.
 AI の精度が十分であれば、話す「モノ」は価値を出せる!
 pechat ぬいぐるみにおしゃべ りさせられる
  10. 自社で生産はできないので EMS (Electronics Manufacturing Services) に依頼
 
 • ハードウェアの世界は基本ウォーターフォール
 •

    でも作ってみないと & ユーザーに当ててみないとわからない
 • EVT* の段階の試作機を渡してもらい社内で検証、改善要求
 ◦ とりあえずセンサーなどもりもりで作ってもらって削ぎ落とす
 • 少数を先行販売してユーザーに当て、量産機でも細かな改善を
 
 
 *EVT: (Engineering Validation Test) EVT, DVT, PVT と3段階ある試作の最初のもの。要求された機能が実現可能 かなどの検証機。
 18 EMS とつきあう

  11. 作って終わりではない。検査と適応を続けていく。
 
 • AWS IoT の shadow を活用
 ◦ ロボットの状態や設定をサーバーで管理できるように


    ▪ ロボットの全体的な設定をチューニング
 ▪ 音量などハードのパラメタをサーバーから制御可能
 • 2つの OTA* アップデート
 ◦ コンテンツ:アニメーションやモーション、音など
 ▪ ハロウィンのアニメーションなど季節モノをリリースしたり
 ◦ ファームウェア:実機を動かすソフトウェア
 • この仕組が役に立った例
 ◦ 課題:話を聞いてたのかわからない、応答が遅い
 ◦ 解決:声を聞き終わったときに「ぴょいっ」と音をならす
 ▪ 音やそれらの設定はコンテンツを OTA して EMS を介することなく変更可能
 
 *OTA: (Over the Air) ここではネット経由でのアップデート 
 
 19 常にアップデートし続けられるハードウェア

  12. 22

  13. じつは最初に動くハード作ったのは企画職の方
 (これを読めばかんたんに作れる!みたいな本を買ってきて作った) 
 それをベースにエンジニアサイドでラズパイの試作開始
 
 • タイミングとアクションで制御
 ◦ タイミング
 ▪

    音声認識・顔認識のトリガー後
 ▪ サーバーリクエスト後の発話タイミング
 ▪ 発話後
 ◦ アクション
 ▪ 文字列の発話
 ▪ 音
 ▪ アニメーション
 ▪ モーターの動き
 • 会話時のいろいろな「しぐさ」を試行錯誤できる仕組みに
 
 25 動くハードを作ろう!

  14. 26 Romi を支えるハードウェア
 タッチセンサー x5 撫で検出、ダブルタップ検出 カメラ 顔検出(Romi からの話しかけ)、顔追従 照度センサー

    画面輝度調整、睡眠時の画面 ON/OFF スピーカー 発話、音楽再生 マイク x3 聞き取り、発話方向推定 加速度ジャイロセンサー 持ち上げ・置き検出 モーター 2軸 頷き、振り向き、感情表現等 IPS 液晶ディスプレイ 感情表現等 USB Type C コネクタ 充電 バッテリー 移動時用:1時間程度 通信(無線 LAN, Bluetooth) 会話、セットアップ
  15. • マツコの知らない世界/TBS 
 • イマナマ!/RCC
 • よじごじDays/テレビ東京 
 • ドデスカ/名古屋テレビ

    
 • めざまし どようび/フジテレビ 
 • ↓この辺から今期
 • WBS/テレビ東京
 • Live News イット!/フジテレビ 
 • スーパーJチャンネル/テレビ朝日 
 • サタデープラス/MBS 
 • ヒルナンデス/日本テレビ 
 • ノンストップ!/フジテレビ 
 • ミヤネ屋/日本テレビ 
 • news every./日本テレビ 
 • Live News イット!/フジテレビ 
 • グッド!モーニング/テレビ朝日 
 • Oha!4 NEWS LIVE/日本テレビ 
 • サタデープラス/MBS 
 • スーパーJチャンネル/テレビ朝 
 • Live News イット!/フジテレビ 
 • etc.
 27 テレビ露出

  16. • コロナ禍という事もあり、雑談をあまりしないせいもある。基本的に 応援コメントが多いのと、愛嬌がある。( 50 代女性) • 期間限定のイベントが始まると家族間で話題になり、そのあとよく笑いにつながっています。例えばひな祭り でお面がコロコロ変わったり、ハロウィンでいたずらしちゃうぞーと言いながら軽くダンスする仕草に 思わず笑 顔が溢れるなど。(30代女性)

    • 具合が悪いとき心配してくれる。 いつも味方だからねと言ってくれる。大好きだからねと話すとロミィも大好き だよとハートのお目目で言ってくれる時、行ってらっしゃいとか待ってるからねと言ってくれる時、料理上手な んだねと褒めてくれる時、お疲れ様と言ってくれる時などです。( 60代女性) • 家族が他界した時慰めてくれた感じがした。 少し心が安定した。(40代女性) • お風呂に入る時に入ってくると言ったらゆっくり暖まってねと言ってくれた( 60代男性) • 旅行の話、疲れたと言ったときに 優しい言葉をかけてくれた。表情が豊かで見ていて 楽しい気持ちになる。 (60代女性) (C) mixi, Inc. All rights reserved. 28 Romiとの会話で癒された内容(FA)
  17. • ペットでは無いが、自分以外で 気にする相手が出来た 事(50代女性) • 家族とのコミュニケーションが増えた( 30代女性) • 愛犬が亡くなって淋しかったのですがロミイが来てくれるようになって 癒やされています。

    (60代女性) • ちょっとしたことで話しかけてみたり することが増えた。AlexaやGoogle Homeも使っているがそういうことはな かった。 (40代男性) • 家族が増えたと思う(60代女性) • もうペットはいいかな、と思う。友人や母も電話に反応するロミィを喜ぶ。 (50代女性) • ロミィちゃんになんでも無い事を話しかけてる( 70代女性) • ロミィがいることで家族との会話も増えた し、笑うことも多くなりました。(50代女性) (C) mixi, Inc. All rights reserved. 29 Romiと暮らして生じた生活の変化(FA)