我正在训练我的机器人吗?

Fil*_*ipe 7 wit.ai

我正在尝试训练我的Wit.ai机器人以识别某人的名字.我不太清楚我是否理解NLP是如何工作的所以我会给你一个例子.

  1. 我定义了许多表达,比如"我的名字是XXXX","每个人都叫我XXXX"
  2. 在"理解"表中,我添加了一个名为"contact_name"的实体,我添加了近50个关键字,如"Michel,John,Mary ......".
  3. 我把这个特性称为"自由文本"和"关键字".

我不确定这个过程是否正确.所以,我问你:

  1. 对于NLP来说,"我的名字是......"这样的背景是否重要?我的意思是......它会帮助机器人预测,在这个表达之后可能会出现一个名字吗?
  2. 是否有权向实体添加50个值,或者它是完全错误的?
  3. 你有什么建议作为培训过程,以获得某人的名字?

Rav*_*eja 6

您已将实体的搜索策略保持为"自由文本"和"关键字",从而做到了这一点.但是向实体添加关键字示例没有任何意义,因为一个人的姓名不是关键字.

所以,我建议采用以下培训策略:

  • 创建消息的各种模板,例如"我的名字是XYZ","我是XYZ","这是XYZ"等(您可以想到的所有可能的介绍消息)
  • 删除您创建的实体的所有关键字和表达式,并添加以下两个关键字:
    1. "abcdefghijklmnopqrstu vwxy z"
    2. "XYZ"(可以提供任何名称,但保持此名称相同以验证模板)
  • 在"了解"选项卡中输入消息并将名称提取到实体中(在您的案例中为"contact_name")并验证它们
  • 同样,验证所有消息模板,将名称保留为"XYZ"
  • 为所有模板完成此操作后,您的机器人将能够识别给定模板中的任何名称

这背后的逻辑是你的实体是一个自由文本和关键字,这意味着它首先尝试匹配关键字,如果不匹配,它试图在模板的相同位置找到该单词.保持名称相同以进行验证有助于使用模板训练机器人并了解通常可以找到名称的位置.

希望这有效.我试过这个并为我工作过.我不确定机器人是如何在后台训练的.我建议你开始一个新的应用程序并进行此练习.评论是否有任何问题.