我需要从用户结束提取航班预订详情。例如,如果用户说'需要预订2名成人和3名儿童"我需要分别提取成人和孩子的数量。我如何在沃森谈话中做到这一点?
答案 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]
以下图片完美无缺:
条件:
尝试一下:
Obs。: @typesUser添加了adults
和kids
值,系统实体@sys-number已激活。
答案 1 :(得分:1)
我认为这个解决方案不会起作用。假设有人为3名成人和2名孩子写了2个房间。在这里它会失败。 可能的解决方案是: 你可以使用正则表达式来提取成人或孩子的号码 要么 2.创建2个成人和儿童,并增加2个成人,1个成人,4个成人的价值。对于孩子来说也是如此,这样它就会自动识别成人和孩子的情况。
我只想说创建一个名为@Person的实体并使用1名成人,2名成人,3名成人及其同义词等数据进行训练。因此,如果输入是“为2位成人预订房间”,那么我将在实体中识别出2位成人并且您可以使用它。类似于孩子们。