Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR A RANKING ENGINE
Document Type and Number:
WIPO Patent Application WO/2006/055983
Kind Code:
A3
Abstract:
A computer-implemented method is provided for ranking files from an Internet search. In one embodiment, the method comprises assigning a score to each file based on at least one of the following factors: recency, editorial popularity, clickthru popularity, favorites metadata, or favorites collaborative filtering. The files may be organized based on the assigned scores to provide users with more accurate search results.

Inventors:
TUTTLE TIMOTHY D (US)
BEGUELIN ADAM (US)
KOCKS PETER (US)
Application Number:
PCT/US2005/042739
Publication Date:
January 04, 2007
Filing Date:
November 22, 2005
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TRUVEO INC (US)
TUTTLE TIMOTHY D (US)
BEGUELIN ADAM (US)
KOCKS PETER (US)
International Classes:
G06F17/30
Foreign References:
US20040039734A12004-02-26
US20030120654A12003-06-26
US20050071741A12005-03-31
Attorney, Agent or Firm:
TUNG, Hao, Y. (275 Middlefield Road Menlo Park, CA, US)
Download PDF:
Claims:

WHAT IS CLAIMED IS:

L A computer-implemented method for a ranking engine, the method comprising: assigning a score to each file or record based on at least the following factors: recency, editorial popularity, and clickthru popularity; and. organizing the files based on the assigned scores.

2. The method of claim 1 wherein the score is R T and is determined using the following formula:

Term I Term! Term 3 , ' R τ = W r R r + W e R e + W C R C where: 0 < R, < 1 and: 1 = W r + W e + W c => 0 < R τ < 1

3. The method of claim 2 wherein recency is weighted based on the following formula for R 1 -:

1

1 (d c - d F ) , For (d c - d F ) < t e 0 , For (d c - d F ) > t, t e = expiration time (perhaps ~ 30 days) d c = current date dp = date found.

4. The method of claim 2 wherein editorial popularity is weighted between 1 and 0 and is based on at least one of the following: Neilsen ratings, known brand names, website popularity (e.g. Alexa ranking), or the judgment of a professional or corporation with expertise in online media

5. The method of claim 2 wherein clickthru popularity is weighted based on the following formula for R 0 : R 0 = Wcpm Rcpm + W C ph Rcph + W cpc j R C pd where:

CPM R cPm = clicks P er minutes ranking = — — , (0 < R < 1) μ . , Max (cpm) y over all items

CPH

K ph = clicks P er hour ranking = , (0 < R cph < 1) Max (cph) over all items

CPD R cPd = clicks P er da y ranking = , (0 < R rf < 1) μ Max (cpd) F over all items and 1 - W cpm + W cph + W cpd

' 6. ' The method of claim 1 wherein the file is a video file.

7. A computer-implemented method for organizing a collection of files from an Internet search, the method comprising: assigning a score to each file based on at least the following factors: recency, editorial popularity, clickthru popularity, favorites metadata, and favorites collaborative filtering; and organizing the files based on the assigned scores.

8. The method of claim 7 wherein the file is a media file.

9. The method of claim 7 wherein the file is a video file.

10. The method of claim 7 wherein the score is R T and is determined using the following formula:

Terml Term 2 Term3 Term 4 Term 5 R τ = W r R r + W e R e + W C R C + W md R md + W cF R cF where: 0 < R, < 1 and: 1 = W r + W 6 + W c + W md +W cF => 0 < R τ < 1

11. The method of claim 10 wherein recency is weighted based on the following formula for R r :

_1

\-±- {d c - d p ) , For (d c - d F ) < t e 0 For (d c - d F ) > t

t e = expiration time (perhaps ~ 30 days) d c = current date dp = date found.

12. The method of claim 10 wherein editorial popularity is weighted ' between 1 and 0 and is based on at least one of the following: Neilsen ratings, known brand names, website popularity (e.g. Alexa ranking), or the judgment of a professional or corporation with expertise in online media.

13. The method of claim 10 wherein Clickthru popularity is weighted based on the following formula for R 0 : , Rc = Wcpm Rcpm + Wcph R cp h + W cp d Rcpd ' where:

CPM K pm = clicks P er minutes ranking = — — , (0 < R < 1) . μ Max (cpm) ' over all items

CPH R 1 , = clicks per hour ranking = — — — — - , (0 < R 1 , < Y)

F Max (cph) over all items

CPD R d = clicks per day ranking = — — -— - , (0 < R d < Y) μ Max (cpd) over all items and 14. The method of claim 7 wherein weighting of favorites metadata is R md = 0 if no matches are found or 1 if a keyword field in the metadata of the file matches any favorite titles in a user's favorite titles file, any favorite people in a user's favorite people file, or any keyword in a user's any favorite keywords file.

15. The method of claim 7 wherein weighting of collaborative filtering favorites metadata is R cf Rcf, / = W sim (S max , ,) + (1 - W sim ) P, , where: W S j m = similarity weighting factor

where: 0 < C mm ≤ 1

16. The method of claim 7 wherein R cf is a weighted sum of the maximum user similarity for item / and the popularity of item / among KNN such that 0 < .

, 17. A computer system comprising: a ranking engine having programming code for displaying results of a search query based on scores, wherein the scores for files found in the search are based on at least the following factors: recency, editorial popularity, and clickthru popularity.

18. The system of claim 17 wherein the files are media files.

19. The system of claim 17 wherein the files are video files.

20. The system of claim 17 wherein each of the scores is R T and is determined using the following formula:

Terml Term! Term3 R τ = W r R r + W e R e + W C R C where: 0 < R, < 1 and: 1 = W r + W e + W c => 0 < R x < 1

21. The system of claim 20 wherein recency is weighted based on the following formula for R r :

t β = expiration time (perhaps - 30 days) d c = current date dp = date found.

22. The system of claim 20 wherein editorial popularity is weighted between 1 and 0 and is based on at least one of the following: Neilsen ratings, known

brand names, website popularity (e.g. Alexa ranking), or the judgment of a professional or corporation with expertise in online media

23. The system of claim 20 wherein clickthru popularity is weighted based on the following formula for R 0 : Rc = Wcpm Rcpm + W C ph Rcph + W cp d Rcpd where:

K pm = clicks Per minutes ranking = — — , (0 < R < 1)

Max (cpm) over all items

CPl-T R h = clicks per hour ranking = — — — — , (0 < R h < 1)

Max (cph) over all items

CPD R j = clicks per day ranking = — — — — , (0 < R d < 1)

Max (cpd) F over all items and

24. A computer system comprising: a ranking engine having programming code for displaying results of a search query based on scores, wherein the scores for files found in the search are based on at least the following factors: recency, editorial popularity, clickthru popularity, favorites metadata, and favorites collaborative filtering.

25. The system of claim 24 wherein the files are media files.

26. The system of claim 24 wherein the files are video files.

27. The system of claim 24 wherein each of the scores is i?r and is determined using the following formula:

Term \ Teiml Term 3 Term 4 Term 5 R τ = W r R r + W e R e + W C R C + W md R md + W cF R cF where: 0 < R 1 < 1 and: 1 = W r + W 6 + W c + W md +W cF => 0 < R T < 1

28. The system of claim 27 wherein recency is weighted based on the following formula for R r :

t^ j == expiration time (perhaps ~ 30 days) d c = current date dp = date found.

29. The system of claim 27 wherein editorial popularity is weighted between 1 and 0 and is based on at least one of the following: Neilsen ratings, known brand names, website popularity (e.g. Alexa ranking), or the judgment of a professional or corporation with expertise in online media

30. The system of claim 27 wherein clickthru popularity is weighted based on the following formula for R 0 : R 0 = W cpm Rcpm + Wcph Rcph + Wcpd Rcpd where:

CPM R cpm = clicks P er minutes ranking = — — , (0 < R < 1)

Max (cpm) over aϊl items

OPTT R h = clicks per hour ranking = — — — — , (0 < R 1 , < 1)

Max (cph) μ over all items

CPD R d = clicks per day ranking = — — — — , (0 < R d < 1)

Max (cpd) over all items and 1 = W cpm + W cph + W cpd

31. The system of claim 27 wherein weighting of favorites metadata is R m d = 0 if no matches are found or 1 if a keyword field in the metadata of the file matches any favorite titles in a user's favorite titles file, any favorite people in a user's favorite people file, or any keyword in a user's any favorite keywords file.

1 32. The system of claim 27 wherein weighting of collaborative

2 filtering favorites metadata is R cf

3 Rcf, / = W sim (S max , /) + ( 1 - W sim ) P/ ,

4 where:

5 ' W s i m = similarity weighting factor

7. where:

8 0 < C maxsim ≤ 1

1 33. The system of claim 27 wherein R cf is a weighted sum of the

2 maximum user similarity for item / and the popularity of item / among KNN such that 0 <

3 R cf ≤ l .

1 34. A computer-implemented method for organizing a collection of

2 files from an Internet search, the method comprising:

3 assigning a score to each file based on favorites collaborative filtering

4 W C FR CF and at least one of the following factors: recency W r R r , editorial popularity

5 W e R e , clickthru popularity W C R C , and favorites metadata W md R md ; and

6 organizing the files based on the assigned scores.

1 35. The method of claim 34 wherein the file is a media file.

1 36. The method of claim 34 wherein the file is a video file.

1 37. The method of claim 34 wherein the score is R T and is determined using the following formula: where: 0 < R, < 1 and: 1 = W r + W e + W 0 + W md +W cF "φ 0 < R T < 1

1 38. The method of claim 37 wherein recency is weighted based on the following formula for R 1 -:

t e = expiration time (perhaps - 30 days) d c = current date d F = date found.

39. The method of claim 37 wherein editorial popularity is weighted between 1 and 0 and is based on at least one of the following: Neilsen ratings, known brand names, website popularity (e.g. Alexa ranking), or the judgment of a professional or corporation with expertise in online media.

40. The method of claim 37 wherein Clickthru popularity is weighted based on the following formula for R 0 : Rc = Wcpm Rcpm + W cp h Rcph + W cp d Rcpd where:

CPM R cpm = clicks P er minutes ranking = — — , (0 < R < 1)

Max (cpm) over all items

Cpu R cph = cli cks per hour ranking = — — — — , (0 < R ,, < 1)

Max (cph) over all items

CPD Rcpd = clicks P er da y ranking = — — — — - , (0 < R d < 1)

Max (cpd) over all items and

41. The method of claim 34 wherein weighting of favorites metadata is R m d = 0 if no matches are found or 1 if a keyword field in the metadata of the file matches any favorite titles in a user's favorite titles file, any favorite people in a user's favorite people file, or any keyword in a user's any favorite keywords file.

42. The method of claim 34 wherein weighting of collaborative filtering favorites metadata is R cf Rcf, / = W sim (S maX; / ) + (l - W sim ) P/ , where:

W sim = similarity weighting factor

7 where:

8 ■ 0 < C_ < 1

I ^ 43. The method of claim 34 wherein R cf is a weighted sum of the maximum user similarity for item / and the popularity of item / among KNN such that 0 <

3 R c f ≤ l.

1 44. A computer system comprising: a ranking engine having programming code for displaying results of a search query based on scores, wherein the scores for files found in the search are based on favorites collaborative filtering ' W CF R CF and at least one of the following factors: recency W r R r , editorial popularity W e Re, clickthru popularity W c Rc, and favorites metadata W m dR m d-

1 45. The system of claim 44 wherein the files are media files.

1 46. The system of claim 44 wherein the files are video files.

1 47. The system of claim 44 wherein each of the scores is R T and is determined using the following formula:

Term I Term! Term?, Term 4 Term 5 R τ = W r R r + W e R e + W C R C + W md R md + W cF R cF where: 0 < R 1 < 1 and: 1 = W r + W 6 + W c + W md +W cF <=> 0 < R τ < 1

1 48. The system of claim 47 wherein recency is weighted based on the following formula for R 1 -:

t e = expiration time (perhaps ~ 30 days)

do = current date dp = date found.

49. The system of claim 47 wherein editorial popularity is weighted between 1 and 0 and is based on at least one of the following: Neilsen ratings, known brand names, website popularity (e.g. Alexa ranking), or the judgment of a professional or corporation with expertise in online media

. \ 50/ The system of claim 47 wherein clickthru popularity is weighted based on the following formula for R 0 : . Rc ,= Wcpm Rcpm + W cp h Rcph + W cp d Rcpd where:

CPM R cpm = clicks P er minutes ranking = — — , (0 < R < 1)

Max (cpm) over all items

CPFf R h = clicks per hour ranking = , (0 < R 1 , < 1)

Max (cph) over all items

CPD R cpd = clicks per day ranking = , (0 < R d < 1) v Max (cpd) over all items and ■ 1 = W cpm + W cph + W C p d

51. The system of claim 44 wherein weighting of favorites metadata is R md = 0 if no matches are found or 1 if a keyword field in the metadata of the file matches any favorite titles in a user's favorite titles file, any favorite people in a user's favorite people file, or any keyword in a user's any favorite keywords file.

52. The system of claim 44 wherein weighting of collaborative filtering favorites metadata is R cf Rc f, / = W sim (S max> /) + ( 1 - W sim ) P/ , where: W S i m = similarity weighting factor = C max ,,|l-— J , where:

' 0 < C maxsim ≤ 1

53. The system of claim 44 wherein R cf is a weighted sum of the maximum user similarity for item / and the popularity of item / among KNN such that ( Rcf ≤ l.

Description:

METHOD AND APPARATUS FOR A RANKING ENGINE

BACKGROUND OF THE INVENTION

[0001] Technical Field:

[0002] The technical field relates to a scheme for ranking results, and more specifically, to a rating scheme to rank video search results by a number of factors.

[0003] Background Art:

[0004] Standard web crawlers were originally designed for web pages where the bulk of useful information about the page was contained in an HTML text file. In web pages today, it is increasingly common for the useful information about the page to be contained in a variety of different files, which are all assembled in the browser to create the complete application. Because of this, standard web crawlers are unable to find much of the multimedia and video content available on modern web pages.

[0005] Even for the video content that is found by standard web crawlers, the result of the search often provides video content that may be out-of-date, poor quality, or not relevant to a search query from a user. Traditional search engines lack the ability to efficiently and more accurately organize these search results. There is a need for improved techniques for organizing the results from such searches to provide higher accuracy and greater ease of use for the user.

SUMMARY OF THE INVENTION

[0006] The present invention provides solutions for at least some of the drawbacks discussed above. Specifically, some embodiments of the present invention provide a Ranking Engine that is a rating scheme used in the Truveo Search Engine to rank video search results by factors such as, but not limited to, popularity, timeliness and/or user preferences. It enables the Truveo Search Engine to provide highly targeted search results to users. It is designed to operate effectively in the absence of any user input, however, it uses any provided user input to improve the accuracy of the search results. In one aspect, the present invention provides memory-based reasoning algorithms ensure highly accurate search results with minimal user input. Extensive metadata enables

advanced parametric search when desired. At least some of these and other objectives described herein will be met by embodiments of the present invention.

[0007| In one embodiment of the present invention, a computer-implemented method is provided for a ranking engine. The method comprises assigning a score to each file or record based on at least the following factors: recency, editorial popularity, and clickthru popularity. The files are organized based on the assigned scores.

[0008] In another embodiment of the present invention, a computer-implemented method is provided for a ranking engine. The method comprises assigning a score to each file or record based on at least the following factors: recency, editorial popularity, clickthru popularity, favorites metadata, and favorites collaborative filtering. The files are organized based on the assigned scores.

[0009] In yet another embodiment of the present invention, a computer system is provided that comprises of a ranking engine having programming code for displaying results of a search query based on scores, wherein the scores for files found in the search are based on at least the following factors: recency, editorial popularity, and clickthru popularity.

[0010] In a still further embodiment of the present invention, a computer system is provided that comprises of a ranking engine having programming code for displaying results of a search query based on scores, wherein the scores for files found in the search are based on at least the following factors: recency, editorial popularity, popularity, favorites metadata, and favorites collaborative filtering.

[0011] The files may be media files, video files, video streams, or the like. The editorial popularity may be weighted between 1 and 0 and is based on at least one of the following: Neilsen ratings, known brand names, website popularity (e.g. Alexa ranking), or the judgment of a professional or corporation with expertise in online media. In one embodiment, the weighting of favorites metadata is Rmd = 0 if no matches are found or 1 if a keyword field in the metadata of the file matches any favorite titles in a user's favorite titles file, any favorite people in a user's favorite people file, or any keyword in a user's any favorite keywords file.

[0012] In yet another embodiment of the present invention, a computer-implemented method is provided for organizing a collection of files from an Internet search. The method comprises assigning a score to each file based on favorites collaborative filtering W CF R CF and at least one of the following factors: recency W r R r , editorial popularity

W e Re, clickthru popularity W C R C , and favorites metadata W m aR m d. The files are organized based on the assigned scores.

[0013] In yet another embodiment of the present invention, a computer system is provided that comprises of a ranking engine having programming code for displaying results of a search query based on scores, wherein the scores for files found in the search are based on favorites collaborative filtering W CF R CF and at least one of the following factors: recency W r R r , editorial popularity W e R e , clickthru popularity W 0 R 0 , and favorites metadata W m dR m d.

[0014] For any of the embodiments herein, the files may be media files, video files, video streams, or the like. Optionally, the editorial popularity may be weighted between 1 and 0 and is based on at least one of the following: Neilsen ratings, known brand names, website popularity (e.g. Alexa ranking), or the judgment of a professional or corporation with expertise in online media. In one embodiment, the weighting of favorites metadata is Rmd = 0 if no matches are found or 1 if a keyword field in the metadata of the file matches any favorite titles in a user's favorite titles file, any favorite people in a user's favorite people file, or any keyword in a user's any favorite keywords file.

[0015] A further understanding of the nature and advantages of the invention will become apparent by reference to the remaining portions of the specification and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 shows a schematic of one embodiment of the present invention.

[0017] Figure 2 is a graph showing variables plotted for recency ranking according to the present invention. [0018] Figure 3 is a graph showing the relationship of similarity and popularity weighting according to the present invention.

[0019] Figure 4 shows one embodiment of a display showing results from a search query.

[0020] Figure 5 shows one embodiment of a user interface according to the present invention.

DESCRIPTION OF THE SPECIFIC EMBODIMENTS

[0021] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed. It may be noted that, as used in the specification and the appended

claims, the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a crawler" may include may include multiple crawlers, and the like. References cited herein are hereby incorporated by reference in their entirety, except to the extent that they conflict with teachings explicitly set forth in this specification. [pκi]

[0022] Referring now to Figure 1, a schematic is shown of the Truveo Search Engine which is configured for use with the present ranking scheme. As seen in Figure 1 , the search engine may include a recommendation engine 10. The engine 10 may use reasoning algorithms to provide highly accurate search results with minimal user input. In one embodiment, the recommendation engine may use a ranking scheme as set forth below.

[0023]

[0024] Truveo Ranking Scheme:

Terml Termi Term3 Term 4 Term 5

R τ = W 1 R, + W e R e + W C R C + W md R md + W cF R cF

= 0 if Favorites not set

[0025] where: 0 < R r < 1

[0026] and: 1 = W r + We + Wc + w md +w cF

[0027] 0 < Rx < 1

[0028] Terra 1: Recency Ranking:

~ d F ) , For - d F ) < t e e

0 For ( ' .d. - dδ > t.

[0029] where:

[0030] t e = expiration time (perhaps ~ 30 days)

[0031] d c = current date

[0032] dp = date found

[0033] This yields the relationship as shown in Figure 2.

[0034] Term 2: Editorial Popularity Ranking:

[0035] Each database entry (e.g., item) is assigned a value for 'EDITORIAL-RANK', based on how popular the content is expected to be. This could be based on expected viewership for known brand names, previous Neilsen ratings, etc. The most popular • x content should approach R e = 1. Unknown or unpopular content should approach R e = 0.

Optionally, the editorial popularity rank may also have a time decay component to give weight or more weight to more recent popularity information.

[0036] Term 3: CIickthru Popularity Ranking:

[0037] Rc = W cpm Rc pm + Wcph Rcph + Wcpd Rcpd

[0038] where:

[0039] R cm . = clicks per minutes ranking = , (0 < R < 1)

F Max (cpm) over ail items

CPH

[0040] R . = clicks per hour ranking = — — -—— , (0 < R h < 1)

H Max (cph) over all items

CPD

[0041] R d = clicks per day ranking = — — — — - , (0 < R d < 1)

' Max (cpd) μ over all items

[0042] and

(0043 1 1 = W cpm + W C ph + W cp d

[0044] To implement the clickthru popularity rating, the following fields need to be added to the video data table:

TOTAL_CLICKS = the running tally of clicks that this item has seen since DATE_FOUND

CPM = clicks per minute

CPM_COUNT_BUFFER = running tally of clicks on this item since

CPM_LAST_CALC CPM_LAST_CALC = the time when CPM was last calculated and

CPM_COUNT_BUFFER was flushed [0057] Similarly:

[0058] CPH, CPH_COUNTJBUFFER, CPH_LAST_CALC for clicks-per-hour, and

[0059] CPD, CPD_COUNT_BUFFER, CPDJLA ST_C ALC for clicks-per-day.

[0060] These fields can be calculated and update as follows:

[0061] For every user with cookies enabled, each clicked item is stored anonymously in a cookie. Upon a subsequent request to the Truveo search engine (during that same session), the clickthru data in the cookie is processed as follows: [0062] For every item clicked, increment TOTAL_CLICKS, CPM COUNTJBUFFER,

CPH_COUNT_BUFFER, and CPD_COUNT_BUFFER by 1. [0063] For CPM, if CURRENT JlME - CPM_LAST_CALL > 1 minute,

[0064] CPM - CPM_COUNT _BUFFER / (CURRRENT JTIME - CPM_LAST_CALC)

[0065] reset CPM_COUNT_BUFFER to 0

[0066] set CPM_LAST_CALC to CURRENT_TIME

[0067] Similarly for CPD and CPH

[0068] Once this is complete, the user's browser cookie may be flushed to eliminate all cached clickthrus.

[0069] Term 4: Favorites Metadata Ranking:

[0070] Note that if the user has not registered for an account, this Ranking, R md , is zero

[0071] If the user does have a valid account, R md will be determined as follows:

[0072] User FAVORITES METADATA is stored in 3 database tables:

FAVORITEJTTLES, FAVORITE_PEOPLE, FAVORITEJCEYWORDS. [0073] For a given video data item:

[0074] If any entry in FAVORITE JTTLES matches any part of the TITLE field or the

BCEYWORDS Field, R md = 1. [0075] -OR-

[0076] If any entry in the FAVORITE JPEOPLE table matches any part of any of the fields: ACTOR, DIRECTOR, KEYWORDS, PRODUCER, WRITER,

LONGJ)ESCRIPTION, SHORTJ)ESCRIPTION, R md = 1 [0077] -OR-

[0078] . If any entry in the FAVORITE JCEYWORDS table matches any part of any of the fields: ACTOR, CATEGORY, DIRECTOR, GENRE, HOST_SITE_NAME, HOST_SITE_URL, KEYWORDS, LONGJDESCRIPTION, SHORTJDESCRIPTION, PRODUCER, TITLE, WRITER, R md = 1.

[0079] Otherwise, R md = 0 r 0, if no metadata match [0080] Therefore: R md = .

1, if metadata match

[0081] Note: Be sure to Filter matches on trivial metadata entries like single characters, articles or whitespace characters. [0082] A user's favorites may be determined by, but limited to, providing a mechanism for the user to indicate their favorite videos, recording the video items they select to view s (e.g. through the use of cookies), or by recording the video items they choose to forward via e-mail to other people. The FAVORITEJTITLE, FAVORITE_PEOPLE, and

FAVORITE KEYWORDS tables are populated for the user by extracting the appropriate meta data from the video record of the indicated favorite video. [0083] Optionally, embodiments of the present application may also include the use of a unique cookie to identify an anonymous user as a substitute for a user account.

[0084] Term 5: Favorites Collaborative Filtering Ranking:

[0085] A listing of the Favorite Items (video data records) for each user is stored in the database table FAVORITEJTEMS.

[0086] Note that, if the user has not registered for an account, this ranking, R cf , is zero.

[0087] If the user does have a valid account, R cf is determined as follows:

[0088] First, calculate the distance between user i and all other users,/:

[0089] O,J = distance between user / +j - — = 1 — n, /i,

[0090] where n, is the number of Favorite items user / has stored, and n, j is the number of user i's Favorites that match Favorites of user/ [0091] Note that if all of user /'s Favorites match a Favorite of user/, then D υ = 0. If none match, D y = 1. [0092] Similarly, a measure of the similarity between user / and/ can be calculated as follows:

[0093] S v = similarity between users / and/ = (1 - D y ) =

[0094] Note: S v = 1 when the users are completely similar, and 0 when there are no similar Favorites between users. [0095] We can now select the K-Nearest Neighbors to user / based on the similarity ranking. For example, assuming user / has three Favorite items: [0096] For: User i

[0097] Favorites: ITEMID = 103 ITEMID = 107 ITEMID

= 112

[0098] K-Nearest Neighbors can be selected as follows:

Reranking the users by decreasing similarity:

[00100] From the K-Nearest Neighbors, we can also determine a popularity rating for each new Favorite item. This can be calculated from the fraction of the K neighbors that have item / in their Favorites list.

[00101] Specifically:

KNN = K-Nearest Neighbors (for K = 4):

Similarity to

User ID User / New Favorite Items

4 1 104

2 0.66 104, 105, 106

5 0.66 106, 109, 1 10, 11 1

1 0.33 101, 102, 110

P, = I popularity of item / number of occurrences of item / among K-Nearest K Neighbors to user i

[00105] Therefore,

[00106] Were: S max, / = Maximum similarity across all users with item / in their

Favorites list

[00107] Note: Popularity = 1 when all KNN contain item /, and Pi = 0 when no

KNN contain item /.

[001081 Now, we can determine a ranking for every new item in the K-Nearest Neighbors list:

[00109] For a given item /:

[00110] Ret , = W sim (S max, /) + (1 - W sim ) P, ,

[00111] where: [00112] W s i m = similarity weighting factor

1

[00113] max stm

[00114] where:

[00115] 0 < C maχsim < 1

[00116] In other words, Rc f is a weighted sum of the maximum user similarity for item / and the popularity of item / among PCNN such that 0 < R cf < 1. [00117] The weighting factor is calculated as a function of n, since the relative importance of user similarity, as compared to popularity, increases with the number of specified

Favorite items. In other words, if a user has only specified one Favorite item, n, = 1, then the similarity will be either 0 or 1, and therefore it does not have much meaning.

Therefore, when n, is small, similarity should be weighed less than popularity. [00118] C max sim should be set to the value that the similarity weighting factor should approach as n, becomes large. A good range is probably 0.3 < C max s j m ≤ 0.8. [00119] More specifically, the relationship of the similarity and popularity weighting coefficients can be plotted as shown in Figure 3. [00120] Now, for each new item in KNN, we can calculate the Rank R^:

Assume C max sim - 0.6. For n,= 3:

* W sim = 0.45

[00121] Note:

[00122] R cf is always between 0 and 1

[00123] If the maximum similarity to user i for item / is 1, and item 1 is a Favorite of all s KNN users, R cf = 1

[00124] The popularity will never be below , but the similarity can be zero. As a result, R cf will never be O unless C maX s im = 1 and ή, <=> ∞.

[00125] Optionally, embodiments of the present invention may also include a factor for crawl quality in the ranking of search results. By way of nonlimiting example, Application Crawler results are ranked higher than RSS feed results and RSS feed results higher than results from a generic web crawler.

[00126] Referring now to Figure 4, one embodiment of a user interface for presenting the search results is shown. As seen in Figure 4, the results may display description of the video content, length of video, time the video was posted, title, website origin, video type, and/or video quality.

[00127] Referring now to Figure 5, another embodiment of a user interface is shown. This intuitive Media Center user interface may used to bring web video to a television and other non-PC video devices. In one embodiment, the present invention provides TiVo- style recommendations as well as keyword queries. As seen in Figure 1, the television interface (or Media Center interface) shown in Figure 5 may access the results from the ranking engine and application crawler. Again, video quality, bit rate, description, and other information may be displayed. Videos may also be categorized based on categories such as, but not limited to, news, sports, movies, and other subjects.

[00128] While the invention has been described and illustrated with reference to certain particular embodiments thereof, those skilled in the art will appreciate that various adaptations, changes, modifications, substitutions, deletions, or additions of procedures and protocols may be made without departing from the spirit and scope of the invention. For example, with any of the above embodiments, the recommendation may use a ranking scheme having only a subset of the ranking terms set forth in the formula. By way of example and not limitation, some embodiments may not include Term 5, the Favorites Collaborative Filtering Ranking. In other embodiments, variations may be made to the present embodiment such as but not limited to computing the ranking terms in a different

order or the like. It should be understood that the present ranking scheme is not limited to video files and may be used to rank or organize other types of files. It should be understood that the term "files" as in "video files" may include the delivery of the content of the file in the form of a stream from a server (i.e. a media server).

[00129] The publications discussed or cited herein are provided solely for their disclosure prior to the filing date of the present application. Nothing herein is to be construed as an admission that the present invention is not entitled to antedate such publication by virtue of prior invention. Further, the dates of publication provided may be different from the actual publication dates which may need to be independently confirmed. U.S. Provisional Application Serial Number 60/630,552 (Attorney Docket Number 41702-1002) filed November 22, 2004 and U.S. Provisional Application Serial Number 60/630,423 (Attorney Docket Number 41702-1001) filed November 22, 2004, are fully incorporated herein by reference for all purposes. All publications mentioned herein are incorporated herein by reference to disclose and describe the structures and/or methods in connection with which the publications are cited.

[00130] Expected variations or differences in the results are contemplated in accordance with the objects and practices of the present invention. It is intended, therefore, that the invention be defined by the scope of the claims which follow and that such claims be interpreted as broadly as is reasonable.