Python PaddleNLP开源实现快递单信息抽取
作者:Python全栈工程师 发布时间:2023-01-21 04:35:11
前言
近几年,制造业作为国民经济主体,是国家创造力、竞争力和综合国力的重要体现。作为制造强国建设的主攻方向,可以说,智能制造发展水平关乎我国未来制造业的全球地位。
制造业与物流结合紧密,随着制造业的高速发展,对自动化率、全产业链协同和生产效率再提高等方向均提出了更高的要求,需要物流仓储能够匹配相应的生产节奏。
同时,据统计,我国制造业生产成本中,物流占比高达三成,降低物流成本成为了制造业利润提升的关键一环。
今天,我将基于智能制造 - 精益物流场景,跟大家分享一下,从快递单信息抽取到智能立体库, 盘点两大通用的开源产业落地方案。
5 条标注数据,搞定物流快递单信息抽取
据统计,2021 年国内快递件数超 1000 亿件。作为劳动密集型产业,固有模式下出现的快递人员短缺、配送效率疲软、物流承载有限等问题,俨然成为物流行业面临的最直接挑战。利用智能化手段来提高工作效率、提升用户体验,是物流行业最强烈且迫切的需求。
在下单环节,“买卖东西一时爽,信息输入超麻烦”、“门牌号、手机号码,这输错一个数字就是千差万别”、“名字还有生僻字,找都找不到” 都道出了不少人的心声,特别是每天都需处理大量订单的商家和物流工作人员更是苦不堪言,而这个问题可以靠 NLP 信息抽取技术来解决。
基于此,飞桨自然语言处理模型库 PaddleNLP 开源了通用信息抽取技术 UIE,能够大大加快快递单信息结构化效率。 可轻松实现从用户提供的文字信息中快速抽取姓名、电话、省、市、区、详细地址等内容,形成结构化的信息,降低客户填单成本。
图 1:物流快递单信息抽取
信息抽取是一个行业应用价值很高的技术,却因为任务多样、领域多样、数据获取和标注成本高,导致落地成本居高不下。
因此,中科院软件所和百度共同提出了大一统诸多任务的通用信息抽取技术 UIE(Universal Information Extraction),在实体、关系、事件和情感等 4 个信息抽取任务、13 个数据集的全监督、低资源和少样本设置下,均取得了 SOTA 性能,这项成果发表在 ACL’22 [1]。
前阵子,百度飞桨的 PaddleNLP 结合文心大模型中的知识增强 NLP 大模型 ERNIE 3.0,发挥了 UIE 在中文任务上的强大潜力,开源了首个面向通用信息抽取的产业级技术方案,不需要标注数据(或仅需少量标注数据),即可快速完成各类信息抽取任务。
图 2:传统方案 vs UIE 统一建模方案
在物流快递单信息抽取任务中,仅标注了 5 条样本,F1 值即提升 18 个点,达到 93% 。相对于传统序列标注方案动辄标注几百条、几千条的高额标注成本。可以说,PaddleNLP 开源的通用信息抽取工具简直是国货之光!
这么酷炫的技术能力,如何快速应用到业务中呢?
通过调用 paddlenlp.Taskflow API 即可实现零样本(zero-shot)抽取多种类型的信息,话不多说,直接上代码,看效果:
# 快递单信息抽取
from paddlenlp import Taskflow
schema = ['姓名', '省份', '城市', '县区']
ie("北京市海淀区上地十街10号18888888888张三")
>>> [{'姓名': [{'text': '张三', 'start': 24, 'end': 26, 'probability': 0.97369767177317}],
'城市': [{'text': '北京市', 'start': 0, 'end': 3, 'probability': 0.9992830142165161}],
'县区': [{'text': '海淀区', 'start': 3, 'end': 6, 'probability': 0.9997933003097614}]}]
对于复杂目标,可以标注少量数据(Few-shot)进行模型训练,以进一步提升效果。PaddleNLP 打通了从数据标注 - 训练 - 部署全流程,不仅能够方便地进行定制化训练,在部署阶段我们也提供了基于 ONNXRuntime 引擎部署、半精度(FP16)推理等多种加速方案,满足 CPU、GPU 等不同场景下的部署需求。
所有源码及模型均已开源,大家可以尝鲜使用,star 鼓励。
此外,PaddleNLP 还开源了物流快递单信息抽取产业实践范例,通过完整的代码实现,提供从数据准备到模型调优的全过程解析,堪称产业落地的 “自动导航” 。 百度高工还将带来手把手进行全流程代码实践,轻松直达项目 POC 阶段。
智能立体库盘点
物流行业的货物存储库有从单一存储特性的立体库向多功能智能化物流仓转化的发展趋势,包括赋能智慧物流集收货、配送、分拣、客户化定制等功能一体的智能物流库,赋能智能制造集存储、线边自动补给、集成自动化生产工艺为一体的多功能物流库。
针对这一趋势下的多功能智能化物流仓进行智能盘点,相较传统物流仓而言,其难度也增加了不少,主要包括:前端工艺、安全管理制约、存储点动态监控、全流程多点监控等,如图 3 所示。
图 3:多功能智能化物流仓的智能盘点难度
飞桨零门槛 AI 开发平台 EasyDL 可从 0 到 1 快速构建针对多功能智能化物流仓的智能盘点的 AI 模型,最快 15 分钟即可完成模型训练。
使用流程下图所示。
图 4: AI 模型训练及部署流程
无需关注模型细节,即便是没有任何 AI 基础,也能快速上手使用!使用 EasyDL - 图像分割任务进行模型训练,最终模型效果可以达到 99.9%,充分满足产业应用的需求。
图 5: 模型效果
物流行业自动化近年来蓬勃发展,智能化立体库、自动码垛、自动搬运、自动装车、智能分拣等相关设备在各行业应用广泛。在产品在途、在库信息查询、产品溯源等各个环节中,AI 技术都发挥了至关重要的作用,大大节约了物流成本,提高了物流效率和盘点效率。
即刻上手使用 EasyDL,快速构建属于你的 AI 盘点模型吧!
来源:https://juejin.cn/post/7106690827375607838
猜你喜欢
- 接口测试中,上传文件的测试场景非常常见。例如:上传头像(图片)、上传文件、上传视频等。下面以一个上传图片的例子为大家讲解如何通过 pytho
- 看lifesinger的《由Kimi找茬想到的》,我想到的:1、 我不同意将“合并付款”定调在“很多卖家都需要”。这个“很多”在卖家里面大概
- 前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。作者:黑白之道刮刮
- 在 PHP 中实现异步定时多任务消息推送的方式有多种,其中一种常用的方式是使用异步任务队列。以下是一个简单的步骤:安装和配置消息队列服务(如
- 1. 相对与比较老的环境,建议使用第二个 set dbconnection=Server.CREATEOBJECT("ADODB.
- 您可以将SQL Server 数据库引擎升级到 SQL Server 2008。SQL Server 安装程序只需最少的用户干预就可升级 S
- 自动上次ymPrompt组件发布,自己就曾发现在IE8下遮罩的半透明滤镜有时无效的问题,后来也有网友提出过这个问题,但自己一直也没有太多关注
- Float(浮动)概念也许是CSS中最让人迷惑的一个概念吧。Float经常被错误理解,而且因为将上下文元素全部浮动导致的可读性、
- 复制代码CREATE FUNCTION fGetStrBySplit ( @Source VARCHAR(max), @Index INT,
- 当然如果想了解更多编辑器的原理制作方法,只有你自己去下载一个在线编辑器,慢慢研究,相信会有更多的收获!HTML在线编辑器的基本概念1,什么是
- 注意:安装时要保证Oracle安装目录不能带有中文字符(如果第一次安装出现“加载数据库错误areasQueries”的错误,一般是因为Ora
- 设计网站的同志背景主要有两种:学计算机、学艺术。基本上会写代码的不懂设计,会设计的不懂代码,这个格局似乎到今天还没变。某些学计算机的同学,有
- 1. 安装vim:# apt-get install -y vim-gnome2. 安装ctags,ctags用于支持tagli
- 安装pip install faker使用简单使用本库可生成姓名、地址、电话、邮箱、公司等等一系列数据。首先导入库,实例化:from fak
- 目录一、前言二、基础命令三、正常显示中文:四、设置图样或子图五、设置x轴或y轴相关属性:六、设置标题:七、设置图例:八、进行标注:九、保存图
- 很多时候我们都需要了解下python中导入包的属性方法信息,当然dir 是最便捷的了,不过如果想知道特定的,例如以_ 开头的属性,需要写个筛
- 一、什么是匿名函数?在Javascript定义一个函数一般有如下三种方式:函数关键字(function)语句:function f
- 经纬度坐标转换最常见办法就是调用第三方 API,例如百度、高德地图等服务平台,提供了相应的功能接口,它们的这类技术已经非常成熟啦,准确稳定,
- 示例代码: BulkStockBll bll = new BulkStockBll(); DataSet ds = bll.GetBulkS
- 按理说unittest 中是不应该测试那种外部依赖很强的用例,但是呢,有时候有些接口总是调试好之后怕忘了,就写了一些简单的测试case,想要