The field of the invention includes search services provided over a computer network. The field especially pertains to providing search results and associated information in response to a search term query or within another type of object browsing or search application.
In recent years, the Internet has been a main source of information for millions of users. These users rely on the Internet to search for information of interest to them. One conventional way for users to search for information is to initiate a search query through a search service's web page. Typically, a user can enter one or more search term(s) into an input box on the search web page and then initiate a search based on such entered search term(s). In response to a query, a web search engine generally returns an ordered list of search result documents.
Accordingly, apparatus and methods for providing next click information regarding search results are provided. In certain embodiments, as objects (such as web pages, images, videos, audio files) are searched and clicked, click information is retained. Next click information with respect to specific objects can then be determined. This next click information can then be provided to an object search initiator so that such next click information is presented along with search result objects, for example, during a search query.
In one embodiment, a method for providing search results to a user of a search service is disclosed. Next click information is obtained, and this next click information pertains to next clicked objects that are related to each of at least a subset of search result objects, which were obtained over a computer network by a search service in response to a search request by an initiator. Each of the next clicked objects was selected by a user next after accessing the related search result object. The next click information is provided, along with the ranked search result objects, to the initiator so that the next click information is presented adjacent to each related one of the at least a subset of ranked search result objects.
In a specific implementation, the next clicked objects and the search result objects are web pages. In another embodiment, the provided next click information is partitioned into inter-object and intra-object information with respect to the at least a subset of search result objects. In another aspect, the provided next click information is partitioned into inter-domain and intra-domain information with respect to the at least a subset of search result objects. In yet another aspect, the provided next click information was obtained from a single user that is the same as the initiator of the search request. In another feature, the provided next click information was obtained from a plurality of users that belong to a social network of the initiator of the search request. In another embodiment, the provided next click information includes a plurality of click frequency values. In a further aspect, the click frequency values are presented as a visual map. In yet another embodiment, the provided next click information are presented for each of the at least a subset of ranked search result objects in an order corresponding to increasing to decreasing number of clicks. In another feature, the next clicked objects are advertisement links. In yet another embodiment, the next click information includes other data that can be collected together with the clicks. One such data is the time spent on the page that contains the object of interest. In a further aspect, the search result and the next click information can come from different sources, for example, databases, owned and operated by the same company or different companies.
In another embodiment, the invention pertains to an apparatus having at least a processor and a memory. The processor and/or memory are configured to perform one or more of the above described operations. In another embodiment, the invention pertains to at least one computer readable storage medium having computer program instructions stored thereon that are arranged to perform one or more of the above described operations.
These and other features of the present invention will be presented in more detail in the following specification of the invention and the accompanying figures which illustrate by way of example the principles of the invention.
Reference will now be made in detail to a specific embodiment of the invention. An example of this embodiment is illustrated in the accompanying drawings. While the invention will be described in conjunction with this specific embodiment, it will be understood that it is not intended to limit the invention to one embodiment. On the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. The present invention may be practiced without some or all of these specific details. In other instances, well known process operations have not been described in detail in order not to unnecessarily obscure the present invention.
In general, mechanisms for providing next click information for search result objects are provided. The search result objects may take any suitable form, such as web pages, images, videos, audio files, or any object that can be selected, viewed, or otherwise accessed. A next click object for a particular search result object may correspond to any type of object (e.g., web page, image, video, audio files, advertisement link, etc.) that is selected, clicked, viewed or accessed by a user after selecting, clicking, viewing, or otherwise accessing the particular search result object. A search result object can also be a software plug-in from a plug-in library. In this case, the next click object can show the most used or accessed plug-in associated with the particular search result. The search result object may have been initially accessed through any suitable application, such as a search or web service. As a user accesses particular search result objects and subsequent next click objects, next click information may be retained for later use. In one embodiment, when a user performs a search query, next click information for each search result object (or a subset of search result objects) is provided to the user along with the presented search results as described further below.
Example embodiments of the present invention may be utilized to significantly enhance the search interface and search experience. The next click information can help a user navigate through a high number of search results and find related pages.
Although certain embodiments are described herein in relation to search result objects and their related next click objects in the context of a search service application, it should be apparent that next click information may also be provided in other applications, such as a music or video service for browsing/searching through audio visual objects. It should also be noted that embodiments of the invention are contemplated in which the operation of the underlying search engine is largely unaffected by the overlying determination and presentation of next click information. That is, in response to a search query, the search engine may acquire information relating to the search query as it would conventionally, i.e., without the benefits of or reference to the user click information enabled by the present invention. The user click information may be applied to the conventionally retrieved results. However, embodiments are also contemplated in which the operation of the underlying search engine is altered in some way to enable at least some further search enhancements as described further below. For example, the ranking of the search results may be affected by the user click information that is retrieved and the search engine may be revised based on the retrieved user click information as explained further below.
Prior to describing mechanisms for providing next click information, a search and web architecture will first be briefly described to provide an example context for practicing techniques of the present invention.
The invention may also be practiced in a wide variety of network environments (represented by network 204) including, for example, TCP/IP-based networks, telecommunications networks, wireless networks, etc. In addition, the computer program instructions with which embodiments of the invention are implemented may be stored in any type of computer-readable media, and may be executed according to a variety of computing models including a client/server model, a peer-to-peer model, on a stand-alone computing device, or according to a distributed computing model in which various of the functionalities described herein may be effected or employed at different locations.
A search application generally allows a user (human or automated entity) to search for information that is accessible via network 204 and related to one or more search terms. The search terms may be entered by a user in any manner. For example, the search application may present a web page having any input feature to the client (e.g., on the client's device) so the client can enter one or more search term(s). In a specific implementation, the search application presents an input box into which a user may type any number of search terms. Embodiments of the present invention may be employed with respect to any search application, and example search applications include Yahoo! Search, Google, Altavista, Ask Jeeves, etc. The search application may be implemented on any number of servers although only a single search server 206 is illustrated for clarity.
The search server 206 (or servers) may have access to one or more user search database(s) 210 into which search information is retained. Each time a user performs a search on one or more search terms, information regarding such search may be retained in the user search database(s) 210. For instance, the user's search request may contain any number of parameters, such as user or browser identity and the search terms, which may be retained in the user search database(s) 210. Additional information related to the search, such as a timestamp, may also be retained along with the search request parameters. When results are presented to the user based on the entered search terms, parameters from such search results may also be retained. For example, the specific search results, such as the web sites, the order in which the search results are presented, whether each search result is a sponsored or algorithmic search result, the owner of each search result, whether each search result is selected by the user (if any), and a timestamp may also be retained in the user search database(s) 210.
The user search database(s) may take any suitable form for retaining useful search information for subsequent or concurrent next click analysis, which is described below.
Each entry relates various parameters of a particular user's search session for a particular search term and various characteristics of a search result that is found in response to such search and search term. In the illustrated example, each entry may include a user identifier (ID), session timestamp, search term, a search result identification, whether such search result was clicked by the user, and the timestamp for such click. Although not shown, each entry may also include a field indicating whether such search result is a sponsored search result (e.g., that is purchased for the particular search term) and/or an identification of the owner of the search result. Alternatively, each entry may include a user ID and a plurality of searches that each includes a timestamp, one or more search term(s) and their corresponding search results and related information. There is a diverse number of different arrangements that could be utilized for such search information. The retained search information may include other types of data, such as the rank of the selected result among all of the search results, a category for the search term, etc.
The user ID may correspond to any characteristic associated with the searcher, and the searcher may be a person or an automated entity. This ID may be associated directly with some form of a user's identity, associated with the browser through which the user is requesting a search, or a search client that is running on the user's device. By way of example, the user ID may be obtained from a browser or user cookie, e.g., which may be associated with the search when the user is logged into the particular search service provider. Alternatively, the user ID may take the form of an identity associated with the device which the user is using for their search. Examples of a device identity include IP (internet protocol) addresses or MAC (media access control) addresses.
The session and click timestamp fields may correspond to any suitable time format, and may specify any combination of day, month, year, time, and time zone. The search term corresponds to a search term that was used in a specific search. A specific search may include more than one search term, which may be included in the same or a different entry of the user search database. A search result may include one or more URL (universal remote locator) sites that belong to a same owner. A “no” in the selected field indicates that the search results were not selected by the user, while a “yes” in the selected field indicates that the search result was selected by the user.
A sponsored field may be included in the entry to specify whether the search result has been sponsored (e.g. a bid accepted) so as to appear in a purchased or sponsored search results list. An owner field may specify an owner of the search result. An owner is generally an entity that controls or manages the corresponding search result. For instance, the owner can be a company and the search result can specify the company's main website.
In the present example, a separate entry may be formed for each search term and search result pair. For example, entries 302a˜302c each include a user ID equal to “ID_1” and a session timestamp “Jan. 2, 2006, 3:03 pm” for a first search. Entries 302a˜302c also correspond to a search for the search term “loan”, which produces search result x, y, and z.
In addition to a user search database, embodiments of the present invention may utilize information that is collected when users access one or more web services. In a specific implementation, one or more clients may be configured with an information collection agent, e.g., 216 of
Referring back to the architecture of
When a search for objects based on one or more search terms is initiated in a query to a search server, the search server then locates a plurality of objects that relate to the search terms. These objects can be found on any number of web servers and usually enter the search server via a crawling and indexing pipeline possibly performed by a different set of computers (not shown). The plurality of located objects may then be analyzed by a rule based or decision tree system to determine a “goodness” or relevance ranking. For instance, the objects are ranked in order from most relevant to least relevant based on a plurality of feature values of the objects, the user who initiated the search with a search request, etc.
Referring back to
The search results may also be optionally ranked again based on the related next click information in operation 408. That is, the next click information may be taken into account by a re-ranking algorithm. For example, objects (e.g., pages) that have a high frequency next click rank may be re-evaluated and given a higher ranking than lower frequency next click objects or particular search results may be clustered together based on next click information. A ranked list of search results, including the related next click information, may then be provided to the initiator of the search (e.g., a device accessible by such user) in operation 410. For example, the next click information is provided adjacent to the corresponding search result as described further below.
Additionally, next click information, including metrics, may be collected and determined during any suitable time. For instance, next click metrics may be determined and updated based on user search and user web database information each time a search is performed or on a periodic basis. Alternatively, next click metrics may be determined as search and web information is provided, e.g., to next click management server. Search and web information may be provided by one or more search servers, one or more information collection agents, one or more web servers, etc. A next click management server may obtain such search and web information by passively receiving such information or actively requesting such information from the respected information sources.
Referring back to
A next click metric may take any suitable form for presenting next click characteristics, such as click frequency, click count, time spent on viewing the object (dwell time), tag count, intra-page click count, etc. A metric may include any quantification or characterization of how a user is viewing an object, such as a web page. These specified metrics are merely examples and are not meant to limit the scope of the invention. A next click frequency may specify a percentage that the next click object is selected from a total of next click objects for a particular search result object. For instance, if there are 1,000 next click objects that were selected by different users after accessing a particular search result object and a particular one of these next click objects was selected 500 times, the click frequency for the particular next click object is 50%.
The next click metrics may also each be partitioned into any number and type of categories. For example, sub-metrics for each metric may be determined and optionally retained based on each user and/or each user's social network in operation 506. In a specific implementation, a particular user may choose to have next click information presented based on his/her own next clicks, next clicks made by the particular user's selected social network, e.g., designated friends or buddies, or anyone's clicks. A user may choose these options at any time, e.g., for applying to a particular search or by selecting more generally applicable user preferences through a user profile web page.
Sub-metrics for each metric may also be determined and retained based on whether clicks are intra- or inter-page in operation 508. That is, next click objects that were selected from links within the particular related search result object can be defined as intra-page or intra-object, while next click objects that were not selected from links within the related search result object can be defined as inter-object or inter-page. Sub-metrics for each metric may also be determined and retained based on whether clicks are intra or inter-domain in operation 510. For example, next clicks that were selected from objects within a same domain as the related search result object may be defined as intra-domain, while other next clicks may be defined as inter-domain. Other sub-metrics may be determined based on any suitable next click factors, such as the degree of overlap of content, e.g., words or search terms, within the next click objects themselves, anchor text similarity, user tag similarity, overlapping of predefined categories of such next click objects (e.g., automotive, finance), whether the next click objects belong to a same advertising category, etc.
Alternative next click database 650 includes a plurality of entries that each includes a user identifier (ID), a web page, a next click web page, and a next click metric. The user ID may correspond to a single user identity or a particular user's set of social network users. In this embodiment, the next click metrics are effectively partitioned by user or social network. Intra- or inter-domain may also be inherently provided by the particular web page's and next click page's identities. For instance, a particular web page and next click page may share a same domain. Intra- or inter-page status may be determined by analyzing the particular web page to determine whether such particular web page includes a link to the next click web page.
Each time a plurality of search results are provided to a search initiator, the next click information that corresponds to each (or a subset) of the search results may also be provided to the user. For instance, the next click metric for each next click web page that is related to each particular search result's web page may be obtained from a next clicks database, e.g., 600 or 650. Inter- and intra page and/or domain sub-metrics may also be determined for each metric. For instance, the next clicks metrics are first divided into sub-metric categories by comparing the web page's and next click page's identified domains to determine inter or intra-domain status or by assessing whether each next click page is provided as a link in the related web page to determine inter- or intra-page status. Sub-metrics may then be determined based on the next click count of each category and the corresponding metric values.
After next click metrics and sub-metrics are obtained, next click information for one or more search results may then be provided to the search initiator.
The next clicks information for a set of search results may be provided in numerous formats. In the illustrated example, a dynamic “Next Clicked Links” object is first presented to the user. However, the next clicks information may be statically provided to the user. In the present example, when the user selects the dynamic “Next Clicked Links” object, the user is presented with additional next click information in a web page or window. In an alternative implementation, the search results may be presented with a different type of designation, e.g., “Next Clicks Information”, over which the user may pass his/her mouse or pointer to cause a popup window to be presented with next clicks information.
Referring to the selectable link example of
The metric values (and/or sub-metric values) may also be provided in the presented next click information. As shown, each next click object includes a corresponding next click frequency in parenthesis, 45% for the first next click object 658a and 20% for the second next click object 658b. Alternatively, the next click information may simply present the different next click values in the form of numbers or any other visual scale. Regardless of form, any next click information portion may be in the form of a selectable link to the corresponding next click object, e.g., next click web page.
Mechanisms for allowing the user to select next click options may also be provided. In the example of
The present invention may be implemented in any suitable combination of hardware and/or software.
CPU 702 is also coupled to an interface 710 that connects to one or more input/output devices such as such as video monitors, track balls, mice, keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or paper tape readers, tablets, styluses, voice or handwriting recognizers, or other well-known input devices such as, of course, other computers. Finally, CPU 702 optionally may be coupled to an external device such as a database or a computer or telecommunications network using an external connection as shown generally at 712. With such a connection, it is contemplated that the CPU might receive information from the network, or might output information to the network in the course of performing the method steps described herein.
Regardless of the system's configuration, it may employ one or more memories or memory modules configured to store data, program instructions for the general-purpose processing operations and/or the inventive techniques described herein. The program instructions may control the operation of an operating system and/or one or more applications, for example. The memory or memories may also be configured to store user search database(s), user web information database(s), next click database(s), etc.
Because such information and program instructions may be employed to implement the systems/methods described herein, the present invention relates to machine readable media that include program instructions, state information, etc. for performing various operations described herein. Examples of machine-readable media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as floptical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM) and random access memory (RAM). The invention may also be embodied in a carrier wave traveling over an appropriate medium such as air, optical lines, electric lines, etc. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.
Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. Therefore, the present embodiments are to be considered as illustrative and not restrictive and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.