3

私はアレクサが初めてです。私は天気予報アプリを学び始めました。

現在、気象データを取得できていますが、以下の条件では、

以下のように、都市を保持するカスタム スロット (LIST_OF_CITIES) を作成しました。

{
  "intents": [
    {
      "intent": "WeatherIntent",
      "slots": [
        {
          "name": "city",
          "type": "LIST_OF_CITIES"
        }
      ]
    },
    {
      "intent": "AMAZON.HelpIntent"
    },
    ]
}

私のカスタムスロットでは、以下のように指定しました。

Type               Values
LIST_OF_CITIES     Hyderabad | pune | london

以下は私の発話です

WeatherIntent give me {city} climate
WeatherIntent {city}
WeatherIntent what's the climate in {city}
WeatherIntent what's the weather in {city}
WeatherIntent {city}

上記の表に記載されている 3 つの都市のいずれかを使用してプログラムを実行すると、正しい値を取得できます。上記以外のものを使用すると、値が -4 として返されます。

他の都市の温度を取得したい場合は、その都市をスロット リストに追加する必要があります。

LIST_OF_CITIES に依存せずに vaues を動的に取得する方法を教えてください。都市名を入力すると、結果が返されます。

また、タイプを LITERAL として、また AMAZON.LITERAL として追加してみました。保存すると、例外が発生します

Error: There was a problem with your request: Unknown slot name '{city}'. Occurred in sample 'WeatherIntent get me weather of {city}' on line 1.
Please let me know where am I going wrong and how can I fix this.

ありがとう

4

2 に答える 2

1

まず、LITERAL を使用しないでください。これは非推奨であり、米国以外の地域ではまったくサポートされていません。

いいえ、単語のリストを動的に管理することはできません。

Alexa は、ユーザーが言ったことを LIST_OF_CITIES と一致させようとし、それらの単語の 1 つを返そうとしますが、それらのいずれとも一致しない場合は別のものを返す可能性があります (ご覧のとおり)。

使用して構築できる都市用のカスタム スロット タイプがいくつかあります
。相互作用モデル参照#h2_custom_syntax

しかし、それぞれが 1 つの国に過ぎないため、おそらくうまくいかないでしょう。そのため、(LIST_OF_CITIES で) 独自の都市のリストを作成する必要があります。

于 2016-11-07T17:23:16.033 に答える