当前位置: 首页 > news >正文

用AI攻克“智能文字识别创新赛题”,这场大学生竞赛掀起了什么风潮?

文章目录

  • 一、前言
    • 1.1 大赛介绍
    • 1.2 项目背景
  • 二、基于智能文字场景个人财务管理创新应用
    • 2.1 作品方向
    • 2.2 票据识别模型
      • 2.2.1 文本卷积神经网络TextCNN
      • 2.2.2 Bert 预训练+微调
      • 2.2.3 模型对比
      • 2.2.4 效果展示
    • 2.3 票据文字识别接口
  • 三、未来展望

一、前言

1.1 大赛介绍

中国大学生服务外包创新创业大赛作为服务外包产业领域唯一的国家级赛事,位列“全国普通高校学科竞赛排行榜评估体系”,自2010年以来已连续举办14届,分为区域赛和全国决赛两个阶段。本届大赛吸引了803所全国院校的8006支团队报名参赛,报名团队数再创新高。其中4097支团队通过审核进入初赛,216 支队伍进入全国总决赛。

本次竞赛内容紧密围绕企业发展中的现实问题,与产业结合度更紧密,特别是智能文字识别技术。这项技术融合了多种先进技术,如智能图像处理、光学字符识别、深度学习、自然语言处理等,能够在多场景下进行文字信息的识别和分析,具有广泛的应用价值。无论是在生产、教育还是生活中,智能文字识别技术都有着重要的作用,能够提高工作效率、降低成本、提升用户体验。

1.2 项目背景

记账是一项重要的生活习惯,可以帮助我们更好地了解自己的支出与收入,以便做出更明智的财务决策。然而,目前市面上大多数的记账 APP 需要手工录入才能完成记账,或者需要获取外卖、支付等应用程序的信息才能进行消费记录,存在功能不齐全、隐私过度收集等问题。尤其是对于中老年人来说,使用记账本应用十分吃力,因为他们对于这些新技术的使用并不熟练。针对这些问题,我们可以通过技术创新来提供更加便捷、高效的记账工具,让人们更好地管理自己的财务。

合合信息作为人工智能科技企业的代表,积极参与了赛题的拟定与赛道建设,设立了“基于智能文字场景个人财务管理创新应用”的相关议题,与众多高校学子共同探索技术创新与落地的多重可能,共同探讨如何通过技术手段解决老年人记账难题,以及如何优化已有软件产品以更好地满足现代人群的需求。

这场竞赛不仅是一次技术交流与创新的盛会,更是对社会问题的思考与解决的起点。青年学子们的参与不仅为解决记账难题和优化软件产品提供了新的思路和方向,也为推动科技进步与社会发展贡献了自己的力量。

二、基于智能文字场景个人财务管理创新应用

在基于智能文字场景个人财务管理创新应用这个项目中,“中国计量大学-去南京整薯条”队伍的作品深深吸引了我,下面我们就来看看作品情况。

2.1 作品方向

“中国计量大学-去南京整薯条”队伍作品实现了登录登出、数据存贮功能、消费信息录入、消费数据的展示与编辑、自动判断消费类型、多维度展示消费数据、支持消费凭据类型等等。这里我们主要介绍消费信息录入创新功能中最重要的技术:票据识别模型。

2.2 票据识别模型

“去南京整薯条”队伍在使用合合信息提供的商铺小票识别接口基础上, 使用提供的通用文字识别将票据上的信息全部提取出来,并用 TextCNN 模型和 Bert 预训练+微调分别对所有提取出来的词句进行分类,返回最有可能为商铺名的短语。

2.2.1 文本卷积神经网络TextCNN

文本卷积神经网络(TextCNN)是一种常用于文本分类自然语言处理任务的深度学习模型。优点在于它能够通过卷积操作捕捉文本中的局部特征,实现对不同长度的词组合的有效建模。同时,TextCNN具有参数共享和局部连接的特性,减少了模型的参数量和计算复杂度。它还能够通过多尺度感知提取文本的全局和局部信息,从而更好地理解文本的语义和结构。此外,TextCNN在处理大规模文本数据时具有高效性能,能够快速处理大量的文本信息。综上所述,“去南京整薯条”队伍选择 TextCNN 作为模型之一,来进行票据识别。

在本任务中,由于商铺名短语识别任务涉及的相关短语包含大量特定的词语,如果 使用通用的文字词向量库会导致分类性能下降。故在本任务中,将测试集中所有数据进行词向量映射,使该方式生成的词向量更加灵活,并且更加适用于商铺名的识别。

“去南京整薯条”队伍训练的 TextCNN 模型中,输入的词向量大小为 30*50;模型 采用 4 种不同的区域大小,其大小分别为 2、3、4、5。对于每一种区域大小,都使用了 2 个不同的卷积核,通过 Relu 函数进行激活,生成特征图。再通过 max-pooling,所有 特征图进行串联,从而形成一个单一的特征向量。经过全连接层,输出结果。TextCNN模型图如所示:

此模型局部特征提取能力强,文本分类表现优秀。

2.2.2 Bert 预训练+微调

Bert 是一种双向预训练语言模型,它可以用于各种自然语言处理任务,如文本分类、命名实体识别、情感分析等。BERT的训练分为两个步骤:预训练和微调。在预训练阶段,BERT使用大量的无监督文本通过自监督训练的方式(通过使用受完形填空任务启发的Masked Language Model预训练目标)训练,把文本中包含的语言知识(包括:词法、语法、语义等特征)以参数的形式编码到Transformer-encoder layer中。在微调阶段,BERT使用少量的有标签数据进行微调,以适应特定任务。

“去南京整薯条”队伍使用 Hugging Face 自然语言处理(NLP)社区提供的“Transformers” 库中的“bert-base-chinese”模型作为预训练模型,并使用其配套的分词器来进行文本序列的特征提取。 使用了一个简单的线性层和全连接层来构建下游任务模型进行微调训练。Bert预训练模型+微调模式图如下:

此模型兼顾序列中所有位置的信息,可以更好理解语义信息。

2.2.3 模型对比

由表可知,Bert 预训练+微调的模式在训练集/测试集正确率和F1得分均明显超过 TextCNN,所以其团队在本项目中选用 Bert 预训练+微调模型。

2.2.4 效果展示

可以看到最终实现的效果,“去南京整薯条”队伍通过合合信息提供的通用文字识别接口与大模型的结合成功优化了票据信息识别和自动分类问题:

2.3 票据文字识别接口

传统OCR识别采用统计模式,处理流程较长,典型的传统OCR识别流程如图所示:


传统OCR识别方法存在诸多弊端:
1、对于图像质量差、模糊、亮度不均匀、反光、倾斜等各种问题识别效果很差。
2、对于自然场景下拍摄的复杂样本基本无法处理,没有修改提升空间,可用性不高。

针对以上问题,合合信息打造了一款智能文字识别训练平台。对于较大难度的证件类和票据类性能测试为例,面对旋转、阴影、反光、褶皱、形变、模糊、多语言、低像素、光照不均等复杂场景,合合信息智能文字识别产品均有较高的识别准确率,字符准确率分别为99.21%和99.59%,字段准确率分别为97.87%和98.42%。
通过融合不同行业和场景,支持增值税发票、火车票、出租车票、飞机行程单等多种国内外常见票据高精准度识别,提供便捷的票据处理服务。
并且在中国信息通信研究院(以下简称“中国信通院”)“可信ai—ocr智能化服务”评估工作,并获得“增强级”评级:


合合信息在自然语言处理、图像识别等领域拥有领先的技术和产品,对于研发大模型得天独厚的条件,期待合合信息在未来能够为用户和行业带来更多的惊喜和创新!

三、未来展望

本次合合信息提出的“基于智能文字场景个人财务管理创新应用”赛题,让学生在真实的业务场景中获得实践经验,消除人才发展目标与市场需求之间的信息不对称,促进校企双方在科研项目和人才培养等方面的深度合作,推动产学研用协同创新发展。

合合信息人力资源部负责人杜杰在大赛闭幕式上表示,未来是人工智能的时代,合合信息希望通过AI“星火计划”等系列人才培养计划和配套分享平台,致力于帮助科技青年在实践中提升专业能力。未来,将继续与高校和行业机构合作,共同探索产学研融合之路,为大学生提供更便捷的创新科技灵感落地渠道,从而实现科技创新和社会进步的双赢。

相关文章:

用AI攻克“智能文字识别创新赛题”,这场大学生竞赛掀起了什么风潮?

文章目录 一、前言1.1 大赛介绍1.2 项目背景 二、基于智能文字场景个人财务管理创新应用2.1 作品方向2.2 票据识别模型2.2.1 文本卷积神经网络TextCNN2.2.2 Bert 预训练微调2.2.3 模型对比2.2.4 效果展示 2.3 票据文字识别接口 三、未来展望 一、前言 1.1 大赛介绍 中国大学生…...

EJB基本概念和使用

一、EJB是什么? EJB是sun的JavaEE服务器端组件模型,是一种规范,设计目标与核心应用是部署分布式应用程序。EJB2.0过于复杂,EJB3.0的推出减轻了开发人员进行底层开发的工作量,它取消或最小化了很多(以前这些是必须实现)…...

神经网络基础-神经网络补充概念-09-m个样本的梯度下降

概念 当应用梯度下降算法到具有 m 个训练样本的逻辑回归问题时,我们需要对每个样本计算梯度并进行平均,从而更新模型参数。这个过程通常称为批量梯度下降(Batch Gradient Descent)。 代码实现 import numpy as npdef sigmoid(z…...

分布式 - 消息队列Kafka:Kafka消费者分区再均衡(Rebalance)

文章目录 01. Kafka 消费者分区再均衡是什么?02. Kafka 消费者分区再均衡的触发条件?03. Kafka 消费者分区再均衡的过程?04. Kafka 如何判定消费者已经死亡?05. Kafka 如何避免消费者的分区再均衡?06. Kafka 消费者分区再均衡有什…...

BIO、NIO和AIO

一.引言 何为IO 涉及计算机核心(CPU和内存)与其他设备间数据迁移的过程,就是I/O。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。 I/O 描述了计算机系统…...

理解 Go 中的切片:append 操作的深入分析(篇1)

理解 Go 语言中 slice 的性质对于编程非常有益。下面,我将通过两个代码示例来解释切片在不同函数之间传递并执行 append 操作时的具体表现。 本篇为第 1 篇,当切片的容量 cap 充足时 第一份代码 slice1 的初始长度为 3,容量为 10 func main()…...

由于找不到mfc140u.dll,无法继续执行代码怎么修复?

当我在使用某个应用程序时遇到了mfc140u.dll缺失的错误提示时,我意识到这是由于该动态链接库文件丢失或损坏所引起的。mfc140u.dll是MFC的一部分,它包含了许多与用户界面、窗口管理、控件等相关的函数和类。这个文件通常用于支持使用MFC开发的应用程序的…...

【0.1】lubancat鲁班猫4刷入debian网络ping 域名不通问题

目录 1. 环境2. 操作步骤 1. 环境 lubancat4鲁班猫4 (4G0)不带emmc系统镜像lubancat-rk3588-debian11-gnome-20230807_update.img官方资料地址https://doc.embedfire.com/products/link/zh/latest/linux/ebf_lubancat.html 2. 操作步骤 从官网给的百度网盘下载linux系统全部…...

KafkaStream:基本使用

简介: kafkaStream:提供了对存储在kafka中的数据进行流式处理和分析的功能 特点: KafkasSream提供了一个非常简单轻量的Library,它可以非常方便的嵌入到java程序中,也可以任何方式打包部署 入门案例: 1、…...

【数据结构】二叉树

完全二叉树 是指所有结点度数小于等于2的树 所以这种情况也是: 几条性质 一个具有n个结点的完全二叉树的深度为: log ⁡ 2 ( n 1 ) 的结果向上取整。 \\\log_{2}(n1) \ \ 的结果向上取整。 log2​(n1) 的结果向上取整。设度为0的结点个数是n0&#…...

基于灰狼优化(GWO)、帝国竞争算法(ICA)和粒子群优化(PSO)对梯度下降法训练的神经网络的权值进行了改进(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

jenkins自动化构建保姆级教程(持续更新中)

1.安装 1.1版本说明 访问jenkins官网 https://www.jenkins.io/,进入到首页 点击【Download】按钮进入到jenkins下载界面 左侧显示的是最新的长期支持版本,右侧显示的是最新的可测试版本(可能不稳定),建议使用最新的…...

HTTPS 的加密流程

目录 一、HTTPS是什么? 二、为什么要加密 三、"加密" 是什么 四、HTTPS 的工作过程 1.对称加密 2.非对称加密 3.中间人攻击 4.证书 总结 一、HTTPS是什么? HTTPS (Hyper Text Transfer Protocol Secure) 是基于 HTTP 协议之上的安全协议&…...

Jmeter 参数化的几种方法

目录 配置元件-用户自定义变量 前置处理器-用户参数 配置元件-CSV Data Set Config Tools-函数助手 配置元件-用户自定义变量 可在测试计划、线程组、HTTP请求下创建用户定义的变量 全局变量,可以跨线程组调用 jmeter执行的时候,只获取一次&#xff0…...

剑指Offer45.把数组排成最小的数 C++

1、题目描述 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: “102” 示例 2: 输入: [3,30,34,5,9] 输出: “3033459” 2、VS2019上运行 先转换成字符串再组合起来 #in…...

【java毕业设计】基于SSM+MySql的人才公寓管理系统设计与实现(程序源码)--人才公寓管理系统

基于SSMMySql的人才公寓管理系统设计与实现(程序源码毕业论文) 大家好,今天给大家介绍基于SSMMySql的人才公寓管理系统设计与实现,本论文只截取部分文章重点,文章末尾附有本毕业设计完整源码及论文的获取方式。更多毕业…...

golang操作excel的高性能库——excelize/v2

目录 介绍文档与源码安装快速开始创建 Excel 文档读取 Excel 文档打开数据流流式写入 [相关 Excel 开源类库性能对比](https://xuri.me/excelize/zh-hans/performance.html) 介绍 Excelize是一个纯Go编写的库,提供了一组功能,允许你向XLAM / XLSM / XLS…...

学习51单片机怎么开始?

学习的过程不总是先打好基础,然后再盖上层建筑,尤其是实践性的、工程性很强的东西。如果你一定要先全面打好基础,再学习单片机,我觉得你一定学不好,因为你的基础永远打不好,因为基础太庞大了,基…...

[.NET学习笔记] -.NET6.0项目动态加载netstandard2.0报错但项目添加引用则正常的问题

问题描述 .NET6.0的项目使用netstandard2.0版本的动态链接库。若是在项目中直接添加引用,应用netstandard2.0项目或者netstandard2.0编译后的dll均能正常工作。但如果通过xcopy等方式,额外将对应的dll复制到执行目录,会执行失败。调用方式一…...

山景DSP芯片可烧录AP8224C2音频处理器方案

AP8224C2高性能32位音频应用处理器AP82系列音频处理器是面向音频应用领域设计的新一代SoC平台产品,适用于传统音响系统、新兴的蓝牙或Wifi 无线音频产品、Sound Bar 和调音台等市场。该处理器在总体架构和系统组成上,充分考虑了音频领域的特点&#xff0…...

来聊聊托管服务提供商(MSP)安全

纵观各个中小型企业,由于预算十分有限而且系统环境的满载,如今它们往往需要依赖托管服务提供商(managed service providers,MSP)来支持其IT服务与流程。而由于MSP提供的解决方案可以与客户端基础设施相集成&#xff0c…...

最新版本的Anaconda环境配置、Cuda、cuDNN以及pytorch环境一键式配置流程

本教程是最新的深度学习入门环境配置教程,跟着本教程可以帮你解决入门深度学习之前的环境配置问题。同时,本教程拒绝琐碎,大部分以图例形式进行教程。这里我们安装的都是最新版本~ 文章目录 一、Anaconda的安装1.1 下载1.2 安装1.3 环境配置…...

【数据结构与算法】十大经典排序算法-选择排序

🌟个人博客:www.hellocode.top 🏰Java知识导航:Java-Navigate 🔥CSDN:HelloCode. 🌞知乎:HelloCode 🌴掘金:HelloCode ⚡如有问题,欢迎指正&#…...

【Spring专题】Spring之Bean的生命周期源码解析——阶段一(扫描生成BeanDefinition)

目录 前言阅读准备阅读指引阅读建议 课程内容一、生成BeanDefinition1.1 简单回顾*1.2 概念回顾1.3 核心方法讲解 二、方法讲解2.1 ClassPathBeanDefinitionScanner#scan2.2 ClassPathBeanDefinitionScanner#doScan2.3 ClassPathScanningCandidateComponentProvider#findCandid…...

【C#】判断打印机共享状态

打印机共享状态 /// <summary>/// 打印机共享状态/// </summary>public enum PrinterShareState{/// <summary>/// 无打印机/// </summary>None -1,/// <summary>/// 未共享/// </summary>NotShare 0,/// <summary>/// 已共享/// …...

运维监控学习笔记7

Zabbix的安装&#xff1a; 1、基础环境准备&#xff1a; 安装zabbix的yum源&#xff0c;阿里的yum源提供了zabbix3.0。 rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm 这个文件就是生成了一个zabbix.repo 2、安…...

【业务功能篇64】maven加速 配置settings.xml文件 镜像

maven加速 添加阿里镜像仓 <?xml version"1.0" encoding"UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additi…...

Spring Boot(六十四):SpringBoot集成Gzip压缩数据

1 实现思路 2 实现 2.1 创建springboot项目 2.2 编写一个接口,功能很简单就是传入一个Json对象并返回 package com.example.demo.controller;import com.example.demo.entity.Advertising; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframewo…...

Mac安装opencv后无法导入cv2的解决方法

前提条件&#xff1a;以下两个插件安装成功 pip install opencv-python pip install --user opencv-contrib-python 注&#xff1a;直接用pip install opencv-contrib-python如果报错&#xff0c;就加上“–user" 第一步&#xff1a; 设置–添加python解释器 第二步&am…...

【题解】按之字形顺序打印二叉树

按之字形顺序打印二叉树 题目链接&#xff1a;按之字形顺序打印二叉树 解题思路&#xff1a;层次遍历&#xff0c;借助队列 首先解决如何模仿之字形的问题&#xff0c;我们为此设置一个flag&#xff0c;每到一层就修改flag&#xff0c;如果flag为true&#xff08;初始为fals…...