Lexical Analysis of Chinese,简称 LAC,是一个联合的词法分析模型,能整体性地完成中文分词、词性标注、专名识别任务。
**NOTE:**如果您在本地运行该项目示例,需要首先安装PaddleHub。如果您在线运行,需要首先fork该项目示例。之后按照该示例操作即可。
下载安装命令 ## CPU版本安装命令 pip install -f https://paddlepaddle.org.cn/pip/oschina/cpu paddlepaddle ## GPU版本安装命令 pip install -f https://paddlepaddle.org.cn/pip/oschina/gpu paddlepaddle-gpu
一、定义待预测数据
以“今天是个好日子”,“今天天气晴朗”,"下一班地铁马上就要到了"为例,展示如何使用LAC进行切词。
In[4]
test_text = ["今天是个好日子", "天气预报说今天要下雨", "下一班地铁马上就要到了"]
若是待预测文本存放在一个文件中,如左侧文件夹所示的test.txt。每一行是待预测句子。
In[1]
!cat test.txt
今天是个好日子 天气预报说今天要下雨 下一班地铁马上就要到了
用户想要利用LAC完成对该文件的分词,只需读入该文件,将文件内容存成list,list中每个元素是待分词句子。
In[2]
with open("test.txt", 'r') as f:
test_text = []
for line in f:
test_text.append(line.strip())
print(test_text)
['今天是个好日子', '天气预报说今天要下雨', '下一班地铁马上就要到了']
二、加载预训练模型
LAC网络框架为BiGRU+CRF,整体框架图如下:
LAC模型框架图
更多详情可以参考PaddleHub官网module介绍
In[3]
import paddlehub as hub
module = hub.Module(name="lac")
[2019-12-16 21:06:33,709] [ INFO] - Installing lac module
Downloading lac [==================================================] 100.00% Uncompress /home/aistudio/.paddlehub/cache/lac [==================================================] 100.00%
[2019-12-16 21:06:35,188] [ INFO] - Successfully installed lac-2.0.0
三、预测
PaddleHub对于支持一键预测的module,可以调用module的相应预测API,完成预测功能。
In[4]
inputs = {"text": test_text}
results = module.lexical_analysis(data=inputs)
for result in results:
print(result)
[2019-12-16 21:06:37,141] [ INFO] - 20 pretrained paramaters loaded by PaddleHub
{'word': ['今天', '是', '个', '好日子'], 'tag': ['TIME', 'v', 'q', 'n']} {'word': ['天气预报', '说', '今天', '要', '下雨'], 'tag': ['n', 'v', 'TIME', 'v', 'v']} {'word': ['下', '一班', '地铁', '马上', '就要', '到', '了'], 'tag': ['f', 'm', 'n', 'd', 'v', 'v', 'xc']}
词性和专名类别标签集合如下表,其中词性标签 24 个(小写字母),专名类别标签 4 个(大写字母)。这里需要说明的是,人名、地名、机构名和时间四个类别,在上表中存在两套标签(PER / LOC / ORG / TIME 和 nr / ns / nt / t),被标注为第二套标签的词,是模型判断为低置信度的人名、地名、机构名和时间词。开发者可以基于这两套标签,在四个类别的准确、召回之间做出自己的权衡。
标签 | 含义 | 标签 | 含义 | 标签 | 含义 | 标签 | 含义 |
---|---|---|---|---|---|---|---|
n | 普通名词 | f | 方位名词 | s | 处所名词 | t | 时间 |
nr | 人名 | ns | 地名 | nt | 机构名 | nw | 作品名 |
nz | 其他专名 | v | 普通动词 | vd | 动副词 | vn | 名动词 |
a | 形容词 | ad | 副形词 | an | 名形词 | d | 副词 |
m | 数量词 | q | 量词 | r | 代词 | p | 介词 |
c | 连词 | u | 助词 | xc | 其他虚词 | w | 标点符号 |
PER | 人名 | LOC | 地名 | ORG | 机构名 | TIME | 时间 |
想了解更多资讯,可访问飞桨PaddlePaddle官网 https://www.paddlepaddle.org.cn/?fr=osc
想尝试在线运行,可关注项目链接:https://aistudio.baidu.com/aistudio/projectdetail/215711
>> 访问 PaddlePaddle 官网,了解更多相关内容。
下载安装命令 ## CPU版本安装命令 pip install -f https://paddlepaddle.org.cn/pip/oschina/cpu paddlepaddle ## GPU版本安装命令 pip install -f https://paddlepaddle.org.cn/pip/oschina/gpu paddlepaddle-gpu