IP Library Granted Patent US 8,504,553
Granted Patent B2
US 8,504,553 · App. 11/737,660 · Granted Aug 6, 2013

Unstructured and semistructured document processing and searching

Inventors: Aditya Vailaya (San Jose, CA); Jiang Wu (Union City, CA); Manish Rathi (Palo Alto, CA)
Assignee: barnesandnoble.com llc
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,504,553
App. No.
11/737,660
Granted
Aug 6, 2013
Kind
B2
Abstract

A method for analyzing and indexing an unstructured or semistructured document according to one embodiment includes receiving an unstructured or semistructured document; converting the document to one or more text streams; analyzing the one or more text streams for identifying textual contents of the document; analyzing the one or more text streams for identifying logical sections of the document; associating the textual contents with the logical sections; indexing the textual contents and their association with the logical sections; and saving a result of the indexing in a data storage device.

Claims (60)

1. A method for analyzing and indexing an unstructured or semistructured document, comprising:

receiving an unstructured or semistructured document;

converting the document to one or more text streams;

analyzing the one or more text streams for identifying textual contents of the document; wherein the textual content contains words and bi-words;

analyzing the one or more text streams for identifying sections and paragraphs of the document;

indexing each word and/or bi-word with the sections and paragraphs, wherein the indexing further comprises assigning a predefined priority value to each word and/or bi-word within each section and paragraph; and

saving a result of the indexing in a data storage device;

wherein the results of the indexing includes correlation of at least one of words and bi-words to at least one of location and selections in the document, wherein the correlations are usable during a term-based search to identify the at least one of the location and sections in the document having a term matching the at least one of the words or bi-words, and further comprising identifying physical page numbers in the unstructured or semistructured document, and mapping logical page numbers to the physical page numbers, wherein each paragraph is individually detected by analyzing the one or more text streams, wherein the paragraphs are identified by: determining geometry information about lines of the text streams; placing the lines into blocks based on a proximity of the lines relative to each other; and analyzing the blocks for joining the lines into paragraphs.

2. The method of claim 1 , wherein the unstructured or semistructured document is at least one of: in a printer format, and a binary representation of dark and light areas of a scanned document.

3. The method of claim 1 , wherein the predefined priority values are determined prior to analyzing the one or more text streams.

4. The method of claim 1 , wherein the unstructured or semistructured document does not contain format markers.

5. The method of claim 1 , further comprising identifying a context of the unstructured document and generating meta data representing a context of at least some of the sections.

6. The method of claim 5 , further comprising indexing the meta data.

7. The method of claim 5 , wherein at least one of the context of the unstructured document and the context of at least some of the sections is based on a word extracted from the document and matched to a term in a context-related dictionary.

8. The method of claim 1 , wherein the indexing includes assigning a weight to the textual contents.

9. The method of claim 1 , wherein the sections include groups of paragraphs of the document, each paragraph being individually detected by analyzing the one or more text streams.

10. The method of claim 1 , further comprising associating taxonomy-related information with the textual contents, and indexing the taxonomy-related information.

11. The method of claim 8 , wherein the textual contents include single words and bi-words in the document, wherein the weight assigned to single words and bi-words is different, wherein the weight is saved as part of the result of the indexing.

12. The method of claim 8 , further comprising analyzing an index in the text stream of the document, and assigning a higher weight to a textual content matching a term in the index of the document and present on a page of the document pointed to in the index in association with the term.

13. The method of claim 1 , further comprising extracting a table of contents from the unstructured or semistructured document.

14. The method of claim 1 , further comprising identifying physical page numbers in the unstructured or semistructured document, and mapping logical page numbers to the physical page numbers.

15. A method for analyzing and indexing an unstructured or semistructured document, comprising:

receiving an unstructured or semistructured document;

converting the document to one or more text streams;

analyzing the one or more text streams for identifying textual contents of the document; wherein the textual content contains words and bi-words;

analyzing the one or more text streams for identifying sections and paragraphs of the document;

grouping the paragraphs into sections;

analyzing the one or more text streams for identifying context information about each section;

creating terms, wherein the terms include the words and the bi-words of the textual content, and the identified context information;

indexing the terms in a search index, wherein the search index contains a position id for each term;

wherein each position id encodes the section, paragraph, and priority information of the term;

wherein the priority assigned to one of the terms is different from the priority assigned to the same term located in another section or paragraph;

saving a result of the indexing in a data storage device;

wherein the search index is used in a term-based search to identify all the sections, paragraphs, and priorities of each search term matching in the index;

wherein the search index is usable in computing a score for each section of the document;

further comprising identifying physical page numbers in the unstructured or semistructured document, and mapping logical page numbers to the physical page numbers, wherein each paragraph is individually detected by analyzing the one or more text streams, wherein the paragraphs are identified by: determining geometry information about lines of the text streams; placing the lines into blocks based on a proximity of the lines relative to each other; and analyzing the blocks for joining the lines into paragraphs.

16. The method of claim 15 , wherein the document is at least one of: in a printer format and a binary representation of dark and light areas of a scanned document.

17. The method of claim 15 , wherein the priority values are defined prior to analyzing the one or more text streams.

18. The method of claim 15 , wherein the document does not contain format markers.

19. The method of claim 15 , further comprising extracting page numbers from the document, and associating the sections with the page numbers.

20. The method of claim 15 , wherein the paragraphs are identified in the analyzing the one or more text streams for identifying sections and paragraphs by: determining geometry information about lines of the text streams; placing the lines into blocks based on a proximity of the lines relative to each other; and analyzing the blocks for joining the lines into paragraphs.

21. The method of claim 15 , wherein boundaries of the sections are determined, at least in part based on an analysis of a table of contents of the document.

22. A method for analyzing and indexing an unstructured or semistructured document, comprising:

receiving an unstructured or semistructured document;

converting the document to one or more text streams;

analyzing the one or more text streams for identifying textual contents of the document, and identifying sections of the document;

associating the textual content with the sections;

analyzing the one or more text streams for identifying context information about each section and creating a new section to store the identified context information;

creating terms, wherein the terms include the words and the bi-words of the textual content, and the identified context information;

indexing the terms in a search index, wherein the search index contains a position id for each term;

wherein the position id encodes the section, paragraph, and priority information of the term;

wherein the priority assigned to one of the terms is different from the priority assigned to the same term located in another section or paragraph;

saving a result of the indexing in a data storage device;

wherein the search index is usable in a term-based search to identify all the sections, paragraphs, and priorities of each search term matching in the index;

wherein the search index is usable in computing a score for each section of the document;

identifying physical page numbers in the unstructured or semistructured document, and mapping logical page numbers to the physical page numbers, wherein each paragraph is individually detected by analyzing the one or more text streams, wherein the paragraphs are identified by: determining geometry information about lines of the text streams; placing the lines into blocks based on a proximity of the lines relative to each other; and analyzing the blocks for joining the lines into paragraphs.

23. The method of claim 22 , wherein the result of the indexing includes generation of a character offset index indicating a position of a character or string of characters in the unstructured or semistructured document.

24. The method of claim 23 , wherein character offset indexes are created for each paragraph in the unstructured or semistructured document, wherein the weight assigned to single words and bi-words is different.

25. The method of claim 1 , wherein the result of the indexing includes generation of a character offset index indicating a position of a character or string of characters in the unstructured or semistructured document.

26. The method of claim 1 , wherein character offset indexes are created for each paragraph in the unstructured or semistructured document.

Assignments (14)
SECOND LIEN TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS - NOOK Recorded Dec 21, 2021
From: ALTER DOMUS (US) LLC
To: NOOK DIGITAL, LLC
Reel/Frame 058561/0338 →
NOTICE AND CONFIRMATION OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Aug 26, 2020
From: NOOK DIGITAL LLC
To: ALTER DOMUS (US) LLC
Reel/Frame 053600/0790 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 050010 FRAME: 0234. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 13, 2019
From: NOOK DIGITAL, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 050044/0225 →
SECURITY INTEREST Recorded Aug 8, 2019
From: NOOK DIGITAL, LLC
To: WEILS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 050010/0234 →
CORRECTIVE ASSIGNMENT TO REMOVE APPLICATION NUMBERS 13924129 AND 13924362 PREVIOUSLY RECORDED ON REEL 035187 FRAME 0476. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded May 29, 2015
From: NOOK DIGITAL LLC
To: NOOK DIGITAL, LLC
Reel/Frame 036131/0801 →
CORRECTIVE ASSIGNMENT TO REMOVE APPLICATION NUMBERS 13924129 AND 13924362 PREVIOUSLY RECORDED ON REEL 035187 FRAME 0469. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded May 29, 2015
From: BARNESANDNOBLE.COM LLC
To: NOOK DIGITAL LLC
Reel/Frame 036131/0409 →
CHANGE OF NAME Recorded Mar 11, 2015
From: BARNESANDNOBLE.COM LLC
To: NOOK DIGITAL LLC
Reel/Frame 035187/0469 →
CHANGE OF NAME Recorded Mar 11, 2015
From: NOOK DIGITAL LLC
To: NOOK DIGITAL, LLC
Reel/Frame 035187/0476 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 028902 FRAME 0816. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE'S NAME SHOULD BE BARNESANDNOBLE.COM LLC. Recorded Sep 7, 2012
From: RETREVO, INC
To: BARNESANDNOBLE.COM LLC
Reel/Frame 028923/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2012
From: RETREVO, INC.
To: BARNSANDNOBLE.COM LLC
Reel/Frame 028902/0816 →
SECURITY AGREEMENT Recorded Aug 31, 2012
From: SILICON VALLEY BANK
To: RETREVO, INC.
Reel/Frame 028886/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2012
From: RETREVO, INC.
To: BARNESANDNOBLE.COM LLC
Reel/Frame 028887/0586 →
SECURITY AGREEMENT Recorded May 30, 2012
From: RETREVO, INC.
To: SILICON VALLEY BANK
Reel/Frame 028289/0928 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2007
From: VAILAYA, ADITYA; WU, JIANG; RATHI, MANISH
To: RETREVO INC.
Reel/Frame 019620/0963 →
Continuity (1)
Related Publication 20080263032A1 · Oct 23, 2008