Alexaスキル開発の振り返り
最近リリースしたAlexaスキル、”体温メモ”を開発した際に注意したことや、気づいたことを書きます。
http://www.ohmaker.net/products/
スキルの呼び出し名を考える際のポイント
アレクサは「○○を開いて」のように呼び出し名を指定してスキルを使用するため、呼び出し名がわからないと使うことができません。
なので、スキルを継続して使ってもらうには、忘れられたり、間違えたりしないような、わかりやすい名前を考える必要があります。
最近作ったスキルの呼び出し名「体温メモ」は、以下の点に留意して考えました。
・長すぎず短すぎず
呼び出し名は短すぎると誤認識が多くなりますし、逆に長すぎるとユーザーが間違えたり言いにくかったりします。
・一般的な言葉を避ける
以前ユーザーが日常的に使うような言葉を呼び出し名にして申請したら、リジェクトされたことがあります。
とはいえ、全く未知の名前をつけると、ユーザーが覚えてくれない可能性があります。
今回は、”体温”+”メモ”という一般名詞を組み合わせる方法を取りました。
・機能に結びつく
もちろん、使いたい機能から自然に連想できるように、という点にも配慮しています。
・似ている名前がないか調べる
今はまだスキルが少ないのであまり心配ありませんが、他に似たような名前のスキルがあると誤操作につながるので、一応調べておいたほうが良いでしょう。
数字に単位をつける際は、誤認識対策をしっかりしておく
Alexa Skill Kit(ASK)に数字用のスロットタイプ(AMAZON.NUMBER)が用意されており、数字単独であればそのままで十分なのですが、数字の後に単位をつけると誤認識が結構多くなりました。
例えば、体温だと「36度5分」のような発話を取得しますが、「5分」のところが「昆布」になったり、「9分」が「キューブ」になったりしました。
また、数字ではなく「ごぶ」や「はちぶ」のように文字列として認識することもよくありました。
“体温メモ”では、”分”の部分は<数字>+”分”だけでなく、「ごぶ」のような文字列も許容するように工夫し、また誤認識した結果を同義語として登録しておくことで、認識率を向上させています。
スキルビルダーで同義語対応
上記の誤認識対策および様々な言い回しへの対応として、同義語を同じスロット値にまるめてくれる機能を使いました。例えば、”れいぶ”や”ぜろぶ”、”ちょうど”なんかをすべて”0分”として認識するような用途ですね。
大変便利、というか誤認識対策にはほぼ必須な機能ですが、Alexa開発者ポータルのデフォルトの画面では設定できません。
現時点(2018/2/16)ではスキルビルダー(beta)を使用して定義する必要があります。
最終チェックはユーザーに任せる
開発者の自分が発話した際の誤認識には一定のパターンがあり、その対策は大体できたのですが、不特定多数のユーザーを想定すると、どんな間違いが起こるか計り知れません。
特に記録が残るスキルの場合は、誤った結果が記録されてしまうと困りますし、実体験としてかなりストレスを感じてしまいます。
なので、認識した値を読み上げ「○○でよろしいですか?」とユーザー最終確認をするようにしました。
しっかりガイドに沿っていれば、審査は1発で通る
以前リジェクトされた経験を活かして、今回はぬかりのないようしっかりとガイドラインを確認してから申請を出しました。
その結果、みごと1発で合格し、申請の翌日に公開される運びとなりました。
以上、
まだまだやってみないとわからないことばかりなので、どんどんノウハウをためていきたいと思います。