欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RASA 对话管理系统DEMO及资源:二,中文支持及NER字典实现

程序员文章站 2022-04-09 20:33:09
...

一,中文支持实现

rasa内置支持使用jieba分词工具,并可使用自编字典,实现场景关键词的正确分词。这对于一些术语领域十分重要。

  1. 进入虚拟环境,安装jieba,

pip install jieba

2. 在rasa工程的根目录下的config.yml中,设置语言,将jieba添加pipeline至:

language: "zh"

pipeline:

- name: "JiebaTokenizer"
  dictionary_path: "data/lookup_tables"

#dictionary_path的目录中后设置你的的字典文件

二, NER字典实现

这里需要实现对一类特定词汇的归类式实体提取。比如,将老虎,大象,章鱼等归类为animal,设置一个词槽(SLOT)就叫animal,凡是输入的句子中出现这些词汇的,都作为实体提取出来,并填入slot。
这些词汇可能不会被正确的分词,记得在前述jieba分词目录中,用一个文本文件做个字典。

如里需要RASA将这些词当作实体提取出来,一种方式,是使用nlu设置进行穷举,让nlu模块学习所有的这些实体,比如在nlu.yml中直接使用如下设置,可以直接定义老虎、狗、猫、大象为animal实体。
RASA 对话管理系统DEMO及资源:二,中文支持及NER字典实现
问题在于你可能有几百上千种animal实体,直接使用穷举的方式显得很笨,有些场合也不现实。比如,你无法穷举电话号码。
另一种方式,是使用RASA内置的正则设置,通过lookup选项,让RASA将lookup中列举的动物直接归入animal实体

(1) 设置config.ym

-name: "RegexFeaturizer"#添加正则特征提取选项
...
- name: "RegexEntityExtractor"
  use_word_boundaries: False #中文环境要用
  use_lookup_tables: True
  use_regexes: True


(2) 设置nlu.yml

RASA 对话管理系统DEMO及资源:二,中文支持及NER字典实现

经过以上设置,虽然“企鹅”,“章鱼”等并没有出现在 - intent recognition设置的例句中,但rasa仍然将它们归为animal实体。

三,实际效果

在demo中,将animal实体做了特殊归类。出现animal的例句,被解读为recognition意图,此意图对应由action_recognize处理。

你可以输入:"我喜欢章鱼",来测试下。

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210330183621516.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rob3I5a2luZw==,size_16,color_FFFFFF,t_70)

注:在DEMO的演示回复,含有*reply: action_recognize*字样的,说明是由名为action_recognize的action类回复的。含有*reply: action_chitchat*字样的,说明是由名为action_chitchat的action类回复的,它调用了一个闲聊服务。 后续再讲解如何实现action

联系与资源

DEMO体验(注:无需注册,不要求获取个人信息),若小程序码无法显示,请搜索微信小程序:小鹰微智,或请前往主页www.moneymeeting.club

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210330184930524.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rob3I5a2luZw==,size_16,color_FFFFFF,t_70)

如果有疑问,可加微信,注备rasa,微信号:aiwabao2021

若需获取本项目相关 源码、配置资源,网盘链接:

https://pan.baidu.com/s/1zwe2PD1B-XOwh3bTizn5Lw

获取提取码,可关注公众号:智会*,并在后台回复: rasa

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210330185058237.png)

rasa系列文章的源码解读,亦将发布在此公众号上,如有需要可持续关注更新

NLP系列:

对话管理系统RASA免费资源
中文语音合成TTS免费API
中文语音识别ASR免费API
机器翻译NMT免费资源

CV系列:

OCR中英文识别免费API

市场数据系列:

免费股票日线数据API