IP Library Granted Patent US 7,617,200
Granted Patent B2
US 7,617,200 · App. 11/669,832 · Granted Nov 10, 2009

Displaying context-sensitive ranked 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,617,200
App. No.
11/669,832
Granted
Nov 10, 2009
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 (66)

1. A computer implemented method of displaying context-sensitive ranked 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 query based on the first aspect of the user context, the query being different than the user context;

submitting the query to a search engine;

receiving a plurality of search results from the search engine, the plurality of search results being based on the formulated query;

determining a plurality of scores associated with the plurality of search results at least in part by comparing data indicative of the plurality of search results to data indicative of the second aspect of the user context;

eliminating at least one of the plurality of search results from being displayed to the user based on at least a portion of the plurality of scores associated with the plurality of search results; and

generating a display indicative of a ranked list of search results for display on a client device, the ranked list of search results being based on at least a portion of the plurality of scores.

2. The method of claim 1 , wherein the first aspect of the user context includes data indicative of the user task.

3. The method of claim 1 , wherein the second aspect of the user context includes the data indicative of the text being accessed by the user.

4. The method of claim 1 , wherein the first aspect of the user context includes the second aspect of the user context.

5. The method of claim 1 , wherein the first aspect of the user context is based on at least one of (a) a number of words in the text being accessed by the user, and (b) a number of sentences in the text being accessed by the user.

6. The method of claim 1 , wherein the second aspect of the user context is based on at least one 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.

7. 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.

8. 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.

9. The method of claim 1 , including comparing data indicative of the plurality of search results to data indicative of at least one of first aspect of the user context and the second aspect of the user context to determine a plurality of organization schemes, the plurality of organization schemes grouping at least a portion of the plurality of search results into at least two genres.

10. The method of claim 9 , wherein generating the display indicative of the ranked list of search results includes generating the display to be indicative of the plurality of organization schemes.

11. The method of claim 1 , including: determining a second query from (i) at least one of first aspect of the user context and the second aspect of the user context and (ii) at least a portion of the plurality of search results; and receiving a second plurality of search results from a second different search engine, the second plurality of search results being based on the second query.

12. An apparatus for displaying context-sensitive ranked 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 query based on the first aspect of the user context, the query being different than the user context;

submit the query to a search engine;

receive a plurality of search results from the search engine, the plurality of search results being based on the formulated query;

determine a plurality of scores associated with the plurality of search results at least in part by comparing data indicative of the plurality of search results to data indicative of the second aspect of the user context;

eliminate at least one of the plurality of search results from being displayed to the user based on at least a portion of the plurality of scores associated with the plurality of search results; and

generate a display indicative of a ranked list of search results for display on a client device, the ranked list of search results being based on at least a portion of the plurality of scores.

13. The apparatus of claim 12 , wherein the first aspect of the user context includes data indicative of the user task.

14. The apparatus of claim 12 , wherein the second aspect of the user context includes the data indicative of the text being accessed by the user.

15. The apparatus of claim 12 , wherein the first aspect of the user context includes the second aspect of the user context.

16. The apparatus of claim 12 , wherein the first aspect of the user context is based on at least one of (a) a number of words in the text being accessed by the user, and (b) a number of sentences in the text being accessed by the user.

17. The apparatus of claim 12 , wherein the second aspect of the user context is based on at least one 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.

18. The apparatus of claim 12 , 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.

19. The apparatus of claim 12 , 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.

20. The apparatus of claim 12 , wherein the software program includes instructions to cause the processor to compare data indicative of the plurality of search results to data indicative of at least one of first aspect of the user context and the second aspect of the user context to determine a plurality of organization schemes, the plurality of organization schemes grouping at least a portion of the plurality of search results into at least two genres.

21. The apparatus of claim 20 , wherein generating the display indicative of the ranked list of search results includes generating the display to be indicative of the plurality of organization schemes.

22. The apparatus of claim 12 , wherein the software program includes instructions to cause the processor to:

determine a second query from (i) at least one of first aspect of the user context and the second aspect of the user context and (ii) at least a portion of the plurality of search results; and

receive a second plurality of search results from a second different search engine, the second plurality of search results being based on the second query.

23. 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 query based on the first aspect of the user context, the query being different than the user context;

submit the query to a search engine;

receive a plurality of search results from the search engine, the plurality of search results being based on the formulated query;

determine a plurality of scores associated with the plurality of search results at least in part by comparing data indicative of the plurality of search results to data indicative of the second aspect of the user context;

eliminate at least one of the plurality of search results from being displayed to the user based on at least a portion of the plurality of scores associated with the plurality of search results; and

generate a display indicative of a ranked list of search results for display on a client device, the ranked list of search results being based on at least a portion of the plurality of scores.

24. The computer readable storage device of claim 23 , wherein the first aspect of the user context includes data indicative of the user task.

25. The computer readable storage device of claim 23 , wherein the second aspect of the user context includes the data indicative of the text being accessed by the user.

26. The computer readable storage device of claim 23 , wherein the first aspect of the user context includes the second aspect of the user context.

27. The computer readable storage device of claim 23 , wherein the first aspect of the user context is based on at least one of (a) a number of words in the text being accessed by the user, and (b) a number of sentences in the text being accessed by the user.

28. The computer readable storage device of claim 23 , wherein the second aspect of the user context is based on at least one 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.

29. The computer readable storage device of claim 23 , 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.

30. The computer readable storage device of claim 23 , 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.

31. The computer readable storage device of claim 23 , wherein the software program includes instructions to cause the computing device to compare data indicative of the plurality of search results to data indicative of at least one of first aspect of the user context and the second aspect of the user context to determine a plurality of organization schemes, the plurality of organization schemes grouping at least a portion of the plurality of search results into at least two genres.

32. The computer readable storage device of claim 31 , wherein generating the display indicative of the ranked list of search results includes generating the display to be indicative of the plurality of organization schemes.

33. The computer readable storage device of claim 23 , wherein the software program includes instructions to cause the computing device to:

determine a second query from (i) at least one of first aspect of the user context and the second aspect of the user context and (ii) at least a portion of the plurality of search results; and

receive a second plurality of search results from a second different search engine, the second plurality of search results being based on the second query.

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 021637/0709 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2008
From: BUDZIK, JEROME LOUIS
To: MEDIA RIVER, INC.
Reel/Frame 021637/0736 →