0みなさまが開発されたAlexaスキルは、スキルストアへの公開に当たり、Alexa審査チームが認定審査をさせていただいき、スキルがよいユーザー体験をお届けできるよう、必要に応じてフィードバックをさせていただいています。このブログでは、審査で改善のフィードバックを受けるスキルの傾向を紹介し、事前にご対応いただく方法を紹介します。今回は「サンプル発話」についてです。いろいろな言い方のサンプル発話がありますか?サンプル発話にユーザーが発話しそうなフレーズが網羅されていますか?サンプル発話が不足していると、スキルがユーザーのリクエストに正しく反応しない可能性があります。下の再現例をみてみましょう。スキル名:みんなの水族館クイズ呼び出し名:みんなの水族館クイズ再現例:ユーザー:アレクサ、みんなの水族館クイズをスタートしてスキル:「みんなの水族館クイズ」へようこそ。このスキルでは、大人から子どもまで楽しめる海の動物のクイズを出題します。サイズが一番大きいのはどの動物?ペンギン、タコ、クジラ、どれかな?スキルからの問いに対し、ユーザーがどう答えるか考えてみましょう。ユーザーがもっとも発話するであろう返答は、「クジラ」。答えのみの返答でしょう。「クジラだと思う」や「正解はクジラ」のように、答えの前後にいろいろな単語をつなげて答えるユーザーもいるでしょう。サンプル発話にユーザーがもっとも発話するであろうフレーズ(ここでは「クジラ」)、そしてその他の発話する可能性のあるフレーズ(「クジラだと思う」「正解はクジラ」など)が含められていないと、スキルが上手く認識してくれない可能性があります。フグ上記のサンプル発話は、「クジラです」また「クジラだ」というフレーズには対応していますが、「クジラだと思う」や「正解はクジラ」などのフレーズ、またもっとも発話するであろう、答えのみのフレーズ「クジラ」をサポートしていません。修正後のように、サンプル発話にもっともユーザーが発話するであろうフレーズ、また発話する可能性のあるフレーズを網羅することで、スキルがより高い確率でユーザーからの発話を認識できるようになります。各カスタムインテントに対し、いろいろな言い方のサンプル発話が含まれていることを、スキルの認定の前にいま一度ご確認ください。サンプル発話の追加については、下記ページもあわせてご参照ください。ユーザーに提示されているフレーズがサンプル発話に含まれていますか?Alexaアプリ(コンパニオンアプリ)やスキルのプロンプト(応答)にて提示されているフレーズがサンプル発話として定義されていますか?サンプル発話として定義されていないと、スキルがそのフレーズの認識に失敗し、スキルの機能が動作せず、満足のいくユーザーエクスペリンスを提供できない可能性があります。Alexaアプリ上では、サンプルフレーズ、およびスキルの説明文にあるフレーズがサンプル発話として定義されているかどうかをご確認ください。スキル内では、ウェルカムプロンプト、ヘルププロンプト、ユーザーの入力が聞き取れなかった際のリプロンプトにて提示されるフレーズを中心にご確認いただくことが必要です。下記のスキル「今日の晩御飯レシピ」のサンプルフレーズをみてみましょう。スキル名:今日の晩御飯レシピ呼び出し名:今日の晩御飯レシピAlexaアプリ内:サンプルフレーズ1:アレクサ、今日の晩御飯レシピを開いてサンプルフレーズ2:ハンバーグをお願いサンプルフレーズ3:エビフライにする「今日の晩御飯レシピ」では、3つのサンプルフレーズがユーザーに提示されています。このうち、スキルの機能を動作させる為のフレーズをサンプル発話として定義しておく必要があります。ここでは、誤ってウェイクワード、呼び出し名、起動フレーズ(ワンショットの場合では、つなぎ語)をサンプル発話に含めないよう、ご注意ください。ウェイクワードと呼び出し名、起動フレーズについては、下記のページをご参照ください。https://developer.amazon.com/ja/docs/custom-skills/understanding-how-users-invoke-custom-skills.html#invoking-a-skill-with-no-specific-request-no-intentサンプルフレーズ1「アレクサ、今日の晩御飯レシピを開いて」は、ウェイクワードと呼び出し名、そして起動フレーズで構成されているので、サンプル発話として定義が必要な部分はありません。サンプルフレーズ2「ハンバーグをお願い」やサンプルフレーズ3「エビフライにする」は、スキル「今日の晩御飯レシピ」を呼び出した後にスキルの機能を動作させるフレーズである為、該当するカスタムインテントにサンプル発話として必ず定義しておく必要があります。お願い」がCookingIntentに、また「ハンバーグ」がfoodスロットに定義されている為、スキルが対応することが可能です。する」がCookingIntentにない為、スキルが正常に反応しない恐れがあります。する」をサンプル発話として追加しましょう。続いて、スキルのプロンプト(ここではウェルカムプロンプト)にて提供されているフレーズをみてみましょう。スキルのプロンプト:再現例:ユーザー:アレクサ、今日の晩御飯レシピをスタートしてスキル(ウェルカムプロント):ようこそ。「今日の晩御飯レシピ」は、今日の晩御飯をどうしようか迷った時に、料理を提案し、その作り方を教えてくれるスキルです。今晩食べたいのは、ハンバーグ、エビフライ、カレーライスのうち、どれですか?「ハンバーグをお願い」「から揚げがいい」などと答えてください。ウェルカムプロンプトでは、「ハンバーグをお願い」と「から揚げがいい」というフレーズがユーザーがスキル内で試せる発話例として提供されています。サンプルフレーズ同様に、これらのフレーズもサンプル発話として該当のカスタムインテントに定義されている必要があります。いい」がなく、またfoodスロットに「から揚げ」がない為、ユーザーの入力に対応できない可能性があります。いい」をCookingIntentに、また「から揚げ」をfoodスロットに追加しましょう。から揚げここでは、サンプルフレーズとウェルカムプロンプトを例にあげましたが、スキルの説明文や他のプロンプトにおいてもフレーズをご提示いただく場合は、同様に該当するカスタムインテントに一致するサンプル発話を定義する必要があります。ユーザーが入力したフレーズが確実にスキルの機能を動作できるよう、スキルの認定の前にもう一度ご確認ください。サンプルフレーズに関するガイダンスはこちら、スキルの説明文(詳細な説明)に関するガイダンスはこちらをご参照ください。異なるインテントに重複するサンプル発話がないように!異なるインテントに定義されているサンプル発話が重複していると、正しいインテントにユーザーのリクエストが届かない場合があります。スキルの機能を正常に動作させるには、各インテントに独自のサンプル発話を定義し、他のインテントのサンプル発話と重複しないようにする必要があります。下記のスキル「日本の植物図鑑」を例に、いっしょに考えてみましょう。ドクダミスキル「日本の植物図鑑」には、FlowerIntentとGrassIntentの二つのカスタムインテントが用意されています。FlowerIntentとGrassIntentに全く同じサンプル発話が存在し、重複していると、ユーザーがそのサンプル発話を入力した際、スキルがどちらのカスタムインテントをリクエストされているか判断できず、ユーザーの意図と反する動作を行う可能性があります。上記では、FlowerIntentにもGrassIntentにも「教えて」というサンプル発話が含まれている為、重複しています。いずれかまたは両方を修正、あるいは削除する必要があります。修正後のサンプル発話では、FlowerIntentの「教えて」が「花について教えて」に修正され、GrassIntentの「教えて」が「日本の草」に変更されています。これにより、FlowerIntentとGrassIntentで発生していたサンプル発話の重複が解消され、ユーザーのリクエストが正しいインテントに届くようになりました。カスタムインテント同士の重複以外にも、カスタムインテントとビルトインインテントのフレーズが重複している場合は、同様に修正が必要です。ビルトインインテントに含まれるフレーズについては、下記のページをご参照ください。https://developer.amazon.com/ja/docs/custom-skills/standard-built-in-intents.html#available-standard-built-in-intentsスキルの認定の前に、すべてのサンプル発話を再度ご覧いただき、重複がないことをお確かめください。ユーザーエクスペリンス向上の為、ご協力をお願いいたします。皆様からのフィードバックは、私たちにとってとても貴重なものです。スキルの認定に関するご意見がありましたら、お問い合わせフォームからいつでもお送りください。スキル開発時に分からないことがあれば、Alexa開発者フォーラムもご利用ください。フォーラム上でいただいたご質問に、担当がお答えいたします。