nlp - 如何在对话流中将所需的字段添加到上下文参数
问题描述
在我正在使用对话流开发的聊天应用程序中,有这样的场景。用户可以询问他们可以获得的贷款的详细信息。这是一个意图。一旦用户说出他们想要的贷款类型,我需要保存它并在他们提出问题时在任何地方使用它。例如,我有另一种意图,称为贷款支付。为此,他们可以提出以下问题
我有兴趣获得为期 5 年的个人贷款,贷款金额为 500 万卢比。你能告诉我每月的还款额吗?
要计算这一点,贷款类型是必须的(在这种情况下是个人贷款)。因此,如果任何用户在我需要在这里使用它之前指定了贷款类型,否则我需要要求用户再次提供它。但如果我使用上下文,我无法添加所需的添加。如何实现这一点。也因为我已经设置了参数,所以我不能改变它们的值。这就是我的参数的样子
解决方案
这就是您的业务逻辑出现的地方。聊天应用程序可以通过定向和开放式两种方式构建。在第一个中,您可以通过设置选项/按钮为您提供的服务明确地继续询问几个问题,用户必须选择其中任何一个,或者在第二个中,您保持开放供人们输入任何东西,然后您提取值并根据他们的输入做出响应。
现在您属于第二种类型,即使您使用上下文,dialogflow 也为您提供了在第二种意图中提取第一个意图的参数值的好处。你只需要使用, #context_name.parameter_name
. 但是现在,如果你说如果用户已经在之前的意图中定义了贷款类型,那么你不想在下一个意图中再次询问他,那么这纯粹是一个业务逻辑,你必须在你的 webhook 中编写代码. Dialogflow 不会为您执行此操作。
我希望这能回答您的问题,如果您不想那样做,请选择定向流动。
推荐阅读
- spring-boot - 在 JPA 中使用 findByField 选择多个字段
- c - Posix 串行端口原始读取挂起
- javascript - Little problem with accordion-menu (hide/show)
- symfony - @UniqueEntity 不强制执行多字段约束
- r - 带 tidyr 巢的滑动窗
- css - 如何在没有Javascript或Jquery的另一个类之前标记包含类的元素?
- python - 卡在循环中,或者在使用交互时无法捕获点击事件。我需要更改什么?
- python - Pyspark Shell 中的 HiveMetaStore 错误,但在 Jupyter Notebook 中没有
- c++ - 移动构造函数和移动赋值运算符与复制省略
- docker - 在 azure 中以 swarm 模式为现有容器创建服务