專利名稱:抽取關(guān)系型表格的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體地涉及信息處理和信息抽取領(lǐng)域,更具體地涉及從非結(jié)構(gòu)化文檔中抽取關(guān)系型表格的方法和裝置。
背景技術(shù):
目前,存在大量的電子文檔,例如,互聯(lián)網(wǎng)上的各種描述產(chǎn)品的文章等。對(duì)各種文檔進(jìn)行信息處理、分析、統(tǒng)計(jì)等,正成為業(yè)界研究和開發(fā)的熱點(diǎn)。文檔可以分為結(jié)構(gòu)化文檔和非結(jié)構(gòu)化的文檔。結(jié)構(gòu)化文檔一般是按照某種預(yù)定義的文檔對(duì)象模型構(gòu)造的文檔,其已經(jīng)給文檔定義了框架,使得各部分的作用一目了然,例如通過一些數(shù)據(jù)庫(kù)定義語言或面向?qū)ο蟮木幊陶Z言等構(gòu)建的文檔可以稱為結(jié)構(gòu)化文檔。在本文中,將除了結(jié)構(gòu)化文檔外的各種文檔統(tǒng)稱為非結(jié)構(gòu)化文檔。非結(jié)構(gòu)化文檔可以分為半結(jié)構(gòu)化文檔和無結(jié)構(gòu)文檔。網(wǎng)頁等諸如HTML或XML格式的文檔常被人稱為半結(jié)構(gòu)化文檔或半結(jié)構(gòu)化數(shù)據(jù),從其中的一些標(biāo)簽語言即可以知道所描述對(duì)象的屬性和值。無結(jié)構(gòu)文檔類似于自然語言形式,例如我們常見的后綴為txt的純文本文檔即為一種典型的無結(jié)構(gòu)文檔。此外,word格式和pdf格式的文檔中也不存在便于理解文章所描述的主體和具體屬性的信息,因此也可視為無結(jié)構(gòu)文檔。在非結(jié)構(gòu)化文檔存在海量表格,其中的關(guān)系型表格通常含有豐富的有用信息。所謂關(guān)系型表格是就其對(duì)現(xiàn)實(shí)世界中的事物間關(guān)系的模型而命名,一般是二維表格,其中含有多個(gè)對(duì)象,每個(gè)對(duì)象具有諸多屬性和對(duì)應(yīng)的屬性值。圖1示出了 Web網(wǎng)頁中的一個(gè)關(guān)系型表格的例子?;ヂ?lián)網(wǎng)中有很多含關(guān)系型數(shù)據(jù)的網(wǎng)頁,比如說產(chǎn)品參數(shù)對(duì)比表格網(wǎng)頁。以網(wǎng)頁為例,自動(dòng)從網(wǎng)頁中抽取關(guān)系型表格信息可以用來更好地構(gòu)建此類網(wǎng)頁的索引,有助于搜索。所抽取的海量關(guān)系型表格可以用于科研、工程、統(tǒng)計(jì)、策略制定、市場(chǎng)調(diào)研等,用以提供量化數(shù)據(jù)。已經(jīng)存在一些從非結(jié)構(gòu)化文檔中檢測(cè)表格的技術(shù)。在文獻(xiàn) I, A Machine Learning B ased Approach for Table Detectionon The Web, Proceedings of the Eleventh International World Wide WebConference (WWW2002)中,描述了一種基于監(jiān)督的機(jī)器學(xué)習(xí)方法,在訓(xùn)練數(shù)據(jù)之后,來把每個(gè)給定的表格分類成真實(shí)的表格或者非真實(shí)的表格。在文獻(xiàn)2,Uncovering the Relational Web, Proceedings of the IlthInternational Workshop on Web and Databases (WebDB 2008)中,描述了從大的網(wǎng)頁庫(kù)中過濾關(guān)系表的簡(jiǎn)單的方法,其假設(shè)每個(gè)數(shù)據(jù)元組是表格中的行,還試圖恢復(fù)列的標(biāo)簽信息和類型信息。在文獻(xiàn)3,US7590647(B2)-Method for extracting, interpreting andstandardizing tabular data from unstructured documents 中,描述了一個(gè)系統(tǒng),方法,計(jì)算機(jī)程序,能夠自動(dòng)地從非結(jié)構(gòu)化文檔中識(shí)別,解析,和解釋表格數(shù)據(jù)。該技術(shù)對(duì)于表格解釋,使用標(biāo)準(zhǔn)模板,包含一個(gè)標(biāo)準(zhǔn)化數(shù)據(jù)域的集合;其次,該技術(shù)假設(shè)每個(gè)數(shù)據(jù)元組是表格中的行。
發(fā)明內(nèi)容
鑒于現(xiàn)有技術(shù)中的上述問題,提出了本發(fā)明。根據(jù)本發(fā)明的一個(gè)方面,提供了一種從非結(jié)構(gòu)化文檔中抽取關(guān)系型表格的方法,可以包括:檢測(cè)非結(jié)構(gòu)化文檔中的表格,以獲得表格;以及確定指示表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分的表格布局。所述非結(jié)構(gòu)化文檔可以是網(wǎng)頁,以及可以通過解析網(wǎng)頁并選擇被用來顯示表格數(shù)據(jù)的DOM節(jié)點(diǎn)來得到表格。抽取關(guān)系型表格的方法還可以包括在確定表格布局之前,規(guī)范化所檢測(cè)的表格的內(nèi)容。規(guī)范化所檢測(cè)的表格的內(nèi)容可以包括:對(duì)于表格的每個(gè)表格單元格計(jì)算一段文本,此文本可以為空。對(duì)于表格的每個(gè)表格單元格計(jì)算一段文本可以包括:對(duì)于每個(gè)無文本節(jié)點(diǎn)但含圖像節(jié)點(diǎn)的單元格,基于圖像節(jié)點(diǎn)的特征確定一段文本。該抽取關(guān)系型表格的方法還可以包括:在確定表格布局之前,過濾表格中的內(nèi)容,以去除信息含量低的數(shù)據(jù)。過濾表格中的內(nèi)容可以包括以下操作中的至少一種:計(jì)算表示行的信息含量的行信息量分?jǐn)?shù),并去除行信息量分?jǐn)?shù)低的行;計(jì)算表示列的信息含量的列信息量分?jǐn)?shù),并去除列信息量分?jǐn)?shù)低的列;計(jì)算表示整個(gè)表格的信息含量的表格信息量分?jǐn)?shù),并且如果整個(gè)表格的信息量分?jǐn)?shù)低于預(yù)定閾值,則丟棄該表格。確定表格布局可以包括:確定表征表格中候選對(duì)象標(biāo)識(shí)符部分、候選屬性名部分和候選屬性值部分的布局的各種候選表格布局;計(jì)算各種候選表格布局的一致性分?jǐn)?shù);基于所計(jì)算的各種候選表格布局的一致性分?jǐn)?shù),確定表格布局,從而確定了表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分。可以至少基于下列要素中的一個(gè)或幾個(gè)計(jì)算各種候選表格布局的一致性分?jǐn)?shù):1)對(duì)象標(biāo)識(shí)符是否唯一 ;2)屬性名是否唯一 ;3)各行之間的相似度分?jǐn)?shù)和各列之間的相似度分?jǐn)?shù);4)每行的各個(gè)單元格間數(shù)據(jù)的類型一致性,以及每列的各個(gè)單元格間數(shù)據(jù)的類型一致性。根據(jù)本發(fā)明實(shí)施例的一種從非結(jié)構(gòu)化文檔抽取關(guān)系型表格的裝置,可以包括:表格檢測(cè)部分,檢測(cè)非結(jié)構(gòu)化文檔中的表格,以獲得表格;以及表格布局確定部分,確定指明表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分的表格布局。根據(jù)本發(fā)明實(shí)施例的抽取關(guān)系型表格的方法和裝置,并不預(yù)先假定每個(gè)數(shù)據(jù)元組是表格中的行,而是可以自動(dòng)確定表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分的表格布局。此外,根據(jù)本發(fā)明實(shí)施例的抽取關(guān)系型表格的方法和裝置,通過過濾表格數(shù)據(jù),從而去除噪聲信息,提高抽取表格數(shù)據(jù)的速率和準(zhǔn)確性。
此外,根據(jù)本發(fā)明實(shí)施例的抽取關(guān)系型表格的方法和裝置,通過規(guī)范化表格數(shù)據(jù),可以從表格的圖像中計(jì)算文本,從而抽取圖像中的有用信息。根據(jù)本發(fā)明實(shí)施例的一種從非結(jié)構(gòu)化文檔抽取關(guān)系型表格的方法,可以包括:檢測(cè)非結(jié)構(gòu)化文檔中的表格,以獲得表格;規(guī)范化表格數(shù)據(jù);過濾表格數(shù)據(jù);以及確定指示表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分的表格布局。根據(jù)本發(fā)明實(shí)施例的一種從非結(jié)構(gòu)化文檔抽取關(guān)系型表格的方法,該確定指示表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分的表格布局可以包括:計(jì)算各行是對(duì)象標(biāo)識(shí)符區(qū)域的可能性分?jǐn)?shù)以及為屬性名區(qū)域的可能性分?jǐn)?shù);選擇可能性分?jǐn)?shù)最高的行,并相應(yīng)地確定該行是對(duì)象標(biāo)識(shí)符區(qū)域或?qū)傩悦麉^(qū)域;基于行中對(duì)象標(biāo)識(shí)符區(qū)域或?qū)傩悦麉^(qū)域的確定,計(jì)算各列為屬性名區(qū)域或?qū)ο髽?biāo)識(shí)符區(qū)域的可能性分?jǐn)?shù);選擇可能性分?jǐn)?shù)最高的列作為屬性名區(qū)域或?qū)ο髽?biāo)識(shí)符區(qū)域;以及輸出對(duì)象標(biāo)識(shí)符區(qū)域、屬性名區(qū)域、屬性值區(qū)域信息。根據(jù)該從非結(jié)構(gòu)化文檔抽取關(guān)系型表格的方法,可以一次性確定表格方向和對(duì)象標(biāo)識(shí)符區(qū)域或?qū)傩悦麉^(qū)域,可以迅速、準(zhǔn)確地確定表格布局。
圖1示出了 Web網(wǎng)頁中的一個(gè)關(guān)系型表格的例子;圖2示出根據(jù)本發(fā)明一個(gè)實(shí)施例的抽取關(guān)系型表格的方法的整體流程圖;圖3示出了一個(gè)示例性表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分的表格布局;圖4不出了一個(gè)表格的各種候選布局的不例。圖5示出了在Web環(huán)境下實(shí)現(xiàn)圖2中步驟S2100的示例性表格獲取方法的流程圖;圖6示出了從DOM樹獲得表格的過程的示意圖;圖7示出了表格數(shù)據(jù)規(guī)范化的過程的例子;圖8示出了規(guī)范化含文本節(jié)點(diǎn)的表格單元格的例子;圖9示出了從圖像的屬性” src”(其表示圖像的來源)來確定圖像節(jié)點(diǎn)的含義的例子;圖10示出了結(jié)合圖像節(jié)點(diǎn)中的“src”和“alt”特征來從圖像節(jié)點(diǎn)計(jì)算文本的例子;圖11示出了進(jìn)行表格數(shù)據(jù)過濾的示例性方法的流程圖;圖12不意性不出了表格中低信息含量的行和列的例子;圖13示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的確定表格布局的示例性方法的流程圖;圖14示出了行是對(duì)象標(biāo)識(shí)符區(qū)域的表格例子;圖15示出了列是對(duì)象標(biāo)識(shí)符區(qū)域的表格例子;圖16示出了列是對(duì)象標(biāo)識(shí)符區(qū)域情況下的行間相似度和列間相似度的示意;圖17示出根據(jù)本發(fā)明另一實(shí)施例的確定表格布局的示例性方法的流程圖;圖18示出分局本發(fā)明實(shí)施例的從非結(jié)構(gòu)化文檔抽取關(guān)系型表格的裝置的總體功能性框圖19示出了可以實(shí)施本發(fā)明實(shí)施例的網(wǎng)絡(luò)系統(tǒng)環(huán)境示意圖;以及圖20是示出按照本發(fā)明實(shí)施例的從非結(jié)構(gòu)化文檔抽取關(guān)系型表格的系統(tǒng)的總體硬件框圖。
具體實(shí)施例方式為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。將按如下順序進(jìn)行描述:1、關(guān)系型表格抽取的整體過程2、從網(wǎng)頁提取表格的示例性方法3、表格數(shù)據(jù)規(guī)范化4、表格數(shù)據(jù)過濾5、確定表格布局的詳細(xì)操作5.1確定表格布局的一個(gè)不例性方法5.2確定表格布局的另一不例性方法6、系統(tǒng)硬件配置6.1從非結(jié)構(gòu)化文檔抽取關(guān)系型表格的功能性裝置6.2網(wǎng)絡(luò)系統(tǒng)環(huán)境6.3從非結(jié)構(gòu)化文檔抽取關(guān)系型表格的硬件系統(tǒng)7、總結(jié)〈1、關(guān)系型表格抽取的整體過程〉圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的抽取關(guān)系型表格的方法的整體流程圖。在步驟S2100中,檢測(cè)非結(jié)構(gòu)化文檔中的表格,以獲得表格。具體地,在非結(jié)構(gòu)化文檔是網(wǎng)頁的情況下,可以通過解析網(wǎng)頁生成文檔對(duì)象模型DOM樹、并選擇被用來顯示表格數(shù)據(jù)的DOM節(jié)點(diǎn)來得到表格。在此過程中,可能涉及到“假表格”的識(shí)別和過濾。在HTML中,〈TABLE〉標(biāo)簽經(jīng)常用來呈現(xiàn)視覺信息,例如商業(yè)站點(diǎn)廣告、導(dǎo)航欄或者其他站點(diǎn)的鏈接等等,不是為了顯示關(guān)系型數(shù)據(jù),而是例如為了讓頁面美觀、易讀。另外,為了便于后續(xù)處理,可以進(jìn)行數(shù)據(jù)規(guī)范化處理,例如對(duì)圖像節(jié)點(diǎn)進(jìn)行處理,將其轉(zhuǎn)換為文本等。后面,將參考圖5對(duì)從網(wǎng)頁中檢測(cè)表格的示例性方法進(jìn)行詳細(xì)描述。在例如非結(jié)構(gòu)化文檔是pdf文檔的情況下,在PDF文檔的格式說明書中,并沒有表格的概念和相應(yīng)的部件,表格是由線段和例如文字組成??梢越馕霾⒔DF文檔對(duì)應(yīng)的樹狀結(jié)構(gòu),進(jìn)而解析可移植電子文檔的內(nèi)容以獲取和表格相關(guān)的命令、線條提取單元,用于通過處理這些命令來提取線條和線條位置,用于分析線條的位置關(guān)系來提取表格和表格中的內(nèi)容。另外,前文介紹的文獻(xiàn)3中的檢測(cè)表格的方法以及任何可以獲得非結(jié)構(gòu)化文檔中的表格的方法均可以用于本發(fā)明。在步驟S2200中,確定指示表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分的表格布局。對(duì)于二維關(guān)系型表格,一般地,一個(gè)完整的表格由三塊區(qū)域組成:對(duì)象標(biāo)識(shí)符部分,屬性名部分和屬性值部分。這是對(duì)真實(shí)世界中事物間關(guān)系組織的一種模擬,在真實(shí)世界中,一個(gè)對(duì)象也有一個(gè)通常意義上的獨(dú)特的標(biāo)識(shí)符(名字),我們將之稱為對(duì)象標(biāo)識(shí)符;屬性名表示這個(gè)對(duì)象的一些特征和屬性,也就是說,它們是這個(gè)表的構(gòu)架;剩下的部分,值,是每個(gè)屬性的具體值內(nèi)容。在一個(gè)二維關(guān)系型表格中,有多行或者多列,而且對(duì)象標(biāo)識(shí)符行(或列)和屬性名列(或行)之間的關(guān)系是正交的。我們將這種是對(duì)象標(biāo)識(shí)符或?qū)傩悦男?或列)稱為標(biāo)識(shí)符行(或列)。圖3示出了一個(gè)示例性表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分的表格布局或者說表格結(jié)構(gòu)。在該表格中,最左列是屬性名區(qū)域,第二行是對(duì)象標(biāo)識(shí)符區(qū)域,這兩者之間的右下區(qū)域是屬性值區(qū)域。而且,在圖3所示的表格例子中,除了作為屬性名區(qū)域的列外的其它每列構(gòu)成一條記錄或所謂的數(shù)據(jù)元組。在本文中,將這種每列構(gòu)成一條記錄或所謂的數(shù)據(jù)元組的表格稱為列方向表格或者縱向表格,而將每行構(gòu)成一條記錄或所謂的數(shù)據(jù)元組的表格稱為行方向表格或者橫向表格。在現(xiàn)有技術(shù)中,一般默認(rèn)為表格是橫向表格。但是,實(shí)際上,如圖3所不,表格可以是列向表格。也就是說,對(duì)象標(biāo)識(shí)符區(qū)域可以為行,也可以為列。當(dāng)然,對(duì)應(yīng)地,也就是說,屬性名區(qū)域可以為列,也可以為行。下文中,將一個(gè)表格中對(duì)象標(biāo)識(shí)符部分,屬性名部分和屬性值部分的定位稱為表格布局。而對(duì)象標(biāo)識(shí)符部分,屬性名部分和屬性值部分的定位的各種可能組合稱為表格候選布局,圖4不出了一個(gè)表格的各種候選布局的不例。關(guān)于確定表格布局,可以存在各種實(shí)現(xiàn)方法。一種實(shí)現(xiàn)方法是,首先,確定表格的方向,即是橫向表格還是列向表格,例如這可以根據(jù)行間相似度和列間相似度來加以判斷;然后,基于所確定的表格方向,確定對(duì)象標(biāo)識(shí)符和屬性名區(qū)域,例如,如果確定表格是橫向表格,則相當(dāng)于已經(jīng)確定了對(duì)象標(biāo)識(shí)符區(qū)域?yàn)榱校瑢傩悦麉^(qū)域?yàn)樾?,因此接下來需要做的是,確定哪一列是對(duì)象標(biāo)識(shí)符區(qū)域,哪一行是屬性名區(qū)域,而這可能通過計(jì)算各列作為對(duì)象標(biāo)識(shí)符區(qū)域的可能性分?jǐn)?shù),和各行作為屬性名區(qū)域的可能性分?jǐn)?shù)來進(jìn)行判定。替代地,另一種實(shí)現(xiàn)方法是,首先從各行中確定可能的標(biāo)識(shí)符行作為候選標(biāo)識(shí)符行,從各列中確定可能的標(biāo)識(shí)符列作為候選標(biāo)識(shí)符列;然后,基于候選標(biāo)識(shí)符行和候選標(biāo)識(shí)符列的各種組合得到候選表格布局,計(jì)算候選表格布局的似然性作為可能性分?jǐn)?shù),基于各個(gè)候選表格布局的可能性分?jǐn)?shù)確定表格布局并確定表格方向,從而確定標(biāo)識(shí)符行和標(biāo)識(shí)符列哪個(gè)為對(duì)象標(biāo)識(shí)符部分,哪個(gè)為屬性名部分。下面將參考圖13描述確定表格布局的示例性方法。替代地,再一種實(shí)現(xiàn)方法是,直接計(jì)算各行是對(duì)象標(biāo)識(shí)符區(qū)域的可能性分?jǐn)?shù)以及是屬性名區(qū)域的可能性分?jǐn)?shù),選擇最高可能性分?jǐn)?shù),根據(jù)該最高可能性分?jǐn)?shù)是對(duì)象標(biāo)識(shí)符區(qū)域的可能性分?jǐn)?shù)還是屬性名區(qū)域的可能性分?jǐn)?shù),確定具有該最高可能性分?jǐn)?shù)最高的行是對(duì)象標(biāo)識(shí)符區(qū)域還是屬性名區(qū)域;進(jìn)而根據(jù)對(duì)象標(biāo)識(shí)符區(qū)域和屬性名區(qū)域的正交性,來計(jì)算各列為屬性名區(qū)域或?qū)ο髽?biāo)識(shí)符區(qū)域的可能性分?jǐn)?shù),基于該可能性分?jǐn)?shù)來確定屬性名區(qū)域或?qū)ο髽?biāo)識(shí)符區(qū)域。在確定了對(duì)象標(biāo)識(shí)符部分、屬性名部分之后,表格中的其余部分就是屬性值部分。
〈2從網(wǎng)頁提取表格的示例性方法〉下面參考圖5詳細(xì)描述在Web環(huán)境下實(shí)現(xiàn)圖2中步驟S2100的示例性表格獲取方法。在非結(jié)構(gòu)化文檔是網(wǎng)頁的情況下,可以通過解析網(wǎng)頁并選擇被用來顯示表格數(shù)據(jù)的DOM節(jié)點(diǎn)來得到表格。具體地,在步驟S2110中,解析網(wǎng)頁,構(gòu)造DOM樹。D0M,即文檔對(duì)象模型(Document Object Model),是一個(gè)來自W3C的成熟標(biāo)準(zhǔn)。DOM是一種在瀏覽器內(nèi)編程的模型,同時(shí)也是XML的主要接口,DOM與語言和平臺(tái)無關(guān),它是基于樹的API,它把所有的數(shù)據(jù)以父子的節(jié)點(diǎn)層次結(jié)構(gòu)裝入內(nèi)存構(gòu)成一棵樹,這些節(jié)點(diǎn)的類型可以是元素、文本、屬性、注釋或其它。它允許開發(fā)者讀取、創(chuàng)建、刪除和編輯XML數(shù)據(jù)。DOM的一切都是節(jié)點(diǎn),實(shí)質(zhì)上是一些節(jié)點(diǎn)的集合。DOM樹結(jié)構(gòu)和二叉樹很相似,元素的子節(jié)點(diǎn)集合就是該元素的分支,但是屬性節(jié)點(diǎn)不是元素的子節(jié)點(diǎn),它只是描述該元素節(jié)點(diǎn)的一些性質(zhì)而已,屬于元素節(jié)點(diǎn)結(jié)構(gòu)內(nèi)部的一部分。這里,例如可以利用HTML解析器解析網(wǎng)頁,并生成DOM樹。不過,還可以借助于第三方工具,比如CyberNeko HTML解析器來生成DOM樹。本領(lǐng)域技術(shù)人員熟知DOM樹的構(gòu)造過程,這里不再贅述。另一個(gè)方案是基于網(wǎng)頁生成含計(jì)算后式樣信息的DOM樹。計(jì)算后式樣,是指原始網(wǎng)頁不能簡(jiǎn)單的依賴HTML就完成所有的解析工作,還可以結(jié)合css、javascrpt等其它信息,計(jì)算并渲染后得到更精確的網(wǎng)頁。首先,從互聯(lián)網(wǎng)上下載網(wǎng)頁,網(wǎng)頁包含:HTML文件,附帶的CSS文件,Javascript文件,圖像文件等等。給定這些網(wǎng)頁文件,網(wǎng)絡(luò)瀏覽器構(gòu)造DOM樹。工業(yè)界有一些主流的網(wǎng)絡(luò)瀏覽器,比如Mozilla Firefox, Windows InternetExplorer, Google Chrome或者Apple Safari。網(wǎng)絡(luò)瀏覽器引擎通過分析語法結(jié)構(gòu)來解析HTML代碼,構(gòu)造含計(jì)算后式樣信息的DOM樹,執(zhí)行一些動(dòng)態(tài)內(nèi)容(比如Javascript代碼),然后在瀏覽器窗口里渲染網(wǎng)頁。然后用戶可以在計(jì)算機(jī)屏幕上瀏覽網(wǎng)頁。同樣地,所構(gòu)造的DOM樹和計(jì)算后的式樣信息可以通過程序接口被其他程序得到。例如Mozilla提供的XULRunner 是一個(gè)接 口。在構(gòu)造完DOM樹后,在步驟S2120中,獲取具有〈TABLE〉標(biāo)簽的DOM節(jié)點(diǎn),得到HTML表格。具體地,選擇所有HTML標(biāo)簽名為〈TABLE〉的DOM節(jié)點(diǎn)。對(duì)于每個(gè)選擇的DOM節(jié)點(diǎn),解析以此DOM節(jié)點(diǎn)為根的DOM子樹,并且構(gòu)造HTML表格。首先,我們可以根據(jù)HTML語法(如,HTML標(biāo)簽“tr”與“td”之間的關(guān)系)抽取數(shù)行記錄,它們屬于一表格,將該表格稱為HTML表格,如圖6(b)所示。在步驟S2130中,將HTML表格轉(zhuǎn)換為單元格矩陣,由此得到表格。具體地,可以根據(jù)HTML語法中“span”屬性,展開表格單元格,從而HTML表格被轉(zhuǎn)換成一個(gè)矩陣,每個(gè)矩陣的兀素代表一個(gè)表格單兀格。圖6示出了從DOM樹獲得表格的過程的示意圖。其中,圖6(a)表示一顆DOM樹,其根節(jié)點(diǎn)的標(biāo)簽名為〈TABLE〉。圖6(b)示意性示出了從圖6(a)的DOM樹抽取記錄后得到的HTML表格,圖6 (c)示意性地示出了單元格矩陣;圖6(d)示意性地示出了將各個(gè)單元格填充值后的表格。對(duì)如此獲取的表格,還可以根據(jù)需要進(jìn)行一些后續(xù)處理,例如去噪,去除冗余行等,數(shù)據(jù)類型轉(zhuǎn)換等。還可以進(jìn)行表格數(shù)據(jù)規(guī)范化和表格數(shù)據(jù)過濾等。下面將參考圖7-10對(duì)表格數(shù)據(jù)規(guī)范化進(jìn)行詳細(xì)描述,以及參考圖11-12對(duì)表格數(shù)據(jù)過濾進(jìn)行詳細(xì)描述。<3表格數(shù)據(jù)規(guī)范化>如此獲取的表格可能含有各種格式的信息,為此,可選地,為了便于后續(xù)的諸如行、列或表格的信息量分?jǐn)?shù)的計(jì)算、行內(nèi)相似度、行間相似度等的計(jì)算,可以對(duì)表格數(shù)據(jù)進(jìn)行規(guī)范化。圖7示出了表格數(shù)據(jù)規(guī)范化的過程的例子。利用該示例性方法,可以將所有單元格中的內(nèi)容規(guī)范化為文本。對(duì)于原始表格中的每個(gè)表格單元格,計(jì)算一段文本。這段文本可能是空的。在本文中,圖像表格單元格的意思是無文本節(jié)點(diǎn)但有一個(gè)圖像節(jié)點(diǎn)的表格單元格?;趫D像節(jié)點(diǎn)的特征,每個(gè)圖像表格單元格會(huì)被轉(zhuǎn)化成一段文本。如圖7所示,在步驟S3100中,從表格中選擇一個(gè)表格單元格,用于后續(xù)規(guī)范化處理。在步驟S3200中,規(guī)范化含文本節(jié)點(diǎn)的表格單元格的文本。例如,在web文檔的情況下,可以如下規(guī)范化含文本節(jié)點(diǎn)的一個(gè)表格單元格的文本:a)得到該表格單元格所代表的DOM節(jié)點(diǎn)下的所有文本節(jié)點(diǎn);b)連接這些文本,此步驟即合并在一個(gè)單元中的數(shù)段文本,一個(gè)單元可以根據(jù)特定的HTML標(biāo)簽(如“span”,“br”等)來判斷,合并的順序可以是按文本的自然順序。c)如果此文本太長(zhǎng),截?cái)啻宋谋?。這是因?yàn)槟繕?biāo)表格單元的文本值,一般不會(huì)太長(zhǎng),通過截?cái)嗵L(zhǎng)的文本,使之更規(guī)范一些,可以通過文本長(zhǎng)度和預(yù)定長(zhǎng)度閾值的比較來判斷文本是否過長(zhǎng)。預(yù)定長(zhǎng)度閾值可以根據(jù)經(jīng)驗(yàn)值設(shè)置或者通過學(xué)習(xí)算法學(xué)習(xí)得到。此外,可以記錄原始長(zhǎng)度以供后續(xù)計(jì)算信息含量之用。圖8示出了規(guī)范化含文本節(jié)點(diǎn)的表格單元格的例子。可見,該單元格在瀏覽器上渲染后呈現(xiàn)為文本“35mm Full-frame/Nikon FX”,其對(duì)應(yīng)的html源代碼為
權(quán)利要求
1.一種從非結(jié)構(gòu)化文檔中抽取關(guān)系型表格的方法,包括: 檢測(cè)非結(jié)構(gòu)化文檔中的表格,以獲得表格;以及 確定指示表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分的表格布局。
2.根據(jù)權(quán)利要求1的抽取關(guān)系型表格的方法,其中所述非結(jié)構(gòu)化文檔是網(wǎng)頁,以及通過解析網(wǎng)頁并選擇被用來顯示表格數(shù)據(jù)的DOM節(jié)點(diǎn)來得到表格。
3.根據(jù)權(quán)利要求1或2的抽取關(guān)系型表格的方法,還包括: 在確定表格布局之前,規(guī)范化所檢測(cè)的表格的內(nèi)容。
4.根據(jù)權(quán)利要求3的抽取關(guān)系型表格的方法,其中規(guī)范化所檢測(cè)的表格的內(nèi)容包括: 對(duì)于表格的每個(gè)表格單元格計(jì)算一段文本,此文本可以為空。
5.根據(jù)權(quán)利要求4的抽取關(guān)系型表格的方法,所述對(duì)于表格的每個(gè)表格單兀格計(jì)算一段文本包括: 對(duì)于每個(gè)無文本節(jié)點(diǎn)但含圖像節(jié)點(diǎn)的單元格,基于圖像節(jié)點(diǎn)的特征確定一段文本。
6.根據(jù)權(quán)利要求1或2的抽取關(guān)系型表格的方法,還包括: 在確定表格布局之前,過濾表格中的內(nèi)容,以去除信息含量低的數(shù)據(jù)。
7.根據(jù)權(quán)利要求6的抽取關(guān)系型表格的方法,所述過濾表格中的內(nèi)容包括以下操作中的至少一種: 計(jì)算表示行的信息含量的行信息量分?jǐn)?shù),并去除行信息量分?jǐn)?shù)低的行; 計(jì)算表示列的信息含量的列信息量分?jǐn)?shù),并去除列信息量分?jǐn)?shù)低的列; 計(jì)算表示整個(gè)表格的信息含量的表格信息量分?jǐn)?shù),并且如果整個(gè)表格的信息量分?jǐn)?shù)低于預(yù)定閾值,則丟棄該表格。
8.根據(jù)權(quán)利要求1或2的抽取關(guān)系型表格的方法,所述確定表格布局包括: 確定表征表格中候選對(duì)象標(biāo)識(shí)符部分、候選屬性名部分和候選屬性值部分的布局的各種候選表格布局; 計(jì)算各種候選表格布局的一致性分?jǐn)?shù); 基于所計(jì)算的各種候選表格布局的一致性分?jǐn)?shù),確定表格布局,從而確定了表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分。
9.根據(jù)權(quán)利要求8的抽取關(guān)系型表格的方法,至少基于下列要素中的一個(gè)或幾個(gè)計(jì)算各種候選表格布局的一致性分?jǐn)?shù): 1)對(duì)象標(biāo)識(shí)符是否唯一; 2)屬性名是否唯一; 3)各行之間的相似度分?jǐn)?shù)和各列之間的相似度分?jǐn)?shù); 4)每行的各個(gè)單元格間數(shù)據(jù)的類型一致性,以及每列的各個(gè)單元格間數(shù)據(jù)的類型一致性。
10.一種從非結(jié)構(gòu)化文檔抽取關(guān)系型表格的裝置,包括: 表格檢測(cè)部分,檢測(cè)非結(jié)構(gòu)化文檔中的表格,以獲得表格;以及 表格布局確定部分,確定指明表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分的表格布局。
全文摘要
提供了一種從非結(jié)構(gòu)化文檔抽取關(guān)系型表格的方法和裝置。該方法包括檢測(cè)非結(jié)構(gòu)化文檔中的表格,以獲得表格;以及確定指示表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分的表格布局。根據(jù)本發(fā)明實(shí)施例的抽取關(guān)系型表格的方法和裝置,并不預(yù)先假定每個(gè)數(shù)據(jù)元組是表格中的行,而是可以自動(dòng)確定表格中的對(duì)象標(biāo)識(shí)符部分、屬性名部分和屬性值部分的表格布局。
文檔編號(hào)G06F17/30GK103198069SQ201210003480
公開日2013年7月10日 申請(qǐng)日期2012年1月6日 優(yōu)先權(quán)日2012年1月6日
發(fā)明者孫軍, 謝宣松, 姜珊珊, 鄭繼川 申請(qǐng)人:株式會(huì)社理光