实体使用 RASA 决定的故事存在问题

问题描述

我正在使用 Rasa,但在处理某些故事时遇到问题。总结一下,我有这个:

- story: descripcionClaveFirma
  steps:
  - intent: descripcion
    entities: 
    - concepto: "clave firma"
  - action: descripcionClaveFirma

- story: descripcionSede
  steps:
  - intent: descripcion
    entities: 
    - concepto: "sede electronica"
  - action: descripcionSede

我想根据实体“概念”选择动作,因为两种情况下的意图“描述”是相同的。训练后,即使跟踪器拥有实体,Rasa 核心也不会选择合适的动作。

我明白了这个用户意图:descripcion |用户实体:(‘concepto’,) |上一个操作名称:action_listen 我在第二个参数中有实体值吗? lik ('concepto','sede electronica') 例如

我如何编写它以获得我需要的 Action?

解决方法

要在此处获得所需的行为,您需要使用 slots。实体仅以 [1,0] 方式进行特征化 - 无论实体是否存在。如果您使用所有不同的预期值定义 categorical slot,那么您的机器人应该正确预测操作。

或者,如果您无论如何都想为此对话流使用自定义操作,您可以考虑只创建一个故事,例如:

 - story: descripcion
  steps:
 - intent: descripcion
    entities: 
    - concepto
 - action: action_descripcion

在该操作中,您检查实体值并根据该值返回正确的响应。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...