IP Library Granted Patent US 7,644,072
Granted Patent B2
US 7,644,072 · App. 11/669,841 · Granted Jan 5, 2010

Generating a ranked list of search results via result modeling

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,644,072
App. No.
11/669,841
Granted
Jan 5, 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 (86)

1. A computer-implemented method of displaying 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 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;

receiving a plurality of result models from the search engine via a resulting modeling module, each result model in the plurality of result models including a plurality of terms associated with a plurality of documents and a plurality of weights associated with the plurality of terms;

comparing data indicative of the plurality of result models to data indicative of the user context to determine a plurality of scores associated with the plurality of search results;

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

generating a display indicative of a ranked list of search results based on at least a portion of the plurality of scores.

2. The method of claim 1 , wherein the plurality of result models is based on a frequency of a term in a document in the plurality of documents.

3. The method of claim 1 , wherein the plurality of result models is based on a number of documents in the plurality of documents in which a term occurs.

4. The method of claim 1 , wherein the plurality of result models is based on a list of terms.

5. The method of claim 1 , wherein the search engine truncates a superset of result models to produce the plurality of result models.

6. The method of claim 1 , wherein the plurality of result models is based on a section of a document where at least one word is located.

7. The method of claim 1 , wherein the plurality of result models is based on an order of words in a document.

8. The method of claim 1 , wherein the plurality of result models is based on a style of at least one word.

9. The method of claim 1 , wherein the plurality of result models is based on metadata associated with the plurality of documents.

10. The method of claim 1 , wherein the plurality of result models is based on at least one of a type of the plurality of documents and a genre of the plurality of documents.

11. The method of claim 1 , wherein the plurality of result models is based on an application in which the plurality of documents was authored.

12. The method of claim 1 , wherein the plurality of result models is based on data indicative of at least one author of the plurality of documents.

13. The method of claim 1 , wherein the plurality of result models is based on data indicative of at least one source of the plurality of documents.

14. The method of claim 1 , wherein the plurality of result models is based on data indicative of at least one task in which at least one author was engaged at the time the at least one author created at least one of the plurality of documents.

15. The method of claim 1 , including transmitting a message indicative of the user context to the search engine.

16. The method of claim 15 , wherein the plurality of result models is based on the user context.

17. The method of claim 1 , wherein 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.

18. The method of claim 1 , wherein 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.

19. An apparatus for displaying 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 user context, the query being different than the user context;

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

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

receive a plurality of result models from the search engine via a resulting modeling module, each result model in the plurality of result models including a plurality of terms associated with a plurality of documents and a plurality of weights associated with the plurality of terms;

compare data indicative of the plurality of result models to data indicative of the user context to determine a plurality of scores associated with the plurality of search results;

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

display a ranked list of search results on the display device based on at least a portion of the plurality of scores.

20. The apparatus of claim 19 , wherein the plurality of result models is based on a frequency of a term in a document in the plurality of documents.

21. The apparatus of claim 19 , wherein the plurality of result models is based on a number of documents in the plurality of documents in which a term occurs.

22. The apparatus of claim 19 , wherein the plurality of result models is based on a list of terms.

23. The apparatus of claim 19 , wherein the search engine truncates a superset of result models to produce the plurality of result models.

24. The apparatus of claim 19 , wherein the plurality of result models is based on a section of a document where at least one word is located.

25. The apparatus of claim 19 , wherein the plurality of result models is based on an order of words in a document.

26. The apparatus of claim 25 , wherein the plurality of result models is based on a style of at least one word.

27. The apparatus of claim 19 , wherein the plurality of result models is based on metadata associated with the plurality of documents.

28. The apparatus of claim 19 , wherein the plurality of result models is based on at least one of a type of the plurality of documents and a genre of the plurality of documents.

29. The apparatus of claim 19 , wherein the plurality of result models is based on an application in which the plurality of documents was authored.

30. The apparatus of claim 19 , wherein the plurality of result models is based on data indicative of at least one author of the plurality of documents.

31. The apparatus of claim 19 , wherein the plurality of result models is based on data indicative of at least one source of the plurality of documents.

32. The apparatus of claim 19 , wherein the plurality of result models is based on data indicative of at least one task in which at least one author was engaged at the time the at least one author created at least one of the plurality of documents.

33. The apparatus of claim 19 , wherein the software program is structured to cause the processor to transmit a message indicative of the user context to the search engine.

34. The apparatus of claim 19 , wherein the plurality of result models is based on the user context.

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

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

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

receive a plurality of result models from the search engine via a resulting modeling module, each result model in the plurality of result models including a plurality of terms associated with a plurality of documents and a plurality of weights associated with the plurality of terms;

compare data indicative of the plurality of result models to data indicative of the user context to determine a plurality of scores associated with the plurality of search results;

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

generate a display indicative of a ranked list of search results based on at least a portion of the plurality of scores.

38. The computer readable storage device of claim 37 , wherein the plurality of result models is based on a frequency of a term in a document in the plurality of documents.

39. The computer readable storage device of claim 37 , wherein the plurality of result models is based on a number of documents in the plurality of documents in which a term occurs.

40. The computer readable storage device of claim 37 , wherein the plurality of result models is based on a list of terms.

41. The computer readable storage device of claim 37 , wherein the search engine truncates a superset of result models to produce the plurality of result models.

42. The computer readable storage device of claim 37 , wherein the plurality of result models is based on a section of a document where at least one word is located.

43. The computer readable storage device of claim 37 , wherein the plurality of result models is based on an order of words in a document.

44. The computer readable storage device of claim 37 , wherein the plurality of result models is based on a style of at least one word.

45. The computer readable storage device of claim 37 , wherein the plurality of result models is based on metadata associated with the plurality of documents.

46. The computer readable storage device of claim 37 , wherein the plurality of result models is based on at least one of a type of the plurality of documents and a genre of the plurality of documents.

47. The computer readable storage device of claim 37 , wherein the plurality of result models is based on an application in which the plurality of documents was authored.

48. The computer readable storage device of claim 37 , wherein the plurality of result models is based on data indicative of at least one author of the plurality of documents.

49. The computer readable storage device of claim 37 , wherein the plurality of result models is based on data indicative of at least one source of the plurality of documents.

50. The computer readable storage device of claim 37 , wherein the plurality of result models is based on data indicative of at least one task in which at least one author was engaged at the time the at least one author created at least one of the plurality of documents.

51. The computer readable storage device of claim 37 , wherein the software program is structured to cause the computing device to transmit a message indicative of the user context to the search engine.

52. The computer readable storage device of claim 37 , wherein the plurality of result models is based on the user context.

53. The computer readable storage device of claim 37 , wherein 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.

54. The computer readable storage device of claim 37 , wherein 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/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2008
From: BUDZIK, JEROME LOUIS
To: MEDIA RIVER, INC.
Reel/Frame 021638/0768 →