# US 2010/0169331 A1 · Online relevance engine

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

- Number: US 2010/0169331 A1
- Document ID: US20100169331A1
- Status: Published application
- Kind: A1
- Application number: 12/344,812
- Filed: 2008-12-29
- Published: 2010-07-01
- Earliest claimed: 2008-12-29
- Assignees: Microsoft Corporation
- Inventors: Ron Karidi; Roy Varshavsky; Noga Amit; Oded Elyada; Daniel Sitton; Limor Lahiani; Hen Fitoussi; Eran Yariv; Benny Schlesinger
- Web page: https://patentgrep.com/patent/US20100169331A1

## CPC

- G06F 16/951: Indexing; Web crawling techniques
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Information is automatically located which is relevant to source content that a user is viewing on a user interface without requiring the user to perform an additional search or navigate links of the source content. The source content can be, e.g., a web page or a document from a word processing or email application. The relevant information can include images, videos, web pages, maps or other location-based information, people-based information and special services which aggregate different types of information. Related content is located by analyzing textual content, user behavior and connectivity relative to the source. The related content is scored for similarity to the source. Content which is sufficiently similar but not too similar is selected. Similar related content is grouped to select representative results. The selected content is filtering in multiple stages based on attribute priorities to avoid unnecessary processing of content which is filtered out an early stage.

## Claims

### Claim 1

A computer-implemented method for providing content to a user via a user interface, comprising:
analyzing content which is displayed on the user interface;
based on the analyzing, identifying a set of candidates elements which are related to the content;
filtering the candidate elements of the set to identify a subset of candidate elements of the set which are sufficiently similar, but not too similar, to the content;
grouping the candidate elements of the subset in groups, the candidate elements in each group are determined to be similar to one another;
selecting a representative candidate element from each group; and
displaying representations of the representative candidate elements on the user interface.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein:
the representations of the representative candidate elements are displayed on the user interface concurrently with a representation of the content.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining a first set of scores which represent similarities between the content and each of the candidate elements of the set, the candidate elements of the subset are identified as being sufficiently similar, but not too similar, to the content based on the first set of scores; and
determining a second set of scores which represent similarities between the candidate elements in each group, the candidate elements in each group are identified as being similar to one another based on the second set of scores.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein:
the candidate elements of the set comprise web pages.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein:
the candidate elements of the set comprises image files.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein:
the candidate elements of the set comprise location-based information.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein:
the candidate elements of the set comprise people-based information.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein:
the content comprises a web page.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein:
the content comprises a textual content of a document.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, further comprising:
assigning priorities to attributes of the content;
the filtering comprises filtering the candidate elements of the second set in a sequence of stages according to the priorities, each stage corresponding to at least one of the attributes and its assigned priority, so that the stages are ordered in a descending order of priority.

### Claim 11 (depends on 10)

The computer-implemented method of claim 10, wherein:
the filtering identifies at least one of the candidate elements of the second set as being sufficiently similar, but not too similar, to the content before a last stage in the sequence of stages, in response to which the at least one of the candidate elements is no longer subject to the filtering.

### Claim 12 (depends on 10)

The computer-implemented method of claim 10, wherein:
the filtering identifies at least one of the candidate elements of the second set as being sufficiently dissimilar to the content before a last stage in the sequence of stages, in response to which the at least one of the candidate elements is no longer subject to the filtering.

### Claim 13 (depends on 10)

The computer-implemented method of claim 10, wherein:
the filtering comprises gathering information of the candidate elements of the second set which is needed for each stage to score a similarity of the candidate elements of the second set to the content based on the associated attribute of the stage, the information is gathered on an as needed basis before each stage so that information is gathered for candidate elements of the second set which have not been filtered out in an earlier stage, and information is not gathered for candidate elements of the second set which have been filtered out in an earlier stage.

### Claim 14

A computer-implemented method for providing content to a user via a user interface, comprising:
identifying attributes of content on the user interface;
based on the attributes, identifying candidates elements which are related to the content;
filtering the candidate elements in a multi-stage process;
each stage of the multi-stage process includes evaluating each candidate element in the stage based on at least one of the attributes, different attributes are associated with different stages and, based on the evaluating, providing a similarity score for each candidate element in the stage which indicates a similarity of each candidate element in the stage to the content; and
each stage of the multi-stage process includes, based on the similarity scores, classifying each candidate element in the stage to be kept or discarded; and
displaying representations of selected candidate elements which have been kept.

### Claim 15 (depends on 14)

The computer-implemented method of claim 14, further comprising:
after the filtering, classifying candidate elements which have been kept into groups, the candidate elements in each group are similar to one another, and each of the selected candidate elements is representative of a respective group.

### Claim 16 (depends on 14)

The computer-implemented method of claim 14, wherein:
in each stage, the evaluating of each candidate element in the stage occurs on an as needed basis so that the evaluating occurs for candidate elements which have not been discarded in an earlier stage, and the evaluating does not occur for candidate elements which have been discarded in an earlier stage.

### Claim 17 (depends on 14)

The computer-implemented method of claim 14, further comprising:
assigning priorities to the attributes, each stage corresponding to a different priority, so that the stages are ordered in a descending order of priority;
wherein at least one of the candidate elements which is classified to be kept at a stage of the multi-stage process with a sufficiently high priority, above a priority threshold, is not subject to any further stages of the multi-stage process; and
at least another of the candidate elements which is classified to be kept at a stage of the multi-stage process with a sufficiently low priority, below the priority threshold, is subject to at least one further stage of the multi-stage process.

### Claim 18

Computer readable media having computer readable software embodied thereon for programming at least one processor to perform a method, the method comprising:
parsing textual content on the user interface to determine keywords;
identifying a set of candidates elements which are related to the textual content, including performing a plurality of searches using the keywords;
identifying a subset of the candidate elements of the set which are sufficiently similar, but not too similar, to the textual content;
grouping the candidate elements of the subset in groups, the candidate elements in each group are determined to be similar to one another;
selecting a representative candidate element from each group; and
displaying representations of the representative candidate elements on the user interface concurrently with a representation of the textual content.

### Claim 19 (depends on 18)

The computer readable media of claim 18, wherein the identifying the first set of candidates elements comprises:
determining keywords of potential candidate elements;
for each keyword of the potential candidate elements, providing a score which represents an importance of the keyword;
for each keyword of the textual content, providing a score which represents an importance of the keyword;
computing a distance between each potential candidate element and the textual content based on the scores.

### Claim 20 (depends on 18)

The computer readable media of claim 18, wherein:
the identifying the first set of candidates elements includes determining a connectivity of the textual content to potential candidate elements.
