中文分词工具(LAC) 试用笔记

简介: 中文词法分析LAC 支持Python、C++、JAVA、Android 用接口调用,其他语言的话就需要开发者自己自行封装了,笔者这次决定使用Python进行实验,在文中也会把相关代码给贴出来,给大家作为一个参考

一、背景


笔者2年前写过一篇《PHP使用elasticsearch搜索安装及分词方法》的文章,记录了使用ES的分词的实现步骤,最近又需要用到分词,在网上发现一个百度的中文分词项目,中文词法分析(LAC) ,决定使用一番,并把这次试用通过文章记录下来,给有需要的朋友一个参考吧


中文词法分析LAC 支持Python、C++、JAVA、Android 用接口调用,其他语言的话就需要开发者自己自行封装了,笔者这次决定使用Python进行实验,在文中也会把相关代码给贴出来,给大家作为一个参考


二 、安装LAC


LAC2.0 的安装方式非常简单,直接使用pip安装即可,但是国内访问pip软件源可能比较慢,因此我们可以用上加速地址,参考命令如下所示


pip3 install lac  -i https://mirror.baidu.com/pypi/simple


命令执行完成之后,返回的信息如下所示


1.png


安装注意事项


  1. LAC有1.0 和2.0 ,在码云中显示的是1.0,但是并没有特意标明,1.0 的版本安装过程非常比较麻烦,安装过程也容易出错,建议大家可以去github查看LAC 2.0的安装方式


  1. 如果你是windows系统想用wsl去安装,不要使用WSL1.0,因为他不支持LAC的依赖组件paddle,也就没办法正确安装LAC了


  1. LAC 安装需要注意你的Python版本,不能大于3.7,笔者做实验的时候使用的Python3.8版本,结果报了如下错误


2.png


三、 运行DEMO


为了验证是否已经将LAC安装成功,这里笔者运行了一下DEMO示例代码,首先新建了一个代码文件lac.py,然后将demo代码复制进去,代码如下所示


# -*- coding: utf-8 -*-
from LAC import LAC
# 装载分词模型
lac = LAC(mode='seg')
# 单个样本输入,输入为Unicode编码的字符串
text = u"大王叫我来巡山"
seg_result = lac.run(text)
print(seg_result)
# 批量样本输入, 输入为多个句子组成的list,平均速率会更快
texts = [u"山里有个庙", u"庙里有个老和尚跟一个小和尚"]
seg_result = lac.run(texts)
print(seg_result)


接着使用Python运行这个文件,执行命令如下


python lac.py


命令执行之后,返回的分词词汇标注信息如下所示


3.png


从上面图片可以看到,LAC已经将一段文本进行了分词,说明我们安装LAC成功,


LAC 除了可以进行分词之外,还可以用来做词性标注与实体识别,我们接着继续运行demo代码,笔者首先新建了一个代码文件lac2.py,然后将用来做词性标注和实体识别的demo代码复制进去,代码如下所示


from LAC import LAC
# 装载LAC模型
lac = LAC(mode='lac')
# 单个样本输入,输入为Unicode编码的字符串
text = u"我想涨工资"
lac_result = lac.run(text)
print(lac_result)
# 批量样本输入, 输入为多个句子组成的list,平均速率更快
texts = [u"汤青松长得好帅", u"我喜欢做安全开发工程师"]
lac_result = lac.run(texts)
print(lac_result)


接着使用Python运行这个文件,执行命令如下


python lac2.py


命令执行之后,返回的分词词汇标注信息如下所示


4.png


在上图中我们可以看到,这次LAC不仅返回了分词结果,还返回另外一个词汇类型的list,笔者粗略的核对了一下,基本都能对应上,比如笔者的名字标识为PER 人名类型,好帅标示为 a 形容词类型


下面是词性和专名类别标签集合,其中我们将最常用的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 时间


四、试用感想


LAC是一个非常不错的分词工具,并不是用来直接为业务提供搜索支持,而是作为一个搜索引擎的基础工具;


比如当你想将网站的文章标题用于站内搜索,使用LAC进行了分词,分词之后这些数据你还需要额外的存储,用来作为搜索使用,因为LAC只提供分词功能,所以感觉LAC适合作为分词搜索引擎的一部分,如果你想用来分词搜索站内信息,倒不如ES的那么方便。


笔者也好奇LAC项目的适用场景是什么?从LAC项目的产品口中得知回答如下:


LAC适用场景更多是与实体识别相关的,比如知识图谱,知识问答,信息抽取等,也可以作为其他模型算法的基础工具,因为其分词粒度是以实体作为粒度的,同时兼具实体识别的效果,而在搜索引擎中一般使用的分词粒度会更小一些,或者同时提供多种粒度,如果要面向搜索的分词,还需要用户自行进行微调模型
目录
相关文章
SketchUp2020免费中文完整版官网2021教程模型库下载
SketchUp2022 WIN10 64位安装步骤: 1.先使用“百度网盘客户端”下载SU22_CN_x64安装包到电脑磁盘里,并鼠标右击进行解压缩,然后找到SketchUpProFull-2022.exe,鼠标右击选择【以管理员身份运行】 2.选择软件安装路径,默认安装在C盘,点击【更改】可修改软件安装路径,注意:安装路径文件夹名称不能含有中文字符!小编这里将软件安装在D盘SU2022文件夹下,然后点击【安装】 温馨提示:请记住软件安装路径,后续操作需要用到。 3.正在安装中,这个过程中大概需要10分钟左右的时间,请耐心等待… 4.安装结束,点击【完成】 5.返回软件初始安装包
SketchUp2020免费中文完整版官网2021教程模型库下载
|
机器学习/深度学习 自然语言处理 API
文档翻译有哪些开源的工具
文档翻译有哪些开源的工具
|
定位技术
简直完美!百度文库付费文档可以免费下载了!
hello,大家好,我是Jackpop,感谢您对平凡而诗意的关注。 今天,来跟大家聊一下百度文库。 我感觉百度文库是一个经久不衰的话题,蕴含着大量有价值的内容,尤其是对在校学生、教师等人员,非常有价值。
简直完美!百度文库付费文档可以免费下载了!
|
机器人 开发工具 开发者
GPT-4免费无限制使用教程
GPT-4免费无限制使用教程
1593 0
|
数据采集 自然语言处理 搜索推荐
【编程课堂】jieba-中文分词利器
在之前的文章【编程课堂】词云 wordcloud 中,我们曾使用过 jieba 库,当时并没有深入讲解,所以本次将其单独列出来详细讲解。
|
数据安全/隐私保护
简单、免费、快捷的PDF处理工具
简单、免费、快捷的PDF处理工具
|
Android开发
泼辣修图2023最新版功能介绍及使用教程
看了看后台管理,发现修图软件比较受大家欢迎,所以今天我打算在更新一个修图软件泼辣修图!泼辣修图是一款深受用户喜爱的修图软件,所以今天为大家推荐这款修图APP,经过汉化,所有滤镜和工具都能免费用,无任何的廣搞! 无论你是入门新手还是摄影专家,泼辣修图都可以满足你的一切需求。对于入门新手而言,泼辣修图搭载的先进自动增强工具和富有创意的图像滤镜,可以帮助他们快速雕琢图像的每一个细节。对于摄影专家而言,图层混合、局部调整、曲线工具等等功能则是他们青睐有加的专业特性。
534 0
|
存储 移动开发 项目管理
MindManager2022思维导图中文版本更新下载
此次MindManager2022简体中文版可是卯足了劲强势回归,让我们来了解了解MindManager2022吧。它是功能强大的版本,凭借开创性的视觉捕获,处理和共享知识的新方式,让你更清晰地思考,工作速度更快,比以往任何时候都更加完善。
259 0
|
Web App开发 存储 编解码
MindManager2022汉化免费版思维导图软件
近期MindManager更新到了2022版本,自带简体中文。能够快速获取您眼前以及脑中涌现出的信息,采用灵活的数字格式向您展示哪些内容比较重要、您需要怎么做、哪些内容可以忽略。组织并呈现信息与知识,让同事、利益相关者、用户或您想要分享的其他人能够即刻理解并立即行动。头脑风暴。轻松规划。顺利进展的项目。轻松整合。清晰交流。
782 0