SYSTEM AND METHOD FOR IMPROVING PERSONALIZED SEARCH RESULTS THROUGH GAME INTERACTION DATA

- Yahoo

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.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
COPYRIGHT NOTICE

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

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

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.

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.

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.

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.

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

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.

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

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:

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;

FIG. 2 presents a block diagram depicting a system for analyzing game interaction data according to one embodiment of the present invention;

FIG. 3 presents a flow diagram illustrating a method for collecting game interaction data according to one embodiment of the present invention; and

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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,

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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.

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.

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.

Patent History
Publication number: 20110218037
Type: Application
Filed: Mar 8, 2010
Publication Date: Sep 8, 2011
Applicant: YAHOO! INC. (Sunnyvale, CA)
Inventor: Vik Singh (San Jose, CA)
Application Number: 12/719,069