百度NLP权威发布,可能是最好用的中文词法分析工具——LAC 2.0闪亮登场!与LAC 1.0相比,LAC 2.0在性能与效果上有明显提升,且支持多种开发语言,一键安装调用,更加快速便捷。

LAC项目地址:

https://github.com/baidu/lac

 LAC是什么

LAC全称Lexical Analysis of Chinese,是百度NLP(自然语言处理部)研发的一款词法分析工具,可实现中文分词词性标注专名识别等功能。

LAC在分词、词性、专名识别的整体准确率超过90%,以专名识别为例,其效果要比同类词法分析工具提升10%以上。

例如:我知道你不知道,百度开源词法LAC帮你更懂中文!

LAC 2.0可以从语义合理性角度精确完成分词、词性标注专名的一体化识别。

 LAC 2.0有哪些优势

自开源以来,LAC得到了不少关注与好评。为了进一步提升厂内外开发者的使用体验,我们对LAC进行了新一轮全面升级,带来5大优势:

效果好:通过大规模语料自动标注和联合模型训练,整体效果业内领先

通过前沿的深度学习模型BiGRU-CRF,LAC 2.0可以联合学习分词、词性标注实体识别这三个具有强关联性的任务,模型的整体效果F1值超过了0.91,词性标注F1值超过了0.94,专名识别F1值超过了0.85,效果对比业内其他开源工具达到了领先的水平。

同时,对于词法分析而言,OOV(新词,out of vocabulary)是当前模型效果提升最大的障碍,最有效的解决方法是增加数据量,但是人工标注数据需要巨大的人力成本。我们基于强大的NLP技术积累,通过自动标注生成大规模数据集,让模型可以学习到强大的泛化特征,并通过一定量的人工标注数据对模型进行修正。相较于仅用人工标注数据集进行模型训练,通过该方法训练得到的模型整体效果提升超过3%

效率高:优化模型参数与性能,重构C++调用代码,简化编译流程,性能提升约2倍

与旧版本相比,LAC 2.0的效率得到较大的提升。通过精简模型参数,结合飞桨预测库的性能优化,LAC 2.0词法分析的CPU单线程性能优于其他主流工具(详细数据参考表4词性标注与实体识别性能评估)。

可定制:LAC 2.0可以实现简单可控的干预机制,能够精准匹配用户词典对模型进行干预,词典支持长片段形式,使得干预更为精准。

模型示意图

调用便捷:增加Python的pip一键安装,增加Java和Android的支持与调用

LAC 1.0仅支持C++和Python,调用相对复杂有一定门槛。LAC 2.0则同时提供了Java、android、C++Python语言,重构相关代码,相比LAC1.0版本使用更便捷。同时,LAC 2.0支持一键安装,开发者可以实现快速调用和集成。

支持移动端:定制超轻量级模型,体积仅为2M

LAC 2.0在对Android应用的支持上,定制了一版超轻量级的模型,该模型的体积仅为2M,在主流千元手机上测试单线程性能达到了200 QPS,能够满足大多数移动应用的需求,效果大幅超过了同等体积量级的模型。

LAC 2.0对比其他开源工具

分词效果

我们选择市面上流行的3款分词工具进行模型比较。并在pku、msr、ctb、weibo等多个开源数据集对模型效果进行评测,从结果上看,LAC在不同数据集的分词效果均明显优于相关工具,平均分词错误至少降低38.5%,如下所示:

该表格列出的数据是通过各个工具提供的训练接口在不同开源数据集上进行微调训练得出。采用数据集微调训练后再评估,是因为目前分词结果并没有统一的标准,比如人名“张三”,MSR数据集切分时会将其作为一个完整的单词,而工具A数据集标准则认为姓和名需要进行切分,故而会切分为“张  三”。不同标准导致结果差异大,故而通过微调训练使得模型在一个分词标准下进行比较。

LAC默认模型的分词标准偏向于实体粒度,会比其他开源工具的分词粒度更大一些,有需要的同学,可通过增量训练接口定制接口快速实现模型微调和粒度迁移。

专名识别效果

标注任务中,我们以词法任务中难度最大的专名识别任务对LAC的效果进行评估,在开源的新闻实体识别数据集(MSRA)与简历实体识别数据集(Resume)上比较了LAC 2.0与其他工具的效果差异:

表1 MSRA 专名效果评估

表2 Resume 专名效果评估

表1、表2中LAC的人名识别效果显示会稍低于工具B,实则是因为LAC认为"张先生"、"李老师"才是一个完整的人名实体,而其他工具和MSRA数据集则将其中"张"字、"李"字标注为人名实体。故而LAC的人名识别效果实际上会显著高于表中的数值,并优于工具B。

综上可知,LAC的专名识别的整体效果要显著优于其他工具。

性能比较

我们也对LAC与其他工具的性能进行比较,测试环境为:Python语言Linux系统CPU E5-2650 v3

其分词的性能如表3所示,词性标注与实体识别性能如表4所示,LAC还可实现批处理的形式,性能会更快一些。

从结果上看,在分词速率上,LAC性能优于工具A和工具B。而在词性标注和实体识别上,LAC的性能是最高的。

表3 分词性能评估

表4 词性标注与实体识别性能评估

 LAC 2.0如何安装使用

LAC 2.0安装非常简单,Python语言的开发者可直接使用pip安装,兼容Python2/3,兼容WindowsLinuxMacOS,其他语言(JAVA、C++、Android)的调用可以参考GitHub的README文档中安装与使用部分。

pip install lac

from LAC import LAC

lac = LAC()

lac.run("百度是一家高科技公司")

感谢大家的关注,打开下方链接,可了解更多技术详情!

LAC项目地址:

https://github.com/baidu/lac

开源!我知道你不知道,百度开源词法LAC 2.0帮你更懂中文相关推荐

  1. 薅百度GPU羊毛!PaddlePaddle大升级,比Google更懂中文,打响AI开发者争夺战

    记者 | 阿司匹林 出品 | AI科技大本营(ID: rgznai100) 深度学习已经推动人工智能进入工业大生产阶段,而深度学习框架则是智能时代的操作系统. 在4月23日下午的Wave Summit ...

  2. 百度世界发布渡鸦新品,软硬件结合更懂生活

    百度世界发布划时代产品,软硬件结合更懂智能生活 11 月 16 日,2017 百度世界大会在北京盛大举行.百度在会上发布了手机百度 10.0 和全新人工智能硬件"Raven H"等 ...

  3. 百度世界大会最全官方回顾:今天,百度更懂你!

    百度 百度无人驾驶汽车最快将于2018年实现量产. 百度Apollo疲劳驾驶监测系统问世. 手机百度累计激活用户20亿,信息流日阅读量月复合增长36%,短视频日阅读量月复合增长38%. 未来,百度AI ...

  4. 百度开源联邦学习框架 PaddleFL:简化大规模分布式集群部署

    百度开源联邦学习框架 PaddleFL:简化大规模分布式集群部署 作者 | 钰莹近两年,联邦学习技术发展迅速.作为分布式的机器学习范式,联邦学习能够有效解决数据孤岛问题,让参与方在不共享数据的基础上联 ...

  5. 百度开源其NLP主题模型工具包,文本分类等场景可直接使用L——LDA进行主题选择本质就是降维,然后用于推荐或者分类...

    2017年7月4日,百度开源了一款主题模型项目,名曰:Familia. InfoQ记者第一时间联系到百度Familia项目负责人姜迪并对他进行采访,在本文中,他将为我们解析Familia项目的技术细节 ...

  6. 百度开源的 71 个项目,看看你用过几个?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | SoftCloud 来源 | https:// ...

  7. 在目标检测被“遗忘”领域进行探索后,百度开源最新力作UMOP:即插即用、无痛涨点

    ​作者丨happy 编辑丨极市平台 本文原创首发于极市平台公众号,转载请获得授权并标明出处. 文章链接:https://arxiv.org/pdf/2109.07217.pdf 代码链接:https: ...

  8. UidGenerator:百度开源的分布式ID服务(解决了时钟回拨问题)

    idGenerator是百度开源的Java语言实现,基于Snowflake算法的唯一ID生成器.而且,它非常适合虚拟环境,比如:Docker.另外,它通过消费未来时间克服了雪花算法的并发限制.UidG ...

  9. 百度开源的分布式唯一ID生成器UidGenerator,解决了时钟回拨问题

    转载自   百度开源的分布式唯一ID生成器UidGenerator,解决了时钟回拨问题 UidGenerator是百度开源的Java语言实现,基于Snowflake算法的唯一ID生成器.而且,它非常适 ...

  10. San 3.7.4 发布,百度开源的 MVVM 组件框架

    San 3.7.4 发布了.San 是百度开源的一个 MVVM 组件框架.它体积小巧(13K),兼容性好(IE6),性能卓越,是一个可靠.可依赖的实现响应式用户界面的解决方案. 新版更新内容如下: [ ...

最新文章

  1. Python编写循环的两个建议 | 鹅厂实战
  2. Jmeter也能IP欺骗!
  3. Delphi7 (第二天:结构及常用函数)
  4. XidianOJ 1037 倍流畅序列
  5. react-native-Cocoapods-Swift-Project
  6. TVM:源码编译安装
  7. 如何造一个移动端的联动选择器(三)
  8. OD使用教程21(上) - 调试篇21
  9. 20200426:186周周赛(上)(leetcode5392-5394)
  10. python画动态图-利用Python如何制作好玩的GIF动图详解
  11. selenium弹窗无法定位_Selenium异常集锦
  12. CRC-16的原理和实现
  13. mysql版本号字段比较大小_MySQL查询 – 比较版本号
  14. linux修音软件下载,修音软件下载 Auto Tune 8(修音工具) v8.1.2 免费安装版 下载-脚本之家...
  15. Flutter各种虚线实战和虚线边框原理
  16. np.stack()函数详解
  17. 大数据压缩处理:数据分卷压缩和分卷压缩解压
  18. 如何拯救你,我的Oculus?
  19. 日语输入法无法使用的解决方法
  20. 2021年安全员-C证(陕西省)考试试卷及安全员-C证(陕西省)模拟试题

热门文章

  1. 【云原生-Docker】docker常用命令总结大全
  2. Ubuntu 16.04 + ROS Kinetic 机器人操作系统学习镜像分享与使用安装说明
  3. Android碎片化Fragment实例一
  4. [小白经验] “缓解压力、任务管理、时间段分配”心得
  5. Allegro 16.6图文并茂输出光绘文件
  6. Web前端—盒子模型:选择器、PxCook、盒子模型、正则表达式、综合案例(产品卡片与新闻列表)
  7. burpsuite有些网站抓不到包解决办法
  8. python 从方差/协方差到协方差矩阵
  9. [蓝桥杯][基础练习VIP]数的读法
  10. mmdetection自定义backbone(转)