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,整体框架图如下:

PaddleHub预训练模型LAC完成词法分析-LMLPHP
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
09-04 17:45