Internet use and the number of web pages accessible via the Internet are continually increasing. In an effort to attract customers, advertisers, and advertising revenue, web page providers attempt to provide the most interesting and relevant content possible. One method of providing relevant content is to personalize a web page. Typically, a web page is personalized according to a computing device identifier captured in a browser cookie. Thus, web page providers track a particular computer's browsing actions and attempt to provide content, options, and/or advertisements consistent with the actions. Multiple users may use a single computing device, however, which can cause a web page to be personalized incorrectly when a new user begins to browse after the web page has been personalized according to another user's actions.
Some web page providers personalize content by allowing individual users to establish accounts with usernames and passwords. The user may provide demographic information or select preferences that enable the web page to be personalized in a way that will appeal to the user. Users may log in to their accounts from a variety of computing devices in a variety of environments, however, which may result in an incorrectly personalized web page depending on the user's context. For example, even though a web page may be personalized according to a user account, the user may be accessing the web page from a work computer and thus have specific needs and interests that differ from the user's needs and interests when logged in from a home computer. The personalization of the web page, however, does not distinguish between the two contexts.
Web page personalization is especially important in an Internet search engine context. Internet searching has become increasingly common in recent years, and users have become accustomed to performing keyword and other search queries for a wide range of information. As the number of web pages and domains continues to grow, a search query often returns many more results than a user is actually interested in viewing. In an attempt to combat this information overload, conventional search engines often present search results ranked in order of relevance to the user's search query. Although relevance ranking may help identify generally useful results, the identified results may not be useful to a particular user. Personalized search results can further help direct users to relevant and desired results, but personalization by either computing device identifier or user login suffers from the above-mentioned deficiencies.
Embodiments of the present invention relate systems, methods, and computer media for personalizing a web page and for personalizing user search query results. Using the methods described herein, a user request to view a web page can be received from a computing device. A computing device identifier associated with the computing device can be detected. Device-specific data corresponding to the detected computing device identifier can be accessed. Upon detecting at least one user identifier having an authentication state, user-specific data corresponding to the detected user identifier and authentication state can be accessed. The web page can be personalized based on at least one of the accessed device-specific data and the accessed user-specific data. The user request can be a user search query, and the personalized web page can be a search results page.
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 to limit the scope of the claimed subject matter.
The present invention is described in detail below with reference to the attached drawing figures, wherein:
Embodiments of the present invention are described with specificity herein to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the terms “step” and/or “block” or “module” etc. might be used herein to connote different components of methods or systems employed, the terms should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
Embodiments of the present invention provide systems, methods, and computer media for personalizing web pages and personalizing search results. In accordance with embodiments of the present invention, a web page is personalized before presentation to a user. As discussed above, web page providers often seek to personalize web page content to attract users and advertisers. Web page providers typically rely on either a computing device identifier or a user login to gather and/or access information that can be used to personalize the web page. As also discussed above, both computing device identifiers and user identifier have deficiencies. Computing device identifiers indicate only the machine from which a request originates. Because multiple users may send requests from a single machine, a web page may be personalized for a previous user and be unhelpful to a current user. Similarly, while a user login allows a web page to be personalized for a particular user, the personalization may not be appropriate given the user's context (e.g., at work, at home, on wireless device). Additionally, the existence of two schemes for personalizing web pages based on two different identifier types creates security and privacy concerns due to potential comingling of data.
In accordance with embodiments of the present invention, a user request to view a web page is received from a user at a computing device. The web page is personalized before the page is presented to the user by considering device-specific data corresponding to a detected computing device identifier and user-specific data corresponding to a detected user identifier. The user-specific data and device-specific data are segregated according to identifier. For a given user request, only the data associated with detected identifiers is available. Both the user-specific data and device-specific data may include, among other data, settings, search history, browsing history, preferences, application settings, application data, user categorization based on search or browsing history, and demographic data. The detected user identifier may have a number of possible authentication states, including “identified but unauthenticated” and “identified and authenticated.” The amount of user-specific data available for use in personalization varies according to the authentication state.
User-specific data provides information relating to a particular user, but, as stated above, the user's context is typically not known. Computing device identifiers can be used to provide user context. For example, a user may have a different computer at home than she has at work. By identifying the machine from which the request originates, appropriate “home” or “work” personalization can occur. One particularly useful context in which web page personalization can occurs is for user search queries. User search history, categorization, and preferences can be considered to present personalized search results based on the user's identity and context.
In one embodiment of the present invention, a user request to view a web page is received from a computing device. A computing device identifier is detected. Device-specific data corresponding to the detected computing device identifier is then accessed. Upon detecting at least one user identifier having an authentication state, user-specific data corresponding to the detected user identifier and authentication state is accessed. The web page is then personalized based on at least one of the accessed device-specific data and the accessed user-specific data.
In another embodiment, a user search query is received from a computing device. A computing device identifier is detected. Device-specific data corresponding to the detected computing device identifier is accessed. Upon detecting at least one user identifier having an authentication state, user-specific data corresponding to the detected user identifier and authentication state is accessed. One or more web pages relevant to the user search query are identified. The relevant web pages are ranked based on at least one of the accessed device-specific data and the accessed user-specific data. A personalized search result page including the ranked relevant web pages is generated.
In still another embodiment, a user search query is received from a computing device. A computing device identifier is detected. At least one user identifier having an authentication state is detected. The authentication state is one of (1) identified but not authenticated or (2) identified and authenticated. Device-specific data corresponding to the detected computing device identifier is accessed. User-specific data corresponding to the detected user identifier and authentication state is accessed. One or more web pages relevant to the user search query are identified. The relevant web pages are ranked based on at least one of the accessed device-specific data and the accessed user-specific data. A personalized search result page including the ranked relevant web pages is generated.
Having briefly described an overview of some embodiments of the present invention, an exemplary operating environment in which embodiments of the present invention may be implemented is described below in order to provide a general context for various aspects of the present invention. Referring initially to
Embodiments of the present invention may be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program modules including routines, programs, objects, components, data structures, etc., refer to code that perform particular tasks or implement particular abstract data types. Embodiments of the present invention may be practiced in a variety of system configurations, including hand-held devices, consumer electronics, general-purpose computers, more specialty computing devices, etc. Embodiments of the present invention may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
With reference to
Computing device 100 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computing device 100 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 100.
Memory 112 includes computer-storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, nonremovable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, etc. Computing device 100 includes one or more processors that read data from various entities such as memory 112 or I/O components 120. Presentation component(s) 116 present data indications to a user or other device. Exemplary presentation components include a display device, speaker, printing component, vibrating component, etc.
I/O ports 118 allow computing device 100 to be logically coupled to other devices including I/O components 120, some of which may be built in. Illustrative components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc.
As discussed previously, embodiments of the present invention provide methods and computer media for personalizing web pages and personalizing search results. Embodiments of the present invention will be discussed with reference to
Device-specific data and user-specific data are gathered from a variety of sources including browser, search provider, and web domain records. Many browsers, search providers, and web domains record user actions and history for a variety of purposes. For example, when a search provider receives user search queries, the search provider tracks the queries and subsequent actions associated with the queries, such as clicking on a presented search result link. If a user is not logged in, the search provider stores the actions in association with the computing device identifier and may store the actions for a shorter length of time than if the user were logged in.
In some instances, a number of web domains or services may share user history among themselves. For example, one entity may provide a news website, search engine, e-mail, and other services accessible through a single username and password. The history, preferences, etc, of the user for each service is available to every other service provided by the entity. In other instances, a user may have accounts with various entities, and the entities have agreed to allow a single login from one account with a first entity to access information in other accounts of the same user with different entities. In this way, a user could perform a single login to access email from provider A and access the user's search history and preferences from provider B or social media events from provider C. Single logins for multiple websites/domains, recording user activity, and other methods of gathering user data are well known in the art.
The particular data used to personalize a web page may vary. For example, if a user has requested to view a mapping web page that provides directions, any accessible user or device-specific data may be used to personalize the presented mapping web page. The mapping provider may consider user-specific data that relates to an email account or search engine history in place of or in addition to mapping history. For example, the mapping provider could present a default map of the user's home address based on profile information stored for the user's email address. Alternatively, the mapping provider could present as the default map a frequently mapped location as determined from the mapping provider's history or include frequently searched destinations as selectable options. The specific items of user-specific data considered in personalization depend upon the web page provider's goals and other considerations.
As discussed above, various authentication states exist for a user. In one embodiment, three authentication states are possible: (1) user not identified, (2) user identified but unauthenticated, and (3) user identified and authenticated. Other authentication states are possible. In authentication state (1), a user is not identified. The system has no way to access user-specific data in this authentication state. Only device-specific data can be used to personalize a web page for a request in which there is no user identifier.
In authentication state (2), a user has been identified, but the user is not currently authenticated. This may occur when, for example, a user has previously been logged in to a web domain or web page provider but has logged out. Depending upon the login type, the username may remain for convenience of the user. The user identifier (username) is detected, but the identifier has not been authenticated. In some types of login systems, after a user logs out, both the username and password are removed and the user then has authentication state (1). Authentication state (2) also may occur, for example, when a user is logged in, closes the browser without logging out, and later reopens the browser. Similarly, authentication state (2) may occur when a browser cookie for a logged-in user expires. Authentication state (3) occurs when a user identifier is detected that has been authenticated, such as when a user is currently logged in to a web domain or web page provider. Authentication states (1), (2), and (3), can be thought of as: (1)—“we don't know who you are;” (2)—“we think we know who you are, but we can't be sure;” and (3) “we know who you are to the best of our ability.”
User-specific data accessible in authentication states (2) and (3) is illustrated in
For example, if a request to view a web page is received and no user identifier is detected, the user is in authentication state (1). Sensitive information such as credit card payment information, home address, telephone number, or possibly even search history should not be accessible or used to personalize in such a case. Device-specific data is typically less sensitive than unauthenticated user data, which is in turn typically less sensitive than authenticated user data. The dividing lines between which data should be stored as unauthenticated user data and which should be stored as authenticated user data depends upon a web domain or web page provider's needs and preferences. Wherever the lines are drawn, security and privacy concerns typically guide the categorization. In addition to access to sensitive data, authentication state may also affect read and write permissions and information retention.
Personalizing web pages using only user-specific data can still result in web pages that are inappropriate for a user given the user's context. Considering the mapping service example presented above, a user logged in to a mapping service may be presented with a default map of the user's home address. Personalization occurred after authenticated user data was accessed to determine the user's home address and a decision was made to produce a default map with that home address. The user, however, may have logged in to her account from her work computer. In such a situation, it is likely that the user desired driving directions from her work location to a destination. The mapping service's attempt at personalization, producing a default map with the user's home address, is not helpful in this situation. By detecting a computing device identifier, however, the mapping service is able to gain context for the user's current session. The mapping service can recognize that the computing device identifier is the user's work computer, and only personalize based on user-specific data that corresponds to the work computer.
In one embodiment, the personalized web page can include reduced or expanded content depending on the computing device identifier. For example, if it determined from the computing device identifier that a user is requesting to view a web page from a work computer, when the user would likely have limited time to view content, the personalized display can include a limited number of targeted content items. In contrast, if it is determined that the user has requested to view a web page from her home computer, where she is more likely to have time to view content, additional content may be included in the personalized web page. Advertisements presented in association with a web page can be similarly personalized.
In the web page personalization system shown in
As discussed above, web page personalization is desirable for Internet search providers.
In some embodiments, authenticated user data store 414 contains all of the data stored in unauthenticated user data store 412. In other embodiments, a decision is made to store some user-specific data as accessible when the user is unauthenticated and some as accessible when the user is authenticated, and when it is determined that a user is authenticated, both unauthenticated user data store 412 and authenticated user data store 414 are accessible.
Personalization of search results may include accessing user-specific data relating to user categorization. For example, the user may be categorized by the search provider as a sports enthusiast, shopper, casual user, or other category. Recent search history associated with the user or device may also be considered. As discussed above, the combination of a computing device identifier and user identifier provides a more complete level of personalization that can account for not just a user's identity but also a user's context. Search provider 406 may also consider the user's demographic information, geographic location, expressed preferences or settings, or other information.
Search provider 406 accesses web page index 416, advertising index 418, and additional content 419 to identify web pages, advertisements, and additional content relevant to the received user query. Additional content 419 may include answers to particular queries. For example, if a user searches for a particular sporting event score, scientific constant value, population statistic, or other information for which a fast and complete answer may be easily obtained, such an answer can be presented directly to the user without providing a link to a web page containing this information. Result ranking component 420 assembles personalized results based on the identified relevant web pages, advertisements, device-specific data, and user-specific data. The personalized results are provided to search provider 406. A personalized search results web page is generated and communicated to computing device 402 through web server 404.
The present invention has been described in relation to particular embodiments, which are intended in all respects to be illustrative rather than restrictive. Alternative embodiments will become apparent to those of ordinary skill in the art to which the present invention pertains without departing from its scope.
From the foregoing, it will be seen that this invention is one well adapted to attain all the ends and objects set forth above, together with other advantages which are obvious and inherent to the system and method. It will be understood that certain features and sub-combinations are of utility and may be employed without reference to other features and sub-combinations. This is contemplated by and is within the scope of the claims.