TW201250494A - Reconstruction of lists in a document - Google Patents

Reconstruction of lists in a document Download PDF

Info

Publication number
TW201250494A
TW201250494A TW101101399A TW101101399A TW201250494A TW 201250494 A TW201250494 A TW 201250494A TW 101101399 A TW101101399 A TW 101101399A TW 101101399 A TW101101399 A TW 101101399A TW 201250494 A TW201250494 A TW 201250494A
Authority
TW
Taiwan
Prior art keywords
list
line
file
pending
instructions
Prior art date
Application number
TW101101399A
Other languages
English (en)
Other versions
TWI472933B (zh
Inventor
Philip Andrew Mansfield
Michael Robert Levy
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of TW201250494A publication Critical patent/TW201250494A/zh
Application granted granted Critical
Publication of TWI472933B publication Critical patent/TWI472933B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/258Heading extraction; Automatic titling; Numbering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Description

201250494 六、發明說明: 【發明所屬之技術領域】 本發明係關於文件中之列表重建。 【先前技術】 電子文件的作者通常建立列表及其他連續或分組的內 容結構(例如編號的章、節、註腳、書目條目等)’而無 使用列表編輯工具或是指定列表作爲文件中的語義結構。 此外,即使作者編碼文件中的此結構,當經由一虛擬印表 機驅動器轉換爲一 PDF時仍可能遺失結構。 當列表資訊在文件的結構中非外顯時,這阻止了各種 應用程式使用利用此等列表的特徵》應用程式無法建議額 外的列表條目給使用者,無法輕易地瀏覽一文件或正確地 複製一列表的部分。 【發明內容】 本發明某些具體實施例提供用以針對一文件重建一組 列表的新穎方法,其中列表並無外顯地編碼。在某些具體 實施例中,文件包括一或多行,且針對每一行而個別地重 建一組列表。爲重建在一行內的一列表,某些具體實施例 使用幾何分析(例如文字線的水平內縮)及詞彙分析(例 如基於列表標籤中的字元而識別列表的類型)的一組合❶ 針對每一行,某些具體實施例的方法開始執行幾何及 詞彙分析的一組合以識別行內的列表間距。該方法基於具 -5- 201250494 有適當統計特性之對準內縮間隙的收集而決定列表標籤及 列表內容之間的可能間距。這些列表間距可藉由使用詞彙 分析以搜尋指示一列表項目的特定標準而確認。在某些具 體實施例中,該方法接著基於不同的識別列表間距而決定 在行內之每一列表項目的等級。 使用此資訊,該方法重建在行內的列表。該方法使用 列表等級及間距以識別可能爲單一列表之部分的列表項目 ,並藉由基於列表樣板而分類列表以及決定列表項目在一 單一列表中是否互相搭配而確認這些匹配。一旦重建在一 行中的列表,某些具體實施例識別在後續行之間的匹配列 表,以重建在整個文件中的列表。行可在相同的頁上也可 在多個頁上。 前述〔發明內容〕的目的係作爲對本發明某些具體實 施例的簡介,其並不意味對本文件所揭露之所有發明性標 的物的介紹或槪觀。以下的〔實施方式〕以及參照〔實施 方式〕的〔圖式〕將進一步描述在〔發明內容〕中所述的 具體贲施例以及其他具體實施例。因此,要了解本文件所 述的所有具體實施例,需要〔發明內容〕、〔實施方式〕 及〔圖式〕的完整檢視。此外,所主張的標的並不受限於 〔發明內容〕、〔實施方式〕及〔圖式〕中的詳細描述, 而是由後附申請專利範圍所定義,因爲所主張的標的可不 偏離標的的精神而具體化於其他特定形式中。 【實施方式】 -6 - 201250494 在以下描述中,爲解釋目的而提出許多細節。然而, 熟悉此技術者將了解到,本發明可不使用這些特定細節而 實施。在其他例子中,以方塊圖形式顯示習知的結構及裝 置,以避免因不必要的細節而模糊本發明的描述。 本發明的某些具體實施例提供用以重建一文件之一組 列表的一新穎方法’其中列表非外顯地編碼。在某些具體 實施例中’文件包括一或多行,且針對每一行而個別地重 建一組列表。爲重建在一行內的一列表,某些具體實施例 使用幾何分析(例如文字線的水平內縮)及詞彙分析(例 如基於列表標籤中的字元而識別列表的類型)的一組合。 針對每一行’某些具體實施例的方法執行幾何及詞彙 分析的一組合以識別行內的列表間距。該方法基於具有適 當統計特性之對準內縮間隙的收集而決定列表標籤及列表 內容之間的可能間距。這些列表間距可藉由使用詞彙分析 以搜尋指示一列表項目的特定標準而確認。在某些具體實 施例中,該方法接著基於不同的識別列表間距而決定在行 內之每一列表項目的等級。 使用此資訊,該方法重建在行內的列表。該方法使用 列表等級及間距以識別可能爲單一列表之部分的列表項目 ,並藉由基於列表樣板而分類列表以及決定列表項目在一 單一列表中是否互相搭配而確認這些匹配。一旦重建在一 行中的列表,某些具體實施例識別後續行之間的匹配列表 ,以重建在整個文件中的列表。行可在相同的頁上也可在 多個頁上。 201250494 圖1描述包括各種列表之一行100的範例。明顯可見 的,行包括具有標籤「I」、「Π」、「III」的一主要列 表以及嵌套在此列表之內的各種列表。然而,若列表結構 沒有在含有行1 00的文件中編碼,則使用文件的應用程式 將不能使用此列表結構。某些具體實施例的方法使用幾何 分析(如識別行1 〇〇中列表項目之不同的內縮等級)及詞 ϋ分析(如識別「I」、「II」、「III」等之序列)的組 合來重建這些列表並外顯地編碼在文件之模式中的列表。 以下將描述數個更爲詳細之本發明具體實施例。第I 部分描述用以重建一文件中列表之程序的整體流程。第Π 部分接著描述用以識別及重建一行內之列表的詳細程序。 第ΠΙ部分描述用以匹配一組行中之列表的詳細程序。第 IV部分描述用以重建列表之某些具體實施例之模組的軟 體架構。最後,第V部分描述實施本發明某些具體實施例 的一電子系統。 I.列表重建的整體流程 如所述,某些具體實施例識別並重建在一電子文件中 的列表,其中列表非外顯地編碼作爲一語義結構。這類列 表可爲編號的章、節、註腳、書目條目、照片、一週天數 、編碼線、內容條目表、標題符號大綱等。這些列表可能 非外顯編碼,因爲列表係由一文字處理應用程式所產生, 而無例如一列表產生工具(如一簡單的文字編輯器)或一 圖形導向程式(其針對在列表中的每一條目使用不同的文 -8- δ 201250494 字盒或佈局區域)。在某些情況中,一文件可能已有建立 一外顯列表,但在格式轉換中可能已遺失語義結構(例如 假設檔案經由一虛擬印表機驅動器而儲存成PDF檔案)。 偵側在一文件中的這類內隱列表以及將內隱列表轉換 爲一外顯編碼的列表係致能使用此文件之一應用程式提供 此一編碼結構的益處。舉例來說,編輯軟體可建議具有適 當格式化之一自動產生的下一列表項目及標籤。超連結、 內容的鏈路表、及對接續項目的其他此類電子編碼參考可 自動地產生,且當使用者編輯文件時可與其所參考的物件 一起移動。文件檢視應用程式可致能使用者使用章節號碼 或其他此類列表項目而搜尋及瀏覽一文件。針對應用程式 間的通訊,重建一列表可致能一使用者從一文件檢視器複 製一內隱列表並將此列表貼於一文件編輯器中作爲一外顯 列表以有助於進一步的編輯。此外,列表重建可使用作爲 要完整輸入一向量圖形文件(如PDF檔案)至一文件編輯 應用程式所需的通用語義重建的部分。此通用語義重建係 詳細描述於美國專利申請案 1 2/45 5,8 66,公開號爲 201 0/01 74 985,其係併入本文中作爲參考。 在某些具體實施例中,列表重建程序使用幾何與詞彙 方法的一組合來識別內隱列表並將其轉換爲外顯列表。亦 即,程序說明內容的配置及外觀(例如內縮)以及用以形 成列表中標籤的特定字元(如羅馬數字)。 圖2槪念地描述用以重建跨越一或多行文字之列表之 某些具體實施例的程序200。程序200將參考圖3至圖6 201250494 進行描述,其描述列表重建程序的各種態樣。如所示,程 序200開始於205,其接收一或多行的有序文字線。將描 述,某些具體實施例最初係個別地評估文字的每一行,接 著匹配在接續行之間的列表。針對一多頁文件,某些具體 實施例將每一頁視作用於列表重建程序的一單獨行,即使 當頁爲單行頁時。 在某些具體實施例中,文字線及行的排序係外顯地編 碼至文件,即使列表並非如此。在某些具體實施例中,文 件線及行也進行語義上的重建。此類重建的方法係詳細描 述於美國專利公開號201 0/0 1 74985,其係倂入作爲參考。 圖3描述具有二十三個有序文字線的單一行300,其 係明顯可見屬於一列表。然而,無任何外顯編碼,電子應 用程式不會知道列表結構。可看出列表結構包括三個列表 的等級。在某些具體實施例中,線間斷可編碼於文件的結 構中,然而其他具體實施例使用一文件重建程序以識別文 字及線並識別線均爲一單一行。 接著,程序200在2 1 0識別在每一行的列表間距。如 所述,某些具體實施例係個別地重建在每一行中的列表。 熟此技藝這將了解到在某些具體實施例中這可包括對每一 行之循環操作210-2 20,而非在此圖式所示的程序2 00。 在某些具體實施例中,列表間距爲符合特定標準之一 文字線中的一識別間隙,其中特定標準係指示間隙爲一列 表標籤(例如在行300之第一線中的「I」)及列表內容 (例如在相同線中的「主標題1」)間之一分隔符的一可 -10- 201250494 能候選。列表間距爲一特定類型的間距,其中某些具體實 施例係定義爲盡可能延伸之沒有頁內容的一垂直帶。 爲識別在一行中的列表間距,某些具體實施例識別在 行的文字線中之分離間隙,且接著找出這些分離間隙的垂 直彙集。總結來說,當文字線由其基線的y座標所分類, 程序開始於頁的底部。從頁的底部,程序彙集在連續文字 線中具有重疊X間隔的可能分離間隙。這產生了一垂直矩 形帶’其完全地通過可能分離間隙的每一彙集收集之間隙 。亦即’垂直帶的厚度跨越在收集中所彙集之所有x間隔 的相交。帶係盡可能地垂直延伸,直到帶遇到不具有可能 分離間隙的一文字線與其重疊。若分離間隙的垂直彙集符 合指示列表項目的特定標準,則間隙的彙集係識別爲一列 表間距。以下對圖7的討論將詳細描述用以識別列表間隙 的程序。 圖4描述針對行400之識別列表項目起始候選,且剛 好也是行3 〇〇的前八線。在此情況中,由於所有文字線事 實上爲列表項目,所有線具有相關的列表間距,如圖所示 。 八線中的每一個在線的第一及第二文字之間具有一可 能的分離間隙(第一文字爲例如r I」、r a」、「B」、 「i」等)’第二文字係向左對齊。這些分離間隙係彙集 爲三個列表間距,如圖所示。 回到圖2,程序200在2 1 5識別具有列表間隙之每一 線的列表等級。線的列表等級係用以決定在行中之線的相 對內縮。圖5描述針對圖4之行400之某些具體實施例的 -11 - 201250494 列表等級計算。如圖所示,某些具體實施例將任一線的基 線從基線的左邊緣至行的左邊緣延伸一列表間距。程序係 計數延伸基線所相交之屬於相同行中之文字線的列表間距 的數量。如圖所示,對行的第一線來說此數量爲零(即延 伸的基線沒有與列表間距相交)。對於第三線(以及第二 及第七線)來說,此計數爲一,而第五線(及第四及第六 線)則與兩個列表間距相交。這些計數係相關於其個別的 文字線,作爲文字線的列表等級。某些具體實施例從一而 非零開始計算。 程序接著在220重建每一行的列表。列表重建程序將 參考圖8及圖9而詳細描述於以下的第II部分。一般來說 ,程序產生未決列表之一堆疊並使用各種規則以產生新列 表於堆疊中、增加項目於一列表、以及結束列表並將其從 堆疊移除。某些具體實施例的列表重建程序使用一標籤樣 板識別功能、標籤詞棠功能、及標籤產生功能 某些具體實施例的標籤樣板識別功能係識別從一組所 支援字母所選擇之用於特定列表的字母或樣板。這類字母 的範例包括十進位{〇,1,2,…,9}、小寫羅馬字{i,V,X,1, c,d,m}、大寫羅馬字{I,V,X,L, C,D,Μ} '小寫拉丁字 {a,b,c,.·.,ζ}、大寫拉丁字{A,B, C,…,Ζ}、小寫希臘 文{α,β,γ,…,ω}、大寫希臘文{Α,Β,Γ,…,Ω}、圓盤標 題符號{·}、圓圈標題符號{°}、破折號標題符號{-}、星形 標題符號{*}等。 特定列表項目的標籤樣板係由字首字串、字尾字串、
-12- S 201250494 及標題符號或序數(其使用字母)的類型所構成。特定標 籤的標籤樣板係藉由開始於標籤的最後字元(其可識別爲 一特定列表項目之列表間距左方的第一字兀)並向後移動 直到到達符合其中一支援字母的字元而識別。一旦找到此 一字元,這定義了列表類型及字母。若字元在多個字母( 如「i」、「D」等)中,可選擇多個樣板且這多個樣板之 間的選擇可在列表重建的較晚階段決定。 程序持續檢查先前的字元,只要其來自其中一個匹配 字母。在某些具體實施例中,此字元範圍定義標籤的序數 或標題符號的範圍。在序數範圍前之標籤中的所有字元係 定義字首,而在序數範圍後之標籤中的所有字元係定義字 尾。因此’如圖6所示,行400之第一列的標籤樣板爲一 空字首、大寫羅馬字或大寫拉丁字、及字尾「.」。在此 情況中,大寫羅馬字樣板係優先於大寫拉丁字,因爲字元 「I」較可能屬於大寫羅馬字母,尤其是在一行的頂部。 然而,若在此等級的下一列表項目爲「J」,則此時將選 擇大寫拉丁字母。 某些具體實施例也限制了字首及/或字尾的特性。這 些特性可包括字串長度、字兀集、或正規標示。舉例來說 ,字尾可在長度上限制在單一字元、或限制在幾個特定數 値(例如「.」,「)」,「:」等)。在某些具體實施例 中,對於特定類型(如標題符號列表),字首及字尾可能 完全不被接受。 除了字首與字尾的定義及序數類型,某些具體實施例 -13- 201250494 包括字形及文體資訊於標籤樣板中。舉例而言,針對第一 條目爲行3 00中第一線之列表的樣板可能指示空字首、大 寫羅馬序數、字尾「.」、具有正規的(即非粗體、非斜 體、無底線)Timgs New Roman字形。 特定列表類型的標籤詞彙功能使用標籤的標題符號或 序數部分產生列表標籤的一項目數目作爲一輸入。舉例來 說,圖6所示的兩線具有項目數目爲1,而圖5所示的第 三線具有項目數目爲2。在某些具體實施例中,所有標題 符號或其他無序列表類型總是產生項目數目1。針對通常 的有序列表類型(如小寫羅馬字、大寫羅馬字等),某些 具體實施例使用習知技術而實施標籤詞彙爲一確定性有限 自動機(DFA )。針對最簡單的情況(如十進位、小寫拉 丁字、大寫拉丁字等),某些具體實施例使用算數或字元 編碼而實施標蔽詞棄。 標籤產生器功能本質上與標籤詞彙功能相反。標籤產 生器針對一給定標籤樣板及項目數目而產生一標籤。舉例 來說,針對圖6所示之相關於第一線的標籤樣板,若給定 的項目數目爲4,則標籤產生器產生「IV」。某些具體實 施例產生相同的結果,而不論標題符號列表的輸入。針對 有序列表的序數部分,某些具體實施例的產生器通常將使 用基數(例如針對十進位及羅馬字爲基數10,而針對拉丁 字爲基數26等等)之冪次的整數除法,以決定在該基數 之數目的位數,接著依序連結每一位數的字串描述。 回到圖2,程序200接著在225匹配行之間的列表。 δ -14- 201250494 列表匹配程序將參考圖10及圖12而詳細描述於以下的第 III部分。以針對每一行所重建的列表,某些具體實施例 的程序係識別在第一行末端的開放式列表且嘗試將這些列 表與在下一行開始處的開放列表匹配,以結合列表。 如前所述,數個操作係執行以識別在文字線的一行內 之列表間距。圖7係槪念性的描述某些具體實施例用以識 別在一行文字線內之列表間距的程序700。如圖所示,程 序700開始於705,接收有序文字線之一行。如前文參考 圖2所述,某些具體實施例係個別地評估在一文件中之數 個行的每一個。在這些具體實施例中,列表間距係針對每 一行而個別地識別。 程序接著在步驟7 1 0識別在行的文字線中之分離間隙 (或可能的分離間隙)。分離間隙爲大於一句子中兩個連 續文字之間的預期間隙之文字或類似內容之間的間隙。在 某些格式中(例如強化文字處理格式),分離間隙可基於 用於文件中之間距字元而識別(例如標誌字元、在一列中 之多個空格字元的序列、將行分隔之外顯墊間距( padding )或邊限、浮動影像或其他文件內容結構等)。 對於向量圖形元件(或在所給定的資訊只有字符的座標之 其他文件),某些具體實施例係識別分離間隙作爲語義重 建程序的部分,其係詳細描述於美國專利公開號 US2 0 1 0/0 1 749 8 5並倂入本文作爲參考。某些這些具體實 施例執行集群分析,以決定在一文字內之字符之間的平均 間距以及在文字之間的平均間距,接著將大於平均跨字間 -15- 201250494 距的間隙歸類爲一分離間隙或可能的分離間隙, —旦識別分離間隙,某些具體實施例使用例如詳細描 述於美國專利US2〇1 0/0 1 7498 5中之程序而從這些間隙產 生間距。總結來說’程序將分離間隙的垂直收集彙集爲間 距。程序700在7 1 5選擇行之最底部未評估的文字線。這 在第一次執行操作715時將爲行中的最底部文字線。每— 次執行操作,程序將向上選擇下一文字線。 程序接著在步驟720決定所選的文字線是否包含至少 一分離間隙。當文字線不包括任何分離間隙時,程序接著 進行至750以決定是否有任何文字線餘留於行中。在此情 況中,行將不包括經過文字線的任何列表間距。另一方面 ,當所選線包括至少一分離間隙,則程序在725從文字線 選擇一分離間隙。不同的具體實施例從左到右、右到左、 或以隨機順序選擇分離間隙。 接著,程序在730中決定所選分離間隙是否與一開放 式間距組相交。在以下段落中將描述,某些具體實施例產 生分離間隙的間距組,其在後續文字線中至少部分地水平 對齊。舉例來說,在圖4的行400中,在第五文字線中之 「ii」與「第三標題2」之間的間隙係對齊在第六文字線 中之「iii」與「第三標題3」之間的間隙。某些具體實施 例也決定所選分離間隙是否與一間距組(包括任一之前的 線且沒有在分離間隙間之線中插入文字)相交。舉例來說 ,在行400之第一線中之「I」及「主標題1」之間的間隙 係對齊在第八線中之「Π」及「主標題2」之間的間隙’ -16- 201250494 且某些具體實施例將對準這些分離間隙’因爲在第二到第 七線中沒有插入的文字。 當所選分離間隙沒有與一開放式間距組(即包括先前 線或沒有被先前線中的文字所阻擋的間距組)相交’程序 在7 3 5產生包括所選分離間隙的一新的間距組。舉例來說 ,在行400中,程序最初在第八線針對分離間隙產生一間 距組,接著當評估第七線將必須針對「C」及「第二標題 3」之間的分離間隙而產生新的間距組’因其未與已經產 生的間距組係相交。 另一方面,當所選分離間隙與開放式間距組相交時’ 程序於740將所選分離間隙加入至相交的間距組。某些具 體實施例使用分離間隙的相交而決定由間距組所定義之垂 直帶的邊界。舉例來說,行400的第四、第五、及第六線 之每一者具有一分離間隙且這些間隙對齊以形成間距405 。間距405只有這三個間隙中最窄的寬度,因爲間距的寬 度係由沿間隙之水平軸的相交所定義。 圖3描述針對行300所產生的間距。如圖所示,某些 具體實施例在文字線開始前沒有計數一空格作爲分離間隙 ,但也沒有經由這樣一空格而避免間距的彙集。舉例來說 ,間距305爲四個分離間隙(其每一由五到八文字線所分 隔)的彙集。此外,有藉由大綱的主標題而避免彼此連接 的三個間距3 1 0-320,以及藉由主標題及第二標題而避免 連接的四個間距325-340。由於這些間距在其右側皆具有 向左對齊的文字,這些間距的寬度係基於左邊界文字的右 -17- 201250494 邊緣而決定(即列表項目數目)。 會到程序7〇〇,程序接著在745決定額外的 是否餘留在文字線中。若餘留額外的間隙’則 725以選擇下一間隙。當所有間隙已經針對目前 線而評估,程序於750決定是否餘留任何文字線 文字線需被評估(即目前所選文字線不是行中最 ),則程序回到7 1 5以選擇底部未評估的文字線 行中的所有間隙後(在所有文字線中的所有間隙 進行至75 5以決定所彙集的間距是否爲列表間距 程序700在75 5選擇一間距組(即從操作7 分離間隙所建構出之組的其中之一)。程序可從 上到下等或其組合選擇間距組》 程序接著在760決定所選的間距組是否具有 的特性。當建構一行的間距,某些具體實施例收 所找到之所有間距的統計。使用這些統計,某些 例識別列表間距爲符合特定標準的間距。標準係 可能是列表標籤及列表內容之間的一間隙,相較 文字線中一分離的間距(例如指示一行應分爲二 準的一範例爲列表間距右方的文字係對齊於左方 同時在一列表間距及其左方間距(或邊限)之間 或有一文字(這一文字爲一列表標籤)。 —旦識別列表間距,某些具體實施例檢查列 通過的可能分離間隙。舉例來說,在圖3的間距 況中,雖然間距具有23線的垂直長度,但只有 分離間隙 程序回到 所選文字 。若額外 頂部的線 。在評估 ),程序 〇 15-750 之 左到右、 列表間距 集在行中 具體實施 指示間距 於指示在 )"此標 的需求, 通常爲零 表間距所 3 0 5的情 四個分離 -18- 201250494 間隙。當一列表間距通過文字線的第一及第二文字之間時 (在已執行任一文字線分離之後),文字線係旗標爲一可 能的列表項目起始候選,且相關的列表間距係指派至該線 。某些具體實施例在當間距符合針對一列表間距的所有標 準時可維持間距爲列表間距,即使間距另外因太薄而被捨 棄。 當所選間距符合列表間距的特性時,程序700在765 識別該組爲一列表間距。在某些具體實施例中,列表間距 係儲存於記億體中,用以用於較大的文件重建程序。某些 具體實施例儲存列表間距作爲描述文件之檔案中的資訊( 例如儲存間距本身爲文件物件)。程序接著在770決定是 否有餘留任何額外的間距組供評估。若餘留更多間距,則 程序回到75 5以選擇下一間距。當評估所有間距組,程序 結束。 II.在一行中的重建列表 如所述,某些具體實施例藉由使用未決列表的一堆疊 而一次一行地重建列表。圖8槪念性地描述用以在單一行 中重建列表之某些具體實施例的程序800。程序800將參 考圖4 (其描述具有八線的行400 )及圖9 (其槪念性地描 述涵蓋十一個階段905-95 5之未決列表的一堆疊900 )而 作出描述。 如圖所示,程序800開始於8 02,接收具有識別列表 間距及等級之文字線的一行。在某些具體實施例中,列表 19- 201250494 間距及等級係如同前文在第I部分中所述而識別(即藉由 使用可能的分離間隙以找出間距、決定爲列表間距之間距 、以及找出每一間距的等級)。 接著,程序在804針對該行產生未決列表的一空堆疊 。如所述,圖9描述一堆疊900,其第一階段905是空的 (即沒有未決列表在堆疊中)。程序也在806設定在行之 右邊緣的開放式位置。稍後將於程序8 00中描述,開放式 位置係用以決定一新列表的開始是否可左開放式或應爲封 閉的。 程序接著在8 08選擇在該行中的下一文字線。某些具 體實施例的程序開始於行中的最高文字線。參考行400, 此爲開始於「I」的線。某些具體實施例僅處理具有列表 間距的線,而忽略所有其他線(即具有列表之間內容的線 ),而其他具體實施例處理一行中的所有文字線。 程序800接著在810決定所選文字線是否具有列表間 距及識別等級。如所述,某些具體實施例僅處理具有列表 間距及識別等級的文字線,而其他具體實施例處理所有的 文字線。程序800檢査所有的文字線,且當所選文字線不 具有列表間距或識別等級時,程序進行至8 52,其將詳細 描述於後。 當所選文字線具有列表間距及識別等級,則程序在 8 1 4決定一未決列表是否在具有與當前的線相同的列表間 距及等級之堆疊中。若是,則當前的線可屬於該未決列表 "當然,在第一次通過操作814時並沒有未決列表、也不 -20- 201250494 具有相同或不同的列表間距及等級。當一列表在具有與當 前所選文字線相同的間距及等級之堆疊中爲未決,則程序 進行至844,其將描述於後。 另一方面,當沒有列表在具有與當前所選文字線相同 的間距及等級之堆疊中爲未決,則程序在8 1 6針對當前列 表識別任何候選的列表樣板。如在前面部分中所述,某些 具體實施例從列表間距開始且向後操作以試圖識別針對當 前的線所屬之列表而使用的字母。某些具體實施例可識別 多個候選列表樣板,並在當第一列表項目不明確時留下開 放式的樣板決定,因爲其具有可能在多個不同字母(如「 I」、「i」等)的字元。 程序接著在818對每一個剛識別的候選列表樣板應用 針對其列表類型的詞彙分析至當前文字線之第一文字的序 數部分。此時,從識別候選列表樣板,程序已決定字首、 字尾、及文字線之第一文字(標籤)的序數部分。 程序在#722決定文字線的第一文字是否爲具有針對至 少一候選樣板之一對應項目數目的一合法列表標籤。使用 在818的詞彙功能,若達成成功的輸出(其不需匹配字母 的項目數目一),則當前線的第一文字爲項目的合法列表 標籤。舉例來說,標籤「i」可決定兩個合法字母(小寫 羅馬字及小寫拉丁字)。 當沒有文字爲一匹配的樣板時,則線非一列表項目( 至少不在由執行列表重建的應用程式所識別之字母中), 且程序進行至852,其將描述於下。然而,當第一字具有 -21 - 201250494 至少一匹配’則程序在824產生具有開放式末端狀態的新 未決列表。當一列表可能持續增加項目於列表的末端時, 該列表具有一開放式末端狀態。另一方面,一旦不再有可 能加入項目之列表的末點,則列表具有一封閉式末端狀態 。在某些具體實施例中,列表總是加入至具有開放式末端 狀態的堆疊。 當列表標籤可能來自多於一字母,則新的未決列表將 不具有明確的樣板,而是匹配的任何候選樣板(在操作 8 22 )將針對列表而儲存。當第二列表項目加入列表,程 序將藉由選擇其中一匹配樣板而作出此樣板決定。 圖9的第二階段910描述第一列表960已加入至堆疊 900。如圖所示,列表960目前只有一項目,其對應行400 中的第一線。當此線的列表標籤爲「I」,這可能爲項目 數目1的大寫羅馬字或是項目數目9的大寫拉丁字。因此 ,列表加至堆疊,器儲存兩個可能樣板。如圖所示,首先 將大寫羅馬字列於表上,因爲其爲兩個可能字母中優先性 較高者。一般來說,當在列表中找到的第一個序數爲「I 」或「丨」,對應的羅馬數字字母爲較可能的字母,但當 然仍有項目爲來自前一行之拉丁字字母的延續的可能性。 接著,程序800在826決定目前線的列表間距是否爲 開放式位置的左邊。如上述,某些具體實施例使用開放式 位置以決定新列表的開始狀態是否應爲左開放式》當存在 列表可能爲來自前一行、頁、節等之列表之延續的可能性 ,則列表的開始狀態爲左開放式。因此,當列表並無嵌套
-22- S 201250494 於目前行之先前列表內時,開始狀態將爲左開放式。開放 式位置係用以追蹤行中最左邊的列表,且具有在此位置右 邊之間距的任何列表將具有一封閉式開始狀態。 因此,當目前線的列表間距爲開放式位置的左邊,程 序在828開放新列表的開始狀態。另外,當目前線的列表 間距在或至開放式位置的右邊,則程序在8 29封閉新列表 的開始狀態。若目前線的列表間距是在開放式位置的右邊 ,則行已經具有包含至目前列表間距左邊之項目的一列表 。同樣地,目前間距將必須爲在新列表中的第一項目,而 不是來自前一行的延續,因爲其係嵌套於至少一其他列表 內。如圖9的階段910所示,當第一列表960加入堆疊時 ,開始狀態爲左開放式。 接著,程序8 00在8 3 0以與目前文字線爲一項目之列 表相同或更高的列表等級封閉任何未決列表的末端。程序 也在832從未決列表的堆疊移除封閉列表,並在834加入 新列表至堆疊頂部。因此,當新的列表加入,其在比已經 在堆疊上之列表的至少一者更低的等級(即其列表間距更 向左邊),則那些列表爲封閉式(於末端狀態)並自堆® 移除。此情況可能發生在包括一先前列表之延續的一行中 。舉例來說,若等級三列表項目爲在一行中的第一項目, 且等級一列表項目跟隨在後,則等級一列表的產生將指示 等級三列表的結束。在圖9的階段910中,新列表960係 加至堆疊的頂部,然而並無列表在堆疊中供程序封閉及移 除。 -23- 201250494 接著,程序800在83 5移動開放式位置至目前開放式 位置的最左邊及目前文字線的左邊界。當程序在處理行中 每一文字線後執行此操作,開放式位置將總是在任何已處 理文字線的最左邊界。然而,某些具體實施例僅修改文字 線(其爲一列表的部分)之後的開放式位置,避免非內縮 非列表文字影響開放式位置(如章節標題之間的本體文字 )0 接著,程序在83 6決定是否還有文字線仍留在行中。 —旦所有文字線都已檢查,則程序800進行至860,其將 描述於後。當有額外文字線留下,程序回到808以選擇下 一文字線並檢查此新線的列表特性。如前述,某些具體實 施例的程序係開始於行的頂部並向下移動。 如上述,當程序在814決定堆疊包括具有與目前文字 線相同的列表間距及等級之一未決列表時,則程序進行至 844。此時,程序在844決定在目前文字線中的第一字是 否匹配針對至少一候選樣板之列表中之預期的下一項目。 這是目前線是否可加入未決列表的一決定。爲決定目前線 是否可加入未決列表,某些具體實施例針對每一可能的候 選樣板及在那些樣板中的下一項目數目使用標籤產生功能 (即若在列表中的第一項目爲「I」’則標籤產生功能將 輸出「II」及「J」)。當沒有匹配時’程序進行至8〗6以 決定項目是否爲新列表的開始。 當所產生的標籤爲一匹配時,程序在845針對有一匹 配而選擇最高優先性樣板。若此時僅有一個候選樣板’則 -24- 201250494 將總是選擇該候選樣板。若項目爲列表中的第三或更多項 目,則將總是在任何候選樣板之間作出決定。然而,當目 前線在包括多個候選樣板之列表中具有第二列表項目,則 程序選擇具有最高優先性的樣板。 程序800接著在846加入目前線作爲在其等級之目前 未決列表中之新的列表項目。在圖9中,第三階段915描 述行400的第二線造成新列表965的產生。程序產生具有 封閉式開始狀態的此新列表965,因爲開放式位置目前係 位於行4 0 0之第二線開始的左邊。此列表係加入堆叠的頂 部。第三線在階段92 0加入此列表,列表965現在具有兩 項目。 在加入新項目至未決列表後,程序在848封閉等級比 目前項目還高之任何未決列表的末端,接著在850從未決 列表之堆疊移除封閉式列表。程序接著進行至835以移動 開放式位置(若有需要)並決定是否有任何額外的文字線 留在行中。 亦即,當新項目以一特定等級加入一列表時,嵌套於 該列表之內的任何列表(且因而在更高等級)將封閉。參 考行4 0 0,當在第七列中的項目加入等級一列表(大寫拉 丁字),程序封閉等級二列表(小寫羅馬字)。圖9描述 此於階段940,其將在三個先前階段後描述。在階段925 ,行400的第四線造成新列表970的加入,其可使用小寫 羅馬字或小寫拉丁字字母。當來自行400之第五線的第二 項目加入列表970時將在階段93 0做出此決定。在列表中 -25- 201250494 的此第二項目(其爲「ϋ」而非「j」)係指示列表使用小 寫羅馬字數字作爲其字母。在階段93 5,行400的第六線 係加入作爲列表970的第三項目。 在階段940,第三項目加入堆疊900中的第二列表 965,其對應行400的第七線。由於第三列表970在比第 二列表965高的等級,程序封閉第三列表970並移除列表 。如圖所示,某些具體實施例儲存有關列表的相關細節( 即構成列表中項目的文字線、項目數目、項目標籤、所使 用的樣板等等)於儲存器(例如,像是RAM的揮發性記 憶體、像是硬碟或快閃記憶體的永久儲存器等)。階段 945描述堆疊900現在只有兩個未決列表,其中列表965 爲頂部列表。在階段950,第二項*目加入第一列表960, 其對應行400的第八線。此加入造成程序封閉第二列表 965並移除此列表。階段95 0描述在堆疊900中只有第一 列表960現在爲開放式。 回到圖8,當目前文字線無法用以形成一列表(例如 在操作810或822所決定),程序800進行至操作852。 此時,程序在8 5 2封閉具有一列表間距至目前文字線之左 邊界右方的任何未決列表的末端。程序也在8 54從未決列 表的堆疊移除封閉式列表。 程序接著在856決定在此列表移除後,未決列表的堆 疊是否爲空。當至少一列表仍未決於堆疊中,程序在858 加入目前文字線至堆疊頂部之列表的最後列表項目。因此 ,若一列表項目跨越多個線,額外線將以列表項目分組。 § -26- 201250494 圖1 〇描述此一多線列表項目1 〇 〇 〇的範例。當評估列表項 目1 0 0 0的第二線’程序將保持具有—列表項目之列表爲 開放式(項目「I」),且將接著加入第二線至該列表項 目(因爲其本身不具有一列表標籤)但也不會導致列表的 封閉(因爲其排列)。圖1 1描述行11 0 0,其中列表項目 之間的段落係以列表項目分組且無導致列表的封閉。行 1100的每一列表項目具有三到四線的一相關段落。在某些 具體實施例中’這些線係以列表項目分組(例如,第一段 落係分組爲具有標籤「I」之列表項目的部分)。 然而’某些具體實施例並不執行操作8 52及854、或 執行這些操作的變化以致能在較大文件中之分節或章標題 的內縮以及當有大量非列表內容在列表項目之間時之此類 列表的重建。舉例來說,在某些情況中,分節標題將內縮 ,如圖4所示的列表,但在這些標題之間爲不具內縮的段 落(亦即,類似行1 1 〇〇的情況,無內縮段落)。並非讓 每一段落清除未決列表的堆疊,而是將這些段落加入於最 後列表項目之下作爲內容,而無封閉任何其他列表。圖1 2 描述具有在嵌套列表標題間之段落內容的此類列表的部分 之範例。某些具體實施例識別文件中的本體段落(如基於 外顯編碼格式或文件重建技術)並在執行列表重建程序前 消除屬於這些段落的文字線。 —旦已評估在一行中的所有文字線,程序80〇在860 驗證列表、移除任何不合格的列表、且依所需修改所儲存 的列表堆疊。某些具體實施例包括識別一列表爲合法的最 -27- 201250494 小條件。舉例來說,某些具體實施例要求一列表具有至少 兩項目,避免單一項目列表的形成。若列表不合格,則程 序移除列表且將其文字線以及任何嵌套列表下降至儲存的 列表堆疊中之一較低等級。若文字線下降至列表堆疊的底 部,則此線不在任何列表中。 因此,舉例來說,在某些具體實施例中,若行4 00並 未包括其第八線,則第一列表960將失去資格並從所儲存 的列表堆疊移除。其他列表965及970每一將向上移動一 等級。行的第一線不會相關於任何列表。然而,若文件包 括多行,則某些具體實施例將不移除此列表,其可延續於 下一行中,如第ΙΠ部分所述。 另一方面,若第五及第六線(「ii」及「iii〕)未出 現,則將移除列表970,且第四文字線將相關於列表965 中的第二項目。在此情況中,因爲單一項目列表爲封閉式 ,即使在多行情況中,列表將被消除且僅留下兩列表。 上述程序800及所述變化係使用內縮作爲列表等級的 一指示符。某些具體實施例也能夠識別使用多等級編號完 成嵌套之嵌套列表。圖1 3描述這樣一組嵌套列表1 3 00的 範例。在此組嵌套列表中,對於所有不同的項目,列表間 距係在相同等級,但列表項目需分隔爲不同列表。爲處理 此問題,當(i )目前文字線在與一未決列表相同的等級 以及(Π )未決列表的最後列表項目(或最後列表項目加 上一區分字元)爲目前文字線之標籤的字首部分,則某些 具體實施例並不封閉未決列表或在加入新列表至頂部前從 -28- 201250494 堆疊移除列表。 如I m述’某些具體實施例可識別藉由內縮而嵌套的列 表(如圖3中所示)以及藉由編號而嵌套的列表(如圖i 3 中所示)。爲完成此,某些具體實施例使用一變化於程序 8 00 °在操作8 3 0中,某些具體實施例並不總是封閉在相 同等級中的未決列表作爲新列表,而是決定多等級編號是 否存在於在相同等級之任何未決列表及新列表之間。此編 號存在於當符合上述條件時-未決列表的最後列表項目 (或最後列表項目加上一區分字元)爲目前文字線之標籤 的字首部分。 III·跨多行之重建列表 以上部分描述用以識別及重建單一行內列表之某些具 體實施例的程序。如上述,某些具體實施例在一多行文件 的每一行上執行此一程序,接著在確認列表前匹配所有行 的開放式列表。圖1 4係槪念地描述用以重建橫跨多行之 列表之某些具體實施例的程序1400。程序1 400將參考圖 15進行描述,其中圖15描述一文件之隨後的兩行1 505及 15 10。 如所示,程序1400在1 405接收一組有序行。行可全 部爲在相同頁的相同排版,也可跨越多種排版、頁、節等 等。在某些具體實施例中,行的順序是給定的(例如編碼 於文件的結構中)。在其他具體實施例中,列表重建爲一 較大文件重建程序的部分,例如描述於US 20 1 0/0 1 74985 -29- 201250494 中,其係倂入本文作爲參考。 程序接著在1 4 1 0識別所有行的列表。在某些具體實 施例中,多數程序800係執行(除了在8 60的驗證操作之 外)以識別行的列表。這可留下某些具有開放式開始或末 端狀態的列表。舉例來說,在圖15中,第一行1 5 05將具 有三個具有開放式末端狀態的列表(來自線1、8、及14 的「I」、「Π」、「111」的列表、來自線1 5及1 6之「A 」及「B」的列表、以及來自線1 7之「i」的單一項目列 表)。這些列表的第一個將亦具有一開放式開始狀態。在 第二行1 5 1 0中,兩列表將具有開放式開始狀態(來自線i 及2的「ii」及「iii」的列表、以及來自第三及第六線之 「C」及「D」的列表)。這兩列表的後者將也具有一開放 式狀態。 當識別所有列表,程序可嘗試匹配在各行中的列表。 程序在1 4 1 5設定順序中的第一行作爲目前所選之行。程 序也在1 42 0設定所選之行之後的行爲下一行。某些具體 實施例僅針對具有至少兩行的文件執行程序1 400。其他具 體實施例即使對單一行的文件也總是執行此程序,但包括 針對僅具一行之文件的情況下的退出條件。 假設文件具有二或更多行,程序在1 425中決定所選 之行是否具有包含開放式末端狀態的任何列表。若行不具 有開放式列表,則程序進行至1 445,其將描述於後。若無 開放式列表,程序將不會試圖匹配來自下一行的任何列表 與目前所選之行,因爲來自兩行中之第一行之具有開放式 -30- 201250494 末端的列表爲此一匹配的必要條件。 程序接著在1 43 0決定下一行是否具有包含一開放式 開始狀態的任何列表。類似於在一對行之第一者中的一開 放式末端狀態的必要條件,程序要求在該對中的第二行具 有至少一列表包含一開放式開始狀態,以與第一行的列表 匹配。再者,若沒有列表具有開放式開始狀態,則程序不 會試圖匹配各行的列表,且進行至1 445。 若在第一行有具有開放式末端狀態的列表且在第二行 有具有開放式開始狀態的列表,則程序在1 43 5決定一匹 配列表延續或列表延續組是否存在於各等級之間。在某些 具體實施例中,在第一行末端的任何開放式列表可與在第 二行開始的任何開放式列表匹配,只要所有匹配列表等級 組爲原始等級的一單調增加函數且開始第二行的項目標籤 係匹配來自第一行之列表的下一項目標籤。亦即,列表等 級的順序必須在整個匹配中維持,雖然對某些列表等級有 可能會改變而其他則維持不變。 爲決定兩列表是否匹配,某些具體實施例使用標籤產 生功能,以產生來自第一行之開放式末端狀態列表的下一 列表項目,接著檢查這是否匹配來自第二行之開放式開始 狀態列表的第一列表項目的標籤。在決定對第一行中的每 一列表是否存在匹配後,某些具體實施例決定任何所需的 列表等級改變是否將違反單調(monotonicity)要求。 若一有效的匹配(或匹配組)存在於兩行之間,則程 序在1 44〇結合橫跨兩行的匹配列表。在兩行之間有多於 -31 - 201250494 一個有效匹配或匹配組存在之較不可能的情況中,某些具 體實施例比較內縮(如從行的左邊緣到列表間距的距離) 以決定哪個有效匹配是最佳的(對具有相同內縮之列表具 有優先性)。 程序1 400接著在1 445設定下一行作爲所選之行。某 些具體實施例也包括先前所選之行作爲下一行的部分。因 此,若在先前所選行中的任何開放式列表並未找到一匹配 且由於較低階開放式末端列表匹配而未封閉,則程序可在 下一行搜尋匹配。在某些具體實施例中,程序將先前所選 的行與下一行連結,因而致能列表跨越多個行(例如,在 特定列表中之第一列表項目在第一行且列表中的第二項目 直到第三行前未出現的情況)。 程序在1 450決定在新選之行後是否有任何額外行。 當額外行仍存在,程序回到1420以檢查與下一行的匹配 。若沒有行存在,程序在1 4 5 5驗證在行組中的所有列表 。在某些具體實施例中,這與程序800的操作860相同, 如上述。亦即,程序驗證所有列表、移除任何不合格列表 、且在需要時修改所儲存的列表堆疊。接著,程序1400 結束。 在圖1 5中’第二行1 5 1 0的最低列表等級與第—行 1 5 0 5的第二低列表等級匹配(即「〇」列表項目接著「B 」列表項目),且第二行1 5 1 〇的最高列表等級與第—行 1 5 0 5的最高列表等級匹配(即「i丨」列表項目接著「i」 列表項目)。第一行的最低等級開放式列表(大寫羅馬字 -32- 201250494 )在第二行中不具有一匹配。程序可基於匹配字母及列表 項目的持續序數而輕易地匹配這些列表。 圖1 6描述一列表改變等級而第二列表留在相同等級 的一範例,但保留單調的要求。在此圖式中,第二行1610 具有兩列表,其具有等級0及等級1。等級0大寫羅馬字 列表與第一行1 605的等級0大寫羅馬字列表匹配,但第 二行1 6 1 0的等級1小寫羅馬字列表與第一行的開放式等 級2小寫羅馬字列表匹配。 如上述,當完全地重建一文件的列表,可致能各種特 徵。這些特徵可包括額外列表項目、超連結及對後續項目 之其他參考的自動產生、經由列表項目的搜尋及導航功能 、格式間的複製及貼上等等。 IV.軟體架構 在某些具體實施例中,上述程序係實施爲在一特定機 器(例如電腦或手持裝置)上執行或儲存於一電腦可讀媒 體的軟體。圖17槪念性地描述某些具體實施例之列表重 建模組1 700的軟體架構。在某些具體實施例中,列表重 建模組1 700爲一單獨應用程式或整合至一應用程式(如 作爲文件重建應用程式的部分),而在其他具體實施例中 ,應用程式可能實施於一作業系統內。此外,在某些具體 實施例中,模組係提供作爲基於伺服器之解決方案的部分 。在某些此類具體實施例中,模組係經由薄客戶(thin client )提供。亦即,模組執行於一伺服器上(例如爲在 -33- 201250494 伺服器上操作之應用程式的部分),而使用者經由從伺服 器遠端遙控之一單獨機器而與應用程式互動。在其他此類 具體實施例中,模組係經由一厚客戶提供。亦即,模組係 從伺服器(例如爲從伺服器所散佈之應用程式的部分)散 佈至客戶機器並執行於客戶機器上。 列表重建模組1 700包括列表間距識別器1 705、列表 等級識別器1710、列表重建器1715、跨行匹配器1 720、 列表驗證器1 722、及列表樣板函數1 740。此外,列表重 建模組1 700使用文件儲存1 745、針對未決列表之堆疊的 儲存1750、及樣板定義1755»文件儲存1745儲存有關列 表重建模組1 700用以識別及重建列表之一或多個文件的 資訊。此資訊可包括行及文字線資訊,包括這些文件物件 的邊界。在某些具體實施例中,文件儲存1 745儲存一文 件物件模組,例如美國專利申請案20 1 0/0 1 7498 5所述, 其係倂入本文作爲參考。針對未決列表之堆疊的儲存1 750 儲存在列表重建程序過程中之可能列表的一未決堆疊。在 某些具體實施例中,此資訊係儲存於RAM中。樣板定義 係儲存字母之一列表以及有關列表樣板函數1 740所需字 母之資訊。在某些具體實施例中,文件資訊、未決堆疊、 及樣板定義係儲存於一實體儲存中。在其他具體實施例中 ,此資訊係儲存於不同的實體儲存中;舉例來說,文件資 訊及樣板定義可儲存於永久儲存中,而未決堆疊儲存於 RAM中。此外,其中一儲存實際上可分裂成多個實體儲存 (如不同文件可能儲存於不同磁碟上)。 -34- 201250494 列表間距識別器1 7 0 5使用文件資訊1 7 4 5而識別一文 件中的列表間距。在某些具體實施例中,列表間距識別器 1 7 05係識別在文件之一行中的可能分離間隙、將間距囊集 作爲重疊分離間隙的垂直帶、且決定間距是否符合列表間 距的需求。 列表等級識別器1 7 1 0使用列表間距及文件資訊! 745 以識別具有一列表間距之每一文字線的列表等級。如上述 ,某些具體實施例開始於文字線基線的左邊緣,且決定有 多少列表間距相交於在左行邊緣之該點之間。此數量爲文 字線的列表等級。 列表重建器1 7 1 5使用列表間距及列表等級資訊以及 來自文件儲存1 745的文件資訊(例如有關文字線中的字 及/或字元),以重建一行內的列表。在某些具體實施例 中,列表重建器1715執行圖8所示之程序8 00的部分或 全部。 某些具體實施例的列表重建器1 7 1 5使用列表樣板函 數174〇。這些包括樣板識別器1 72 5、標籤詞彙分析器 1730、及標籤產生器1735。所有的這些函數使用樣板定義 1 7 55,其包括標題符號或序數類型及其字母。樣板識別符 1 725識別一給定列表標籤的樣板。樣板識別符檢查列表標 籤的字元以識別其字母,且一旦識別字母則決定列表樣板 的字首及字尾。標籤詞彙分析器1 73 0採用標籤的標題符 號或序數部分作爲輸入,並輸出標籤所表示之項目數目作 爲輸出。標籤產生器1735本質上係執行標籤詞彙分析器 -35- 201250494 1 73 0的反函數,將項目數目及標籤樣板轉化爲標籤。 跨行匹配器1 720針對多個有序行使用列表重建器 1 7 1 5的輸出,且匹配行間的列表。在某些具體實施例中, 如上述,跨行匹配器在具有開放式末端狀態之第一行的列 表與具有開放式開始狀態之後續行的列表之間尋找符合特 定標準的匹配。爲識別這些匹配,跨行匹配器1 720使用 列表樣板函數1 740。 列表驗證器1 72 2使用跨行匹配器的輸出(最後的列 表組)並驗證列表。沒有符合特定驗證標準的任何列表將 從列表組移除,且依需要修改任何嵌套的列表。在某些具 體實施例中,這些標準包括要求每一列表包括至少兩個項 S。 雖然許多特徵係描述爲由一模組(如列表重建器1 7 1 5 、列表間距識別器1 705等)所執行,但熟此技藝者將理 解到本文中所述的功能可分割至多個模組。類似地,描述 爲由多個不同模組所執行之功能在某些具體實施例中也可 由單一模組所執行(例如跨行匹配器1 720可能爲列表重 建器1 7 1 5的部分)。 V.電子系統 許多上述特徵及應用係實施爲軟體程序,其係指定爲 記錄於電腦可讀儲存媒體(亦稱作電腦可請媒體)上的一 組指令。當這些指令由一或多個計算或處理單元(例如一 或多個處理器、處理器核心或其他處理單元)所執行時, -36- 201250494 其係造成處理單元執行指令中所指示的動作 體的範例包括但不限於CD-ROMs、快閃驅 記憶體(RAM )晶片、硬碟驅動、可抹除可 憶體(EPROMs )、電子可抹除可程式化[ EEPROMs )等》電腦可讀媒體並不包括載波 經由有線連接的電子信號。 在此說明書中’ 「軟體」一詞係指包括 億體的初體或儲存於磁性儲存的應用程式, 體供處理器處理。再者,在某些具體實施例 發明可實施爲較大程式的次部分而仍維持不 。在某些具體實施例中,多個軟體發明可實 式。最後’共同實施本文所述之軟體發明之 何組合係在本發明範疇內。在某些具體實施 式當在一或多個電子系統上安裝以操作時, 及完成軟體程式操作之一或多個特定的機器] 圖18槪念性地描述實施本發明某些具 子系統1 8 00。電子系統1 8 00可爲一電腦( 、個人電腦、平板電腦等)、手機、PDA、 類的電子裝置。這樣的一電子系統包括各種 讀媒體以及用於各種其他類型的電腦可讀媒 子系統1800包括匯流排1805、處理單元18 單元(GPU ) 1815、系統記憶體1 8 20、網勝 記億體1 83 0、永久儲存裝置1 83 5、輸入裝g 出裝置1 845。匯流排1 805係共同地表示通 。電腦可讀媒 動、隨機存取 程式化唯讀記 隹讀記憶體( 及無線傳遞或 駐存於唯讀記 其可讀入記億 中,多個軟體 同的軟體發明 施爲不同的程 各別程式的任 例中1軟體程 其係定義執行 蒙施。 體實施例的電 如桌上型電腦 或任何其他種 類型的電腦可 體之介面。電 1 〇、圖形處理 $ 1 8 2 5、唯讀 | 1 840、及輸 訊地連接電子 -37- 201250494 系統1800之多個內部裝置的所有系統、週邊、及晶片組 匯流排。舉例來說,匯流排1805通訊地連接處理單元 1810與唯讀記憶體1830、GPU 1815、系統記憶體1820、 及永久儲存裝置1 8 3 5。 從這些各種的記憶體單元,處理單元1810擷取要執 行的指令以及要處理的資料,以執行本發明的程序。在不 同具體實施例中,處理單元可爲單一處理器或多核心處理 器。某些指令係傳遞且由GPU 1815執行。GPU 1815可卸 載各種計算或輔助處理單元1810所提供之影像處理。在 某些具體實施例中’此功能性可使用Corelmage的核心渲 染語言而提供》 唯讀記億體(ROM) 1 83 0儲存處理單元ι810及電子 系統的其他模組所需的靜態資料及指令。另一方面,永久 儲存裝置1835爲一讀寫(read-and-write)記億體裝置。 此裝置爲非揮發性記憶體單元,其即使在電子系統丨8 〇 〇 關閉時也儲存指令及資料。本發明的某些具體實施例使用 —大量儲存裝置(例如磁碟或光碟及其對應的碟片驅動) 作爲永久儲存裝置1 83 5。 其他具體實施例使用一可移除儲存裝置(例如軟碟、 快閃記憶體裝置等及其對應的驅動)作爲永久儲存裝置。 類似永久儲存裝置1 83 5 ’系統記億體1 820爲一讀寫記億 體裝置。然而’與儲存裝置1 83 5不同,系統記憶體1820 爲揮發性讀寫記憶體,如一隨機存取記億體。系統記憶體 182〇儲存處理器在運行時所需的某些指令及資料。在某些 201250494 具體實施例中’本發明的程序係儲存於系統記憶體1 82〇、 永久儲存裝置1 83 5、及/或唯讀記憶體183〇中。舉例來說 ,根據某些具體實施例’各種記憶體單元包括用以處理多 媒體晶片的指令。從這些不同的記憶體單元,處理單元 1810擷取要執行的指令及要處理的資料,以執行某些具體 實施例的程序。 匯流排1805也連接至輸入及輸出裝置1840及1845。 輸入裝置1840致能使用者傳達資訊並選擇指令至電子系 統。輸入裝置1840包括文字數位的鍵盤及指向裝置(亦 稱作「游標控制裝置」)、相機(網路攝影機)、麥克風 或用以接收聲音指令的類似裝置等。輸出裝置1 845顯示 由電子系統產生的影像或其他輸出資料。輸出裝置1845 包括印表機及顯示裝置(例如陰極射線管(CRT )或液晶 顯示器(LCD ))、以及揚聲器或類似的音頻輸出裝置。 某些具體實施例包括作用爲輸入及輸出裝置兩者的裝置, 例如觸控螢幕。 最後’如圖1 8所示,匯流排1 8 05也經由網路配接器 (圖未示)耦合電子系統1 800至一網路1 82 5。在此方式 中’電腦可爲多個電腦(例如一區域網路(LAN ))、廣 域網路(WAN)、或內部網路的網路、或是網路的網路( 如網際網路)之一部分。電子系統1 800的任何或所有構 件可與本發明共同使用。 某些具體實施例包括電子構件(例如微處理器)、儲 存電腦程式指令於機器可讀或電腦可讀媒體(或稱作電腦 -39- 201250494 可讀儲存媒體、機器可讀媒體、或機器可讀儲存媒體)的 儲存及記憶體。這類電腦可讀媒體的某些範例包括RAM、 ROM、唯讀光碟片(CD-ROM )、可寫入光碟片(CD-R ) 、可重寫光碟片(CD-RW )、唯讀數位通用碟片(如 DVD-ROM、雙層 DVD-ROM )、各種可寫入/可重寫 DVD (如 DVD-RAM、DVD-RW、DVD + RW 等)、快閃記憶體 (如SD卡、迷你SD卡、微SD卡等)、磁性及/或固態 硬碟驅動、唯讀及可寫入藍光碟片、超高密度光碟、任何 其他光學或磁性媒體、或軟碟。電腦可讀媒體可儲存可由 至少一處理單元執行之電腦程式,且包括指令組以執行各 種操作。電腦程式或程式碼的範例包括機器碼(例如由編 譯器所產生)以及包括高階編碼的檔案,其係由電腦、電 子構件、或微處理器使用一解譯器而執行。 雖然上述討論主要關於執行軟體的微處理器或多核心 處理器,但某些具體實施例係由一或多個積體電路所執行 ,例如特定應用積體電路(A S IC s )或場可程式化閘陣列 (FPG As )。在某些具體實施例中,此類積體電路執行儲 存在電路本身的指令。此外,某些具體實施例執行儲存於 可程式化邏輯裝置(PLDs ) 、ROM、或RAM裝置中的軟 體。 在本說明書及本申請案之任何申請專利範圍中所使用 的「電腦j 、「伺服器j 、「處理器」、及「記億體」之 術語皆指電子或其他技術裝置。這些術語排除人或人的群 組。針對本說明書的目的,顯示(display或displaying)
S -40- 201250494 一詞意指顯示於一電子裝置上。在本說明書 任何申請專利範圍中所使用的「電腦可讀媒 可讀媒體」之術語係完全限制於以可由電腦 儲存資訊之有形、實體的物件。這些術語排 號、有線下載信號'及任何其他短暫信號。 雖然本發明已參考需多特定細節而描述 將理解到本發明可以其他特定形式具體化, 發明的精神。舉例來說,本文中的描述假設 右及由上至下而讀取。熟此技藝者將了解到 及/或由下至上讀取之文字(例如右至左的 似程序。此外,圖式(包括圖2、7、8及P 念性地描述程序。這些程序的特定操作可沒 示及所描述的順序而執行。特定操作可沒有 作序列執行,且不同的特定操作可於不同具 行。此外,程序可使用數個次程序而執行或 巨程序的部分。因此,熟此技藝者將了解到 限於前文中所描述的細節,而是由後附申請 義。 【圖式簡單說明】 本發明的新穎特徵將於後附申請專利範 而,爲解釋目的,將於以下圖式中提出本發 實施例。 圖1描述包括各種列表之一行的範例; 及本申請案之 體」及「機器 可讀取之形式 除任何無線信 ,熟此技藝者 而不會偏離本 文字係由左至 可對由右至左 語言)使用類 l·)的號碼係槪 有完全依照所 以一連續的操 體實施例中執 可實施爲較大 本發明並不受 專利範圍所定 圍中提出。然 明的數個具體 -41 - 201250494 圖2槪念地描述用以重建跨越一或多行文字之列表之 某些具體實施例的程序; 圖3描述二十三個有序文字線的單一行,其係明顯可 見屬於一列表; 圖4描述針對一行之識別列表項目起始候選,其剛好 也是行的前八線; 圖5描述針對圖4之行之某些具體實施例的列表等級 計算; 圖6描述圖4之行的前兩線之可能的標籤樣板; 圖7係槪念性的描述某些具體實施例用以識別在文字 線的一行內之列表間距的程序; 圖8A及圖8B槪念性地描述用以在單一行中重建列表 之某些具體實施例的程序; 圖9槪念性地描述涵蓋十一個階段之未決列表的一堆 疊; 圖1 〇描述一多線列表項目的範例; 圖1 1描述一行,其中列表項目之間的段落係以列表 項目分組且無導致列表的封閉; 圖12描述具有在嵌套列表標題間之段落內容的此類 列表的部分之範例: 圖1 3描述一組嵌套列表的範例; 圖〗4係槪念地描述用以重建橫跨多行之列表之某些 具體實施例的程序: 圖15描述一文件之隨後的兩行:
S -42- 201250494 圖1 6描述一文件之隨後兩行的範例,其中當行的列 表結合時’一列表改變等級而第二列表留在相同等級’但 保留單調的要求; 圖1 7槪念性地描述某些具體實施例之列表重建模組 的軟體架構;以及 圖18槪念性地描述實施本發明某些具體實施例的電 子系統。 【主要元件符號說明】 1 00 :行(圖1未顯示) 200 :程序(圖2未顯示) 3 00 :行 3 0 5 :間距 3 1 0 :間距 3 1 5 :間距 320 :間距 325 :間距 3 3 0 :間距 3 3 5 :間距 340 :間距 400 :行 4〇5 :間距 900 :堆曼 9 0 5 :階段 -43- 201250494 9 1 0 :階段 9 1 5 :階段 920 :階段 925 :階段 930 :階段 935 :階段 940 :階段 945 :階段 9 5 0 :階段 955 :階段 9 6 0:歹丨J表 965 :列表 970 :歹IJ表 1 000:列表項目 1 100 :行(圖1 1未顯示) 1 3 0 0 :—組嵌套列表(圖1 3未顯示) 1 5 05 :第一行 1 5 1 0 :第二行 1 605 :第一行 1 6 1 0 :第二行 1 700 :列表重建模組 1 7 05 :列表間距識別器 1 7 1 0 :列表等級識別器 1 7 1 5 :列表重建器 -44 -
S 201250494 1 720 :跨行匹配器 1 722 :列表驗證器 1 725 :樣板識別器 1 73 0 :標籤詞彙分析器 1 73 5 :標籤產生器 1 740 :列表樣板函數 1 745 :文件儲存 1 75 0 :針對未決列表之堆疊的儲存 1 7 5 5 :樣板定義 1 8 0 0 :電子系統 1 8 0 5 :匯流排 1 8 1 0 :處理單元 1 8 1 5 :圖形處理單元 1 8 20 :系統記憶體 1825 :網路 1 8 3 0 :唯讀記億體 1 8 3 5 :永久儲存裝置 1 840 :輸入裝置 1 8 4 5 :輸出裝置 -45-

Claims (1)

  1. 201250494 七、申請專利範圍: 1 . 一種儲存一電腦程式之電腦可讀媒體,當該電腦 程式由至少一處理器執行時係分析包含複數個基元元件的 —文件,該電腦程式包含指令組用以: 基於一組基元元件之位置及表象而識別該組基元元件 包含一內隱列表於該文件中; 定義該識別的內隱列表爲一外顯列表;以及 儲存該外顯列表爲相關於該文件之一結構。 2.如申請專利範圍第1項所述之電腦可讀媒體,其 中用以識別之該組指令包含指令組用以: 基於該等基元元件之間距、對準、及內容而識別潛在 的列表項目;以及 使用該等基元元件之該間距、對準、及內容而將該等 潛在的列表項目分類爲列表。 3 ·如申請專利範圍第1項所述之電腦可讀媒體,其 中用以識別之該組指令包含指令組用以: 分別地識別在一第一行中之一第一列表以及在一第二 行中之一第二列表:以及 決定該第一列表及該第二列表爲一單一列表之部分。 4 ·如申請專利範圍第3項所述之電腦可讀媒體,其 中用以定義之該組指令包含一指令組用以連接該第一列表 及該第二列表。 5.如申請專利範圍第1項所述之電腦可讀媒體,其 中該文件爲一可攜式文件格式(PDF )文件,其中用以儲 S -46- 201250494 存該外顯列表爲一結構之該組指令包含指令組用以: 針對該文件定義一序列化格式;以及 儲存該外顯列表爲一結構於該序列化文件中。 6. —種儲存一電腦程式之電腦可讀媒體,當該電腦 程式由至少一處理器執行時係分析包含複數個基元元件的 一文件,該電腦程式包含指令組用以: 基於複數個文字線之特定特性而識別在一文件之一行 中之該複數個文字線爲列表項目: 基於該列表項目之對準、間距、及內容而識別針對該 列表項目的階層等級;以及 針對該行而定義一階層組織化之列表組,其中具有相 同階層等級之列表項目在相同列表中。 7. 如申請專利範圍第6項所述之電腦可讀媒體,其 中用以識別該複數個文字線之該組指令包含指令組用以: 識別在該行之文字線中的對準間隙;以及 決定哪些該等對準間隙係指示在一列表項目標籤及一 列表項目間的間距。 8. 如申請專利範圍第7項所述之電腦可讀媒體,其 中該基元元件包含複數個字符,其中用以識別對準間隙之 該組指令包含指令組用以: 識別大於在一字元中之字符間之間隙以及字元間之間 隙之在一文字線中之連續字符之間的間隙;以及 識別在該行之連續文字線中對準之間隙組。 9. 如申請專利範圍第7項所述之電腦可讀媒體,其 -47- 201250494 中用以決定哪些該等對準間隙係指示間距之該組指令包含 一指令組用以識別具有一單一短字元至左以及左對準文字 至右的間隙。 1 0 ·如申請專利範圍第7項所述之電腦可讀媒體,其 中用以識別針對該等列表項目的階層等級之該組指令包含 指令組用以: 針對具有指示在一列表項目標籤及一列表項目間之間 距之一間隙的每一文字線’決定至該列表項目標籤左方的 一些間隙;以及 基於針對該文字線之該列表項目標籤左方之該些間隙 而指派每一該文字線至一階層等級。 11.如申請專利範圍第6項所述之電腦可讀媒體,其 中用以定義一階層組織化之列表組之該組指令包含一指令 組用以產生一未決列表堆疊’其儲存有關可加入額外列表 項目之列表的資訊。 1 2 ·如申請專利範圍第1 1項所述之電腦可讀媒體, 其中用以定義一階層組織化之列表組之該組指令包含指令 組供迭代地: 從該行中選擇一文字線;以及 指派該所選文字線至在該列表組中的一列表。 1 3 .如申請專利範圍第1 2項所述之電腦可讀媒體, 其中用以指派該所選文字線至一列表之該指令組包含指令 組用以: 基於在該文字線中之一列表項目標籤而識別該文字線 -48- 201250494 之一列表類型; 決定該所識別之列表類型的一列表在該未決列表堆疊 中是否爲未決; 當該所識別列表類型之一列表爲未決時,指派該文字 線作爲在該未決列表中的一列表項目;以及 當無該所識別列表類型之列表爲未決時,將具有該文 字線之一新列表作爲一列表項目加入至該未決列表堆疊。 1 4.如申請專利範圍第1 3項所述之電腦可讀媒體, 其中該列表類型指示相關於其他列表之一內縮等級以及用 於該列表項目標籤之一字母。 1 5 ·如申請專利範圍第1 4項所述之電腦可讀媒體, 其中用以決定該所識別之列表類型的一列表是否爲未決之 該指令組包含指令組用以: 決定在該堆疊中之任何未決列表是否具有相同之該內 縮等級及相同之該字母;以及 根據該字母而決定該列表項目標籤是否匹配在該未決 列表中之下一列表項目。 1 6 ·如申請專利範圍第1 3項所述之電腦可讀媒體, 其中用以加入一新列表至該未決列表堆疊之該指令組包含 一指令組,用以從該未決列表堆疊中移除等級比在該階層 組織化之列表組中之該新列表高之任何列表。 1 7 .如申請專利範圍第1 3項所述之電腦可讀媒體, 其中用以指派該文字線作爲在該未決列表中的一列表項目 之該指令組包含一指令組,用以從該未決列表堆疊中移除 -49- 201250494 等級比在該階層組織化之列表組中之該未決列表高之任何 列表。 18. —種用以分析包含複數個基元元件之一文件的方 法,該方法包含: 識別在該文件中之在一第一行中之第一組階層組織化 列表以及在該第一行之後之一第二行中之第二組階層組織 化列表; 決定在該第一組階層組織化列表中之一第一列表係持 續作爲在該第二組階層組織化列表中之一第二列表; 儲存該第一列表及該第二列表爲相關於該文件之一單 一列表結構。 19. 如申請專利範圍第18項所述之方法,其中決定 在該第一組中之一第一列表係持續作爲在該第二組中之該 第二列表係包含: 決定該第一列表具有一開放結束狀態且該第二列表具 有一開放開始狀態; 決定用於在該第一列表中之列表標籤的一字母與用於 在該第二列表中之列表標籤的字母相同;以及 根據該字母而決定在該第二列表中之一第一列表項目 之一標頭係跟隨在該第一列表中之一最後列表項目之一標 頭。 20. 如申請專利範圍第1 8項所述之方法,更包含決 定在該第一組階層組織化列表中的一第三列表係持續作爲 在該第二組階層組織化列表中的一第四列表,其中該第一 -50- 201250494 列表之等級以及該第三列表之等級之間的關係與該第二列 表之等級以及該第四列表之等級之間的關係相同。 -51 -
TW101101399A 2011-01-18 2012-01-13 用於文件中之列表重建的方法及電腦程式產品 TWI472933B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161433951P 2011-01-18 2011-01-18
US201161433959P 2011-01-18 2011-01-18
US13/106,806 US8380753B2 (en) 2011-01-18 2011-05-12 Reconstruction of lists in a document

Publications (2)

Publication Number Publication Date
TW201250494A true TW201250494A (en) 2012-12-16
TWI472933B TWI472933B (zh) 2015-02-11

Family

ID=45655141

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101101399A TWI472933B (zh) 2011-01-18 2012-01-13 用於文件中之列表重建的方法及電腦程式產品

Country Status (7)

Country Link
US (2) US8380753B2 (zh)
EP (1) EP2477124A1 (zh)
JP (2) JP5480920B2 (zh)
KR (2) KR101321309B1 (zh)
AU (1) AU2012200110B2 (zh)
TW (1) TWI472933B (zh)
WO (1) WO2012099803A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9251123B2 (en) * 2010-11-29 2016-02-02 Hewlett-Packard Development Company, L.P. Systems and methods for converting a PDF file
US8380753B2 (en) 2011-01-18 2013-02-19 Apple Inc. Reconstruction of lists in a document
AU2012282688B2 (en) 2011-07-11 2017-08-17 Paper Software LLC System and method for processing document
WO2013009889A1 (en) 2011-07-11 2013-01-17 Paper Software LLC System and method for searching a document
AU2012281166B2 (en) 2011-07-11 2017-08-24 Paper Software LLC System and method for processing document
US10572578B2 (en) * 2011-07-11 2020-02-25 Paper Software LLC System and method for processing document
US10346516B2 (en) * 2013-02-27 2019-07-09 International Business Machines Corporation Readable structural text-based representation of activity flows
KR102147935B1 (ko) * 2013-08-29 2020-08-25 삼성전자주식회사 데이터 처리 방법 및 그 전자 장치
CN107704468A (zh) * 2016-08-08 2018-02-16 广州市动景计算机科技有限公司 页面显示方法、装置和客户端设备
KR101880508B1 (ko) * 2017-04-27 2018-07-20 주식회사 한글과컴퓨터 웹 문서에서 목록 생성을 지원하는 웹 문서 편집 지원 장치 및 방법
CN109871743B (zh) * 2018-12-29 2021-01-12 口碑(上海)信息技术有限公司 文本数据的定位方法及装置、存储介质、终端
US11140112B1 (en) * 2020-06-29 2021-10-05 Unify Patente Gmbh & Co. Kg Method of generating a thread for discussion amongst a plurality of participants in a group conversation and real-time communication and collaboration platform
US20220335240A1 (en) * 2021-04-15 2022-10-20 Microsoft Technology Licensing, Llc Inferring Structure Information from Table Images
AU2023210531B1 (en) * 2023-07-31 2023-11-16 Canva Pty Ltd Systems and methods for processing designs

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6346565A (ja) * 1986-08-13 1988-02-27 Nec Corp 目次生成処理方式
JP2855797B2 (ja) 1990-06-15 1999-02-10 富士ゼロックス株式会社 文書処理装置
US5335290A (en) 1992-04-06 1994-08-02 Ricoh Corporation Segmentation of text, picture and lines of a document image
US5680479A (en) 1992-04-24 1997-10-21 Canon Kabushiki Kaisha Method and apparatus for character recognition
JP2789971B2 (ja) 1992-10-27 1998-08-27 富士ゼロックス株式会社 表認識装置
JPH06214983A (ja) * 1993-01-20 1994-08-05 Kokusai Denshin Denwa Co Ltd <Kdd> 文書画像の論理構造化文書への変換方法および装置
JP3302147B2 (ja) 1993-05-12 2002-07-15 株式会社リコー 文書画像処理方法
NL9301004A (nl) 1993-06-11 1995-01-02 Oce Nederland Bv Inrichting voor het bewerken en reproduceren van digitale beeldinformatie.
JP2618832B2 (ja) 1994-06-16 1997-06-11 日本アイ・ビー・エム株式会社 文書の論理構造の解析方法及びシステム
US5555556A (en) 1994-09-30 1996-09-10 Xerox Corporation Method and apparatus for document segmentation by background analysis
US5987171A (en) 1994-11-10 1999-11-16 Canon Kabushiki Kaisha Page analysis system
US5689585A (en) 1995-04-28 1997-11-18 Xerox Corporation Method for aligning a text image to a transcription of the image
US5848186A (en) 1995-08-11 1998-12-08 Canon Kabushiki Kaisha Feature extraction system for identifying text within a table image
JPH0969101A (ja) 1995-08-31 1997-03-11 Hitachi Ltd 構造化文書生成方法および装置
US5892842A (en) * 1995-12-14 1999-04-06 Xerox Corporation Automatic method of identifying sentence boundaries in a document image
US5841900A (en) 1996-01-11 1998-11-24 Xerox Corporation Method for graph-based table recognition
US5784487A (en) 1996-05-23 1998-07-21 Xerox Corporation System for document layout analysis
US5956737A (en) 1996-09-09 1999-09-21 Design Intelligence, Inc. Design engine for fitting content to a medium
US6175844B1 (en) 1997-05-29 2001-01-16 Adobe Systems Incorporated Ordering groups of text in an image
US6687404B1 (en) 1997-06-20 2004-02-03 Xerox Corporation Automatic training of layout parameters in a 2D image model
US6562077B2 (en) 1997-11-14 2003-05-13 Xerox Corporation Sorting image segments into clusters based on a distance measurement
US6173073B1 (en) 1998-01-05 2001-01-09 Canon Kabushiki Kaisha System for analyzing table images
JP3940491B2 (ja) 1998-02-27 2007-07-04 株式会社東芝 文書処理装置および文書処理方法
US6377704B1 (en) 1998-04-30 2002-04-23 Xerox Corporation Method for inset detection in document layout analysis
JP2001101164A (ja) 1999-09-29 2001-04-13 Toshiba Corp 文書画像処理装置及び文書画像処理方法
US7249318B1 (en) 1999-11-08 2007-07-24 Adobe Systems Incorporated Style sheet generation
US6910182B2 (en) 2000-01-31 2005-06-21 Xmlcities, Inc. Method and apparatus for generating structured documents for various presentations and the uses thereof
US6757870B1 (en) 2000-03-22 2004-06-29 Hewlett-Packard Development Company, L.P. Automatic table detection method and system
US8230323B2 (en) 2000-12-06 2012-07-24 Sra International, Inc. Content distribution system and method
JP2002178811A (ja) 2000-12-14 2002-06-26 Takata Corp 子供用座席装置
US20030004971A1 (en) * 2001-06-29 2003-01-02 Gong Wen G. Automatic generation of data models and accompanying user interfaces
US6801673B2 (en) 2001-10-09 2004-10-05 Hewlett-Packard Development Company, L.P. Section extraction tool for PDF documents
JP2003288334A (ja) 2002-03-28 2003-10-10 Toshiba Corp 文書処理装置及び文書処理方法
US7142728B2 (en) * 2002-05-17 2006-11-28 Science Applications International Corporation Method and system for extracting information from a document
CA2486528C (en) 2002-05-20 2010-04-27 Tata Infotech Ltd. Document structure identifier
US7191186B1 (en) * 2002-11-27 2007-03-13 Microsoft Corporation Method and computer-readable medium for importing and exporting hierarchically structured data
US7272258B2 (en) 2003-01-29 2007-09-18 Ricoh Co., Ltd. Reformatting documents using document analysis information
US7313754B2 (en) 2003-03-14 2007-12-25 Texterity, Inc. Method and expert system for deducing document structure in document conversion
US7305612B2 (en) 2003-03-31 2007-12-04 Siemens Corporate Research, Inc. Systems and methods for automatic form segmentation for raster-based passive electronic documents
US7890852B2 (en) 2003-06-26 2011-02-15 International Business Machines Corporation Rich text handling for a web application
JP2005149269A (ja) 2003-11-18 2005-06-09 Hitachi Systems & Services Ltd 構造化文書の処理システム
JP4012140B2 (ja) 2003-11-20 2007-11-21 キヤノン株式会社 画像処理装置、情報処理装置及びそれらの制御方法、プログラム
US7386789B2 (en) 2004-02-27 2008-06-10 Hewlett-Packard Development Company, L.P. Method for determining logical components of a document
KR100747879B1 (ko) 2004-06-10 2007-08-08 캐논 가부시끼가이샤 화상 처리 장치, 제어 방법 및 기록 매체
US7558792B2 (en) 2004-06-29 2009-07-07 Palo Alto Research Center Incorporated Automatic extraction of human-readable lists from structured documents
JP2006134036A (ja) * 2004-11-05 2006-05-25 Matsushita Electric Ind Co Ltd スライド構造化装置
US7693848B2 (en) 2005-01-10 2010-04-06 Xerox Corporation Method and apparatus for structuring documents based on layout, content and collection
US8245131B2 (en) 2005-02-10 2012-08-14 Hewlett-Packard Development Company, L.P. Constraining layout variations for accommodating variable content in electronic documents
US8302002B2 (en) 2005-04-27 2012-10-30 Xerox Corporation Structuring document based on table of contents
US7392473B2 (en) 2005-05-26 2008-06-24 Xerox Corporation Method and apparatus for determining logical document structure
US7555711B2 (en) 2005-06-24 2009-06-30 Hewlett-Packard Development Company, L.P. Generating a text layout boundary from a text block in an electronic document
EP1739574B1 (en) 2005-07-01 2007-09-12 PDFlib GmbH Method of identifying words in an electronic document
GB2428114A (en) 2005-07-08 2007-01-17 William Alan Hollingsworth Data Format Conversion System
US7613996B2 (en) 2005-08-15 2009-11-03 Microsoft Corporation Enabling selection of an inferred schema part
US8307275B2 (en) * 2005-12-08 2012-11-06 International Business Machines Corporation Document-based information and uniform resource locator (URL) management
US7623710B2 (en) 2006-02-14 2009-11-24 Microsoft Corporation Document content and structure conversion
CN101055578A (zh) * 2006-04-12 2007-10-17 龙搜(北京)科技有限公司 基于规则的文档内容挖掘器
US7603351B2 (en) 2006-04-19 2009-10-13 Apple Inc. Semantic reconstruction
US7756333B2 (en) 2006-04-26 2010-07-13 Microsoft Corporation Document layout verification
JP2008097436A (ja) 2006-10-13 2008-04-24 Canon Inc 構造化文書構造自動解析および構造自動再構築装置
US8504553B2 (en) 2007-04-19 2013-08-06 Barnesandnoble.Com Llc Unstructured and semistructured document processing and searching
US8996682B2 (en) * 2007-10-12 2015-03-31 Microsoft Technology Licensing, Llc Automatically instrumenting a set of web documents
JP2009110500A (ja) 2007-10-29 2009-05-21 Toshiba Corp ドキュメント処理装置、ドキュメント処理方法、ドキュメント処理装置のプログラム
RU2007141666A (ru) 2007-11-13 2009-05-20 Николай Игоревич Докучаев (RU) Способ сбора, обработки и каталогизации целевой информации из неструктурированных источников
US20100145720A1 (en) 2008-12-05 2010-06-10 Bruce Reiner Method of extracting real-time structured data and performing data analysis and decision support in medical reporting
TW201025049A (en) * 2008-12-31 2010-07-01 Inventec Appliances Corp Method and system to integrate location information within file, and computer program product using the method thereof
US8473467B2 (en) 2009-01-02 2013-06-25 Apple Inc. Content profiling to dynamically configure content processing
US8380753B2 (en) 2011-01-18 2013-02-19 Apple Inc. Reconstruction of lists in a document

Also Published As

Publication number Publication date
US8380753B2 (en) 2013-02-19
KR101394723B1 (ko) 2014-05-15
KR101321309B1 (ko) 2013-10-29
JP2012164305A (ja) 2012-08-30
KR20130096686A (ko) 2013-08-30
WO2012099803A1 (en) 2012-07-26
KR20120099578A (ko) 2012-09-11
JP5826299B2 (ja) 2015-12-02
AU2012200110B2 (en) 2013-05-16
US8886676B2 (en) 2014-11-11
JP5480920B2 (ja) 2014-04-23
US20130227406A1 (en) 2013-08-29
AU2012200110A1 (en) 2012-08-02
TWI472933B (zh) 2015-02-11
EP2477124A1 (en) 2012-07-18
US20120185491A1 (en) 2012-07-19
JP2014096171A (ja) 2014-05-22

Similar Documents

Publication Publication Date Title
TWI472933B (zh) 用於文件中之列表重建的方法及電腦程式產品
JP6141921B2 (ja) 文書再構成の方法及びシステム
US8442998B2 (en) Storage of a document using multiple representations
JP5789525B2 (ja) 文書コンテンツの順序付け
US20080270119A1 (en) Generating sentence variations for automatic summarization
US9811727B2 (en) Extracting reading order text and semantic entities
Boersma et al. Efficient evaluation and learning in multilevel parallel constraint grammars
EP3598321A1 (en) Method for parsing natural language text with constituent construction links
US10810368B2 (en) Method for parsing natural language text with constituent construction links
JP5979650B2 (ja) 用語を適切な粒度で分割する方法、並びに、用語を適切な粒度で分割するためのコンピュータ及びそのコンピュータ・プログラム
JP5942981B2 (ja) 要約作成装置、要約作成方法、およびプログラム
JP2019153119A (ja) 文章抽出装置、プログラム
Langlais Classified News