The widespread availability of Internet connectivity has helped to foster the creation of a diverse set of on-line applications that support various kinds of user experiences, services, and transactions on a PC (personal computer) or other device. Such applications may include, for example, social networking, communication such as e-mail and instant messaging, e-commerce, news and information, games and entertainment, banking and other financial transactions, media sharing (such as video, audio, or photo sharing), topical forums, and many other types of websites.
In order to enable user interaction with some applications, enhance application functionality, or improve the user experience, application users may be asked to complete a user profile. This could occur, for example, when the user first signs up or registers to use an application. User profiles can include various types of data—such as demographic information, interests, hobbies, likes/dislikes, education, job/profession, and other expressions of taste, beliefs, personality, or identity, etc.,—and be employed in different ways by different applications. For example, a user profile can be internally used by an e-commerce application, such as an on-line bookstore, to enable the user to express reading preferences. The application can use the profile when making book recommendations whenever the user visits the bookstore's website. In other scenarios, such as social networking, the user profile provides an on-line representation of the user's identity and personality and may include quite a bit of information to facilitate wide ranging and/or close relationships with other social network users, or web-users in general.
The accuracy and completeness of the user profile will typically affect the quality of the user experience. As a result, the forms that users fill out to generate their profiles can often be fairly comprehensive. Users may find filling out the forms to be time consuming and burdensome. In cases where a user signs up with multiple applications, for example by registering with a number of social networking application providers, the effort to create the profiles can become particularly repetitious and tedious. In addition, profiles often need to be updated in order to keep information current and accurate. This need can compound the time and efforts required for users to effectively maintain their profiles and on-line identities.
This Background is provided to introduce a brief context for the Summary and Detailed Description that follow. This Background is not intended to be an aid in determining the scope of the claimed subject matter nor be viewed as limiting the claimed subject matter to implementations that solve any or all of the disadvantages or problems presented above.
Usage data representing users' actions with applications, client devices such as PCs, and peripheral devices like personal media players is collected from a variety of sources and utilized by an automated user profile population service to pre-populate user profile forms with suggestions for entries that can be presented to an application user when initially registering with the application or when a user profile gets updated. The user can review the suggested pre-populated entries in the user profile form and accept those that are appropriate and desired and reject those that are not.
The suggested entries for pre-population in the profile form may be generated by collecting usage data from individual application users as well as by aggregating usage data from multiple users. The usage data will typically be collected transparently but only upon notice to the user and with the user's consent. The usage data will typically be indicative of user behavior, intent, interests, attitudes, and preferences, among other characteristics. When aggregated, the usage data can be correlated across the multiple users and utilized as a source of statistically significant information for predicting user characteristics and tendencies.
In an illustrative example involving social networking, suggestions can be made for pre-populated user profile entries dealing with music by collecting data about individual usage of music and other applications. The collected usage data might include songs and/or artists that the user has listened to most often, listened to recently, recommended to others, and the like. The user profile population service could then pre-populate the user profile form, for example with several of the most frequently played artists as suggestions for favorite music that the user might wish to include in his or her user profile.
Aggregated usage data can also be used to make suggestions for pre-populated entries in the user profile form. Such suggestions can be made within the same profile category (e.g., music) or across categories (e.g., books, movies, television, etc.). For example, when the user's individual usage data is compared with the aggregated usage data, the results might indicate that the user would tend to like a particular artist, book, program, or movie, etc. because other people who have similar tastes and interests as the user also like such things.
Individual and aggregated usage data can also be used to pre-populate suggestions when user profiles get updated. User profiles can often need updating due to the dynamic nature of many on-line application environments and changing user tastes and preferences. The individual usage data could indicate, for example, that a user has developed a new taste for a particular genre of entertainment, changed jobs, or has acquired a new hobby. Rather than require the user to manually update the user profile, the user profile service can notify the user that an update could be made and make suggestions as to entries in the profile that may be updated.
The present arrangement advantageously provides many benefits to application users by reducing the time and effort needed to fill out or update user profiles. The savings can be particularly beneficial when a user maintains profiles with multiple different applications. In addition to saving time and effort for the user, the user profile service can pre-populate profile forms with entries that can typically be expected to be highly relevant and well targeted to the user. As a result, the pre-populated profile entries can be more accurate in reflecting the identity and personality of the user compared with manually completed forms which rely on the user's memory. The suggested entries may also help to make the user profile more interesting, compelling, and complete by including information that users might not think of on their own.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Like reference numerals indicate like elements in the drawings. Elements are not drawn to scale unless otherwise indicated.
The ad service provider 130 is an advertising platform that is commonly utilized to enable advertisers to place ads on websites such as search websites. Ads from the ad service provider 130 can often be utilized by a search engine or service and other websites. One example of a commercial implementation is Microsoft Corporation's adCenter. The ad service provider 130 will typically analyze the on-line activity of web users in order to model the users' behavior and make predictions about their intent. This can help provide increased relevance to the ads shown to the users, for example as “sponsored sites” when results are provided in response to a search query, which better promotes the advertiser's interests while enhancing the quality of the user experience. Various algorithms can be used to analyze the on-line activity, based on user actions including search queries, browsing history, and other activities, in ways that preserve user privacy. As described in more detail below, the data collected by the ad service provider 130 may be used in some implementations of the present action-based pre-population of user profiles.
The client devices 112 may comprise, for example, workstations, desktop and laptop PCs, as well as some types of portable devices such as mobile phones, handheld PCs and game devices, and the like that have network interfaces. The client devices 112 may also include a game console 1122 as well as devices that combine various functionalities of the devices that are shown. A representative example of a peripheral device is also shown in
The user profile population service 118 is arranged, in this illustrative example, as a standalone entity that can provide an interface for users to initially set up or update user profiles for one or more of the applications in the environment 100. Typically then, the user profile population service 118 will have a commercial or partnering relationship with the application providers that enables the service to access the forms and then pre-populate suggested entries in them for the users. For example, when the user goes to a website and signs up with an application that needs a user profile, the user will be redirected to the service 118 which then handles the completion of the profile on behalf of the application provider. The user profile population service 118 may alternatively be integrated as a part of an application or service provider. The service 118 is described in more detail in the text accompanying
As shown in
As noted above, the social networking applications from the providers 125 will typically utilize a user profile to represent the on-line personalities of respective social network users. It is emphasized, however, that this social networking example is intended to be illustrative and that the present action-based pre-population of user profiles is not limited to only social networking applications.
More specifically, the illustrative user profile 300 displays various categories of information including general interests 305, music 310, movies 315, television 320, books 325, and quotations 330. Demographic information 335 including gender, age, and location is also shown, as is contact information 340 such as e-mail address. The user profile 300 also displays other information including occupation 345, education 350, friends 355, blogs 360, and comments 365. In some cases, user profiles may also include links to websites and can contain other types of non-written information and content such as pictures and photographs, embedded videos or music, animations, wallpaper, and the like. It is noted that the particular user profile layout used can vary from what is shown in
The user profile 300 is typically created through interaction by a user 105 with one or more user profile forms that are supplied by a social networking application provider 125 and displayed, for example, by the web browser 211 (although in alternative implementations, a dedicated client-side application 205 could be used instead of the general purpose web-browser). A set of illustrative user profile forms is shown in
In user profile form 400 in
In user profile form 500 in
The particular user profile forms utilized in a given implementation can vary from those shown in
These and other issues may effectively be addressed by the present action-based pre-population of user profile forms where the user profile population service 118 (
As shown in
The usage data 804 and 808 is received by the user profile population service 118 as indicated by the arrow 902 in
Usage data can also be collected to reflect actions of the users 105 with regard to the kinds of websites they visit, the purchases made via e-commerce portals, the blogs they read, etc. Here, the client devices 112 may each run the web browser 211 (
In one illustrative example, the ad service provider 130, which is normally configured to collect and analyze a large amount of data dealing with users' interactions with websites, can contribute usage data to the user profile population service 118. Illustratively, the ad service provider 130 can provide usage data that predicts users' age, gender, and other demographic information based on on-line activity such as what search queries are used and the websites that are visited.
The ad service provider 130 may also perform analyses which can determine location (e.g., current and travel destination), detect personal names, categorize content in websites, make predictions as to users' intentions and preferences, and glean other information. In alternative implementations, a search provider (such as Microsoft Live® Search—not shown in
The communication service provider 128 may provide usage data that is indicative of user actions when interacting with an IM application. For example, personal status messages are often supported by IM applications that users can employ to indicate if they are ready to instant message with their IM contacts or communicate by voice. Users can typically choose from ready-made messages such as “available” or “busy” or compose their own personal status messages like “at the gym” or “playing golf”. With some IM applications, the personal status message can also be used to show what music a user is listening to on a media player that is running on their client device.
In some cases, usage data pertaining to a particular type of user action can come from either or both devices and providers within the environment 100. For example when the user actions deal with game playing, the game console 1122 may be configured to track which games are played and the scores achieved when the console is used locally, while the application provider 136 (when arranged as a game application provider) could track game usage and scores when the user 105 participates in multiplayer on-line games. Similarly, if the user actions deal with music playing, then the personal media player 140 can be configured to track the songs and videos that are most frequently played on the player, while the local music synchronization/player software application on the PC 112N could track the music played on the PC, and the application provider 136 (when configured as a music downloading service) tracks the music that is downloaded from the service. The examples of usage data provided above are intended to be illustrative and the types and kinds of usage data that may be utilized in a given implementation are not necessarily limited to only these examples.
It is important to note that the collection of any usage data (including both the individual usage data 804 and the aggregated usage data 808) will typically only be performed upon notice to the user 105 that provides opportunity to agree or decline to participate. Such notice could be included, for example, as a part of the service agreements that are commonly utilized with many on-line applications and services. It can be expected that many users will want to take advantage of the features and benefits provided by the user profile population service 118 and would agree to the collection of the usage data, particularly as the collection can be performed in a manner that is transparent to the user while preserving user privacy.
Referring again to
The analysis of the individual usage data 804 can be expected to identify specific information about the user 1051 that may be used to pre-populate suggested entries in a user profile form. By comparison, the results of the correlation performed on the aggregated usage data 808 will typically be used to identify tendencies of the user 1051 and make predictions for additional relevant and appropriate pre-populated entry suggestions. The correlation is performed to identify useful patterns and/or trends in the aggregated usage data through known statistical techniques such as collaborative filtering, which is commonly utilized in the recommendation systems used by on-line bookstores and other e-commerce retailers.
In an illustrative example, individual usage data 804 collected about the user 1051 from a search service may indicate that the user regularly searches for ski lift tickets. This data is then included in the user profile form data 815 so that the user profile population service 118 can suggest skiing as a pre-populated entry in the user's profile (e.g., as one of the user's interests or hobbies). This individual usage data 804 can also be compared with the aggregated usage data 808 so that the service 118 can generate additional suggestions. So, in this example, correlation of the aggregated usage data 808 may indicate a statistical probability that people who like skiing also like particular movie titles which feature skiing. These titles can thus also be included in the user profile form data 815 and be used as suggested entries in the category of favorite movies in the user profile form 500 in
Multiple points of comparison can be used between the individual and aggregated usage data when generating suggestions for pre-populated entries. For example, correlation of the aggregated usage data 808 may also show that some users who like skiing, and who also share some common musical interests with the user 1051 (e.g., by having some of the same favorite artists or genres of music), also like particular televisions shows. These television shows can also be included in the user profile form data 815 and used as suggested entries in the category of favorite shows in the user profile form 500.
The pre-populated suggested entries may be presented to a user both upon initial registering with the application or when a user profile gets updated. For example, the user profile population service 118 can pre-populate the user profile forms shown in
The individual usage data could indicate, for example, that the user has developed a new taste for a particular genre of entertainment, changed jobs, or has acquired a new hobby. When this occurs, the user may be prompted with a dialog box that indicates that changes have been detected and the user profile could be updated. The user can then choose to review the suggestions for updated entries. Alternatively, the service 118 could check with the users from time to time to see if the users wish to have their usage data scanned to see if changes have occurred which could be reflected in an updated user profile.
As shown in
The acceptances and/or rejections can be supplied back to the user profile population service 118 as feedback 1026 to enable the service to evaluate the accuracy and effectiveness of the processing 810 and make adjustments and improvements as necessary. For example, sensitivity or other analyses can be performed to determine why a particular suggestion may have been rejected by the user.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.