之前一直在用LTP的分词,偶然接触到了PaddleNLP,发现它的分词支持导入本地词典,决定试一下。
首先安装paddlepaddle
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
然后安装paddlehub
pip install paddlehub -i https://mirror.baidu.com/pypi/simple
然后安装lac
hub install lac==2.2.0
Lexical Analysis of Chinese,简称 LAC,是一个联合的词法分析模型,能整体性地完成中文分词、词性标注、专名识别任务。在百度自建数据集上评测,LAC效果:Precision=88.0%,Recall=88.7%,F1-Score=88.4%。该PaddleHub Module支持预测。
类别 文本 - 词法分析
网络 BiGRU+CRF
数据集 百度自建数据集
下面测试一下:
hub run lac --input_text "今天是个好日子"
或者采用词典模式
hub run lac --input_file test.txt --user_dict user.dict
user.dict为用户自定义词典,可以不指定,当指定自定义词典时,可以干预默认分词结果。
词典文件每行表示一个定制化的item,由一个单词或多个连续的单词组成,每个单词后使用'/'表示标签,如果没有'/'标签则会使用模型默认的标签。每个item单词数越多,干预效果会越精准。
春天/SEASON
花/n 开/v
秋天的风
落 阳
- 该PaddleHub Module使用词典干预功能时,依赖于第三方库pyahocorasick,请自行安装
- 请不要直接复制示例文本使用,复制后的格式可能存在问题
实测下来和LTP分词基本一致,环境安装友好。