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

Problem with stories decided by entities using RASA

我正在使用 Rasa,但我在处理某些故事时遇到了问题。总而言之,我有这个:

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

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

我想 select 基于实体“概念”的动作和意图“描述”在两种情况下都是相同的。训练后,Rasa 核心不会 select 适当的动作,即使跟踪器有实体。

我得到了这个用户意图:描述 |用户实体:('concepto',)|先前的操作名称:action_listen 我在第二个参数中有实体值吗? lik ('concepto','sede electronica') 例如

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

要在此处获得您想要的行为,您将需要使用 slots. The entities are only featurised in a [1,0] way - whether the entity is present or not. If you define a categorical slot,以及所有不同的预期值,然后您的机器人应该正确预测操作。

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

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

并在该操作中检查实体值并return基于该值的正确响应。

除了设置插槽类型为分类外,您还必须在domain.yml中设置influence_conversation=true。 此页面 (https://rasa.com/docs/rasa/domain/) 向您显示哪些槽类型根据是否设置而影响,以及哪些槽类型根据其值影响(比前者更精细)。