None.
None.
Embodiments of the present invention relate to a system and method for setting and sharing scoring parameters. More particularly, embodiments of the invention relate to a technique for setting scoring parameters to determine an output order of search results produced by a search engine based on user preferences.
Computer searching, particularly over the Internet, has become a widespread technique for seeking information. In order to seek information, users typically input terms to a search engine. The search engine typically performs two functions including (1) finding matching documents and (2) scoring the matching documents to determine a display order. The search engines typically order or rank the results based on the similarity of the terms found to the terms input by the user. Results that show identical words and word order with the request input by the user will typically be given a high rank and will be placed near the top of the list presented to the user.
Scoring performed by different search engines takes into account various factors including whether a match was found in the title, the importance of the match, the importance of a phrase match, and other factors determined by the search engine. Parameters that work well for one kind of search may not work well for all searches and parameters that work some users may not work well others. Accordingly, a problem with most currently known techniques is the failure to allow users to sufficiently tailor their requests so that the results will be output in an appropriate order of relevance.
User satisfaction is a critical success factor for a search engine. Accordingly, a solution is needed that allows a user to customize the behavior of a search engine to meet his or her needs. A solution is also needed that allows users to share that customization with other like-minded users. Personalizing the data presented by a web search engine in an effective manner could dramatically improve the user search experience, thus boosting customer loyalty.
Embodiments of the present invention include a method for implementing a search engine to output search results scored for a particular user. The method includes receiving a set of input user search terms and accessing a set of input user preferences. The method additionally includes obtaining scored search results based on the set of search terms and the set of input user preferences.
In a further aspect of the invention, a method is provided for sharing user search preferences for input to a search engine. The method includes storing a set of input user preferences. The input user preferences provide criteria for a search engine to perform ranking of a set of search results. The method additionally includes providing an access mechanism for allowing access to the stored set of input user preferences by a third party.
In an additional aspect, a method is provided for implementing a search engine to score search results for a web site having searchable data. The method includes receiving a set of input user search terms and accessing a set of web site preferences. The method additionally includes obtaining scored search results from the web site data based on the set of input user search terms and the set of input web site preferences.
In yet a further aspect of the invention, a system is provided for customizing search preferences for a set of search terms input to a search engine. The system includes a user input interface for allowing a user to input a set of search terms and a set of user preferences. The system additionally includes ranking tools for ranking search results obtained by searching the input set of search terms. The ranking tools rank the search results based on the input set of user preferences. The system additionally includes an ordered results output component for outputting ranked search results to the user.
The present invention is described in detail below with reference to the attached drawings figures, wherein:
Embodiments of the invention include a method and system for allowing a user to customize a search and to share the customization. Accordingly, the system provides a mechanism for inputting preferences and a mechanism for saving and sharing the input preferences. Preferences may be input using a plurality of techniques including embedding the preferences as part of the query string, storing a customization file on a user's machine, or through a graphical user interface component. For sharing purposes, these preferences may be stored on the user computer, at the search engine, or at an alternative location.
As illustrated in
The invention is described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
With reference to
Computer 110 typically includes a variety of computer readable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements within computer 110, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120. By way of example, and not limitation,
The computer 110 may also include other removable/nonremovable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
The computer 110 in the present invention will operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. The remote computer 180 may be a personal computer, and typically includes many or all of the elements described above relative to the computer 110, although only a memory storage device 181 has been illustrated in
When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user input interface 160, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 110, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
Although many other internal components of the computer 110 are not shown, those of ordinary skill in the art will appreciate that such components and the interconnection are well known. Accordingly, additional details concerning the internal construction of the computer 110 need not be disclosed in connection with the present invention.
As set forth above,
The preference processing module 30 may include a user interface 32, ranking tools 34, and an ordered results output component 36. The user interface 32 may accept input from a user in several different ways. A user may input preferences as an embedded portion of a search query string, using a customization file on the user computer 10, or through a graphical component on a user interface.
Suitable graphical components may include an equalizer-style arrangement of sliders for the various parameters or a form with checkboxes. With sliders on the user interface, each slider may correspond to each search term. Accordingly, a user could position the slider to one end of a scale or an opposite end of a scale to indicate the importance of the term. The weighting could be based on percentages from zero to one hundred percent.
If the user interface 32 allows entry of a query string, the user may be permitted to embed weights in the query string to indicate the relative importance of each search term. Another option for customization is to allow a user to weight a term if the term is present, without including the term as a search parameter. For instance, the user could perform a search on “the brown fox”, and weight the term “jump” only if “jump is included in the text of the documents retrieved in the search. Furthermore, the user may want only documents published before or after a certain date or having a specific file type.
With any type of user interface 32, the user may also be able to indicate where to look for the terms. For instance, the user may search for the terms in the title, the body of the text, in a URL, or in data identifying a document.
Ranking tools 34 rank search results based on the input preferences. As set forth above, the input preferences may include multiple terms, with some terms weighted more heavily than others. Furthermore, weighting may be performed with query independent features such as the length of a URL, age of a document, or file type. The search may also be based on query dependent features of a document derived from the query terms. In particular, query dependent features would specify where to look for the terms, such as in the body, title, URL, or links and how the terms should appear, such as in an exact phrase replication or as disconnected words. The search could also include a mix of the above three categories (weighting of terms, query dependent features, and query independent features). Finally, the search could be applied to a particular structured field. For instance, the search could include a structured data search for timing and rank based on particular structured field such as XML or metatags.
The preference sharing module 40 allows a user to share the customization created by the preference processing module. The preference sharing module 40 allows publish of a user customization so that the user may expose the customization to others. The preference sharing module 40 may allow a user to create a URL that others could access. In order to implement the preference sharing module 40, the user first implements the customization experience through the preference processing module 30. The user's customization experience is then stored on the user computer 10, at a search engine web server, or at another alternative location.
Users having appropriate credentials may access the stored customization experience. Thus the preference sharing module 40 may include an authentication component for authenticating users. The user setting up the preferences could regulate the required authentication data. Authentication credentials may allow users to access and/or modify the preferences stored in the preference sharing module 40. In order to provide access for publication, the user sharing preferences may insert a search box on the user's web site that points to a URL or the user may send the appropriate URL or file to authorized users. The preference sharing module 40 provides a social networking feature. Preferences within online groups and communities may, through the preference sharing module 40, be easily shared among the members.
As set forth above, preferences might be stored on the user computer 10 or at the search engine. If on the user computer, the settings could be shared by sharing the stored file. If stored on the search engine, sharing would be accomplished by allowing the user to name the settings and share them by name. Users could find each other's shared search spaces through a list or other mechanism for navigating from person to person. From a user's search space, visitors could make use of a user's search settings, could see the user's favorite queries, and could see the user's favorite results for those queries.
Furthermore, the location of the partner search customization components is not dependent on the location of the user search customization components. The partner search customization components may be located on either the partner web server or the user computer regardless of the location of the user search customization components. In order to customize search results for a partner site having searchable data, the method includes receiving a set of input user search terms and accessing a set of partner web site search preferences. The method additionally includes obtaining scored search results from the partner web site searchable data based on the set of input user search terms and the set of input partner web site preferences.
Furthermore, although typically a user will get one set of results based on input search terms and preferences, the user may also allow the search engine to output an initial set of results based on the search terms and then re-sort the results based on subsequently input preferences. In other embodiments, the user may alter preferences after receiving a first set of results in order to improve or alter the sort order of the results set.
As set forth above, the search customization components of the invention perform ranking or scoring based on a number of factors. The invention allows a user to customize the behavior of the search engine to his own needs and share that customization with like minded users. The user can improve his own results according to his personal definition of the best results. Additionally, the fact that a user could then share his customized settings allows users to form communities of users with similar preferences.
While particular embodiments of the invention have been illustrated and described in detail herein, it should be understood that various changes and modifications might be made to the invention without departing from the scope and intent of the invention. The embodiments described herein are intended in all respects to be illustrative rather than restrictive. Alternate embodiments will become apparent to those skilled 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 and within the scope of the appended claims.