Alexa Salonに行ってきました。

このイベントは「サロン」ということで、発表者だけでなく参加者も自由に喋れるような勉強会を目指して、隔月開催で細く長く続けたいとのことでした。
(私も細く長くお邪魔したいなと思います。)

基礎から学ぶVUIの勘所

VUIとは

  • UIのひとつ。
  • 様々なUIが存在するが、共通するのはUX。
    • あくまで体験するためにUIがある。

会話における法則

  • メラビアンの法則
    • 視覚情報(身振り手振り)が55%
    • 聴覚情報 38%
    • 言語情報 \7%/

VUI設計で気をつけること

  • NUDGE
    • 行動経済学の用語。
  • 肘でつつくという意味。
  • ユーザーが自然かつ無意識に意図通りの行動を起こすように、環境を整え促すこと。
  • 環境を整えて誘導することが大事。

  • 選択肢が長くなってしまうようならカードを使う。

  • 一息で言い切れる長さ。

  • UIの種類は2つある

    • グラフUI
    • フレームUI
  • グラフUIは従来のプログラムのようなもの。

  • フレームUIの方が自然。

VUI設計の作り方

  • 何をしたいかわからず開発してしまう方が多い
  • ユーザーを楽しませることができればよいのか?
  • VUIの得意な部分を見定める。
  • ユースケースや利用頻度を考える。

キャラクター設定

  • ペルソナを作る。
  • 職業・役割を決めるとセリフの口調がぶれない。

ハッピーパス

  • ストレートに成功する会話例を考える。
  • ここでも書き言葉と話し言葉に注意する。

インテントとスロット

  • State → Intent → Slot というような順序の階層で構成されている。

UI図

  • すべてのスロットを埋めないと次へ進めないのは鬱陶しくなりがち。
  • ユーザーが余剰に発話した場合は拾えると良い。
  • 別Intentに飛ぶケースを想像しておく。

エラーハンドリング

  • キャラクターを設定軸にする。
  • 疑問形で終わることで、ユーザーの次の行動を促す。

Alexa-SDKについて

  • 発表されたのは元陸上自衛隊のエンジニアさん!

    • そういえば、2016年のDevelopers IOの時にもSINさんのセッションをお聞きしました。
  • Alexa SDK V2、2018/4/18に突然の登場。

  • SDKがあることで、煩わしい作業を任せて、ロジックに集中できてウハウハ。

  • Alexa SDKは、現状公式での対応言語はNode.jsとJava。

バージョン1

  • 今回出版したAlexa本も書き終わってから、バージョン2が出てしまったので、コードはバージョン1で書いている。
  • Lambdaのブループリントもまだバージョン1で書かれている。

バージョン2

  • 自分でルーティングを決められるようになったイメージ。
  • データ永続化の記述が明確になった。
    • 明示的に使うことを記述する。
  • DynamoDB以外も使える。
  • AlexaサービスAPIのラッパー提供。

    • ユーザー(のAlexa)からトークンが送られてくる部分の処理。
    • ユーザーの住所情報を取得する時などに使う部分。
  • v2はv1と比べるとコードが重い。

  • index.handlerがpromiseになっているので、ErrorHandleに落とせる。
  • Lambdaが死亡しなくて済む。

  • 現状はディスプレイ表示は日本語のデバイスにはない。

    • テストシミュレーターには存在するので、試すことはできる。

TypeScriptでの実装

  • Alexa SDK v2はTypeScriptで書かれている。
    • そのためSDK自体のアップデートがあっても同時に型定義がされている状態。
    • (アップデート時に型定義の時差がない。)

大質問大会

  • 対話モデル・対話フロー設計時のおすすめの方法は?

    • Webでペーパーモックを作るのように、実際にユーザー役とEcho役に分かれ話してみて試す。
    • フロー図に起こして、Intentも設計する。
    • 想定されるハッピーパスの台本を作る。
      • いざお客さんにハッピーパスを見せたりすると結構ずれがあったりする。
  • 開発方法、事例、活用ポイントについて。

    • エディタ使って、ふつうにやっています。
    • Lambdaでの開発方法・事例が活きてくる。
  • ニーズが高いスキルはどのようなスキルか?

    • 今はAmazonとしてはキッズ向けを作って欲しい。
    • お子さんと親御さんと一緒に遊べるもの。

    • 人気があるものは?

      • キャラクターの声が出るものは人気。
      • ライセンスを持っている人しかできなくなる。
      • キャラクターの声があるものが人気なのは日本特有の傾向。
  • Alexaの広告ポリシーについて、クイズで正解の前に広告が入るものはどうなのか?

    • ポリシーとしてはOK。
    • 頻度があまり高い場合は、煩わしいと思われるのではないか。
    • 子供向けには広告はNG。
  • RDSを使うのはどうか?

    • そもそもLambdaにDynamoDBってどうなのか…?
  • Alexaで手持ちの音楽のファイルを再生する方法はあるか?

    • SSMLに音楽ファイルを埋め込むことができる。
    • 著作権は気をつけて。
  • 勝手に喋りだす機能はないか?

    • Google Homeには、Google Home Notifier(勝手に喋る機能)がある。
    • Alexaの場合、通知がある場合は黄緑色に光る。
    • 現状勝手に喋るものはない。
      • 勝手に深夜に笑いだしたあの事件は不幸が重なった。
    • 勝手に喋りだすのはユースケースとしてどうなのか?
      • ユーザーがスピーカーのそばに常にいることが前提になってしまう。
      • 外出中に勝手に喋って、通知済みとして認識することも考えられる。
  • 予期せぬ発話で呼び出されるIntentは?

    • 現状、FALLBACKINTENTが日本語未対応。
    • FALLBACKINTENTがなければ、定義しているどれかのIntentに入る。
    • FALLBACKINTENTがある場合、少しでも曖昧な場合はFALLBACKINTENTに入ってしまい、パワーが強すぎる場合もある。
    • 本当にどのIntentにもはいらなければ、入らなければUnhandled。
  • 個人情報の保存する際のデータの永続化ってやりようがありますか?

    • 個人情報の保存等は法令等規則に従ってやってほしい。
    • Alexa Skill申請時に登録する、利用規約やプライバシーポリシーのURLは、自分で作ったサイトに載せたものにしてほしい。
      • 関係ない企業の利用規約などが指定されている場合があるらしい。
  • バックエンドに機械学習を絡めることはありますか?

    • あまり聞いたことがない。
    • 機械学習であれば、AlexaというUIにこだわる必要はないようにも思う。
  • Alexaはビジネスシーンでの活用事例はあるか?

    • 現状はホームユース想定。
    • Alexa for Businessでないと一般向けにも公開にしてしまうことになる。
      • 現状Alexa for Businessは北米のみ。
    • 社員に限定するために、アカウントリンクで社員のみしかログインできない状態にするのはどうか?
      • Amazonの審査担当も一般のユーザーと同様の利用方法でブラックボックステストをしているため、社員に限定した場合、審査時に動作の確認ができなくなり、公開ができない。
      • Alexa Skillの審査は権利上の問題でソースコードまでの確認をすることはしていない。

雑感

  • Alexa SDKのV1とV2の違いを知ることができて面白かったです。

    • SDKも進化の方向を迷っているところもあるのかもしれないですね。
    • V2での開発に関する資料は現状少ないようなので、自分もどこかのタイミングで情報をシェアできたらなと思いました。
  • 私は今、TypeScriptを使ってAlexa Skillを作っている最中なのですが、会場でのアンケートでTypeScriptユーザーがほぼ居なくてびっくりでした。

    • 手早く開発するのであれば、学習と導入のコストが少しかかるので使わないということもあるのかもしれませんね…。
B!