我需要在Watson会话api中找到某个问题的可用选项
例如,我有一个对话应用程序,在某些情况下,Y需要为用户提供一个列表,以便从中选择一个选项。
所以我正在寻找一种方法来获取某个问题的可用回复选项。
答案 0 :(得分:2)
我无法回答NPM部分,但您可以通过将alternate_intents
设置为true
来获取前10个可能答案的列表。例如。
{
"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?"
}
}
这将至多返回十大答案。如果意图数量有限,它只会显示它们。
您的部分JSON响应将具有以下内容:
"intents":[{
"intent":"temperature",
"confidence":0.9822100598134365
},
{
"intent":"conditions",
"confidence":0.017789940186563623
}
这不会从节点获取输出文本。因此,您需要将答案存储在其他地方以进行交叉引用。
另外请注意,仅仅因为它在列表中,并不意味着它是给最终用户的有效答案。需要考虑置信水平。
置信水平也不像正常的信心那样有效。您需要确定上限和下限。我detail this briefly here。
与早期版本的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为高置信度。