[開発Tips]スキルの呼び出し名がうまく認識されないときは、「音声履歴」を見てみよう

Alexaスキル開発の際に地味に厄介なのが「認識されない / されにくい呼び出し名でスキルを作ろうとしたケース」です。

対話モデルについてはAlexa開発コンソールやASK CLIから、バックエンド / APLについてはそれぞれのツール / OSSを使ってテストができます。が、呼び出し名については「実際に話しかけてみて、起動することを確認する」くらいしか方法がありません。

「Alexaがどう聞き取ったか」を音声履歴でチェックする

ただAlexaに話しかけるだけでは、認識されなかった場合のデバッグがブラックボックステスト的な形になりがちです。そうなってくると、認識されるまで「呼び出し名を変えてビルドして、また話しかけて」を繰り返すことになり、なかなかストレスがたまります。

直接的な解決策ではありませんが、少なくとも「いま話しかけた内容を、Alexaがどう認識したのか」を知る方法は1つあります。それが「音声履歴」です。

これはプライバシー関連で用意されている(っぽい)機能ですが、「Alexaに話しかけられたとAlexaが認識した内容」の記録を確認することができます。

このページは、Alexaのwebアプリamazon.co.jpそれぞれからアクセスできます(ログイン必須)。

どう認識されたかを調べる

音声履歴では、「話しかけられた音声の録音データ」と「Alexaがどう認識したか」の2つがチェックできます。下の画像は、「アレクサ、休憩したい」と話しかけて、2回失敗した時の履歴です。

「予定したい」または「ukしたい」と誤った認識をしているケースがあることが伺えます。

このように履歴をチェックすることで、「予定していた呼び出し名を、Alexaがどう認識しているか?」を調べることができます。

造語や3文字以上の漢字で構成されるワード、アルファベット読み(AWSでエーダブリューエス)などは意図しない認識がされやすい印象がありますので、「動かないな・・・」と思った場合はまずここを見てみると良さそうです。

音声履歴はサポート問い合わせ時にも活用できる!

これはサポートに問い合わせしたときに教えてもらったのですが、「Alexaのwebアプリなら、音声履歴1つ1つにURLがつくので、それを共有してチェックしてもらう」ということが可能です。

音声履歴で表示されている履歴一覧から、サポートに確認を依頼したい履歴をクリックします。すると、履歴個別のページが表示されますので、そのページのURLをサポートへの問い合わせ内容に追加しましょう。

amazon.co.jp側では個別ページが存在しませんので、サポートに問い合わせしたい場合はAlexaアプリをPCのブラウザで開いて履歴を確認しましょう。

呼び出し名の要件はまずチェックしよう

呼び出し名には結構制約がついています。一例としては、大文字のアルファベットや数字の利用はNGで、別の表記をする必要があります。

呼び出し名に使用できるのは基本的に、ひらがな、カタカナ、漢字のみです。アルファベットのアクロニムを使用する場合は、連続した小文字(「nasa」など)を使用します。イニシャリズムに関しては、以下の規則8と規則9をご覧ください。数字などの他の文字はスペルアウトする必要があります(「二十五」「パーセント」など)。呼び出し名はユーザーが正確に発話しやすく、他の言葉と聞き間違えられにくいものである必要があります。

https://developer.amazon.com/ja-JP/docs/alexa/custom-skills/choose-the-invocation-name-for-a-custom-skill.html#cert-invocation-name-req

この辺りの要件を満たしていない場合、仮にテストで動作したとしても審査でリジェクトされてしまいますので、上に紹介しているURLはまずチェックするようにしましょう。

[PR] Get Amazon Echo

この記事を書いた人

最近の投稿