rasa同义词、查找表、正则表达式字段

文章介绍了在RasaNLU中如何利用同义词、查找表和正则表达式字段来优化实体提取。同义词用于将不同叫法转换为标准词,查找表用于匹配固定实体,正则表达式则提供基于模式的实体匹配。配置EntitySynonymMapper和RegexEntityExtractor组件,并调整pipeline顺序和优先级,可以解决实体重复提取问题。

在nlu中,除了intent,某些特殊场景下需要使用同义词、查找表、正则表达式字段,来使实体提取更准确。

同义词字段

具有synonym键表明当前的对象是用来存储同义词信息的。

同义词的作用是,当一个实体有多种叫法的时候,可以将多种叫法转成一个正式的叫法,并替换到实体中,方便后续的action操作。如蟾蜍有很多民间叫法(癞蛤蟆),但是查询数据库时,只能用蟾蜍。

在启动EntitySynonymMapper组件的情况下,推理时会将得到的实体值的同义词替换成它的“标准词”。

注意:同义词映射只发生在实体被提取之后。这意味着您的训练示例应包括同义词示例 (西红柿、洋柿子),以便模型学习将这些识别为实体并将它们替换为 番茄。

下面是同义词配置的完整示例。

- intent: query_vegetables_price
  examples: |
    - [番茄](vegetables)多少钱一斤
    - [番茄](vegetables)怎么卖
    - [番茄](vegetables)什么价
    - [西红柿](vegetables)多少钱一斤
    - [西红柿](vegetables)怎么卖
    - [西红柿](vegetables)什么价
    - [洋柿子](vegetables)多少钱一斤
    - [洋柿子](vegetables)怎么卖
    - [洋柿子](vegetables)什么价
    - [蕃茄](vegetables)多少钱一斤
    - [蕃茄](vegetables)怎么卖
    - [蕃茄](vegetables)什么价

- synonym: 番茄
  examples: |
    - 番茄
    - 西红柿
    - 洋柿子
    - 蕃茄

注意,使用同义词,需要在pipline中增加EntitySynonymMapper。

pipeline:
  - name: JiebaTokenizer
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值