U.S. patent application number 12/719069 was filed with the patent office on 2011-09-08 for system and method for improving personalized search results through game interaction data.
This patent application is currently assigned to YAHOO! INC.. Invention is credited to Vik Singh.
Application Number | 20110218037 12/719069 |
Document ID | / |
Family ID | 44531799 |
Filed Date | 2011-09-08 |
United States Patent
Application |
20110218037 |
Kind Code |
A1 |
Singh; Vik |
September 8, 2011 |
SYSTEM AND METHOD FOR IMPROVING PERSONALIZED SEARCH RESULTS THROUGH
GAME INTERACTION DATA
Abstract
The present invention is directed towards systems and methods
for using gaming operations to determine personalized content. The
system and method includes presenting an interactive game to a
user, wherein the user is associated with a user profile and while
the user interacts with the interactive game, monitoring user
interactions relating to the interactive game. The system and
method further includes determining user profile information based
on the user interactions, the user interactions including user
activities associated with the interactive game and updating the
associated user profile with the determined user profile
information. Therefore, in response to a user content request, the
system and method adjusts content presented to the user, wherein
the filtering is based on the user profile information including
user profile information from the user interaction with the
interactive game.
Inventors: |
Singh; Vik; (San Jose,
CA) |
Assignee: |
YAHOO! INC.
Sunnyvale
CA
|
Family ID: |
44531799 |
Appl. No.: |
12/719069 |
Filed: |
March 8, 2010 |
Current U.S.
Class: |
463/29 ; 463/42;
463/43 |
Current CPC
Class: |
A63F 9/24 20130101; A63F
13/67 20140902 |
Class at
Publication: |
463/29 ; 463/43;
463/42 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. A method for using gaming operations to determine personalized
content, the method comprising: presenting an interactive game to a
user, wherein the user is associated with a user profile; while the
user interacts with the interactive game, monitoring user
interactions relating to the interactive game; determining user
profile information based on the user interactions, the user
interactions including user activities associated with the
interactive game; updating the associated user profile with the
determined user profile information; and in response to a user
content request, adjusting content presented to the user, wherein
the filtering is based on the user profile information including
user profile information from the user interaction with the
interactive game.
2. The method of claim 1 further comprising: receiving a user login
request prior to presenting the interactive game.
3. The method of claim 1, wherein adjusting the content presented
to the user includes at least one of: filtering and re-ranking
search result content items.
4. The method of claim 1 further comprising: associating the user
profile with a search engine.
5. The method of claim 4 further comprising: receiving a search
request including a plurality of search terms; conducting a search
operation using the search engine based on the received search
request; and adjusting a search results listing of search result
items based on the user profile information that includes the user
profile information from the user interaction with the interactive
game.
6. The method of claim 1, wherein the interactive game includes
gaming activities that indicate topical preferences for the
user.
7. The method of claim 6, wherein the topical preferences include
degrees of proficiencies regarding a plurality of content
topics.
8. A system for using gaming operations to determine personalized
content, the system comprising: a memory device having executable
instructions stored thereon; and a processing device, in response
to the executable instructions, operative to: present an
interactive game to a user, wherein the user is associated with a
user profile; while the user interacts with the interactive game,
monitor user interactions relating to the interactive game;
determine user profile information based on the user interactions,
the user interactions including user activities associated with the
interactive game; update the associated user profile with the
determined user profile information; and in response to a user
content request, adjust content presented to the user, wherein the
filtering is based on the user profile information including user
profile information from the user interaction with the interactive
game.
9. The system of claim 8, the processing device, in response to
executable instructions, further operative to: receive a user login
request prior to presenting the interactive game.
10. The system of claim 8, wherein adjusting the content presented
to the user includes at least one of: filtering and re-ranking
search result content items.
11. The system of claim 8, the processing device, in response to
executable instructions, further operative to: associate the user
profile with a search engine.
12. The system of claim 11, the processing device, in response to
executable instructions, further operative to: receive a search
request including a plurality of search terms; conduct a search
operation using the search engine based on the received search
request; and adjust a search results listing of search result items
based on the user profile information that includes the user
profile information from the user interaction with the interactive
game.
13. The system of claim 8, wherein the interactive game includes
gaming activities that indicate topical preferences for the
user.
14. The system of claim 13, wherein the topical preferences include
degrees of proficiencies regarding a plurality of content
topics.
15. Computer readable media comprising program code that when
executed by a programmable processor causes execution of a method
for using gaming operations to determine personalized content, the
media comprising: computer program code for presenting an
interactive game to a user, wherein the user is associated with a
user profile; computer program code for, while the user interacts
with the interactive game, monitoring user interactions relating to
the interactive game; computer program code for determining user
profile information based on the user interactions, the user
interactions including user activities associated with the
interactive game; computer program code for updating the associated
user profile with the determined user profile information; and
computer program code for, in response to a user content request,
adjusting content presented to the user, wherein the filtering is
based on the user profile information including user profile
information from the user interaction with the interactive
game.
16. The computer readable media of claim 15 further comprising:
computer program code for receiving a user login request prior to
presenting the interactive game.
17. The computer readable media of claim 15, wherein adjusting the
content presented to the user includes at least one of: filtering
and re-ranking search result content items.
18. The computer readable media of claim 15 further comprising:
computer program code for associating the user profile with a
search engine.
19. The computer readable media of claim 18 further comprising:
computer program code for receiving a search request including a
plurality of search terms; computer program code for conducting a
search operation using the search engine based on the received
search request; and computer program code for adjusting a search
results listing of search result items based on the user profile
information that includes the user profile information from the
user interaction with the interactive game.
20. The computer readable media of claim 15, wherein the
interactive game includes gaming activities that indicate topical
preferences for the user and the topical preferences include
degrees of proficiencies regarding a plurality of content topics.
Description
COPYRIGHT NOTICE
[0001] A portion of the disclosure of this patent document contains
material, which is subject to copyright protection. The copyright
owner has no objection to the facsimile reproduction by anyone of
the patent document or the patent disclosure, as it appears in the
Patent and Trademark Office patent files or records, but otherwise
reserves all copyright rights whatsoever.
FIELD OF THE INVENTION
[0002] The invention described herein generally relates to
improving personalized search results. More specifically, the
invention is directed towards systems and methods for utilizing
interactive user games to increase the relevancy of personalized
search results based on collected game interaction data.
BACKGROUND OF THE INVENTION
[0003] As the Internet continues to expand exponentially, the role
of search engines has dramatically increased. The use of search
engine technology has become a vital tool in the increasing the
usefulness of the Internet.
[0004] A primary economical and functional objective of a search
engine is to increase the relevancy of search results for a given
query. Displaying the most relevant search results first, followed
by search results in descending relevancy, can maximize the user
experience, increase a user base, and increase advertisement
revenue. As relevancy is of great importance to a search engine,
various techniques involving personalization of search results have
been implemented. The primary method of increasing personalized
results has been to incorporate user relevancy feedback into the
result listings. One common technique includes user-ranking of
search results, either directly through a gaming interface or the
binary designation of whether a search result was relevant. An
example of a binary search option may give the user an option to
"like" or "dislike" a result presented with a search query. Another
technique is to actively monitor user activity in a general search
log, such as to detect if the user re-enters a search using a
different search term, examines further search result pages aside
from just the first page, or for example if the user selects a
particular link and thereby terminates the search session, as this
can imply the search result is what the user was looking for.
[0005] In efforts to further advance personalization, techniques
can either be directed to the search engine and/or the search
engine data, or can be directed to the user or a group of users.
For example, it is common to provide a search interface where a
user maintains an account, and hence a user profile. It is common
to augment search results based on the user profile.
[0006] Current techniques for populating user profiles are based on
two possible techniques. A first technique is user-entered
information that the user voluntarily enters when generating the
account, such as for example, gender, age, likes, dislikes, etc. A
second technique is tracking user activities. For example, when the
user is logged in, an engine may track user search activities and
formulate this activity for profile information. It is also noted
based on user security preferences, tracking information may
further include cookies or other types of monitoring elements.
[0007] While there is a growth in the use of games to improve
search engine analytical techniques, there is no technique for
utilizing games for updating user profile information, where this
profile information is usable for personalizing search. As such,
there exists a need for techniques to improve search result
personalization through user-gaming activities.
SUMMARY OF THE INVENTION
[0008] The present invention is directed towards systems and
methods for using gaming operations to determine personalized
content. The system and method includes presenting an interactive
game to a user, wherein the user is associated with a user profile
and while the user interacts with the interactive game, monitoring
user interactions relating to the interactive game. The system and
method further includes determining user profile information based
on the user interactions, the user interactions including user
activities associated with the interactive game and updating the
associated user profile with the determined user profile
information. Therefore, in response to a user content request, the
system and method adjusts content presented to the user, wherein
the filtering is based on the user profile information including
user profile information from the user interaction with the
interactive game.
[0009] As such, the system and method allows for the collection of
user information via gaming applications/gaming interfaces. From
this gaming information, user profile information is collected.
This profile information is then usable to further personalize
electronic search activity.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The invention is illustrated in the figures of the
accompanying drawings which are meant to be exemplary and not
limiting, in which like references are intended to refer to like or
corresponding parts, and in which:
[0011] FIG. 1 presents a block diagram depicting a system for
improving personalized search results based on game interaction
data according to one embodiment of the present invention;
[0012] FIG. 2 presents a block diagram depicting a system for
analyzing game interaction data according to one embodiment of the
present invention;
[0013] FIG. 3 presents a flow diagram illustrating a method for
collecting game interaction data according to one embodiment of the
present invention; and
[0014] FIG. 4 presents a flow diagram illustrating a method for
processing game interaction data according to one embodiment of the
present invention.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0015] In the following description, reference is made to the
accompanying drawings that form a part hereof, and in which is
shown by way of illustration specific embodiments in which the
invention may be practiced. It is to be understood that other
embodiments may be utilized and structural changes may be made
without departing from the scope of the present invention.
[0016] FIG. 1 presents a block diagram depicting a system for
analyzing game data according to one embodiment of the present
invention. As the embodiment of FIG. 1 illustrates, a plurality of
client devices 102a, 102b, 102c (collectively referred to as 102)
are connected to a search engine 106 through network 104. The
search engine 106 is in communication with a game server 108 having
a game storage device 110, the search engine including a game
processor 112, a user database 114, a web server 116, and a search
database 118.
[0017] Although illustrated as single, discrete components,
alternative embodiments exist wherein the illustrated devices may
be integrated and/or distributed across multiple hardware devices.
Additionally, the devices may be distributed geographically in
addition to physically. The search engine 106, and its components,
may be any suitable physical processing device performing
processing operations as described herein, in response to
executable instructions. For example, search engine 106, and its
components, may comprise a plurality of redundant server devices.
The storage elements 110, 114, and 118 may be any suitable type of
storage device operative to electronically store data therein. For
example, storage element 110, 114, and 118 may comprise a RAID
storage system comprising a plurality of hard disks.
[0018] In the illustrated embodiment, the client devices 102 are
operative to transmit and receive data from both web server 116 and
game server 108 via the search engine 106. Game server 108 and
search engine 106 may comprise a plurality of hardware and software
devices operative to handle requests such as HTTP requests or
various requests following other protocols. In the illustrated
embodiment, the client device 102 may transmit a request to begin a
game to the game server 108 over the network 104. A request to
begin a game may include a game selection via a menu or other type
of gaming interface presented through the search engine 106 using
any suitable game offering/selection technique recognized by one
skilled in the art.
[0019] As discussed in further detail below, the initiation of a
game may include the user registering or other activating a user
account. For example, the user account may be a default account the
user has with the search engine or in another embodiment may be
associated with a more general account, such as a social network
account by way of example.
[0020] In one embodiment, the game server 108 receives the game
request from client devices 102 through the search engine
interface. The search engine 106 then loads the appropriate game
from game storage 110.
[0021] In the illustrated embodiment, various techniques may be
used to identify an appropriate game for the client device 102
exemplary techniques are discussed more fully with respect to FIG.
3. Game storage device 110 may store a variety of types of data
relating to games, include a variety of data structures describing
a game, such as, game templates representing various game metrics
including, but not limited to, game display format, game play rules
and various other metrics.
[0022] Additionally, the game storage device 110 may store
substantive game data, such as a variety of questions, puzzles,
problems, or other substantive game data, as well as solutions or
answers to the data. In the illustrated embodiment, game storage
110 may organize game data categorically; that is, game storage 110
may associate a topic for a given piece of game data. Although
illustrated as a single component, in alternative embodiments, game
data and game metrics may be stored in discrete locations, such
that modifications to each may be made independent of the
other.
[0023] After retrieving game data and game metrics, the game server
108 builds the game. The game selection for retrieval may be based
on any number of factors, including a progression of types of games
for users to play, random selection, user selection, for example.
The games are constructive programs that allow for user
interaction, consistent with known techniques for games, which can
include puzzles, quizzes, trivia, relationship determination, or
any other suitable technique for presenting a question or query to
a user and receiving a user-generated response.
[0024] In one embodiment, building a game may comprise combining
the game data and game metrics into a single, cohesive package for
presentation to the user. For example, the game server 108 may
build an HTML page containing presentation elements described by
the game metrics and questions described by the game data.
Additionally, the game server 108 may generate a plurality of
interactive event handlers for handling user input; such event
handlers may be implemented in JavaScript, ActionScript, VBScript,
or various other client side scripting languages known in the art.
After building the game, the game server 108 transmits the game to
the client device 102 for display thereon.
[0025] Client device 102 displays a game to a user operating the
client device 102. In one embodiment, displaying a game may
comprise displaying a webpage containing the game built by the game
server 108. Additionally, event handlers generated by game sever
108 operate on the client device 102 to handle user input. User
input may comprise, but should not be limited to, various input
events such as mouse clicks, key presses, or the submission of
answers. The event handlers are operative to transmit interaction
data back to the game sever 108. In the illustrated embodiment,
interaction data comprises an indication of a user's answer to a
given game question, problem, or puzzle. For example, interaction
data may indicate that user selected "true" to a true/false
question, or "choice A" for a multiple choice question.
[0026] Interaction data may further include more complex data
depending on the type of game data presented to a user. For
example, if the game data comprises an interactive Flash game, the
interaction data may comprise a feature vector indicating various
interaction data such as, the length of time spent playing the
game, successful mouse clicks, errant mouse clicks, various answers
submitted, etc. Thus, interaction data may vary depending on the
type of game presented. In the preceding example, the game may
comprise a complex role playing game ("RPG") wherein the user
answers multiple questions, navigates through a scenario, answers
side-mission questions, etc. In one embodiment, such a game would
gravitate around a predefined theme, previously discussed with
respect to game data. In this example, a user may be captivated by
the game, while simultaneously providing useful input regarding his
or her knowledge and search preferences.
[0027] In another embodiment, the gaming data may be related to
behavioral data. The aspects of the game may be designated such
that behavioral traits can be determined or inferred therefrom.
Behavioral data may include data regarding an person's expertise
level as one or more topics,
[0028] While a user plays a game, or after a user finishes a game,
client device 102 is transmitting data back to the search engine
106. The interaction data may be provided to the game processor
112, where this information may be raw user gaming data or can be
filtered or otherwise processed data, such as by any suitable
processing device including but not limited to the game server 108
or a processor embedded in the search engine 106 not expressly
illustrated.
[0029] In one embodiment, game server 108 or any other suitable
device, may apply various transformations to the interaction data.
For example, the game server 108, or any other suitable device, may
normalize the interaction data such that interaction data from a
plurality of games may appear as identically structured data to
game process 112.
[0030] Game processor 112 analyzes the interaction data to
determine information that can be added to a user-specific profile.
In one embodiment, game processor 112 generates a user-specific
profile based on the categorization of the associated game. For
example, if a user plays a game related to technology, the game
processor 112 may load a pre-defined algorithm to transform the
interaction data into a meaningful analytic form.
[0031] For example, if the game data comprises a series of
true/false questions regarding technology topics in a specific
field (e.g., JavaScript programming), the game processor 112 may
load an algorithm that calculates the percentage of correct answers
to gauge the user's proficiency in the language. In a more complex
example, game data may comprise a series of questions wherein a
user is presented with an image and asked to identify the
individual (e.g., a celebrity, or other noted individual). Each
image may be associated with a genre of celebrity (e.g., athlete,
musician, actor, etc.). In this scenario, the game processor 112
may load an algorithm that first identifies a user's strong
knowledge of a genre; that is, the game processor 112 may determine
that the user has a strong interest in musicians but not in
athletes. The game processor 112 may then record in user database
114 that a user may prefer listings directed towards musical
topics. While the preceding games are meant to be illustrative,
they are by no means exhaustive. Various other game types
represented in game storage 110 may have corresponding analytic
algorithms associated with the game varying in complexity.
Additionally, multiple algorithms may exist for a single game type,
representing the depth of analytical data contained in a game.
[0032] As previously mentioned, game processor 112 writes
analytical data based on interaction data to user database 114. In
the illustrated embodiment, user database may associate the
analytic data with a given user via an associative relationship
between a user (via a user ID) and the analytic data.
[0033] Search engine 106 further includes a web server 116 and
search database 118. While illustrated for simplicity purposes only
as being disposed within the search engine 106, it is readily
understood that these components may be disposed external to the
search engine and in operative communication therewith via any
suitable networking technique.
[0034] Server 116 and database 118 may, alone, perform search
results processing, as known in the art. However, web server 116 is
further coupled to user database 114. When the web server 116
receives a request for search results, the web server 116 may
simultaneously retrieve a user profile (associated with analytic
data) associated with the user submitting the request. In one
embodiment, prior to retrieving search results from search database
118, the web server 116 may modify the request sent to the search
database 118 based on the retrieved analytic data. Modifying the
request may comprise limiting or expanding the scope of the search
database request based on the analytic data.
[0035] For example, if a user previously plays a game that
identifies that he or she is a fan of Major League Baseball, and
specifically a fan of the Detroit Tigers, the web server 116 may
modify a query for "tigers" to include various results specifically
related to the Detroit Tigers and not to the animal. For example,
the web server 116 may identify current scores, news, and other
results geared primarily to the baseball team, not to the animal.
The web server 116 transmits this modified request to the search
database 118 and receives a set of search results, wherein the web
server 116 formats the results into a search results page and
transmits the page to the user.
[0036] FIG. 2 presents a block diagram depicting a system for
analyzing game interaction data according to one embodiment of the
present invention. As the embodiment of FIG. 2 illustrates, a game
system 200 comprises a plurality of hardware components including a
game server 202, game data storage 204, game template storage 206,
game results cache 208, game processor 210, and user database
212.
[0037] As previously discussed, a user may request a game from game
server 202. As briefly mentioned, game system 200 may store both
game data and game templates in discrete storage locations. As
previously discussed, game data storage 204 may store a game data
including, but not limited to, a variety of questions, puzzles,
problems, or other substantive game data as well as solutions or
answers to the data. Additionally, the system 200 comprises game
template storage 206 operative to store a plurality of game
templates. In the illustrated embodiment, a game template may
comprise data that describes the presentation and/or functional
aspects of a game, for example, the flow of a game.
[0038] Game server 202 is operative to retrieve both game data and
game template data in response to receiving a request for a game.
In the illustrated embodiment, game server 202 is further operative
to generate a game based on the retrieved data. For example, game
server 202 may select a retrieved game template and populate the
game template with retrieved game data. The game server 202
transmits the game to a user.
[0039] As the user interacts with the game, user interactions are
transmitted to the game server 202. As previously discussed,
interactions may comprise indications of choices made by a user,
such as the input of text answers, the selection of answer choices
or objects, etc. The game server 202 functions to manage the
incoming stream of interaction data from a user. In one embodiment,
a stream of interaction data may comprise a plurality of datagrams
including, but not limited to, a user ID, interaction data,
timestamp, game ID, question ID, etc. Game server 202 may store
these incoming interaction streams in game results cache 208. In
the illustrated embodiment, game server 202 may utilize game
results cache 208 as a temporary staging ground for incoming data.
For example, game server 202 may act as a pass through device
wherein incoming streams are directed to game results cache 208.
Subsequently, the game server 202 may access the game results cache
208 and forward the interaction data to game processor 210 for
processing.
[0040] As previously discussed, game processor 210 analyzes the
interaction data to determine a user-specific profile. In one
embodiment, game processor 210 generates a user-specific profile
based on the categorization of the associated game.
[0041] FIG. 3 presents a flow diagram illustrating a method for
collecting game interaction data according to one embodiment of the
present invention. According to the embodiment that FIG. 3
illustrates, the method 300 receives a game request, step 302. In
the illustrated embodiment, the method 300 may receive a game
request via an HTTP or similar request from a client device, such
as through a search engine interface or any other suitable
interface. Such a request may be received via an HTML or similar
interface provided to a user. It is also noted that consistent with
the game request, the system can also know or track the identity of
the user, such as being associated with a user identifier or user
profile.
[0042] The method 300 then selects game and template data, step
304. In one embodiment, the method 300 may identify the game type
from the game request and select the appropriate template and game
data. In alternative embodiments, the method 300 may automatically
select a game template and data based on predetermined
characteristics. For example, the method 300 may identify a game
template and game data based on the requesting user's profile.
[0043] The method 300 then provides the game to a user, step 306.
This step includes presenting an interactive game to the user,
where the user is associated with a user profile. In the
illustrated embodiment, providing a game may comprise transmitting
the game via HTTP or similar protocols to a user. The user device
may then parse the received game to display the game on the user
device.
[0044] After displaying the game and while the user interacts with
the interactive game, step 308 includes monitoring the user
interactions relating to the interactive game. In one embodiment,
the method 300 may provide executable code within the generated
game operative to monitor user input. For example, the generated
game may comprise JavaScript or similar code operative to detect
and handle user input. If the method 300 detects user interaction,
the method 300 processes the interaction, step 310. This step
includes determining user profile information based on the user
interactions, the user interactions including the user activities
associated with the interactive game. In one embodiment, processing
an interaction may comprise a plurality of operations including,
but not limited to, normalizing the interaction data or performing
various pre-parsing operations on the interaction data. In the
illustrated embodiment, the method 300 may process interaction data
in response to a user submitting an answer to a game question; for
example, the user may enter an answer and submit the answer to a
game server. In alternative embodiments, the method 300 may monitor
more complex game interactions such as mouse position, mouse
clicks, or combinations of mouse and keyboard events.
[0045] If the method 300 does not detect user interaction, or after
the method 300 processes received interactions, the method 300
determines if the game is over, step 312. In one embodiment, the
method 300 may determine a game is over by receiving an indication
from the user that he or she wishes to end the game. In alternative
embodiments, the method 300 may automatically determine that the
game is over. For example, the method 300 may utilize a timer to
determine the end of a game based on a pre-defined time limit. If
the method 300 determines that the game is not over, the method 300
continues to display the game and monitor for user interaction.
[0046] If the method 300 determines that the game is over, the
method 300 parses the game interaction data, step 314. In one
embodiment, the method 300 may analyze the interaction data to
determine a user-specific profile. In one embodiment, the method
300 generates a user-specific profile based on the categorization
of the associated game. For example, if a user plays a game related
to technology, the method 300 may load a pre-defined algorithm to
transform the interaction data into a meaningful analytic form.
[0047] For example, if the game data comprises a series of
true/false questions regarding technology topics in a specific
field (e.g., JavaScript programming), the method 300 may load an
algorithm that calculates the percentage of correct answers to
gauge the user's proficiency in the language. In a more complex
example, game data may comprise a series of questions wherein a
user is presented with an image and asked to identify the
individual (presumably a celebrity, or other noted individual).
Each image may be associated with a genre of celebrity (e.g.,
athlete, musician, actor, etc.). In this scenario, the method 300
may load an algorithm that first identifies a user's strong genre;
that is, the method 300 may determine that the user has a strong
interest in musicians but not in athletes. The method 300 may then
record in a user database that a user may prefer listings directed
towards musical topics.
[0048] While the preceding games are meant to be illustrative, they
are by no means exhaustive. Various other game types may have
corresponding analytic algorithms associated with the game varying
in complexity. Additionally, multiple algorithms may exist for a
single game type, representing the depth of analytical data
contained in a game.
[0049] After generating the analytic data based on the parsed
interaction data, the method 300 stores the parsed analytic data to
a user profile, step 316. This step includes updating the
associated user profile with the determined user profile
information from step 314. As previously mentioned, the method 300
writes analytical data based on interaction data to a user
database. In the illustrated embodiment, a user database may
associate the analytic data with a given user via an associative
relationship between a user (via a user ID) and the analytic
data.
[0050] FIG. 4 presents a flow diagram illustrating a method for
processing game interaction data according to one embodiment of the
present invention. According to the embodiment FIG. 4 illustrates,
a method 400 receives a search request from a user, step 402. In
the illustrated embodiment, receiving a search request may comprise
receiving an HTTP request containing a search query comprising a
plurality of search terms.
[0051] In response to a search query, the method 400 retrieves a
plurality of search results, step 404, and profile data, step 406.
In the illustrated embodiment, the method 400 may retrieve a
plurality of search results according to various methods known in
the art for retrieving search results, such as querying a search
index and identifying a plurality of search results. In addition to
retrieving search results, the method 400 retrieves profile data
corresponding to analytical data gathered in FIG. 3. As previously
discussed, analytical data may comprise an indication of a user's
interest or proficiency with respect to a given topic or category
of information. In the illustrated embodiment, the method 400 may
identify profile data based on user identification contained within
the search request. For example, the method 400 may identify a
cookie contained within the search request and extracted a user ID
from the cookie. Such a user ID allows the method 400 to identify
the relevant profile data.
[0052] The method 400 then determines if the results are related to
profile data associated with the querying user, step 408. In the
illustrated embodiment, the method 400 may compare the search query
or results with a list of topics or categories associated with a
user profile. For example, if a user previously plays a game that
identifies that he or she is a fan of Major League Baseball, and
specifically a fan of the Detroit Tigers, the user profile may
store an indication that the user is a baseball fan, that the user
is a Tigers fan, and that the user is interested in sports in
general. As can be seen, a user profile may contain a plurality of
explicit analytic information (e.g., a user is a fan of the Tigers)
as well as implicit analytic data (e.g., a Tigers fan is implicitly
interested in baseball and sports, generally). Although illustrated
as occurring after the retrieval of both profile data and search
results, alternative embodiments exist wherein the method 400 may
first identify search results and query a profile data for relevant
analytical data, in contrast to retrieving an entire user
profile.
[0053] If the method 400 determines that the retrieved results are
related to the user query, the method 400 may modify the search
results to reflect the presence of profile data. In one embodiment,
the method 400 may modify the previously discussed query for
"tigers" to include various results specifically related to the
Detroit Tigers and not to the animal. For example, the method 400
may identify current scores, news, and other results geared
primarily to the baseball team, not to the animal. In one
embodiment, the method 400 may simply prune the previously
retrieved search results based on the profile data. In an
alternative embodiment, the method 400 may supplement or replace
the search results with new, refined search results based on the
profile data. In yet another alternative, the method 400 may
re-arrange or re-format the search results based on the retrieved
profile data.
[0054] Where the user profile information may include behavioral
information, this information can be used for a variety of
different uses, including modifying the search results, as well as
modifying the search interface itself. For example, if the gaming
information infers a high degree of a proficiency or expertise in
an area, the user can be presented with special or modified
searching options that would not be readily available or usable by
a non-expertise.
[0055] Finally, the method 400 provides the search results to a
user, step 410. The search results provided to a user may comprise
modified search results if the method 400 determines that the
original results are related to user profile data in step 408.
Alternatively, if the method 400 does not identify user profile
data, the method 400 may provide the original search results. In
one embodiment, modifying the search results may include filtering
search results based user profile information and/or re-ranking
search result content items based on this profile information.
[0056] Therefore, the present system and method allows for
improving user profile information based on gaming activities.
These gaming activities are then usable for improving search result
activities. The gaming operations are interpreted to indicate user
characteristics, and then those characteristics are usable by a
search engine to refine searching operations. The user is present
with the opportunity to play game, where the search engine can then
use this information for improving searching activities.
[0057] FIGS. 1 through 4 are conceptual illustrations allowing for
an explanation of the present invention. It should be understood
that various aspects of the embodiments of the present invention
could be implemented in hardware, firmware, software, or
combinations thereof. In such embodiments, the various components
and/or steps would be implemented in hardware, firmware, and/or
software to perform the functions of the present invention. That
is, the same piece of hardware, firmware, or module of software
could perform one or more of the illustrated blocks (e.g.,
components or steps).
[0058] In software implementations, computer software (e.g.,
programs or other instructions) and/or data is stored on a machine
readable medium as part of a computer program product, and is
loaded into a computer system or other device or machine via a
removable storage drive, hard drive, or communications interface.
Computer programs (also called computer control logic or computer
readable program code) are stored in a main and/or secondary
memory, and executed by one or more processors (controllers, or the
like) to cause the one or more processors to perform the functions
of the invention as described herein. In this document, the terms
"machine readable medium," "computer program medium" and "computer
usable medium" are used to generally refer to media such as a
random access memory (RAM); a read only memory (ROM); a removable
storage unit (e.g., a magnetic or optical disc, flash memory
device, or the like); a hard disk; or the like.
[0059] Notably, the figures and examples above are not meant to
limit the scope of the present invention to a single embodiment, as
other embodiments are possible by way of interchange of some or all
of the described or illustrated elements. Moreover, where certain
elements of the present invention can be partially or fully
implemented using known components, only those portions of such
known components that are necessary for an understanding of the
present invention are described, and detailed descriptions of other
portions of such known components are omitted so as not to obscure
the invention. In the present specification, an embodiment showing
a singular component should not necessarily be limited to other
embodiments including a plurality of the same component, and
vice-versa, unless explicitly stated otherwise herein. Moreover,
applicants do not intend for any term in the specification or
claims to be ascribed an uncommon or special meaning unless
explicitly set forth as such. Further, the present invention
encompasses present and future known equivalents to the known
components referred to herein by way of illustration.
[0060] The foregoing description of the specific embodiments so
fully reveals the general nature of the invention that others can,
by applying knowledge within the skill of the relevant art(s)
(including the contents of the documents cited and incorporated by
reference herein), readily modify and/or adapt for various
applications such specific embodiments, without undue
experimentation, without departing from the general concept of the
present invention. Such adaptations and modifications are therefore
intended to be within the meaning and range of equivalents of the
disclosed embodiments, based on the teaching and guidance presented
herein. While various embodiments of the present invention have
been described above, it should be understood that they have been
presented by way of example, and not limitation. It would be
apparent to one skilled in the relevant art(s) that various changes
in form and detail could be made therein without departing from the
spirit and scope of the invention. Thus, the present invention
should not be limited by any of the above-described exemplary
embodiments, but should be defined only in accordance with the
following claims and their equivalents.
* * * * *