黃梓航,陳令羽,蔣秉川
(1.戰(zhàn)略支援部隊(duì)信息工程大學(xué) 研究生院,河南 鄭州 450001;2.戰(zhàn)略支援部隊(duì)信息工程大學(xué) 地理空間信息學(xué)院,河南 鄭州 450001)
圖表將繁冗的數(shù)據(jù)以直觀形象的形式展現(xiàn)出來(lái),在地理信息表達(dá)和傳輸?shù)阮I(lǐng)域應(yīng)用廣泛[1-2]。隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,泛在圖表成為大眾接收各類信息的主要渠道之一,包含了大量具有重要價(jià)值的各類信息,通過(guò)爬取解譯可為具體應(yīng)用提供數(shù)據(jù)支撐。圖表數(shù)據(jù)和時(shí)空數(shù)據(jù)相結(jié)合,可以極大程度提升人類的空間感知和認(rèn)知能力。特別是人工智能技術(shù)的不斷進(jìn)步,為計(jì)算機(jī)快速理解和應(yīng)用這類圖表數(shù)據(jù)提供了新的技術(shù)支持,豐富了圖表數(shù)據(jù)的應(yīng)用領(lǐng)域和層次。
網(wǎng)絡(luò)數(shù)據(jù)中的泛在圖表按照數(shù)據(jù)類型可以分為2 種:一種是矢量型圖表,數(shù)據(jù)可以通過(guò)訪問(wèn)對(duì)應(yīng)的數(shù)據(jù)庫(kù)直接進(jìn)行提??;另一種是柵格型圖表,本質(zhì)上就是柵格型數(shù)據(jù)圖像,文件中記錄的是不同位置上的像素值,依靠計(jì)算機(jī)視覺(jué)技術(shù)進(jìn)行信息提取。矢量數(shù)據(jù)的解析主要停留在數(shù)據(jù)層面的處理上,方法相對(duì)成熟,研究柵格類圖表數(shù)據(jù)的智能解析成為熱點(diǎn)和難點(diǎn)問(wèn)題[3-7]。
圖表數(shù)據(jù)在形成過(guò)程中經(jīng)過(guò)了一定程度的綜合,實(shí)現(xiàn)柵格圖表的完全解譯難度很大。針對(duì)海量泛在圖表,能夠快速根據(jù)特征標(biāo)簽檢索出對(duì)應(yīng)的信息,再進(jìn)行針對(duì)性的數(shù)據(jù)解譯更符合時(shí)空大數(shù)據(jù)的研究規(guī)律。本文通過(guò)分析圖表結(jié)構(gòu),解析關(guān)鍵文本信息,抽取圖表中的關(guān)鍵知識(shí),構(gòu)建圖表特征標(biāo)簽體系,具體方法如圖1所示。
圖1 柵格類圖表數(shù)據(jù)知識(shí)標(biāo)簽體系構(gòu)建流程
圖表文本定位與矢量化是從柵格圖表中提取出文字信息的位置和內(nèi)容,將圖表中的所有可能的知識(shí)識(shí)別出來(lái),為知識(shí)標(biāo)簽判斷提供基礎(chǔ),包括離線識(shí)別和在線識(shí)別2 種方法。在線識(shí)別主要是借助主流的云工具,例如騰訊云、百度云、阿里云等,提供了相應(yīng)的文字信息位置判斷和識(shí)別的在線服務(wù),能夠?yàn)閳D像數(shù)據(jù)中文字信息的快速識(shí)別和分析提供相應(yīng)接口,且具有很高的準(zhǔn)確性和效率,但僅支持互聯(lián)網(wǎng)情況下的識(shí)別,對(duì)應(yīng)的離線工具價(jià)格昂貴。離線識(shí)別不需要連接互聯(lián)網(wǎng),主要通過(guò)文本檢測(cè)和內(nèi)容識(shí)別2個(gè)環(huán)節(jié)抽取文本信息[8-11]。綜合分析現(xiàn)有方法和圖表數(shù)據(jù)的特點(diǎn),采用CRAFT+CRNN 的方法進(jìn)行文本定位與矢量化[12-14]。
基于CRAFT檢測(cè)文字區(qū)域的基本原理是設(shè)計(jì)一個(gè)深度神經(jīng)網(wǎng)絡(luò),通過(guò)預(yù)測(cè)單個(gè)字符的高斯熱圖以及字符間的連接性來(lái)檢測(cè)文本。其主要思想是:
1)圖像分割,采用u-net結(jié)構(gòu),先下采樣再上采樣,聚合深層和淺層特征。
2)非像素級(jí)分割,將一個(gè)字符視為一個(gè)檢測(cè)目標(biāo)對(duì)象,而不是一個(gè)詞組(所有的詞組都由若干個(gè)字符構(gòu)成),即不把文本框當(dāng)作目標(biāo)。
3)標(biāo)注時(shí)采用文本框級(jí)別的標(biāo)注,而非字符級(jí)別的標(biāo)注,并使用了一種弱監(jiān)督學(xué)習(xí)思路(先利用合成樣本進(jìn)行預(yù)訓(xùn)練,再將預(yù)訓(xùn)練模型對(duì)真實(shí)數(shù)據(jù)集進(jìn)行檢測(cè),得到預(yù)測(cè)結(jié)果,經(jīng)過(guò)處理后得到高斯熱度圖作為真實(shí)數(shù)據(jù)集的字符級(jí)標(biāo)簽)。
由于CRAFT 方法具有先進(jìn)的性能和良好的泛化性,特別適合于柵格類圖表中各類文本的檢測(cè)和定位。
文字識(shí)別是對(duì)序列的預(yù)測(cè)方法,CRNN 采用了對(duì)序列預(yù)測(cè)的RNN 網(wǎng)絡(luò)。通過(guò)CNN 將圖片的特征提取出來(lái)后采用RNN對(duì)序列進(jìn)行預(yù)測(cè),最后通過(guò)一個(gè)CTC的翻譯層得到最終結(jié)果。主要采用的是CNN+RNN+CTC三層網(wǎng)絡(luò)結(jié)構(gòu),從下到上,依次為:
1)卷積層,使用CNN,從輸入圖像中提取特征序列。
2)循環(huán)層,使用RNN,預(yù)測(cè)從卷積層獲取的特征序列的標(biāo)簽(真實(shí)值)分布。
3)轉(zhuǎn)錄層,使用CTC,把從循環(huán)層獲取的標(biāo)簽分布通過(guò)重新整合等操作轉(zhuǎn)換成最終的識(shí)別結(jié)果。
泛在柵格類圖表的質(zhì)量難以得到保證,噪聲和干擾信息多、圖像不清楚的情況普遍存在。在進(jìn)行文本矢量化之前,可先進(jìn)行灰度變換、濾波操作、圖像二值化等圖像預(yù)處理,減少無(wú)關(guān)信息,在一定程度上恢復(fù)包含的文本特征信息從而增強(qiáng)特征可檢測(cè)性和矢量化效果,提高提取的效率與準(zhǔn)確率。
圖表隸屬于視覺(jué)傳達(dá)信息的范疇,將知識(shí)、信息的概念和統(tǒng)計(jì)數(shù)據(jù)等進(jìn)行視覺(jué)整理,用形狀、顏色和文字、數(shù)字來(lái)表達(dá),視覺(jué)化某種事物的現(xiàn)象或某種思維的抽象觀念,以生動(dòng)的表達(dá)形式傳遞信息,蘊(yùn)含豐富的知識(shí)體系和內(nèi)容,具有直觀性和易懂性的特征。通過(guò)對(duì)圖表的結(jié)構(gòu)進(jìn)行拆分,從各個(gè)文本塊對(duì)應(yīng)的結(jié)構(gòu)特征上對(duì)圖表的信息表達(dá)進(jìn)行研究,是進(jìn)行知識(shí)標(biāo)簽構(gòu)建的關(guān)鍵環(huán)節(jié)[15]。
根據(jù)表現(xiàn)形式,可以將圖表分為柱狀類圖表、線狀類圖表、點(diǎn)狀類圖表、多邊形類圖表和其他類圖表等6 種類型。圖表蘊(yùn)含的豐富信息,主要通過(guò)圖表結(jié)構(gòu)形式表現(xiàn)出來(lái),不同的結(jié)構(gòu)中包含的文字、數(shù)字內(nèi)容,能夠解譯出不同的信息內(nèi)容。
表1 圖表結(jié)構(gòu)(元素)解析
知識(shí)標(biāo)簽的內(nèi)容主要通過(guò)圖表中的文字信息體現(xiàn),不同位置的文字信息對(duì)應(yīng)知識(shí)標(biāo)簽的價(jià)值含量也不相同。泛在圖表的知識(shí)抽取是在圖表結(jié)構(gòu)解析的基礎(chǔ)上,通過(guò)自動(dòng)化的方式提取圖表中的文字信息,并自動(dòng)判別其對(duì)應(yīng)的圖表結(jié)構(gòu),判斷信息的價(jià)值含量?;舅悸肥鞘紫葘D表中的所有文本信息識(shí)別出來(lái)并記錄其對(duì)應(yīng)的位置信息,然后根據(jù)統(tǒng)計(jì)規(guī)則或者機(jī)器學(xué)習(xí)的方式進(jìn)行結(jié)構(gòu)識(shí)別,提取對(duì)應(yīng)的底層特征信息,并進(jìn)行文本矢量化,抽取核心關(guān)鍵信息。
文本塊類別判斷是在文本識(shí)別的基礎(chǔ)上,根據(jù)文本塊特征,基于相應(yīng)類型圖表的結(jié)構(gòu)判斷其對(duì)應(yīng)的結(jié)構(gòu)特征。主要有基于機(jī)器學(xué)習(xí)和基于模板匹配2 種方法。
2.2.1 基于模板進(jìn)行類別的快速判斷
基于模板的類別判斷主要是在文字信息識(shí)別和圖表結(jié)構(gòu)解析的基礎(chǔ)上,進(jìn)行文本塊的類別判斷。相較于普通圖像,圖表數(shù)據(jù)的設(shè)計(jì)和生成具有明顯的規(guī)律性,特別是基于常用的軟件工具生成時(shí),提供了固定的模板,可以快速進(jìn)行底層特征的類別判斷。在總結(jié)分析大量圖表數(shù)據(jù)的基礎(chǔ)上,得到了主要圖表數(shù)據(jù)的結(jié)構(gòu)分布模板,表2 為主要圖表類型中圖名和圖例的分布情況統(tǒng)計(jì)。
表2 常用圖表的結(jié)構(gòu)模版
基于表2,結(jié)合文本塊的位置信息,可以快速進(jìn)行文本塊的類別識(shí)別,并進(jìn)行知識(shí)的抽取和利用。
2.2.2 基于機(jī)器學(xué)習(xí)的方法進(jìn)行類別判斷
基于模板進(jìn)行文本塊的類別判斷便捷迅速,針對(duì)特定軟件生成的圖表數(shù)據(jù)準(zhǔn)確率高,但是存在不同類別數(shù)據(jù)之間的模板位置有交叉,面向泛在圖表數(shù)據(jù)的準(zhǔn)確率會(huì)降低等問(wèn)題。根據(jù)文本塊的幾何信息,基于統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)的方法,判斷其對(duì)應(yīng)的圖表結(jié)構(gòu)要素,可以有效解決這一問(wèn)題。主要步驟如下:
1)通過(guò)手工標(biāo)注的表示,建立了特定類別圖表的結(jié)構(gòu)樣本集。因?yàn)榉植继卣鞑町惷黠@,不同類別的圖表建立不同的結(jié)構(gòu)樣本集。
2)將標(biāo)注的樣本轉(zhuǎn)化為特征數(shù)據(jù),并計(jì)算特征值,選取文本塊的起始點(diǎn)位置和長(zhǎng)寬作為特征。記錄圖表數(shù)據(jù)中對(duì)應(yīng)的位置信息、矢量化結(jié)果和對(duì)應(yīng)結(jié)構(gòu)類型。
3)構(gòu)建CNN 神經(jīng)網(wǎng)絡(luò),對(duì)樣本數(shù)據(jù)進(jìn)行訓(xùn)練和測(cè)試,并進(jìn)行新數(shù)據(jù)的結(jié)構(gòu)預(yù)測(cè)。
根據(jù)2 種方法的特點(diǎn),可以發(fā)現(xiàn)基于模板進(jìn)行類別判斷的方法主要適用于規(guī)則圖表,特別適用于特定軟件自動(dòng)生成的圖表數(shù)據(jù),能夠快速準(zhǔn)確地進(jìn)行類別判斷,不同軟件生成的圖表在結(jié)構(gòu)模板上會(huì)有部分不同;基于機(jī)器學(xué)習(xí)的方法進(jìn)行類別判斷適用于各類泛在圖表,具有較強(qiáng)的普適性,但是準(zhǔn)確性和訓(xùn)練模型強(qiáng)相關(guān)。
圖表的知識(shí)標(biāo)簽主要對(duì)應(yīng)時(shí)間、地點(diǎn)、人物、事件、事物、現(xiàn)象、場(chǎng)景等社會(huì)七要素[16],是表示圖表某類關(guān)鍵知識(shí)特征的詞語(yǔ)。知識(shí)標(biāo)簽抽取是結(jié)合文本塊類型,對(duì)文本塊的矢量化結(jié)果進(jìn)行分詞,并判斷其對(duì)應(yīng)的知識(shí)標(biāo)簽屬性,具體過(guò)程如圖2所示。
圖2 知識(shí)標(biāo)簽抽取流程
將矢量化進(jìn)行分詞,并根據(jù)分詞結(jié)果進(jìn)行詞性和特征標(biāo)簽判斷是知識(shí)標(biāo)簽抽取的難點(diǎn)和重點(diǎn),綜合比較目前的分詞工具,選用哈工大LTP分詞工具,可進(jìn)行詞語(yǔ)屬性的識(shí)別和判斷。根據(jù)圖表結(jié)構(gòu)解析結(jié)果,設(shè)定兩級(jí)標(biāo)簽體系:一級(jí)標(biāo)簽對(duì)應(yīng)圖名、圖例兩個(gè)圖表結(jié)構(gòu)中的知識(shí)標(biāo)簽,是圖表的主要知識(shí)標(biāo)簽;二級(jí)標(biāo)簽對(duì)應(yīng)圖表區(qū)和坐標(biāo)軸等其他內(nèi)容,是圖表的次要知識(shí)標(biāo)簽。
利用CRAFT 方法,對(duì)柵格類圖表進(jìn)行文本定位,得到的結(jié)果如圖3所示。
圖3 CRAFT算法的圖表文本定位結(jié)果
采用CRNN 方法進(jìn)行文字識(shí)別,為提高識(shí)別效率,首先將本文塊進(jìn)行二值化,然后再進(jìn)行矢量化,得到的結(jié)果如圖4所示。
圖4 基于CRNN的柵格文本塊矢量化結(jié)果
分析圖3、4 可以發(fā)現(xiàn):利用CRAFT+CRNN 的方法對(duì)柵格類圖表中的文本進(jìn)行定位和識(shí)別,具有較高的準(zhǔn)確度。分別對(duì)100 張柵格類圖表進(jìn)行文本定位和識(shí)別測(cè)試,定位準(zhǔn)確率和識(shí)別準(zhǔn)確率均達(dá)到90%以上的圖表數(shù)量為93張,說(shuō)明了該方法的有效性。
以柱狀圖和餅狀圖為例,通過(guò)手工標(biāo)注,建立了圖表結(jié)構(gòu)樣本集。其中,柱狀圖按照標(biāo)題、X 軸、Y軸、圖例、圖表區(qū)5 類結(jié)構(gòu)進(jìn)行構(gòu)建,訓(xùn)練集包括250個(gè)樣本,測(cè)試集包括30個(gè)樣本;餅狀圖按照標(biāo)題、圖例、圖表區(qū)3類結(jié)構(gòu)進(jìn)行構(gòu)建,訓(xùn)練集包括130個(gè)樣本,測(cè)試集包括30個(gè)樣本。測(cè)試集的30個(gè)樣本中,包含Office、Echart和泛在圖表各10個(gè)。分別利用模板和機(jī)器學(xué)習(xí)方法進(jìn)行測(cè)試,得到結(jié)果如表3所示。
表3 結(jié)構(gòu)類別判斷結(jié)果/%
分析表3 可以發(fā)現(xiàn)針對(duì)常見(jiàn)軟件生成的規(guī)范圖表,基于模板和機(jī)器學(xué)習(xí)方法進(jìn)行圖表結(jié)構(gòu)解析得到的準(zhǔn)確率基本相同,但是基于模板的方法所消耗的時(shí)間和空間資源遠(yuǎn)小于機(jī)器學(xué)習(xí)方法;針對(duì)隨意性更強(qiáng)的泛在圖表,機(jī)器學(xué)習(xí)方法準(zhǔn)確性更高,要明顯優(yōu)于模板方法。在實(shí)際應(yīng)用中可以根據(jù)具體需求選擇不同的判斷方法。
根據(jù)圖2,構(gòu)建圖表的兩級(jí)知識(shí)標(biāo)簽體系,以圖5為例,得到結(jié)果如表4所示。
表4 知識(shí)標(biāo)簽構(gòu)建體系
分析表4,可以發(fā)現(xiàn)圖5中的主要信息均被抽取出來(lái),形成了能夠表達(dá)圖表核心內(nèi)容的兩級(jí)知識(shí)標(biāo)簽體系。
作為泛在信息的一種主要類型,柵格類圖表包含了豐富的時(shí)空信息。本文設(shè)計(jì)并實(shí)現(xiàn)了一種柵格圖表知識(shí)抽取方法,將文本信息作為理解圖表數(shù)據(jù)的主要內(nèi)容,結(jié)合柵格類圖表的特點(diǎn),采用CRAFT和CRNN方法分別進(jìn)行文本定位和內(nèi)容矢量化,解決了柵格圖表中關(guān)鍵信息的矢量化問(wèn)題。通過(guò)對(duì)圖表結(jié)構(gòu)進(jìn)行解析,總結(jié)圖表數(shù)據(jù)的結(jié)構(gòu)特點(diǎn),根據(jù)不同情況選擇模板匹配和機(jī)器學(xué)習(xí)2 種方法能夠進(jìn)行文本塊的類別判斷。利用自然語(yǔ)言處理技術(shù),實(shí)現(xiàn)了知識(shí)的自動(dòng)理解和抽取,建立柵格類圖表的知識(shí)標(biāo)簽,有助于海量數(shù)據(jù)的快速檢索和理解,可以為泛在信息特別是圖像類數(shù)據(jù)的智能解譯提供一種新的思路。