腾讯云OCR实践 - 降低客服财务运营成本
一、 前言:
随着图片时代的飞速发展,大量的文字内容为了优化排版和表现效果,都采用了图片的形式发布和存储,这为内容的传播和安全性带来了很大的便利,需要做重复性劳动。
OCR文字扫描工具也逐渐的应运而生,主要是为了帮助用户解决了内容编辑的难题。
二、 OCR是什么?
OCR全称是Optical Character Recognition,意思是“光学字符识别技术”。
1. OCR的作用:
通过OCR 技术识别图像中的文字,提取出来转换成文本格式,输出一些结构化的文本数据。

2. OCR实现文字识别的过程:
OCR的原理就是通过扫描仪将汉字文稿通过电荷耦合器件CCD将文稿的光信号转换为电信号,经过模拟/数字转换器转化为数字信号传输给计算机。计算机接受的是文稿的数字图像,然后对这些图像中的汉字进行识别。

3. OCR的选择:

4. OCR在生活中的应用:
智能识别技术高速发展的今天,通过仔细回忆,发现生活中方方面面都应用了OCR识别技术,以下为本人实际在生活中实际应用场景,看看您是否也有同样的经历?
(1). 小孩做作业:
平时家里老人在辅导小孩做作业,遇到不会做的,会使用“作业帮”的软件。对不理解的题目进行拍照,上传到服务器,服务器识别到文字,并在题库中查找对应的题目,将查询的结果再返回到界面中。

(2). 自媒体运营:
经常需要去公众号发布一些文案、活动,在网上找的比较好的素材,大家应该经常会看到一些百度文库等这种付费的文案素材下载,有时,只能靠自己对着手敲形式。可以使用微信自带的“文字识别”功能进行识别。

(3). 支付付款:
在手机二维码支付之前,人们都还是用现金支付,而现在大街小巷都在用手机支付,这样一新的支付方式已经进入我们的生活并被逐渐被大众所接受。那我们打开扫一扫,往商家或者个人的二唯码扫一下,就能识别是谁?甚至更为先进的人脸识别扫码支付,这些其实都是OCR应用场景最广的一种方式吧。
(4). 共享单车:
上班离公司比较近,每天上下班都是扫一下共享单车,来回通勤。使用微信扫描共享单车上的二唯码,也是一种OCR的应用场景。

以下是OCR在生活的应用场景的一个总结:

接下来,结合公司的业务,进行流程优化,以达到公司节能降本提效的结果。
三、公司业务:
公司是做宠物相关业务的,公司秉承为宠物提供营养、健康、安全的食品为己任,专注于犬猫粮的研发、生产和销售。

四、公司业务痛点:
目前OCR技术正在被广泛的运用,腾讯云文字识别就是一款运用OCR的技术,可以帮助企业解决一些业务的痛点,为公司进行增效降本。
1.业务场景:
-
场景一:公司的地推业务员,需要去宠物店进行登记授权店铺可以销售本公司的产品,也可以为公司拓展客户的目的,公司客服部门专门需要对业务员地推的提交的信息进行审核,同时,也为业务的考核进行评定。
-
场景二:供应商在采购后,需要将开立的发票进行公司交账。

2. 业务痛点:
- 商家认证时,上传的营业执照后,需要人工去审核,十分耗费人力,而且是一个十分枯燥重复的事情。
- 发票提交后,需要财务人员人工去审核,财务的人员也经常加班。
- 通过扩展人力 + 加班的形式,会导致公司的人力成本增大。

下面让我们通过对腾讯云文字识别实践,来降低客服财务运营成本.
五、腾讯云文字识别实践:
基于腾讯优图实验室的深度学习技术的文字识别,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。

基于腾讯优图实验室的深度学习技术的文字识别,在产品选型时,相对于其它产品提供了很大的优势。
基于腾讯自研的深度学习技术和海量的数据,提供卡证、票据类印刷体和手写体、自定义模板等多种场景和类型的文字识别服务。

腾讯云OCR是一款优秀的文字识别服务,具有高精度、低错误率、快速识别等特点,并可应用于不同的场景。使用腾讯云OCR可以帮助我们快速处理图像中的文字信息,提高工作效率,受到了广泛的应用。
1. 开通相关产品:
可以看到腾讯云的OCR的产品很多,可以看到在很多领域可以广泛的应用,成为高效生产力的辅助工具。

这里为了测试本文提到的2种场景,选择“通用文字识别”类型。

勾选“我已阅读并同意”,即可进行开通文字识别产品功能。

账号记得需要实名制,否则会提示需要进行实名制。审核通过后,可以看到我们首次开通“文字识别服务”,各个资源包有免费赠送的次数,让我们可以对产品进行一个调研与测试,十分的贴心。

首次开通会赠送250次免费机会,开通的类型也是有9种之多,可以灵活根据自己的业务需求进行测试。

2. 免费测试:
腾讯云文字识别产品家族包括通用文字识别、通用卡证识别、票据单据识别、文本图像增强、智能结构化识别、智能扫码以及特定场景识别等服务,开通后即可享受1,000次/月的免费调用额度。

3. 新手体验:
官方提供了多种途径,可以根据这些途径选择合适的使用方式。

- 文字识别体验Demo
- 可视化调用文字识别服务
- 一分钟代码接入服务端 API
4. 在线文字识别体验Demo:
直接点击“上传本地文件”,选择一个营业执照,进行在线解析,可以看到返回的识别结果。

5. 可视化调用文字识别服务 - 官方调试工具:
先从官网提供的在线调试工具进行测试,先看看效果,在“签名串生成”中,点击“查看密钥”,去查看ID和密钥。

查看API的ID和密钥,显示密钥需要短信验证一下。

在“在线调用”中,输入参数里面,填入imageUrl,和刚刚生成的签名串,点击“发起调用”,可以看到响应结果有返回的数据了。
六、构建Node服务解析:
腾讯云OCR官方准备了多种方式,快速将该接口对应的腾讯云开发者工具套件(SDK) 集成到本地项目中,本文为了演示功能,使用的是Node的Koa框架进行开发。

| 序号 | 包 | 作用 |
|---|---|---|
| 1 | koa | Koa是Node.js的一个高级框架,它基于Node.js的中间件机制,提供了一个更简单、更灵活的框架,用于构建高效、可扩展的Web应用程序。 |
| 2 | koa-bodyparser | Koa-bodyparser是一个Web框架koa的中间件,用于解析HTTP请求中的请求体,也就是把POST请求中的数据解析到ctx.request.body中。 |
| 3 | koa-router | koa-router是koa的一个中间件,其内部也包含众多的中间件,这些中间件通过Layer对象根据路由路径的不同进行划分。 |
| 4 | tencentcloud-sdk-nodejs | 用于访问腾讯云服务的 SDK,可以帮助您使用 Node.js 语言在腾讯云上进行开发。 |
1. 初始化项目:
mkdir orc-test
cd orc-test
npm init
# 一路按回车即可初始化一个package.json# 安装插件
yarn add tencentcloud-sdk-nodejs@4.0.673 koa@^2.14.2 koa-bodyparser@^4.4.1 koa-router@^12.0.0
2. 写入ocr识别的代码:
const tencentcloud = require("tencentcloud-sdk-nodejs")
const OCRClient = tencentcloud.ocr.v20181119.Clientconst Koa = require('koa');
const Router = require('koa-router');
const bodyParser = require('koa-bodyparser');const client = new OCRClient({credential: {secretId: "AKIDyxpjjmxxxxxxxFdtx", # 使用自己的idsecretKey: "eFh0961yxxxxAQ", # 使用自己的密钥},// 产品地域region: "ap-guangzhou",
})// 实例化Koa对象 => app
const app = new Koa();
// 实例化路由对象 => router
const router = new Router();app.use(bodyParser())// 测试接口
router.get('/', async (ctx, next) => {ctx.response.body = `<h1>Hello, Koa2</h1>`;
});function getImg(ImageUrl) {return client.BizLicenseOCR({ImageUrl,},)
}// 获取营业执照结果
router.post('/api/getBusiness', async (ctx, next) => {const request = ctx.request.bodylet result = await getImg(request.url);ctx.response.type = 'application/json';ctx.response.body = {"code": '200', "message": '成功', "data": result };
});app.use(router.routes()).use(router.allowedMethods());// 在端口3000监听
app.listen(3000);
console.log('app started at port 3000...');
3. 构建测试url:
在postman中输入get请求的http://127.0.0.1:3000即可

4. 测试营业执照是否能正确解析:
在postman中,输入post请求的http://127.0.0.1:3000/api/getBusiness,post请求参数为url,可以看到能返回营业执照的信息。

5. 测试增值税发票是否能正确解析:
将请求图片的解析函数BizLicenseOCR,替换为函数VatInvoiceOCR。
function getImg(ImageUrl) {return client.VatInvoiceOCR({ImageUrl,},)
}
这里方法的名称可以参考以下,不同的类型图片,使用不同的方法:

在postman中,输入post请求的http://127.0.0.1:3000/api/getBusiness,post请求参数为url,可以看到能返回增值税发票的信息。

6. 总结:
以下是我从0到1开始由入门到实战,花了不到半小时,就完成了整个OCR的体验流程,可以感受到腾讯云的产品确实简单易用,同时,也完成了对营业执照、增值税发票的一个调研完成。

7. 改善措施前后对比:

六、预计导入收益:

- 采用腾讯云的OCR文字识别功能,可以大大的简化了业务的工作流程。
- 由之前的纯人工操作,改为自动审核机制,将识别不出来或者识别有误的,再进行人工审核。
- 极大的方便了客服、财务人员的工作量,也不需要经常下班后还要带电脑。
对公司的一个降本节流的策略,做了一个预计的评估,人力的成本约减少30%左右,工作提高的效率在50%以上,做成基础的公共服务,后续有新的业务场景也可以很快的上线。
当然,需要根据公司的实际情况进行调研,比如采购的成本如果远远大于人工的成本,可能就需要进行衡量一下。
七、总结:
OCR技术的成熟,使得图文时代的内容编辑更加轻松,对于经常和文字图片打交道的业务场景来说,基于OCR技术的文字识别和提取工具是必不可少的效率提升的利器。
在信息社会时代,每天会产生大量的票据、表单、证件数据,这些数据想要从人工处理转变到信息电子化,需要利用OCR技术进行提取录入。
相关文章:
腾讯云OCR实践 - 降低客服财务运营成本
一、 前言: 随着图片时代的飞速发展,大量的文字内容为了优化排版和表现效果,都采用了图片的形式发布和存储,这为内容的传播和安全性带来了很大的便利,需要做重复性劳动。 OCR文字扫描工具也逐渐的应运而生,…...
springboot+vue上传图片
这里是一个简单的示例,演示了如何在Spring Boot中从Vue.js上传图像: 1.前端Vue.js代码: <template><div><input type"file" change"handleFileUpload"><button click"uploadImage">…...
高压电缆护层接地环流及温度在线监测系统
高压电缆的金属护层是电缆的重要组成部分,当缆芯通过电流时,会在金属护层上产生环流,外护套的绝缘状态差、接地不良、金属护层接地方式不正确等等都会引起护套环流异常现象,严重威胁电缆运行安全。 当电缆金属护层环流出现异常时…...
无涯教程-JavaScript - IPMT函数
描述 IPMT函数根据定期,固定的还款额和固定的利率返回给定投资期限内的利息支付。 语法 IPMT (rate, per, nper, pv, [fv], [type])争论 Argument描述Required/OptionalRateThe interest rate per period.RequiredPerThe period for which you want to find the interest a…...
【EI会议征稿】第三届机械自动化与电子信息工程国际学术会议(MAEIE 2023)
第三届机械自动化与电子信息工程国际学术会议(MAEIE 2023) 第三届机械自动化与电子信息工程国际学术会议(MAEIE 2023)将于2023年12月15-17日在江苏南京举行。本会议通过与业内众多平台、社会各团体协力,聚集机械自动…...
手写实现LRN局部响应归一化算子
1、重写算子的需求 芯片推理过程中遇到很多算子计算结果不对的情况,原因是封装的算子会在某些特殊情况下计算超限,比如输入shape特别大或者数值特别大时,LRN算子计算会出现NAN值,所以需要重写算子。先对输入数据做一个预处理&…...
朗思科技数字员工通过统信桌面操作系统兼容性互认认证
近日,朗思科技数字员工与统信桌面操作系统V20进行了兼容互认,针对上述产品的功能、兼容性方面,通过共同严格测试表明——朗思科技数字员工在统信桌面操作系统 V20上整体运行稳定,满足功能及兼容性测试要求。 北京朗思智能科技有限…...
十六、Webpack常见的插件和模式
一、认识插件Plugin Webpack的另一个核心是Plugin,官方有这样一段对Plugin的描述: While loaders are used to transform certain types of modules, plugins can be leveraged to perform a wider range of tasks like bundle optimization, asset m…...
ChatGPT新增超强插件:文本直接生成视频、海报,支持自定义修改!
全球著名在线设计平台Canva,在ChatGPT Plus(GPT-4)上推出了插件功能,用户通过文本提示,几秒钟就能生成演示文稿、PPT插图、电子书封面、宴会邀请函等各种精美设计海报,同时支持生成视频。 该插件最强大的功…...
亚像素边缘提取的例子
求帮忙下载: 1.http://download.csdn.net/detail/pkma75/925394 pkma75 资源积分:1分 备注:pdf格式,用曲线拟合的方法计算亚像素,编程易实现,具有较强的实用价值 2.http://download.csdn.net/detail/kua…...
Wayland:推动Linux桌面进入下一代图形显示时代
文章首发地址 Wayland是Linux系统下的一种图形显示协议,旨在替代X Window System(X11)作为Linux桌面环境的图形显示服务。下面是对Wayland的详细解释: 背景: 传统的Linux桌面环境使用X Window System(X11&…...
mysql外键(foreign key)
简介 MySQL的外键约束用来在两个表数据之间建立链接,其中一张表的一个字段被另一张表中对应的字段约束。也就是说,设置外键约束至少要有两种表,被约束的表叫做从表(子表),另一张叫做主表(父表&…...
内网穿透——Windows搭建服务器
文章目录 1.前言2. Emby网站搭建2.1. Emby下载和安装2.2 Emby网页测试 3. 本地网页发布3.1 注册并安装cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar内网穿透本地设置 4.公网访问测试5.结语 1.前言 在现代五花八门的网络应用场景中,观看视频绝对是主力应用场景之一&…...
UE5.1 + Android 环境搭建
官方文档:一定一定一定要参照官方文档,因UE不同版本对应的环境搭建并不完全一致。 准备工作 通过EpicGameLaunch下载Android目标平台。 必须安装jdk1.8并配置环境变量,UE5.1不要使用最新的jdk20;下载地址 安装 Android Studio …...
华为python面试题目
华为Python常见的面试问题包括: Python是如何被解释的?什么是PEP8?Python是怎样管理内存的?什么是Python装饰器?Python提供哪些内置类型?Python中的异常处理是怎样的?什么是Python的上下文管理器?Python中的列表推导式是什么?Python中的生成器是什么?什么是Python的装…...
IP代理安全吗?如何防止IP被限制访问?
你是否遇到过可以正常上网,但访问某个网站却被禁止?注册某个网站账号,却被封号?那都是因为IP出现问题!您的IP地址透露很多关于您的信息,包括您的位置和互联网活动。 在本文中,我们将一起了解IP地…...
使用 gst-template 创建自己的 gstreamer 插件
系列文章目录 创建 gstreamer 插件的几种方式 使用 gst-template 创建自己的 gstreamer 插件 使用 gst-plugins-bad 里面的 gst-element-maker 工具创建gstreamer 插件 文章目录 系列文章目录前言一、如何获取 gst-template 仓库代码二、gst-template 相关的软件依赖1. 根据自…...
nginx反向代理,用户访问服务器1的80端口,请求转发至服务器2,3的8882端口
两台应用服务器,一台nginx,用户访问nginx服务器80端口,将请求转发至服务器2和服务器3的8882端口。 1、修改nginx配置文件 upstream backend {server 10.60.16.187:8882;server 10.60.16.188:8882;}server {listen 80;server_name 10.6…...
Python学习笔记:导入txt、xlsx文件并做简单函数处理
1.txt文件 1.1路径 file_path "E:\Python Project\temp.txt" with open(file_path) as f:content1 f.read() 导入文件时,如果直接放文件绝对路径上去会报错,这是因为\P是转义字符 所以在绝对路径前面加r可以避免将引号内的内容识别成转义…...
uniapp 轮播列表左右滑动,滑动到中间放大
html <!-- 轮播 --><view class"heade"><swiper class"swiper" display-multiple-items3 circulartrue previous-margin1rpxnext-margin1rpx current0 change"swiperChange" ><block v-for"(item,index) in list"…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...


