如何在名称实体或通用字符串上训练Watson?

时间:2019-08-28 17:06:28

标签: watson-assistant

我需要在以下话语上训练沃森助手,鲍勃/简的订单状态或名字是什么。

我尝试使用@ sys-person,但无法识别所有名称。

我这样定义一个意图 @name的订单状态是什么 并将实体@name创建为\ b [A-Za-z0-9] \ b

2 个答案:

答案 0 :(得分:1)

这是上下文实体的好用法。您可以在这里阅读这些内容:

  1. Contextual Entities with IBM Watson Assistant
  2. 关于实体的所有内容:使用Watson Assistant的上下文实体https://medium.com/ibm-watson/all-about-entities-contextual-entities-with-watson-assistant-part-2-7697d2b73db0

这个想法是,您不需要机器人预先知道所有可能的名称,而是可以根据意图中的上下文识别名称。

要进行此设置,请转到订单状态意图,然后添加一些培训示例,例如:

  • 姓名的订单状态是什么
  • “另一个名字”的订单状态是什么
  • “另一个名字”的订单状态是什么

(这些示例可以使用任何名称,无论是假名称还是真实名称。)

然后,通过双击训练示例的名称部分(即“名称”,“另一个名称”,“另一个名称”)来注释每个名称,以将名称与@name实体相关联实体选择界面并指定您的@name实体。

Watson完成培训后,可以在“试用”窗口中对其进行测试。输入“ Charles Flint的订单状态是什么”或“ Thomas Watson的订单状态是什么”之类的内容,您应该看到@name实体匹配。从那里,您可以使用@name.value访问用户指定的名称。

答案 1 :(得分:0)

约翰,您好
不想放弃您的实体模式,但是根据经验,我几乎无法确定一个完整的人物名单。我同时使用@ sys-person和我自己的@names实体,其中包含6,000多个通用名称,但我们仍在向列表中添加缺少的值。我们还有一个@bad_names列表,其中包含与常见单词匹配的名称,例如;夏天,樱桃,星星,CJ等。
在您的情况下同时使用您的意图或@ sys-person或@names等,您就有很大的机会捕获大量用户消息。