U.S. patent application number 13/847903 was filed with the patent office on 2013-10-31 for sponsored listing recommendation engine.
The applicant listed for this patent is Yahoo! Inc.. Invention is credited to Dennis Martin DeCoste, Ian C. Rogers, Malcolm Slaney, Michael Spiegelman.
Application Number | 20130290099 13/847903 |
Document ID | / |
Family ID | 39763613 |
Filed Date | 2013-10-31 |
United States Patent
Application |
20130290099 |
Kind Code |
A1 |
Slaney; Malcolm ; et
al. |
October 31, 2013 |
SPONSORED LISTING RECOMMENDATION ENGINE
Abstract
An online music system includes a music database configured to
store musical selections and to store a user profile for respective
users of the online music system, an advertiser account management
system to store bid amounts from advertisers seeking to provide
information to the users of the online music system and a user
recommendation system coupled to the music database to present
information about musical selections to respective users based on
the stored user profile and the stored bid amounts.
Inventors: |
Slaney; Malcolm; (Sunnyvale,
CA) ; DeCoste; Dennis Martin; (Mercer Island, WA)
; Rogers; Ian C.; (Santa Monica, CA) ; Spiegelman;
Michael; (Los Angeles, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Yahoo! Inc. |
Sunnyvale |
CA |
US |
|
|
Family ID: |
39763613 |
Appl. No.: |
13/847903 |
Filed: |
March 20, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11717982 |
Mar 14, 2007 |
8417573 |
|
|
13847903 |
|
|
|
|
Current U.S.
Class: |
705/14.53 |
Current CPC
Class: |
G06Q 30/0255 20130101;
G06Q 30/0631 20130101; G06Q 30/0623 20130101; G06Q 30/02 20130101;
G06Q 30/0275 20130101; G06Q 30/0641 20130101 |
Class at
Publication: |
705/14.53 |
International
Class: |
G06Q 30/02 20120101
G06Q030/02 |
Claims
1. A computer implemented online music system comprising: a music
database configured to store musical selections and to store a user
profile for respective users of the online music system; an
advertiser account management system to store bid amounts from
advertisers seeking to provide information to the users of the
online music system; and a user recommendation system in data
communication with the music database and the advertiser account
management system to present information about musical selections
to respective users based on the stored user profile and the stored
bid amounts.
2. The computer implemented online music system of claim 1 wherein
the user recommendation system is configured to receive a content
search request from a respective user and update the user profile
for the respective user using information of the received content
search request.
3. The computer implemented online music system of claim 2 further
comprising: a content search engine to identify content listings in
a database which match the received content search request and to
send a web page including matching content listings and the
information about musical selections to the respective user
4. The computer implemented online music system of claim 1 wherein
the user recommendation system is configured to identify
recommended musical selections for the respective user based on the
user profile and to send a web page which includes the recommended
musical selections and the information about musical selections to
the respective user.
5. The computer implemented online music system of claim 4 wherein
the user recommendation system is configured to use collaborative
filtering to determine content preferences for the respective user
and to use collaborative filtering results to recommend the musical
selections for the respective user.
6. The computer implemented online music system of claim 5 wherein
the user recommendation system is configured to use collaboratively
filter the user profile of the respective user against user
profiles of other users of the online music system.
7. The computer implemented online music system of claim 4 wherein
the user recommendation system is configured to monitor content
consumed by or delivered to the respective user, in response
thereto, to identify one or more communities of content consumers
to which the respective user belongs; and subsequently, select
content items from the identified one or more communities as the
recommended musical selections.
8. The computer implemented online music system of claim 4 wherein
the user recommendation system is configured to identify one or
more sponsored recommendations; and send the web page which
includes the recommended musical selections, the information about
musical selections, and information about the sponsored
recommendations, to the respective user.
9. The computer implemented online music system of claim 8 wherein
the user recommendation system is configured to retrieve account
information for the respective user; using the retrieved account
information, determine ratings for musical selections in the
database; select highest rated musical selections for the
respective user; select sponsored recommendations for the
respective user; order the sponsored recommendations using expected
revenue; and return the ordered sponsored recommendations to the
respective user.
10. The computer implemented online music system of claim 1 wherein
the user recommendation system is configured to receive a content
search request from a respective user; retrieve account information
for the respective user; identify content items similar to the
received content search request; identify sponsored recommendations
for the respective user based on the received content search
request; order the sponsored recommendations using expected
revenue; and return the ordered sponsored recommendations to the
respective user.
11. A computer implemented method for operating an online content
system which provides online content to users, the method
comprising: storing a user profile for respective users of the
online content system; storing bid amounts from advertisers seeking
to provide information to the users of the online content system;
and presenting information about content selections to respective
users based on the stored user profile and the stored bid
amounts.
12. The computer implemented method of claim 11 further comprising:
receiving a content search request from a respective user; and
updating the user profile for the respective user using information
of the received content search request.
13. The computer implemented method of claim 12 wherein updating
the user profile comprises: collaborative filtering the received
content search request with information of other stored user
profiles; using results of the collaborative filtering, identifying
similar content selections from the other stored user profiles; and
presenting information about the identified similar content
selections to the respective user.
14. The computer implemented method of claim 12 further comprising:
identifying content listings in a database matching the received
content search request; formatting content search results using the
matching content listings; and sending a web page including the
content search results and the information about content selections
to the respective user.
15. The computer implemented method of claim 11 further comprising:
based on the user profile, identifying recommended content
selections for the respective user; sending a web page including
the recommended content selections and the information about
content selections to the respective user.
16. The computer implemented method of claim 11 further comprising:
receiving a content search request from a respective user;
determining a set of highest rated content selections for the
respective user; among the set of highest rated content selections,
ordering content selections having stored bid amounts using
expected revenue; and presenting information about the identified
similar content selections and the ordered content selections to
the respective user.
17. The computer implemented method of claim 16 wherein determining
a set of highest rated content selections for the respective user
comprises: collaborative filtering content items identified by the
respective user with content items identified by other respective
users; and selecting results of the collaborative filtering as the
set of highest rated content selections.
18. The computer implemented method of claim 16 wherein determining
a set of highest rated content selections for the respective user
comprises: determining demographic information for the respective
user; and rating content selections based on the determined content
information.
19. The computer implemented method of claim 11 further comprising:
receiving a content search request from a respective user;
identifying content items stored in a database which are similar to
the content search request; for identified content items having
associated bid amounts from advertisers, biasing the identified
content items according to the associated bid amounts; ordering the
biased content selections using expected revenue; and presenting
information about the ordered content selections to the respective
user.
20. The computer implemented method of claim 19 wherein identifying
content items which are similar to the content search request
comprises collaborative filtering of the content search request
relative to content items stored in the database.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a division of U.S. application Ser. No.
11/717,982, filed Mar. 14, 2007, pending, which is incorporated
herein in its entirety by this reference.
BACKGROUND
[0002] The present invention relates generally to database systems.
More particularly, the present invention relates to a sponsored
listing recommendation engine.
[0003] The availability of powerful tools for developing and
distributing Internet content has led to an increase in
information, products, and services offered through the Internet,
as well as a dramatic growth in the number and types of consumers
using the Internet. To sift through this immense volume of
information, a user often submits queries to search engines that
provide responsive information that meets the criteria specified by
the queries. Internet content providers monitor queries and
selections made by users and tailor recommendations and content
provided to the users.
[0004] On example of such an online search engine system is
disclosed in U.S. Pat. No. 6,269,361 entitled "System and Method
for Influencing a Position on a Search Result List Generated by a
Computer Network Search Engine" and assigned to Overture Services,
Inc. This patent discloses a system and method in which online
advertisers may influence the position of their sponsored search
listings in search results provided to a searcher. The advertisers
submit search listings having bid amounts and search terms or
keywords. The advertisers may submit any number of search terms to
the online system. In response to a user query, the online search
system returns relevant search results having keywords that match
the user's query, including some associated with advertisers. The
search results are ordered in part using the bid amounts.
[0005] Another example of such a system is disclosed in U.S. Patent
publication number 2003-0046399 A1 entitled "Online playback system
with community bias" and assigned to Launch Media, Inc. This
document discloses an online music system in which subscribers can
create their own station by expressing their musical preferences.
In this system, information derived from user accounts forms the
basis of an online community. Collateral preferences allow other
subscribing individuals to enjoy the benefit of wider-ranging
tastes according to the preferences expressed by the other members
of the community. Additionally, assuming that individuals sharing
one preference in common may be likely to share others, the
disclosed system allows those who choose to listen to a "fan
station" the ability to enjoy similar music or other data streams
according to preferences expressed by the fan community as a whole.
The system makes recommendations to a listener based on community
preferences.
[0006] While such systems have been successful at providing music
to listeners in accordance with their preferences, there may be
opportunities to provide additional music selections to listeners
which are outside the user's specifically expressed interest, or
even the community's expressed interest.
BRIEF SUMMARY
[0007] By way of introduction only, the present disclosure provides
in a first embodiment a method for operating an online music system
that provides music to users. The method includes storing a user
profile for respective users of the online music system, storing
bid amounts from advertisers seeking to provide information to the
users of the online music system, and presenting information about
musical selections to respective users based on the stored user
profile and the stored bid amounts.
[0008] In a second embodiment, the present disclosure provides an
online music system which includes a music database configured to
store musical selections and to store a user profile for respective
users of the online music system. The system further includes an
advertiser account-management system to store bid amounts from
advertisers seeking to provide information to the users of the
online music system and a user recommendation system coupled to the
music database to present information about musical selections to
respective users based on the stored user profile and the stored
bid amounts.
[0009] In another embodiment, the present disclosure provides a
method for an online music system. The method includes, from a user
recommendation system to a user a web page which includes
user-selected songs, wherein selection of the user-selected songs
is based on a current selection of songs by a user or on
preferences of the user. The method further includes selecting one
or more additional recommended songs from a set of sponsored music
recommendations, each of the set of sponsored music recommendations
being associated with an information provider having an account on
the online music system and a computer network location, the
selection of the additional recommended songs being based on the
preferences of the user. The method still further includes
providing to the user on the web page information about the one or
more additional recommended songs, and detecting selection by the
user of an additional recommended song.
[0010] In another embodiment, the present disclosure provides a
database method which includes presenting to a user a web page
including selected content wherein the selection of the selected
content is based on user selection or on previously determined user
preferences. The method further includes selecting one or more
additional recommended selections from a set of sponsored
recommendations, each of the set of sponsored recommendations
having associated therewith an information provider and a computer
network location, selection of the additional recommended
selections being based on previously determined user content
preferences. The method further includes presenting to the user on
the web page the one or more additional recommended selections and
detecting selection by the user of an additional recommended
selection from the set of sponsored recommendations. Upon detection
of the selection by the user. The method further includes
presenting the additional recommended selection to the user.
[0011] The method further includes a method for providing music
information to an online user. The method includes storing a music
database of songs to be provided to users and storing a
recommendation database of songs, each song being associated with
an information provider and a money amount. The method further
includes providing songs from the music database on a web page sent
to a user in response to user requests, collecting user preference
information about the provided songs and/or other songs in the
music database and, based on the user preference information,
providing recommended songs from the recommendation database on the
web page sent to the user.
[0012] Still further, the present disclosure provides a database
system for providing content to users. The database system includes
a content database, a content provider coupled with the content
database to provide content to a user, the content selected from
the database to users based on user preferences and a sponsored
recommendation database. The system further includes a sponsored
recommendation provider coupled with the sponsored recommendation
database to provide sponsored recommendations to the user based on
the user preferences and a server coupled with the content provider
and the sponsored recommendation provider to transmit to the user a
web page including the selected content combined with the sponsored
recommendations.
[0013] Still further, the present disclosure provides a music
database system which includes a music database and a user
preference learner coupled with the server to monitor user
interactions with the music database system to identify user
preferences based on the user interactions. The system further
includes a sponsored recommendation database which stores
recommended song files, each recommended song file being stored
with a money amount and an information provider identification, the
money amount being payable by the information provider when a
recommended song file is referred to a user and is selected by a
user. The system still further includes a server coupled with the
music database for serving web pages to a subscriber, a served web
page including information identifying song files from the music
database to subscribers; the song files selected based on
identified user preferences for the subscriber, the served web page
further including information identifying one or more recommended
song files, the recommended song files selected based on the
identified user preferences for the subscriber.
[0014] These methods and systems provide value to customers in at
least two ways. First, from the user's point of view, the user sees
results that are directly related to the user's query. The online
search system provides relevant results for each query. On the
other hand, the online search provider has an opportunity to
provide related results that possibly answer the user's broader
needs. For example, when a query is received from a user for the
brand name FORD, the online search system provides search results
related to products of the Ford Motor Company. In addition,
competitors such as General Motors and Toyota may be willing to
sponsor search listings for the same keyword to put their
advertisement in front of the user, because the user may be in the
market for a new car. This gives the online search provider the
opportunity to show the user sponsored search results that are
outside the specific request.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] FIG. 1 shows an architecture for providing information and
recommendations to an online user; and
[0016] FIGS. 2-6 are flow diagrams illustrating operation of the
architecture of FIG. 1.
DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS
[0017] FIG. 1 shows an architecture 100 for providing information
and recommendations to an online user. The architecture 100
includes a user client system 102, an advertiser client system 104,
a content engine web server 106, a content database 108, an account
management system 110, a user recommendation system 112 and a music
database 114. Components of the system communicate data and
information over a communications network 110. The user client
system 110 may submit a request via the communications network 116
to the content engine web server 106, which may be implemented on a
server or other network enabled system. The user recommendation
system 112 monitors information about user preferences and makes
recommendations to the user at the user client system 102. The
advertiser client system 104 submits sponsored recommendations to
the user recommendation system 112 which may be included with the
recommendations made to the user client system 102. It will be
appreciated that the components of the architecture 100 may be
separate, may be supported on a single server or other network
enabled system, or may be supported by any combination of servers
or network enabled systems.
[0018] The communications network 116 may be any private or public
communications network or combination of networks. The
communications network 116 may be configured to couple one
computing device, such as a server, system, database, or other
network enabled device, to another device to enable communication
of data between computing devices. The communications network 116
may generally be enabled to employ any form of machine-readable
media for communicating information from one computing device to
another. The communications network 116 may include one or more of
a wireless network, a wired network, a local area network (LAN), a
wide area network (WAN), a direct connection such as through a
Universal Serial Bus (USB) port, and the like, and may include the
set of interconnected networks that make up the Internet. The
communications network 116 includes any communication method by
which information may travel between computing devices.
[0019] The user client system 102 connects to the content engine
web server 106 and the user recommendation system 112 via the
communications network 116 using a standard browser application. A
browser-based implementation allows system features to be
accessible regardless of the underlying platform of the user client
system 102. For example, the user client system 102 may be a
desktop, laptop, handheld computer, cell phone, mobile messaging
device, network enabled television, digital video recorder, such as
a digital video recorder, automobile, or other network enabled user
client system 102, which may use a variety of hardware and/or
software packages. The user client system 102 may connect to the
content engine web server 106 using a stand-alone application which
may be platform-dependent or platform-independent. Other methods
may be used to implement the user client system 102.
[0020] The advertiser client system 104 may be used by network
information providers such as advertising web site promoters or
owners having advertiser web pages. These advertising web site
promoters, or advertisers, may wish to access account information
residing on account management system 110. An advertising web site
promoter may, through the account residing on the account
management system 110, participate in a competitive bidding process
with other advertisers. An advertiser may bid on users' musical
interests or demographics which may be relevant to the content of
the advertiser's web site.
[0021] Further, advertisers may sponsor recommendations to be made
to users at the user client system 102. As will be described in
greater detail below, user recommendation system 112 provides music
and other information to a user of the user client system 102. The
provided information is based at least in part on recommendations
of songs or artists not specifically requested by the user. In
addition, the provided information is based on a competitive
bidding process among advertisers.
[0022] This process may be referred to as sponsored recommendation.
The architecture 100 forms a marketplace where advertisers and
other information providers can bid on users' interests. When a
user is searching for music and specifies, for example, an artist,
a song, a genre or other information, the user recommendation
system 112 provides information matching the specific request.
Further, if the user is part of an identified community, the system
provides recommendations based on interests of other listeners who
are part of the same community. Further, if the user's request
matches a keyword or other information on which advertisers have
bid, the system provides sponsored recommendations to the user. If
the user selects a sponsored recommendation, for example, by
clicking on a link provided to the user client system 102, the
account of the advertiser associated with the clicked link is
debited or the advertiser is otherwise charged by the bid
amount.
[0023] The content engine web server 106 implements a content
engine. The content engine is responsible for serving a list of
content. Content includes in different embodiments some or all of
music, videos, search listings or other information. The content
engine delivers the content to users for user consumption. The
content engine in some embodiments has information about user
tastes and desires and uses processes such as collaborative
filtering to choose content to send to a selected user. In
addition, the content engine web server 106 permits network users,
upon navigating to a uniform resource locator (URL) associated with
the content engine web server 106 or other related site, to type
keyword queries to identify pages of interest among the millions of
pages available on the World Wide Web. In one embodiment, the
content engine implemented by the content engine web server 106
generates a web page that includes, at least in part, relevant
entries obtained from and formatted by information in the account
management system 110. The content engine web server 106 generates
a list of hypertext links to files or documents that contain
information relevant to the user at the user client system 102. The
content engine web server 106 transmits this web page to the
network user, where it is displayed on the browser running on the
user client system 102.
[0024] The account management system 110 includes computer storage
medium 120 and a processing system 122. A database is stored on the
storage medium 120 of the account management system 110. The
database contains advertiser account information. The account
information stored in the database includes information about the
content of each advertiser who participates in the on-line
marketplace established by the system. This information includes
content, content descriptions, titles and URLs, bid amounts and
other information as will be described below in greater detail.
Further, the account information includes information produced by
operation of the marketplace system, such as current rank and
current bid for content offerings or each search listing, the
number of clicks recorded for search listings, a calculated click
through rate (CTR) and the advertiser's account balance. The
processing system 122 may be accessed by advertisers and other
information providers operating an advertiser client system
104.
[0025] The user recommendation system 112 monitors information
about user preferences and makes recommendations to the user at the
user client system 102. The user recommendation system 112 may make
recommendations using any suitable algorithm or process. In one
embodiment, the user recommendation system 112 uses collaborative
filtering to determine what users prefer and to place similar
information in front of those users. Collaborative filtering is a
method of making automatic predictions about interests of a user by
collecting taste information from many users. Collaborative
filtering relies on the assumption that individuals who agreed in
the past tend to agree again in the future. In one example, the
collaborative filtering for music tastes as implemented by the user
recommendation system 112 make predictions about which music a user
will prefer given some information about that user's tastes. The
resulting recommendations are specific to the user, but use
information gleaned from many users.
[0026] In another embodiment, the user recommendation system 112
monitors content consumed or delivered to by the user and
selections made by the user and identifies one or more communities
of listeners to which the user belongs. The communities are defined
by one or more common interests. For example, if the user listens
to one or more musical selections by the artist Coldplay, the user
recommendation system 112 may associate the user with a Coldplay
community, a Modern Rock community and other communities for users
with a preference for Coldplay.
[0027] Subsequently, when providing web pages of information to the
user, the user recommendation system 112 makes selections from one
or more of the communities to which the user belongs. The
recommendations may be included in a list of search results in
response to a specific request from the user. Alternatively, the
recommendations may be included on the web page but separate from
the search results. For example, if the user has expressed a
preference for "Coldplay," the web page returned to the user client
system 102 may include a list of songs by Coldplay, ranked in any
convenient order and displayed in the center of the web page. In
the margin of the page or otherwise adjacent to the search
listings, the web page may also display text such as "If you are
interested in COLDPLAY," you may also be interested in the
following," and a list of recommendations. The recommendations may
take the form of one or more hyperlinks which, when selected by
clicking the hyperlink, return information about the user's
selection to the user recommendation system 112. This selection is
tracked by user recommendation system 112 and used for making
further future recommendations. The listed recommendations may be
other artists, other songs, other genres, or any other information
associated with a community identified for the user. For example,
the user recommendation system 112 may even recommend related
products, such as books or periodicals or clothing or concert
tickets which are associated with a community of which the user is
a member.
[0028] In addition to content and recommendations, the user
recommendation system 112 may also include sponsored
recommendations on the web page returned to the user. A sponsored
recommendation is information including, for example, text, a
title, a hyperlink and associated URL and bid amount. The sponsored
recommendation appears on the web page with, in one example, search
results matching a search request from the user, recommendations
made to the user based on communities to which the user belongs,
and from a sponsored recommendation database such as music database
114. The sponsored recommendations may appear anywhere on the web
page but are preferably positioned in the margin of the page.
[0029] The sponsored recommendation is prepared by an advertiser or
other information provider and may be part of a competitive bidding
process with other advertisers. The advertiser prepares a sponsored
recommendation listing using, for example, the advertiser client
system 104. The advertiser may manually or automatically edit the
sponsored recommendation listing by providing a title, text for the
body of the sponsored recommendation, a URL to which the user's
browser will be redirected upon a clickthrough of the sponsored
recommendation listing, and a bid amount. The bid amount is used
for controlling the position among a set of sponsored
recommendations at which the respective sponsored recommendation
listing will appear. For example, if the sponsored recommendations
are provided as a list on the page adjacent to available content or
search results, sponsored recommendation listings having a higher
bid amount will be listed higher than sponsored recommendation
listings having lower bid amounts.
[0030] Continuing the example above, then, the web page including
the content matching the user's interest in COLDPLAY and the
recommendations drawn from appropriate online communities also
include a set of sponsored recommendations matching the search term
COLDPLAY. One exemplary sponsored recommendation listing includes a
title COLDPLAY CONCERT TICKETS, and the text "Interested in
Coldplay concert tickets? Best seats, best prices. Click Here," and
a hyperlink. Another exemplary sponsored recommendation listing
includes a title "FOR COLDPLAY FANS," and the text, "If you like
Coldplay, give Tori Amos a listen," and a hyperlink or a button to
click. Any other content access technology may be used in place of
the World Wide Web example provided here.
[0031] The user recommendation system 112 may receive a user
request from the content engine web server 106 directly or via the
communications network 116. The user recommendation system 112 may
also receive the request from the user client system 102. User
recommendation system 112 may obtain community information
associated with the query or the user from the music database
114.
[0032] FIGS. 2-6 are flow diagrams illustrating one aspect of
operation of the architecture of FIG. 1. FIG. 2 illustrates
operation to provide a web page to a user in response to a user
request. A request is received from a user over any suitable
communication channel such as the communications network 116 from a
user. A request occurs any time a user explicitly searches for
content such as a song, video or other information, or any time
there is an implicit call for further content. For example, a user
may submit a content search request for content listings matching a
keyword. The system responds with matching content listings, such
as a list of song or video titles; and provides sponsored
recommendations as well. In another example, when a song or video
is played to the user and ends, there is an implicit call for
additional content to be played. This implicit call is another type
of request. The method begins at block 200.
[0033] At block 202, a request is received from a user. The request
may include information formatted by a web browser operating on a
user device such as the user client device 102. The request is
accompanied by music-related information of the user. For example,
the request may include a keyword which is a song title, an
artist's name, a musical genre, or other information. In another
example, the request includes information defining a musical
selection made by the user. For example, the user may be using the
user device to view a page of song titles or artist names. Upon
clicking one of the song titles, information about that selection
is conveyed to the user recommendation system 112. In another
example, the user is invited on a displayed web page to rate songs
or artists, for example, by clicking a number of stars displayed on
the web page. More stars indicate a higher rating and greater
preference for this user. The number of stars selected by the user
may be included in the request. Other examples may be imagined as
well. Further, the request preferably includes user identification
information, such as a user name, account number, password,
etc.
[0034] The request is conveyed to various destinations of the
architecture 100. For example, the request is conveyed to the
content engine 106 to retrieve information relevant to the request.
The retrieved information may include sponsored search results in
which advertisers have bid on keywords. Also, the request is
conveyed to the user recommendation system 112 to provide
recommendations to the user.
[0035] At block 204, the request is stored and processed. Any
relevant information about the request may be saved, such as the
music related information of the user and the user identification
information. The information may be saved at any appropriate
location such as the music database 114 or the database 120 of the
account management system 110.
[0036] Further, the request is processed to determine user
preference information. Any suitable processing may be implemented
to extract from the request information about this user's
preferences and to relate the information about this user to
musical preference information of other users. In one example, a
collaborative filtering process is applied to predict ratings for
this user for this song, artist or genre, etc. for all other songs,
artists and genres in the music database 114. Alternatively,
statistics may be maintained and updated in response to the request
to reflect preferences of this user. If the user is a member of one
or more online communities, the community information may be
updated in response to the request, or the user may be added to one
or more already existing communities.
[0037] At block 206, matching content listings are retrieved for
the request. This act applies only if the user has submitted a
content request in the form of a search query, seeking information
related to a submitted keyword. A search system such as the content
engine web server 106 receives the content search request and
obtains matching content listings. This may be done in any suitable
manner. The matching content listings are ordered as content search
results according to any algorithm.
[0038] At block 208, sponsored recommendations are retrieved by the
user recommendation system 112. Using user preference information
for this user and for other users, either individually or in the
aggregate, recommendations are selected and ordered. Additional
details about this process will be provided below in conjunction
with FIGS. 3-6.
[0039] At block 210, a web page is formed with the content listings
retrieved at block 206 and with the sponsored recommendations
retrieved at block 208. In one embodiment, the content listings are
generally centered and more prominent on the page and the sponsored
recommendations are less prominent, such as placed in the margin of
the page. Other information such as logos and banner advertisements
may be formatted into the page as well.
[0040] At block 212, the page is sent to the user. Preferably, the
page is rendered as an HTML page and transmitted over the
communications network 116 to the user device which originated the
request. The method of FIG. 2 ends at block 214.
[0041] FIG. 3 illustrates one set of acts which may be performed as
part of the act of retrieving sponsored recommendations at block
208 of FIG. 2. The process illustrated in FIG. 3 may be
implemented, for example, as a subroutine to be called after
processing block 206 of FIG. 2.
[0042] At block 300, account information for the current user is
retrieved. This may be done, for example, using user identification
information included in the request.
[0043] At block 304, the highest rated songs for this user are
selected. Using the account information retrieved in block 302 and
the body of musical preferences for this user and other similar
users, ratings are determined for each song and/or for each artist,
genre, etc., maintained in the music database 114. For example, the
ratings may be based on the result of collaborative filtering this
user's selections with the remainder of the users in the database
114. Alternatively, ratings may be based on demographic information
about users, such as age, location, gender, race, as well as
musical preferences.
[0044] At block 306, the sponsored recommendations to be provided
to the user are ordered using expected revenue. The advertisers who
sponsor the sponsored recommendations bid on the opportunity to
send their recommendations to the user. The bids may be based on
user behaviors and interests, particularly for those of desirable
users. For example, an advertiser might bid $2 for the opportunity
to present his sponsored recommendation to users under age 30 who
like the artist Neil Young. The advertiser's bid might be
relatively high because he wants to recommend to the user songs by
a similar artist, such as Bob Dylan. Alternatively, the
advertiser's bid might be relatively low because he wants to
recommend to users songs by an unrelated artist or in an unrelated
genre, but he sees value in recommending to the users having the
demographics of Neil Young listeners.
[0045] Expected revenue in one example is the product of bid amount
and clickthrough rate. Preferably, the ratings for a song or other
recommendation are biased according to expected revenue. That is,
the song likely to produce the highest expected revenue to the
operator of the online marketplace is ranked highest. A
clickthrough rate is obtained historically, by tracking
clickthroughs by all users of the system. The clickthrough rate in
this example is multiplied by the bid for each song to order the
songs which form the sponsored recommendations. Also, if other
information such as artists or genres are to be recommended, the
same process can be similarly applied.
[0046] At block 308, the sponsored recommendations are returned and
processing continues at block 210 of FIG. 2.
[0047] FIG. 4 illustrates an alternative set of acts which may be
performed as part of the act of retrieving sponsored
recommendations at block 208 of FIG. 2. The process illustrated in
FIG. 4 may be implemented, for example, as a subroutine to be
called after processing block 206 of FIG. 2. At block 400, account
information for the user is retrieved, similar to block 300 of FIG.
3.
[0048] At block 402, songs which are similar to the song specified
in the request received at block 202, FIG. 2, are identified. The
relative similarity of songs may be determined in any suitable way.
Preferably, similarity is determined by a process of identifying
user preferences, such as collaborative filtering of the song
relative to the contents of the music database 114 of FIG. 1.
Alternatively, statistical or other methods may be used. In
general, a rating for each song is developed or determined. Still
further, in addition to or instead of identifying similar songs,
one or more similar artists may be identified using the same or
similar techniques. The similar songs or artists identified in
block 402 are identified as sponsored recommendations.
[0049] At block 404, the sponsored recommendations are biased
according to the advertisers' bids. The rating for a song is
increased, decreased or left untouched based on the advertisers'
bids.
[0050] At block 406, the sponsored recommendations are ordered
using the expected revenue for the songs based on advertisers' bids
and clickthrough rates. At block 408, the sponsored recommendations
are returned and processing continues at block 210 of FIG. 2.
[0051] FIG. 5 illustrates an alternative set of acts which may be
performed as part of the act of retrieving sponsored
recommendations at block 208 of FIG. 2. At block 500, account
information for the user is retrieved, similar to block 300 of FIG.
3.
[0052] At block 502, the mood of the user is identified. Any
suitable process can be used to determine the mood of the user. For
example, recent musical selections or the user's interaction with
the online information system may be analyzed to identify a mood.
Each song in the database may include associated mood information.
Thus, for example, if songs requested in a set time period such as
15 minutes have the same or similar mood information, the user
recommendation system may determine the mood of the user. Possible
moods include "party," "quiet," etc.
[0053] At block 504, songs which form the sponsored recommendations
are selected according to the identified user's mood. The rating
for a song is increased, decreased or left untouched based on the
advertisers' bids.
[0054] At block 506, the sponsored recommendations are biased
according to the advertisers' bids. The rating for a song is
increased, decreased or left untouched based on the advertisers'
bids.
[0055] At block 508, the sponsored recommendations are ordered
using the expected revenue for the songs based on advertisers' bids
and clickthrough rates. At block 510, the sponsored recommendations
are returned and processing continues at block 210 of FIG. 2.
[0056] FIG. 6 illustrates an alternative set of acts which may be
performed as part of the act of retrieving sponsored
recommendations at block 208 of FIG. 2. At block 600, account
information for the user is retrieved, similar to block 300 of FIG.
3.
[0057] At block 602, songs are identified to provide diversity in
recommendations. Diversity relates to a goal of ensuring that a
user is exposed to a wide range of songs or artists. The diversity
of one song relative to another may be determined based on input
information and based on the user's behavior with other songs
recommended to the user. The identified songs form the sponsored
recommendations.
[0058] At block 604, the sponsored recommendations are biased
according to the advertisers' bids. The rating for a song is
increased, decreased or left untouched based on the advertisers'
bids.
[0059] At block 606, the sponsored recommendations are ordered
using the expected revenue for the songs based on advertisers' bids
and clickthrough rates. At block 610, the sponsored recommendations
are returned and processing continues at block 210 of FIG. 2.
[0060] From the foregoing, it can be seen that the present
invention provides method and apparatus for providing sponsored
recommendations in an online music system. User behavior, such as
content search requests received, songs selected for playback and
artists selected, is monitored and processed. Using this
information, music that the user likes is identified and used to
select song recommendations for the user. In addition, using this
information, a list of songs the user may also be interested in is
also provided as recommendations. These additional recommendations
are sponsored recommendations in that their provision and ranking
is based in part on a bid amount provided by an advertiser or other
information provider. An advertiser who wants to recommend a song
or artist to the user, based on that user's history and selections,
may bid on the user's behavior to have the song or artist
recommended to the user.
[0061] While the embodiments herein have been described in
conjunction with a music recommendation system, it should be
recognized that these techniques can be readily extended to other
types of information for which a user expresses an interest or a
preference, and for which advertisers or information providers may
wish to make recommendations to the user.
[0062] Although selected aspects, features, or components of the
implementations are depicted as being stored in memories, all or
part of the systems, including the methods and/or instructions for
performing such methods consistent with the user recommendation
system, may be stored on, distributed across, or read from other
machine-readable media, for example, secondary storage devices such
as hard disks, floppy disks, and CD-ROMs; a signal received from a
network; or other forms of ROM or RAM either currently known or
later developed.
[0063] Specific components of a user recommendation system may
include additional or different components. A processor may be
implemented as a microprocessor, microcontroller, application
specific integrated circuit (ASIC), discrete logic, or a
combination of other types of circuits or logic. Similarly,
memories may be DRAM, SRAM, Flash, or any other type of memory.
Parameters (e.g., popularity rankings), databases, and other data
structures may be separately stored and managed, may be
incorporated into a single memory or database, or may be logically
and physically organized in many different ways. Programs or
instruction sets may be parts of a single program, separate
programs, or distributed across several memories and
processors.
[0064] It is therefore intended that the foregoing detailed
description be regarded as illustrative rather than limiting, and
that it be understood that it is the following claims, including
all equivalents, that are intended to define the spirit and scope
of this invention.
* * * * *