IP Library Granted Patent US 7,657,518
Granted Patent B2
US 7,657,518 · App. 11/669,800 · Granted Feb 2, 2010

Chaining context-sensitive search results

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 7,657,518
App. No.
11/669,800
Granted
Feb 2, 2010
Kind
B2
Abstract

Methods and apparatus assessing, ranking, organizing, and presenting search results associated with a user's current work context are disclosed. The system disclosed assesses, ranks, organizes and presents search results against a user's current work context by comparing statistical and heuristic models of the search results to a statistical and heuristic model of the user's current work context. In this manner, search results are assessed, ranked, organized, and/or presented with the benefit of attributes of the user's current work context that are predictive of relevance, such as words in a user's document (e.g., web page or word processing document) that may not have been included in the search query. In addition, search results from multiple search engines are combined into an organization scheme that best reflects the user's current task. As a result, lists of search results from different search engines can be more usefully presented to the user.

Claims (65)

1. A computer-implemented method of displaying search results, the method comprising:

determining a user context based on a tunable parameter;

determining a first aspect of the user context and a second aspect of the user context, wherein the first aspect of the user context includes data indicative of text being accessed by a user, and the second aspect of the user context includes data indicative of at least one user task from a plurality of user tasks, wherein the at least one user task is determined based upon the user context of the user's interaction with one or more software applications,

formulating a first query based on the user context, the first query being different than the user context;

submitting the first query to a first search engine;

receiving a first plurality of search results from the first search engine;

formulating a second query based on the first plurality of search results, the second query being different than the user context;

submitting the second query to a second search engine;

receiving a second plurality of search results from the second search engine;

using the user context to determine a first plurality of scores for the first plurality of search results;

using at least one of the user context and the first plurality of search results to determine a second plurality of scores;

combining at least a portion of the first plurality of search results with at least a portion of the second plurality of search results based on at least a portion of the first plurality of scores and at least a portion of the second plurality of scores;

eliminating at least one of the first and second search results from being displayed to the user based on at least one of the first and second plurality of scores; and

generating a display indicative of a ranked list of search results.

2. The method of claim 1 , including combining at least a portion of the first plurality of search results with at least a portion of the second plurality of search results into the ranked list of search results based on at least a portion of the first plurality of scores and at least a portion of the second plurality of scores.

3. The method of claim 1 , including:

comparing data indicative of the second plurality of search results to at least a portion of the user context to determine a plurality of organization schemes, the plurality of organization schemes grouping at least a portion of the second plurality of search results into at least two genres; and

generating data indicative of an organized list of search results based on the plurality of organization schemes.

4. The method of claim 1 , wherein the second aspect of the user context is based on at least five of (a) a location of the at least one predetermined word in the text being accessed by the user, (b) a style of the at least one predetermined word in the text being accessed by the user, (c) a presence of at least one specified word in the text being accessed by the user, (d) an absence of the at least one specified word in the text being accessed by the user, (e) metadata attributes of at least a portion of the text being accessed by the user, (f) a field presented by a computer application, (g) an attribute of information being presented in the computer application, (h) an element of the computer application visible to the user, (i) a document genre, (j) a document type, (k) a type associated with the computer application, (l) a method by which the user is accessing the computer application, (m) a role in an organization, (n) a type of the organization, (o) a property of the organization, (p) a stage in a task, (q) a stage in a workflow, (r) a type of task being supported by the computer application, (s) a stage in a task being executed by the computer application, (t) a pervious user behavior, (u) a topical area of interest, (v) a proportion of hyperlinked text to non-hyperlinked text, and (w) an average sentence length in the text being accessed by the user.

5. The method of claim 1 , wherein the second aspect of the user context is based on (a) a style of the at least one predetermined word in the text being accessed by the user and (b) a type associated with a computer application.

6. An apparatus for displaying search results, the apparatus comprising:

a processor;

a memory device operatively coupled to the processor;

a user input device operatively coupled to the processor;

a network device operatively coupled to the processor; and

a display device operatively coupled to the processor; wherein the memory device stores a software program to cause the processor to:

determine a user context based on a tunable parameter;

determine a first aspect of the user context and a second aspect of the user context, wherein the first aspect of the user context includes data indicative of text being accessed by a user, and the second aspect of the user context includes data indicative of at least one user task from a plurality of user tasks, wherein the at least one user task is determined based upon the user context of the user's interaction with one or more software applications,

formulate a first query based on the user context, the first query being different than the user context;

submit the first query to a first search engine via the network device;

receive a first plurality of search results from the first search engine via the network device;

formulate a second query based on the first plurality of search results, the second query being different than the user context;

submit the second query to a second search engine via the network device;

receive a second plurality of search results from the second search engine via the network device;

use the user context to determine a first plurality of scores for the first plurality of search results;

use at least one of the user context and the first plurality of search results to determine a second plurality of scores;

combine at least a portion of the first plurality of search results with at least a portion of the second plurality of search results based on at least a portion of the first plurality of scores and at least a portion of the second plurality of scores;

eliminate at least one of the first and second search results from being displayed to the user based on at least one of the first and second plurality of scores; and

display a ranked list of search results on the display device.

7. The apparatus of claim 6 , wherein the software program is structured to cause the processor to combine at least a portion of the first plurality of search results with at least a portion of the second plurality of search results into the ranked list of search results based on at least a portion of the first plurality of scores and at least a portion of the second plurality of scores.

8. The apparatus of claim 6 , wherein the software program is structured to cause the processor to:

compare data indicative of the second plurality of search results to at least a portion of the user context to determine a plurality of organization schemes, the plurality of organization schemes grouping at least a portion of the second plurality of search results into at least two genres; and

generate data indicative of an organized list of search results based on the plurality of organization schemes.

9. The apparatus of claim 6 , wherein the second aspect of the user context is based on at least five of (a) a location of the at least one predetermined word in the text being accessed by the user, (b) a style of the at least one predetermined word in the text being accessed by the user, (c) a presence of at least one specified word in the text being accessed by the user, (d) an absence of the at least one specified word in the text being accessed by the user, (e) metadata attributes of at least a portion of the text being accessed by the user, (f) a field presented by a computer application, (g) an attribute of information being presented in the computer application, (h) an element of the computer application visible to the user, (i) a document genre, (j) a document type, (k) a type associated with the computer application, (l) a method by which the user is accessing the computer application, (m) a role in an organization, (n) a type of the organization, (o) a property of the organization, (p) a stage in a task, (q) a stage in a workflow, (r) a type of task being supported by the computer application, (s) a stage in a task being executed by the computer application, (t) a pervious user behavior, (u) a topical area of interest, (v) a proportion of hyperlinked text to non-hyperlinked text, and (w) an average sentence length in the text being accessed by the user.

10. The apparatus of claim 6 , wherein the second aspect of the user context is based on (a) a style of the at least one predetermined word in the text being accessed by the user and (b) a type associated with a computer application.

11. A computer-readable storage device storing a software program to cause a computing device to:

determine a user context based on a tunable parameter;

determine a first aspect of the user context and a second aspect of the user context, wherein the first aspect of the user context includes data indicative of text being accessed by a user, and the second aspect of the user context includes data indicative of at least one user task from a plurality of user tasks, wherein the at least one user task is determined based upon the user context of the user's interaction with one or more software applications,

formulate a first query based on the user context, the first query being different than the user context;

submit the first query to a first search engine;

receive a first plurality of search results from the first search engine;

formulate a second query based on the first plurality of search results, the second query being different than the user context;

submit the second query to a second search engine;

receive a second plurality of search results from the second search engine;

use the user context to determine a first plurality of scores for the first plurality of search results;

use at least one of the user context and the first plurality of search results to determine a second plurality of scores;

combine at least a portion of the first plurality of search results with at least a portion of the second plurality of search results based on at least a portion of the first plurality of scores and at least a portion of the second plurality of scores;

eliminate at least one of the first and second search results from being displayed to the user based on at least one of the first and second plurality of scores; and

generate a display indicative of a ranked list of search results.

12. The computer-readable storage device of claim 11 , wherein the software program is structured to cause the computing device to combine at least a portion of the first plurality of search results with at least a portion of the second plurality of search results into the ranked list of search results based on at least a portion of the first plurality of scores and at least a portion of the second plurality of scores.

13. The computer-readable storage device of claim 11 , wherein the software program is structured to cause the computing device to:

compare data indicative of the second plurality of search results to at least a portion of the user context to determine a plurality of organization schemes, the plurality of organization schemes grouping at least a portion of the second plurality of search results into at least two genres; and

generate data indicative of an organized list of search results based on the plurality of organization schemes.

14. The computer-readable storage device of claim 11 , wherein the second aspect of the user context is based on at least five of (a) a location of the at least one predetermined word in the text being accessed by the user, (b) a style of the at least one predetermined word in the text being accessed by the user, (c) a presence of at least one specified word in the text being accessed by the user, (d) an absence of the at least one specified word in the text being accessed by the user, (e) metadata attributes of at least a portion of the text being accessed by the user, (f) a field presented by a computer application, (g) an attribute of information being presented in the computer application, (h) an element of the computer application visible to the user, (i) a document genre, (j) a document type, (k) a type associated with the computer application, (l) a method by which the user is accessing the computer application, (m) a role in an organization, (n) a type of the organization, (o) a property of the organization, (p) a stage in a task, (q) a stage in a workflow, (r) a type of task being supported by the computer application, (s) a stage in a task being executed by the computer application, (t) a pervious user behavior, (u) a topical area of interest, (v) a proportion of hyperlinked text to non-hyperlinked text, and (w) an average sentence length in the text being accessed by the user.

15. The computer-readable storage device of claim 11 , wherein the second aspect of the user context is based on (a) a style of the at least one predetermined word in the text being accessed by the user and (b) a type associated with a computer application.

Assignments (11)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057570/0268) Recorded Mar 31, 2025
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: TABOOLA.COM LTD; PERFECT MARKET, INC.; CONNEXITY, INC.
Reel/Frame 070690/0269 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY BY ADDING THE THIRD ASSIGNOR PREVIOUSLY RECORDED AT REEL: 70553 FRAME: 219. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Mar 28, 2025
From: CONNEXITY, INC.; TABOOLA.COM LTD.; TABOOLA, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070671/0358 →
SECURITY AGREEMENT Recorded Mar 19, 2025
From: TABOOLA.COM LTD.; TABOOLA, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070553/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 4, 2023
From: PERFECT MARKET, INC.
To: TABOOLA, INC.
Reel/Frame 064145/0618 →
PATENT SECURITY AGREEMENT Recorded Sep 22, 2021
From: TABOOLA.COM LTD.; PERFECT MARKET, INC.; CONNEXITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 057570/0268 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jan 14, 2021
From: JPMORGAN CHASE BANK, N.A.
To: TABOOLA.COM LTD.; PERFECT MARKET INC.
Reel/Frame 055000/0624 →
PATENT SECURITY AGREEMENT Recorded Dec 17, 2019
From: TABOOLA.COM LTD.; PERFECT MARKET, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 051325/0253 →
SECURITY AGREEMENT Recorded Dec 28, 2011
From: PERFECT MARKET, INC.
To: VENTURE LENDING & LEASING VI, INC.
Reel/Frame 027456/0701 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2008
From: MEDIA RIVER, INC.
To: PERFECT MARKET, INC.
Reel/Frame 021673/0455 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2008
From: SOOD, SANJAY CHAND; BIRNBAUM, LAWRENCE A.; HAMMOND, KRISTIAN J.; CROSSEN, ANDREW JOSEPH
To: NORTHWESTERN UNIVERSITY
Reel/Frame 021638/0742 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2008
From: BUDZIK, JEROME LOUIS
To: MEDIA RIVER, INC.
Reel/Frame 021638/0750 →