Watson对话api中的问题选项

时间:2016-09-24 16:04:04

标签: npm ibm-watson watson-conversation

我需要在Watson会话api中找到某个问题的可用选项

例如,我有一个对话应用程序,在某些情况下,Y需要为用户提供一个列表,以便从中选择一个选项。

所以我正在寻找一种方法来获取某个问题的可用回复选项。

1 个答案:

答案 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为高置信度。