中,主題 列選擇模塊203可以選擇一個(gè)或多個(gè)列作為主題列。例如,基于列分?jǐn)?shù)和/或概念分?jǐn)?shù),主題 列選擇模塊203可以將列分類成主題列或非主題列。
[0069]圖3示出用于標(biāo)識(shí)表格主題列的一示例方法300的流程圖。方法300將參考計(jì)算機(jī) 架構(gòu)200的組件和數(shù)據(jù)來描述。
[0070] 方法300包括從表格中選擇指定數(shù)目的列作為候選主題列候選,每個(gè)主題列候選 是表格的主題列的一個(gè)候選,每個(gè)主題列候選包括多個(gè)值(301)。例如,候選列選擇模塊201 可以訪問表格211(例如web表格)。如所示,表格211包括列221,222,223,224,225等。每個(gè)列 包括多個(gè)值。列221包括值221六、2218、221(:、2210等。列222包括值2224、2228、222(:、2220等。 列 223 包括值223六、2238、223(:、2230等。列224包括值2244、2248、224(:、2240等。列225包括值 225A、225B、225C、225D#。
[0071] 候選列選擇模塊201可以選擇列221和223作為候選主題列。例如,列221和223可以 在表格211的最左邊的N個(gè)非數(shù)字列內(nèi),而列221和223中的值可以也滿足差異性閾值。候選 列選擇模塊201可以將列221和223發(fā)送給分?jǐn)?shù)計(jì)算模塊202。另一方面,列222可以是數(shù)字列 和/或在列222中的值可能不是足以區(qū)分的。這樣,列222不被考慮為候選主題列。
[0072]分?jǐn)?shù)計(jì)算模塊202可以從候選列選擇模塊201接收列221和223。
[0073]方法300包括,對(duì)于每個(gè)主題列候選,從多個(gè)值中標(biāo)識(shí)與跨多個(gè)其它表格的一個(gè)或 多個(gè)列名成對(duì)的任意值的出現(xiàn)(302)。例如,對(duì)于列221,分?jǐn)?shù)計(jì)算模塊202可以標(biāo)識(shí)在表格 集212中的任意一個(gè)表格中的與列名成對(duì)的值22以、2218、221(:、2210等的任何出現(xiàn)。類似 地,對(duì)于列223,分?jǐn)?shù)計(jì)算模塊202可以標(biāo)識(shí)在表格集212中的任意一個(gè)表格中的與列名成對(duì) 的值223六、2238、223(:、2230等的任何出現(xiàn)。在一個(gè)方面中,表格集212包含多個(gè)關(guān)系型《613表 格。
[0074]方法300包括,例如,對(duì)于每個(gè)主題列候選,基于所標(biāo)識(shí)的出現(xiàn)計(jì)算主題候選列的 分?jǐn)?shù),所計(jì)算的分?jǐn)?shù)指示候選列是主題列的可能性(303)。例如,分?jǐn)?shù)計(jì)算模塊202可以計(jì)算 列221的分?jǐn)?shù)231,并計(jì)算列223的分?jǐn)?shù)233。
[0075]在一些方面中,要么替代地和/或組合地,分?jǐn)?shù)計(jì)算模塊202在分別計(jì)算分?jǐn)?shù)231和 233時(shí)考慮列221和223中的值的出現(xiàn)與在知識(shí)庫214中的相同概念/類型內(nèi)的實(shí)體。
[0076]分?jǐn)?shù)計(jì)算模塊202可以將列221/分?jǐn)?shù)231和列223/分?jǐn)?shù)233發(fā)送給主題列選擇模塊 203。主題列選擇模塊203可以從分?jǐn)?shù)計(jì)算模塊202接收列221/分?jǐn)?shù)231和列223/分?jǐn)?shù)233。 [0077]方法300包括根據(jù)候選分?jǐn)?shù)選擇至少一個(gè)主題列候選作為表格的主題列(304)。例 如,主題列選擇模塊203可以根據(jù)分?jǐn)?shù)231和233將列223分類為主題列。將列作為主題列的 選擇可以被發(fā)送給一個(gè)或多個(gè)表格注釋模塊203、特征計(jì)算模塊104以及索引構(gòu)建模塊106 中的一個(gè)或多個(gè)。
[0078] 在一些實(shí)現(xiàn)中,標(biāo)識(shí)了多個(gè)主題列。例如,表格可以包括多種指向表格的主題的方 式,例如諸如,以不同的語言,使用縮寫等。主題列也可能分隔在多個(gè)列之間,例如諸如名 (first name)和姓(last name)。
[0079] 對(duì)于主題列檢測(cè),可以利用在web表格的語料庫中的列名對(duì)的共同出現(xiàn)。如果候選 主題列的列名對(duì)與以某種規(guī)律出現(xiàn),則它是主題列和屬于該主題的屬性的可能性增加???以類似地考慮實(shí)際單元格值。
[0080] 這樣,標(biāo)識(shí)主題列是有用的,因?yàn)榭梢噪S后確定其它列是主題列的屬性。用戶可以 搜索特定屬性。當(dāng)用戶具有他們自己的表格時(shí),主題列檢測(cè)可以針對(duì)數(shù)據(jù)查找數(shù)據(jù)搜索來 執(zhí)行。例如,用戶可以在與特定主題相關(guān)的電子表格上工作。用戶可以輸入"加入人口"來搜 索覆蓋特定主題局域并具有人口的表格。
[0081] 使用表格的列標(biāo)題檢測(cè)
[0082] 圖4示出便利于檢測(cè)表格的列標(biāo)題的示例的計(jì)算機(jī)體系結(jié)構(gòu)。參考圖4,計(jì)算機(jī)體 系結(jié)構(gòu)400包括候選列名構(gòu)建模塊401、頻率計(jì)算模塊402以及列標(biāo)題檢測(cè)模塊403。候選列 名構(gòu)建模塊401、頻率計(jì)算模塊402以及列標(biāo)題檢測(cè)模塊403中的每個(gè)都可在網(wǎng)絡(luò)上彼此相 連(或?yàn)榫W(wǎng)絡(luò)的一部分),所述網(wǎng)絡(luò)例如是諸如局域網(wǎng)("LAN")、廣域網(wǎng)("WAN")和甚至因特 網(wǎng)。因此,候選列名構(gòu)建模塊401、頻率計(jì)算模塊402以及列標(biāo)題檢測(cè)模塊403以及任何其它 連接的計(jì)算機(jī)系統(tǒng)及其組件都可以創(chuàng)建消息相關(guān)數(shù)據(jù)并通過網(wǎng)絡(luò)交換與消息相關(guān)數(shù)據(jù)(例 如,網(wǎng)際協(xié)議("IP")數(shù)據(jù)報(bào)和利用IP數(shù)據(jù)報(bào)的其它更高層協(xié)議,諸如傳輸控制協(xié)議 ("TCP")、超文本傳輸協(xié)議("HTTP")、簡單郵件傳輸協(xié)議("SMTP")等)。
[0083]候選列名構(gòu)建模塊401、頻率計(jì)算模塊402以及列標(biāo)題檢測(cè)模塊403可以被包括在 表格理解模塊102中。或者,候選列名構(gòu)建模塊401、頻率計(jì)算模塊402以及列標(biāo)題檢測(cè)模塊 403可以在表格理解模塊102之外工作。
[0084]候選列名構(gòu)建模塊401被配置為從表格定義數(shù)據(jù)中構(gòu)建候選列名。表格定義數(shù)據(jù) 可以包括定義表格的數(shù)據(jù)以及從表格導(dǎo)出的數(shù)據(jù)。候選列名構(gòu)建模塊401可以創(chuàng)建候選列 名集,所述集包括在專門的列標(biāo)題中(例如在<th>或<thead>超文本標(biāo)記語言(HTML)標(biāo)簽 內(nèi))出現(xiàn)的列名和/或出現(xiàn)在表格中的第一行的數(shù)據(jù)中的列名。
[0085]頻率計(jì)算模塊402可以被配置為在任意表格中(例如表格集424中)要么作為列名 要么作為單元格值出現(xiàn)的每個(gè)串的出現(xiàn)頻率。頻率計(jì)算模塊402可以計(jì)算包含作為候選列 名的串的表格的數(shù)目(CCNFreq)以及包含該串(但不作為候選列名)的表格的數(shù)目(Non-CCNFreq)〇
[0086]列標(biāo)題檢測(cè)模塊可以被配置為基于表格中的串的CCNFreqs和Non-CCNFreqs來檢 測(cè)表格中的一行作為列標(biāo)題。例如,當(dāng)數(shù)據(jù)的第一行中的串(值)具有比Non-CCNFreq更高的 CCNFreq時(shí),第一行更可能是列標(biāo)題。
[0087]具體而言,例如,¥1,¥2,'",¥11可以表示表格的第一數(shù)據(jù)行中的值。0^^叫(¥ 1)指 示在其中出現(xiàn)Vi的表格的數(shù)目,所述Vi要么作為明確的列標(biāo)題(例如在<th>或<thead>之 內(nèi)),要么作為數(shù)據(jù)的第一行(例如當(dāng)沒有明確定義列標(biāo)題時(shí)hNon-CCNFreq^)指示在其 中出現(xiàn)Vi的表格的數(shù)目,所述有作為明確的列標(biāo)題或作為數(shù)據(jù)的第一行。當(dāng)CCNFreq (VANon-CCNFreqW)的值的V#數(shù)超過指定的閾值(例如5),可以選擇一個(gè)行作為列標(biāo) 題。在一些方面中,列標(biāo)題檢測(cè)模塊403根據(jù)公式457選擇列標(biāo)題。在公式457中,Θ可以依據(jù) 與檢測(cè)列標(biāo)題相關(guān)聯(lián)的嚴(yán)格度來變化。
[0088]列標(biāo)題檢測(cè)模塊403還可以考慮如果表格已經(jīng)被明確定義了列名和/或任意值h, ν2,···,νη是數(shù)字。如果表格已經(jīng)明確定義了列名,則包含了除被明確定義的列名之外的名字 的行較不可能是列標(biāo)題。類似地,如果行含有數(shù)字值,該行較不可能是列標(biāo)題。
[0089] 還可以考慮候選單元格中的個(gè)別的標(biāo)記的頻率。在一方面,頻率計(jì)算模塊402可以 被配置為每個(gè)標(biāo)記在串(例如候選列名)中出現(xiàn)的頻率,所述串在任意表格中(例如在表格 集424中)要么作為列名出現(xiàn),要么作為單元格值出現(xiàn)。例如,可以從串"Avg.Rainfall"中標(biāo) 識(shí)出標(biāo)記"Avg."和"Rainf al Γ??梢苑謩e計(jì)算"Avg. "和"Rainf al Γ的頻率,因?yàn)檫@些標(biāo)記 可以在其它位置中出現(xiàn)。例如,"Rainfall"可以單獨(dú)作為列名出現(xiàn)。"Avg."可以在列名 "Avg. Temperature" 中出現(xiàn)。
[0090] 頻率計(jì)算模塊402還可以在標(biāo)記級(jí)別頻率上實(shí)現(xiàn)適當(dāng)?shù)木奂瘮?shù)。
[0091 ]列標(biāo)題檢測(cè)模塊403可以被配置為基于表格中的標(biāo)記的CCNFreqs和Non-CCNFreqs 來檢測(cè)表格中的一行作為列標(biāo)題。
[0092]圖5示出了用于檢測(cè)表格的列標(biāo)題的示例方法500的流程圖。方法500將參考計(jì)算 機(jī)架構(gòu)400的組件和數(shù)據(jù)來描述。
[0093]方法500包括從定義表格的數(shù)據(jù)中構(gòu)造該表格的候選列名集(501)。例如,候選列 名構(gòu)造模塊401可以接收表格411和表格定義412。表格定義412可以定義表格411的一些屬 性。如所示,表格411包括行421(第一行)、422、423等。每個(gè)行包含可能是列名的值。行421包 括值 421A、421B、421C 等。行422包括值422A、422B、422C 等。行423包括值423A、423B、423C 等。 [0094]從表格定義412中,候選列名構(gòu)造模塊401可以確定沒有為表格411明確定義列名。 這樣,候選列名構(gòu)造模塊401可以從行421(第一行)的值中構(gòu)建候選列名集。例如,候選列名 構(gòu)造模塊401可以構(gòu)造候選列名421A、候選列名421B等。
[0095]候選列名構(gòu)造模塊401可以將候選列名421A、候選列名421B等發(fā)送給頻率計(jì)算模 塊402。頻率計(jì)算模塊402可以從候選列名構(gòu)造模塊401接收候選列名421A、候選列名421B 等。
[0096] 方法500包括對(duì)于在候選列名集中的每個(gè)候選列名:通過從其它表格集中標(biāo)識(shí)一 個(gè)或多個(gè)其它表格來計(jì)算該候選列名的候選列名頻率,所述一個(gè)或多個(gè)其它表格也包含了 該候選列名作為候選列名(502)。例如,頻率模塊402可以計(jì)算候選列名421A的候選頻率 411,可以計(jì)算候選列名421B的候選頻率413等。為了計(jì)算候選頻率411,頻率模塊402可以從 表格集424 (例如web表格集)中標(biāo)識(shí)一個(gè)或多個(gè)表格,該一個(gè)或多個(gè)表格也包含候選列名 421A作為候選列。類似地,為了計(jì)算候選頻率413,頻率模塊402可以從表格集424中標(biāo)識(shí)一 個(gè)或多個(gè)表格,該一個(gè)或多個(gè)表格也包含候選列名421B作為候選列。類似計(jì)算可以用于計(jì) 算其它候選列名(即行421中的其它值)的候選頻率。
[0097] 方法500包括對(duì)于在候選列名集中的每個(gè)候選列名:通過從其它表格集中標(biāo)識(shí)第 二一個(gè)或多個(gè)其它表格來計(jì)算該候選列名的非候選列名頻率,所述第二一個(gè)或多個(gè)其它表 格包含了該候選列名但沒有被作為候選列名(503)。例如,頻率模塊402可以計(jì)算候選列名 421A的非候選頻率412,可以計(jì)算候選列名421B的非候選頻率414等。為了計(jì)算非候選頻率 412,頻率模塊402可以從表格集424中標(biāo)識(shí)一個(gè)或多個(gè)表格,該一個(gè)或多個(gè)表格也包含候選 列名421A但不作為候選列名。類似地,為了計(jì)算非候選頻率413,頻率模塊402可以從表格集 424中標(biāo)識(shí)一個(gè)或多個(gè)表格,該一個(gè)或多個(gè)表格也包含候選列名421B但不作為候選列名。類 似計(jì)算可以用于計(jì)算其它候選列名(即行421中的其它值)的非候選頻率。
[0098]頻率計(jì)算模塊402可以將候選列名421A與候選頻率411以及非候選頻率412-起發(fā) 送給列標(biāo)題檢測(cè)模塊403。類似地,頻率計(jì)算模塊402可以將候選列名421B與候選頻率413以 及非候選頻率414 一起發(fā)送給列標(biāo)題檢測(cè)模塊403。列標(biāo)題檢測(cè)模塊403可以從頻率檢測(cè)模 塊402-起接收候選列名421A與候選頻率411以及非候選頻率412。類似地,列標(biāo)題檢測(cè)模塊 403可以從頻率檢測(cè)模塊402-起接收候選列名421B與候選頻率413以及非候選頻率414。列 標(biāo)題檢測(cè)模塊403還可以訪問表格定義數(shù)據(jù)412和表格411。
[0