首页 > 解决方案 > 如何转义 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 开发的新手。感谢您的每一个解决方案和建议。:)

标签: yamlrasa-nlurasa

解决方案


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


推荐阅读