[レポート] How do we connect VUI to the real services using serverless #alexaday2018 #jawsug | Developers.IO

[レポート] How do we connect VUI to the real services using serverless #alexaday2018 #jawsug

はじめに

本ブログは、2018年2月11日(日)に開催されたAlexa Day 2018のセッション、
How do we connect VUI to the real services using serverless
のレポートです。

スピーカーは、 株式会社セクションナインの吉田真吾さんです。

スライド

レポート

VUIデザインの話

  • どうカスタムスキルをデザインするのか?
    • Amazonに音声デザインガイドがある
  • 目的とユーザーストーリーの設定
  • 台本の作成
    • 実際に声に出してみる
    • ユーザーとAlexaの会話の流れを把握する
  • 対話フローの作成
    • フロー図をざっくり作成する
    • あとでLambdaを実装する時に非常に役に立つ
  • スキル構築の準備
    • 発話のマッピング
  • われわれが作りたいのは、IVR(自動応答システム)ではない
    • 意味・文脈を理解するアシスタント
  • インテントの作成(Skill Builder)
    • 初めからSkill Builderを使って開発
    • GUIでインテントやスロットを作成できる
    • サンプル発話で動詞の「ゆれ」を吸収する
    • Skill Builderを使うと、スロットにシノニムを簡単に設定できる
      • 目的語の「ゆれ」を吸収できる
  • ステート(状態)の管理が大事
  • 「ゆれ」を吸収してユーザーに気持ちよくつかってもらう
    • もっと進化してシノニムを書かなくてもよくなるようになって欲しい(願い)
  • 真面目に設計するプロセスが必要になってくる
    • VUX(Voice User eXperience)デザイナーの必要性

サーバーレスの話

  • バックエンドはAWS Lambdaが実質的なスタンダード
    • Lambdaの登場によってパラダイムシフトが起こった。サーバーレスの世界へ
    • Funciton as a Serviceの台頭
  • サーバーレスの定義
    • SendGrid, Auth0などの単機能SaaSも入るのでは
    • サーバーレスのエコシステム
  • サーバーレスの特徴
    • 開発の高速化
    • 運用の省力化
    • Typescriptの開発者は2人で4ヶ月でローンチ
      • FaaSをうまく活用することでフロント実装に集中
    • プロダクトの最終責任
      • 最終責任は開発者にある
      • サーバーレスを利用するにしても、中身は理解しておく
  • ユースケース
    • Webアプリケーション
      • S3を使ったSPA
      • CSVアップロード/ダウンロード
      • API Gatewayを使ったREST API
      • Shifter
    • 運用
      • オンコールシステム (Twilio)
    • アプリケーション連携
      • Alexa Skills Kit

デモ/実装方法

  • エコちっち
    • Alexaの中で妖精を育てるゲーム
    • 「エコちっちでリセットして」「エコちっちで元気か教えて」
    • 対話のフロー制御
      • 無限ループにならないようにステートを使う
    • エコちっちの寿命
      • Lambdaのセッションで終わらないように、DynamoDBを使う
      • Alexa SDKを使うと1行書くだけでOK
    • コードは816行
      • 150行ぐらいでいけると思ってた
  • HRアプリ
    • 「Alexa、オー人事で佐藤さんの給与グレードを教えて」
      • 1つのインテントで複数のスロットを定義している
      • スロットのシノニムは定義したvalueがそのまま返ってくるので、定義したシノニムそれぞれに条件分岐を書く必要がある
  • ステートを制するものが対話モデルを制す

おわりに

VUIデザイン・サーバーレスの話を、実際に作成されたデモスキルを交えてわかりやすくお話いただきました!
エコちっちのスキル公開を期待しています;)