You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rasa NLU是否支持通配符实体?如何提取自由文本实体?

Rasa NLU中的自由文本实体提取方案

嘿,好问题!Rasa确实有对应的机制来处理这种无明确定义的自由文本实体提取,不过它的实现方式和Wit、Dialogflow那些平台的预构建通配符实体略有不同,下面给你拆解清楚:

1. 自定义正则表达式实体

你可以手动定义正则表达式实体来模拟通配符的效果,匹配任意格式的目标文本。比如针对你例子里的场景,想要提取类似coconut nut is not a nut这类连续文本,就可以在Rasa的配置文件里设置一个宽泛的正则:

entities:
- name: free_text
  regex:
  - pattern: ".*"
    case_sensitive: false

不过要注意,这种过于宽泛的正则容易匹配无关内容,建议结合特定意图来约束——比如只在research_topic这类意图下启用该实体的提取,避免干扰其他意图的实体识别。

2. 基于DIETClassifier的训练式提取

Rasa的DIET模型支持通过标注训练数据来学习提取自由文本实体,这比正则更灵活,能结合上下文判断目标内容。你只需要在训练样本里标记出要提取的自由文本部分就行,比如:

## intent:research_topic
- Can you research for [coconut nut is not a nut](free_text)
- I need details about [how renewable energy affects rural economies](free_text)
- Look up info on [the differences between jazz and blues](free_text)

只要你提供足够多样的标注样本,DIET就能学会识别这类无固定格式的实体,甚至能适应不同语境下的文本变化。

小提醒

  • 如果用正则的话,尽量不要直接用.*这种全匹配,最好根据实际场景缩小范围(比如匹配到句号、问号前的内容,或者限定在特定动词后的文本),提升提取精度。
  • 用DIET训练时,样本的多样性很重要,覆盖越多不同类型的自由文本场景,模型的泛化能力就越强。

内容的提问来源于stack exchange,提问作者DeepProblems

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:23:08