我有一个房地产机器人,我需要处理以下情况。 - 我正在寻找 1200 平方英尺的房子 - 我正在寻找 1200 - 1500 平方英尺的房子 - 我正在寻找 1200 平方英尺到 1500 平方英尺之间的房子
另一个案例是我的机器人询问 您要找多少平方英尺? 用户说 1500
几个问题
- 如何处理带或不带单位的范围和正常值
- 如何将值限制在特定范围内(10000 以下) 例如。我也有一个案例,我询问价格范围,然后我 需要区分平方英尺和价格吗?是什么 使用 api.ai 做到这一点的最佳方法?
最佳答案
这里有几个问题,所以我将快速回答每个问题,然后根据我认为您实际上想要实现的目标,用更长的解决方案来回答。
How do I handle ranges and normal values with or without units?
处理多个可能条目的最佳方法是为同一意图创建大量示例并训练您的机器人。因此,在平方英尺的情况下,您可能需要创建如下所示的不同示例,指示您的机器人如何识别最小和最大尺寸参数。通过足够的示例,即使没有明确给出单位(即“平方英尺”),您的机器人也应该能够轻松学会识别这些参数
How do I restrict the values to be in a certain range (under 10000) for example.
简而言之,如果没有位于 API.ai 和可以执行某些数据验证的消息传递平台之间的定制服务器端解决方案,您就不会这样做。
I also have a case where I ask for a price range and I need to differentiate between square feet and price? What is the best way to do this with api.ai?
在没有提供单位的情况下,训练单一意图来识别价格和平方英尺之间的差异是很困难的,即使有一堆例子,API.ai 也可能不太准确地总是识别出当用户说“我的目标是 1200”,他们的意思并不是 1,200 美元,也就是说,如果您有一个收集用户价格和用户规模需求的单一意图。
对于您似乎想要实现的目标,我的建议是有两个不同的意图,一个是尺寸,一个是价格,并明确提示用户每个答案。这使您的应用程序变得更加“僵化”,但是您在 session 流程中允许的灵活性越大,引入的歧义就越多,从而降低了机器人的有用性和准确性。
因此,从某种意义上说,这是一种权衡与非黑即白的调用,但我个人的建议是采用上述更结构化的方法。
如果您需要帮助构建自定义服务器端解决方案以介于 API.ai 和您的用户之间,请告诉我。其实没那么难
关于dialogflow-es - 处理 api.ai 范围的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43568187/