Page stream segmentation
Abstract
Described are system, method, and computer-program product embodiments for performing language-agnostic page stream segmentation. In some embodiments, a method includes receiving a multi-page file associated with a plurality of documents. A plurality of characters present on each page of the set of consecutive pages, including a first page and a second page, of the multi-page file can be detected. A plurality of structural data for each page can be computed based on a position and a font format for one or more of the detected characters. The plurality of structural data between the first page and the second page can be compared to determine whether the second page corresponds to a boundary between two documents of the plurality of documents. The multi-page file can be segmented at the second page in response to determining that the second page corresponds to the boundary.
Claims
exact text as granted — not AI-modified1 . A method for performing language-agnostic page stream segmentation, comprising:
receiving a multi-page file comprising a plurality of documents; detecting a plurality of characters present on each page of a set of consecutive pages in the multi-page file, wherein the set of consecutive pages comprises a first page and a second page; computing a plurality of structural data for each page of the set of consecutive pages based on a position and a font format for one or more characters detected on that page; providing the plurality of structural data for the first page and the second page of the set of consecutive pages as inputs into a machine learning model configured to determine whether the second page corresponds to a boundary between two documents of the plurality of documents based on the inputs; and segmenting the multi-page file at the second page in response to a determination from the machine learning model indicating that the second page corresponds to the boundary.
2 . The method of claim 1 , wherein the set of consecutive pages comprises a third page, and wherein the first page precedes the second page and the third page follows the second page, further comprising:
comparing the plurality of structural data between the first and second pages of the set of consecutive pages and between the second and third pages of the set of consecutive pages to determine whether the second page corresponds to a boundary between two documents of the plurality of documents.
3 . The method of claim 1 , wherein segmenting the multi-page file comprises:
storing an indicator that the second page is a boundary between two documents.
4 . The method of claim 3 , wherein segmenting the multi-page file at the second page comprises:
requesting a user to confirm whether the indicator of the second page corresponds to the boundary between two documents before splitting the multi-page file.
5 . The method of claim 1 , wherein comparing the plurality of structural data between the first and second pages of the set of consecutive pages comprises:
providing the plurality of structural data for each page as inputs into a machine learning model configured to output a determination as to whether the second page corresponds to the boundary between two documents.
6 . The method of claim 1 , wherein computing the plurality of structural data for each page comprises:
determining a position and a font format for each character of the plurality of characters detected on that page.
7 . The method of claim 1 , wherein detecting the plurality of characters on each page comprises:
performing optical character recognition (OCR) on the page to detect the plurality of characters present on the page.
8 . The method of claim 7 , wherein performing the OCR comprises:
for each page, generating a text layer comprising the plurality of characters for that page, wherein the text layer maintains the position and the font format for each character of the plurality of characters.
9 . The method of claim 1 , wherein the multi-page file comprises a Tagged Image File Format (TIFF) file or a Portable Document Format (PDF) file.
10 . The method of claim 1 , wherein computing the plurality of structural data for each page comprises:
determining a page size of each page.
11 . The method of claim 1 , wherein the font format comprises one or more of a font size, a font style, or a font type.
12 . The method of claim 1 , wherein computing the plurality of structural data for each page comprises:
determining a font size of each character on the page based on the font format; and determining a minimum font size, a maximum font size, and one or more measures of central tendency for font size based on the font size determined for each character.
13 . The method of claim 1 , wherein the position for a character comprises two or more pairs of coordinates that define a region that the character occupies on the page.
14 . The method of claim 1 , wherein computing the plurality of structural data for each page comprises:
determining header and footer data for each page based on the position of each character, an upper threshold value, and a lower threshold value, wherein the header data includes a character having a position above the upper threshold value, and wherein the footer data includes a character having a position below the lower threshold value.
15 . The method of claim 1 , wherein comparing the plurality of structural data between the first and second pages of the set of consecutive pages comprises comparing header data, footer data, or header and footer data of the first and second pages.
16 . The method of claim 15 , wherein comparing the header data, the footer data, or the header and footer data of the first and second pages comprises at least one of:
comparing the header data of the first and second pages; comparing the footer data of the first and second pages; or comparing the footer data of the first page with the header data of the second page.
17 . The method of claim 16 , wherein comparing the header data, the footer data, or the header and footer data of the first and second pages comprises at least one of:
calculating a cosine similarity between the header data of the first and second pages; calculating a cosine similarity between the footer data of the first and second pages; calculating a cosine similarity between the footer data of the first page and the header data of the second page; or calculating a cosine similarity between the footer data of the second page and the header data of the first page.
18 . The method of claim 1 , wherein segmenting the multi-page file comprises:
generating at least two files to correspond to two documents of the plurality of documents based on the determination that the second page corresponds to the boundary.
19 . The method of claim 18 , wherein the set of consecutive pages comprises a third page, wherein the first page precedes the second page and the third page follows the second page, wherein the at least two files comprises a first file and a second file, and wherein generating the at least two files comprises one of:
generating the first file to include the first page and the second file to include the second and third pages; or generating the second file to include the third page and the first file to include the first and second pages.
20 . The method of claim 1 , wherein the first page precedes the second page.
21 . The method of claim 1 , wherein the second page precedes the first page.
22 . The method of claim 1 , wherein the multi-page file comprises a plurality of pages including the set of consecutive pages, and wherein the method comprises:
comparing the plurality of structural data of the second page in the set of consecutive pages with the plurality of structural data in each other page of the set of consecutive pages to determine whether the second page corresponds to the boundary between two documents of the plurality of documents.
23 . The method of claim 22 , wherein the set of consecutive pages comprises a predetermined number of consecutive pages that is at least three.
24 . The method of claim 22 , wherein the set of consecutive pages comprises a first subset of consecutive pages adjacent to and preceding the second page and comprises a second subset of consecutive pages adjacent to and following the second page.
25 . The method of claim 24 , wherein the first subset of consecutive pages comprises a first predetermined number of consecutive pages and the second subset of consecutive pages comprises a second predetermined number of consecutive pages.
26 . The method of claim 25 , wherein the first and second predetermined numbers are user configurable.
27 . The method of claim 1 , wherein the multi-page file comprises a plurality of pages, and wherein the method comprises:
for each page in the plurality of pages:
computing a plurality of structural data for a set of consecutive pages specific to and including the page, and
comparing the plurality of structural data of the page with the plurality of structural data of each other page in the set of consecutive pages specific to the page to determine whether the page corresponds to a boundary between two documents of the plurality of documents.
28 . A system for performing language-agnostic page stream segmentation, comprising:
one or more processors and memory storing one or more programs that when executed by the one or more processors cause the one or more processors to: receive a multi-page file comprising a plurality of documents; detect a plurality of characters present on each page of a set of consecutive pages in the multi-page file, wherein the set of consecutive pages comprises a first page and a second page; compute a plurality of structural data for each page of the set of consecutive pages based on a position and a font format for one or more characters detected on that page; provide the plurality of structural data for the first page and the second page of the set of consecutive pages as inputs into a machine learning model configured to determine whether the second page corresponds to a boundary between two documents of the plurality of documents based on the inputs; and segment the multi-page file at the second page in response to a determination from the machine learning model indicating that the second page corresponds to the boundary.
29 . A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a device with one or more processors and memory, the one or more programs including instructions for:
receiving a multi-page file comprising a plurality of documents; detecting a plurality of characters present on each page of a set of consecutive pages in the multi-page file, wherein the set of consecutive pages comprises a first page and a second page; computing a plurality of structural data for each page of the set of consecutive pages based on a position and a font format for one or more characters detected on that page; providing the plurality of structural data for the first page and the second page of the set of consecutive pages as inputs into a machine learning model configured to determine whether the second page corresponds to a boundary between two documents of the plurality of documents based on the inputs; and segmenting the multi-page file at the second page in response to a determination from the machine learning model indicating that the second page corresponds to the boundary.Join the waitlist — get patent alerts
Track US2020125630A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.