【问题标题】:Best way to handle ranges in api.ai?在 api.ai 中处理范围的最佳方法?
【发布时间】:2017-04-24 17:53:16
【问题描述】:

我有一个房地产机器人,我需要处理以下情况。 - 我正在寻找 1200 平方英尺的房子 - 我正在寻找 1200 - 1500 平方英尺的房子 - 我正在寻找 1200 到 1500 平方英尺之间的房子

另一种情况是我的机器人问 您要找多少平方英尺? 用户说 1500

几个问题

  1. 如何处理带或不带单位的范围和正常值
  2. 如何将值限制在一定范围内(低于 10000) 例如。我也有一个案例,我要求一个价格范围,然后我 需要区分平方英尺和价格?是什么 使用 api.ai 的最佳方法是什么?

【问题讨论】:

    标签: dialogflow-es


    【解决方案1】:

    这里有几个问题,所以我将快速回答每个问题,然后根据我认为您实际想要实现的目标提供更长的解决方案。

    如何处理带或不带单位的范围和正常值?

    处理多个可能条目的最佳方法是为同一意图创建大量示例并训练您的机器人。因此,在平方英尺的情况下,您可能希望创建如下所示的不同示例,向您的机器人指示如何识别最小和最大尺寸参数。有了足够多的例子,你的机器人应该很容易学会识别这些参数,即使没有明确给出单位(即'sqft')

    例如,我如何将值限制在某个范围内(低于 10000)。

    简而言之,如果没有位于 API.ai 和可以进行一些数据验证的消息传递平台之间的定制构建服务器端解决方案,您就不会这样做。

    我也有一个案例,我要求一个价格范围,我需要区分平方英尺和价格?使用 api.ai 执行此操作的最佳方法是什么?

    当没有提供单位时,很难训练一个单一的意图来识别价格和平方英尺之间的差异,即使有一堆示例 API.ai 也可能不会很准确地始终识别出当用户说“我的目标是 1200”,他们并不是指 1,200 美元——如果你有一个单一的意图来收集用户价格和用户规模的需求。

    对于您似乎想要实现的目标,我的建议是有两个独立的意图,一个是尺寸,一个是价格,并明确提示用户每个答案。这使您的应用程序更加“僵化”,但您在对话流中允许的灵活性越大,引入的歧义就越多,这反过来又会降低您的机器人的实用性和准确性。

    所以从某种意义上说,这是与非黑即白的权衡,但我个人的建议是上述更结构化的方法。

    如果您需要帮助构建一个位于 API.ai 和您的用户之间的自定义服务器端解决方案,请告诉我。其实没那么难

    【讨论】:

    • 如果您以 2 种不同的意图处理价格和 SQFT,您将如何处理用户在 1 句话中提供信息的情况,例如:我想要 200k 左右的 1200 平方英尺的房子
    • 你可以尽力用单位来解析它,即将'1200 sqft'作为你的参数,而不仅仅是'1200'。更确切地说,您还可以让机器人响应并初始化一个“验证”上下文,该上下文询问:“我认为您的意思是 1200 平方英尺和 200k 价格”,对吗?例如,如果用户说不,则一次提示一个。
    猜你喜欢
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    • 2010-11-15
    相关资源
    最近更新 更多