So What!?

カテゴリ

記事

連絡先

何か間違っている情報などがあればTwitterにてメッセージください。

ご注意

このBlogはアクセスデータをGoogle Analyticsおよび、Cloudflare Analyticsに送信しています。また研究開発用にSentryにパフォーマンスデータを送信しています。それ以外のデータは収集していません。

Alexa Dev Summit 雑まとめ

2018年12月15日

最新情報(最後の5分だけ)

Alexa re:Invent reinventvideos.com

  • Echoボタンを使うとセッションを再開できる
  • フローチャートよりストーリボード

APL

スキルのデザイン・実装

  1. 台本、フロー作成
  2. モデルの準備(作成した台本をAlexaに教えてあげる。Alexaが理解できるようにしてあげる)
  3. 実装

台本を作る

  • 人間同士の会話をイメージしながら片方をAlexaに置き換える
  • 出前館の例だと、先に値段を言う必要がある(リアルだと会計時)

台本

  • 簡潔に話し言葉で、繰り返しをへらす
  • ユーザーの知識を前提としない
  • ユーザに求める情報は一度に1つまで選択肢は明確に、多くても3つまで
  • ひとつのスキルでも台本は複数存在する
    • 新規注文
    • リピート注文

対話フローの作成

まずは台本の中で質問に注目し、その質問が状態をカテコライズする。 カテゴライズされた状態を線でつないでいく(いろんな状態遷移のパターンを網羅していく)

矢印の引き方のポイント

  • 中断中の状態が考慮されているか
  • ワンショット起動されたときにどの状態でスタートするか
  • 発話が同じでも、スキル側の要因で遷移先が変わることがある
    • 中華屋さんが閉店、品切れしている
    • サーバー側でエラーが発生した
  • 全ての状態で想定外の発話への対応を考えておく

キャンセルと停止については、この2つの概念をスキルで区別する必要がある場合のために、別々のインテントが用意されています。これにより、「停止」とは異なる意味で「キャンセル」を使用できます。 ただし、ほとんどのスキルでは、この2つの動作は同じです。

モデルの準備

台本上のユーザーの発話はインテントに割り当てていく -> この段階でインテントを洗い出す

ビルトインインテントを優先して使っていく

キャンセルとストップについて

サンプル発話がかぶってしまう場合は一つのインテントにまとめ、バックエンドで状態を管理しながらハンドリングしていく

例) 何番を追加しますか?と、何番を削除しますか?に対する発話は同じ可能性が高いので、インテントはまとめる

デバッグTips

発言が正しくインテントに紐づけられているかを判断するために Alexaから受け取ったリクエストのJSONをカードとしてレスポンスを返すLambda関数を作成しておくと楽

対話フロー中の矢印を列として、状態、発話例、インテント、応答例(画面あり)、応答例(画面なし)を表にしていく 画面のありなし、で発話のパターンが変わる可能性もある。が、画面ありの場合でもユーザが画面を見ているかどうかはわからない。

[子供向けコンテンツをつくるときに考えること] Whiteさん

何才向けのスキルを作るのか、そのくらいの子供は言語の認知レベルがどの程度なのか。

プレイソナ・目的を考える

どう言う状態でつかわれるのか

  • 料理中?買い物に行く前?
  • 親と子供にむけたスキルを作る場合は、親と子供がそれぞれ使える感覚をかんがえる必要がある
    • はみがきすきるだと、子供は喋れない(代わりに親に喋ってもらう)
  • 対象年齢がスマホを使うのは何時か、どんなアクティビティが多いか
  • 親のどんな悩みを解決したいのか
    • 遊び相手
    • 行動の誘発
    • コミュニケーションの活性化
      • 親も楽しめないといけない -> がっつり下ネタは厳しい
  • 親を意識する
    • 体験するコンテンツを精査している親
    • 性差をはっきりさせすぎない
    • あそぶと学ぶをつなげる
    • 社会性の成長を促す

学びの変化

  • 自分で考えること
  • 英語の4学習化
  • ディベート

TIPS

  • ゲームコンテンツにはSEを効果的に使っていく
  • 否定しない
  • エラー時も、エラーとして捉えさせない
    • ランダムで回答する
    • 隠しコマンドてきな。発話に関係ない回答でもうまく行くシナリオをかんがえる

VUIアプリケーションでつくるものは、ゲームではなくコミュニケーションである

有名スキル

スキル認定のヒント

  • 認定チェックリスト
  • 子供向けスキルは16歳未満(国によってちがう、アメリカは13歳)
  • 広告がある、アカウントリンク、個人情報を取得するスキルはこども向けとして公開できない(保護者とのしようが望ましいに振り分けられる)
  • 第三者の知的財産を使用する場合は使用許諾の許可がわかるURLをテスト手順に書く
  • 著作権の表記も忘れずに

呼び出し名について

  • 公開後は変更できない
  • 2つ以上の名詞を含める
  • つなぎの語、助詞は含めない
  • 1アカウントで呼び出し名は一意でないといけない
    • 別バージョンを出すときに注意する

詳細な説明でリジェクトされるケース

  • 呼び出しサンプルだけでなく、呼び出すことで何を教えてくれるのかも含める
    • 「何」についても詳しく書く
  • 呼び出しサンプルは実際の会話モデル内のサンプル発話をコピペする

サンプルフレーズ

  • 最低1つあればOK
  • 起動サンプルの場合は、ウェイクワードも含める
  • 実際の会話モデル内のサンプル発話をコピペする

対話モデル

  • ヘルププロント
    • スキルの説明
    • サンプル
    • 最後に発話のタイミングをうながす

このスキルは、、、、できます。「ほげほげ」と話しかけてみてください。なにについてしりたいですか?

傾向

  • トリビア系
  • 脳トレ・クイズ系
    • セッション管理注意
  • 勉強系

Amazon Pay 入門

赤十字

amazon payを使うことで、On-Amazonから、On-Amazon + Off-Amazonへ

  • アマゾンアカウントが流用できる
  • Amazon Pay手数料のみで導入できる
    • 現物、サービスの販売は4.0%
    • デジタルコンテンツは4.5%
  • 法人のみが対象で審査が必要
  • 開発で使いたい場合は事業者登録の法人のとこにAlexa開発用とかって書けばOK
  • 決済を導入する場合はオーソリに注意
    • オーソリに失敗した場合は決済を完了してはいけない

Amazon Payの3つの決済

ワンタイムペイメント

  • Amazon Payのボタン
    • ユニークID
    • 名前
    • アドレス
    • 郵便番号が取得できる
  • アドレス帳・支払い方法のウィジェット
    • 名前
    • 住所情報
    • 電話番号
  • 金額設定、取引商品、オーソリAPI
  • 完了

※テストはサンドボックス環境を使える ※予約商品の場合はオーソリの再取得などが必要

Auto pay

最初に今後も支払いすることの同意を得る。パターンは3つ

  • 定期便
  • サブスクリプション
  • ワンクリック購入
    • ワンタイムの場合は都度支払い方法の選択が必要

ワンタイムペイメント + Auto Pay用のウィジェットを実装。 Auto Payの場合も、課金したいタイミングAPIをコールする必要がある(金額を変えたりすることが可能)

Alexaにおける Amazon Pay

  • Setup API: 決済の準備をする
    • ユーザーの情報を取得
  • Charge: API: 実際に決済をする
    • ユーザーが指定しているクレカに請求を行う
    • オーソリのみ、請求のみも可
  • キャンセル・返金の機能をスキルに組み込まなくてもいいが、どうすればできるのかの手段をおしえてあげる必要がある

調査する

  • 手動で公開できるか
  • 審査出す前にベータテスターできるのか