This invention relates to a tool for providing keyword suggestions to a user, and a search engine using the same.
When using traditional search engines, a user (e.g., a searcher) must enter one or more keywords to initiate a query to look for desired information. In many instances, the keyword that he is entering is not necessarily the keyword that will lead to the desired search result. Hence, the user typically must enter a number of different keywords and/or keyword combinations during multiple queries to realize a desired search result.
As such, the user often must spend time and effort to identify new keywords and/or modify the keywords used during the queries to obtain the desired search result. This necessarily is a tedious and time consuming process, and there is no guarantee that the user will eventually determine the one or more keywords that can provide the desired search result.
In one embodiment of the present invention, a method for providing support during information search includes: receiving one or more characters from a user; comparing the one or more characters to a set of search terms, wherein each of the search terms is associated with a query previously submitted by the user of a prior user; selecting a subset of one or more search terms within the set of search terms based on the one or more characters; and returning one or more suggested queries to the user, each of the queries being associated with the subset of one or more search terms.
In another embodiment of the present invention, a tool for providing support during information search comprises: a first interface for receiving one or more characters from a user; a processor adapted to compare the one or more characters to a set of search terms, wherein each of the search terms is associated with a query submitted by a prior user, and select a subset of one or more search terms within the set of search terms based on the one or more characters using a selection heuristic; and a second interface adapted to return one or more suggested queries to the user, each of the queries being associated with the subset of one or more search terms.
In yet another embodiment of the present invention, a computer program product for providing support during information search includes: computer readable software for receiving one or more characters from a user; computer readable software for comparing the one or more characters to a set of search terms, wherein each of the search terms is associated with a query submitted by a prior user; computer readable software for selecting a subset of one or more search terms within the set of search terms based on the one or more characters using a selection heuristic; and computer readable software for returning one or more suggested queries to the user, each of the queries being associated with the subset of one or more search terms.
These and other aspects of the invention will be more readily comprehended in view of the discussion herein and accompanying drawings.
In an exemplary embodiment of the present invention, a keyword suggestion tool is provided. The keyword suggestion tool provides suggested keywords based on the alphanumeric characters or keys typed by the user. The keyword suggestion tool has an “as fast as you type” feature which is used to provide suggested keywords in real time as the user is typing in the keyword character by character, i.e., the keyword suggestion tool provides suggested keywords in real-time or instantaneously as the user is typing or entering alphanumeric characters on a keyboard or a keypad. The system and method for implementing and using the “as fast as you type” feature is disclosed in U.S. patent application Ser. No. 10/654,596 entitled “Methods and Systems for Web-Based Incremental Searches” filed Sep. 3, 2003, the entire content of which is incorporated herein by reference.
The keyword suggestion tool may include and/or may be coupled to a database of keywords or search terms. In the exemplary embodiment, the keywords of the database are derived from queries that have been used during past searches by the user and/or others. In some embodiments, the database comprises a list of common words, common phrases, the queries of users of different search engines, or a combination thereof.
The keyword suggestion tool indexes the database while the user types the keywords or portions thereof, identifies the keywords or queries that match the characters entered by the user, and returns suggested keywords that can be used for keyword searches. The suggested keywords, or portions thereof, preferably include one or more words or phrases derived from prior queries that include the same one or more keywords already entered by the user. Each of the keywords returned or suggested by the keyword suggestion tool may be a hyperlink, e.g., a hypertext link, that can be selected by the user and used to perform a search using a simple mouse click.
In another exemplary embodiment of the present invention, a search engine including the keyword suggestion tool is provided.
In an embodiment, an auto-completion feature is provided. The auto-completion feature can complete the search term or search string in the keyword field as the user is entering the characters that make up the search term or search string. The suggested keywords provided by the auto-completion feature may be generated using predictive text technology known to those skilled in the art or generated from prior search information.
In the preferred embodiment, the one or more complete terms or query generated by the keyword suggestion tool and auto-completion feature are identified by comparing the entered characters with a database of words. The database of words preferably includes a list of individual words and/or phrases selected from the group consisting of: the queries of users of the associated search engine, the queries of users of a different search engine, the individual search terms of the queries previously submitted by users of the same or different search engine, common words from a dictionary, for example, common phrases, and combinations thereof.
In another embodiment, a search result is displayed when a user places a cursor on a corresponding keyword suggested by the keyword suggestion tool. Hence, for example, the content of a search result area may be updated with a new search result in response to the user placing a cursor on the keywords listed in a keyword area.
As used herein, the terms “keywords” and “search terms” are synonymous and may be interchanged with each other. Each of the keywords, in turn, comprises one of more alphanumeric characters that may form a complete word or a portion of a complete word. Further, the term “query” may be used herein to refer to one or more keywords or one or more search terms. When a user submits a query, the keyword suggestion tool matches the characters of the query with keywords or search terms in its database.
A search on the Internet search engine of the preferred embodiment can be initiated simply by selecting (e.g., via keyboard or mouse click) one of the suggested queries or keywords returned by the keyword suggestion tool. By way of example, the keyword suggestion tool may provide the user with one or more suggested keywords as hypertext links, each hyperlink being a command adapted to invoke a search in the database for the associated keyword. When a search is executed with a selected search term, the search engine generates search results including a plurality of web pages and other resources. In addition, the keyword suggestion tool updates the list of suggested queries. The newly-updated list consists of suggested queries that incorporate the one or more keywords used or selected during the preceding search. This way, a user can methodically go through the search in a hierarchical order, and can perform a number of related searches by merely selecting the queries/keywords suggested by the keyword suggestion tool without typing in new search terms each time. In some embodiments discussed in more detail below, the keyword suggestion tool is configured to support navigation keys that enable the user to navigate through the list of suggested queries, select one of the suggested queries with which to refine the search, and view an updated list of suggested queries without actually invoking an Internet search.
The search tool may be based on a database, which may include a compilation of search terms used by the user and/or by others during previous searches. For instance, even if prior users are not tracked, the queries submitted by the prior users may still be incorporated into the database. As the user types in characters of a keyword, the database may be searched in real time to filter out keywords that do not include the combination of characters, identify those database entries that include the combination of characters, retrieve the keywords associated with the entries, and provide the suggested keywords to the user. Such a database can be generated by compiling and indexing a list of search terms used during previous searches, and ordering them in accordance with their respective frequencies of use. Such a database may, for example, be generated and searched using a database generation and search system based on an index engine similar to the one disclosed in the above-cited U.S. patent application Ser. No. 10/654,596 entitled “Methods and Systems for Web-Based Incremental Searches.” Of course, such a database may also be generated using any other suitable method known to those skilled in the art.
The database may also include information gathered from and associated with the particular user submitting the query. In that case, the database would include keywords or queries previously used by that particular user, and such previously used keywords or queries provided to the user as suggested keywords. One example of using the information regarding previous searches by the same user to realize more efficient searching is disclosed in U.S. provisional application No. 60/612,619 filed Sep. 22, 2004, entitled “Behavioral Search Engine,” the entire content of which is incorporated herein by reference. Another example of using the information regarding previous searches by the same user to realize more efficient searching is disclosed in U.S. provisional application No. 60/616,044 filed Oct. 4, 2004, entitled “Search Results Based on Search User Intent,” and U.S. nonprovisional patent application No. 11/234,769 file Sep. 22, 2005, entitled “Search Engine using User Intent,” the entire content of both of which are incorporated herein by reference. The search method and system disclosed in this application may also be referred to as a “behavioral search engine.”
As can be seen in the screen shot of
A user then initiates a search by entering a query into the keyword field 10 in the manner described below. The search of the term or any portion thereof may be executed, for example, by pressing a search button 40 located next to the keyword field 10. In addition, a search can be invoked using any of the suggested keywords in keywords area 20 by selecting (e.g., through mouse clicking) one of the keywords or queries.
As stated, some embodiments include an “as fast as you type” feature that attempts to predict the user's query based on one or more letters and keywords entered by the user. When a character “p” is typed into the keyword field 10, it can be seen in
In the preferred embodiment, the list of suggested queries includes a plurality of queries comprising one or more keywords beginning with the letter “p.” The letter “p” may be the first letter of the first keyword or any additional keyword thereafter. By way of example, it can be seen in the keywords area 20 of
The suggested keywords 82 displayed in the keyword area 20 may be generated in real-time without the user manually entering the entire query or even an entire keyword prior to executing the search. The content displayed in the search result area 30 has not changed since no query has been invoked yet.
In the preferred embodiment, the search result area 30 remains static until the user executes the search by activating the search button 40 or selection of the hyperlink associated with a suggested query, for example. In some embodiments, however, the content of the search result area 30 may be updated in response to the user placing a cursor on the keywords listed in the keywords area 20 and/or using arrow keys to navigate/scroll down in the keywords area 20 and/or the search result area 30. By way of example, by placing the cursor on the “pasadena star news” in the keywords field 20, the search result for the search string “pasadena star news” can be displayed on the search result area 30. This can be realized, for example, by performing a pre-search or by previously performing searches for the keywords, and displaying the result of the search as the cursor is placed on top of the corresponding keyword. Any other suitable method may be used to implement this alternate embodiment.
Returning now to the embodiment illustrated in
In an alternate embodiment, the keyword suggestion tool may have an auto-completion feature. Using this feature, the keyword suggestion tool will complete the keyword or string that the user is entering in the keyword field 10. By way of example, the keyword suggestion tool having the auto-completion feature may suggest the search term “pasadena” in the keyword field 10 after the user enters only “pasa”. The user may accept the suggested search term by pressing the search button 40 when the auto-completed suggested search term appears automatically in the keyword field 10. Alternatively, the user may reject the auto-completed suggested search term by deleting the entire search term or by deleting the suggested portion of the search term, and replacing it with the character string intended/desired by the user.
After entering the full keyword “pasadena,” when the keyword “pasadena city college” is selected from the keywords area 20, as shown in the screen shot of
Further, the content of the keywords area 20 changes as well to show only those prior queries that possess the search term “pasadena city college” as a part of the keyword. Further, hierarchical keyword searches at lower levels can be performed by selecting one of the keywords in the keywords area 20, for example.
A user interested in viewing the Pasadena City College website may do so by selecting the associated search result 84 shown in
It can also be seen in the screen shots of
As described above, the keyword suggestion tool of an exemplary embodiment of the present invention provides suggested keywords or search terms in real time as the user types in one or more alphanumeric characters into the keyword field 10. By selecting one of the keywords, a search can be performed and a search result displayed in the search result area 30. Further, when one of the keywords is selected, the keywords area 20 is updated to show other keywords that contain the selected keyword. This way, a hierarchical search can be performed, in which a user can perform a more detailed search of the selected search term without typing in new terms each time.
Turning now to
A user interested in searching for information may start 100 by entering a character 110 of a keyword the user anticipates will lead to desired search results. Upon entry 110 of a character, the system may suggest keywords 120 and/or alternative spellings 125 based on what the user has entered 110. (It should be noted that the system may already make keyword suggestions before any entry has been made, as shown in
The user may choose to make further entries 130 simply by entering one or more additional characters 110 (as well as modifying previously entered characters) in the keyword field. Upon the further entry, the system may modify and/or update the list of suggested keywords 120 and/or suggest other alternative spellings 125. While entering/modifying characters, the user continues to have a choice of making further entries 130, clicking the search button 140, or selecting one of the suggested keywords 150.
If the user chooses to click the search button 140, the system may execute a search and display search results 160 in the search result field. The system may also update its database 165 to reflect the executed search, allowing the system to use the search and its results as data when making suggestions during future searches.
Instead of clicking the search button 140, the user may also select a suggested keyword 150, thereby executing a search for the selected keyword rather than the entered keyword. If the user selects a query 150, the keyword area 20 is updated with suggested queries that match the selected query. Again, the system may display the search results 160 in the search result field and may update its database 165 to reflect the executed search.
Once a search has been executed and the search results are displayed 160, the user may select one of the search results 180 and finish 190 its search. Should the user not be satisfied with the search results (whether the user was not satisfied with the displayed list in the first place, or whether the user, upon inspection of one or more of the search results, which may include following links to Internet sites corresponding to search results and inspecting those sites, decides that further search results are desired), the user is always free to conduct further searches 170. The user may, of course, also, at any time, abort one search and simply begin modifying/entering characters 110 in support of another search, without ever having executed the earlier search (i.e., without having clicked the search button 140 or selected a keyword 150). As this choice is implicit in the continuous option of modifying and entering keyword characters 110, this choice has not been illustrated explicitly in
The flow illustrated in the chart in
The engine 220 may perform computations for implementing a heuristic for selecting and ordering suggested keywords. The engine 220, may, for example, be stored on an Internet server, which serves visitors of an Internet site via interface 200. The engine 220 is then further linked 230 to a database 240. The link 230 may, again, be of any scale, including network links, and may be physical or virtual.
In the described embodiment as shown in
The database 240 may be used to store data usable for a heuristic to select keywords and/or determine an order for selected keywords. The database 240 may contain information about prior searches by users of the tool (as well as other behavioral data), user preferences, as well as any other information that may be useful to suggest keywords. The data may be stored using any structure, including but not limited to structures that allow for quick retrieval of keywords based on partial keyword entries (such as part of a word, term or phrase, and including single characters, as well as any other portion of a keyword or keywords) and may include relationships (possibly weighted) between entries to allow for selecting and/or ordering keywords based on the relation to other keywords.
In the described embodiment, the database 240 includes a keywords database 241 (or search term database) that stores prior queries and/or keyword (or search term) entries, an official sites database 242 that contains entries corresponding to official sites, and a news database 243 that contains new articles as well as a news trigger database 244. In this embodiment, the news database 243 is automatically and continuously updated with current news. While the keywords database 241, the official sites database 242 and the news database 243 are shown in
When a user begins entering the characters of a keyword using the interface 200, the interface may convey the partial entries to the engine 220 via the link 210 as the user is typing. The engine 220 may then, in turn, access the database 240 via link 230 to retrieve data usable to apply a heuristic to select and order keywords that may be suggested to the user. Such keywords may then be submitted via link 210 to interface 200, which may display an (ordered) list of keywords for the user as hyperlinked texts, for example, to enable the user to select the desired keyword through mouse click. In other words, clicking a keyword entry may effectuate entry of the clicked-on keyword in the keyword field and display of search results pertaining to the clicked-on keyword in the search result area.
As the user continues to enter one or more keywords, the interface 200 continues to convey the further entry (i.e., characters and/or keywords entered by the user), as well as modifications (e.g., character entries in addition to characters already entered in the keyword field) to it, via link 210 to the engine 220. The engine 220, in turn, continues to determine suggested queries and their ranking based on heuristics and the data stored in database 240. The suggested keywords and ranks are returned to the user via the interface 200 where they are published.
Of course, any keywords as well as selections of suggested keywords by users may be continuously registered by the tool and stored in the database 240 to be used for suggestions and orders during future searches. As such, the system continuously learns from its use and becomes increasingly effective the more it is used. The system is therefore particularly valuable for Internet search portals that execute large numbers of searches by a great variety of users.
The search result area is divided into a text-based preview pane 30a′ and a graphical preview pane 30b′. In this particular embodiment, the graphical preview pane 30b′ has been configured to show a single graphical preview of a search result selected in pane 30a′, generally allowing the user to read at least a portion of the text in the graphical preview and thereby gain a better understanding of the associated web site without redirecting the user interface to the site.
The keyword area 20′ in some embodiments is a drop-down menu 20′ with which the user may view and select suggested keywords 85 identified by the keyword suggestion tool as the user enters a query in the keyword field 10′. In general, the list of suggested keywords includes one or more known queries conducted by prior users that match the one or more characters entered by the user. The suggested keywords presented in the drop-down menu 20′ may be continually updated in real-time as the user enters each character. The drop-down menu 20′ appears when the user begins entering characters in the keyword field 10′ and disappears when a search is invoked. The term “drop-down menu” as used herein refers to a menu that may be pushes down, up, or to the left or right from the keyword field 10′.
In the preferred embodiment, the drop-down menu 20′ is a temporary display feature that persists while the object associated with the keyword field 10′ is active. In particular, the drop-down menu 20′ automatically appears when the user enters a query or places the cursor in the keyword field 10′. The drop-down menu 20′ may be superimposed over a portion of the search result area in the region in proximity to the keyword field 10′.
The drop-down menu 20′ then persists until the user invokes a search or selects a search result. The user may invoke a search by depressing the search button 40′ to execute a search of the keyword entered by the user. The user may also execute a search by selecting one of the plurality of suggested keywords presented in the drop-down menu 20′. A suggested keyword is generally selected by first navigating to the appropriate keyword with arrow keys and then hitting the “enter” or “return” key, for example. After the search is executed, the drop-down menu 20′ disappears and the underlying search result area brought to the forefront of the user interface once again. As one skilled in the art will appreciate, the drop-down menu 20′ is generated automatically for the convenience of the user while completely avoiding the need for dedicated pixels or “real estate” on the user interface.
The “Official Site”-feature is implemented in the described embodiment using the official sites database 242 (shown in
Referring back to
The news feature in the described embodiment is implemented using the headline processor 223 and the news database 243, which is automatically and continuously updated with current news. Hence, the news database 243 is a database of news articles that is continually being updated with fresh news articles. The headline processor 223 is an automated process that picks out news headlines from the news database 243, and based on the frequency of common headlines, determines which ones are key headlines for the day. In other embodiments, the key headlines for the day may be determined by human editors or through one or more suitable automated or semi-automated processes, as those skilled in the art would appreciate.
The keywords that appear in the key headline for the day are stored in the news trigger database 244 for a period of time, which may be predetermined. By way of example, in one embodiment, the keywords may be stored in the news trigger database for up to three days before it is removed. If a query entered by the user matches any entry in the news trigger database, the corresponding news headline is suggested in the suggestion tool (i.e., on the interface 200 of
Different embodiments of the present invention may make many other types of suggestions, classifying and/or grouping suggested keywords in ways different from the exemplary embodiments described above. Moreover, the system may provide additional information related to entered or selected keywords, rather than only providing descriptions, previews and links to related web sites. For example,
Referring to
As illustrated in
Up to this point, the user has selected and refined the keywords of his/or her query via the menu 321 without actually executing an Internet search. Thus, there are no search results displayed in the search result area 330. As one skilled in the art will appreciate, the user is therefore able to refine and/or select the terms of the query with minimal keyboard input and no unnecessary search results. The Internet search is only conducted after the user depresses the enter key or clicks on the search button 340, for example. When the search is executed, the drop-down menu 321 disappears and the search results displayed in the pane below the keyword field 310. The search results may be displayed using a graphic interface taught in pending U.S. provisional patent application No. 60/717,547 filed Sep. 14, 2005, and entitled “A search apparatus having a search result selection with matrix display,” the entire content of which is hereby incorporated by reference herein.
In some embodiments of the present invention, the menu 321 is adapted to display non-query content in addition to suggested queries 320. The keyword suggestion tool may be adapted, for example, to present the user with information content in the menu 321 that is based on or responsive to the search terms presently displayed in the keyword field 310. The information content may include, for example, fact, news headlines, stock quotes, and/or weather.
As illustrated in
The drop-down menu 321 in some embodiments may further include one or more suggested queries of a select information category or topic. The suggested query may include the same keywords as those in the keyword field 310, but the Internet search may be limited to a particular one of the plurality of databases 240 when the associated search is executed. Referring back to
As illustrated in
In addition to the News database 234, the category-based suggested searches may be confined to a subset of the Internet index associated with various other categories including products, merchandise, jobs, employment, images, groups, videos, music, games, sports, as well as groups including arts, entertainment, business, finance, computers, health, home, recreation, region, places, science, technology, society, and humanities, for example.
While certain exemplary embodiments have been described above in detail and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive of the broad invention. It will thus be recognized that many other modifications may be made to the illustrated and other embodiments of the invention described above, without departing from the spirit or scope of the present invention.
This application claims priority to and the benefit of U.S. Provisional Application No. 60/671,614 entitled “SEARCH ENGINE WITH KEYWORD SUGGESTION TOOL” and filed Apr. 15, 2005 and U.S. Provisional Application No. 60/780,785 entitled “IMPROVED SEARCH ENGINE WITH KEYWORD SUGGESTION TOOL” and filed Mar. 8, 2006, the entire contents of both of which are incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
60671614 | Apr 2005 | US | |
60780785 | Mar 2006 | US |