如何为行星名称设置实体 - dialogflow

How to set entity for planet's name - dialogflow

我正在制作一个聊天机器人来询问有关太阳系的基本问题。 我主要关心的是如何设置训练短语的实体。 示例:

  1. 月球的质量是多少?
  2. 月球质量
  3. 告诉我月球的质量?

我在下面添加了一张图片。 我主要关心的是如何为 massbody 设置实体。我已经为 @body_mass 的 mass 创建了一个自定义实体,但不确定如何为 planets/objects name 做。这样我就可以在后端接收这些值。它在诊断信息中无法识别

image for what I did

最简单的方法是创建一个 @Property 实体,它可以检测用户想知道的关于行星的“什么”,例如:

  • 身高
  • 质量
  • 年龄
  • 地球上每个外星人的平均宠物数量
  • 等..

然后您创建另一组名为 @Planet 的实体,您可以使用它们检测您的用户想要了解的“哪个”行星,例如:

  • 地球
  • 火星
  • 土星
  • 等..

然后您可以创建一个名为“获取行星信息意图”的意图,并放置示例短语,例如:

  • @Planet@Property是什么
  • 如何 @Property @Planet

这样做可以节省很多时间,因为您不必为“地球的高度是多少”和“火星的高度是多少”创建短语。您只需为 属性 和行星实体捕获一个句子,它应该适用于您实体中的每个组合。

您甚至可以通过为实体添加 synonyms 来对此进行改进,例如:

  • 身高:高,长
  • 年龄:老、小
  • 质量:大

在您的代码中,您必须检查的所有信息是 Dialogflow 检测到的 @Property@Planet,因此您不必检查诸如 Mass_Planet_A, Mass_Planet_B 就像你现在一样。