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

 更新时间:2022年06月10日 11:51:08   作者:Python全栈工程师  
这篇文章主要为大家介绍了Python PaddleNLP开源项目实现对快递单信息抽取,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

前言

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

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

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

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

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 盘点模型吧!

以上就是Python PaddleNLP信息抽取提取快递单信息的详细内容,更多关于Python PaddleNLP信息抽取的资料请关注脚本之家其它相关文章!

相关文章

  • 解读MaxPooling1D和GlobalMaxPooling1D的区别

    解读MaxPooling1D和GlobalMaxPooling1D的区别

    这篇文章主要介绍了MaxPooling1D和GlobalMaxPooling1D的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • python中numpy矩阵的零填充的示例代码

    python中numpy矩阵的零填充的示例代码

    本文主要介绍了python中numpy矩阵的零填充的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Python 统计列表中重复元素的个数并返回其索引值的实现方法

    Python 统计列表中重复元素的个数并返回其索引值的实现方法

    这篇文章主要介绍了Python 统计列表中重复元素的个数并返回其索引值,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • 一行代码生成Tableau可视化图表的方法

    一行代码生成Tableau可视化图表的方法

    本文主要介绍了一行代码生成Tableau可视化图表的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • python设置表格边框的具体方法

    python设置表格边框的具体方法

    在本篇文章里小编给大家整理的是关于python设置表格边框的具体方法及相关代码,需要的朋友们可以学习参考下。
    2020-07-07
  • python实现多线程的两种方式

    python实现多线程的两种方式

    这篇文章主要为大家详细介绍了python实现多线程的两种方式,感兴趣的朋友可以参考一下
    2016-05-05
  • 将matplotlib绘图嵌入pyqt的方法示例

    将matplotlib绘图嵌入pyqt的方法示例

    这篇文章主要介绍了将matplotlib绘图嵌入pyqt的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Python中set与frozenset方法和区别详解

    Python中set与frozenset方法和区别详解

    这篇文章主要介绍了Python中set与frozenset方法和区别详解的相关资料,需要的朋友可以参考下
    2016-05-05
  • 一文详解如何配置Pycharm进行远程开发

    一文详解如何配置Pycharm进行远程开发

    在搞深度学习的时候,我们在本地开发,但是需要在服务器去运行工程,所以需要使用Pycharm进行远程配置,下面这篇文章主要给大家介绍了关于如何配置Pycharm进行远程开发的相关资料,需要的朋友可以参考下
    2024-02-02
  • Python使用asyncio包处理并发详解

    Python使用asyncio包处理并发详解

    这篇文章主要为大家详细介绍了Python使用asyncio包处理并发的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09

最新评论