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.

「アレクサ、"リーフスキル"の作り方を教えて」

9,989 views

Published on

2018年4月2日に #NissanTechtalk で話した"リーフスキル"についての発表資料です。

Published in: Software
  • Be the first to comment

「アレクサ、"リーフスキル"の作り方を教えて」

  1. 1. 「アレクサ、“リーフスキル” の作り方を教えて」 日産自動車株式会社 コネクティドサービス本部 サービス開発部 秀島裕介
  2. 2. 秀島裕介 a.k.a. hidesuke • 2017年2月に日産自動車に入社 • ソフトウェアエンジニア • 高機能雑用 • 基本的にwebアプリケーション屋 • 深層学習チョットダケワカル • (TECH PLAYで以前講演しました) • 趣味 • 小説投稿サイト「かきあげ!」 https://kakiage.org • シャチクグッズ https://shachikume.booth.pm
  3. 3. LEAF • 世界初の量産型完全電気自動車 • 全世界で30万台以上販売(2018年1月) • 2010年からグローバルデータセンター(GDC)という仕組みで車 がインターネットに繋がっている • アプリもあるよ
  4. 4. NissanConnect EV
  5. 5. LEAF Skill for Alexa • 2017年11月提供開始 • Amazon Echoの日本販売時のローンチ パートナー • 開発メンバー • 企画2人 • エンジニア2人 • QAエンジニア1人 • 開発期間3ヶ月
  6. 6. アレクサ、リーフで…… • バッテリー残量を確認して • エアコンをつけて • 充電を開始して
  7. 7. アーキテクチャ Amazon Alexa Server ACMS Alexa Gateway GDC 音声 intent API call 実行結果返答text音声 ここを つくった
  8. 8. 開発環境 • 環境 • nodejs 8.x系の最新 • Express + alexa-app • Redis • ツールはモダンな普通のものを • ローカルではUnitTestをしっかり書く • dev環境にアップロードして動作確認 • アジャイル(not Scrum) • concourceでCI
  9. 9. 実行環境 開発環境 AlexaGW 本番 GDC Dev Skill 本番 Skill Staging Skill ステージン グ環境 AlexaGW 本番環境 AlexaGW 検証環境 GDC GDC mock 検証車 普通に売ってる車
  10. 10. Alexa Skillのサーバを作る正攻法 • alexa-skills-kit-sdk-for-nodejsを使う • Amazonが公式で配布しているライブラリ • 直感的で簡単に使える • ただし、サーバはAWS Lambda前提
  11. 11. !?
  12. 12. AWS Lambdaは実際便利 • 関数さえかけばなんか動く • 自前でサーバをもつ/管理する必要ない • 話題のサーバレスアーキテクチャ • 毎月1,000,000件のリクエストまで無料! ヒーハー!
  13. 13. だがまってほしい Amazon Alexa Server ACMS Alexa Gateway GDC 音声 intent API call 実行結果返答text音声 internalexternal
  14. 14. 車を操作できるプラットフォームをインターネッツ に解き放つわけにはいかない……っ!!
  15. 15. アーキテクチャ Amazon Alexa Server ACMS Alexa Gateway GDC 音声 intent API call 実行結果返答text音声 internalexternal
  16. 16. AWS Lambdaを使わない方法 • 自前でJsonをパースして、Amazonの証明書をベリファイして、 あれしてこれして……というハードモードも可能 • alexa-app というライブラリを利用(こちらを採用) • AWS Lambdaも利用可能 • Express(nodejsのWeb Application Framework)と連携できるので、普 通のwebサーバでも動く • Amazon Developer Consoleに登録する IntentSchemaや SampleUtteranceの自動生成機能もある • 最悪、ライブラリの中身読めばなんとかなる作り。 普通のwebサーバとしてSkillを作って、普通のwebサーバで公開した
  17. 17. 発話内容の管理
  18. 18. 地獄
  19. 19. 発話内容はGoogle SpreadSheetで管理
  20. 20. 発話内容はGoogle SpreadSheetで管理 • 複数人で同時に作業できる • Google Apps Scriptでボタンを押したらJSONとして保存できる ようにしてある • 作成したJSONファイルをプログラムから読み込んで • Amazon Developer Consoleに流し込むデータを作成 • プログラムからEchoに返却する返答データを参照 • 国際化(i18n)対応などが楽
  21. 21. ユーザの行動分析 • アプリケーションのログからユーザの行動を分析 • どの機能がよく使われているか • ユーザが辛みを感じている部分 • 何時頃にどういった機能を使っているか • これらを元にアプリケーションの改善を行う • Alexaではユーザの発話そのものは取得できない • どの機能を使ったか • サーバからどういう返答を返したか • ……などをログとして残している
  22. 22. 行動分析システム サーバ サーバ サーバ Operations Management Suite (ログ集約) 全文検索エンジン BIツール
  23. 23. 運用/監視 • ログ監視 • 何かあったらSlackに通知がく る。 • とにかくなるべくSlackに集約 したい。
  24. 24. DevOps • 作った自分たちできちんと運用 • ユーザの行動を解析して、改善ポイントを探る • 社内で開発をしているので「自分たちで」「すぐに」改善がで きる • ユーザに継続して価値を届け続ける。
  25. 25. これからの展望

×