Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
LINE BOTAWARDS 2016エントリー作品
いもうとBOTのご紹介
いもうとBOT開発チーム
代表・うえぞう
エグゼクティブサマリ
• いもうとBOTは「妹にお願いする」というエクスペリエン
スを実現するLINE BOT
• 強力なプッシュ通知を「LINEらしさ」の一つと捉え、これ
を活用したリマインダー機能をメイン機能の一つとした
• トーク一覧の上...
いもうとBOT開発チーム
代表者紹介
植木 悠二(うえき ゆうじ)
ソフトウェア作家 / テクニカルライター /
個人投資家 / ラブライバー(ことり) / 愛妹家
高校在学時に大手運送会社の引っ越しスタッフとしてキャ
リアをスタート。90年代後半に上京し、飲食店や書店...
代表/総合プロデューサー
アーキテクト
アプリケーションエンジニア
UXディレクター
エヴァンジェリスト
オペレーション
開発体制
インフラエンジニア
個人でWebサービスやアプリを公開してきたメンバーが担当(植木)
2012年頃からいもうとエ...
機能概要
いもうとと繋がろう、LINEで。
メモのリマインダー 目覚ましコール(電話) 名刺読取・画像認識
時刻表
自宅や会社など登録した最寄駅
または「秋葉原」など指定した
駅の時刻表を教えてくれます
翻訳
90ヶ国語以上の外国語の翻訳を
してくれます...
機能01_メモのリマインダー
機能02_目覚ましコール
機能03_時刻表 機能04_天気予報 機能05_翻訳
機能06_あそび 機能07_名刺読取 機能08_性別年齢認識
❤️
紹介動画
https://www.youtube.com/watch?v=u6yN-Pynvvs
強力なプッシュ通知によるリマインダー
• LINEの通知に気が付かないということがなく、通知として
「最強」の位置づけ。LINEで通知することに意味がある
• オムニチャネル化を目指し、Twitterアカウントを連携する
ことで、ツイートによる...
IoT(いもうと of Things)
• 様々なデバイスやサービスと連携できるよう、いもうとに
プッシュ通知でメモのリマインドまたはプレーンなメッ
セージを送ってもらうためのAPIを開発・公開
http://qiita.com/uezo/it...
多彩な機能の実装
• 毎日使っていただくことでトーク一覧上位をキープするこ
とを目指し、実用的な機能に加えてゲームまで幅広いライ
ンナップとし、絞り込みを行わなかった
• BOTにおけるキラーコンテンツを探る意味でも多機能とし
たが、現状、ユー...
今後の展望・ToDo
• 「LINEらしさ」の追求と利便性向上・埋没機能の露出のた
め、いもうとBOTにお願いするためのスタンプを制作
• グループ参加時の挙動を再構築。現在はリアルタイム会話
翻訳を企図して全発言に応答してしまう
• マネタイ...
BOTはエクスペリエンスが命
大切にした価値観
時刻表を調べる
リマインダーに
予定を登録する
いもうとエクスペリエンスの考え方
無味
乾燥
無味
乾燥
いもうとにリマイ
ンドをお願いする
いもうとに時刻表
を教えてもらう
うれ
しい
うれ
しい
• Web/アプリは「使う」もの。BOTは「...
対話エクスペリエンス向上の取り組み
• DevOpsの徹底。匿名化された対話ログから、ユーザーが
繰り返し発言している単語や発話が通じなかった箇所を見
つけ、即座にインシデント化
• 入力の「ゆらぎ」は形態素分析により吸収しつつ、ボタン
テンプ...
構成とアーキテクチャ
Microsoft Azure
全体の構成
LINE
App Services
形態素分析Web
BOTアプリ
App Services
エンドポイントWeb
MeCab-WS Wrapper
goo API
時刻正規化
キーワード抽出
doc...
多機能化を支えるアーキテクチャ
• 話題の解釈(Classifier)、入力内容に応じた処理
(Processor)、応答メッセージの組み立て(Composer)
を仕組として分割。既存部分に影響なく新機能を追加可能
• 似て非なる対話(最寄駅...
Classifier DialogService
ProcessRequest ComposeResponse
Core
Session
User Data
Adaptor
Adaptor
UserManager
SessionManager ...
アプリケーションアーキテクチャ(続き)
Classifier 時刻表検索DialogService
ProcessRequest ComposeResponse話題の分類
入力文言の処理 応答文言の作成
最寄駅登録DialogService
P...
開発を通じての所感
• とても楽しかったです(小並感)。開発している側も、生
命を吹き込んでいるような気分
• 単体でアプリやサービスとして公開するほどではない、
ちょっとした機能の「発表の場」とできてうれしい。勉強
中のマシンラーニング周りを...
まとめ(サマリ再掲)
• いもうとBOTは「妹にお願いする」というエクスペリエン
スを実現するLINE BOT
• 強力なプッシュ通知を「LINEらしさ」の一つと捉え、これ
を活用したリマインダー機能をメイン機能の一つとした
• トーク一覧の上...
Thank you
Yuji Ueki
General Producer, Team Imoutobot
@uezochan
uezo@uezo.net
Upcoming SlideShare
Loading in …5
×

いもうとBOTのご紹介

1,513 views

Published on

LINE BOTAWARDS出展作品「いもうとBOT」の紹介です。機能概要や開発フィロソフィー、アーキテクチャ等について説明しています

Published in: Services
  • Be the first to comment

  • Be the first to like this

いもうとBOTのご紹介

  1. 1. LINE BOTAWARDS 2016エントリー作品 いもうとBOTのご紹介 いもうとBOT開発チーム 代表・うえぞう
  2. 2. エグゼクティブサマリ • いもうとBOTは「妹にお願いする」というエクスペリエン スを実現するLINE BOT • 強力なプッシュ通知を「LINEらしさ」の一つと捉え、これ を活用したリマインダー機能をメイン機能の一つとした • トーク一覧の上位をキープすることを企図し、時刻表や天 気予報など毎日利用する機能を盛り込んだ
  3. 3. いもうとBOT開発チーム
  4. 4. 代表者紹介 植木 悠二(うえき ゆうじ) ソフトウェア作家 / テクニカルライター / 個人投資家 / ラブライバー(ことり) / 愛妹家 高校在学時に大手運送会社の引っ越しスタッフとしてキャ リアをスタート。90年代後半に上京し、飲食店や書店に勤 務しながら独学でプログラミングを習得。 その後学士号(商学)を取得して国内の金融機関に入社。 システム部門でITインフラ・アーキテクチャを担当した後、 マーケティング部門でアジャイル開発体制の構築・運営を 担当。現在は経営企画部門でICTに関するR&Dを担当。 @uezochan
  5. 5. 代表/総合プロデューサー アーキテクト アプリケーションエンジニア UXディレクター エヴァンジェリスト オペレーション 開発体制 インフラエンジニア 個人でWebサービスやアプリを公開してきたメンバーが担当(植木) 2012年頃からいもうとエクスペリエンスを提唱するメンバーが担当(植木) RPAプロジェクトでアジャイル開発体制構築を経験したメンバーが担当(植木) エンタープライズアーキテクチャを経験したメンバーが担当(植木) 分散系のミッションクリティカルなインフラ構築を担当していたメンバーが担当(植木) 1,000台を超えるサーバシステムの運用経験のあるメンバーが担当(植木) 動画製作や書籍の執筆等で実績のあるメンバーが担当(植木)
  6. 6. 機能概要
  7. 7. いもうとと繋がろう、LINEで。 メモのリマインダー 目覚ましコール(電話) 名刺読取・画像認識 時刻表 自宅や会社など登録した最寄駅 または「秋葉原」など指定した 駅の時刻表を教えてくれます 翻訳 90ヶ国語以上の外国語の翻訳を してくれます。外国語⇄日本語 または外国語⇄外国語のどちら も大丈夫 天気予報 自宅や会社など登録した最寄駅 または「ヒカリエ」など指定し た地点の向こう24時間の天気を 教えてくれます メモ一覧 リマインドをお願いされてるメ モの一覧を教えてくれます。時 間の変更やキャンセルもここか らお願いできます あそぶ しりとり、○×ゲーム、リバー シで遊んでくれます。いもうと が遊んでくれます 全お兄ちゃん待望の「いもうとBOT」が誕生しました。多彩な機能で実用性重視のいもうとです。 今すぐ友達登録していもうとライフをエンジョイしましょう 友達追加 使い方と 詳細は Webで!
  8. 8. 機能01_メモのリマインダー
  9. 9. 機能02_目覚ましコール
  10. 10. 機能03_時刻表 機能04_天気予報 機能05_翻訳
  11. 11. 機能06_あそび 機能07_名刺読取 機能08_性別年齢認識 ❤️
  12. 12. 紹介動画 https://www.youtube.com/watch?v=u6yN-Pynvvs
  13. 13. 強力なプッシュ通知によるリマインダー • LINEの通知に気が付かないということがなく、通知として 「最強」の位置づけ。LINEで通知することに意味がある • オムニチャネル化を目指し、Twitterアカウントを連携する ことで、ツイートによるメモもすべてLINEで通知
  14. 14. IoT(いもうと of Things) • 様々なデバイスやサービスと連携できるよう、いもうとに プッシュ通知でメモのリマインドまたはプレーンなメッ セージを送ってもらうためのAPIを開発・公開 http://qiita.com/uezo/items/93885c196e2470ea4a01 • Raspberry Pi3で、ボイスメモを指定の時間にいもうとに通 知してもらうデバイスを試作。自宅冷蔵庫付近に設置 「メモ」の発話をトリガーに録音 開始(Juliusを使用)。テキスト化 にはIBM Watson Speech to Textを 利用。 デバイスのハードウェア・ソフト ウェア構成、プログラムについて も公開予定。
  15. 15. 多彩な機能の実装 • 毎日使っていただくことでトーク一覧上位をキープするこ とを目指し、実用的な機能に加えてゲームまで幅広いライ ンナップとし、絞り込みを行わなかった • BOTにおけるキラーコンテンツを探る意味でも多機能とし たが、現状、ユーザーによって利用機能は分散している • 存在が埋没してしまっている機能もあるため、メニュー化 できなかった機能の露出が課題
  16. 16. 今後の展望・ToDo • 「LINEらしさ」の追求と利便性向上・埋没機能の露出のた め、いもうとBOTにお願いするためのスタンプを制作 • グループ参加時の挙動を再構築。現在はリアルタイム会話 翻訳を企図して全発言に応答してしまう • マネタイズ。プラットフォーム関連費用に加えてTwilioな どを利用しているため運営費がかかるので、最低限それら は有償としたい
  17. 17. BOTはエクスペリエンスが命 大切にした価値観
  18. 18. 時刻表を調べる リマインダーに 予定を登録する いもうとエクスペリエンスの考え方 無味 乾燥 無味 乾燥 いもうとにリマイ ンドをお願いする いもうとに時刻表 を教えてもらう うれ しい うれ しい • Web/アプリは「使う」もの。BOTは「対話する」もの。問題解決のプロセス自体も価値 • 利便性だけを追求するならWeb/アプリで作れば良い(むろん、シーンにもよる) • 自然言語による対話に頼りすぎるとかえってエクスペリエンスを損なうことにも注意が 必要。文字の入力はそれなりにストレス • 機能追加そのものも「いもうとの成長」を感じられるエクスペリエンス ただし、タップ数や操 作の確実性が劣ってい てはすべてが水の泡
  19. 19. 対話エクスペリエンス向上の取り組み • DevOpsの徹底。匿名化された対話ログから、ユーザーが 繰り返し発言している単語や発話が通じなかった箇所を見 つけ、即座にインシデント化 • 入力の「ゆらぎ」は形態素分析により吸収しつつ、ボタン テンプレート等を用いることで対応 • 文脈を考慮した話題横断の対話(渋谷のレストランを聞い た直後に天気を聞かれたら渋谷の天気を返すなど)が課題
  20. 20. 構成とアーキテクチャ
  21. 21. Microsoft Azure 全体の構成 LINE App Services 形態素分析Web BOTアプリ App Services エンドポイントWeb MeCab-WS Wrapper goo API 時刻正規化 キーワード抽出 docomo API 雑談 Google Cloud APIs 翻訳 OCR ジオコーディング Open Weather Map 天気予報 Twilio 電話発着信 App Services Twitter監視ワーカーロール Scheduler メモ通知・アラーム 発信を定期実行 SQL Database ユーザ情報、セッ ション情報等を格納 Computer Vision API 顔認識、シーン認識 デバイス等 Microsoft Azureによるオーソドックスな構成。利用する外部APIはそれぞれ適材適所に選択 Watson Speech to Text ボイスメモのテキスト化
  22. 22. 多機能化を支えるアーキテクチャ • 話題の解釈(Classifier)、入力内容に応じた処理 (Processor)、応答メッセージの組み立て(Composer) を仕組として分割。既存部分に影響なく新機能を追加可能 • 似て非なる対話(最寄駅の登録と時刻表検索など)は、抽 象化した対話フローを継承して開発することで、開発ス ピードアップと保守の効率化を実現 • 対話の文脈(Session)やユーザー情報の取得・保存をア プリロジックから容易に利用可能にした(Getter/Setter)
  23. 23. Classifier DialogService ProcessRequest ComposeResponse Core Session User Data Adaptor Adaptor UserManager SessionManager Logger Tagger Request Response Channel Request Channel Response Extensible いもうと個別開発部分Fixed アプリケーションアーキテクチャ 話題の分類 入力文言の処理 応答文言の作成 LINEから LINEへ BOTアプリケーションフレームワーク ”Minette” をC#で開発。GitHubにも公開。アダプタはしょぼい。。
  24. 24. アプリケーションアーキテクチャ(続き) Classifier 時刻表検索DialogService ProcessRequest ComposeResponse話題の分類 入力文言の処理 応答文言の作成 最寄駅登録DialogService ProcessRequest ComposeResponse 入力文言の処理 応答文言の作成 その他各種DialogService ProcessRequest ComposeResponse 入力文言の処理 応答文言の作成 話題に応じた DialogServiceを利用 DialogService同士は疎な 関係のため変更に強い 会話から路線・駅名を特定するDialogService ProcessRequest ComposeResponse 抽象的・汎用的な対話を継承して具体的な 対話エンジンを作成 継承 この部分をオーバーラ イドすれば、機能はそ のままに「人格」のみ を変更可能。姉BOT、 弟BOTなどに即座に展 開可能 DialogService ComposeResponse 対話エンジン(DialogService)を部品化。未公開含め10以上の機能を追加しても保守性に影響なし
  25. 25. 開発を通じての所感 • とても楽しかったです(小並感)。開発している側も、生 命を吹き込んでいるような気分 • 単体でアプリやサービスとして公開するほどではない、 ちょっとした機能の「発表の場」とできてうれしい。勉強 中のマシンラーニング周りを強化していきたい • BOT開発コミュニティがもっと盛り上がるよう、微力なが ら貢献していきたい
  26. 26. まとめ(サマリ再掲) • いもうとBOTは「妹にお願いする」というエクスペリエン スを実現するLINE BOT • 強力なプッシュ通知を「LINEらしさ」の一つと捉え、これ を活用したリマインダー機能をメイン機能の一つとした • トーク一覧の上位をキープすることを企図し、時刻表や天 気予報など毎日利用する機能を盛り込んだ
  27. 27. Thank you Yuji Ueki General Producer, Team Imoutobot @uezochan uezo@uezo.net

×