(レポート) MBL308 – Alexaの組み込みスキルを拡張する – Capital Oneはどうやって実現したのか #reinvent

2015.10.10

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

Q. Alexa, what is your quest? A. To seek the holy grail.

Amazon が販売する音声認識アシスタントシステム「Echo」には開発キット「Alexa Skills Kit」が存在します。

そんな Alexa のセッション「MBL308 - Extending Alexa’s Built-in Skills – See How Capital One Did It」が re:invent 2015 中に開催されたため、参加してきました。

Amazon Alexa について

  • Echo 音声認識するハードウェア
  • Alexa クラウドで実行される音声サービス

という2つのシステムがあります。

Echo が認識した音声はテキスト変換され、 Alexa で処理され、処理結果を Echo に返して音声再生されます。

alexa-architecture

Alexa スキルを利用すると、音声メッセージ(utterance)に対する処理(intent)を開発者が実装出来ます。

alexa-skills-kit-architecture

Capital One の Alexa スキル開発について

銀行 Capita One はわずか数ヶ月で基本的な口座取引を音声で行う Alexa スキルを開発できました。

開発でわかった3つの課題

数字の認識

たとえば 22(twenty-two) という数字に対して 20(twenty) と 2(two) というように2つの数字として認識されることが多発しました。

数字の読み方はそもそも複数あるという複雑さ、さらに、銀行業という性質から数字は正しく処理しなければいけません。

ルールベースで Echo が解釈する数字とあるべき数字のマッピングを作成し、対応しました。

レイテンシー

音声処理やサーバーの処理時間のために、問い合わせてから返答までのレイテンシーが課題として上がりました。

処理時間を短くしたり、返答を簡潔にして、レイテンシーを削減しました。

セキュリティー

最も重要なのがセキュリティーです。

  • 音声を発している口座をどうやって特定して処理するのか
  • 同じ空間で生活するルームメイト(=本人以外)が勝手に操作出来ないようにするにはどうすればよいのか?
  • クレジットカードの利用明細が他人にバレるのも困ります。(Siri の設定を甘くして)

と言った課題があります。

これら課題は Echo/Alexa で操作可能な口座とペアリングする設定機能の追加などで乗り切りました。

Alexa 開発のベストプラクティス

ここからは Alexa 開発のベスト・プラクティスです。

  1. Make it clear the user needs to respond
  2. Don’t assume the user knows what to do
  3. Present the options clearly
  4. Keep it brief
  5. Avoid verbose choices
  6. Avoid crowding options
  7. Get information and use it
  8. Make users comfortable

詳細は YouTube 動画やスライドで確認出来ます。

プログラミングに閉じたシステムよりの課題が障害になることは少なく、いかに人間が使いやすい音声認識サービスを提供するかに注力すべきということが伝わってきます。