question

Yu avatar image
Yu asked ·

つなぎ語を利用したときの、呼出フレーズについて

下記URLのつなぎ語を利用した呼出フレーズについて質問があります。

https://developer.amazon.com/ja/docs/custom-skills/understanding-how-users-invoke-custom-skills.html

つなぎ語を使用したときの呼出フレーズを利用した場合、どのように実アクションとなる動詞部分を取得するのでしょうか。

例えば、<呼出名><アクション>をつけての場合、「ホームライトでリビングの電気をつけて」とありますが、この場合、「ホームライト」スキルはつける・消すの二つの動作をサポートされていることが一般的であると思います。

しかし、スキル側に送られるインテントは、「リビングの電気」のみとなってしまい、アクションを判断すべき動詞部分を取得することができません。

「呼出フレーズ経由で呼ばれた」ことがわかる方法、「をつけて」という発話がされたという予約済みSlotのような情報等を取得することはできますか?

つなぎ語以降をすべてスキルに送ってくれれば、ハンドリングできるのですが・・・

intents
10 |2000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Tsuneki@Amazon avatar image
Tsuneki@Amazon answered ·

ご投稿ありがとうございます。

カスタムスキルの場合、つける・消すの二つの動作をサポートするには2つのIntentを用意する必要があります。例えが分かりづらく大変申し訳ございません。

ご認識の通り、この場合は「ホームライトでリビングの電気をつけて」の他に「ホームライトでリビングの電気を消して」の発話に対応するIntentを定義する必要があります。

こちらのブログにてより分かりやすく説明がされていますので、ご参考にしていただければと存じます。

また、スマートホームスキルAPIでは「をつけて」に対応する予約済みのアクションが定義されていますのでそちらもご参照いただければと存じます。

参考URL:

https://developer.amazon.com/ja/docs/device-apis/alexa-powercontroller.html

10 |2000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Yu avatar image
Yu answered ·

ご回答ありがとうございます。

重ねての質問で恐縮ですが、つなぎ語を利用した予約フレーズとして<呼出名><アクション>をつけてを発話した場合に、をつけてをカスタムスキル側で拾う手段があるのかをご教授頂けないでしょうか。

自身のスキルには「つけて」を登録していますが、予約語に打ち消されるため、「〇〇で電気をつけて」と発話しても、「電気」のみを拾うことができ、「つけて」は拾うことができません。

〇〇で電気をつけてつけて」というと、自身で追加した「つけて」のSlotを拾うことができます。

しかし上記発話は不自然なため、「〇〇で電気をつけて」と発話したときに「つけて」を拾う方法はございますか?

10 |2000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Tsuneki@Amazon avatar image
Tsuneki@Amazon answered ·

サンプル発話はどのように定義されてますでしょうか?

先日ご案内させていただいたブログのサンプル発話を例にしますと、下記のように定義されています。({StarSign}はスロット)

HoroscopeIntent {StarSign} を 占って

HoroscopeIntent {StarSign} の 運勢 を 教えて

HoroscopeIntent {StarSign} の 運勢 は どう

HoroscopeIntent {StarSign} の 運勢 は

HoroscopeIntent {StarSign} の 運気 を 教えて

HoroscopeIntent {StarSign} の 運気 は どう

HoroscopeIntent {StarSign} の 運気 は

HoroscopeIntent {StarSign}

この場合、

{StarSign}を 占って、

{StarSign} の 運勢 を 教えて、

{StarSign} の 運勢 は どう、

{StarSign} の 運勢 は、

{StarSign} の 運気 を 教えて、

{StarSign} の 運気 は どう、

{StarSign} の 運気 は、

{StarSign}

とユーザーが発話した場合にLambda上に定義済みのHoroscopeIntentの処理が実行されます。

上記の形式でYu様のサンプル発話をご投稿いただくことは可能でしょうか?

10 |2000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Yu avatar image
Yu answered ·

サンプル発話の一例として、

Request Intent: {locations} の {electronics} を {todo}

slot {todo}に、「つけて」「けして」等

を登録しています。

ですので、スキルを起動後「〇〇の△△をつけて」は反応します。

質問は、つなぎ語を利用した「<アプリ名>〇〇の△△をつけて」の場合となります。

10 |2000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Tsuneki@Amazon avatar image
Tsuneki@Amazon answered ·

ありがとうございます。

「<アプリ名>〇〇の△△をつけて」の場合、「つけて」の部分をスロット値として取得することはできません。

そういった場合は「つけて」に紐づくインテント・「けして」に紐づくインテントをそれぞれ定義していただく必要がございます。

10 |2000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.