[レポート] Alexa Skills Kitでプロダクトの可能性を広げる #alexaday2018 #jawsug
はじめに
本ブログは、2018年2月11日(日)に開催されたAlexa Day 2018のセッション、
「Alexa Skills Kitでプロダクトの可能性を広げる」
のレポートです。
スピーカーは、 株式会社リクルートマーケティングパートナーズの市川純さんです。
概要
Alexa Skills Kitの基本的な説明から、実際に公開したSkillについての解説を行ないます。
レポート
Amazon Alexaとは
- Alexaのエコシステムについて
- Alexa Voice Service(AVS)とは
- Alexa Skills Kit(ASK)とは
- USでは2016年10月以降、サードパーティのスキルが4500から32000に増加
- Alexa Skillの種類
- カスタム対話モデル
- スマートホームスキル
- フラッシュブリーフィング
- ビデオスキル(日本未対応)
- スマートホームスキル
- 呼び出し名が不要
ASKの基本(カスタム対話モデル)
- 開始フレーズ(〜をつかって、〜を開いてなど)
- 発話の基本(どう解釈されるか)
- 呼び出し名(アプリ名のようなもの)
- ウェイクワードや起動フレーズ、繋ぎ語を含めてはいけない
- スロット(変数のようなもの)
- ビルトインタイプ(AMAZON.DATE, AMAZON.NUMBER...)
- カスタムタイプ(自分で定義する)
- 対話モデル
- サンプル発話で発話のマッピングを定義
- インテント(ユーザー発話の意図)とそれに対するサンプル発話を登録していく
- インテントスキーマ
- サンプル発話に定義したスロットを含める
レシピ動画サービス(ゼクシィキッチン)の開発
- VUIの設計
- Amazonに設計用のドキュメントがある
- 開発の際に含めなかったこと
- アプリのキャラ設計
- SSMLを使った自然な発話(既存コンテンツを利用するため)
- 本来は動画でユーザーの負を解決する
- Echoで動画は見せることはできない
- 具体的な表現が音声だけでは伝わらない
- ユーザーストーリー
- おすすめ、ジャンル、食材などでレシピを探す
- ユーザーとAlexaとの会話の台本を作る
- ユーザーがどのようにAlexaに発話するか様々なパターンを想定する
- スキル起動のフロー
- 前回のセッションがあればリジュームする
- ユーザーのセッションの扱い
- Alexaはスキル起動中しかセッションを維持しない
- 永続的なデータベースにセッションの情報を残すことを考える
- スキルに必要なインテントとは?
- レシピの検索インテント
- 「{スロット}のレシピを教えて」
- 「{スロット}の作り方」
- 思いつく限りの発話を登録して、ユーザーがどのように話しかけても反応しやすくする
- Skillの開発
- AWS Lambdaを使う
- サーバーレス
- SSL証明書を用意しなくてもいい
- 自分でホストする場合
- ASKのI/Fに準拠している必要がある
- Node.jsでSDKが準備されている
- ASK CLIがある
- 日本語対応はまだ途中
- AWS Lambdaを使う
- 実際のスキル開発では複数の環境を用意する必要がある
- 本番用と開発用のエンドポイントを準備する
- テストは以下を使う
- Developer Console
- サービスシミュレーター
- Echosim.io(AVSで作られている。ブラウザから利用可能)
- 実機がなくてもテストができる。実機が無かった開発当初はうまく活用していた
- 運用
- ライブ(公開された)スキルはメトリクスが確認できる
- インテントの利用状況を比率でチェック可能
- スロットとして登録している情報はキーワードとして取得できるので、そこから利用状況を確認
- ワードクラウドで確認したら、改善前は「人気」「終了」キーワードが最も多かった
- 改善後は、いろいろなキーワードも入ってくるようになった
- プロダクトのスキル開発
- 台本を考えて、声を出して会話してみる
- できるだけ短く発話するように改善してみる
- ユーザーのいろいろな発話に対応できるようにする
おわりに
ASKを使ったカスタム対話モデルの作り方について、とてもわかりやすいセッションでした!
実際のプロダクト開発のご経験からの具体的な話もあり、参考になるところが多かったです!