Rasa-Jieba-Ner:在Rasa中使用Jieba分词作为实体抽取组件

介绍

Rasa是一个基于深度学习的聊天机器人框架。

Jieba是国人大神开源的一个中文NLP库。

Rasa目前已经有了基于Jieba的分词组件,但是没有实体抽取组件。

本文介绍我为一个为Rasa项目实现了中文的实体抽取组件的库。

实体抽取基于Jieba分词的词性识别,可以通过指定词性,将该词性的实体识别出来。

Rasa-Jieba-Ner: 基于Jieba分词的,实体抽取 (github.com)

使用

  1. 运行build.cmd中的命令生成wheel包。
  2. 使用pip安装wheel包。
  3. 修改Rasa项目的config文件,使用本library作为实体抽取组件。

示例

language: zh

pipeline:
    - name: rasa_jieba_ner.JiebaNerExtractor
      part_of_speech: ['nr','m','n']
      dictionary_path: "C:/data/user_dict/corpora.txt"

其中part_of_speech和dictionary_path是可选参数,分别表示抽取实体的词性和用户字典的路径。
默认情况下,只提取词性为nr的实体,nr即人名。
注意:windows下用户词典的路径分割符要使用"/"

备注:

完整的config.yml component示例:

language: zh

pipeline:
    - name: "JiebaTokenizer"
      dictionary_path: "C:/BI-OLD-DRIVER/rasa-demo/data/user_dict/corpora.txt"
    - name: rasa_jieba_ner.JiebaNerExtractor
      part_of_speech: ['nr','m','n']
      dictionary_path: "C:/BI-OLD-DRIVER/rasa-demo/data/user_dict/corpora.txt"
    - name: CountVectorsFeaturizer
    - name: DIETClassifier

相关链接:

posted @ 2021-08-11 17:56  爱知菜  阅读(165)  评论(0编辑  收藏  举报