999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

表格單元格分類的端到端不完全監督方法*

2023-05-12 02:25:46郝昕毓周建濤
計算機與數字工程 2023年1期
關鍵詞:分類特征方法

郝昕毓 周建濤 王 昊

(1.內蒙古大學計算機學院 呼和浩特 010021)(2.生態大數據教育部工程研究中心 呼和浩特 010021)

1 引言

隨著大數據時代的來臨,海量數據中蘊含巨大的價值,處理和挖掘海量數據并有效的獲取其潛藏價值成為當下關注的焦點問題之一。同時在互聯網高度發展下,海量數據中有80%以上的非結構化數據。雖然傳統的數據處理方法在處理結構化數據方面較為有效,也能處理大數據的部分特征,但對非結構化數據,因其靈活性和多樣性,結構化數據的方法可能不完全適用,必須進行改造[1]。因此面向非結構化數據的處理方法成為數據處理領域研究的重點與難點之一。

表格作為典型的高價值密度非結構化數據被廣泛運用在內容管理上。根據Cafarella 等的調查[2],互聯網上有大量未被管理的表格數據,這些數據中包含各種領域大量有價值的信息,將其進行識別、提取和集成是一個極有價值的任務。但由于表格主要是為人類用戶的使用而設計,用戶可以自由設計表格結構和內容[3],雖然為數據管理帶來了極大的靈活和便利,但也導致表格總伴隨著大量不同的格式、布局和元數據,很大程度上影響了其機器可讀性和可重用性,導致嚴重的數據孤島問題,使得有效大規模識別、集成和運用表格數據變得困難[4]。因此準確、自動地識別表格是表格數據進一步集成和運用的關鍵步驟。機器學習為自動表格識別提供了新思路,但其步驟多且獨立影響識別結果,只有將獨立的模塊整合為端到端任務,并合理加入人的判斷,才能更好地將識別結果運用在下游任務上。

據此,本文為了將各種結構和展示類型的表格數據識別,提出了一種用于表格單元格分類的端到端不完全監督方法。該方法將表格識別任務建模為單元格分類任務,主要包括以下兩個模塊:

1)表格單元格特征化模塊:該模塊根據基于視覺可見的單元格特征化方案對輸入的表格進行特征提取,以適應各種類型、結構和語言的表格。

2)不完全監督分類模型模塊:該模塊分成三個步驟:(1)使用特征化的單元格作為訓練數據,通過監督模型進行模型訓練,包括訓練前的欠采樣處理和訓練后對未標記數據進行分類。(2)對分類結果通過基于規則的算法進行修正來減輕單元格分類易出錯的缺點。(3)將結果交給人類用戶進行修正,并在修正后將修正的部分加入到模型訓練數據中來提高不同場景下模型的適應性。

同時本文將所提出的端到端不完全監督方法實現為web 工具,用戶通過表格可視化界面來確認和修改分類結果,并通過輸出來得到包含分類結果的表格數據。

綜上,經過實驗和模擬表明,本文提出的方法在兼顧通用性的同時能夠保證一定程度單元格分類的準確率。同時端到端方法和工具在便于用戶修正的同時,還能有效地提取結果,便于結果進一步運用在下游任務上。

2 相關工作

根據Hurst 給出的定義,從表格生成機器可讀結構化數據的方法應包括五個步驟[5],本文研究其中的一個:功能分析,識別表中相同功能的區域或單元格集合。

一些學者在表格結構的假設下進行功能分析。如毛等針對縱向表格實現表格行屬性的識別[6]。Dou等識別和提取“可擴展組”的固定格式[7]。Chen等著重于行標題的識別[8]。但這類基于假設的功能識別具有不能擴展到任意結構表格的不足。一些學者不進行假設,而將其建模為分類任務,文獻[9~10]將表格功能分析建模為塊檢測,將表格區域按照不同功能進行分類。該類方法可以擴展到任意結構,但具有邊界識別困難和距離函數難確定的特點。文獻[11~13]將表格功能識別建模為單元格分類,該類方法同樣可以識別任意結構且無需考慮邊界,但單元格被單獨考慮,出現錯誤的可能會更高。

在表格分類任務中,特征的選取是量化表格類別差異的重點。一些學者人工選取特征[6,11,14~15],另一些學者把特征表示為向量或矩陣[9,12~13]。但這些方案都選擇了大量的強特征,如單元格樣式特征、字體特征和語言特征等,這些特征僅在特定的場景下適用,無法覆蓋各種媒介、語言和展示方式的表格。

從分類模型的角度來看,目前主要使用的方法為無監督方法[9]、監督方法[11~13]和半監督方法[14]。無監督方法實現了自動化但缺乏人的判斷,監督方法消耗大量的人力用于生成高質量標注,同時一旦領域變更就需要重新標注數據和訓練模型。半監督方法節約一定的人力成本并保證了模型的遷移能力,但無法保證結果的完全正確,無法將結果直接運用在下游任務上。

本文為了使模型的通用性更強,便于將結果運用在下游任務上,將表格識別建模為單元格分類任務,并在特征無法通用、單元格分類易出錯、分類結果無法直接運用這三個問題上進行了改進。

3 表格單元格特征化模塊

本節針對特征無法適用任意結構、語言和類型表格的情況,設計了基于視覺可見的特征選取方案來提高分類模型的通用性。同時通過該模塊可以將任意電子表格轉化成相應的特征文件用于模型的訓練和預測。

3.1 表格單元格的定義

本文將表格定義為從左上第一個非空單元格到右下最后一個非空單元格依次選取的一維序列,如式(1)。

其中:ci(i=1,2,3,…,n)表示第i個非空單元格,每一個非空單元格都是一個m元組。

為非空單元格所包含的第j個特征。

3.2 表格單元格的特征

表格有多種表現形式,如電子表格、表格圖片和web 表格等。但并不是每類表格數據都包含大量的附加格式特征,像CSV文件和表格圖片等大多數形式的表格,其附加的特征數量有限或者較難準確的提取出來。在這種情況下,如果通過大量附加特征訓練模型就會導致當數據為無格式或者附加格式較少的時候,單元格的分類會被大概率誤判,同樣的,如果使用較少的附加特征進行訓練,復雜的表格往往分類結果就會比較差。

因此,本文在前人特征選取[11,16]的基礎上設計了與展示方式和表格復雜度無關的單元格特征和鄰域特征。單元格特征篩選了前人研究中與表格展示方式、結構、語言無關的特征。鄰域特征新設計了局部鄰域特征和行列鄰域特征。局部鄰域特征將單元格的鄰域設計成3*3 的包圍盒,獲取這些單元格的數據格式特征。如圖1 所示,C 代表某個單元格,N則是其局部鄰域的選取范圍。

圖1 單元格鄰域特征

行列鄰域特征考慮該單元格較遠的特征,如同行、同列的數據格式特征和內容特征的統計。這樣的鄰域特征同時考慮到周邊和較遠范圍的鄰域特征,使得單元格的鄰域特征更為全面。具體的特征如表1所示。

表1 表格單元格特征

4 不完全監督分類模型模塊

由于表格功能識別被建模為單元格分類任務,單元格在分類過程中被單獨考慮,相比其他的功能識別算法結果更分散且更容易出錯,同時結果也無法直接運用。本節針對這兩個問題提出了不完全監督分類模型模塊。

4.1 單元格分類建模

本文的目標是給定一個表格,用一組確定的標簽對每個非空單元格進行分類。在單元格的類別選擇上,本文針對Koci等提出的模型進行了修改[17]。在Koci等的模型中,對于任意非空單元格共有7 個分類,分別是數據(Data)、表頭(Header:H)、數據派生(Derived)、組表頭(GroupHeader:G)、標題(Ti?tle)、注釋(Note)和其他(Other)。本文在該模型的基礎上對幾個分類進行合并處理。首先,Data 和Derived 合并為Data(D),因為無論是聚合還是數據都是數據的一種。Title 和Note 合并為Metadata(M),它們共同為表格數據識別提供了線索,在結構識別上同屬于附加信息。Other 被忽略,因為對于結構識別來說這些數據相當于是噪聲點。據此,表格單元格的類別可以表示為一個一維序列,如式(2)所示。

其中ri{D,H,G,M},(i=1,2,3,…,n) 是非空單元格ci的類別。

4.2 不完全監督分類模型

不完全監督(incomplete supervision)主要指模型的訓練數據中有些數據有標注有些沒有。主要的方法有主動學習和半監督學習,主動學習是將部分結果交與人工審核,并把審核結果加到已標注數據中再重新訓練模型。半監督學習則是讓模型不依賴外界的交互,自動利用未標記樣本來提高模型的學習能力[18]。但對于表格單元格分類,主動學習可能會導致用戶的標注成本更大,半監督學習則無法保證結果的完全正確,因此這兩種方法都無法很好地將結果直接運用在下游任務上。

據此,本文提出了一個不同于主動學習和半監督學習的不完全監督方法。具體來說,該方法首先通過基于規則的修正算法減輕了單元格分類易出錯且分類結果零散的問題,然后將修正后的分類結果交給人類用戶進行修正,并將修正部分加入到模型的訓練數據中。由于人類修正后的數據準確率相對較高,以此作為模型的訓練數據會比半監督方法更為準確。該方法不僅能在一定程度上提高模型在不同場景下的適應性,還便于用戶將修正后的結果直接用在下游任務如數據集成上。

4.2.1 基于規則的修正算法

在修正之前,首先將所有的單元格先按行索引再按列索引重新進行排列,以還原表格中的空間結構。單元格在此處也被簡化為三元組,其中n為該表格的單元格個數。同時也可以通過將其元組中的特征提取,轉化成二維坐標的形式去表示一個單元格。其公式如式(3)所示:

本文設計的基于空間規則的修正算法如下:

算法1 基于規則的修正算法

輸入包含預測結果的原始表格table

輸出修正預測結果后的表格tableexchange

1.newRange=[]//新建修正結果連續范圍的數組

2.range=getRange(table)//提取表格的連續范圍

3.for i in range{

4.oneLine=judgeOneLine(range[i],range[i+1])

5.if oneLine=True{

6.index=min(range[i],range[i+1])//取最小值下標

7.label=getLabel(range[index],table)//規則修正

8.range[index].label=label

9.isCombine,new=combine(range[i],range[i+1])

10.if iscombine=True{

11.newRange.append(new)}}}

12.tableexchange=updateTable(table,newRange)

算法1~2 行提取每個范圍的開始、結束坐標和分類標簽。算法3~5 行判斷兩個序列是否在同行,只有在同行才進行基于規則的修正。算法6 行取出長度較短的序列,因為較短的序列更有可能出現問題。算法7~8 行根據規則確定是否進行修正,具體算法如下。

首先分別根據該序列所在行列計算出行列各自類別單元格的所占比例,然后將行列比例合并作為該序列在每一類上被選中的概率。接著通過一系列規則對這些概率進行增加或減少。針對數據指定的規則為數據單元格不與表頭、元數據同行;針對組表頭的規則為組表頭不與表頭、元數據同行;組表頭在同行少于數據;組表頭一般在左側。如果違反規則就相應的減少該序列被選中為該類的概率,符合規則就增加選擇該類的概率。最終判斷完成后選擇概率最大的分類作為該序列最終的分類。

算法9~12 行將結果更新到表格中,最終輸出的表格單元格分類數組即為修正算法修正的結果。

由于算法將表格劃分成由單行相同功能分類的單元格組成的序列,因此需要預留出存放每個序列起點、終點坐標的數組,空間復雜度為On。時間復雜度上,最壞的情況下表格的每個單元格都要統計其同行、同列的單元格情況,并對其進行相應的規則判斷,時間復雜度為On2,在最好的情況下每行都有且只有一個序列,只需判斷一次,因此時間復雜度為On。

4.2.2 基于人類用戶的修正方法

基于規則的分類算法得出結果后,方法會把結果提交給用戶進行再修正,同時將用戶修正的部分作為新的訓練數據參與到模型訓練中,來提高模型在不同場景下的適應性。為了便于用戶觀察和修正分類結果,本文實現了一個用于修正結果的web工具。可視化界面如圖2 所示:其中圖片的顏色并不是數據所攜帶的,而是為了讓用戶更直觀地對結果進行判斷而增加的顏色。黃色(第8 行)對應表頭,粉色(第4~6 行)對應元數據,藍色(第10 行)對應組表頭,綠色(12~14 行)對應數據。用戶可以通過該頁面中工具欄的工具對相應選中區域的單元格類型進行修改,通過保存功能可以導出相應的攜帶標注文件的表格數據并把修改的部分增加到訓練數據集中。

圖2 可視化人類用戶修正界面

5 端到端方法和實現的工具

本節針對分類結果不能直接運用的情況,將提出的端到端不完全監督方法實現為工具。端到端在不同的領域下有不同的含義,在本文中,端到端是指將方法的兩個模塊通過串聯的方式整合成一個端到端任務,用戶輸入待預測的電子表格即可通過方法獲得預測后帶標記的電子表格,這樣既便于用戶使用,使其無需關心流程內部的參數調整和模型再訓練過程,也利于結果進一步運用在下游任務。流程如圖3所示。

圖3 端到端工具執行流程

其中粗體部分是本文的主要貢獻點,其余的步驟是為了完成端到端流程所必須的步驟,而下劃線的標記數據則是會持久化到硬盤,每次執行時都會從硬盤讀取該數據作為模型的訓練數據。

6 實驗結果與分析

為了便于表格結構解析,本文選取了一個特殊的表格:電子表格,其是表格數據在計算機中讀取的一般形式,具有明確直接可讀的布局結構和數據信息,各種形式的表格都能通過各種技術轉為電子表格[10]。

6.1 數據集

實驗的數據集采用DECO 數據集[17],該數據集由854 個對單元格的類別完成標注的電子表格組成。本文去除了15 張過于龐大且樣式單一的表格,對其余的表格通過表格特征化模塊進行特征提取,最終得到的標記數據為839張表格,共1115561條標記數據,每個標記數據都是表格中的一個特征化后的單元格。

6.2 基于規則的欠采樣處理

統計發現DECO 數據集中D 類別所占的比重過高,會造成數據類別不平衡而導致模型對D類別具有更高的傾向性,而使得分類效果在其他類別上較差。因此本文通過一個基于規則的半隨機欠采樣進行不平衡數據處理。具體來說,在采樣時將所有D 以外的類別單元格都視為一類,數量記為m,對D 的前m個和后m個進行采樣,中間隨機采樣m個。采樣后類別將大致平衡為m:3m,大大減少了D類單元格的數量,且全局來看不會丟失過多信息。處理后的數據由原先的1115561 條數據縮減到了124007條數據。

6.3 評價指標

本文在評價模型效果時,除了使用常用于分類任務的指標:平衡F 分數(F1-score:F1),還引入了常用在不平衡數據多分類任務上的評價指標,Mac?ro-F1和Micro-F1[19]。

6.4 實驗與分析

本文的實驗環境為4.2GHz CPU,32GB 內存,在Windows 10 操作系統下,使用JDK1.8 和Py?thon3.8.12完成,分類模型采用sklearn的分類模型。

6.4.1 實驗情況和分析

為了驗證提出方法的有效性,本文進行的實驗將一些常見的多分類算法作為基線模型,將本文提出的方法在相應的基線模型進行驗證。本文測試的分類模型,如決策樹(Decision Tree,DT)、隨機森林(Random Forest,RF)、多層感知機(Multilayer Percep?tron,MLP)和K最近鄰(k-Nearest Neighbor,KNN)。

本文在劃分訓練集和測試集時與文獻[13]相同,選擇按文檔進行分割,即將單個表格視為最小的拆分單元,因為按單元格拆分可能導致模型提前學習到數據的特點而造成數據泄露。訓練集和測試集分別為80%和20%,同時僅在訓練集上進行欠采樣來減少初始訓練數據個數,測試集讀取整表來模擬真實情況。實驗時將隨機種子固定為某值(7、15 和39),重復進行三輪實驗并取平均值。最終訓練集和測試集的平均單元格個數分別為101055 和188444。同時將修正算法中各個規則的權重設置為0.1,即符合或者違反規則會相應的增減10%的概率。基線方法(方法后加B)為基線分類器在22個特征下(移除行列鄰域特征),并除去基于規則修正和人工修正的部分。實驗結果如表2 所示,評價指標單位為%。

表2 實驗結果

經過實驗得出,通過本文提出的方法可以在一定程度上提升基分類器的性能,對于H、M 類型的提升效果較為明顯。整體效果最好的模型是RF,提升最明顯的是KNN。但無論是基線分類器還是改進后的方法,其在M 和G上的結果都不理想。導致M 不理想的原因可能是其高自由度導致的。由于本文將表格的標題和注釋進行了合并,雖然減少了類別的數量但也導致M 類的單元格可以出現在表格的任意位置,導致模型無法很好地判斷M的特征。而G 可能是因為其與D、H 的特征區分不明顯而導致分類器難以識別。經統計原始數據,存在G類型的單元格并不在表格左側,而是作為獨立的行,這也是影響分類效果的一個因素。經過對比統計,G 類型的單元格數量過少也是導致分類結果較差的一個因素。

實驗后我們將結果最好的RF與使用相同數據集的Ghasemi-Gol 等[13]和Gonsior[14]等在RF 下的表現進行了對比,對比結果如表3所示。

表3 實驗結果

經過對比發現,本文的方法在M 和D上要略優于對比的模型,H 與相差不大,在G 上則較差,這是因為本文為了提高模型的通用性而沒有使用風格特征和語言特征,但對于G 類型的單元格來說,風格特征和語言特征可能是將其與其他類型單元格區分開的關鍵特征。但本文提出的方法由于不使用風格特征和語言特征,可以在多種表現形式和不同語言的表格上獲得相同的表現,提高了模型的通用性,這是對比的模型所不具備的特點。

6.4.2 修正算法實驗分析

通過分析實驗結果,分類錯誤的情況一般為以下兩種:錯誤的單元格與同行兩側正確的單元格分類:1)不同;2)相同。由于算法將單行內連續的同類別單元格組成序列,再判斷是否存在錯誤分類的單元格,據此該算法可以較好地處理1)的情況。如果錯誤的單元格組成的序列較短,算法對于2)的情況也可以處理。但對于單行為一個序列且其中存在一個或多個錯誤單元格的情況,算法無法將錯誤的單元格與正確的單元格分開,這也是G類型的單元格在修正算法之后仍然較差的可能原因。

但本算法仍然可以覆蓋一般情況下單元格分類錯誤的情況,同時也在一定程度上緩解了單元格分類易出錯而導致錯誤單元格排列較為零散,不利于用戶修正的問題。實驗統計了修正前和修正后每個序列內單元格個數小于2且整行個數大于2的單元格,即零散單元格總數的情況,結果如表4 所示。

表4 修改前后零散單元格個數

經過對比,本文提出的基于規則的修正算法在各個分類器上都使得分類結果的零散單元格個數有不同程度的下降,能在一定程度上緩解單元格分類易出錯和因此導致的錯誤分類較為零散的問題,這有利于人類用戶更好地對結果進行檢查和修正。

6.4.3 實驗結果分析

總體來說,本文的特征選取方法和基于空間的修正算法能在一定程度上提高各分類器在表格單元格分類上的效果,其中Macro-F1 和Micro-F1 兩個指標在RF上取得了最好的結果。對于其中某些表格,其全表的F1 能達到100%,可能是因為對于結構簡單的表格,如第一行為H,后面的行為D,模型很容易判斷出各單元格的類型。

表格數據類別不平衡的情況在修正算法和采樣算法的共同作用下有所緩解,但方法還是有很大的傾向性,M 類型和G 類型的單元格其F1 值還是比較低,可能是當前去除了樣式特征和語言特征的特征選取方案并不能很好地描述出這些單元格的特點。

7 結語

本文針對表格數據研究了一種用于表格單元格分類的端到端不完全監督方法。1)選取了兼容多種不同表示形式表格數據的基于視覺可見的特征,并通過表格特征化模塊對表格數據進行特征提取。2)通過基于規則的修正算法緩解了單元格分類易出錯的問題,讓用戶能更有效地對結果進行修正。再將修改的數據加入模型的訓練集中,以提高模型在后續分類任務上的效果。最后將提出的方法實現為可視化工具,讓用戶直觀進行修改,并即時獲得分類結果,使用戶便捷地將結果用于下游任務。實驗結果表明,本文提出的端到端不完全監督方法在增加了模型通用性的情況下,還能在一定程度上保持一定的分類效果,也在一定程度上增加了分類結果的可用性。

未來的工作我們考慮:1)通過修改分類模型的權重函數,使得少數類的權重更大。2)嘗試引入代價敏感學習對表格單元格進行分類,以改進G類別F1較低的情況。

猜你喜歡
分類特征方法
分類算一算
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
抓住特征巧觀察
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 中文字幕 欧美日韩| 日本黄色不卡视频| 色视频国产| 亚洲大尺码专区影院| 亚洲天堂久久久| 日本不卡在线播放| 男女精品视频| 亚洲综合激情另类专区| 在线免费观看AV| 东京热高清无码精品| 重口调教一区二区视频| 999精品色在线观看| 国产成熟女人性满足视频| 国产高清国内精品福利| 熟妇无码人妻| 91丝袜美腿高跟国产极品老师| 亚洲一区二区在线无码| 亚洲日韩精品无码专区97| 一本二本三本不卡无码| 日韩国产欧美精品在线| 国产福利2021最新在线观看| 就去吻亚洲精品国产欧美| 91欧美在线| 91小视频在线播放| 五月天天天色| www亚洲天堂| 亚洲成人在线网| 欧美日韩第三页| 久久亚洲国产视频| 2018日日摸夜夜添狠狠躁| 波多野结衣国产精品| 亚洲日韩Av中文字幕无码| 久久这里只有精品2| 亚洲欧美成人网| 欧美日本在线播放| 国产在线小视频| 国产精品三级专区| 国产精品永久久久久| 国产精品久线在线观看| 成人国产三级在线播放| 精品久久高清| 蜜桃视频一区二区| 四虎在线观看视频高清无码| 久久91精品牛牛| 久久免费视频6| 久久香蕉欧美精品| 亚洲天堂网在线视频| 色窝窝免费一区二区三区 | 亚洲成人黄色在线观看| 成人第一页| 无码福利视频| 国产精品19p| 久久无码免费束人妻| 国产欧美日韩va另类在线播放 | 成人免费一级片| 九九久久精品免费观看| 热99re99首页精品亚洲五月天| 午夜国产大片免费观看| 久久6免费视频| 成人免费黄色小视频| 欧美日韩国产成人高清视频| 欧美人人干| 亚洲69视频| 日韩欧美中文| 亚洲精品在线91| 波多野结衣第一页| 成人免费视频一区| 人人91人人澡人人妻人人爽| 亚洲经典在线中文字幕| 第一页亚洲| 免费A级毛片无码免费视频| 国产亚洲精品自在久久不卡| 一区二区三区成人| 91在线播放免费不卡无毒| AV色爱天堂网| 国产美女自慰在线观看| 凹凸精品免费精品视频| 亚洲天堂久久久| 国产精品久久久久鬼色| 亚洲三级成人| 激情国产精品一区| 欧美笫一页|