關(guān)于人工智能應(yīng)用場景中前期數(shù)據(jù)處理的業(yè)務(wù)場景和技術(shù)分析——包括結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù) 原創(chuàng)
“ 文檔處理是人工智能應(yīng)用領(lǐng)域中的重要環(huán)節(jié),其業(yè)務(wù)需求復(fù)雜,技術(shù)實(shí)現(xiàn)難度高;因此,怎么處理復(fù)雜文檔是每個(gè)技術(shù)人員都需要考慮的問題?!?/strong>
文檔處理在當(dāng)前人工智能行業(yè)下是一個(gè)非?;A(chǔ)也非常重要的工作,不論是模型的訓(xùn)練和微調(diào),還是以RAG檢索增強(qiáng),亦或者是在傳統(tǒng)的搜索引擎(包括百度,谷歌這種搜索引擎;以及電商等內(nèi)部平臺(tái)的搜索需求)中都是必不可少的一個(gè)重要環(huán)節(jié)。
但面對(duì)復(fù)雜的文檔格式和類型,文檔處理的難度相當(dāng)大;而且在不同的需求場景下,同樣格式和內(nèi)容的文檔需要不同的處理方式;比如說在開放性問答場景和精確性的企業(yè)服務(wù)場景下,對(duì)文檔處理的要求和質(zhì)量是不一樣的。
所以,今天我們就來討論一下文檔處理過程中存在的一些問題以及相對(duì)的解決方案和技術(shù)選型。
文檔處理
關(guān)于文檔處理我們需要從兩個(gè)方面進(jìn)行考慮,一個(gè)是業(yè)務(wù)場景,另一個(gè)是技術(shù)實(shí)現(xiàn)。
業(yè)務(wù)場景
先說業(yè)務(wù)場景,文檔處理的業(yè)務(wù)場景有很多;上面所說的RAG,模型訓(xùn)練,搜索引擎等都需要文檔處理;而在垂直領(lǐng)域,比如醫(yī)療,金融,法律等面對(duì)快速爆炸的知識(shí)密集場景中,文檔處理依然是很重要的一環(huán)。
特別是面對(duì)多年積累的大量歷史數(shù)據(jù),怎么快速從這些歷史數(shù)據(jù)中找到關(guān)鍵信息;除了搜索算法和大模型的應(yīng)用之外,文檔的前期處理是必不可少且非常重要的一環(huán)。
因?yàn)?,?duì)于未經(jīng)過處理的數(shù)據(jù),再強(qiáng)大的算法或模型都很難得到精確的查詢或檢索效果;所以,文檔處理的方式,以及處理結(jié)果的質(zhì)量都會(huì)成為影響數(shù)據(jù)召回的重要因素。
技術(shù)實(shí)現(xiàn)
技術(shù)實(shí)現(xiàn)也需要從多個(gè)角度進(jìn)行說明和分析,主要包括不同文檔的類型和技術(shù)實(shí)現(xiàn)兩個(gè)方面。
文檔類型
在文檔處理領(lǐng)域中,不同的文檔類型和內(nèi)容需要使用不同的處理方式;當(dāng)然,這里所說的文檔并不只是指我們常見的word,pdf,md等文檔,還包括數(shù)據(jù)庫文檔,網(wǎng)頁文檔,圖片,表格等多種文檔類型。
從形式來看,文檔的類型多種多樣,包括我們常見的office三件套,markdown文檔,csv,數(shù)據(jù)庫文檔,網(wǎng)頁,日志文件等。
但從技術(shù)的角度來看,不管什么形式的文檔,主要都是以下三種格式:
- 結(jié)構(gòu)化數(shù)據(jù)
- 半結(jié)構(gòu)化數(shù)據(jù)
- 非結(jié)構(gòu)化數(shù)據(jù)
結(jié)構(gòu)化數(shù)據(jù)主要包括excel,csv,數(shù)據(jù)庫文檔,xml文檔,日志文件等。
半結(jié)構(gòu)化數(shù)據(jù)主要包括網(wǎng)頁,mongdb,email等這種有部分是結(jié)構(gòu)化數(shù)據(jù),而部分是非結(jié)構(gòu)化數(shù)據(jù);比如說網(wǎng)頁中的標(biāo)簽,h1,li;email的收件人,發(fā)件人等。
非結(jié)構(gòu)化數(shù)據(jù)就是更常見的數(shù)據(jù)類型了,比如word,pdf,ppt,md,txt等;特別是word,pdf,md這種支持富文本,表格圖片的文檔格式;由于其復(fù)雜的文檔結(jié)構(gòu),導(dǎo)致其在處理過程中會(huì)存在非常多的困難點(diǎn);比如常見的文本,圖片,表格同時(shí)存在的項(xiàng)目文檔;以及充斥大量架構(gòu)圖,結(jié)構(gòu)圖和流程圖的PDF文檔等。
而在人工智能應(yīng)用場景中,我們不但需要保證這些文檔內(nèi)容的連續(xù)性(比如表格拆分的問題),還需要保證其語義和結(jié)構(gòu)性,比如目前對(duì)于存在大量結(jié)構(gòu)圖和流程圖的文檔處理效果都不怎么好。
因此,面對(duì)這些復(fù)雜的文檔類型和內(nèi)容,怎么進(jìn)行有效性處理是很多企業(yè)和領(lǐng)域都需要思考和解決的問題。
技術(shù)方案
根據(jù)以上復(fù)雜的文檔類型,我們需要使用不同的數(shù)據(jù)處理方案;下面我們就以結(jié)構(gòu)化,半結(jié)構(gòu)化和非結(jié)構(gòu)化這三種類型進(jìn)行說明。
結(jié)構(gòu)化數(shù)據(jù)
在這三種數(shù)據(jù)類型中,結(jié)構(gòu)化數(shù)據(jù)是最好處理的一種數(shù)據(jù)格式;不論是數(shù)據(jù)庫,json數(shù)據(jù),xml數(shù)據(jù)等;由于其有標(biāo)準(zhǔn)的格式,因此我們只需要根據(jù)其數(shù)據(jù)格式進(jìn)行處理即可;而且由于計(jì)算機(jī)技術(shù)發(fā)展這些年,對(duì)這方面的數(shù)據(jù)處理技術(shù)已經(jīng)非常成熟了。比如說python的pandas就非常適合處理數(shù)據(jù)庫,json和csv等格式的數(shù)據(jù)。
半結(jié)構(gòu)化數(shù)據(jù)
半結(jié)構(gòu)化數(shù)據(jù)相對(duì)來說處理過程相對(duì)較復(fù)雜一點(diǎn),但又不像非結(jié)構(gòu)化數(shù)據(jù)那么復(fù)雜。
比如說以網(wǎng)頁文檔為例,在爬蟲領(lǐng)域網(wǎng)頁爬取是一項(xiàng)非常基礎(chǔ)的功能;而對(duì)爬取之后的網(wǎng)頁進(jìn)行解析,可以使用正則表達(dá)式或一些三方網(wǎng)頁解析庫進(jìn)行處理;其效果還不錯(cuò)。
非結(jié)構(gòu)化數(shù)據(jù)
非結(jié)構(gòu)化數(shù)據(jù)在文檔處理領(lǐng)域中,屬于技術(shù)難度最大,處理方式最復(fù)雜的一種數(shù)據(jù)格式。
非結(jié)構(gòu)化數(shù)據(jù)處理復(fù)雜的原因就在于,上面所說的文檔結(jié)構(gòu)復(fù)雜,可能同時(shí)存在文字,圖片,表格,流程圖等多種不同的數(shù)據(jù)格式;而面對(duì)如此復(fù)雜的數(shù)據(jù)格式,再加上不同應(yīng)用場景下對(duì)數(shù)據(jù)處理質(zhì)量的要求;因此沒有辦法進(jìn)行統(tǒng)一的處理;因此只能選擇在處理過程中的部分環(huán)節(jié)進(jìn)行一定的抽象。
比如說,對(duì)文檔中的文字,圖片,表格分別進(jìn)行提取;然后再進(jìn)行特定的處理;這種一般會(huì)選擇多模態(tài)模型進(jìn)行數(shù)據(jù)提取。
其次,對(duì)于一些圖片中存在大量文字描述的內(nèi)容,可以選擇使用ORC等技術(shù),把內(nèi)容從圖片中提取出來然后當(dāng)成文本數(shù)據(jù)進(jìn)行處理。
當(dāng)然,也可以使用最簡單的方式,通過多模態(tài)模型把整個(gè)文檔進(jìn)行概要總結(jié);然后使用總結(jié)的概要作為結(jié)果進(jìn)行應(yīng)用。
本文轉(zhuǎn)載自公眾號(hào)AI探索時(shí)代 作者:DFires
