Watson会話 APIで特定の質問に対して使用可能なオプションを取得する必要がありますか?
たとえば、私は会話アプリを持っており、場合によっては Y がユーザーにオプションを選択するためのリストを提供する必要があります。
そのため、特定の質問に対して利用可能な返信オプションを取得する方法を探しています。
Watson会話 APIで特定の質問に対して使用可能なオプションを取得する必要がありますか?
たとえば、私は会話アプリを持っており、場合によっては Y がユーザーにオプションを選択するためのリストを提供する必要があります。
そのため、特定の質問に対して利用可能な返信オプションを取得する方法を探しています。
NPM の部分には答えられませんが、 に設定alternate_intents
すると、可能な答えのトップ 10 のリストを取得できますtrue
。例えば。
{
"context":{
"conversation_id":"cbbea7b5-6971-4437-99e0-a82927607079",
"system":{
"dialog_stack":["root"
],
"dialog_turn_counter":1,
"dialog_request_counter":1
}
},
"alternate_intents":true,
"input":{
"text":"Is it hot outside?"
}
}
これにより、多くても上位 10 個の回答が返されます。インテントの数が限られている場合は、それらのみが表示されます。
JSON 応答の一部は次のようになります。
"intents":[{
"intent":"temperature",
"confidence":0.9822100598134365
},
{
"intent":"conditions",
"confidence":0.017789940186563623
}
これは、ノードからの出力テキストを取得しません。したがって、相互参照するために別の場所に回答ストアを用意する必要があります。
また、リストにあるからといって、それがエンド ユーザーに与える有効な回答であるとは限らないことに注意してください。信頼水準を考慮する必要があります。
信頼レベルも、通常の信頼のようには機能しません。上限と下限を決定する必要があります。ここで簡単に説明します。
以前のバージョンの WEA とは異なり、信頼度はインテントの数に比例します。したがって、最も低い信頼度を見つける最も簡単な方法は、非常にあいまいな単語を送信することです。
これらは、温度または条件を決定するために得た結果です。
treehouse = conditions / 0.5940327076534431
goldfish = conditions / 0.5940327076534431
music = conditions / 0.5940327076534431
パターンが見えますか?したがって、低信頼水準を 0.6 に設定します。次に、より高い信頼範囲を決定します。これを行うには、同じ質問テキスト内でインテントを混合します。妥当な結果を得るには、数回かかる場合があります。
これらはこれを試した結果です (C = 条件、T = 温度)。
hot rain = T/0.7710267712183176, C/0.22897322878168241
windy desert = C/0.8597747113239446, T/0.14022528867605547
ice wind = C/0.5940327076534431, T/0.405967292346557
確信度の高いものは意図的に省略しました。ここでは、高い信頼レベルとして 0.8 を使用します。