【prompt实战】AI +OCR技术结合ChatGPT能力项目实践(BOL提单识别提取专家)

本文原创作者:姚瑞南 AI-agent 大模型运营专家,先后任职于美团、猎聘等中大厂AI训练专家和智能运营专家岗;多年人工智能行业智能产品运营及大模型落地经验,拥有AI外呼方向国家专利与PMP项目管理证书。(转载需经授权)    

目录

1. 需求背景

2. 目标

3. BOL通用处理逻辑概述

3.1 基础信息 部分

3.2 货物信息部分:

3.3 参考信息部分

BOL的处理结果要求

4. 逻辑梳理

1. BACKGROUND

2. 识别的主要字段

基础信息:

Reference 信息:

3. 格式要求

4. OCR文本清晰度

5. 目标受众

6. 输出示例

7. 特殊要求

8. 数据验证

5. 提示词优化

优化前prompt

优化策略

优化后prompt

中文版

英文版

6. 效果评估

7. 项目收益


1. 需求背景

在公司的运输业务中,BOL(提单)是关键文档,标志着运输的开始,并包含重要的运营信息。目前,不同客户使用不同的BOL模板和处理方式。开发一个单一客户的OCR 信息提取方案通常需要约一周时间,然后才能接入RPA的流程。事实上来说,对于我司而言,BOL中的关键信息具有通用性,可以使用AI的文字理解来解决这个问题。

2. 目标

通过AI +OCR 技术结合, 让AI理解不同客户的BOL,并从中提取UNIS所需的关键信息,实现通用化的BOL解决方案,适配大部分客户的BOL模板。此方法确保数据提取的完整性、准确性和稳定性,并可在未来作为OCR-RPA自动化的直接输入源,直接将ChatGPT提取好的BOL数据对接业务系统录入,人工无需参与手动数据录入

3. BOL通用处理逻辑概述

3.1 基础信息 部分

以下信息是BOL的核心信息,尽量进行识别:

  • 发货人(Shipper)/收货人(Consignee)姓名(可以为空):
  • 发货人(Shipper)/收货人(Consignee)地址(不可以为空): 查询TMS位置数据库,与现有Location 进行匹配。如果没有匹配项,选择最接近或标签为“EDI”的地址。
  • 提货日期(Pick UP Date)(可以为空): BOL签发日期。
  • 特殊说明(Special Instruction)(可以为空): 如交货时间、特殊服务或托盘尺寸等。

3.2 货物信息部分:

包括但不限于Pallet #、Piece #、Weight、NMFC #/Class, 货物描述。通常情况下会有Customer Information 和 Carrier Information 两种描述, 需要都列举识别结果。


3.3 参考信息部分

在客户的BOL中有些参考信息,对于串联业务非常有帮助,需要按如下的逻辑进行和处理,有一定的按优先级要求:

  • Load Number (#):非常重要的字段,用于EDI传输。通过识别BOL中的关键词:“Load Number (#)”、“Load ID”、“ME ID”或“SID (#)”来获取。
  • Shipper Reference (#):次重要字段,通过识别BOL中的关键词:“Shipper Number (#)”、“Shipping Number (#)”、“Customer Ref (#)”或“Additional Ref (#)”获取。
  • Purchase Order (#):通过识别BOL中的关键词:“P.O. Number (#)”、“PO (#)”来获取
  • Sales Order (#)”:通过识别BOL中的关键词:“Sales Order”来获取
  • DN Number:通过识别BOL中的关键词:“Delivery Note (#)”、“DN #”或“Delivery Number”提取。
  • Bill of Lading Number #:通过识别BOL中的关键词:“Sales Order”来获取“BOL Number (#)”来获取参考信息(Reference information)的特殊处理逻辑:

Load Number (#)需要重点识别,如果识别不到,请使用以下逻辑进行替代处理

  • 当无法识别Load Number (#)时,但能获取 Shipper REF 信息,应使用 Shipper REF (#) 来替代Load Number (#)
  • 当无法识别Load Number (#)和 Shipper REF 时,但能获取Bill of lading Number时,可以用Bill of Lading Number 来替代Load Number (#)

REF/BOL 也需要重点识别, 如果识别不到,请使用以下逻辑进行替代处理(---待定)

  • 当无法识别 Bill of lading # 时,但能获取 Customer REF #信息,应使用Customer REF # 来替代REF/BOL 信息
  • 当无法识别 Bill of lading # 和 Customer REF #都无法识别到,可以用PO # 来替代

BOL的处理结果要求

AI处理BOL 的识别结果应该分为3个部分

  • 基础信息(发件人,收货人,Pickup 时间,Spcial instruction )
  • 货物信息(Customer info/Carrier inforamtion)
  • 参考信息(LOAD #/Shipper REF/PurchaseOrder /DN number/Bill of Loading #识别结果应保持稳定的格式,对于识别不完整或缺失的信息,系统应给予提示’Not recongnize‘。针对多页BOL,系统需识别并合并信息。

需要提取附件PDF格式的文字对应到不同位置;

4. 逻辑梳理

1. BACKGROUND

你是一个在物流行业的专家,你需要自动识别取提单(BOL,Bill of Lading)上的关键信息,以便用于货物跟踪、清关和物流管理。目的是准确识别和提取BOL上的重要信息字段,并确保数据的完整性和一致性。

2. 识别的主要字段

基础信息:
  • 发货人信息(Shipper Information):包括发货人的名称、地址、联系方式等。
  • 收货人信息(Consignee Information):包含收货人的名称、地址和联系方式。
  • 货物信息(Description of Goods):列出货物的详细信息,包括名称、Pallet数量、Pieces,TYPE,Weigh,NMFC#,Class等信息。通常情况下,有Customer Order Information 和 Carrier Information, 需要分别识别并提取
  • PICKUP DATE:提单签发日期及其他重要日期。
  • Special Instructions: BOL的特别提示,比如Delivery 时间,特别要求
Reference 信息:
  • Load Number (#): 通过识别 BOL 中的关键词,如 Manifest Number (#)、ME ID 或 Shipment Number (#) 获取。
  • Shipper REF (#): 通过识别 BOL 中的关键词,如 Shipper Number (#)、Shipping Number (#)、Customer Ref (#) 或 Additional Ref (#) 获取
  •  Purchase Order (#):通过识别 BOL 中的关键词,如 P.O. Number (#)、PO (#) 或 CustomerOrder (#) 获取。
  •  DN Number: 通过识别关键词 Delivery Note (#) 获取。
  • Bill of Lading Number (#): 通过识别 BOL 中的 BOL number (#) 关键字获取, • 需要更新到 TMS 中的 Manifest.Cust.BOL 字段。

3. 格式要求

  •  输出应为结构化数据,如JSON或XML格式,便于数据的进一步处理。
  • 若可能,有层次结构以方便嵌套字段(例如发货人和收货人信息中包含子字段,如名称和地址)。货物信息中包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/13146.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dl学习笔记(8):fashion-mnist

过完年懒羊羊也要复工了,这一节的内容不多,我们接着上次的fashion-mnist数据集。 首先第一步就是导入数据集,由于这个数据集很有名,是深度学习的常见入门数据集,所以可以在库里面导入。由于是图像数据集所以&#xff…

【Rust自学】20.2. 最后的项目:多线程Web服务器

说句题外话,这篇文章非常要求Rust的各方面知识,最好看一下我的【Rust自学】专栏的所有内容。这篇文章也是整个专栏最长(4762字)的文章,需要多次阅读消化,最好点个收藏,免得刷不到了。 喜欢的话…

Android学习21 -- launcher

1 前言 之前在工作中,第一次听到launcher有点蒙圈,不知道是啥,当时还赶鸭子上架去和客户PK launcher的事。后来才知道其实就是安卓的桌面。本来还以为很复杂,毕竟之前接触过windows的桌面,那叫一个复杂。。。 后面查了…

[创业之路-276]:从燃油汽车到智能汽车:工业革命下的价值变迁

目录 前言: 从燃油汽车到智能汽车:工业革命下的价值变迁 前言: 燃油汽车,第一次、第二次工业革命,机械化、电气化时代的产物,以机械和电气自动化为核心价值。 智能汽车,第三次、第四次工业革…

Spring Boot - 数据库集成07 - 数据库连接池

数据库连接池 文章目录 数据库连接池一:知识准备1:什么是数据库连接池?2:数据库连接池基本原理 二:HikariCP连接池1:简单使用2:进一步理解2.1:是SpringBoot2.x默认连接池2.2&#xf…

Python-基于PyQt5,Pillow,pathilb,imageio,moviepy,sys的GIF(动图)制作工具

前言:在抖音,快手等社交平台上,我们常常见到各种各样的GIF动画。在各大评论区里面,GIF图片以其短小精悍、生动有趣的特点,被广泛用于分享各种有趣的场景、搞笑的瞬间、精彩的动作等,能够快速吸引我们的注意…

使用线性回归模型逼近目标模型 | PyTorch 深度学习实战

前一篇文章,计算图 Compute Graph 和自动求导 Autograd | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 使用线性回归模型逼近目标模型 什么是回归什么是线性回归使用 PyTorch 实现线性回归模型代码执行结…

【蓝桥杯嵌入式】2_LED

1、电路图 74HC573是八位锁存器,当控制端LE脚为高电平时,芯片“导通”,LE为低电平时芯片“截止”即将输出状态“锁存”,led此时不会改变状态,所以可通过led对应的八个引脚的电平来控制led的状态,原理图分析…

尝试在Office里调用免费大语言模型的阶段性进展

我个人觉得通过api而不是直接浏览器客户端聊天调用大语言模型是使用人工智能大模型的一个相对进阶的阶段。 于是就尝试了一下。我用的是老师木 袁进辉博士新创的硅基流动云上的免费的大模型。——虽然自己获赠了不少免费token,但测试阶段用不上。 具体步骤如下&am…

LabVIEW自定义测量参数怎么设置?

以下通过一个温度采集案例,说明在 LabVIEW 中设置自定义测量参数的具体方法: 案例背景 ​ 假设使用 NI USB-6009 数据采集卡 和 热电偶传感器 监测温度,需自定义以下参数: 采样率:1 kHz 输入量程:0~10 V&a…

理解 C 与 C++ 中的 const 常量与数组大小的关系

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C语言 文章目录 💯前言💯数组大小的常量要求💯C 语言中的数组大小要求💯C 中的数组大小要求💯为什么 C 中 const 变量可以作为数组大小💯进一步的…

【Elasticsearch】文本分类聚合Categorize Text Aggregation

响应参数讲解: key (字符串)由 categorization_analyzer 提取的标记组成,这些标记是类别中所有输入字段值的共同部分。 doc_count (整数)与类别匹配的文档数量。 max_matching_length (整数)从…

基于SpringBoot的信息技术知识赛系统的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

Windows Docker笔记-安装docker

安装环境 操作系统:Windows 11 家庭中文版 docker版本:Docker Desktop version: 4.36.0 (175267) 注意: Docker Desktop 支持以下Windows操作系统: 支持的版本:Windows 10(家庭版、专业版、企业版、教育…

《Kettle保姆级教学-界面介绍》

目录 一、Kettle介绍二、界面介绍1.界面构成2、菜单栏详细介绍2.1 【文件F】2.2 【编辑】2.3 【视图】2.4 【执行】2.5 【工具】2.6 【帮助】 3、转换界面介绍4、作业界面介绍5、执行结果 一、Kettle介绍 Kettle 是一个开源的 ETL(Extract, Transform, Load&#x…

新型智慧城市建设方案-1

智慧城市建设的背景与需求 随着信息技术的飞速发展,新型智慧城市建设成为推动城市现代化、提升城市管理效率的重要途径。智慧城市通过整合信息资源,优化城市规划、建设和管理,旨在打造更高效、便捷、宜居的城市环境。 智慧城市建设的主要内容…

【Java计算机毕业设计】基于Springboot的物业信息管理系统【源代码+数据库+LW文档+开题报告+答辩稿+部署教程+代码讲解】

源代码数据库LW文档(1万字以上)开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统:Window操作系统 2、开发工具:IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…

ollama部署deepseek实操记录

1. 安装 ollama 1.1 下载并安装 官网 https://ollama.com/ Linux安装命令 https://ollama.com/download/linux curl -fsSL https://ollama.com/install.sh | sh安装成功截图 3. 开放外网访问 1、首先停止ollama服务:systemctl stop ollama 2、修改ollama的servic…

Agentic Automation:基于Agent的企业认知架构重构与数字化转型跃迁---我的AI经典战例

文章目录 Agent代理Agent组成 我在企业实战AI Agent企业痛点我构建的AI Agent App 项目开源 & 安装包下载 大家好,我是工程师令狐,今天想给大家讲解一下AI智能体,以及企业与AI智能体的结合,文章中我会列举自己在企业中Agent实…

图论常见算法

图论常见算法 算法prim算法Dijkstra算法 用途最小生成树(MST):最短路径:拓扑排序:关键路径: 算法用途适用条件时间复杂度Kruskal最小生成树无向图(稀疏图)O(E log E)Prim最小生成树无…