rasa中文语言模型spacy的配置
本篇内容介绍了“rasa中文语言模型spacy的配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
spacy最新版本开始支持中文
1, 下载 中文语言模型 zh_core_web_md-2.3.1.tar.gz
下载地址:https://spacy.io/models/zh
2,rasa 聊天机器人 config.yml 改进 配置:
language: zh
pipeline:
- name: SpacyNLP # 预训练词向量
model: "zh_core_web_md"
- name: SpacyTokenizer # 文本分词器
- name: SpacyEntityExtractor #文本特征化
- name: SpacyFeaturizer #特征提取器 将一句话变成一个向量
pooling: mean
- name: CountVectorsFeaturizer #创建用户信息和标签(意图和响应)的词袋表征 为意图分类和 response selection创建特征
- name: CountVectorsFeaturizer
analyzer: "char_wb"
min_ngram: 1
max_ngram: 4
- name: DIETClassifier #意图分类
epochs: 100
- name: EntitySynonymMapper #同义实体
- name: ResponseSelector
epochs: 100
# Configuration for Rasa Core.
# https://rasa.com/docs/rasa/core/policies/
policies:
- name: MemoizationPolicy
- name: TEDPolicy
max_history: 5
epochs: 100
- name: MappingPolicy
~
直接在nlu.md中写入中文:
## intent:greet
- 你好
- 您好
- hi
- 早上好
- 中午好
- 晚上好
## intent:goodbye
- 再见
- 回头见
- 拜拜
## intent:affirm
- 好的
- 好
- 行
## intent:deny
- 不行
- 不可以
- 不同意
- 没门
## intent:bot_challenge
- 你是人吗
- 你是机器人吗
- 我在和机器人说话吗
- 我在和人说话吗?
~
3,如何挑选哪个意图分类的组件?
组件有两类 预训练Embedding 和 监督式Embedding。
第一类 预训练Embedding: sklearnintentclassifier
使用 spaCy library加载预训练语言模型,包含中文。
什么时候使用此组件? 满足项目场景的预训练词嵌入存在,且能适用于项目时。
第二类 监督式Embedding:embeddingintentclassifier
从0开始训练词嵌入。通常和 countvectorsfeaturizer 组件一起使用。
特点:需要足够的训练数据,此分类器独立于语言,只带多意图的消息,十分灵活。
“rasa中文语言模型spacy的配置”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!