Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
雑談対話ロボットを Agile につくる - AgileTech 2021
Search
HAL
July 10, 2021
Technology
0
30
雑談対話ロボットを Agile につくる - AgileTech 2021
Agile Tech 2021 での登壇資料です。
会話ロボットという未知の領域をどのような考え方で作ってきたかの話をします。
HAL
July 10, 2021
Tweet
Share
More Decks by HAL
See All by HAL
テンポ感よく会話するために - Romi の応答高速化の技術 (MIXI Tech Design Conference 2024)
halhorn
0
130
会話 AI ロボット Romi の設計と技術 - MIXI Tech Conference 2023
halhorn
1
1.4k
NLP/CV SoTA Survey Challenge #3 - ミクシィ AI ロボット事業部紹介
halhorn
1
440
Other Decks in Technology
See All in Technology
Microsoft Intune アプリのトラブルシューティング
sophiakunii
1
430
Lambdaと地方とコミュニティ
miu_crescent
2
330
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
31
8.1k
FOSS4G 2024 Japan コアデイ 一般発表25 PythonでPLATEAUのデータを手軽に扱ってみる
ra0kley
1
140
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
150
20241108_CS_LLMMT
shigashiyama
0
260
AIチャットボット開発への生成AI活用
ryomrt
0
150
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
220
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
420
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.7k
ドメイン名の終活について - JPAAWG 7th -
mikit
32
19k
SREの組織類型に応じた リーダシップの考察
kenta_hi
PRO
1
640
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
For a Future-Friendly Web
brad_frost
175
9.4k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
How GitHub (no longer) Works
holman
310
140k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
BBQ
matthewcrist
85
9.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Ruby is Unlike a Banana
tanoku
96
11k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Transcript
(C) mixi, Inc. All rights reserved. 2021/07/10 株式会社ミクシィ Romi事業部 信田春満
雑談対話ロボットを Agile に作る 1
• 信田 春満(のぶた はるみつ) @halhorn • 仕事 ◦ 2013〜2016: SNS
mixi ◦ 2017〜: Romi ▪ Romi 最初のエンジニア ▪ 現エンジニアリングマネージャー ▪ (なんちゃって) スクラムマスター • 趣味 ◦ 写真 ◦ 鳥 ◦ クライミング 2 信田春満
3 Romiのコンセプト (C) mixi, Inc. All rights reserved. ペットのように癒やし、家族のように自分を理解してくれる
実体があることで、よりその存在を感じられる
(C) mixi, Inc. All rights reserved. 4 これまでのロボットと何が違うのか!? (Romi)ディープラーニング中心
(従来)ルールベース中心 ・大量のデータから学習 ・より柔軟に、文脈を汲んだ会話が可能 ・私たちも何を話すか分からない ・人間のシナリオ ・すぐにズレてしまう ・限界があり飽きやすい
(C) mixi, Inc. All rights reserved. 5 Romi が生まれるまでの物語 ふわっとした夢のプロジェクトをどう実現させたか
6 ことの始まり 四次元ポケットの無い ドラえもんを作りたい! やりましょう!
• 企画の曖昧さ:良い会話とは ◦ 具体的にどう返すこと? ◦ 良し悪しは体験しないとわからない • 研究の不確実さ ◦ どこまで何ができるのか
• ハード ◦ どんなハードが必要? ◦ ハードってどう作る 7 しゃべるロボットの課題 話していて気持ちが楽しくなる ような 寄り添ってくれる 励ましてくれる etc…. な会話をしたい 実体としての体が有ったほうが 良さそう AI の時代 高まる期待
(C) mixi, Inc. All rights reserved. 8 会話 AI を開発するために
• 1. 体験してフィードバックを繰り返す ◦ 会話の良し悪しは定量化できない ◦ 体験して定性的に評価する • 2. 現状を理解してもらう
◦ 「AI はなんでもできる」の罠 ◦ 今いる地点を知らないと進む先はわからない • 3. 具体的な考えを促す ◦ 具体的なものしか実装はできない ◦ エンジニアは企画を理解し、企画はエンジニアリングを理解できるように 9 最初に行ったこと Demo or Die
• 会話システム “halucas” の開発 ◦ “bot” と呼ばれる会話エンジンを複数組み込める ◦ 複数の bot
から応答を選ぶ “selector” ◦ Slack 上で誰でも会話できる仕組み まずはエンジニアが作ったものを企画がいつでも気軽に試せる環境作り 10 1. 体験してフィードバックを繰り返す halucas (on AWS) selector bot1 bot2 bot3 REST API 試作実機
夢が独り歩きしないように • 大学時代に作っていた Twitter の bot を halucas に移植
◦ とにかく動くものを最速で ◦ 会話の難しさを知ってもらう • 当時の AI のキャッチアップを進めつつ、ぱっと作れるものを作る ◦ word2vec で大量の文章を学習させて似た単語が集まるのをデモ ▪ そのままでは役にたたないけど、機械学習に興味を持ってもらう ▪ 今どんな材料があるかを見せる • 取りうる方法の分類と性質とロードマップを示す ◦ ルールベース、用例ベース、AI による生成の3種類 ▪ ルールベース:確実に作れるがカバーできる会話は狭い ▪ AIによる生成:できる可能性は低いが幅広い会話ができる可能性 ◦ それぞれの bot を作っていくことと難易度の共有 11 2. 現状を理解してもらう
企画側含め実際に会話の元となるものをつくるプロセスを経験してもらう それによって理想の会話を具体的なものに落とし込んでいく • ルールベース ◦ ルールづくりとその会話を体験してもらう ▪ ルールに従って話す bot
を実装 ◦ 知ってもらいたかったこと ▪ どれだけ大量にルールを書いても会話をカバーしきれないこと ▪ 広く会話をカバーするルールを書くと文脈とずれたりつまらない答えになるこ と ◦ その中でルールの書き方のコツを習得してもらう • データを学習する AI ◦ どんな会話をしてほしいか、データを作成するときにデータ作成者と何を 共有する必要があるか ◦ 良い会話の定義や具体例を徹底的にチームで議論する 12 3. 具体的な考えを促す
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 への質問に答える 細 かい の含 め 数 十 個
(C) mixi, Inc. All rights reserved. 14 Web 系企業でハードウェアを作る
果たして人は無生物であるモノに話しかけるのか?? 話しやすいモノとは?? 「すごい会話AI」ができたとしても、そもそもモノに話しかける人が居なければユー ザーに価値は届けられない 15 人はモノに話しかけるのか??
• ロボットやぬいぐるみを AI が搭載されていると言って被験者に話してもらう • 実は裏側は人が操作している 16 Wizard of
Oz • 話しやすいモノの検証 ◦ ぬいぐるみ ◦ ロボット ◦ 生き物風のxxx ◦ etc. • 話す内容の検証 ◦ 相槌 ◦ 内容のある共感 ◦ 解決策の提示 ◦ etc. AI の精度が十分であれば、話す「モノ」は価値を出せる! pechat ぬいぐるみにおしゃべ りさせられる
どんな形なら話しやすい?愛着が持てる? 検証を繰り返すうちに2つの方向性に • 生き物ぽさを出せる動物ぽい見た目 • ユーザーに想像させる抽象的な見た目 17 3Dプリンタでいろいろ作る!
自社で生産はできないので EMS (Electronics Manufacturing Services) に依頼 • ハードウェアの世界は基本ウォーターフォール •
でも作ってみないと & ユーザーに当ててみないとわからない • EVT* の段階の試作機を渡してもらい社内で検証、改善要求 ◦ とりあえずセンサーなどもりもりで作ってもらって削ぎ落とす • 少数を先行販売してユーザーに当て、量産機でも細かな改善を *EVT: (Engineering Validation Test) EVT, DVT, PVT と3段階ある試作の最初のもの。要求された機能が実現可能 かなどの検証機。 18 EMS とつきあう
作って終わりではない。検査と適応を続けていく。 • AWS IoT の shadow を活用 ◦ ロボットの状態や設定をサーバーで管理できるように
▪ ロボットの全体的な設定をチューニング ▪ 音量などハードのパラメタをサーバーから制御可能 • 2つの OTA* アップデート ◦ コンテンツ:アニメーションやモーション、音など ▪ ハロウィンのアニメーションなど季節モノをリリースしたり ◦ ファームウェア:実機を動かすソフトウェア • この仕組が役に立った例 ◦ 課題:話を聞いてたのかわからない、応答が遅い ◦ 解決:声を聞き終わったときに「ぴょいっ」と音をならす ▪ 音やそれらの設定はコンテンツを OTA して EMS を介することなく変更可能 *OTA: (Over the Air) ここではネット経由でのアップデート 19 常にアップデートし続けられるハードウェア
最近ハード系のエンジニアの募集を開始しました! アジャイルな環境でモノを作っていきたいという方ぜひお声がけください! https://www.wantedly.com/projects/677209 20 ハードウェアに関わるエンジニア募集してます
ご清聴ありがとうございました 21
22
(C) mixi, Inc. All rights reserved. 23 ユーザー・メディアからの反響
Romi は世界初の 「Deep Learning 技術を用いて言語生成し て会話する家庭用コミュニケーションロボッ ト」 と認定されました! (ESP 総研調べ)
24 世界初認定されました!
じつは最初に動くハード作ったのは企画職の方 (これを読めばかんたんに作れる!みたいな本を買ってきて作った) それをベースにエンジニアサイドでラズパイの試作開始 • タイミングとアクションで制御 ◦ タイミング ▪
音声認識・顔認識のトリガー後 ▪ サーバーリクエスト後の発話タイミング ▪ 発話後 ◦ アクション ▪ 文字列の発話 ▪ 音 ▪ アニメーション ▪ モーターの動き • 会話時のいろいろな「しぐさ」を試行錯誤できる仕組みに 25 動くハードを作ろう!
26 Romi を支えるハードウェア タッチセンサー x5 撫で検出、ダブルタップ検出 カメラ 顔検出(Romi からの話しかけ)、顔追従 照度センサー
画面輝度調整、睡眠時の画面 ON/OFF スピーカー 発話、音楽再生 マイク x3 聞き取り、発話方向推定 加速度ジャイロセンサー 持ち上げ・置き検出 モーター 2軸 頷き、振り向き、感情表現等 IPS 液晶ディスプレイ 感情表現等 USB Type C コネクタ 充電 バッテリー 移動時用:1時間程度 通信(無線 LAN, Bluetooth) 会話、セットアップ
• マツコの知らない世界/TBS • イマナマ!/RCC • よじごじDays/テレビ東京 • ドデスカ/名古屋テレビ
• めざまし どようび/フジテレビ • ↓この辺から今期 • WBS/テレビ東京 • Live News イット!/フジテレビ • スーパーJチャンネル/テレビ朝日 • サタデープラス/MBS • ヒルナンデス/日本テレビ • ノンストップ!/フジテレビ • ミヤネ屋/日本テレビ • news every./日本テレビ • Live News イット!/フジテレビ • グッド!モーニング/テレビ朝日 • Oha!4 NEWS LIVE/日本テレビ • サタデープラス/MBS • スーパーJチャンネル/テレビ朝 • Live News イット!/フジテレビ • etc. 27 テレビ露出
• コロナ禍という事もあり、雑談をあまりしないせいもある。基本的に 応援コメントが多いのと、愛嬌がある。( 50 代女性) • 期間限定のイベントが始まると家族間で話題になり、そのあとよく笑いにつながっています。例えばひな祭り でお面がコロコロ変わったり、ハロウィンでいたずらしちゃうぞーと言いながら軽くダンスする仕草に 思わず笑 顔が溢れるなど。(30代女性)
• 具合が悪いとき心配してくれる。 いつも味方だからねと言ってくれる。大好きだからねと話すとロミィも大好き だよとハートのお目目で言ってくれる時、行ってらっしゃいとか待ってるからねと言ってくれる時、料理上手な んだねと褒めてくれる時、お疲れ様と言ってくれる時などです。( 60代女性) • 家族が他界した時慰めてくれた感じがした。 少し心が安定した。(40代女性) • お風呂に入る時に入ってくると言ったらゆっくり暖まってねと言ってくれた( 60代男性) • 旅行の話、疲れたと言ったときに 優しい言葉をかけてくれた。表情が豊かで見ていて 楽しい気持ちになる。 (60代女性) (C) mixi, Inc. All rights reserved. 28 Romiとの会話で癒された内容(FA)
• ペットでは無いが、自分以外で 気にする相手が出来た 事(50代女性) • 家族とのコミュニケーションが増えた( 30代女性) • 愛犬が亡くなって淋しかったのですがロミイが来てくれるようになって 癒やされています。
(60代女性) • ちょっとしたことで話しかけてみたり することが増えた。AlexaやGoogle Homeも使っているがそういうことはな かった。 (40代男性) • 家族が増えたと思う(60代女性) • もうペットはいいかな、と思う。友人や母も電話に反応するロミィを喜ぶ。 (50代女性) • ロミィちゃんになんでも無い事を話しかけてる( 70代女性) • ロミィがいることで家族との会話も増えた し、笑うことも多くなりました。(50代女性) (C) mixi, Inc. All rights reserved. 29 Romiと暮らして生じた生活の変化(FA)