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 组件一起使用。

特点:需要足够的训练数据,此分类器独立于语言,只带多意图的消息,十分灵活。


以上两种分类器的选择可以通过以下决策树进行:

是否有符合场景机器人语言的预训练词嵌入? 是 --> 下一题,?否 --> 监督式,

是否需要每次消息支持多意图分类??是 --> 监督式, 否 --> 下一题

是否存在领域特殊的词典? 是 --> 下一题,?否 --> 预训练,

是否有足够多的训练数据??是 --> 监督式, 否 --> 预训练

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI机器人202X

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值