飞桨国际化应用案例:挪威广告企业Adevinta应用PaddleOCR提质增效

news2024/11/26 8:57:36

310c198180c661b18318a2a7d98c9fc9.gif

Adevinta,位于挪威奥斯陆的跨国在线分类广告公司,以其全球市场的图像处理API为特色。Adevinta的主要使命是构建全球买家和卖家之间的桥梁,其在线市场运营覆盖11个国家,拥有众多备受信任的品牌,如荷兰的marktplaats、德国的Mobile.de和法国的leboncoin等。其核心业务是在线分类广告领域,为用户提供发布和搜索各类商品和服务的平台,包括二手物品、住宅、汽车和招聘职位等。

该公司技术团队由数据科学家和机器学习(ML)工程师组成,专注于深度学习技术在图像领域的应用,致力于研发大规模基于图像的机器学习解决方案,以协助Adevinta公司构建卓越的产品和提升客户体验。Adevinta的全球在线市场运营与其强大的技术团队为其打造出一流的在线分类广告平台,然而,与此同时,Adevinta公司面临着海外分类广告行业共性挑战,这需要创新性的技术解决方案来克服,而飞桨PaddleOCR的引入推动了该公司在项目领域的显著技术进步。

d3ddf27417dddeb76997830994dfe133.png海外分类广告行业的技术痛点

45e068932acab0db7ff35a7fea96f8f0.png

在广告分类领域,Adevinta和其同行在采用传统的光学字符识别(OCR)解决方案时,共同面临一系列引发技术挑战的问题,包括:

  • 多语言支持:全球市场涉及多种语言,因此客户可能需要处理不同语言的广告内容。实现多语言支持是一个挑战,需要确保图像处理API能够准确地处理不同语言的文本,包括文本识别和翻译。

  • 文本识别准确性:分类广告通常包含大量文本信息,如商品描述、价格等。客户需要确保图像处理API能够高度准确地识别文本,以避免错误或误导性的广告信息,Adevinta的技术负责人提到在使用其他OCR框架时,尽管图像已被平铺显示,但检测效果并不理想,很难准确识别图像中的内容。其次,特殊符号通常无法被正确识别,这导致在文本识别过程中丢失了一些重要信息。最重要的是,有时字符在文本的开头或末尾会丢失,因此无法与预定的搜索模式匹配,从而导致搜索或匹配文本时出现问题。

  • 处理大规模数据:分类广告网站通常拥有庞大的广告库,需要高效处理大规模的图像和文本数据。例如,Adevinta目前每月处理3.3亿个请求,因此,图像处理API需要具备良好的扩展性和性能,以应对高流量和大规模数据处理的需求。

  • 欺诈检测:广告平台需要确保发布的广告内容合规且没有欺诈性质。因此,图像处理API可能需要集成欺诈检测功能,以帮助客户自动识别和标记潜在的欺诈广告。

  • 实时性要求:一些国外广告网站对实时性有较高要求,例如在线竞价广告平台。图像处理API需要能够在极短的时间内处理图像和文本,以满足实时广告发布的需求。

  • 数据隐私和安全:处理广告数据需要高度的数据隐私和安全性。图像处理API需要满足数据隐私法规,并提供安全的数据传输和存储方式,以保护客户和用户的数据安全。

  • 成本效益:Adevinta的技术团队认为使用商业OCR(典型的闭源或专有OCR解决方案)可能会带来一些成本效益上的痛点,而开源项目相对性价比更高。

ce1d304e73ea6adcd7c3a112dd354085.png飞桨对于Adevinta项目的技术加持

在Adevinta的技术团队评估了各种开源OCR项目,包括基于Pytorch的MMOCR、EASY OCR、和基于飞桨的PaddleOCR,基于其内部基准测试和边缘案例中考虑不同组合,Adevinta技术团队在一番学习和了解后,决定引入飞桨,因其提供了一套丰富的工具和模型库,支持构建和训练深度学习模型,而且飞桨提供的开发套件PaddleOCR不仅仅是一个算法,它包括一系列预训练模型和用于识别图像和文档中的文本,以及训练自定义OCR模型的工具。具备了强大的图像文字识别功能,可应用于广告分类领域,也是一款出色的多语言OCR工具包,支持80多种语言的识别,提供数据标注和合成工具,支持在服务器、移动设备、嵌入式系统和物联网设备之间进行训练和部署。利用飞桨PaddleOCR提供的模型训练、推理部署能力,Adevinta实现了广告平台的欺诈检测业务落地,帮助他们有效地识别潜在的欺诈行为,确保广告平台上的内容质量和合规性。飞桨不仅帮助该公司提高了广告平台的整体安全性,还为用户提供了更可信赖的广告体验。由于其支持多种语言,包括中文、英文以及其他主要语言,对于占据多国市场的跨国公司来说,多语种数据处理非常有价值。

43e57091dd46e897621b621c25567011.pngPaddleOCR项目概览

429e5bc1dd760c129287bd5524489ae9.png

Adevinta国际团队使用飞桨带来的业务增益

作为一家国际公司,每天为数百万用户提供服务,Adevinta的计算机视觉团队致力于改进OCR API。在经过多次框架测试后,他们创建了一个图像模拟器,用于找到与目标用户需求相匹配的算法。在仔细内部审核和改进后,他们选择了飞桨。现在,新API相对于基于FOTS的解决方案,延迟改进了7.5倍,同时服务成本减少了7%。此外,由于新API的价格比典型的外部解决方案(如GCP OCR)便宜12倍,因此他们也收到了用户对其“图像中的文本2.0”速度和准确性的积极反馈。除此之外,有以下几个显著的业绩方面改善:

793d9548a80d66ee094de03c0c93f8ef.png

  • 基准改进:PaddleOCR在每张图片的平均召回率方面表现出色,达到了0.65,相比使用传统OCR的0.43平均召回率,有了显著提高,召回率提高了51%。这意味着可以更准确地提取和解释广告数据。

  • 广告自动标记:通过使用PaddleOCR,Adevinta能够标记出7%的广告,使其更加安全和可信赖,提高了广告平台的内容质量。

  • 市场扩展:引入了一个新的市场平台,使用飞桨实现的Cognition API得到了广泛采用,用户数量大幅增加了154%,这显示出飞桨帮助Adevinta扩大其服务范围和容量,以满足不断增长的需求。

  • 成本节省:采用飞桨也在经济上带来了好处,相对于使用付费OCR解决方案,Adevinta通过使用Cognition API实现了可观的成本节省。

在技术方案中,Adevinta首先通过数据准备,Adevinta拥有来自市场的精选数据集,这些数据集包含了各种具有挑战性的例子,有助于验证模型在实际场景中的性能。其次是建模,其采用了预训练的飞桨模型,然后是训练,Adevinta编写了一个自定义的Python代码,用于创建模拟数据生成器,以训练不同情景下的PP-OCR模型,从而确保性能和准确性。最后是部署,使用飞桨提供的推理部署代码将PP-OCR模型部署到云端,以便该公司应用程序可以访问和使用该模型。这一系列步骤构成了Adevinta项目的关键环节,提供了一个更准确、更快速且更经济的AI解决方案,并且提高了其在线广告平台的质量和用户体验。

e27e790dc5b4153b544543614023bb84.png如何创建PP-OCR模型产线

为了更好的方便开发者,聚合了飞桨丰富模型(包括但不限于PP-OCR)的飞桨AI套件PaddleX已上线飞桨AI Studio星河社区,大家可通过项目大厅进入到PaddleX官网,在精选模型库中选择PP-OCRv4,创建属于你自己的PP-OCRv4模型产线。欢迎扫描下方二维码或点击阅读原文进入星河社区交流频道。

26d2c0ae315a65208ea3beaea46d08db.png

9ed8150437735db32189446ee668e8ff.png

87503ff8a4a6fb52154a12ffe638800f.jpeg

98d9d7e4bd09d92a9398b670af796e1c.jpeg

c6a3270892ec65aa0c3769bfaed428f7.png

3162cc835dd877eff7dfdb013dc929b4.gif

关注【飞桨PaddlePaddle】公众号

获取更多技术内容~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Stream 流对象的创建与各方法

Stream 流对象的创建与各方法 目录 1.0 Stream 流的说明 2.0 Stream 流对象的创建 2.1 对于 Collection 系列集合创建 Stream 流对象的方式 2.2 对于 Map 系列集合创建 Stream 流对象的方式 2.3 对于数组创建 Stream 流对象的方式 3.0 Stream 流的中间方法 3.1 Stream 流的 …

Jupyter notebook如何加载torch环境

默认你已经安装了anaconda 和 pytorch 环境。 1,必须要以管理员身份打开 Anaconda prompt终端, 2,进入pytorch环境中: conda activate pytorch_393,安装必要插件: (1)conda inst…

【力扣】2003. 每棵子树内缺失的最小基因值

【力扣】2003. 每棵子树内缺失的最小基因值 文章目录 【力扣】2003. 每棵子树内缺失的最小基因值1. 题目介绍2. 思路3. 解题代码4. Danger参考 1. 题目介绍 有一棵根节点为 0 的 家族树 ,总共包含 n 个节点,节点编号为 0 到 n - 1 。 给你一个下标从 0…

国密SM算法及实现加密和解密

一 引入pom <dependency><groupId>com.antherd</groupId><artifactId>sm-crypto</artifactId><version>0.3.2</version></dependency> 二 代码实现 package com.example.ytyproject.component;import com.antherd.smcrypto.…

[架构之路-250/创业之路-81]:目标系统 - 纵向分层 - 企业信息化的呈现形态:常见企业信息化软件系统 - 企业内的数据与数据库

目录 一、数据概述 1.1 数据 1.2 企业信息系统的数据 1.3 大数据 1.4 数据与程序的分离思想 1.5 数据与程序的分离做法 1.6 数据库的基本概念 1.7 企业数据来源 1.8 企业数据架构 二、常见的数据库类型 2.1 数据库分类 2.1 数据库类型 2.2 常见的数据库类型、应用…

在前端实现小铃铛上展示消息

点击铃铛显示如下消息框&#xff1a; 如果点击消息&#xff0c;可以实现消息从列表中移除,并从铃铛总数上进行扣减对应的已读消息数。 关于以上功能的实现方式&#xff1a; <!-- 铃铛位置 --><i class"el-icon-bell" click"showPopover true"&…

torch_geometric,scatter,sparse, cluster的安装失败

首先&#xff0c;对于自己的电脑环境是 已将安装3.9版本的python&#xff0c;成功安装11.6版本的cuda和1.31.1版本的torch。 现在想要安装torch_geometric&#xff0c; -需要先安装scatter&#xff0c;sparse&#xff0c; cluster。 直接安装失败&#xff0c;报错如下&…

小程序https证书

小程序通常需要与服务器进行数据交换&#xff0c;包括用户登录信息、个人资料、支付信息等敏感数据。如果不使用HTTPS&#xff0c;这些数据将以明文的方式在网络上传输&#xff0c;容易被恶意攻击者截获和窃取。HTTPS通过数据加密来解决这个问题&#xff0c;确保数据在传输过程…

make工具的介绍,包含的显示/隐晦规则/变量定义/文件指示,使用,.PHONY的介绍+原理

目录 make--自动化构建工具 引入 介绍 包含 显式规则 隐晦规则 变量定义 文件指示 注释 使用 test:test.c .PHONY 介绍 作用 示例 原理 示例 介绍 make--自动化构建工具 引入 在软件开发过程中&#xff0c;通常需要编译、链接和构建大量的源代码文件如果全…

FPGA 如何 固化程序到 FLASH中

1、导出Hardware 2、导出bit文件 3、打开SDK 4、 点击Ok 5、创建工程 6、 输入工程名称&#xff1a;guhua 7、选择 Zynq FSBL 8、单击 guhua、然后点击 build 点击&#xff1a;build all 9、 右键之后&#xff0c;点击&#xff1a;Creat Boot Image 10、点击 Cr…

栈及其栈的模拟实现和使用

1. 栈(Stack) 1.1 概念 栈 &#xff1a;一种特殊的线性表&#xff0c;其 只允许在固定的一端进行插入和删除元素操作 。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO &#xff08; Last In First Out &#xff09;的原则…

【计算机网络】计算机网络中的基本概念

文章目录 局域网LAN基于网线直连基于集线器组建基于交换机组建基于交换机和路由器组建 广域网WANIP地址端口号协议为什么要有协议知名协议的默认端口 五元组协议分层TCP/IP五层模型封装和分用 网络互连就是将多台计算机连接在一起&#xff0c;完成数据共享。数据共享本质是网络…

echarts实现圆形进度图

echarts实现圆形进度图 效果图 话不多说&#xff0c;代码如下 option {title: {text: 本月功率因数,textStyle: {color: #666666,fontSize: 14},subtext: 0.95,subtextStyle: {color: #161616,fontSize:30,fontWeight:700},itemGap: 15, // 主副标题距离left: center,top:…

竞赛知识点11【线段树】

文章目录 一、概念二、基本操作2.1、建树2.2、区间询问操作2.3、单点修改2.4、区间修改一、概念 线段树是用一种树状结构来存储一个连续区间的信息的数据结构。 它主要用于处理一段连续区间的插入,查找,统计,查询等操作。 复杂度: 设区间长度是 n n n,所有操作的复杂度是 l…

Web渗透编程语言基础

Web渗透初学者JavaScript专栏汇总-CSDN博客 Web渗透Java初学者文章汇总-CSDN博客 一 Web渗透PHP语言基础 PHP 教程 | 菜鸟教程 (runoob.com) 一 PHP 语言的介绍 PHP是一种开源的服务器端脚本语言,它被广泛用于Web开发领域。PHP可以与HTML结合使用,创建动态网页。 PHP的特…

在Photoshop中如何校正倾斜的图片

在Photoshop中如何校正倾斜的图片呢&#xff1f;今天就教大家如何操作。 将需要操作的图片拉到PS软件中&#xff0c;自动形成项目。 点击上方“滤镜”中的“镜头校正”。 进入“镜头校正”窗口&#xff0c;点击左侧的“拉直工具”。文章源自设计学徒自学网-http://www.sx1c.co…

Shell module

案例 案例1概述 #!/bin/bash if [ -z "${NEXUS_ID}" ] || [ -z "${NEXUS_VERSION}" ]; thenecho "the length of NEXUS_ID or NEXUS_VERSION is zero"echo "NEXUS_ID: ${NEXUS_ID}"echo "NEXUS_VERSION: ${NEXUS_VERSION}"…

CentOS 搭建 Hadoop3 高可用集群

Hadoop FullyDistributed Mode 完全分布式 spark101spark102spark103192.168.171.101192.168.171.102192.168.171.103namenodenamenodejournalnodejournalnodejournalnodedatanodedatanodedatanodenodemanagernodemanagernodemanagerrecource managerrecource managerjob hist…

2. 网络之网络编程

网络编程 文章目录 网络编程1. UDP1.1 DatagramSocket1.1.1 DatagramSocket 构造方法1.1.2 DatagramSocket 方法&#xff1a; 1.2 DatagramPacket1.2.1 DatagramPacket构造方法1.2.2 DaragramPacket方法1.2.3InetSocketAddress API 1.3 UDP回显服务器1.3.1 框架结构1.3.2 读取请…

USART HMI串口屏+GPS模块显示时间和经纬度

USART HMI串口屏GPS模块显示时间和经纬度 &#x1f4cd;相关篇《基于u-box GPS模块通过串口指令调整输出信息》 &#x1f4cb;在不使用其他单片机做数据中转处理情况下&#xff0c;利用USART HMI串口屏主动解析模式&#xff0c;来接收并解析GPS模块数据并显示&#xff0c;功能包…