介绍
Rasa是一个基于深度学习的聊天机器人框架。
Jieba是国人大神开源的一个中文NLP库。
Rasa目前已经有了基于Jieba的分词组件,但是没有实体抽取组件。
本文介绍我为一个为Rasa项目实现了中文的实体抽取组件的库。
实体抽取基于Jieba分词的词性识别,可以通过指定词性,将该词性的实体识别出来。
Rasa-Jieba-Ner: 基于Jieba分词的,实体抽取 (github.com)
使用
- 运行build.cmd中的命令生成wheel包。
- 使用pip安装wheel包。
- 修改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
相关链接:
- Rasa: Rasa · GitHub
- Jieba: GitHub - fxsjy/jieba: 结巴中文分词