[レポート] Alexa スキル ー ベストプラクティス #Alexa #AWSSummit

2018.05.30

こんにちは、せーのです。
今日は2018/05/30より3日間に渡って東京、品川で開催されている「AWS Summit Tokyo 2018」からセッションリポートをいたします。

このレポートはTech上級 「Alexa スキル ー ベストプラクティス」です。スピーカーはアマゾンジャパン合同会社 Alexa Skills Kit本部 シニアソリューションアーキテクトの小林 剛士氏です。

レポート

  • ジェフ・ベゾスがお客様に宛てた手紙 => we willl continue to focus relentlessly on our customers.
  • 長期的に投資する、というのがAmazon のミッション
  • 2018/3/31 アメリカ、インド、ドイツなどで好評戴いているAlexaを日本で正式に開始した

人間は昔から面倒なことはしない

  • インターフェースの変遷: Character Mode => GUI => Web => Mobile => VUI
  • 顧客本位の利便性の向上に声、という自然なインターフェースがフィットする

Alexaは複数のコンポーネントのかたまりでできている

  • 自動音声解析(ASR)
  • 自然言語理解(NUI)
  • 音声変換(TTS)
  • 機械学習(Deep Learning)

  • 音声だけでは伝えられない場合はAlexaアプリに画像つきのカードを送ることができる

  • Alexaはフロント側のVUIデザインとバックエンド側の処理ロジックの2つから構成される
  • VUIデザインは開発者コンソールから設定するだけ
  • ここで認識した内容がIntentやSlotに変換され、バックエンドに送られる
  • AlexaからJSONの形でバックエンドに送る
  • デファクトスタンダードとなっているバックエンドはAWS Lambda
  • AWSの100ドル分の無料プロモーションクレジットを貰える
  • Lambdaをプロキシサーバーのように使うことで自社のサービスと連携できる
  • 自社サービスとAlexaをアカウントリンクすることで自社のリソースをAlexaで活用できる
  • 同じくアカウントリンクでIoTデバイスを接続すると声で電球などのスマートデバイスを操作できる

スキルの種類

  • カスタムスキル
    • ユーザから複数の情報を言ってもらって処理することができる
    • 呼び出し名が必要
  • スマートホームスキル
    • 「アレクサ、キッチンの電気をつけて」などでスマートホームデバイスを操作する
  • フラッシュブリーフィングスキル
    • 一番作成が簡単
      • RSSなどを読み込んでそのまま話してくれる

カスタムスキル

  • ローンチリクエストによる呼び出しとワンショットの呼び出し
  • ローンチリクエスト
    • 呼び出し名のみユーザーが発話したパターン
  • ワンショット
    • Intentにつながる発話を呼び出し名と同時に言うパターン
  • 開発者は両方のパターンでリクエストが来ることを想定して開発する必要がある

IntentとSlot

Intent

  • 発話の内容をIntent(意図)に変換する
  • サンプル発話を開発者コンソールに登録することでIntentと紐付ける
  • サンプル発話は最低5つ以上、理想は30程度を登録すると間違いない

Slot

  • 認識されたときのAlexaのパターンを理解しておく
    • アルファベットは小文字
    • 句読点は省かれる
    • 数字は漢数字となる

スキル開発のプロセス

  • ユーザーによく使ってもらうためのスキルをつくるのは難しい
  • 設計のアイデア出し
  • 開発
    • コーディングが複雑になっている場合はフローが複雑になっている可能性がある
    • コーディング、フローはシンプルになっていることを心がける
  • テストと認証
    • 審査に通れば公開される

使われるスキルとは

  • 日々使うユースケース
  • 会話フローがシンプル / 音声のほうが楽
  • コンテンツが最新
    • 徐々に定期的に更新することでリターンユーザーを増やす
  • 特別な体験
    • スキルからのみ使える限定のサービスや特典などをつくる 
  • 覚えやすいスキルの呼び出し名
  • できることが明確
    • スキルの名前が「ピザ注文」であればピザが注文できなければユーザの不満が募る
  • エラーがない

Dialogue Sketch

  • ハッピーパスを記入する
    • ハッピーパス、とはユーザとAlexaが適切なやり取りを最後までする内容のこと
    • この時点で会話が長いと感じたらパスを考え直す
    • 音声より画面がいい、と感じたらイチから考え直すことも

スキルフローデザイン

  • フロー形式でユーザーからの発話に対する処理を書き起こす

Designing Alexa Skills for retention

  • リテンション率をある程度キープできればマーケティングに力を入れて広める

What’s New

新しくなった開発者コンソール

直感的に使えるようにUIが変わった

ASK CLIとAWS Cloud9で上級者開発

  • コマンドラインを使ってスキルを通じてのLambdaのアップなどを一気に済ませてしまう
  • Lambdaの管理や反映にCloud9が便利

インテント履歴

  • どのような発話をされて、どの程度認識されたか、を開発者コンソールから見られるようになった

新しい15種類のビルトインスロット

  • 指定するだけで学習済みのカテゴリスロットが使えるようになった
  • SearchQueryでフリーフォームなスロットが作れる

Synonyms / 同義語

  • 同じ意味だが言い方が変わる場合、Synonymsに登録することでAlexaで統一した値を裏に渡すことができる
  • 開発者の負担が減る

アクセス権限

  • デバイスアドレス
    • デバイスに設定した住所を使える
  • リスト
  • プッシュ通知(Dev preview)

ダイアログモデル

  • Intentに入っているSlotをバックエンドからではなくAlexa側から確認してくれる
  • Slotが全て埋まるまではAlexaが勝手に確認してくれる

高品質な音声会話を提供しよう: SSML

  • 間を置く、イントネーションを変える、などの細かい口調を変える事ができる
  • audioタグを使うことで事前に準備した音声を使うことができる
  • サウンドライブラリ
    • 自由に使える音声ライブラリをAmazonが用意

キッズ向けのスキルが作れるようになりました

  • 今までは子供向けのスキルは禁止だったが、現在は使えるようになった

Tシャツプレゼント

  • 毎月違うデザインのTシャツをスキルを公開した開発者にプレゼント

Amazon Pay for Alexa(アメリカのみ)

  • スキル内で物理的なものを購入する時に決済手段としてAmazon Payが使えるようになった

In-Skill Purchasing(アメリカのみ)

  • スキル内で課金手段としてマネタイズすることができる

まとめ

いかがでしたでしょうか。個人的にはインテント履歴が開発者コンソールで見られるようになった、というのはかなり大きいですね。これがもしASK CLIで取れたら発話分析が捗りそうです。