Rasa 2.8版本give_name意图下name实体无法提取问题排查
Rasa 2.8.3
name 实体提取失败常见配置遗漏排查点 - NLU训练数据标注缺失或不规范:检查
nlu.yml中give_name意图对应的训练语料,是否正确标注了name实体,示例标注格式为:
训练时如果没有给对应语种的姓名语料做实体标注,即使意图识别置信度接近1,实体提取器也无法识别匹配到对应实体。nlu: - intent: give_name examples: | - nama saya [Mario](name) - saya [Adi](name) - nama saya [Siti](name) - 实体未在配置中注册:检查
domain.yml是否在顶部entities字段声明了name实体,示例配置:
未在domain中声明的实体,即使被模型提取到也会被Rasa默认过滤,不会出现在接口返回的entities字段中。entities: - name - pipeline未配置实体提取能力:检查
config.yml的pipeline配置,是否包含实体提取相关组件,多语种场景基础配置参考:
如果pipeline仅配置了意图分类相关组件,没有实体提取能力,会固定返回空实体数组。pipeline: - name: WhitespaceTokenizer - name: LexicalSyntacticFeaturizer - name: DIETClassifier epochs: 100 - slot自动填充开关关闭:如果确认实体可以正常提取但无法存入对应slot,检查
domain.yml中nameslot的配置:
如果设置了slots: name: type: text auto_fill: true influence_conversation: falseauto_fill: false且没有额外编写自定义动作手动提取实体赋值,也会出现slot无法正常存入值的问题。
内容的提问来源于stack exchange,提问作者Wira Admaja
相关产品推荐
相关产品推荐

