“平民化”非结构数据处理

news2024/11/17 7:27:33

        在全球信息产业高速发展的背景下,IDC预测,2018 到 2025 年之间,全球产生的数据量将会从 33 ZB 增长到 175 ZB, 复合增长率27%,其中超过 80%的数据都会是处理难度较大的非结构化数据,如文档、文本、图形、图像、音频、视频等。非结构化数据在大数据时代的重要地位已成为共识。近些年,伴随着大数据存储、人工智能(AI)等技术的蓬勃发展,非结构化数据的价值得到了巨大的发挥。如:自然语言处理、图像识别、语音识别等技术,已在各行业得到广泛应用,并不断的提炼数据中的价值。

        非结构化数据的处理与分析目前主要通过两种形式提供:一种是将能力封装在应用系统中,一体化交付给最终用户,如:人脸身份验证系统、手持翻译机等;一种是以PAAS形式,将能力以开发接口的形式暴露给用户,比较有代表性的有百度AI智能云、阿里云等。前者通过应用封装,最终用户感受不到非结构化数据的处理过程,也无需关注。而后者,给了使用者更大的发挥空间,让用户可以随心所欲的应用这些能力。但前提是用户必须掌握一定的编程能力,才能够调用平台提供的接口。这就使得相当一部分拥有数据处理需求而没有开发能力的用户被挡在了门外。他们需要去学习一种编程语言或者额外支付开发费用才能实现对非结构化数据处理的需求。

        需要二次开发才能使用非结构化数据处理与分析能力的方式显然不符合近年来热推的“技术平民化”趋势。“技术平民化”即“低代码”技术,在数据处理领域其实并不陌生。早在“小”数据时代,对于结构化数据处理与分析就有SAS、SPSS Modeler等一众知名的商业工具,也有诸如Kettle、RapidMiner等开源工具。这些工具都支持使用者通过可视化交互的方式,实现对结构化数据的ETL(抽取、转换、装载)处理及分析建模。进入大数据时代后,在数据科学领域,这种低代码设计理念得以保留。SAS等公司纷纷转型,将其技术架构迁移到以Spark为代表的一众大数据计算框架下。同时,该领域也涌入了许多新晋玩家,如阿里的DataWorks等。但这些工具基本还是面向结构化数据的,只是转换了计算架构,使得工具能够支持更大规模的结构化数据处理与分析的需求。而对于规模早已超过数据总量80%的非结构化数据,目前却鲜有低代码工具,这也使得大数据处理与分析远未进入“平民化”阶段。

        一年多前,接到一个朋友的项目需求。在这个项目中,朋友除了有海量的结构化数据需要处理外,还有大量的诸如文档、图片、音频、视频类数据处理的需求。由于数据种类庞杂,处理需求多样,采用交付定制系统的方式根本无法满足用户不断演进的数据使用需求。因此,一个能够让用户参与的,可随用户需求演进的“平民化”数据处理平台成为了最佳解决方案。

        有别于传统的面向结构化数据的低代码工具,非结构化数据其内容更多样,处理手段更专业、存储方式的选择也更丰富。如前文所讲,非结构化数据包括文档、文本、图片、音频、视频等不同内容;对于这些不同类型的内容,分别有不同的专业处理需求。对于文本有实体识别、关系识别、文本摘要,图片有OCR识别、物体识别,音频有语音识别,视频有关键帧识别等一众需求。这些需求的专业能力要求很高,除了少数大厂有比较全面的能力覆盖外,很多公司都只能在其中的一个或几个方向构建其专业能力;由于非结构化数据没有模式,其拥有了更广泛的存储选择,其可以存储在文件系统中,也可以存储在数据库中,对于其数据的应用场景而言,没有本质的差别。

        针对非结构化数据的存储及处理特点,笔者和团队经过一年多的开发,实现了一个能够给予用户更多的存储及处理技术选择的低代码工具平台。该平台很好的支撑了朋友项目的各类非结构化数据处理需求。比如下面的一个简单场景。

        朋友项目中有一些档案处理的需求,档案格式有word、pdf等。希望能够对这些档案进行自动化处理,抽取档案中的文字及头像,构建基础档案信息。并意图在后续的处理流程中进一步分析文本,获得更有效的内容。(注:为展示系统能力,本文例子中选取了一个台湾政客的简历,该简历采用的是繁体字)。档案原文为一个两页的pdf文件,内容如下:

        (注:这里删除了一页违规的图片信息,内含个人隐私信息)

        我们的第一个任务是抽取文档中的文字。在该任务的实现路径中,有一种是直接抽取pdf中文字的解决方案。但经过测试,发现效果不好。于是尝试了第二种技术路线,就是先将pdf转为图片,然后再使用OCR技术,识别图片中的文字。由于前文有提到,OCR是一个专业的方向,要训练一个好的OCR模型是一个非常困难的事,尤其该文档是繁体字体,就变的更为困难。因此,笔者的平台采用了开放的态度,集成第三放能力供用户选择使用。在该任务中,笔者平台选择了百度的OCR识别能力,用它来实现图片中文字的提取。效果如下图:

        如图所示,这是一个从左到右的数据处理流程。文件输入算子负责读入档案文件;pdf转换算子负责将pdf转换为图片;百度OCR算子负责识别图片中的文字并将结果输出到输出端口。其运行后的效果为:

        在这里能够看到pdf被转成了2个图片,2个图片中的文本也被识别并输出。

        我们的第二个任务是从档案中挑出人的头像图片,并将其存储到指定的目录中。在这里我们集成了百度的物体与场景识别能力。数据流程的效果图如下:

        如图所示,从左至右的流程,文件输入算子负责读入档案文件;图片抽取文件抽取文档中的图片;复制数据流,流的一个分支转交给百度物体与场景识别算子,另一分支转交给联结算子。百度物体与场景识别算子输出识别到的图片的各种标签;过滤算子过滤掉不是人物头像的标签,输出人物头像标签并于另一个分支输出的流在联结算子处联结计算,联结算子只输出与人物头像标签对应的图片,并经过重新打包转换后,将头像写出到文件系统。其运行后的效果如下:        通过流程执行输出的数据我们可以看到,从pdf文件中共抽出三张图,Image1, Image2和Image3,只有Image2被识别为人物类型。下面我们再看流程的输入/输出信息。

        以上图1展示的是流程读入及写出的相关文件。其中OUTPUT记录项的Image2文件即流程识别出的头像文件。点击查看,效果如图2,可以看到抽取到的头像与最初档案中的头像一致。本示例给出的读取和写出数据源皆为文件系统,使用者可根据实际需要进行调整,平台目前支持的部分数据源如下图:

        笔者团队提供的低代码平台,目前已具备将非结构化数据处理“平民化”的能力,对于结构化数据有同样友好的支持。可以帮助更多的业务人员、数据研究人员方便的处理及分析数据;便捷的使用第三方的技术能力;真正进入大数据处理的“平民化”时代。

        追逐同款工具,猛戳以下链接:HuggingFists

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

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

相关文章

32-树-在每个树行中找最大值

这是树的第32篇算法,力扣链接。 给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。 示例1: 输入: root [1,3,2,5,3,null,9] 输出: [1,3,9] 层级遍历似乎天生适合解这道题: func largestValues(root *TreeNode) []…

实例:NX二次开发抽取平面以及标准柱面中心线

一、概述 最近体验许多外挂,包括胡波外挂、星空外挂及模圣等都有抽取面的中心线,由于刚刚学习,我尝试看看能不能做出来,本博客代码没有封装函数,代码有待改进,但基本可以实现相应的功能。 二、案例实现的功…

浅谈MySQL的B树索引与索引优化

MySQL的MyISAM、InnoDB引擎默认均使用B树索引(查询时都显示为“BTREE”),本文讨论两个问题: 为什么MySQL等主流数据库选择B树的索引结构?如何基于索引结构,理解常见的MySQL索引优化思路? 为什…

火锅底料加工厂污废水如何处理达标排放

火锅底料加工厂作为食品加工行业的一员,其生产过程中不可避免地会产生大量的污废水。为了保护环境和维护公共健康,火锅底料加工厂应当采取措施对污废水进行处理,使其达到国家相关排放标准。那么,火锅底料加工厂污废水该如何处理才…

ffmpeg单张图片生成固定时长的视频

ffmpeg -r 25 -f image2 -loop 1 -i fps_1.jpg -vcodec libx264 -pix_fmt yuv420p -s 1080*1920 -r 25 -t 30 -y fps.mp4这个命令将 fps_1.jpg 图片转换为一个 30 秒长的视频,分辨率为 1920x1080,帧率为 25 帧/秒,并使用 libx264 编码器进行压…

数据中心GPU集群高性能组网技术分析

数据中心GPU集群组网技术是指将多个GPU设备连接在一起,形成一个高性能计算的集群系统。通过集群组网技术,可以实现多个GPU设备之间的协同计算,提供更大规模的计算能力,适用于需要大规模并行计算的应用场景。 常用的组网技术&…

HTML5+CSS3小实例:环绕小球弹性loading动画

实例:环绕小球弹性loading动画 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge&quo…

C# WPF编程-创建项目

1.创建新项目 选择“WPF应用程序”》“下一步” 2. 设置项目 设置项目名称&#xff0c;保存位置等参数>下一步 3.选择框架 4.项目创建成功 5.运行项目

Failed to build tree: parent link [base_link] of joint [lidar_joint] not found

参考&#xff1a; Failed to build tree: parent link [base_link] of joint 在古月居gazebo 的基础教程里&#xff0c;运行古月居的mbot的launch文件报错&#xff0c;小机器人不出现。 主要原因是提供的xacro文件的宏定义没有放在xacro的命名空间。 解决&#xff1a; 将<mb…

网络编程第二天

1.基于TCP的通信(面向连接的通信) 服务器代码实现&#xff1a; #include <myhead.h> #define IP "192.168.126.91" #define PORT 9999 int main(int argc, const char *argv[]) {//1、创建套接字int sfd-1;if((sfdsocket(AF_INET,SOCK_STREAM,0))-1){perror(…

ROS 2基础概念#2:节点(Node)| ROS 2学习笔记

ROS 2节点简介 节点是执行计算的进程。节点组合在一起形成一个图&#xff08;graph&#xff09;&#xff0c;并使用主题&#xff08;topic&#xff09;、服务&#xff08;service&#xff09;和参数服务器&#xff08;paramter server&#xff09;相互通信。这些节点旨在以细粒…

Ps:路径面板

Ps菜单&#xff1a;窗口/路径 Window/Paths “路径”面板 Paths Panel提供了一系列功能&#xff0c;使用户能够创建、编辑、保存和利用路径。 ◆ ◆ ◆ 路径分类 在“路径”面板上的路径可分为五大类。 常规路径 Saved Path 也称“已保存的路径”&#xff0c;指的是已经存储在…

【三维重建】【SLAM】SplaTAM:基于3D高斯的密集RGB-D SLAM

题目&#xff1a;SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM 地址&#xff1a;spla-tam.github.io 机构&#xff1a;CMU&#xff08;卡内基梅隆大学&#xff09;、MIT&#xff08;美国麻省理工&#xff09; 总结&#xff1a;SplaTAM&#xff0c;一个新…

MyBatis 学习(三)之 MyBatis 全局配置文件

目录 1 MyBatis 全局配置文件 2 properties 元素 3 setting 设置 4 typeAlianses 别名处理器 5 typeHandler 类型处理器 6 objectFacotry 对象工厂&#xff08;了解&#xff09; 7 plugins 插件&#xff08;了解&#xff09; 8 environments 运行环境 9 databaseIdPro…

如何对酒店开展科学的定岗定编——以酒店健身房、娱乐房为例

近年来&#xff0c;随着旅游行业的快速发展&#xff0c;也带动了酒店业的兴盛。酒店的经营效益不仅受益于旅游业&#xff0c;同时也受制于旅游行业。由于旅游业存在明显的季节性差异&#xff0c;旅游旺季客流量多、淡季客流量少&#xff0c;造成人员忙闲不均的问题。酒店行业也…

怎么恢复删除的文件?6种有效的数据恢复方法汇总!

怎么才能恢复被删掉的数据啊&#xff1f;现在都是数字化时代了&#xff0c;我们的电脑里装了好多重要数据&#xff0c;一旦丢了&#xff0c;可是会给我们的工作和生活带来极大的麻烦啊。所以&#xff0c;学几招有效的电脑数据恢复方法是挺有必要的。下面&#xff0c;我就给大家…

C# 高阶语法 —— Winfrom链接SQL数据库的存储过程

存储过程在应用程序端的使用的优点 1 如果sql语句直接写在客户端&#xff0c;以一个字符串的形式体现的&#xff0c;提示不友好&#xff0c;会导致效率降低 2 sql语句写在客户端&#xff0c;可以利用sql注入进行攻击&#xff0c;为了安全性&#xff0c;可以把sql封装在…

出现 ‘vue‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件的解决方法(图文界面)

目录 前言1. 问题所示2. 原理分析3. 解决方法前言 由于Java转全栈,对此前端的细节点都比他人更加注意,所以此处记录更有用的信息!(小白都能看懂) 1. 问题所示 出现如下问题: F:\vue_project>vue -version vue 不是内部或外部命令,也不是可运行的程序 或批处理文件…

CUDA C:查看GPU设备信息

相关阅读 CUDA Chttps://blog.csdn.net/weixin_45791458/category_12530616.html?spm1001.2014.3001.5482 了解自己设备的性能是很有必要的&#xff0c;为此CUDA 运行时(runtime)API给用户也提供了一些查询设备信息的函数&#xff0c;下面的函数用于查看GPU设备的一切信息。 …

挑战30天学完Python:Day29 API开发

&#x1f389; 本系列为Python基础学习&#xff0c;原稿来源于 30-Days-Of-Python 英文项目&#xff0c;大奇主要是对其本地化翻译、逐条验证和补充&#xff0c;想通过30天完成正儿八经的系统化实践。此系列适合零基础同学&#xff0c;或仅了解Python一点知识&#xff0c;但又没…