# US 2010/0169301 A1 · System and method for aggregating and ranking data from a plurality of web sites

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2010/0169301 A1
- Document ID: US20100169301A1
- Status: Published application
- Kind: A1
- Application number: 12/567,773
- Filed: 2009-09-27
- Published: 2010-07-01
- Earliest claimed: 2008-12-31
- Assignees: ForNova Ltd.
- Inventors: Michael Rubanovich; Dmitry Babitsky
- Web page: https://patentgrep.com/patent/US20100169301A1

## CPC

- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/285: {Clustering or classification}
- G06F 16/953: Querying, e.g. by the use of web search engines
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

System and method for collecting information from a plurality of related sites, analyzing the information and storing the relevant information in a data base for future use. According to one embodiment of the present invention, the system uses the provided list of sites, whether obtained automatically or separately, queries them and analyzes the result retrieved from each site. The information may also optionally and preferably be ranked.

## Claims

### Claim 1

A method for automatic aggregating of data from a plurality of web sites; comprising:
i. Automatically and periodically querying for said data from a plurality of related sites;
ii. Analyzing the results from said querying;
iii. Storing the relevant data from said results in a data base; and
iv. Retrieving said data from said data base, upon demand from user.

### Claim 2 (depends on 1)

The method of claim 1 wherein said analyzing comprises geometrical analyzing followed by semantic analysis.

### Claim 3 (depends on 2)

The method of claim 2 wherein said geometrical analysis is done on the rendered layout of the result page.

### Claim 4 (depends on 3)

The method of claim 3 wherein one or more record containers are defined from said layout.

### Claim 5 (depends on 4)

The method of claim 4 wherein one record container is chosen from said identified record containers.

### Claim 6 (depends on 5)

The method of claim 5 wherein records within said chosen record container are identified.

### Claim 7 (depends on 6)

The method of claim 6 wherein said records are divided into groups, each group having the same geometrical pattern.

### Claim 8 (depends on 7)

The method of claim 7 wherein a representative from each said group is semantically analyzed.

### Claim 9 (depends on 8)

The method of claim 8 wherein if the outcome of said semantic analyzing identifies relevant data, said data and said pattern are saved in a data base.

### Claim 10 (depends on 7)

The method of claim 7 wherein groups having identical said pattern in other pages are assumed to have the same semantic structure.

### Claim 11 (depends on 10)

The method of claim 10 wherein data from said groups is fetched without semantic analyzing.

### Claim 12 (depends on 1)

The method of claim 1 wherein said aggregated data is retrieved from a web site.

### Claim 13 (depends on 4)

The method of claim 4, further comprising receiving a query from a user and comparing said query to a plurality of records.

### Claim 14 (depends on 13)

The method of claim 13, further comprising ranking a plurality of records according to one or more geometric properties for said comparing said query.

### Claim 15 (depends on 14)

The method of claim 14, further comprising ranking a plurality of records according to one or more of “freshness”, ranking of the source website according to reliability and/or popularity, completeness of the record, or prominence of the record within the website.

### Claim 16 (depends on 15)

The method of claim 15, further comprising ranking said plurality of records according to a plurality of weighted attributes.

### Claim 17 (depends on 14)

The method of claim 14, further comprising dividing said plurality of records into a group of one or more relevant records and a group of one or more non-relevant records before said ranking said plurality of records, such that said ranking said plurality of records is performed only said group of one or more relevant records.

### Claim 18 (depends on 17)

The method of claim 17, wherein said dividing said plurality of records comprises analyzing said user query to decompose said query to a plurality of items; analyzing each record to decompose said record to a plurality of items; and comparing values of said items for said user query and for said record.

### Claim 19

A method for geometrical analyzing of a page layout comprising database query results; the method comprising:
a. Determining at least one record container within said layout; and
b. Dividing the records within said record container into groups, each group having the same geometrical pattern;

### Claim 20 (depends on 19)

The method of claim 19 wherein one or more record containers are identified from said layout and wherein one record container is chosen from said identified record containers.

### Claim 21 (depends on 20)

The method of claim 20 wherein said record container is chosen either by using the size relations of the layout records or by deducing the most regular area on a page.

### Claim 22 (depends on 21)

The method of claim 21 wherein rectangles within said chosen record container are identified.

### Claim 23 (depends on 22)

The method of claim 22 wherein said identification is done by ordering said records inside said record container and by separating them, using line boundaries.

### Claim 24 (depends on 23)

The method of claim 23 wherein said records are divided into groups, each group having the same geometrical pattern.

### Claim 25

A system for automatic aggregating data from a plurality of web sites; comprising:
a. A crawler process for fetching data from a provided list of related web sites;
b. A geometrical analyzer process for decomposing the page into hierarchal layers and finding the relevant layer;
c. A semantic layer for textually analyzing said relevant layer; and
d. A data base for storing the information retrieved by said semantic layer.
