Python PaddleNLP开源实现快递单信息抽取

作者:Python全栈工程师 时间:2023-01-21 04:35:11 

前言

近几年,制造业作为国民经济主体,是国家创造力、竞争力和综合国力的重要体现。作为制造强国建设的主攻方向,可以说,智能制造发展水平关乎我国未来制造业的全球地位。

制造业与物流结合紧密,随着制造业的高速发展,对自动化率、全产业链协同和生产效率再提高等方向均提出了更高的要求,需要物流仓储能够匹配相应的生产节奏。

同时,据统计,我国制造业生产成本中,物流占比高达三成,降低物流成本成为了制造业利润提升的关键一环。

今天,我将基于智能制造 - 精益物流场景,跟大家分享一下,从快递单信息抽取到智能立体库, 盘点两大通用的开源产业落地方案。

5 条标注数据,搞定物流快递单信息抽取

据统计,2021 年国内快递件数超 1000 亿件。作为劳动密集型产业,固有模式下出现的快递人员短缺、配送效率疲软、物流承载有限等问题,俨然成为物流行业面临的最直接挑战。利用智能化手段来提高工作效率、提升用户体验,是物流行业最强烈且迫切的需求。

在下单环节,“买卖东西一时爽,信息输入超麻烦”、“门牌号、手机号码,这输错一个数字就是千差万别”、“名字还有生僻字,找都找不到” 都道出了不少人的心声,特别是每天都需处理大量订单的商家和物流工作人员更是苦不堪言,而这个问题可以靠 NLP 信息抽取技术来解决。

基于此,飞桨自然语言处理模型库 PaddleNLP 开源了通用信息抽取技术 UIE,能够大大加快快递单信息结构化效率。 可轻松实现从用户提供的文字信息中快速抽取姓名、电话、省、市、区、详细地址等内容,形成结构化的信息,降低客户填单成本。

Python PaddleNLP开源实现快递单信息抽取

图 1:物流快递单信息抽取

信息抽取是一个行业应用价值很高的技术,却因为任务多样、领域多样、数据获取和标注成本高,导致落地成本居高不下。

因此,中科院软件所和百度共同提出了大一统诸多任务的通用信息抽取技术 UIE(Universal Information Extraction),在实体、关系、事件和情感等 4 个信息抽取任务、13 个数据集的全监督、低资源和少样本设置下,均取得了 SOTA 性能,这项成果发表在 ACL’22 [1]。

前阵子,百度飞桨的 PaddleNLP 结合文心大模型中的知识增强 NLP 大模型 ERNIE 3.0,发挥了 UIE 在中文任务上的强大潜力,开源了首个面向通用信息抽取的产业级技术方案,不需要标注数据(或仅需少量标注数据),即可快速完成各类信息抽取任务。

Python PaddleNLP开源实现快递单信息抽取

图 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 所示。

Python PaddleNLP开源实现快递单信息抽取

图 3:多功能智能化物流仓的智能盘点难度

飞桨零门槛 AI 开发平台 EasyDL 可从 0 到 1 快速构建针对多功能智能化物流仓的智能盘点的 AI 模型,最快 15 分钟即可完成模型训练。

使用流程下图所示。

Python PaddleNLP开源实现快递单信息抽取

 图 4: AI 模型训练及部署流程

无需关注模型细节,即便是没有任何 AI 基础,也能快速上手使用!使用 EasyDL - 图像分割任务进行模型训练,最终模型效果可以达到 99.9%,充分满足产业应用的需求。

Python PaddleNLP开源实现快递单信息抽取

图 5: 模型效果

物流行业自动化近年来蓬勃发展,智能化立体库、自动码垛、自动搬运、自动装车、智能分拣等相关设备在各行业应用广泛。在产品在途、在库信息查询、产品溯源等各个环节中,AI 技术都发挥了至关重要的作用,大大节约了物流成本,提高了物流效率和盘点效率。

即刻上手使用 EasyDL,快速构建属于你的 AI 盘点模型吧!

来源:https://juejin.cn/post/7106690827375607838

标签:Python,PaddleNLP,信息抽取,快递单
0
投稿

猜你喜欢

  • python 调用有道api接口的方法

    2021-11-18 18:51:16
  • mysql命令行爱好者必备工具mycli

    2024-01-24 13:33:33
  • 解决Python spyder显示不全df列和行的问题

    2021-06-23 00:15:47
  • JavaScript前端学算法题解LeetCode最大重复子字符串

    2024-05-21 10:21:00
  • Python打工人必备之windows倒计时锁屏功能的实现

    2021-01-18 04:21:21
  • python实现求纯色彩图像的边框

    2022-04-01 22:04:51
  • python使用matplotlib库生成随机漫步图

    2021-03-01 15:11:37
  • Python图片处理模块PIL操作方法(pillow)

    2021-11-11 18:19:59
  • MySQL 5.7.30 安装与升级问题详细教程

    2024-01-21 09:42:40
  • Python全局变量关键字global的简单使用

    2022-01-29 11:03:49
  • numpy数组合并和矩阵拼接的实现

    2022-09-05 19:39:54
  • 利用后缀表达式(逆波兰式)算24点的JavaScript版算法

    2010-01-23 10:57:00
  • Python readline()和readlines()函数实现按行读取文件

    2022-02-21 13:19:36
  • 配置python连接oracle读取excel数据写入数据库的操作流程

    2024-01-14 02:30:31
  • Mysql 数据库结构及索引类型

    2024-01-20 23:40:35
  • 浅谈pandas用groupby后对层级索引levels的处理方法

    2022-10-15 01:43:37
  • sqlserver数据库危险扩展删除和恢复代码

    2024-01-27 19:30:46
  • SQL Server 2012 开窗函数

    2024-01-28 01:39:15
  • SQL Server 2005 Express版企业管理器下载

    2009-10-06 14:54:00
  • Python3.5装饰器原理及应用实例详解

    2023-11-07 23:15:51
  • asp之家 网络编程 m.aspxhome.com