[レポート] ALX304 あなたのAlexaスキルを真にパーソナルなものに仕上げるには #reinvent

2018.11.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

せーの@ラスベガスでございます。このエントリはALX304「Tailor Your Alexa Skill Responses to Deliver Truly Personal Experiences」のレポートです。

このセッションはチョークトーク形式となるため、内容が前後したり飛んだりする事がございます。

レポート

どうしてパーソナルな体験が必要なのか

  • SF作家、アーサー・C・クラークは言った。「十分に発達した科学技術は魔法と見分けがつかない」
  • VUIテクノロジーが「魔法」となるには、より自然で、友達と会話していると錯覚させるような受け答えが必要だ

どうすればパーソナルな体験を作れるか

パーソナルな体験を感じさせる特性

  • どんな質問でも、答えるのは一度だけ
    • 全く同じ回答を何回も答えるのは機械っぽい
  • デフォルトの設定
  • 会話を通じたコンテキスト
    • 「前の」「これは」などを説明しなくても理解する
  • 言語はより自然に
  • ユーザーは個々の体験をユニークと感じる

  • Good example

    • U「Alexa、AnyCompanyを使ってなんか食べたい」
    • A「いつものーペペロンチーノピザLサイズーでいいですか?」
    • U「いいよ」
    • A「わかりました。30分で届きます」
  • bad example
    • U「Alexa, AnyCompanyを使ってなんか食べたい」
    • A「今日はペペロンチーノピザがありますよ! Lサイズが良いですか?」
    • U「俺はベジタリアンだって前言ったじゃん」
    • A「それはよくわからないです。ピザはどうですか?」

パーソナルな体験を届ける3箇条

  • Memory
  • Variety
  • Localization

Memory

  • Lambdaは状態を保存したまま実行するわけではない
  • スキルビルダーでは結果2つの記憶レイヤーを持っている
    • Session Attributes
    • Persistent Attributes
  • Session Attributes
    • RAMメモリを使う
    • 一時的な記憶領域として扱う
    • 少しだけDBに書き込む
  • Persistent Attributes
    • ユーザーデータを永続的に保管する
    • User IDがプライマリキーになる
    • デバイスやセッションを横断して永続化する
  • ユーザー情報
    • タイムゾーンと単位
    • Customer Profile API
    • アカウントリンキング(optional)

Variety

  • 人は同じことを2度聞かれるのを嫌がる
  • コンテキスト外の事を話すと不自然に聞こえる
  • 人は違う言い方で話したい
  • 解決法
    • レスポンスはランダムに
    • できるだけコンテキストに沿ったレスポンスを心がける
    • 言語はユーザーが話す言語で
  • Step1: ランダムに

  • コード例

  • Step2: コンテキストに沿って

  • Step3: 言語をあわせて

  • Stringはハードコードしないで

  • i18nライブラリを使おう
  • ユーザに合わせて
  • CMSを使うことを検討しよう

  • langフォルダを作り、言語コード + [.js]でファイルを設置

  • コード例

  • SDK V2ではインターセプタを使い、requestAttributesの中に言語情報を入れる処理を追加する

  • 追加した言語情報はtコマンドで取得できる

まとめ

いかがでしたか。ここはVUIの基本の部分でとても大事なのでしっかり抑えておきましょう。