小皮博客 | Xiaopi's Blog

109-【RASA系列教程-3】-RASA NLU模型训练

准备好训练数据之后要进行的就是模型训练。而RASA NLU可以定义不同的pipeline。

Rasa_NLU_Chi方案

官方地址在: https://github.com/crownpku/Rasa_NLU_Chi

配置文件如下:

language: "zh"  
pipeline:
- name: "nlp_mitie"
  model: "data/total_word_feature_extractor_zh.dat"
- name: "tokenizer_jieba"
- name: "ner_mitie"
- name: "ner_synonyms"
- name: "intent_entity_featurizer_regex"
- name: "intent_classifier_mitie"

tensorflow_embedding

language: "zh"  

 pipeline:
 - name: "tokenizer_jieba"
 - name: "ner_crf"
 - name: "intent_featurizer_count_vectors"
   OOV_token: oov
   token_pattern: '(?u)\b\w+\b'
 - name: "intent_classifier_tensorflow_embedding"

Rasa_NLU自定义component

参考: https://www.jianshu.com/p/4ecd09be4419,作者定义了一套component,可以实现两个实体识别模型: bilstm+crf 和 idcnn + crf。代码在https://github.com/GaoQ1/rasa_nlu_gq,可以通过pip3安装

pip3 install rasa-nlu-gao

ner_bilstm_crf

language: "zh"

 pipeline:
   - name: "tokenizer_jieba"

   - name: "intent_featurizer_count_vectors"
     token_pattern: '(?u)\b\w+\b'
   - name: "intent_classifier_tensorflow_embedding"

   - name: "ner_bilstm_crf"
     lr: 0.001
     char_dim: 100
     lstm_dim: 100
     batches_per_epoch: 10
     seg_dim: 20
     num_segs: 4
     batch_size: 200
     tag_schema: "iobes"
     model_type: "bilstm" # 模型支持两种idcnn膨胀卷积模型或bilstm双向lstm模型
     clip: 5
     optimizer: "adam"
     dropout_keep: 0.5
     steps_check: 100

jieba_pseg_extractor

上面对slot filling的精度进行了提高,但是前提还是需要有大量的训练数据,如果训练数据不多的话还是建议使用ner_crf。原作者还自定义了组件jieba_pseg_extractor,以借助jieba来解决人名识别的问题。

language: "zh"

 pipeline:
 - name: "tokenizer_jieba"
 - name: "ner_crf"
 - name: "jieba_pseg_extractor"
   part_of_speech: ["nr", "ns", "nt"]
 - name: "intent_featurizer_count_vectors"
   OOV_token: oov
   token_pattern: '(?u)\b\w+\b'
 - name: "intent_classifier_tensorflow_embedding"

版权声明

本文标题:109-【RASA系列教程-3】-RASA NLU模型训练

文章作者:盛领

发布时间:2020年09月26日 - 13:48:40

原始链接:http://blog.xiaoyuyu.net/post/3d9c5ef.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

如您有任何商业合作或者授权方面的协商,请给我留言:sunsetxiao@126.com

盛领 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!