“平民化”非結構數據處理

????????在全球信息產業高速發展的背景下,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.pswp.cn/news/712203.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/712203.shtml
英文地址,請注明出處:http://en.pswp.cn/news/712203.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

搜索題解

單詞方陣 - 洛谷 思路:在字符方陣中找到y并將其坐標存入數組,再找其八個方向是否有目標字符,有的話就深搜一個方向,能搜完就將數組標記,最好標記的就輸入字符,沒標記的就輸出*。 代碼如下: #…

linux 拷貝文件到指定目錄 命令

在 Linux 中,使用 cp 命令可以拷貝文件到指定目錄。下面是 cp 命令的基本用法: bash cp [選項] 源文件 目標目錄 - 選項:可以是一些附加的選項,例如 -r 表示遞歸拷貝(用于復制目錄)。 - 源文件&#xff1a…

javascript中的class基礎入門(1)

javascript中的class start 最近在學習:cocos ,準備自己制作小游戲。過程中遇到不少疑問,我計劃將這些疑問寫成一個系列博客,用以記錄。這篇文章來了解 class 1. 前言 1. 前言 本文對應版本 Cocos Creator 3.8。Cocos Creato…

【Sql server】假設有三個字段a,b,c 以a和b分組,如何查詢a和b唯一,但是c不同的記錄

歡迎來到《小5講堂》,大家好,我是全棧小5。 這是《Sql Server》系列文章,每篇文章將以博主理解的角度展開講解, 特別是針對知識點的概念進行敘說,大部分文章將會對這些概念進行實際例子驗證,以此達到加深對…

2_SQL

文章目錄 SQL數據完整性實體完整性域完整性參照完整性default(默認值)comment(注釋) 多表設計一對一一對多多對多數據庫三大范式第一范式:原子性第二范式:唯一性第三范式:數據的冗余 多表查詢連…

JQMobile Loader Widget 遮罩層改造

最近在用jqmobile 做一個混合APP項目時候用到 jqmobile1.4.3提供的Loader Widget控件,但是這個控件本身是一個loading彈出層,這個彈出層彈出之后,用戶還是可以去點擊按鈕,重復發送請求,為了防止重復提交,我想了兩種辦法, 1,在loading彈出層彈出之后,讓按鈕不可用.但是form表單…

記錄SSM項目集成Spring Security 4.X版本 之 加密驗證和記住我功能

目錄 前言 一、用戶登錄密碼加密認證 二、記住我功能 前言 本次筆記的記錄是接SSM項目集成Spring Security 4.X版本 之 加入DWZ,J-UI框架實現登錄和主頁菜單顯示-CSDN博客https://blog.csdn.net/u011529483/article/details/136255768?spm1001.2014.3001.5502 文章之后補…

Python列表的合并、重復、判斷與切片操作你學會了嗎

1.合并列表 通過 實現 list1 ["佛跳墻", "腸粉", "刀削面", "烤鴨"]list2 [32, 4, 5, 7.43, True]list3 list1 list2print(list3) # [佛跳墻, 腸粉, 刀削面, 烤鴨, 32, 4, 5, 7.43, True] 2.重復輸出列表中的元素 通過 * 實…

fastadmin 前端日期字段的添加和編輯

引言 fastadmin 項目中如果需要用到datetime字段的維護&#xff0c;可做如下處理&#xff1a; 1. add.html <div class"form-group"><label class"control-label col-xs-12 col-sm-2">{:__(開始)}:</label><div class"col-x…

vue3 中 主題定制

vue3 中 主題定制 背景 做多主題定制&#xff0c;黑/白 &#xff0c;里面還要再分各種顏色&#xff0c;每次進來都要記住上次的主題設置 效果圖 一、目錄結構 ├── generated │ ├── theme │ │ └── dark-yellow.ts │ │ └── dark-orange.ts │ │…

C++考試成績統計(類實現)

題目&#xff1a;有三名同學&#xff0c;在一次考試中三科成績分別如下表&#xff0c;請輸出三名同學的平均成績&#xff1a; 語文數學英語張三100100100李四9050100王五607080 #include <iostream> #include <string> /*考試成績統計*/ using namespace std;cla…

力扣:120. 三角形最小路徑和

動態規劃 1.先定義dp數組在下標i和下標j時的最小路徑和 &#xff0c;之后初始化dp數組值dp【0】【0】triangle.get(0).get(0)。再用for循環來遍歷數組dp【】的i&#xff0c;并賦值每行的下標為0的dp數組。之后再用for循環遍歷dp【i】【】的j&#xff0c;遞推公式來計算dp【i】…

「算法」常見位運算總結

位運算符 異或 按位異或可以實現無進位相加&#xff0c;所謂無進位相加&#xff0c;就是在不考慮進位的情況下將兩個數相加&#xff08;后面有道題需要用到這種操作&#xff09; 異或的運算律 ①a ^ 0 a ②a ^ a 0 ③a ^ b ^ c a ^ ( b ^ c ) 有符號右移>> 將一個…

IDEA切換 Springboot初始化 URL

&#x1f339;作者主頁&#xff1a;青花鎖 &#x1f339;簡介&#xff1a;Java領域優質創作者&#x1f3c6;、Java微服務架構公號作者&#x1f604; &#x1f339;簡歷模板、學習資料、面試題庫、技術互助 &#x1f339;文末獲取聯系方式 &#x1f4dd; 往期熱門專欄回顧 專欄…

Android基礎控件介紹

在Android應用程序開發中&#xff0c;使用基礎控件是非常常見的。這些控件允許您在用戶界面中顯示文本、圖像、按鈕等元素&#xff0c;以及接收用戶輸入。本文將介紹幾種常見的基礎控件&#xff0c;并給出每個控件在示例XML中使用的屬性的詳細說明。 1. TextView TextView 是…

云計算 2月20號 (認識操作系統)

1、認識操作系統 計算機系統的組成 知識點1&#xff1a;沒有軟件系統的計算機稱之為"裸機" 知識點2&#xff1a;裸機提供基本的可計算性資源 知識點3&#xff1a;操作系統是最靠近硬件的軟件層&#xff0c;負責管理和控制計算機硬件。 計算機硬件組成五大部件 運算器…

Chat GPT:智能對話的下一步

Chat GPT&#xff1a;智能對話的下一步 介紹 Chat GPT&#xff08;Generative Pre-trained Transformer&#xff09;是一種基于Transformer架構的強大對話模型&#xff0c;可以產生自然流暢的回答&#xff0c;并實現人機對話的感覺。本文將探討Chat GPT在智能對話領域的影響和…

代碼隨想錄算法刷題訓練營day29:LeetCode(491)遞增子序列、LeetCode(46)全排列、LeetCode(47)全排列 II

代碼隨想錄算法刷題訓練營day29&#xff1a;LeetCode(491)遞增子序列、LeetCode(46)全排列、LeetCode(47)全排列 II LeetCode(491)遞增子序列 題目 代碼 import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; im…

2024年AI全景預測

歡迎來到 2024 年人工智能和技術的可能性之旅。 在這里&#xff0c;每一個預測都是一個潛在的窗口&#xff0c;通向充滿創新、變革、更重要的是類似于 1950 年代工業革命的未來。 20 世紀 50 年代見證了數字計算的興起&#xff0c;重塑了行業和社會規范。 如今&#xff0c;人工…

老衛帶你學---leetcode刷題(242. 有效的字母異位詞)

242. 有效的字母異位詞 問題 給定兩個字符串 s 和 t &#xff0c;編寫一個函數來判斷 t 是否是 s 的字母異位詞。 注意&#xff1a;若 s 和 t 中每個字符出現的次數都相同&#xff0c;則稱 s 和 t 互為字母異位詞。 示例 1: 輸入: s “anagram”, t “nagaram” 輸出: t…