如何从沃森对话中提取以下详细信息?

时间:2017-10-02 09:22:43

标签: ibm-watson chatbot watson-conversation watson

我需要从用户结束提取航班预订详情。例如,如果用户说'需要预订2名成人和3名儿童"我需要分别提取成人和孩子的数量。我如何在沃森谈话中做到这一点?

2 个答案:

答案 0 :(得分:1)

您需要激活系统实体:@sys-number

但是,在您的示例中,用户将键入两个数值,在这种情况下,值将返回一个包含两个值的数组:

 sys-number[0] = 2
 sys-number[1] = 3

为了得到成人'或者' kids',您将按照用户键入的顺序进行关联。如果用户输入2 adults and 3 kids,则成人将两个,而孩子将三个。因此,您可以使用这些值(成人,儿童)创建一个新实体,并在用户键入上述短语时以相同条件获取值。

例如:

Watson: Do you need a book?
condition: @typesUser and @sys-number (with your phrase following your conditions)
response: Ok, you need @sys-number[0] for @typesUser[0] and @sys-number[1] for @typesUser[1]

以下图片完美无缺:

条件:

enter image description here

尝试一下:

enter image description here

Obs。: @typesUser添加了adultskids值,系统实体@sys-number已激活。

  • 详细了解对话框条件here
  • 详细了解系统实体here

答案 1 :(得分:1)

我认为这个解决方案不会起作用。假设有人为3名成人和2名孩子写了2个房间。在这里它会失败。 可能的解决方案是: 你可以使用正则表达式来提取成人或孩子的号码 要么 2.创建2个成人和儿童,并增加2个成人,1个成人,4个成人的价值。对于孩子来说也是如此,这样它就会自动识别成人和孩子的情况。

我只想说创建一个名为@Person的实体并使用1名成人,2名成人,3名成人及其同义词等数据进行训练。因此,如果输入是“为2位成人预订房间”,那么我将在实体中识别出2位成人并且您可以使用它。类似于孩子们。