LAC 2.0
百度Paddlehub-LAC快速安装
- Windows 7/8/10 专业版/企业版 (64bit) (CPU版本)
- Python 版本 2.7/3.5.1+/3.6/3.7 (64 bit)
- pip 或 pip3 版本 9.0.1+ (64 bit)
- Visual Studio 2015 Update3
- CentOS 版本 (64 bit)
- CentOS 6 (不推荐,不提供编译出现问题时的官方支持)
- CentOS 7 (GPU 版本支持CUDA 9/10.0)
- Python 版本 2.7.15+/3.5.1+/3.6/3.7 (64 bit)
- pip 或 pip3 版本 9.0.1+ (64 bit)
1. 下载源码+编译安装
清华源提供的 paddlepaddle
列表,在这里查看
python3.6 linux
python3.7 linux
2. 在当前机器或目标机器安装编译好的 .whl 包:
1 |
|
或(新版本的paddlehub(>=1.5.0)可以支持多线程调用)
1 |
|
若是之前安装过老版本paddlehub,请按如下错误卸载:
1 |
|
新版本的paddlehub在 import cv2
时可能会报错 libXrender.so.1: cannot open shared object file: No such file or directory
解决方法:yum install libXrender.x86_64
3. 修改paddlehub临时文件
针对老版本paddlehub(<1.5.0)
其中的 ~/.paddlehub/modules/lac/python/xxxxxxx.py 可能会导致IndexError错误,需要对其进行修改,获取错误信息!
- 备份module文件:
1
cp /home/ningshixian/.paddlehub/modules/lac/python/a62c5d015111daae0dbd8719b0293c1b.py /home/ningshixian/.paddlehub/modules/lac/python/a62c5d015111daae0dbd8719b0293c1b.py.bak
- 获取异常信息 将304行cur_word = words[word_index]修改为:
1
vi /home/ningshixian/.paddlehub/modules/lac/python/a62c5d015111daae0dbd8719b0293c1b.py
1 |
|
恭喜,至此您已完成PaddlePaddle的编译安装!!
4. 验证安装
安装完成后您可以使用 python 或 python3 进入python解释器,输入 import paddle.fluid as fluid
,再输入 fluid.install_check.run_check()
,如果出现 Your Paddle Fluid is installed succesfully!
,说明您已成功安装。
5. 词法分析LAC模型下载安装
Lexical Analysis of Chinese,简称 LAC,是一个联合的词法分析模型,能整体性地完成中文分词、词性标注、专名识别任务。
PaddleHub中的预训练模型和预置数据集都需要通过服务端进行下载,因此PaddleHub 默认用户访问外网权限
hub install lac==2.0.0
安装位置:C:\Users\ningshixian\.paddlehub\cache\lac
https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/lexical_analysis
6. paddlehub使用代码示例
1 |
|
参数:
- data:dict类型(key为text,str类型,value为待分词文本,list类型)
- user_dict: 用户自定义词典的路径,当提供自定义词典时,用户可以通过自定义词典来干预分词结果。(PS: 词典包含三列,第一列为单词,第二列为单词词性,第三列为单词词频,以水平制表符分隔。词频越高的单词,对分词结果影响越大)
返回:
- results:list类型(每个元素为对应输入文本的预测结果)
- results的元素是dict类型,有word和tag字段, word字段存放文本分词后的各个单词,tag存放各个单词对应的标签(
tag=='nr' or tag=='PER'
)
更新-LAC2.0
最近百度NLP发布了LAC 2.0:开源!我知道你不知道,百度开源词法LAC 2.0帮你更懂中文,看完文章的第一感受就是易用性大大加强了,之前需要通过PaddleNLP或者PaddleHub调用lac,现在 “pip install lac” 后即可直接调用,相当方便。
LAC 2.0有哪些优势
效果好:通过大规模语料自动标注和联合模型训练,整体效果业内领先
效率高:优化模型参数与性能,重构C++调用代码,简化编译流程,性能提升约2倍
可定制:LAC 2.0可以实现简单可控的干预机制,能够精准匹配用户词典对模型进行干预,词典支持长片段形式,使得干预更为精准。
调用便捷:增加Python的pip一键安装,增加Java和Android的支持与调用
支持移动端:定制超轻量级模型,体积仅为2M
LAC 2.0如何安装使用
1 |
|
分词
- 代码示例: mode=’seg’
1 |
|
- 输出:
1 |
|
词性标注与实体识别
- 代码示例:mode=’lac’
1 |
|
- 输出:
每个句子的输出其切词结果word_list以及对每个单词的标注tags_list,其格式为(word_list, tags_list)
1 |
|
词性和专名类别对照表
词性和专名类别标签集合如下表,其中我们将最常用的4个专名类别标记为大写的形式:
标签 | 含义 | 标签 | 含义 | 标签 | 含义 | 标签 | 含义 |
---|---|---|---|---|---|---|---|
n | 普通名词 | f | 方位名词 | s | 处所名词 | nw | 作品名 |
nz | 其他专名 | v | 普通动词 | vd | 动副词 | vn | 名动词 |
a | 形容词 | ad | 副形词 | an | 名形词 | d | 副词 |
m | 数量词 | q | 量词 | r | 代词 | p | 介词 |
c | 连词 | u | 助词 | xc | 其他虚词 | w | 标点符号 |
PER | 人名 | LOC | 地名 | ORG | 机构名 | TIME | 时间 |