如何在 RASA 意图示例中转义特殊字符?

问题描述

我正在尝试创建简单的 RASA 助手,它将能够根据某些特定应用程序的名称回答我的 ID 号。问题是这些应用程序的名称通常包含或以特殊字符结尾,例如 )/_,我不知道如何转义这些特殊字符。我的 NLU yaml 文件如下所示:

nlu.yml

  - intent: q01
    examples: |
      - what is the ID of the application [NGSSM_NC_TOMS_SUITE_A/T_(P)](appl_name)?

我尝试用 \/ 转义这些字符,并尝试将整个字符串包装到 "' 中,但没有解决该问题。

这不是最大的问题,因为我可以通过用例子训练我的 RASA 助手来部分解决这个问题,在那里我删除所有这些特殊字符,我的 RASA 助手仍然会将实际输入分配到正确的插槽中(在这种情况下进入 appl_name 槽)。最大的问题是来自真实用户的真实输入仍然会包含这些会导致问题的特殊字符。我的 RASA 助手能够将此输入存储到正确的实体中,但无法正确存储此输入。例如,实际输入 NGSSM_NC_TOMS_SUITE_A/T_(P) 存储为 NGSSM_NC_TOMS_SUITE_A/T_(P

另外我不得不提一下,我是 YAML 语言和 RASA 开发的新手。感谢您的每一个解决方案和建议。 :)

解决方法

我认为您的解决方案是使用不同的实体提取器,例如能够处理特殊字符的 RegexEntityExtractor。请参阅文档 herehere。 另请参阅这些相关的论坛帖子:

相关问答

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