US20060106769A1 - Method and system for autocompletion for languages having ideographs and phonetic characters - Google Patents
Method and system for autocompletion for languages having ideographs and phonetic characters Download PDFInfo
- Publication number
- US20060106769A1 US20060106769A1 US10/987,769 US98776904A US2006106769A1 US 20060106769 A1 US20060106769 A1 US 20060106769A1 US 98776904 A US98776904 A US 98776904A US 2006106769 A1 US2006106769 A1 US 2006106769A1
- Authority
- US
- United States
- Prior art keywords
- query
- queries
- predicted
- ordered
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3325—Reformulation based on results of preceding query
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/53—Processing of non-Latin text
Abstract
A set of ordered predicted completion strings including strings of ideographs are presented to a user as the user enters text in a text entry box (e.g., a browser or a toolbar). The user entered text may include zero or more ideographs followed by one or more phonetic characters, or the entered text may be one or more. The predicted completion strings can be in the form of URLs or query strings. The ordering may be based on any number of factors (e.g., a query's frequency of submission from a community of users). URLs can be ranked based on an importance value of the URL. The sets of ordered predicted completion strings are obtained by matching a fingerprint value of the user's entry string to a fingerprint to table map which contains the set of ordered predicted completion strings. The generation of the ordered prediction strings takes into account multiple phonetic representations of certain strings of ideographs.
Description
- This application claims priority to and is a continuation-in-part of “Method and System for Autocompletion Using Ranked Results,” U.S. patent application Ser. No. 10/______, filed Oct. 29, 2004, which is incorporated by reference herein in its entirety.
- The present invention relates generally to the field of search engines for locating documents in a computer network (e.g., a distributed system of computer systems), and in particular, to a system and method for speeding up a desired search by anticipating a user's request in languages that include non-phonetic symbols.
- Search engines provide a powerful tool for locating documents in a large database of documents, such as the documents on the World Wide Web (WWW) or the documents stored on the computers of an Intranet. The documents are located in response to a search query submitted by a user. A search query may consist of one or more search terms.
- In one approach to entering queries, the user enters the query by adding successive search terms until all search terms are entered. Once the user signals that all of the search terms of the query have been entered, the query is sent to the search engine. The user may have alternative ways of signaling completion of the query by, for example, entering a return character, by pressing the enter key on a keyboard or by clicking on a “search” button on a graphical user interface. Once the query is received by the search engine, it processes the search query, searches for documents responsive to the search query, and returns a list of documents to the user.
- In languages not primarily based on alphabetic writing systems, oftentimes sequences of characters are entered from a keyboard to create the language components of a query. Entering queries this way can be time consuming.
- Because queries are not typically sent to the search engine until the user has signaled that the query is complete, time passes while the user is finishing the full search query. It would be desirable to have a system and method of speeding up this process.
- In one embodiment, a method for suggesting query completions for a language having ideographs and phonetic characters includes receiving a partial query from a search requester. The partial query is a portion of a complete query. A set of predicted queries is predicted containing at least one string having one or more ideographs ordered in accordance with a ranking criteria. The set of ordered predicted queries is conveyed to the search requestor.
- The search requester may select a respective query from the ordered set of predicted queries and then indicate completion of the query. A search engine processes the query to produce a set of search results. Alternately, the search requester may continue entering query information until a complete query is entered, or until a new set of predicted queries is transmitted and presented to the search requester.
- The aforementioned embodiment of the invention as well as additional embodiments will be more clearly understood as a result of the following detailed description of the various aspects of the invention when taken in conjunction with the drawings. Like reference numerals refer to corresponding parts throughout the several views of the drawings.
-
FIG. 1 depicts a process for predicting queries in accordance with some embodiments of the present invention. -
FIG. 2 depicts a block diagram of a search system in accordance with some embodiments of the present invention. -
FIG. 3 depicts a process in a search assistant in accordance with some embodiments of the present invention. -
FIG. 4 depicts a process for receiving query input and creating responses thereto in accordance with some embodiments of the present invention. -
FIG. 5 depicts flows of information associated with creating and using a fingerprint-to-table map in accordance with some embodiments of the present invention. -
FIG. 6 depicts examples of relevancy of input strings in accordance with some embodiments of the present invention. -
FIG. 7 depicts a process for processing historical queries in accordance with some embodiments of the present invention. -
FIG. 8 depicts a portion of an exemplary table used in processing historical queries in accordance with some embodiments of the present invention. -
FIG. 9 depicts data structures associated with a query completion table using suffixes in accordance with some embodiments of the present invention. -
FIG. 10 depicts a portion of an exemplary query completion table in accordance with some embodiments of the present invention. -
FIG. 11 depicts an exemplary screen shot in accordance with some embodiments of the present invention. -
FIG. 12 depicts a search engine suitable for implementing some embodiments of the present invention. -
FIG. 13 depicts a client suitable for implementing some embodiments of the present invention. -
FIG. 14 depicts a process for processing historical queries including ideographs and phonetic characters in accordance with some embodiments of the present invention. -
FIG. 15 depicts multiple phonetic representations for selected ideographs according to some embodiments of the present invention. -
FIG. 16 depicts a portion of an exemplary query completion table including phonetic characters and ideographs in accordance with some embodiments of the present invention. - In one embodiment of the invention, portions of a user's query are transmitted to a search engine before the user has finished entering the complete query. The search engine uses the transmitted portion of the query to predict the user's final query. These predictions are transmitted back to the user. If one of the predictions is the user's intended query, then the user can select that predicted query without having to complete entry of the query. In some embodiments, the selected query is transmitted to the search engine, which returns a set of query results corresponding to the selected query.
-
FIG. 1 illustrates an exemplary embodiment of the invention including aclient system 104 and asearch engine 106. As a user enters a search query, the user's input is monitored by the client system (108). Prior to the user signaling completion of the search query, a portion of the user's query is sent from theclient system 104 to the search engine 106 (110). The portion of the query may be a few characters, a search term, or more than one search term. In some embodiments, the partial input is in the form of a content location identifier, often called a uniform resource locator (URL) such as that described in RFC 1738, promulgated by the Internet Engineering Task Force, which can be used to identify resources within computers and computer networks. URLs can also be used to identify resources available locally on a computer such as documents, folders or services. The term “URL” is used herein to mean any form of content location identifier, including but not limited to Internet addresses, RFC 1738 compliant addresses, and file pathnames such as those use in many computer systems and local area networks. Thesearch engine 106 receives the partial query for processing (112) and makes predictions as to user's contemplated complete query (or URL) (114). The predictions are ordered according in accordance with a ranking criteria. For example, in some embodiments queries having a higher frequency of submission are ordered before queries having lower frequencies of submission. Thesearch engine 106 uses a number of query completion tables (described in more detail below) to assist in making the ordered predictions. The query completion tables are created using previously entered search queries received by thesearch engine 106. In some embodiments, the previous queries include search queries from a community of users. The predicted queries are sent back to the client system 106 (116) and then presented to the user (118). If one of the predicted queries is what the user intended as the desired query, the user may select this predicted query and proceed without having to finish entering the desired query. If the predicted queries do not reflect what the user had in mind, then the user may continue entering the desired search query. -
FIG. 2 illustrates a searchingsystem 200 according to some embodiments of the invention and shows various functional components which will be referred to in the detailed discussion which follows. Thesearch system 200 may include one ormore client systems 202. Eachclient system 202 has asearch assistant 204. Theclient systems 202 are connected to acommunications network 206. Thecommunications network 206 connects theclient systems 202 to asearch engine 208.Search engine 208 includes aquery server 210 connected to thecommunications network 206, aprediction server 212 and aquery processing controller 214. - The
query server 210 includes aclient communications module 216, a query receipt, processing andresponse module 218, a partial query receipt, processing andresponse module 220, a userinformation processing module 222, and aquery log 224, all interconnected. In some embodiments, fewer and/or additional modules or functions are included in thequery server 210. The modules shown inFIG. 2 as being part ofquery server 210 represent functions performed in an exemplary embodiment. Theprediction server 212 is connected to partial query receipt, processing andresponse module 220, the ordered setbuilder 242 and to query log 224. The ordered setbuilder 242 creates sets of ordered predicted queries from logs of queries and URL requests, and is connected to thequery log 224. In some embodiments, the ordered setbuilder 242 is also coupled to aURL database 225, and in some embodiments it is coupled to alanguage dictionary 244. Thelanguage dictionary 244 may provide information about certain language components, like phonetic representations for various symbolic language components, or provide related words or concepts to queries or query terms. In some embodiments, the ordered setbuilder 242 and thelanguage dictionary 244 are part of theprediction server 212. In such embodiments, theprediction server 212 is connected directly to thequery log 224 and theURL database 225. - The
query processing controller 214 is connected to aninverse document index 228, adocument database 230, aquery cache 232 and theURL database 225. Thecache 232 may include anindex 234 the function of which is to locate entries in the cached results 236. The cachedresults 236 may include a cache entry for an identifiedquery 238 and a cache entry for ananticipated query 240. Theinverse document index 228 anddocument database 230 are sometimes collectively called the document database. In some embodiments, “searching the document database” means searching theinverse document index 228 to identify documents matching a specified search query or term. - Although illustrated as discrete blocks in the figure,
FIG. 2 is intended more as a functional description of an embodiment of the invention rather than a structural mapping of the functional elements. One of ordinary skill in the art would recognize that an actual implementation might have the functional elements grouped or split among various components. For example, thequery log 224 may be distinct from thequery server 210. In some embodiments thequery log 224 may be stored on one or more servers whose primary function is to store and process query log information. Similarly, theURL database 225 may be stored on or more servers whose primary purpose is to store and process information about known URLs. -
FIG. 3 illustrates an embodiment of the invention that may be implemented in thesearch assistant 204 of a client system 202 (FIG. 2 ). Thesearch assistant 204 monitors the user's entry of a search query on the client system 104 (302). In some embodiments, thesearch assistant 204 monitors the user's entry of a uniform resource locator (URL) input string, such as in the address field of a browser window. The user may enter the search query or URL in a number of ways including a browser window, a search tool, or any other input mechanism. Thesearch assistant 204 may identify two different scenarios. First, thesearch assistant 204 receives or identifies a final input (302—final input) when the user has indicated completion of the input string or selected a presented prediction. Second, thesearch assistant 204 receives or identifies a partial input (302—partial input) when an input is identified prior to when the user indicates completion of the input string (as described below). In a third, optional scenario (described in more detail below), thesearch assistant 204 determines or receives notification that the user has not selected one of the predictions within a specified time period. - When a final input or selection (302—final input) is identified as a search query, the input is transmitted to the search engine 208 (304) for processing. The
search engine 208 returns a set of search results, which is received by the search assistant 204 (306) or by a client application, such as a browser application. The list of search results is presented to the user such that the user may select one of the documents for further examination (e.g., visually or aurally). When the final input is a URL, the request is transmitted to the appropriate document host (304) and the document, if available, is returned (306). After the response is received (306), the user's input activities are again monitored (302). In some embodiments, the URL request is sent to thesearch engine 208 for logging and the request is redirected to the appropriate document host. - A final input may be identified by the
search assistant 204 in a number of ways such as when the user enters a carriage return, or equivalent character, selects a search button in a graphical user interface (GUI) presented to the user during entry of the search query, or by possibly selecting one of a set of possible queries presented to the user during entry of the search query. One of ordinary skill in the art will recognize a number of ways to signal the final entry of the search query. - Prior to the user signaling a final input, a partial input may be identified (302-partial input). A partial input may be identified in a number of ways. For a search query, a partial input includes a single search term of the search query, multiple search terms, or a predefined a number of characters of a search term.
- In some embodiments, a partial input is identified by detecting entry of delimiter or other character (e.g., without limitation, a quote character, a period, a parenthesis character, a slash character, arrow key detection or tab entry). Entry of a delimiting character may indicate that a user has finished entering a desired term or portion of the input and is moving onto the next search term or portion.
- In some embodiments, a partial input is identified by detecting entry of a pre-determined number of characters. In these embodiments, the input contains a number of characters less than a full input but it may still desirable to identify the partial input before the user has entered all of the characters. This technique is desirable, for example, when the search term or URL contains a large number of characters or when the pre-determined number of characters is large enough to result in useful predictions.
- In some embodiments, a partial input is identified by detecting the absence of a character being entered within a period of time, the absence representing a pause by the user. The pause may signify that the user has entered one search term or portion of the complete string but has not entered the space key (or other delimiting character) to start entering another term or signify that the search query is in fact complete but the user has not yet so signaled.
- Regardless of the way in which the partial input is identified, it is transmitted to the search engine 208 (308) for processing. In response to the partial search query, the
search engine 208 returns a set of ordered predicted search queries and/or URLs (310) which is presented to the user (312) ordered in accordance with a ranking criteria. The predictions may be displayed to the user in a number of ways. For example, the predictions could be displayed in a drop-down window, a persistent, or non-persistent window or other ways. In some embodiments, queries which the user had previously submitted could be visually indicated to the user (e.g., by highlighting the user's own previously entered queries). - In some embodiments, the predicted search queries are ordered in accordance with a frequency of submission by a community of users. In some embodiments, the search queries are ordered, at least in part, in accordance with a last time/date value that the query was submitted. In some embodiments, the search queries are ordered in accordance with personalization information, such as user personalization information or community information. For instance, user personalization information may include information about subjects, concepts or categories of information that are of interest to the user. The user personalization information may be provided directly by the user, or may be inferred with the user's permission from the user's prior search or browsing activities, or may be based at least in part on information about a group associated with the user or to which the user belongs (e.g., as a member, or as an employee). The set of predicted search queries may be initially ordered in accordance with a first ranking criteria, such as predefined popularity criteria, and then reordered if any of the predicted search queries match the user personalization information of the user so as to place the matching predicted search queries at or closer to the top of the ordered set of predicted search queries.
- One skilled in the art will recognize a number of ways to present the predicted search queries and/or URLs to the user. For example, the predicted search queries and/or URLs might be presented in a drop down menu. Regardless of the manner in which the predicted queries and/or URLs are presented to the user, the user may select one of the queries and/or URLs if the user determines that one of the predictions matches the intended entry. In some instances, the predictions may provide the user with additional information which had not been considered. For example, a user may have one query in mind as part of a search strategy, but seeing the predicted results causes the user to alter the input strategy. Once the set is presented (312), the user's input is again monitored. If the user selects one of the predictions (302-final), the request is transmitted either to the
search engine 208 as a search request or to a resource host as a URL request (304), as applicable. After the request is transmitted, the user's input activities are again monitored (302). As mentioned above, in some embodiments, the URL request is transmitted tosearch engine 208 for logging purposes. - If, on the other hand, the user has not selected one of the predictions within a specified time period, then it is likely that the user did not find a satisfactory prediction in the predictions that were initially returned. For example, a user's intended input did not have a high enough ranking value to be included in the set of ordered predictions. Accordingly, in some optional embodiments, if the user has not selected one of the predictions within a specified period of time (e.g., 5 or 10 seconds) (302-timeout), then a request is sent to the
search engine 208 for another set of predictions (318). The subsequent set of predictions could include predictions having ranking values lower than the set previously submitted. Alternately, a second set of criteria may be used to identify predictions in the second set, where the second set of criteria are different than a first set of criteria used to select and rank the first set of predictions. For instance, one of the two sets may use selection criteria that takes into account personal information about the requestor while the other set does not. In some optional embodiments, other triggers may be used to request one or more sets of subsequent predictions. For example, a user-initiated activity (e.g., pressing the “tab” key, an arrow key, a function key, and the like) may cause a request for a subsequent set. In some embodiments, information associated with a search requestor is maintained at the server to identify which predicted results have already been conveyed to the search requestor. In some embodiments, the client includes information in the request for a subsequent request which indicates which results have already been conveyed to the search requester. In one such embodiment theprediction server 212 uses this information to exclude from subsequently predicted results either all of the previously predicted results or a subset of the previously predicted results. In another embodiment, the information about previously predicted results is used by theprediction server 212 to produce additional or different results only if theprediction server 212 is able to identify additional predicted results that match the requestor's partial query. In some embodiments, triggering a subsequent set of predictions causes predictions to be made using a search requestor's search queries stored locally, while in other embodiments the subsequent set of predictions includes both predictions generated based on historical queries of a community of users and the search requestor's historical search queries, if any, that match the requestor's partial query. - In some embodiments, one or more sets of predicted results are cached locally at the client. When the search requestor modifies the current query to reflect an earlier partial input (e.g., by backspacing to remove some characters), the set of predicted results associated with the earlier partial input is retrieved from the client cache and again presented again to the user instead of the partial input being sent to the search engine.
- In some embodiments, the
search engine 208 may optionally return predicted results (320). This activity may overlap with receiving the predictions (310) and is indicated by the dashed line to 320 inFIG. 3 . The predicted results are presented (320) and the monitoring of the user resumes (302). The presentation to the user can be accomplished in a number of ways. For example, the results can be displayed in a portion of a non-persistent window, a pop-up window, or in a portion of the current display or a portion of a user interface. The web page used for entry of the query and for presenting predicted results may include JavaScript or other embedded code or instructions to facilitate the display of the predicted results and to respond to user selection of any of the predicted results. Other ways are envisioned. The predicted results correspond to documents or information that would have been returned based on the request being one or more of the predicted queries or URLs. In some embodiments, the predicted results include snippets of the content at one or more locations corresponding to the predicted results. In some embodiments, the predicted results include one or more thumbnails of one or more web pages or other content at one or more locations corresponding to the predicted results. In some embodiments, the results are search results based on one or more of the predicted queries. For example, in some embodiments, the results presented (320) may be one or more documents relevant to one or more of the predicted queries or predicted URLs. Accordingly, the user may have predicted results presented that match a desired request before the user finishes entering the request (e.g., search request or URL request). In such situations, the processing latency as viewed by the user is effectively reduced to less than zero because the user did not have to complete the input to obtain the desired result. -
FIG. 4 illustrates the activity occurring in thesearch engine 208 when it receives an input according to some embodiments. Thesearch engine 208 receives the input and determines whether the input indicates a final input or a partial input (402). If thesearch engine 208 determines that the received input is a final query (402-final query) then it determines whether search results relevant to the query are present in the cache 232 (404). If the relevant search results are in the cache 232 (404-yes), then those results are returned to the client 104 (406). On the other hand, if the search results are not in the cache (404—no), then search results relevant to the query are obtained (408), and then returned to the client 104 (406). In some embodiments, a URL request, when complete, is not received by thesearch engine 208 because the search assistant sends the request to the resource host. In some embodiments, the URL request is received by thesearch engine 208 for tracking purposes (such as storage in a URL database) and the request is redirected to the resource host by thesearch engine 208. - If the
search engine 208 determines that the received input was a partial input (402-partial), then it determines a set of ordered matches that correspond to the partial input (410), and transmits the set to the client 104 (412). As will be explained below, in some embodiments, the set of ordered matches sent to theclient 104 is one of many pre-computed sets of ordered matches. Although the following operations are described in terms of a partial query, the same techniques are equally applicable to partial inputs of URLs. In some embodiments, the set of ordered matches returned is relevant only to queries. In some embodiments, the set of ordered matches is relevant to only URLs. And, in some embodiments, the set of ordered matches is relevant to both queries and URLs. - To aid in understanding how, according to some embodiments, the
search engine 208 determines which set of ordered matches to return, it is helpful to begin with a description of how the ordered sets are created and used.FIG. 5 shows a set of data structures associated with historical queries (i.e., queries previously submitted) used for predicting queries corresponding to partially entered queries. A search engine or user input prediction system may also include a parallel set of data structures associated with historical URLs (i.e., URLs previously submitted) used for predicting URLs corresponding to partially entered URLs. - Referring to
FIG. 5 , ahistorical query log 502 is filtered by one ormore filters 504 to create an authorizedhistorical queries list 506. An ordered setbuilder 508 creates one or more fingerprint-to-table maps 510 from the authorized historical queries list 506 based on certain criteria. When the partial query is transmitted (FIG. 3, 308 ), it is received at thesearch engine 208 aspartial query 513. Ahash function 514 is applied to thepartial query 513 to create a fingerprint, i.e., a b-bit binary value (e.g., a 64-bit number). An applicable fingerprint-to-table map 510 (e.g., 510-1) is searched for the fingerprint (e.g., 515) to identify a query completion table 516 associated with the fingerprint. The query completion table 516 provides an ordered set of predicted queries relevant to thepartial query 513. - An applicable fingerprint-to-
table map 510 may be selected based on a number of different factors associated with a user or a request. Information used to select the applicable fingerprint-to-table map 510 could come from profile information provided by the user or thesearch assistant 204, information gleaned from the request itself (e.g., language), information associated with the user in userinformation processing module 222, or other sources. For example, fingerprint-to-table maps could be selected based on certain connection information associated with the user or the search requestor (e.g., device-type, connection-speed, connection type, and the like). In some embodiments, the number of predictions or length of each of the query predictions depends on such connection information. Devices with small user interfaces might receive fewer numbers of predictions and/or queries with fewer number of terms. A query term could have an importance factor associated with it and terms having lower importance factors could be truncated from the query before terms having higher importance factors. In some embodiments, different sets of fingerprint-to-table maps 510 may be used for respective categories of users, thereby providing predicted results that are biased in accordance with one or more categories or topics associated with the user. For instance, partial search queries received from a particular website might be mapped to predicted results using a set of fingerprint-to-table maps that were generated from historical queries received from the same website, or from a group of websites deemed to be similar to the particular website. Similarly, an individual user may, with his/her permission, have a user profile that specifies information about the user or about a group associated with the user, and that “personalization information” may be used to identify a respective set of fingerprint-to-table maps for use when predicting results for that user. It is noted that the overhead associated with adding multiple sets of fingerprint-to-table maps 510 may be modest, because multiple sets of fingerprint-to-table maps 510 could point to the same query completion table 516, and the query completion tables 516 occupy much more storage than the fingerprint-to-table maps 516. - In some embodiments, some preprocessing occurs to the partial query before the fingerprint is created. In one embodiment, conspicuously misspelled words in the partial query are identified and corrected by comparing one or more of the complete search terms with entries in a dictionary. One or more predicted results from queries including the correctly spelled word are merged with the predicted results returned to the user. In another example, common prefix information could be removed (e.g., “http://” or “www.”). In some embodiments, the terms in the query are analyzed to extract concepts embodied in the search terms indicating a particular category of information (e.g., “technology, “food”, “music” or “animals”). One or more predicted results from queries related to one or more of the extracted concepts are merged with the predicted results returned to the user.
- The historical query log 502 contains a log of previously submitted queries received by the
search engine 208 over a period of time. In some embodiments, the queries are from a particular user. In some embodiments, the queries are from a community of users sharing at least one similar characteristic such as belonging to the same workgroup, using the same language, having an internet address associated with the same country or geographic region, or the like. The selection of the community determines the pool of previously submitted queries from which the predictions are drawn. Different communities would tend to produce different sets of predictions. - The
historical query log 502 may also contain information associated with each submitted query. In some embodiments, the query information includes the date and time that the query was submitted or received. In some embodiments, the query information includes the internet protocol (IP) address from where the query was submitted. In some embodiments, the query information contains a unique source identifier for the query (e.g., a value from a cookie stored on the user's machine where the value is associated with a particular search assistant 204). While the unique identifier does not directly identify any particular user, it may be associated with a particular installation of a browser or toolbar. In some embodiments, a user may permit direct identification with the unique identifier for certain personalization features which could be accessed using userinformation processing module 222. - In some embodiments, a fingerprint value is associated with the query. The fingerprint value may be calculated by applying a hash function to the query string. In some embodiments, other types of meta-data are associated and stored with the query such as the query language or other information which might be provided by the user or search assistant in accordance with user preferences (e.g., identification or profile information indicating certain preferences of the user). In some embodiments, the meta-information includes category or concept information gleaned from analyzing the terms in the query. The period of time over which the queries are logged is a variable and represents a tradeoff between storage capacity and potential accuracy of the predictions. It is likely that longer periods of time will more accurately reflect a query's popularity over the entire community, however, this requires more storage. On the other hand, a popularity ranking over a long period of time may not reflect a transient popularity for current events.
- One or
more filters 504 are used to determine queries authorized for further processing. For example, filters can eliminate certain queries based on various criteria. In some embodiments, aprivacy filter 504 prevents queries which have not been received from more than a certain number of unique submitters to be included in the authorizedhistorical queries list 506. This could be accomplished by examining the unique identifier associated with each query, if one exists, and identifying only those queries which have been submitted by at least n unique submitters, where n is a number chosen based on privacy concerns (e.g., three or five unique submitters). In some embodiments, thefilters 504 include a filter that eliminates queries which are infrequently submitted and therefore not likely to be selected by a user. In some embodiments, thefilters 504 include anappropriateness filter 504 that blocks certain queries from inclusion based on a number of different factors such as the presence of one or more particular keywords in a query, and/or based on the content of the search results or documents that correspond to the query. Other types of filters could be easily imagined. For example, a filter could block queries submitted earlier than a particular historical point in time, such that the authorized historical queries list 506 represent recently submitted queries. What is considered recent depends on the embodiment (e.g., hours, days, weeks, months, or years). In yet another example, ananti-spoofing filter 504 could be use to prevent the query/URL prediction system from being spoofed by a large number of a artificially generated queries or URL submissions. For instance, ananti-spoofing filter 504 might filter out multiple submissions of the same query or URL received from the same user or from the same client computer. - After the
historical query log 502 has been filtered by the one ormore filters 504, the result is the authorizedhistorical queries list 506, i.e., a list of queries eligible to be returned to the user as suggested query completions. The authorized historical queries list 506 includes historical query 506-1 to historical query 506-q, where q represents the number of queries included in the authorizedhistorical queries list 506. The value of q could be equal to or less than the total number of queries filtered from thehistorical query log 502. For example, filtered queries having frequencies less than a predetermined threshold could be ignored. In some embodiments, a new authorized historical queries list 506 is built periodically such as hourly, nightly, weekly or other periods. In some embodiments, the current authorized historical queries list 506 is updated based on recent entries to thequery log 224, after applicable filtering. - Each query in authorized historical queries list 506 (e.g., 506-1) includes the query, its frequency and, optionally, meta-information. The query could be a string of characters. The frequency information indicates how many times the query was submitted over a period of time. As mentioned above, a unique identifier may be used to count the number of times unique searchers submitted the query. Because different users may use multiple search assistants or some queries may not include a unique identifier, the frequency number may not represent the actual number of unique users submitting the search query. Nonetheless, a query's frequency can act as a proxy for a query's popularity. In some embodiments, the authorized historical queries list 506 is ordered alphabetically based on the query. In other embodiments, the authorized historical queries list 506 is ordered based on the query frequency.
- The meta-information, may include information similar to the meta-information discussed above in reference to the historical query log 502 (e.g., location or language information). In some instances, the same query will have entries in the historical query log 502 which differ not in the query string, but in the meta-information. Accordingly, the meta-information for a particular authorized historical query 506-1 may indicate differing meta-information for the same query. For example, the meta-information for a query submitted from two different locations, such as Europe or Asia, would indicate both locations as a source location of the query. The meta-information could also indicate user profiling information to indicate what types of users had submitted the query. One of ordinary skill in the art will recognize various types of meta-information that might be useful to categorize or group queries related by common set of characteristics (e.g., language or location). In some embodiments, the query terms are analyzed and associated with certain categories of information. For example, a search query including “dog” and “breed” is associated with a “dog” or “animal” category. The meta-information in some embodiments, contains this category information. In some embodiments, meta-information for a single entry in the authorized historical queries list 506 is produced from the multiple queries, for example, by providing the date/time of the query as the last date/time value that the query was submitted.
- The ordered set
builder 508 uses the authorized historical queries list 506 to build a set of fingerprint-to-table maps 510-1 to 510-t, where t represents the number of fingerprint-to-table maps 510 built. Any number of fingerprint-to-table maps 510 could be built depending on the number of ways desired to categorize predicted queries. Each of the fingerprint-to-table maps 510 contain sets of ordered predictions each mapped to a particular partial query. The fingerprint-to-table maps 510 differ based on characteristics of information such as might be found in the meta-information. For example, there may be one fingerprint-to-table map 510 for each language (e.g., one for English language queries; one of French language queries; one for Japanese language queries). Similarly, different fingerprint-to-table maps 510 could be created for geographical regions. As another example, different fingerprint-to-table maps 510 could be created from queries from particular IP addresses or groups of addresses, such as those from a particular network or a particular group of individuals (e.g., a corporation). Using the meta-information to create different fingerprint-to-table maps 510, allows the predictions to be based on users having characteristics similar to that of the searcher and which should increase the likelihood of a correct prediction. In some embodiments, different fingerprint-to-table maps 510 are based on different ranking criteria for the queries (e.g., frequency, last date/time, personalization categories or characteristics, and so on). In some embodiments, different fingerprint-to-table maps 510 are based on the type of user input (i.e., query string or URL). - Using fingerprint-to-table map 510-1 as an example, each of the fingerprint-to-
table maps 510 includes a number of entries 512-1 to 512-f, where f represents the number of entries in the fingerprint-to-table map 510-1. The number of entries in any particular fingerprint-to-table map 510 depends on the number of different partial queries for which theprediction server 212 will return predictions. - Each of the entries in the fingerprint-to-table map 510-1 (e.g., 512-2) includes a fingerprint (e.g., fingerprint (2) 515) and a query completion table (e.g., query completion table (2) 516). The fingerprint-to-
table maps 510 serve to associate fingerprints (e.g., fingerprint (2) 515) to query completion tables (e.g., query completion table (2) 516)). - The fingerprint (2) 515 represents a fingerprint value for a partial query. The fingerprint (2) 515 may be calculated, for example, by applying a hash function to a partial query to create a b-bit binary value (e.g., a 64-bit number). Accordingly, the fingerprint-to-table map 510-1 may be searched for a fingerprint which matches the fingerprint of the partial query 513 (e.g., fingerprint 515).
- The query completion table (2) 516 contains a list of query completion fingerprints 518-1 to 518-n, where n represents the number of query completion fingerprints in the query completion table (2) 516. In some embodiments, n represents the number of predicted queries returned to the search assistant 204 (e.g., 10 predicted queries). In other embodiments, less than n are returned. In some embodiments, n is greater than the number of results to be returned in a set of ordered queries. In some embodiments, n is twice the number to be returned and the first n/2 are provided as a first set of ordered predicted queries and the second n/2 are provided as a subsequent set of ordered predicted queries (e.g., the second set of 10 predicted queries is sent subsequent to the first set of 10 upon certain conditions). In some embodiments, the query completion table 516 includes a score for each
query completion fingerprint 518. The scores are used to order the items in the query completion table 516, in descending score order. In some embodiments, the scores are a permanent part of the query completion table, while in other embodiments the scores are deleted or not kept after the formation of the query completion tables 516 is completed. - Each
query completion fingerprint 518 is a fingerprint value associated with a complete query. The query completion fingerprint 518 (e.g., 518-2) maps to an associatedquery record 520. Thequery record 520 includes aquery string 522 which contains the query string for the complete query. This approach facilitates entries in multiple query completion tables 512 referencing thesame query string 522, yet only requiring that the actual query string be stored in a single location (e.g., query string 522). In some embodiments, however, the query strings 522 may be stored in place of thequery completion fingerprints 518 in a query completion table 512. In some embodiments,query record 520 for URL strings include aURL title 524 representing a title associated with the URL. In some embodiments, additional information associated with a URL is provided ininformation 526. - In some embodiments, the query completion table 512-2 is an ordered list of n queries relevant to the partial query associated with the
fingerprint 515. The list may be ordered in accordance with various ranking criteria such as (frequency, date/time of submission, and so on). In some embodiments, the ranking criteria may take into account two or more factors, such as both frequency and date/time or submission, by generating a score or rank for each query that takes into account each of the two or more factors. In a simple example, historical queries whose date/time is more than 24 hours in the past may contribute a value of “1” to the ranking score of the query, while historical queries whose date/time is within the last 24 hours may contribute a value of “2” to the ranking score of the query. In this example, recent historical queries are weighted more heavily than older historical queries in determining the rank of each authorized historical query. - In some embodiments, the ordered set
builder 506 creates or updates the fingerprint-to-table maps 510 and associated query completion tables 512 and/or 910 (FIG. 9 ) periodically (e.g., hourly, daily, weekly) so as to keep the query and/or URL predictions produced by the prediction server consistent with queries and/or URLs recently submitted by the applicable community of users. - Referring to
FIG. 6 , a partial query of “ho” 602 might have a set of completedqueries 604 as being relevant to thepartial query 602. The first position of the set of completedqueries 604 includes the query having the highest frequency value (e.g., “hotmail”), it is followed in the second position with the query having the next highest frequency value (e.g., “hot dogs”), and so on. In this example, a complete query's relevancy to a given partial query is determined by the presence of the partial query at the beginning of the complete query (e.g., the characters of “ho” begin the complete queries of “hotmail” and “hotels in San Francisco”). In other embodiments, the relevancy is determined by the presence of the partial query at the beginning of a search term located anywhere in the complete query, as illustrated by the set of completed queries 606 (e.g., the characters “ho” are found at the beginning of “hotmail” and at the beginning of the second search term in “cheap hotels in Cape Town”). - To create the set of query completion tables 512, one of the queries in the authorized
historical queries 506 is selected (FIG. 7, 702 ). In some embodiments, only queries having the desired meta-information are processed (e.g., queries in the English language). The first partial query is identified from the selected query (704). In one embodiment, the first partial query is the first character of the selected query (i.e., “h” for a query string of “hot dog ingredients”). In some embodiments, preprocessing is applied before partial queries are identified (e.g., stripping off “http://” or “www.”). An entry is made in a table which indicates the partial query, the complete query corresponding to the partial query and its frequency. In other embodiments, other information which is used for ranking is stored (e.g., date/time values, or a ranking score computed based on two or more factors). If the partial query does not represent the entire query, then the query processing is not complete (708—no). Accordingly, the next partial query is identified (710). In some embodiments, the next partial query is identified by adding the next additional character to the partial query previously identified (i.e., “ho” for a query string of “hot dog ingredients”). The process of identifying (710) and of updating of a query completion table (706) continues until the entire query is processed (708-yes). If all of the queries have not yet been processed (712-no), then the next query is selected and processed until all queries are processed (712-yes). In some embodiments, as items are added to a query completion table, the items are inserted so that the items in the table are ordered in accordance with the rank or score. In another embodiment, all the query completion tables are sorted at the end of the table building process so that the items in each query completion table are ordered in accordance with the rank or score of the items in the query completion table. In addition, one or more query completion tables may be truncated so that the table contains no more than a predefined number of entries. - Referring to
FIG. 8 , an exemplary processing of the first five characters of the query string of “hot dog ingredients” is illustrated in table 802 at 804 through 812. An exemplary processing of the first four characters of the query string of “hotmail” is illustrated at 814 through 820. - In some embodiments, a query completion table for a given partial query is created by identifying the n most frequently submitted queries relevant to the given partial query from the table and placing them in ranked order such that the query having the highest rank (e.g., the highest ranking score or frequency) is at the top of the list. For example, a query completion table for the partial query “hot” would include both complete query strings of 808 and 818. When the ranking is based on frequency, the query string for “hotmail” would appear above the query string for “hot dog ingredients” because the frequency of the query string in 818 (i.e., 300,000) is larger than that of the query string in 808 (i.e., 100,000). In some embodiments, a URL's popularity could be given a value assigned to a particular web page providing an indication of its importance among a set of web pages (e.g., PageRank). Accordingly, when the ordered set of prediction is returned to the user, the queries having a higher likelihood of being selected are presented first. As mentioned above, other values could be used for ranking drawn from the meta-information (e.g., date/time values, or personalization information).
- Referring to
FIGS. 9 and 10 , in some embodiments the number of query completion tables is reduced by dividing the historical query strings into “chunks” of a predefined size C, such as 4 characters. The query completion tables for partial queries of length less than C remain unchanged. For partial queries whose length is at least C, the partial query is divided into two portions: a prefix portion and a suffix portion. The length of the suffix portion, S, is equal to the length of the partial query (L) modulo C:
S=L modulo C.
where L is the length of the partial query. The length of the prefix portion, P, is the length of the partial query minus the length of the suffix: P=L−S. Thus, for example, a partial query having a length of 10 characters (e.g., “hot potato”), would have a suffix length S of 2 and a prefix length P of 8 when the chunk size C is 4. - When performing the process shown in
FIG. 7 ,step 706, identifying or creating a query completion table corresponding to a partial query is conceptually illustrated inFIG. 9 .FIG. 9 schematically illustrates the process used both for generating query completion tables as well as for lookup when processing a user entered partial query. When the length of the partial query is less than the size of one “chunk”, C, the partial query is mapped to aquery fingerprint 515, for example by using a hash function 514 (FIG. 5 ). Thefingerprint 515 is mapped to a query completion table 516 by a fingerprint totable map 510, which in turn containsquery completion fingerprints 518 or pointers to a set of query records 520 (which contain query strings 522,FIG. 5 ). - When the length of the partial query is at least the size of one chunk, C, the
partial query 902 is decomposed into aprefix 904 andsuffix 906, whose lengths are governed by the chunk size, as explained above. Afingerprint 908 is generated for theprefix 904, for example by applying ahash function 514 to theprefix 904, and thatfingerprint 908 is then mapped to a “chunked” query completion table 910 by a fingerprint totable map 510. The structure of the chunked query completion table 910 is different from the query completion table 516 shown inFIG. 5 , in that eachentry 911 of the chunked query completion table 910 has asuffix entry 914 as well as aquery completion fingerprint 912. Eachentry 911 may optionally include ascore 916 as well, used for ordering the entries in the query completion table 910. The suffix has a length, S, which can be anywhere from zero to C−1, and comprises the zero or more characters of the partial query that are not included in theprefix 904. In some embodiments, when generating the querycompletion table entries 911 for a historical query, only one entry is made in each chunked query completion table 910 that corresponds to the historical query. In particular, that oneentry 911 contains the longest possible suffix for the historical query, up to C−1 characters long. In other embodiments, up to C entries are made in each chunked query completion table 910 for a particular historical query, one for each distinct suffix. -
FIG. 10 shows a set of query completion tables which containentries 911 corresponding to the historical query “hot potato”. This example assumes a chunk size, C, equal to four. In other embodiments the chunk size may be 2, 3, 5, 6, 7, 8, or any other suitable value. The chunk size, C, may be selected based on empirical information. The first three of the query completion tables shown inFIG. 10 , 516-1 through 516-3, are for the partial queries “h”, “ho” and “hot”, respectively. The next two query completion tables, 910-1 and 910-2 correspond to the partial queries “hot pot” and “hot potato”, respectively, having partial query lengths of 7 and 10. Referring back to step 710 ofFIG. 7 , with each iteration of the loop formed in part bystep 710, the length of the partial queries initially increases by steps of 1 character, until a length of C−1 is reached, and then the length of the partial queries increases by steps of C characters, until the full length of the historical query is reached. - The
entries 911 of each chunked query completion table are ordered according to the ranking values (represented by scores 916) of the query strings identified by thequery completion fingerprints 912 in theentries 911. For partial queries having less than C characters, the number of queries in the associated query completion table 516 is a first value (e.g., 10 or 20), which may represent the number of queries to return as predictions. In some embodiments, the maximum number (e.g., a number between 1000 and 10,000) ofentries 911 in each chunked query completion table 910 is significantly greater than the first value. Each chunked query completion table 910 may take the place of dozens or hundreds of ordinary query completion tables. Therefore, each chunked query completion table 910 is sized so as to contain a number (p) of entries corresponding to all or almost all of the authorized historical queries having a prefix portion that corresponds to the chunked query completion table, while not being so long as to cause an undue latency in generating a list of predicted queries for a user specified partial query. - After the query completion tables 516, 910 and fingerprint-to-
table maps 510 have been generated from a set of historical queries, these same data structures (or copies thereof) are used for identify a predicted set of queries corresponding to a user entered partial query. As shown inFIG. 9 , the user entered partial query is first mapped to aquery fingerprint hash function 514 either to the entirepartial query 902 or to aprefix portion 904 of the partial query, as determined by the length of the partial query. Thequery fingerprint table map 510. Finally, an ordered set of up to N predicted queries is extracted from the identified query completion table. When the length of the partial query is less than the chunk size, the ordered set of predicted queries are the top N queries in the identified query completion table. When the length of the partial query is equal to or longer than the chunk size, the identified query completion table is searched for the top N items that match the suffix of the partial query. Since the entries in the query completion table 910 are ordered in decreasing rank, the process of searching for matching entries begins at the top and continues until the desired number (N) of predictions to return is obtained (e.g., 10) or until the end of the query completion table 910 is reached. A “match” exists when thesuffix 906 of the partial query is the same as the corresponding portion of thesuffix 914 in anentry 911. For instance, referring toFIG. 10 , a one letter suffix of <p> matches entries 911-3 and 911-4 having suffixes of <pot> and <pal>, respectively. An empty suffix (also called a null string) having length zero matches all entries in a query completion table, and therefore when the suffix portion of a partial query is a null string, the top N items in the table are returned as the predicted queries. - As noted above, the data structures and processes for identifying an ordered set of predicted URLs that correspond to a partial URL are the same as the data structures and processes, described above, for identifying an ordered set of predicted queries that correspond to a user entered partial query. Even though URLs and query strings may have different uses, both may be treated as a string of characters or symbols whose value may be predicted after partial entry by a user. In some embodiments, the set of “historical URLs” from which a set of URL completion tables 1234 (
FIG. 12 ) and URL fingerprint-to-table maps 1236 (FIG. 12 ) are built may comprise URLs entered by a particular user or a set or community of users. In another embodiment, the set of “historical URLs” from which a set of URL completion tables and URL fingerprint to table maps are built may comprise the URLs of documents stored in a document database, such as the document database of a search engine. -
FIG. 11 illustrates a user's view when using a browser and toolbar according to some embodiments of the invention. Abrowser 1102 includes atoolbar 1104 including atext entry box 1106 depicting the entry of a partial query <hot>. In response to detecting the partial query and ultimately receiving the predicted queries from the query server, the predictions are displayed indisplay area 1108 for possible selection by the user. Similarly, while not shown, in response to detecting user entry of a partial URL in anaddress bar 1110, an ordered set of predicted URLs may be displayed in a display area (not shown) immediately below or adjacent theaddress bar 1110 for possible selection by the user. - Referring to
FIG. 12 , an embodiment of asearch engine 1202 that implements the methods and data structures described above includes one or more processing units (CPU's) 1204, one or more network orother communications interfaces 1206, amemory 1208, and one ormore communication buses 1210 for interconnecting these components. Thesearch engine 1202 may optionally include auser interface 1212 comprising adisplay device 1214 and akeyboard 1216. Thememory 1208 may include high speed random access memory and may also include non-volatile memory, such as one or more magnetic or optical storage disks. Thememory 1208 may include mass storage that is remotely located from CPU's 1204. Thememory 1208 may store the following elements, or a subset or superset of such elements: -
- an
operating system 1218 that includes procedures for handling various basic system services and for performing hardware dependent tasks; - a network communication module (or instructions) 1220 that is used for connecting the
search engine 1202 to other computers via the one or more communications interfaces 1206 (wired or wireless), such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on; - a
query server 210 for receiving full or partial queries and returning search results and predicted queries and predicted search results; and - a
prediction server 212 for receiving a partial query and returning a set of ordered predictions of queries or URLs.
- an
- In some embodiments, the
query server 210 includes the following elements, or a subset of such elements: aclient communications module 216 for receiving and transmitting information; a query receipt, processing andresponse module 218 for receiving and responding to full search queries; a partial query receipt, processing andresponse module 220 for receiving and responding to full search queries; a user information andprocessing module 222 for accessing user information from auser information database 1226, which includesrespective user profiles 1228 for a plurality of users; aquery log 224 for storing information about previously submitted queries, and a URL log ordatabase 225. In some embodiments, thequery server 210 includes a subset of these modules. In some embodiments, thequery server 210 includes additional modules. - In some embodiments, the
prediction server 212 includes the following elements, or a subset or superset of such elements: -
- a query receiving module (or instructions) 1230 for receiving a partial query;
- a query/URL completion table builder (or instructions) 1232 for generating query completion tables 516, 910 and query fingerprint-to-
table maps 510; in some embodiments, the query/URL completion table builder 1223 may also generate URL completion tables 1234 and URL fingerprint-to-table maps 1236; and - a prediction module (or instructions) 1238 for obtaining a set of predicted queries or URLs.
- In some embodiments, the
prediction server 212 may also include one or more of the following: -
- a personalization module (or instructions) 1240 for selecting the set of predicted queries based, at least in part, on certain user profile information;
- a concept module (or instructions) 1242 for determining the concepts associated with a particular query;
- a community characteristics module (or instructions) 1244 for determining a set of characteristics associated with a community of users;
- a spelling module (or instructions) 1246 for identifying alternative spellings of a received query or query term; and
- a
language dictionary 1248 which provides phonetic representations for various symbolic language components.
- In some embodiments, one or more of the user
information processing module 222,personalization module 1240,concept module 1242,community characteristics module 1244 andspell module 1246 are not implemented. When implemented, theuser profiles 1228 of the userinformation processing module 222 may contain information suitable for selecting or ordering predicted queries or URLs. For instance, auser profile 1228 may identify categories of information that are of interest to a particular user. Auser profile 1228 may also contain information associated with a community of users to which a user belongs or with which the user is associated. The userinformation processing module 222 may merge personal information with the community information to generate auser profile 1228. - When implemented, the
concept module 1242 may map historical queries to concepts or categories of information, suitable for matching with the information in auser profile 1228. Similarly, theconcept module 1242 may be configured to map historical URLs to concepts or categories of information, for instance by determining a set of primary concepts, subjects or categories of information in the content of the documents corresponding to the historical URLs. The concept, subject or category information identified by theconcept module 1242 may be stored in the entries of the query completion tables or URL completion tables, or in the query records or URL records identified by the query/URL completion tables. When processing a partial query or URL, the set of predicted queries or URLs may be reordered so that the predicted queries or URLs whose concept, subject or category information matches the information in the user profile of the requesting user are placed higher in the list of predicted queries or URLs than those predicted queries or URLs whose concept or category information does not match the information in the user profile of the requesting user. - In another embodiment, the
concept module 1242 may be configured to map one or more terms in a partial query to one or more substitute terms in accordance with a conceptual or category mapping of those terms. An ordered set of predicted queries are generated for a partial query containing the one or more substitute terms, and those predicted queries are then transmitted to the user, either separately or merged with the results produced using the partial query as entered by the user. -
FIG. 12 depicts the internal structure of asearch engine 1202 in one embodiment. It should be understood that in some other embodiments thesearch engine 1202 may be implemented using multiple servers so as to improve its throughput and reliability. For instance thequery log 224 could be implemented on a distinct server that communications with and works in conjunction with other ones of the servers in thesearch engine 1202. As another example, the query/URLcompletion table builder 1232 and/or thelanguage dictionary 1248 could be implemented in separate servers or computing devices (e.g., ordered setbuilder 242 andlanguage dictionary 244,FIG. 2 ). - Although the discussion herein has been made with reference to a search engine designed for use with documents remotely located from the search requester, it should be understood that the concepts disclosed herein are equally applicable to other search environments. For example, the same techniques described herein could apply to queries against any type of information repository against which queries, or searches, are run (e.g., an address book, a product information database, a file server, a web site and so on). Accordingly, the term “search engine” should be broadly construed to encompass all such uses.
- Referring to
FIG. 13 , an embodiment of aclient system 1300 that implements the methods described above includes one or more processing units (CPU's) 1302, one or more network orother communications interfaces 1304,memory 1306, and one ormore communication buses 1308 for interconnecting these components. Thesearch engine 1300 may optionally include auser interface 1310 comprising adisplay device 1312 and/or akeyboard 1314.Memory 1306 may include high speed random access memory and may also include non-volatile memory, such as one or more magnetic or optical storage disks. Thememory 1306 may include mass storage that is remotely located from CPU's 1302. Thememory 1306 may store: -
- an
operating system 1316 that includes procedures for handling various basic system services and for performing hardware dependent tasks; - a network communication module (or instructions) 1318 that is used for connecting the
client system 1300 to other computers via the one or morecommunications network interfaces 1304 and one or more communications networks, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on; and - a browser or
tool 1320 for interfacing with a user to input search queries, and for displaying search results; and - a
search assistant 1322.
- an
- In some embodiments, the
search assistant 1322 is separate from the browser/tool 1320, while in other embodiments the search assistant is incorporated in the browser/tool 1320. - The
search assistant 1322 may include the following elements, or a subset of such elements: an entry and selection monitoring module (or instructions) 1324 for monitoring the entry of search queries and selecting partial queries for transmission to the search engine; a transmission module (or instructions) 1326 for transmitting partial search queries and final search queries to the search engine; a predicted query receipt module (or instructions) 1328 for receiving predicted queries; a predicted search results receipt module (or instructions) 1330 for receiving predicted search results; display module (or instructions) 1332 for displaying predictions and results; and optionally, a search results receipt module (or instructions) 1334 for receiving search results. The transmission of final (i.e., completed) queries, receiving search results for completed queries, and displaying such results may be handled by the browser/tool 1320, thesearch assistant 1322, or a combination thereof. Thesearch assistant 1322 may also provide a corresponding set of functions for handling partial and complete URLs, which may be handled by either the same elements or a parallel set of elements as those described above. Thesearch assistant 1322 could be implemented in many ways. For example, thesearch assistant 1322 could be implemented as part of a browser, as part of a toolbar, as part of a desktop application or on a web page using executable instructions (such as JavaScript). At a minimum, the search assistant transmits partial query information to a search system. The search assistant may also enable the display of predicted results and user selection of a displayed predicted result. - Although illustrated in
FIGS. 12 and 13 as distinct modules or components, the various modules or components may be located or co-located within either the search engine or the client. For example, in some embodiments, portions ofprediction server 312, and/or the various query completion tables 512 and/or 910 are resident on theclient system 202 or form part of thesearch assistant 204. For example, in some embodiments query completion tables and fingerprint-to-table maps for the most popular searches may be periodically downloaded to aclient system 202, thereby providing fully client-based query or URL input prediction for at least some partially input queries or URLs. - In another embodiment, the
search assistant 204 may include a local version of theprediction server 312, for making search or URL predictions based at least in part on prior searches and URL entries of the user. Alternately, or in addition, thelocal prediction server 312 may generate predictions based on data downloaded from a search engine or remote prediction server. Further, theclient assistant 204 may merge locally generated and remotely generated prediction sets for presentation to the user. The results could be merged in any of a number of ways, for example, by interleaving the two sets or by merging the sets while biasing queries previously submitted by the user such that those queries would tend to be placed or inserted toward the top of the combined list of predicted queries. In some embodiments, theclient assistant 204 inserts queries deemed important to the user into the set of predictions. For example, a query frequently submitted by the user, but not included in the set obtained from the search engine could be inserted into the predictions. - The above-mentioned techniques may be adapted to languages other than those based primarily on alphabetic writing systems by altering the processes by which the fingerprint-to-
table maps 510 are generated. For example, the above-mentioned techniques can be applied to languages having symbols or pictograms such as logograms (symbols which represent parts of words or whole words), ideograms (symbols which graphically represent abstract ideas), phonetics (symbols representing specific sounds as in the graphemes used in alphabets and syllabaries) and semantic-phonetic compounds (symbols which include a semantic element, which represents or hints at the meaning of the symbol, and a phonetic element, which denotes or hints at the pronunciation). For the purposes of herein, symbols or pictograms, that is, characters which are not alphabetic, are referred to generally as “ideographs”. - The Japanese language is used to illustrate some embodiments for adapting the above-mentioned techniques to a primarily non-alphabetic language. Japanese uses a mix of writing systems and includes Kanji, Kana, Romaji, Arabic Numerals and Chinese Numerals. Kanji are “characters” originating from several sources: some Kanji have been derived from Chinese (typically having more than one pronunciation, where the pronunciation is based on meaning or semantics); some have been adopted from Chinese (usually having a “standardized” pronunciation); and some have been created solely for the Japanese language. Kana are phonetic characters of the two Japanese syllabaries: hiragana (used mainly for representing words native to Japanese or borrowed long ago from Chinese) and katakana (used mainly for writing foreign or onomatopoeic words, or to give text a “cute” appearance). In some instances a Kanji representation will include one or more trailing Kana characters to indicate a certain conjugation and/or aid in pronunciation. Romaji are roman, alphabetic letters.
- Each of hiragana and katakana include 46 characters, and consist mostly of vowels and vowel-consonant combinations. Japanese text is commonly entered into a computer by entering a Kana phonetic representation for one or more Kanji characters which is then converted into a Kanji representation. According to one input method, sequences of Romaji characters (from a computer keyboard) are entered into or displayed in an intermediary text input area. As each Romaji character sequence which produces a Kana character is recognized, the Kana character replaces the displayed Romaji characters, or appears, in the intermediary text input area. For example, typing the Romaji sequence of “ti” produces the hiragana “”. After a desired number of Kana characters are entered, the user may place the Kana representation directly into the desired text area or may selectively convert all or portion of the Kana representation into a Kanji representation by a user-initiated action. For example, typing the Romaji sequence “ti” followed by “ke”, produces the hiragana “ ”, the Kana representation for the English word “salmon”. This Kana string may be converted to the Kanji representation for “salmon” or “” by a user-initiated action such as pressing the “space bar” or depressing a function key. In some instances, an attempt to convert from Kana to Kanji is automatic. Oftentimes, though, conversion requires some user involvement. The user is typically required to select from multiple Kanji representations because the same phonetic representation in Kana may map to multiple Kanji representations. For example, the phonetic sequence “ ” (produced by the Romaji character sequence of “ho” followed by “si”) is consistent with the following three Kanji representations: “” (meaning tip or end); “” (meaning bridge); and “” (meaning chopsticks). Additionally, a single Kanji representation may have multiple phonetic representations. For example, “” (meaning salmon) has at least the phonetic representations of “ ” (produced by entering the Romaji character sequence of “ti” followed by “ke”) and “ ” (Produced by entering the Romaji character sequences of “si”, “ya” and “ke”).
- A user entering a query typically inputs each query term by entering a sequence of phonetics into a query input area. The phonetic sequences are usually converted into ideographs as the query is formed. A query usually includes one or more ideographs and/or one or more phonetics in a desired order. It would be desirable for the prediction server not only to predict search queries based on a partial query consisting of one or more ideographs, but to make predictions using the partial phonetic character entry of an ideograph as the user enters the phonetic representations. Accordingly, and in addition to other combinations, predictions are made on a partial query input consisting or zero or more ideographs followed by one or more phonetic characters. In some embodiments, these predictions can be achieved by modifying the process of
FIG. 7 , which is used in creating the fingerprint-to-table maps, to take into account the particular writing system of the language. The modified process accounts for the entry of the ideographs by one or more phonetic characters. Referring toFIG. 14 , such a process is depicted that accounts for a language writing system which includes both ideographs and phonetic characters to create fingerprint-to-table maps, and where multiple mappings may exist between ideographs and phonetic representations. One of ordinary skill in the art will readily recognize that the methodology depicted inFIG. 14 may be extended to other languages. - A query is selected from an authorized historical query list (e.g., authorized historical queries list 506 of
FIG. 5 ) having queries in the language being processed (1402). In some embodiments, this authorized historical queries list is generated according to the discussion referring toFIG. 5 . An initial query unit is identified (1404). A query unit could be determined in a number of ways. In some embodiments, a query unit consists of one or more Kanji characters in a recognized sequence representing a word or idea (and applicable hiragana used for conjugation or pronunciation). In some instances, Kanji characters representing different words or ideas are expressed as a single string of Kanji characters without delimiting characters (e.g., spaces). In some instances, a query unit is a single Kanji character. In some instances, a query unit is one or more Kanji and/or one or more phonetic characters. In some embodiments, preprocessing is applied before ideographs are identified (e.g., stripping off “http://”). An entry is made in a table which indicates any previous query unit and the current query unit, the complete query corresponding to the current query unit and the query frequency (1406). In other embodiments, other information which is used for ranking is stored (e.g., date/time values, or a ranking score computed based on two or more factors). - If the current query unit is an ideograph, then phonetic representations consistent with the ideograph are identified (1408). In one embodiment, a dictionary (e.g.,
language dictionary 242 ofFIG. 2 ) is consulted to return at least one possible phonetic representation consistent with the ideograph. From each phonetic representation, incremental query strings are determined representing the incremental addition of phonetic characters as they would be entered to build the complete phonetic representation (1410) by appending a current character to the previous characters. For example, if “” had been identified as the current query unit, one of the phonetic representations is “ ” (as discussed above). Because the phonetic representation “ ” comprises two phonetic characters (i.e., “” and “”), a first incremental query string would be “”, consisting of the first phonetic character, and a second incremental query string would be “ ”, consisting of the first and second characters. An entry is made in the table for each incremental query string (and including any previous ideographs and query units (if any)), the complete query corresponding to the incremental query string and the query frequency (1412). In some instances, the query unit includes more than one ideograph or one or more ideographs followed by one or more phonetic characters. As each incremental query string is built, complete sequences of phonetic characters are replaced by their corresponding ideographs. For example, when the query unit is “ ” (i.e., meaning to acknowledge and wherein the Kana characters “ ” provide the conjugational ending), one possible complete phonetic sequence is “ ” (where “” is the Kana representation of the Kanji “”. As the incremental query strings are built (e.g., “” and “”), when a particular sequence of phonetics is recognized (e.g., “”), it is replaced by the applicable ideograph (e.g., “”) for subsequent incremental query stings (e.g., “” and “ ”). - If the query is not fully processed (1414-no), then the next query unit is identified (1416) which is processed as described above. If the current query is fully processed (1414-yes), but there are more queries still left to process (1418-no), then another query is selected and processed as described above. The process continues until all queries to be processed are processed (1418-yes).
- The above-mentioned process can be better understood with reference to
FIGS. 15 and 16 . Anexemplary query string 1502 represents a query having a first ideograph 1504 (i.e., “”, the Kanji representation for salmon) and a second ideograph 1506 (i.e., “ ”, the Kanji representation for Japan). Thefirst ideograph 1504 has a first phonetic representation 1508 (i.e., “ ” pronounced “sake”) and a second phonetic representation 1510 (i.e., “ ” pronounced “sha-ke”). Similarly, thesecond ideograph 1506 has a first phonetic representation 1512 (i.e., “ ” pronounced “nihon”) and a second phonetic representation 1514 (i.e., “ ” pronounced “nippon”). -
FIG. 16 depicts one way to process thequery string 1502 ofFIG. 15 . Initially, the first query unit of thequery string 1502 is identified (i.e., “”) and acorresponding entry 1602 is made in the table 1604 indicating thepartial query unit 1606, the competequery 1608 andquery frequency 1610. In some embodiments, other or additional information associated with the query may be included on which to base the query ranking. The phonetic representations of “” are identified (i.e., “ ” and “ ”), incrementa query strings are determined and corresponding entries in table 1604 are made. For example, the first phonetic representation “ ” includes the incremental strings “” and “ ”. Accordingly, anentry 1612 corresponding to the incremental query string “” is created and anentry 1614 corresponding to the incremental query string “ ” is created. Entries for incremental query strings associated with the second phonetic representation are also created (e.g., 1616, 1618, and 1620). Then, the next query unit is identified (i.e., “ ”) and acorresponding entry 1622 is made in the table 1604 including both ideographs (and not including any of the phonetic representations of the first ideograph). Finally, the phonetic representations for “ ” are determined and corresponding entries are created (e.g., entry 1624). Note that the above process applies equally well when the query unit includes one or more than one ideograph. When a phonetic character is encountered in the query (e.g., appended to the end of an ideograph), it is included in a partial query (and an corresponding entry into table 1604 is made) as it is encountered. The above process works equally well when the input is a partially entered URL. A URL is equivalent to string of query terms, that include predefined delimiting characters (e.g., “>” and “/”) but do not include spaces. - The various desired query completion tables and fingerprint-to-table maps may be created during the processing of queries or after, as described above with reference to
FIGS. 7 and 8 . - By taking into account the various phonetic strings as they would be entered to achieve the ideographs of the query, predictions can be made prior to the completion of a sequence of phonetic representations. Query completion tables are identified from partial queries received from the search requester which include zero or more ideographs and one or more phonetics.
- Although the various embodiments of the invention have described using English and Japanese, one of ordinary skill in the art will readily recognize ways to extend the concepts described herein to other languages. For example, possible sequences of entry characters can be determined from the authorized history queries and various query completion tables and fingerprint-to-table maps created based on those possible entry strings.
- Although some of various drawings illustrate a number of logical stages in a particular order, stages which are not order dependent may be reordered and other stages may be combined or broken out. While some reordering or other groupings are specifically mentioned, others will be obvious to those of ordinary skill in the art and so do not present an exhaustive list of alternatives. Moreover, it should be recognized that the stages could be implemented in hardware, firmware, software or any combination thereof.
- The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.
Claims (78)
1. A method for suggesting query completions for a language having ideographs and phonetic characters, comprising:
receiving a partial query from a search requester, the partial query comprising zero or more ideographs followed by at least one phonetic character;
predicting from the partial query one of a set of predicted queries ordered in accordance with a ranking criteria, the set containing ideographs; and
conveying the set of ordered predicted queries to the search requestor.
2. A method for suggesting query completions for a language having ideographs and phonetic characters, comprising:
receiving a partial query from a search requester, the partial query comprising a portion of a complete query;
predicting from the partial query a set of predicted queries ordered in accordance with a ranking criteria, the set containing at least one string having one or more ideographs; and
conveying the set of ordered predicted queries to the search requestor.
3. The method of claim 2 , wherein the partial query includes at least one phonetic character.
4. The method of claim 2 , wherein the partial query comprises both ideographs and phonetic characters.
5. The method of clam 2, wherein the partial query includes at least one incomplete phonetic sequence representing at least one ideograph; and
the predicting includes predicting at least one or more ideographs consistent with the incomplete phonetic sequence.
6. The method of claim 2 , further comprising:
including queries submitted by a community of users in the set of predicted queries.
7. The method of claim 2 , further including creating the set of predicted queries from queries submitted by a community of users.
8. The method of claim 2 , wherein the set of predicted queries includes at least one query not previously submitted by the search requestor.
9. The method of claim 2 , wherein the set includes both search queries and at least one URL.
10. The method of claim 2 , wherein the predicting includes identifying two or more sets corresponding to the partial query and merging the sets.
11. The method of claim 10 , further including merging the sets in an interleaved fashion.
12. The method of claim 10 , wherein at least a first one of the sets is generated on a client and a second one of the sets is generated on a server.
13. The method of claim 2 , including:
receiving input identifying a selected query from among the set of ordered predicted queries; and
generating search results relevant to the received query.
14. The method of claim 2 , including generating search results relevant to at least one of the predicted queries, and
conveying the search results to the requestor.
15. The method of claim 2 , further including:
determining related query information from the received query information;
identifying at least one predicted query relevant to the related query information; and
including the at least one predicted query relevant to the related query information in the subset.
16. The method of claim 2 , wherein the predicting includes ordering the predicted queries in accordance with a time/date value of the predicted query.
17. The method of claim 2 , further including modifying the set based on characteristics associated with a user.
18. The method of claim 2 , further including:
conveying the set to the search requestor;
determining that no selection corresponding to a transmitted query in the set is received from the search requestor within a predetermined time period; and
transmitting to the search requestor a subsequent set of predicted queries ordered in accordance with the ranking criteria.
19. The method of claim 2 , further including:
conveying the set to the search requestor;
receiving a request from the search requestor for a subsequent set of predicted queries;
identifying a subsequent set of predicted queries; and
transmitting to the search requestor the subsequent set of predicted queries ordered in accordance with the ranking criteria.
20. The method of claim 2 , including:
prior to receiving the partial query:
identifying a set of historical queries previously submitted by a community of users, each of the queries in the set of historical queries having a frequency of submission and including at least one ideograph; and
generating a plurality of ordered subsets from the identified set of historical queries, each ordered subset including one or more historical queries from the identified set of historical queries ordered in accordance with a respective frequency of submission.
21. The method of claim 20 , wherein the generating includes:
mapping strings of one or more ideographs from a plurality of historical queries into one or more representations that include a string of one or more phonetic characters.
22. The method of claim 20 , wherein the generating includes mapping a string of one or more ideographs from a plurality historical queries into one or more representations, wherein a least one mapping includes at least one ideograph and a string of one or more phonetic characters.
23. The method of claim 2 , including:
identifying a set of historical queries previously submitted by a community of users, each of the queries in the set of historical queries having a frequency of submission and including at least one ideograph; and
generating a plurality of ordered subsets from the identified set of historical queries, each ordered subset including one or more historical queries from the identified set of historical queries ordered in accordance with a respective frequency of submission.
24. The method of claim 23 , wherein the generating includes:
mapping strings of one or more ideographs from a plurality of historical queries into one or more representations that include a string of one or more phonetic characters.
25. The method of claim 2 , including:
prior to receiving the partial query:
identifying a plurality of sets, each set associated with a partial query unit and comprising a plurality of queries previously submitted by a community of users, each query having a respective ranking value;
for at least a portion of the plurality of the sets, ordering the queries in the set in accordance with the respective ranking value; and
wherein the predicting includes identifying a first set, from among the plurality of sets, wherein the selected set corresponds to the partial query.
26. The method of claim 25 , wherein the predicting includes identifying a second set and merging the first set and the second set.
27. The method of claim 26 , wherein the predicting further includes:
identifying the first set from a first memory; and
identifying the second set from a second memory.
28. A system for suggesting query completions for a language having ideographs and phonetic characters, comprising:
a query processing module for receiving a partial query from a search requester, the partial query comprising a portion of a complete query;
at least one set of predicted queries ordered in accordance with a ranking criteria, the set containing at least query having a string of one or more ideographs;
a predicting module for predicting from the partial query the set of predicted queries ordered in accordance with the ranking criteria; and
a communication module for conveying the set of ordered predicted queries to the search requester.
29. The system of claim 28 , wherein the partial query includes at least one phonetic character.
30. The system of claim 28 , wherein the partial query comprises both ideographs and phonetic characters.
31. The system of clam 28, wherein the partial query includes at least one incomplete phonetic sequence representing at least one ideograph; and
wherein at least one predicted query in the set of predicted queries includes at least one or more ideographs consistent with the incomplete phonetic sequence.
32. The system of claim 28 , wherein the set of predicted queries includes queries submitted by a community of users.
33. The system of claim 28 , wherein the set of predicted queries includes at least one query not previously submitted by the search requester.
34. The system of claim 28 , wherein the set of predicted queries includes both search queries and at least one URL.
35. The system of claim 28 , further including at least a second set of predicted queries ordered in accordance with a ranking criteria, the second set containing at least one query having a string of one or more ideographs, and
the predicting module is further configured to identify at least the first set and the second set of predicted queries and to merge the two sets.
36. The system of claim 35 , wherein the predicting module is further configured to merge the first set and the second set in an interleaved fashion.
37. The system of claim 35 , wherein the first set is located remotely from the second set.
38. The system of claim 28 , further comprising:
a receiving module for receiving input identifying a selected query from among the set of ordered predicted queries; and
a query server for generating search results relevant to the received query.
39. The system of claim 28 , wherein the query server is further configured to generate search results relevant to at least one of the predicted queries and convey the search results to the requester.
40. The system of claim 28 , further including:
a concept module for determining related query information from the received query information; and
the subset includes at least one predicted query relevant to the related query information.
41. The system of claim 28 , wherein the predicting modules is further configured to order the predicted queries in accordance with a time/date value of the predicted query.
42. The system of claim 28 , further including modifying the set based on characteristics associated with a user.
43. The system of claim 28 , wherein the prediction module is further configured to:
convey the set to the search requester;
receive a request from the search requestor for a subsequent set of predicted queries;
identify a subsequent set of predicted queries; and
transmit to the search requestor the subsequent set of predicted queries ordered in accordance with the ranking criteria.
44. The system of claim 28 , wherein the prediction module is further configured to:
prior to receiving the partial query:
identify a set of historical queries previously submitted by a community of users, each of the queries in the set of historical queries having a frequency of submission and including at least one ideograph; and
generate a plurality of ordered subsets from the identified set of historical queries, each ordered subset including one or more historical queries from the identified set of historical queries ordered in accordance with a respective frequency of submission.
45. The system of claim 44 , wherein the prediction module is further configured to:
map strings of one or more ideographs from a plurality of historical queries into one or more representations that include a string of one or more phonetic characters.
46. The system of claim 44 , wherein the prediction module is further configured to map a string of one or more ideographs from a plurality historical of queries into one or more representations, wherein at least one mapping includes at least one ideograph and a string of one or more phonetic characters.
47. The system of claim 28 , wherein the prediction module is further configured to:
identify a set of historical queries previously submitted by a community of users, each of the queries in the set of historical queries having a frequency of submission and including at least one ideograph; and
generate a plurality of ordered subsets from the identified set of historical queries, each ordered subset including one or more historical queries from the identified set of historical queries ordered in accordance with a respective frequency of submission.
48. The system of claim 47 , wherein the prediction module is further configured to map strings of one or more ideographs from a plurality of historical queries into one or more representations that include a string of one or more phonetic characters.
49. The system of claim 28 , wherein the prediction module is further configured to:
prior to receiving the partial query:
identify a plurality of sets, each set associated with a partial query unit and comprising a plurality of queries previously submitted by a community of users, each query having a respective ranking value;
for at least a portion of the plurality of the sets, order the queries in the set in accordance with the respective ranking value; and
to predict a first set, from among the plurality of sets, wherein the selected set corresponds to the partial query.
50. The system of claim 49 , wherein the prediction module is further configured to predict a second set and merge the first set and the second set.
51. The system of claim 50 , wherein the prediction module is further configured to:
identify the first set from a first memory; and
identify the second set from a second memory.
52. A computer program product, for use with a computer system, the computer program product comprising:
instructions for receiving a partial query from a search requester, the partial query comprising a portion of a complete query;
instructions for predicting from the partial query a set of predicted queries ordered in accordance with a ranking criteria, the set containing at least one string having one or more ideographs; and
instructions for conveying the set of ordered predicted queries to the search requestor.
53. The computer program product of claim 52 , wherein the partial query includes at least one phonetic character.
54. The computer program product of claim 52 , wherein the partial query comprises both ideographs and phonetic characters.
55. The computer program product of clam 52, wherein the partial query includes at least one incomplete phonetic sequence representing at least one ideograph; and
the instructions for the predicting further include instructions for predicting at least one or more ideographs consistent with the incomplete phonetic sequence.
56. The computer program product of claim 52 , further comprising:
instructions for including queries submitted by a community of users in the set of predicted queries.
57. The computer program product of claim 52 , further including instructions for creating the set of predicted queries from queries submitted by a community of users.
58. The computer program product of claim 52 , wherein the set of predicted queries includes at least one query not previously submitted by the requester.
59. The computer program product of claim 52 , wherein the set includes both search queries and at least one URL.
60. The computer program product of claim 52 , wherein the instructions for predicting further include instructions for identifying two or more sets corresponding to the partial query and for merging the sets.
61. The computer program product of claim 60 , further including instructions for merging the sets in an interleaved fashion.
62. The computer program product of claim 60 , wherein at least a first one of the sets is generated on a client and a second one of the sets is generated on a server.
63. The computer program of claim 52 , including:
instructions for receiving input identifying a selected query from among the set of ordered predicted queries; and
instructions for generating search results relevant to the received query.
64. The computer program product of claim 52 , including instructions for generating search results relevant to at least one of the predicted queries, and
instructions for conveying the search results to the requester.
65. The computer program product of claim 52 , further including:
instructions for determining related query information from the received query information;
instructions for identifying at least one predicted query relevant to the related query information; and
instructions for including the at least one predicted query relevant to the related query information in the subset.
66. The computer program product of claim 52 , wherein the instructions for predicting further include ordering the predicted queries in accordance with a time/date value of the predicted query.
67. The computer program product of claim 52 , further including instructions for modifying the set based on characteristics associated with a user.
68. The computer program product of claim 52 , further including:
instructions for conveying the set to the search requester;
instructions for determining that no selection corresponding to a transmitted query in the set is received from the search requestor within a predetermined time period; and
instructions for transmitting to the search requestor a subsequent set of predicted queries ordered in accordance with the ranking criteria.
69. The computer program product of claim 52 , further including:
instructions for conveying the set to the search requester;
instructions for receiving a request from the search requestor for a subsequent set of predicted queries;
instructions for identifying a subsequent set of predicted queries; and
instructions for transmitting to the search requestor the subsequent set of predicted queries ordered in accordance with the ranking criteria.
70. The computer program product of claim 52 , including:
instructions for, prior to receiving the partial query:
identifying a set of historical queries previously submitted by a community of users, each of the queries in the set of historical queries having a frequency of submission and including at least one ideograph; and
generating a plurality of ordered subsets from the identified set of historical queries, each ordered subset including one or more historical queries from the identified set of historical queries ordered in accordance with a respective frequency of submission.
71. The computer program product of claim 70 , wherein the instructions for generating further include instructions for mapping strings of one or more ideographs from a plurality of historical queries into one or more representations that include a string of one or more phonetic characters.
72. The computer program product of claim 70 , wherein the instructions for generating further include instructions for mapping a string of one or more ideographs from a plurality of historical queries into one or more representations, wherein at least one mapping includes at least one ideograph and a string of one or more phonetic characters.
73. The computer program product of claim 52 , including:
instructions for identifying a set of historical queries previously submitted by a community of users, each of the queries in the set of historical queries having a frequency of submission and including at least one ideograph; and
instructions for generating a plurality of ordered subsets from the identified set of historical queries, each ordered subset including one or more historical queries from the identified set of historical queries ordered in accordance with a respective frequency of submission.
74. The computer program product of claim 74 , wherein the instructions for generating further include instructions for mapping strings of one or more ideographs from a plurality of historical queries into one or more representations that include a string of one or more phonetic characters.
75. The computer program product of claim 52 , including:
instructions for, prior to receiving the partial query:
identifying a plurality of sets, each set associated with a partial query unit and comprising a plurality of queries previously submitted by a community of users, each query having a respective ranking value;
for at least a portion of the plurality of the sets, ordering the queries in the set in accordance with the respective ranking value; and
wherein the instructions for predicting further include identifying a first set, from among the plurality of sets, wherein the selected set corresponds to the partial query.
76. The computer program product of claim 75 , wherein the instructions for predicting further include instructions for identifying a second set and merging the first set and the second set.
77. The computer program product of claim 76 , wherein the instructions for predicting further include:
instructions for identifying the first set on a client; and
instructions for identifying the second set on a server.
78. A system for suggesting query completions for a language having ideographs and phonetic characters, comprising:
means for receiving a partial query from a search requestor, the partial query comprising a portion of a complete query;
means for predicting from the partial query a set of predicted queries ordered in accordance with a ranking criteria, the set containing at least one string having one or more ideographs; and
means for conveying the set of ordered predicted queries to the search requestor.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/987,769 US20060106769A1 (en) | 2004-11-12 | 2004-11-12 | Method and system for autocompletion for languages having ideographs and phonetic characters |
KR1020077013174A KR20070086055A (en) | 2004-11-12 | 2005-10-11 | Method and system for autocompletion for languages having ideographs and phonetic characters |
CN2005800463322A CN101194256B (en) | 2004-11-12 | 2005-10-11 | Method and system for autocompletion for languages having ideographs and phonetic characters |
PCT/US2005/036553 WO2006055120A2 (en) | 2004-11-12 | 2005-10-11 | Method and system for autocompletion for languages having ideographs and phonetic characters |
JP2007541185A JP5459958B2 (en) | 2004-11-12 | 2005-10-11 | Auto-completion method and system for languages with ideograms and phonograms |
JP2012046492A JP5557862B2 (en) | 2004-11-12 | 2012-03-02 | Auto-completion method and system for languages with ideograms and phonograms |
US14/035,831 US9443035B2 (en) | 2004-11-12 | 2013-09-24 | Method and system for autocompletion for languages having ideographs and phonetic characters |
US14/525,104 US9436781B2 (en) | 2004-11-12 | 2014-10-27 | Method and system for autocompletion for languages having ideographs and phonetic characters |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/987,769 US20060106769A1 (en) | 2004-11-12 | 2004-11-12 | Method and system for autocompletion for languages having ideographs and phonetic characters |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/035,831 Continuation US9443035B2 (en) | 2004-11-12 | 2013-09-24 | Method and system for autocompletion for languages having ideographs and phonetic characters |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060106769A1 true US20060106769A1 (en) | 2006-05-18 |
Family
ID=36127349
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/987,769 Abandoned US20060106769A1 (en) | 2004-11-12 | 2004-11-12 | Method and system for autocompletion for languages having ideographs and phonetic characters |
US14/035,831 Active US9443035B2 (en) | 2004-11-12 | 2013-09-24 | Method and system for autocompletion for languages having ideographs and phonetic characters |
US14/525,104 Expired - Fee Related US9436781B2 (en) | 2004-11-12 | 2014-10-27 | Method and system for autocompletion for languages having ideographs and phonetic characters |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/035,831 Active US9443035B2 (en) | 2004-11-12 | 2013-09-24 | Method and system for autocompletion for languages having ideographs and phonetic characters |
US14/525,104 Expired - Fee Related US9436781B2 (en) | 2004-11-12 | 2014-10-27 | Method and system for autocompletion for languages having ideographs and phonetic characters |
Country Status (5)
Country | Link |
---|---|
US (3) | US20060106769A1 (en) |
JP (2) | JP5459958B2 (en) |
KR (1) | KR20070086055A (en) |
CN (1) | CN101194256B (en) |
WO (1) | WO2006055120A2 (en) |
Cited By (135)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040260621A1 (en) * | 2002-10-21 | 2004-12-23 | Foster Benjamin David | Listing recommendation in a network-based commerce system |
US20060020587A1 (en) * | 2004-07-21 | 2006-01-26 | Cisco Technology, Inc. | Method and system to collect and search user-selected content |
US20060195435A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | System and method for providing query assistance |
US20060206476A1 (en) * | 2005-03-10 | 2006-09-14 | Yahoo!, Inc. | Reranking and increasing the relevance of the results of Internet searches |
US20060224573A1 (en) * | 2004-03-26 | 2006-10-05 | Ecapable, Inc. | Method and system to facilitate decision point information flow and to improve compliance with a given standardized vocabulary |
US20060241933A1 (en) * | 2005-04-21 | 2006-10-26 | Franz Alexander M | Predictive conversion of user input |
US20060253427A1 (en) * | 2005-05-04 | 2006-11-09 | Jun Wu | Suggesting and refining user input based on original user input |
US20060259479A1 (en) * | 2005-05-12 | 2006-11-16 | Microsoft Corporation | System and method for automatic generation of suggested inline search terms |
US20060288000A1 (en) * | 2005-06-20 | 2006-12-21 | Raghav Gupta | System to generate related search queries |
US20070038620A1 (en) * | 2005-08-10 | 2007-02-15 | Microsoft Corporation | Consumer-focused results ordering |
US20070050339A1 (en) * | 2005-08-24 | 2007-03-01 | Richard Kasperski | Biasing queries to determine suggested queries |
US20070162445A1 (en) * | 2005-11-23 | 2007-07-12 | Dun And Bradstreet | System and method for searching and matching data having ideogrammatic content |
US20070203894A1 (en) * | 2006-02-28 | 2007-08-30 | Rosie Jones | System and method for identifying related queries for languages with multiple writing systems |
US20070282769A1 (en) * | 2006-05-10 | 2007-12-06 | Inquira, Inc. | Guided navigation system |
US20070282832A1 (en) * | 2006-06-01 | 2007-12-06 | Microsoft Corporation | Automatic tracking of user data and reputation checking |
US20070299841A1 (en) * | 2006-06-22 | 2007-12-27 | Sony Ericsson Mobile Communications Ab | Predictive data search |
US20080040323A1 (en) * | 2006-08-10 | 2008-02-14 | Yahoo! Inc. | Method and apparatus for reconstructing a search query |
US20080052064A1 (en) * | 2006-08-25 | 2008-02-28 | Nhn Corporation | Method for searching for chinese character using tone mark and system for executing the method |
US20080104037A1 (en) * | 2004-04-07 | 2008-05-01 | Inquira, Inc. | Automated scheme for identifying user intent in real-time |
US20080109401A1 (en) * | 2006-09-12 | 2008-05-08 | Microsoft Corporation | Presenting predetermined search results with query suggestions |
US20080183673A1 (en) * | 2007-01-25 | 2008-07-31 | Microsoft Corporation | Finite-state model for processing web queries |
US20080189163A1 (en) * | 2007-02-05 | 2008-08-07 | Inquira, Inc. | Information management system |
US20080215976A1 (en) * | 2006-11-27 | 2008-09-04 | Inquira, Inc. | Automated support scheme for electronic forms |
US20080243762A1 (en) * | 2007-03-26 | 2008-10-02 | Business Objects, S.A. | Apparatus and method for query based paging through a collection of values |
US20080270379A1 (en) * | 2005-08-30 | 2008-10-30 | Affle Limited | Online Search System, Method and Computer Program |
US20080301122A1 (en) * | 2007-05-31 | 2008-12-04 | Amadeus S.A.S. | Searching techniques |
US20080306938A1 (en) * | 2007-06-08 | 2008-12-11 | Ebay Inc. | Electronic publication system |
US20080320411A1 (en) * | 2007-06-21 | 2008-12-25 | Yen-Fu Chen | Method of text type-ahead |
US20090006343A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Machine assisted query formulation |
US7487145B1 (en) * | 2004-06-22 | 2009-02-03 | Google Inc. | Method and system for autocompletion using ranked results |
US20090043741A1 (en) * | 2007-08-09 | 2009-02-12 | Dohyung Kim | Autocompletion and Automatic Input Method Correction for Partially Entered Search Query |
US20090049020A1 (en) * | 2006-04-06 | 2009-02-19 | Nhn Corporation | System and method for providing personalized recommended word and computer readable recording medium recording program for implementing the method |
US20090077047A1 (en) * | 2006-08-14 | 2009-03-19 | Inquira, Inc. | Method and apparatus for identifying and classifying query intent |
US20090089282A1 (en) * | 2007-09-30 | 2009-04-02 | Nec (China) Co., Ltd. | Natural language based service selection system and method, service query system and method |
US20090089044A1 (en) * | 2006-08-14 | 2009-04-02 | Inquira, Inc. | Intent management tool |
US20090106224A1 (en) * | 2007-10-19 | 2009-04-23 | Xerox Corporation | Real-time query suggestion in a troubleshooting context |
US20090132529A1 (en) * | 2004-11-11 | 2009-05-21 | Gibbs Kevin A | Method and System for URL Autocompletion Using Ranked Results |
US20090171930A1 (en) * | 2007-12-27 | 2009-07-02 | Microsoft Corporation | Relevancy Sorting of User's Browser History |
US20090171942A1 (en) * | 2007-12-31 | 2009-07-02 | Bipin Suresh | Predicting and ranking search query results |
US20090182741A1 (en) * | 2008-01-16 | 2009-07-16 | International Business Machines Corporation | Systems and Arrangements of Text Type-Ahead |
US20090271700A1 (en) * | 2008-04-28 | 2009-10-29 | Yen-Fu Chen | Text type-ahead |
US20090313573A1 (en) * | 2008-06-17 | 2009-12-17 | Microsoft Corporation | Term complete |
US20100010977A1 (en) * | 2008-07-10 | 2010-01-14 | Yung Choi | Dictionary Suggestions for Partial User Entries |
US20100010973A1 (en) * | 2008-07-09 | 2010-01-14 | International Business Machines Corporation | Vector Space Lightweight Directory Access Protocol Data Search |
US20100030849A1 (en) * | 2008-07-31 | 2010-02-04 | Fujitsu Limited | Server apparatus for thin-client system |
US20100070604A1 (en) * | 2007-04-16 | 2010-03-18 | Mami Kuramitsu | Terminal apparatus, right priority judging method, program, and integrated circuit |
US20100083103A1 (en) * | 2008-10-01 | 2010-04-01 | Microsoft Corporation | Phrase Generation Using Part(s) Of A Suggested Phrase |
US7698442B1 (en) * | 2005-03-03 | 2010-04-13 | Voltage Security, Inc. | Server-based universal resource locator verification service |
US20100094710A1 (en) * | 2005-04-26 | 2010-04-15 | Affle Limited | Method and apparatus to provide information and consumer-acceptable advertising via data communications clients |
US20100100550A1 (en) * | 2008-10-22 | 2010-04-22 | Sony Computer Entertainment Inc. | Apparatus, System and Method For Providing Contents and User Interface Program |
US20100114878A1 (en) * | 2008-10-22 | 2010-05-06 | Yumao Lu | Selective term weighting for web search based on automatic semantic parsing |
US20100131447A1 (en) * | 2008-11-26 | 2010-05-27 | Nokia Corporation | Method, Apparatus and Computer Program Product for Providing an Adaptive Word Completion Mechanism |
US20100153134A1 (en) * | 2005-03-24 | 2010-06-17 | Ecapable, Inc. | National Health Information and Electronic Medical Record System and Method |
US20100161661A1 (en) * | 2005-08-24 | 2010-06-24 | Stephen Hood | Performing an ordered search of different databases |
US20100211587A1 (en) * | 2005-06-23 | 2010-08-19 | Microsoft Corporation | Application launching via indexed data |
US20100299320A1 (en) * | 2004-03-26 | 2010-11-25 | Ecapable, Inc. | Method and System to Facilitate Decision Point Information Flow and to Improve Compliance with a Given Standardized Vocabulary |
US20110040778A1 (en) * | 2006-07-18 | 2011-02-17 | Webex Communications, Inc. | Methods and apparatuses for dynamically displaying search suggestions |
US20110099502A1 (en) * | 2009-10-28 | 2011-04-28 | Yahoo! Inc. | Developer Interface and Associated Methods for System for Querying and Consuming Web-Based Data |
US20110161336A1 (en) * | 2009-12-28 | 2011-06-30 | Fujitsu Limited | Search supporting device and a method for search supporting |
US20110161311A1 (en) * | 2009-12-28 | 2011-06-30 | Yahoo! Inc. | Search suggestion clustering and presentation |
US20110219299A1 (en) * | 2010-03-07 | 2011-09-08 | DSNR Labs Ltd. | Method and system of providing completion suggestion to a partial linguistic element |
US8019748B1 (en) | 2007-11-14 | 2011-09-13 | Google Inc. | Web search refinement |
US20110231206A1 (en) * | 2004-03-26 | 2011-09-22 | Ecapable, Inc. | Method which creates a community-wide health information infrastructure |
US20110289074A1 (en) * | 2005-03-17 | 2011-11-24 | Roy Leban | System, method, and user interface for organization and searching information |
US20110302188A1 (en) * | 2005-12-30 | 2011-12-08 | Google Inc. | Dynamic search box for web browser |
US20120004901A1 (en) * | 2010-06-30 | 2012-01-05 | Hozumi Nakano | Phonetic keys for the japanese language |
US20120066244A1 (en) * | 2010-09-15 | 2012-03-15 | Kazuomi Chiba | Name retrieval method and name retrieval apparatus |
US20120065958A1 (en) * | 2009-10-26 | 2012-03-15 | Joachim Schurig | Methods and systems for providing anonymous and traceable external access to internal linguistic assets |
US8271471B1 (en) | 2004-06-22 | 2012-09-18 | Google Inc. | Anticipated query generation and processing in a search engine |
US20120254216A1 (en) * | 2009-12-14 | 2012-10-04 | Mitsubishi Electric Corporation | Input support device |
US20120265756A1 (en) * | 2010-12-08 | 2012-10-18 | S.L.I. Systems, Inc. | Method for determining relevant search results |
US20120265784A1 (en) * | 2011-04-15 | 2012-10-18 | Microsoft Corporation | Ordering semantic query formulation suggestions |
US8356041B2 (en) | 2008-06-17 | 2013-01-15 | Microsoft Corporation | Phrase builder |
US20130041890A1 (en) * | 2010-07-13 | 2013-02-14 | Omron Corporation | Method for displaying candidate in character input, character inputting program, and character input apparatus |
US20130124493A1 (en) * | 2011-11-15 | 2013-05-16 | Alibaba Group Holding Limited | Search Method, Search Apparatus and Search Engine System |
US8498983B1 (en) * | 2010-01-29 | 2013-07-30 | Guangsheng Zhang | Assisting search with semantic context and automated search options |
US20130290279A1 (en) * | 2011-09-19 | 2013-10-31 | International Business Machines Corporation | Scalable deduplication system with small blocks |
US20130305178A1 (en) * | 2011-01-25 | 2013-11-14 | Sony Computer Entertainment Inc. | Input device, input method, and computer program for inputting characters, numbers, or symbols by using an on-screen keyboard |
US8612208B2 (en) | 2004-04-07 | 2013-12-17 | Oracle Otc Subsidiary Llc | Ontology for use with a system, method, and computer readable medium for retrieving information and response to a query |
US20140108924A1 (en) * | 2012-10-11 | 2014-04-17 | International Business Machines Corporation | Real Time Term Suggestion Using Text Analytics |
US8745168B1 (en) | 2008-07-10 | 2014-06-03 | Google Inc. | Buffering user interaction data |
US20140164363A1 (en) * | 2007-01-07 | 2014-06-12 | Tropare, Inc. | Multi-Prefix Interactive Mobile Search |
WO2014127792A1 (en) * | 2013-02-22 | 2014-08-28 | Audi Ag | Motor vehicle infotainment system with automatic input completion during search term input |
US8874570B1 (en) * | 2004-11-30 | 2014-10-28 | Google Inc. | Search boost vector based on co-visitation information |
JP2015038767A (en) * | 2005-08-24 | 2015-02-26 | ヤフー! インコーポレイテッド | Suggestion of alternative query prior to completion of search query |
CN104462369A (en) * | 2014-12-08 | 2015-03-25 | 沈阳美行科技有限公司 | Automatic search completion method for navigation equipment |
US8996550B2 (en) | 2009-06-03 | 2015-03-31 | Google Inc. | Autocompletion for partially entered query |
US20150193449A1 (en) * | 2008-12-30 | 2015-07-09 | Ebay Inc. | Predictive algorithm for search box auto-complete |
US20150199436A1 (en) * | 2014-01-14 | 2015-07-16 | Microsoft Corporation | Coherent question answering in search results |
WO2015105829A1 (en) * | 2014-01-08 | 2015-07-16 | Nuance Communications, Inc. | A methodology for enhanced voice search experience |
US9098569B1 (en) * | 2010-12-10 | 2015-08-04 | Amazon Technologies, Inc. | Generating suggested search queries |
US20150228276A1 (en) * | 2006-10-16 | 2015-08-13 | Voicebox Technologies Corporation | System and method for a cooperative conversational voice user interface |
US9116963B2 (en) | 2007-03-13 | 2015-08-25 | Google Inc. | Systems and methods for promoting personalized search results based on personal information |
US9135250B1 (en) * | 2012-02-24 | 2015-09-15 | Google Inc. | Query completions in the context of a user's own document |
WO2015183488A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-domain query completion |
US9323808B1 (en) | 2010-07-22 | 2016-04-26 | Google Inc. | Predictive query suggestion caching |
US20160132591A1 (en) * | 2014-11-10 | 2016-05-12 | International Business Machines Corporation | Cognitive matching of narrative data |
US9436781B2 (en) | 2004-11-12 | 2016-09-06 | Google Inc. | Method and system for autocompletion for languages having ideographs and phonetic characters |
US9471709B1 (en) * | 2012-10-11 | 2016-10-18 | Google Inc. | Processing autocomplete suggestions |
US20160342602A1 (en) * | 2009-03-31 | 2016-11-24 | Ebay Inc. | Ranking algorithm for search queries |
JP2017501505A (en) * | 2013-12-31 | 2017-01-12 | グーグル インコーポレイテッド | Surface navigational search results |
US20170024431A1 (en) * | 2015-07-24 | 2017-01-26 | International Business Machines Corporation | Generating and executing query language statements from natural language |
US20170116313A1 (en) * | 2015-10-23 | 2017-04-27 | Oracle International Corporation | System and method for supporting large queries in a multidimensional database environment |
US20170116290A1 (en) * | 2015-10-23 | 2017-04-27 | Oracle International Corporation | System and method for use of a dynamic flow in a multidimensional database environment |
US9711143B2 (en) | 2008-05-27 | 2017-07-18 | Voicebox Technologies Corporation | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US20170220129A1 (en) * | 2014-07-18 | 2017-08-03 | Shanghai Chule (Coo Tek) Information Technology Co., Ltd. | Predictive Text Input Method and Device |
US9747896B2 (en) | 2014-10-15 | 2017-08-29 | Voicebox Technologies Corporation | System and method for providing follow-up responses to prior natural language inputs of a user |
US9886433B2 (en) * | 2015-10-13 | 2018-02-06 | Lenovo (Singapore) Pte. Ltd. | Detecting logograms using multiple inputs |
US9898459B2 (en) | 2014-09-16 | 2018-02-20 | Voicebox Technologies Corporation | Integration of domain information into state transitions of a finite state transducer for natural language processing |
US20180136803A1 (en) * | 2016-11-15 | 2018-05-17 | Facebook, Inc. | Methods and Systems for Executing Functions in a Text Field |
US9984149B2 (en) | 2013-02-22 | 2018-05-29 | Audi Ag | Motor vehicle infotainment system with automatic search term completion |
US20180225326A1 (en) * | 2014-12-01 | 2018-08-09 | Hitachi, Ltd. | Character string search system and control method therefor |
US10331784B2 (en) | 2016-07-29 | 2019-06-25 | Voicebox Technologies Corporation | System and method of disambiguating natural language processing requests |
US10332511B2 (en) | 2015-07-24 | 2019-06-25 | International Business Machines Corporation | Processing speech to text queries by optimizing conversion of speech queries to text |
US10431214B2 (en) | 2014-11-26 | 2019-10-01 | Voicebox Technologies Corporation | System and method of determining a domain and/or an action related to a natural language input |
US10553213B2 (en) | 2009-02-20 | 2020-02-04 | Oracle International Corporation | System and method for processing multi-modal device interactions in a natural language voice services environment |
US10671182B2 (en) * | 2014-10-16 | 2020-06-02 | Touchtype Limited | Text prediction integration |
US10733155B2 (en) | 2015-10-23 | 2020-08-04 | Oracle International Corporation | System and method for extracting a star schema from tabular data for use in a multidimensional database environment |
US10909134B2 (en) | 2017-09-01 | 2021-02-02 | Oracle International Corporation | System and method for client-side calculation in a multidimensional database environment |
US10936574B2 (en) | 2015-10-23 | 2021-03-02 | Oracle International Corporation | System and method for use of lock-less techniques with a multidimensional database |
US10983972B2 (en) | 2017-09-08 | 2021-04-20 | Oracle International Corporation | System and method for slowing changing dimension and metadata versioning in a multidimensional database environment |
US11042569B2 (en) | 2017-09-29 | 2021-06-22 | Oracle International Corporation | System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment |
US11080758B2 (en) | 2007-02-06 | 2021-08-03 | Vb Assets, Llc | System and method for delivering targeted advertisements and/or providing natural language processing based on advertisements |
US11087385B2 (en) | 2014-09-16 | 2021-08-10 | Vb Assets, Llc | Voice commerce |
US11188554B2 (en) | 2018-07-19 | 2021-11-30 | Oracle International Corporation | System and method for real time data aggregation in a virtual cube in a multidimensional database environment |
US11200223B2 (en) | 2018-10-18 | 2021-12-14 | Oracle International Corporation | System and method for dependency analysis in a multidimensional database environment |
US11226987B2 (en) | 2015-10-23 | 2022-01-18 | Oracle International Corporation | System and method for in-place data writes to reduce fragmentation in a multidimensional database environment |
US11308173B2 (en) * | 2014-12-19 | 2022-04-19 | Meta Platforms, Inc. | Searching for ideograms in an online social network |
US11403321B2 (en) | 2015-10-23 | 2022-08-02 | Oracle International Corporation | System and method for improved performance in a multidimensional database environment |
US11422881B2 (en) | 2018-07-19 | 2022-08-23 | Oracle International Corporation | System and method for automatic root cause analysis and automatic generation of key metrics in a multidimensional database environment |
US11544400B2 (en) * | 2017-02-24 | 2023-01-03 | Hyland Uk Operations Limited | Permissions-constrained dynamic faceting of search results in a content management system |
US11593402B2 (en) | 2017-09-29 | 2023-02-28 | Oracle International Corporation | System and method for enabling multiple parents with weights in a multidimensional database environment |
US11797496B2 (en) | 2015-10-23 | 2023-10-24 | Oracle International Corporation | System and method for parallel support of multidimensional slices with a multidimensional database |
US11914620B2 (en) | 2015-10-23 | 2024-02-27 | Oracle International Corporation | System and method for aggregating values through risk dimension hierarchies in a multidimensional database environment |
US11922221B2 (en) | 2015-10-23 | 2024-03-05 | Oracle International Corporation | System and method for automatic dependency analysis for use with a multidimensional database |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420313B (en) * | 2007-10-22 | 2011-01-12 | 北京搜狗科技发展有限公司 | Method and system for clustering customer terminal user group |
WO2010047683A1 (en) * | 2008-10-20 | 2010-04-29 | Qiang Wang | Fast signature scan |
GB0917753D0 (en) * | 2009-10-09 | 2009-11-25 | Touchtype Ltd | System and method for inputting text into electronic devices |
WO2011014978A1 (en) * | 2009-08-04 | 2011-02-10 | Google Inc. | Generating search query suggestions |
US9405841B2 (en) | 2009-10-15 | 2016-08-02 | A9.Com, Inc. | Dynamic search suggestion and category specific completion |
JP2011159100A (en) * | 2010-02-01 | 2011-08-18 | Nippon Telegr & Teleph Corp <Ntt> | Successive similar document retrieval apparatus, successive similar document retrieval method and program |
US8930360B2 (en) * | 2010-05-28 | 2015-01-06 | Yahoo! Inc. | System and method for online handwriting recognition in web queries |
WO2012017782A1 (en) * | 2010-08-06 | 2012-02-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method of character string generation, program and system |
US8868591B1 (en) | 2011-06-22 | 2014-10-21 | Google Inc. | Modifying a user query to improve the results |
US8417718B1 (en) | 2011-07-11 | 2013-04-09 | Google Inc. | Generating word completions based on shared suffix analysis |
US8914521B2 (en) * | 2011-09-27 | 2014-12-16 | Oracle International Corporation | System and method for providing active-passive routing in a traffic director environment |
US8521739B1 (en) | 2011-10-21 | 2013-08-27 | Google Inc. | Creation of inferred queries for use as query suggestions |
US9355191B1 (en) | 2012-01-24 | 2016-05-31 | Google Inc. | Identification of query completions which change users' original search intent |
US8972388B1 (en) | 2012-02-29 | 2015-03-03 | Google Inc. | Demotion of already observed search query completions |
US9195706B1 (en) | 2012-03-02 | 2015-11-24 | Google Inc. | Processing of document metadata for use as query suggestions |
JP5955080B2 (en) * | 2012-04-25 | 2016-07-20 | キヤノン株式会社 | Information retrieval apparatus and control method and program thereof |
US8818791B2 (en) | 2012-04-30 | 2014-08-26 | Google Inc. | Techniques for assisting a user in the textual input of names of entities to a user device in multiple different languages |
US8954465B2 (en) | 2012-05-22 | 2015-02-10 | Google Inc. | Creating query suggestions based on processing of descriptive term in a partial query |
CN103581275B (en) * | 2012-08-09 | 2018-02-27 | 腾讯科技(深圳)有限公司 | A kind of off-line test method and system of browser address bar intelligent prompt algorithm |
DE102013004246A1 (en) * | 2013-03-12 | 2014-09-18 | Audi Ag | A device associated with a vehicle with spelling means - completion mark |
CN103559307A (en) * | 2013-11-18 | 2014-02-05 | 中国农业银行股份有限公司 | Caching method and device for query |
CN104965826B (en) * | 2014-04-18 | 2019-04-16 | 腾讯科技(深圳)有限公司 | Search method and retrieval device based on browser |
TWI712899B (en) * | 2015-07-28 | 2020-12-11 | 香港商阿里巴巴集團服務有限公司 | Information query method and device |
US9953185B2 (en) * | 2015-11-24 | 2018-04-24 | Google Llc | Identifying query patterns and associated aggregate statistics among search queries |
US10606873B2 (en) * | 2016-08-16 | 2020-03-31 | Ebay Inc. | Search index trimming |
US10817551B2 (en) | 2017-04-25 | 2020-10-27 | Panasonic Intellectual Property Management Co., Ltd. | Method for expanding word, word expanding apparatus, and non-transitory computer-readable recording medium |
CN109145080B (en) * | 2018-07-26 | 2021-01-01 | 新华三信息安全技术有限公司 | Text fingerprint obtaining method and device |
CN109214167B (en) * | 2018-08-01 | 2021-04-16 | 深圳市文鼎创数据科技有限公司 | Intelligent key safety equipment and key recovery method and storage medium thereof |
JP6568284B1 (en) * | 2018-10-02 | 2019-08-28 | ヤフー株式会社 | Providing device, providing method, and providing program |
CN110782892B (en) * | 2019-10-25 | 2022-03-25 | 四川长虹电器股份有限公司 | Voice text error correction method |
US11853381B2 (en) * | 2020-11-13 | 2023-12-26 | Google Llc | Hybrid fetching using a on-device cache |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805911A (en) * | 1995-02-01 | 1998-09-08 | Microsoft Corporation | Word prediction system |
US6006225A (en) * | 1998-06-15 | 1999-12-21 | Amazon.Com | Refining search queries by the suggestion of correlated terms from prior searches |
US6199986B1 (en) * | 1999-10-21 | 2001-03-13 | University Of Rochester | Rapid, automatic measurement of the eye's wave aberration |
US6281886B1 (en) * | 1998-07-30 | 2001-08-28 | International Business Machines Corporation | Touchscreen keyboard support for multi-byte character languages |
US6393389B1 (en) * | 1999-09-23 | 2002-05-21 | Xerox Corporation | Using ranked translation choices to obtain sequences indicating meaning of multi-token expressions |
US6411948B1 (en) * | 1998-12-15 | 2002-06-25 | International Business Machines Corporation | Method, system and computer program product for automatically capturing language translation and sorting information in a text class |
US20030037050A1 (en) * | 2002-08-30 | 2003-02-20 | Emergency 24, Inc. | System and method for predicting additional search results of a computerized database search user based on an initial search query |
US6564213B1 (en) * | 2000-04-18 | 2003-05-13 | Amazon.Com, Inc. | Search query autocompletion |
US20040010520A1 (en) * | 2002-07-11 | 2004-01-15 | Andy Tsang | Portal bridge |
US6687689B1 (en) * | 2000-06-16 | 2004-02-03 | Nusuara Technologies Sdn. Bhd. | System and methods for document retrieval using natural language-based queries |
US6708250B2 (en) * | 2001-09-28 | 2004-03-16 | Mosaid Technologies Incorporated | Circuit and method for performing variable width searches in a content addressable memory |
US6832218B1 (en) * | 2000-09-22 | 2004-12-14 | International Business Machines Corporation | System and method for associating search results |
US6956968B1 (en) * | 1999-01-04 | 2005-10-18 | Zi Technology Corporation, Ltd. | Database engines for processing ideographic characters and methods therefor |
US7031961B2 (en) * | 1999-05-05 | 2006-04-18 | Google, Inc. | System and method for searching and recommending objects from a categorically organized information repository |
US20070050352A1 (en) * | 2005-08-30 | 2007-03-01 | Nhn Corporation | System and method for providing autocomplete query using automatic query transform |
US7188304B2 (en) * | 2002-04-16 | 2007-03-06 | Fujitsu Limited | Conversion processing system of character information |
US7293231B1 (en) * | 1999-03-18 | 2007-11-06 | British Columbia Ltd. | Data entry for personal computing devices |
US20080040323A1 (en) * | 2006-08-10 | 2008-02-14 | Yahoo! Inc. | Method and apparatus for reconstructing a search query |
US20080201227A1 (en) * | 2006-11-07 | 2008-08-21 | Lucia Urban Bakewell | Interactive, Internet-based, trip planning, travel resource, travel community, virtual travel, travel-based education, travel-related gaming and virtual/live tour system, methods, and processes, emphasizing a user's ability to tailor complete travel, trip, route, game and touring choices to unique user-specified personal interests, preferences, and special requirements for self and companions |
Family Cites Families (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5270927A (en) | 1990-09-10 | 1993-12-14 | At&T Bell Laboratories | Method for conversion of phonetic Chinese to character Chinese |
US6243071B1 (en) | 1993-11-03 | 2001-06-05 | Apple Computer, Inc. | Tool set for navigating through an electronic book |
US5687364A (en) | 1994-09-16 | 1997-11-11 | Xerox Corporation | Method for learning to infer the topical content of documents based upon their lexical content |
US5649222A (en) | 1995-05-08 | 1997-07-15 | Microsoft Corporation | Method for background spell checking a word processing document |
US5873107A (en) | 1996-03-29 | 1999-02-16 | Apple Computer, Inc. | System for automatically retrieving information relevant to text being authored |
US6819336B1 (en) | 1996-05-07 | 2004-11-16 | Sun Microsystems, Inc. | Tooltips on webpages |
US5845300A (en) | 1996-06-05 | 1998-12-01 | Microsoft Corporation | Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items |
US5907680A (en) | 1996-06-24 | 1999-05-25 | Sun Microsystems, Inc. | Client-side, server-side and collaborative spell check of URL's |
US5761436A (en) | 1996-07-01 | 1998-06-02 | Sun Microsystems, Inc. | Method and apparatus for combining truncated hyperlinks to form a hyperlink aggregate |
US5920854A (en) | 1996-08-14 | 1999-07-06 | Infoseek Corporation | Real-time document collection search engine with phrase indexing |
US5995928A (en) | 1996-10-02 | 1999-11-30 | Speechworks International, Inc. | Method and apparatus for continuous spelling speech recognition with early identification |
JPH10141970A (en) * | 1996-11-15 | 1998-05-29 | Sanyo Electric Co Ltd | Retrieval apparatus |
US6096096A (en) | 1996-12-13 | 2000-08-01 | Silicon Graphics, Inc. | Web-site delivery |
US5892919A (en) | 1997-06-23 | 1999-04-06 | Sun Microsystems, Inc. | Spell checking universal resource locator (URL) by comparing the URL against a cache containing entries relating incorrect URLs submitted by users to corresponding correct URLs |
US5954798A (en) | 1997-10-06 | 1999-09-21 | Ncr Corporation | Mechanism for dependably managing web synchronization and tracking operations among multiple browsers |
US6377965B1 (en) * | 1997-11-07 | 2002-04-23 | Microsoft Corporation | Automatic word completion system for partially entered data |
US6037934A (en) | 1997-11-21 | 2000-03-14 | International Business Machines Corporation | Named bookmark sets |
US6041360A (en) | 1997-11-21 | 2000-03-21 | International Business Machines Corporation | Web browser support for dynamic update of bookmarks |
US6032162A (en) | 1998-01-08 | 2000-02-29 | Burke; Alexander James | System for processing and storing internet bookmark address links |
US6067565A (en) | 1998-01-15 | 2000-05-23 | Microsoft Corporation | Technique for prefetching a web page of potential future interest in lieu of continuing a current information download |
US7124129B2 (en) | 1998-03-03 | 2006-10-17 | A9.Com, Inc. | Identifying the items most relevant to a current query based on items selected in connection with similar queries |
US6105018A (en) | 1998-03-26 | 2000-08-15 | Oracle Corporation | Minimum leaf spanning tree |
US6125361A (en) | 1998-04-10 | 2000-09-26 | International Business Machines Corporation | Feature diffusion across hyperlinks |
US6212522B1 (en) | 1998-05-15 | 2001-04-03 | International Business Machines Corporation | Searching and conditionally serving bookmark sets based on keywords |
US6144958A (en) | 1998-07-15 | 2000-11-07 | Amazon.Com, Inc. | System and method for correcting spelling errors in search queries |
US6278449B1 (en) | 1998-09-03 | 2001-08-21 | Sony Corporation | Apparatus and method for designating information to be retrieved over a computer network |
US20020174145A1 (en) | 1998-10-16 | 2002-11-21 | Brady Duga | Automatic data formatting using a hypertext language |
US6751606B1 (en) | 1998-12-23 | 2004-06-15 | Microsoft Corporation | System for enhancing a query interface |
WO2000057265A1 (en) | 1999-03-18 | 2000-09-28 | 602531 British Columbia Ltd. | Data entry for personal computing devices |
US6631496B1 (en) | 1999-03-22 | 2003-10-07 | Nec Corporation | System for personalizing, organizing and managing web information |
US7181438B1 (en) | 1999-07-21 | 2007-02-20 | Alberti Anemometer, Llc | Database access system |
US6356908B1 (en) | 1999-07-30 | 2002-03-12 | International Business Machines Corporation | Automatic web page thumbnail generation |
US6321228B1 (en) | 1999-08-31 | 2001-11-20 | Powercast Media, Inc. | Internet search system for retrieving selected results from a previous search |
US6546393B1 (en) | 1999-10-07 | 2003-04-08 | Clickmarks, Inc. | System method and article of manufacture for dynamically user-generated internet search directory based on prioritized server-sided user bookmarks |
JP2001166868A (en) | 1999-12-08 | 2001-06-22 | Matsushita Electric Ind Co Ltd | Method and device for inputting chinese pin-yin by numeric key pad |
US6546388B1 (en) | 2000-01-14 | 2003-04-08 | International Business Machines Corporation | Metadata search results ranking system |
US6704727B1 (en) | 2000-01-31 | 2004-03-09 | Overture Services, Inc. | Method and system for generating a set of search terms |
US8291007B2 (en) | 2000-02-22 | 2012-10-16 | Flash Networks Ltd | System and method to accelerate client/server interactions using predictive requests |
JP2001249933A (en) * | 2000-03-06 | 2001-09-14 | Nippon Telegr & Teleph Corp <Ntt> | Retrieval word input complementing method and device and recording medium having program for executing the method stored thereon |
CA2407974A1 (en) | 2000-03-16 | 2001-09-20 | Poly Vista, Inc. | A system and method for analyzing a query and generating results and related questions |
US6876997B1 (en) | 2000-05-22 | 2005-04-05 | Overture Services, Inc. | Method and apparatus for indentifying related searches in a database search system |
US7149970B1 (en) | 2000-06-23 | 2006-12-12 | Microsoft Corporation | Method and system for filtering and selecting from a candidate list generated by a stochastic input method |
US8706747B2 (en) * | 2000-07-06 | 2014-04-22 | Google Inc. | Systems and methods for searching using queries written in a different character-set and/or language from the target pages |
EP1182581B1 (en) | 2000-08-18 | 2005-01-26 | Exalead | Searching tool and process for unified search using categories and keywords |
US6647383B1 (en) | 2000-09-01 | 2003-11-11 | Lucent Technologies Inc. | System and method for providing interactive dialogue and iterative search functions to find information |
NO313399B1 (en) | 2000-09-14 | 2002-09-23 | Fast Search & Transfer Asa | Procedure for searching and analyzing information in computer networks |
US6598051B1 (en) | 2000-09-19 | 2003-07-22 | Altavista Company | Web page connectivity server |
US6735592B1 (en) | 2000-11-16 | 2004-05-11 | Discern Communications | System, method, and computer program product for a network-based content exchange system |
US7139973B1 (en) | 2000-11-20 | 2006-11-21 | Cisco Technology, Inc. | Dynamic information object cache approach useful in a vocabulary retrieval system |
US20020078045A1 (en) | 2000-12-14 | 2002-06-20 | Rabindranath Dutta | System, method, and program for ranking search results using user category weighting |
US7216290B2 (en) | 2001-04-25 | 2007-05-08 | Amplify, Llc | System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources |
US20020187815A1 (en) | 2001-06-06 | 2002-12-12 | Douglas Deeds | Contact lookup by partial string entry in a communication device |
US7136845B2 (en) | 2001-07-12 | 2006-11-14 | Microsoft Corporation | System and method for query refinement to enable improved searching based on identifying and utilizing popular concepts related to users' queries |
US6990494B2 (en) | 2001-07-27 | 2006-01-24 | International Business Machines Corporation | Identifying links of interest in a web page |
US6778979B2 (en) | 2001-08-13 | 2004-08-17 | Xerox Corporation | System for automatically generating queries |
US8112529B2 (en) | 2001-08-20 | 2012-02-07 | Masterobjects, Inc. | System and method for asynchronous client server session communication |
US7752326B2 (en) | 2001-08-20 | 2010-07-06 | Masterobjects, Inc. | System and method for utilizing asynchronous client server communication objects |
US7568150B2 (en) | 2001-11-29 | 2009-07-28 | International Business Machines Corporation | Apparatus and method of highlighting categorized web pages on a web server |
US7096218B2 (en) | 2002-01-14 | 2006-08-22 | International Business Machines Corporation | Search refinement graphical user interface |
JP2003223586A (en) | 2002-01-30 | 2003-08-08 | Matsushita Electric Ind Co Ltd | Information processor, url providing device, information processing system and information processing method |
US20030145087A1 (en) | 2002-01-31 | 2003-07-31 | Keller S. Brandon | Generating a list of addresses in a server |
US6864809B2 (en) | 2002-02-28 | 2005-03-08 | Zi Technology Corporation Ltd | Korean language predictive mechanism for text entry by a user |
US7174288B2 (en) * | 2002-05-08 | 2007-02-06 | Microsoft Corporation | Multi-modal entry of ideogrammatic languages |
US20030216930A1 (en) | 2002-05-16 | 2003-11-20 | Dunham Carl A. | Cost-per-action search engine system, method and apparatus |
US20030220913A1 (en) | 2002-05-24 | 2003-11-27 | International Business Machines Corporation | Techniques for personalized and adaptive search services |
US7418494B2 (en) | 2002-07-25 | 2008-08-26 | Intellectual Ventures Holding 40 Llc | Method and system for background replication of data objects |
US8005919B2 (en) | 2002-11-18 | 2011-08-23 | Aol Inc. | Host-based intelligent results related to a character stream |
US7111000B2 (en) | 2003-01-06 | 2006-09-19 | Microsoft Corporation | Retrieval of structured documents |
EP1586191A4 (en) | 2003-01-22 | 2009-03-11 | Min-Kyum Kim | Apparatus and method for inputting alphabet characters |
US20050149507A1 (en) | 2003-02-05 | 2005-07-07 | Nye Timothy G. | Systems and methods for identifying an internet resource address |
US7941762B1 (en) | 2003-02-14 | 2011-05-10 | Shoretel, Inc. | Display of real time information for selected possibilities |
US8447775B2 (en) | 2003-06-13 | 2013-05-21 | Microsoft Corporation | Database query user interface to assist in efficient and accurate query construction |
US7225187B2 (en) | 2003-06-26 | 2007-05-29 | Microsoft Corporation | Systems and methods for performing background queries from content and activity |
US7395203B2 (en) | 2003-07-30 | 2008-07-01 | Tegic Communications, Inc. | System and method for disambiguating phonetic input |
US7467131B1 (en) | 2003-09-30 | 2008-12-16 | Google Inc. | Method and system for query data caching and optimization in a search engine system |
US7640232B2 (en) | 2003-10-14 | 2009-12-29 | Aol Llc | Search enhancement system with information from a selected source |
US7181447B2 (en) | 2003-12-08 | 2007-02-20 | Iac Search And Media, Inc. | Methods and systems for conceptually organizing and presenting information |
US7890526B1 (en) | 2003-12-30 | 2011-02-15 | Microsoft Corporation | Incremental query refinement |
US7158966B2 (en) | 2004-03-09 | 2007-01-02 | Microsoft Corporation | User intent discovery |
US7254774B2 (en) | 2004-03-16 | 2007-08-07 | Microsoft Corporation | Systems and methods for improved spell checking |
US7587324B2 (en) | 2004-03-30 | 2009-09-08 | Sap Ag | Methods and systems for detecting user satisfaction |
US20050256846A1 (en) | 2004-05-12 | 2005-11-17 | Microsoft Corporation | Interactive client-server data search |
US7836044B2 (en) | 2004-06-22 | 2010-11-16 | Google Inc. | Anticipated query generation and processing in a search engine |
US7487145B1 (en) | 2004-06-22 | 2009-02-03 | Google Inc. | Method and system for autocompletion using ranked results |
US7437364B1 (en) | 2004-06-30 | 2008-10-14 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
CN101390042B (en) | 2004-07-09 | 2010-11-17 | 蒂吉通信系统公司 | Disambiguating ambiguous characters |
US20060106769A1 (en) | 2004-11-12 | 2006-05-18 | Gibbs Kevin A | Method and system for autocompletion for languages having ideographs and phonetic characters |
US20060195435A1 (en) | 2005-02-28 | 2006-08-31 | Microsoft Corporation | System and method for providing query assistance |
US20060224871A1 (en) | 2005-03-31 | 2006-10-05 | Texas Instruments Incorporated | Wide branch target buffer |
US7647312B2 (en) | 2005-05-12 | 2010-01-12 | Microsoft Corporation | System and method for automatic generation of suggested inline search terms |
US8832055B1 (en) | 2005-06-16 | 2014-09-09 | Gere Dev. Applications, LLC | Auto-refinement of search results based on monitored search activities of users |
US7979417B1 (en) | 2005-06-30 | 2011-07-12 | Google Inc. | Embedded communication of link information |
US7672932B2 (en) | 2005-08-24 | 2010-03-02 | Yahoo! Inc. | Speculative search result based on a not-yet-submitted search query |
US7516124B2 (en) | 2005-12-20 | 2009-04-07 | Yahoo! Inc. | Interactive search engine |
US7747639B2 (en) | 2005-08-24 | 2010-06-29 | Yahoo! Inc. | Alternative search query prediction |
KR100643801B1 (en) | 2005-10-26 | 2006-11-10 | 엔에이치엔(주) | System and method for providing automatically completed recommendation word by interworking a plurality of languages |
US7647131B1 (en) | 2006-03-09 | 2010-01-12 | Rockwell Automation Technologies, Inc. | Dynamic determination of sampling rates |
US7689540B2 (en) | 2006-05-09 | 2010-03-30 | Aol Llc | Collaborative user query refinement |
US7660815B1 (en) | 2006-06-30 | 2010-02-09 | Amazon Technologies, Inc. | Method and system for occurrence frequency-based scaling of navigation path weights among online content sources |
US8395586B2 (en) | 2006-06-30 | 2013-03-12 | Research In Motion Limited | Method of learning a context of a segment of text, and associated handheld electronic device |
US8069028B2 (en) | 2006-11-10 | 2011-11-29 | Research In Motion Limited | Handheld electronic device having selectable language indicator for language selection and method therefor |
US20090043741A1 (en) | 2007-08-09 | 2009-02-12 | Dohyung Kim | Autocompletion and Automatic Input Method Correction for Partially Entered Search Query |
US8312032B2 (en) | 2008-07-10 | 2012-11-13 | Google Inc. | Dictionary suggestions for partial user entries |
-
2004
- 2004-11-12 US US10/987,769 patent/US20060106769A1/en not_active Abandoned
-
2005
- 2005-10-11 CN CN2005800463322A patent/CN101194256B/en active Active
- 2005-10-11 KR KR1020077013174A patent/KR20070086055A/en active Search and Examination
- 2005-10-11 WO PCT/US2005/036553 patent/WO2006055120A2/en active Application Filing
- 2005-10-11 JP JP2007541185A patent/JP5459958B2/en not_active Expired - Fee Related
-
2012
- 2012-03-02 JP JP2012046492A patent/JP5557862B2/en not_active Expired - Fee Related
-
2013
- 2013-09-24 US US14/035,831 patent/US9443035B2/en active Active
-
2014
- 2014-10-27 US US14/525,104 patent/US9436781B2/en not_active Expired - Fee Related
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805911A (en) * | 1995-02-01 | 1998-09-08 | Microsoft Corporation | Word prediction system |
US6006225A (en) * | 1998-06-15 | 1999-12-21 | Amazon.Com | Refining search queries by the suggestion of correlated terms from prior searches |
US6281886B1 (en) * | 1998-07-30 | 2001-08-28 | International Business Machines Corporation | Touchscreen keyboard support for multi-byte character languages |
US6411948B1 (en) * | 1998-12-15 | 2002-06-25 | International Business Machines Corporation | Method, system and computer program product for automatically capturing language translation and sorting information in a text class |
US6956968B1 (en) * | 1999-01-04 | 2005-10-18 | Zi Technology Corporation, Ltd. | Database engines for processing ideographic characters and methods therefor |
US7293231B1 (en) * | 1999-03-18 | 2007-11-06 | British Columbia Ltd. | Data entry for personal computing devices |
US7031961B2 (en) * | 1999-05-05 | 2006-04-18 | Google, Inc. | System and method for searching and recommending objects from a categorically organized information repository |
US6393389B1 (en) * | 1999-09-23 | 2002-05-21 | Xerox Corporation | Using ranked translation choices to obtain sequences indicating meaning of multi-token expressions |
US6199986B1 (en) * | 1999-10-21 | 2001-03-13 | University Of Rochester | Rapid, automatic measurement of the eye's wave aberration |
US6564213B1 (en) * | 2000-04-18 | 2003-05-13 | Amazon.Com, Inc. | Search query autocompletion |
US6687689B1 (en) * | 2000-06-16 | 2004-02-03 | Nusuara Technologies Sdn. Bhd. | System and methods for document retrieval using natural language-based queries |
US6832218B1 (en) * | 2000-09-22 | 2004-12-14 | International Business Machines Corporation | System and method for associating search results |
US6708250B2 (en) * | 2001-09-28 | 2004-03-16 | Mosaid Technologies Incorporated | Circuit and method for performing variable width searches in a content addressable memory |
US7188304B2 (en) * | 2002-04-16 | 2007-03-06 | Fujitsu Limited | Conversion processing system of character information |
US20040010520A1 (en) * | 2002-07-11 | 2004-01-15 | Andy Tsang | Portal bridge |
US20030037050A1 (en) * | 2002-08-30 | 2003-02-20 | Emergency 24, Inc. | System and method for predicting additional search results of a computerized database search user based on an initial search query |
US20070050352A1 (en) * | 2005-08-30 | 2007-03-01 | Nhn Corporation | System and method for providing autocomplete query using automatic query transform |
US20080040323A1 (en) * | 2006-08-10 | 2008-02-14 | Yahoo! Inc. | Method and apparatus for reconstructing a search query |
US20080201227A1 (en) * | 2006-11-07 | 2008-08-21 | Lucia Urban Bakewell | Interactive, Internet-based, trip planning, travel resource, travel community, virtual travel, travel-based education, travel-related gaming and virtual/live tour system, methods, and processes, emphasizing a user's ability to tailor complete travel, trip, route, game and touring choices to unique user-specified personal interests, preferences, and special requirements for self and companions |
Cited By (296)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110055040A1 (en) * | 2002-10-21 | 2011-03-03 | Ebay Inc. | Listing recommendation in a network-based commerce system |
US20040260621A1 (en) * | 2002-10-21 | 2004-12-23 | Foster Benjamin David | Listing recommendation in a network-based commerce system |
US8712868B2 (en) | 2002-10-21 | 2014-04-29 | Ebay Inc. | Listing recommendation using generation of a user-specific query in a network-based commerce system |
US7831476B2 (en) | 2002-10-21 | 2010-11-09 | Ebay Inc. | Listing recommendation in a network-based commerce system |
US20110231206A1 (en) * | 2004-03-26 | 2011-09-22 | Ecapable, Inc. | Method which creates a community-wide health information infrastructure |
US20060224573A1 (en) * | 2004-03-26 | 2006-10-05 | Ecapable, Inc. | Method and system to facilitate decision point information flow and to improve compliance with a given standardized vocabulary |
US20100293001A1 (en) * | 2004-03-26 | 2010-11-18 | Ecapable, Inc. | Method and System to Create a National Health Information Infrastructure |
US20100299320A1 (en) * | 2004-03-26 | 2010-11-25 | Ecapable, Inc. | Method and System to Facilitate Decision Point Information Flow and to Improve Compliance with a Given Standardized Vocabulary |
US20080104037A1 (en) * | 2004-04-07 | 2008-05-01 | Inquira, Inc. | Automated scheme for identifying user intent in real-time |
US8924410B2 (en) | 2004-04-07 | 2014-12-30 | Oracle International Corporation | Automated scheme for identifying user intent in real-time |
US9747390B2 (en) | 2004-04-07 | 2017-08-29 | Oracle Otc Subsidiary Llc | Ontology for use with a system, method, and computer readable medium for retrieving information and response to a query |
US8612208B2 (en) | 2004-04-07 | 2013-12-17 | Oracle Otc Subsidiary Llc | Ontology for use with a system, method, and computer readable medium for retrieving information and response to a query |
US8082264B2 (en) * | 2004-04-07 | 2011-12-20 | Inquira, Inc. | Automated scheme for identifying user intent in real-time |
US9245004B1 (en) | 2004-06-22 | 2016-01-26 | Google Inc. | Predicted query generation from partial search query input |
US8515954B2 (en) | 2004-06-22 | 2013-08-20 | Google Inc. | Displaying autocompletion of partial search query with predicted search results |
US20090119289A1 (en) * | 2004-06-22 | 2009-05-07 | Gibbs Kevin A | Method and System for Autocompletion Using Ranked Results |
US7487145B1 (en) * | 2004-06-22 | 2009-02-03 | Google Inc. | Method and system for autocompletion using ranked results |
US8271471B1 (en) | 2004-06-22 | 2012-09-18 | Google Inc. | Anticipated query generation and processing in a search engine |
US9081851B2 (en) | 2004-06-22 | 2015-07-14 | Google Inc. | Method and system for autocompletion using ranked results |
US9235637B1 (en) | 2004-06-22 | 2016-01-12 | Google Inc. | Systems and methods for generating predicted queries and corresponding search results |
US9542453B1 (en) | 2004-07-13 | 2017-01-10 | Google Inc. | Systems and methods for promoting search results based on personal information |
US20060020587A1 (en) * | 2004-07-21 | 2006-01-26 | Cisco Technology, Inc. | Method and system to collect and search user-selected content |
US9026534B2 (en) * | 2004-07-21 | 2015-05-05 | Cisco Technology, Inc. | Method and system to collect and search user-selected content |
US8271546B2 (en) | 2004-11-11 | 2012-09-18 | Google Inc. | Method and system for URL autocompletion using ranked results |
US8027974B2 (en) | 2004-11-11 | 2011-09-27 | Google Inc. | Method and system for URL autocompletion using ranked results |
US20090132529A1 (en) * | 2004-11-11 | 2009-05-21 | Gibbs Kevin A | Method and System for URL Autocompletion Using Ranked Results |
US9436781B2 (en) | 2004-11-12 | 2016-09-06 | Google Inc. | Method and system for autocompletion for languages having ideographs and phonetic characters |
US9443035B2 (en) | 2004-11-12 | 2016-09-13 | Google Inc. | Method and system for autocompletion for languages having ideographs and phonetic characters |
US8874570B1 (en) * | 2004-11-30 | 2014-10-28 | Google Inc. | Search boost vector based on co-visitation information |
US20060195435A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | System and method for providing query assistance |
US7698442B1 (en) * | 2005-03-03 | 2010-04-13 | Voltage Security, Inc. | Server-based universal resource locator verification service |
US7574436B2 (en) * | 2005-03-10 | 2009-08-11 | Yahoo! Inc. | Reranking and increasing the relevance of the results of Internet searches |
US20060206476A1 (en) * | 2005-03-10 | 2006-09-14 | Yahoo!, Inc. | Reranking and increasing the relevance of the results of Internet searches |
US10423668B2 (en) * | 2005-03-17 | 2019-09-24 | Zetta Research | System, method, and user interface for organization and searching information |
US20110289074A1 (en) * | 2005-03-17 | 2011-11-24 | Roy Leban | System, method, and user interface for organization and searching information |
US20100153134A1 (en) * | 2005-03-24 | 2010-06-17 | Ecapable, Inc. | National Health Information and Electronic Medical Record System and Method |
US7506254B2 (en) * | 2005-04-21 | 2009-03-17 | Google Inc. | Predictive conversion of user input |
US20060241933A1 (en) * | 2005-04-21 | 2006-10-26 | Franz Alexander M | Predictive conversion of user input |
KR101249663B1 (en) | 2005-04-21 | 2013-04-01 | 구글 인코포레이티드 | Predictive conversion of user input |
US20100094710A1 (en) * | 2005-04-26 | 2010-04-15 | Affle Limited | Method and apparatus to provide information and consumer-acceptable advertising via data communications clients |
US8086489B2 (en) * | 2005-04-26 | 2011-12-27 | Affle Limited | Method and apparatus to provide information and consumer-acceptable advertising via data communications clients |
US20060253427A1 (en) * | 2005-05-04 | 2006-11-09 | Jun Wu | Suggesting and refining user input based on original user input |
US8438142B2 (en) * | 2005-05-04 | 2013-05-07 | Google Inc. | Suggesting and refining user input based on original user input |
US9020924B2 (en) | 2005-05-04 | 2015-04-28 | Google Inc. | Suggesting and refining user input based on original user input |
US9411906B2 (en) | 2005-05-04 | 2016-08-09 | Google Inc. | Suggesting and refining user input based on original user input |
US7647312B2 (en) * | 2005-05-12 | 2010-01-12 | Microsoft Corporation | System and method for automatic generation of suggested inline search terms |
US20060259479A1 (en) * | 2005-05-12 | 2006-11-16 | Microsoft Corporation | System and method for automatic generation of suggested inline search terms |
US9892156B2 (en) | 2005-06-20 | 2018-02-13 | Paypal, Inc. | System to generate related search queries |
US20060288000A1 (en) * | 2005-06-20 | 2006-12-21 | Raghav Gupta | System to generate related search queries |
US9183309B2 (en) | 2005-06-20 | 2015-11-10 | Paypal, Inc. | System to generate related search queries |
US8200687B2 (en) * | 2005-06-20 | 2012-06-12 | Ebay Inc. | System to generate related search queries |
US8626734B2 (en) * | 2005-06-23 | 2014-01-07 | Microsoft Corporation | Application launching via indexed data |
US20100211587A1 (en) * | 2005-06-23 | 2010-08-19 | Microsoft Corporation | Application launching via indexed data |
US20070038620A1 (en) * | 2005-08-10 | 2007-02-15 | Microsoft Corporation | Consumer-focused results ordering |
US7693901B2 (en) * | 2005-08-10 | 2010-04-06 | Microsoft Corporation | Consumer-focused results ordering |
US20070050339A1 (en) * | 2005-08-24 | 2007-03-01 | Richard Kasperski | Biasing queries to determine suggested queries |
US7958110B2 (en) * | 2005-08-24 | 2011-06-07 | Yahoo! Inc. | Performing an ordered search of different databases in response to receiving a search query and without receiving any additional user input |
JP2015038767A (en) * | 2005-08-24 | 2015-02-26 | ヤフー! インコーポレイテッド | Suggestion of alternative query prior to completion of search query |
US8666962B2 (en) | 2005-08-24 | 2014-03-04 | Yahoo! Inc. | Speculative search result on a not-yet-submitted search query |
US7844599B2 (en) * | 2005-08-24 | 2010-11-30 | Yahoo! Inc. | Biasing queries to determine suggested queries |
US20100161661A1 (en) * | 2005-08-24 | 2010-06-24 | Stephen Hood | Performing an ordered search of different databases |
US8452745B2 (en) * | 2005-08-30 | 2013-05-28 | Affle Holdings Pte. Ltd. | Online search system, method and computer program |
US20080270379A1 (en) * | 2005-08-30 | 2008-10-30 | Affle Limited | Online Search System, Method and Computer Program |
US7584188B2 (en) * | 2005-11-23 | 2009-09-01 | Dun And Bradstreet | System and method for searching and matching data having ideogrammatic content |
US20070162445A1 (en) * | 2005-11-23 | 2007-07-12 | Dun And Bradstreet | System and method for searching and matching data having ideogrammatic content |
US8639684B2 (en) * | 2005-12-30 | 2014-01-28 | Google Inc. | Dynamic search box for web browser |
US9275106B2 (en) | 2005-12-30 | 2016-03-01 | Google Inc. | Dynamic search box for web browser |
US20110302188A1 (en) * | 2005-12-30 | 2011-12-08 | Google Inc. | Dynamic search box for web browser |
US7689554B2 (en) * | 2006-02-28 | 2010-03-30 | Yahoo! Inc. | System and method for identifying related queries for languages with multiple writing systems |
US20070203894A1 (en) * | 2006-02-28 | 2007-08-30 | Rosie Jones | System and method for identifying related queries for languages with multiple writing systems |
US20090049020A1 (en) * | 2006-04-06 | 2009-02-19 | Nhn Corporation | System and method for providing personalized recommended word and computer readable recording medium recording program for implementing the method |
US8793270B2 (en) * | 2006-04-06 | 2014-07-29 | Nhn Corporation | System and method for providing personalized recommended word and computer readable recording medium recording program for implementing the method |
US20110131210A1 (en) * | 2006-05-10 | 2011-06-02 | Inquira, Inc. | Guided navigation system |
US20070282769A1 (en) * | 2006-05-10 | 2007-12-06 | Inquira, Inc. | Guided navigation system |
US7921099B2 (en) | 2006-05-10 | 2011-04-05 | Inquira, Inc. | Guided navigation system |
US8296284B2 (en) | 2006-05-10 | 2012-10-23 | Oracle International Corp. | Guided navigation system |
US20070282832A1 (en) * | 2006-06-01 | 2007-12-06 | Microsoft Corporation | Automatic tracking of user data and reputation checking |
US7516418B2 (en) * | 2006-06-01 | 2009-04-07 | Microsoft Corporation | Automatic tracking of user data and reputation checking |
US7702688B2 (en) * | 2006-06-22 | 2010-04-20 | Sony Ericsson Mobile Communications Ab | Predictive data search |
US20070299841A1 (en) * | 2006-06-22 | 2007-12-27 | Sony Ericsson Mobile Communications Ab | Predictive data search |
US20110040778A1 (en) * | 2006-07-18 | 2011-02-17 | Webex Communications, Inc. | Methods and apparatuses for dynamically displaying search suggestions |
US8380733B2 (en) * | 2006-07-18 | 2013-02-19 | Cisco Technology, Inc. | Methods and apparatuses for dynamically displaying search suggestions |
US20100287149A1 (en) * | 2006-08-10 | 2010-11-11 | Yahoo! Inc. | Method and apparatus for reconstructing a search query |
US20080040323A1 (en) * | 2006-08-10 | 2008-02-14 | Yahoo! Inc. | Method and apparatus for reconstructing a search query |
US7716201B2 (en) * | 2006-08-10 | 2010-05-11 | Yahoo! Inc. | Method and apparatus for reconstructing a search query |
US8209317B2 (en) | 2006-08-10 | 2012-06-26 | Yahoo! Inc. | Method and apparatus for reconstructing a search query |
US8046347B2 (en) | 2006-08-10 | 2011-10-25 | Yahoo! Inc. | Method and apparatus for reconstructing a search query |
US9262528B2 (en) | 2006-08-14 | 2016-02-16 | Oracle International Corporation | Intent management tool for identifying concepts associated with a plurality of users' queries |
US20090077047A1 (en) * | 2006-08-14 | 2009-03-19 | Inquira, Inc. | Method and apparatus for identifying and classifying query intent |
US8478780B2 (en) | 2006-08-14 | 2013-07-02 | Oracle Otc Subsidiary Llc | Method and apparatus for identifying and classifying query intent |
US7747601B2 (en) | 2006-08-14 | 2010-06-29 | Inquira, Inc. | Method and apparatus for identifying and classifying query intent |
US20100205180A1 (en) * | 2006-08-14 | 2010-08-12 | Inquira, Inc. | Method and apparatus for identifying and classifying query intent |
US8781813B2 (en) | 2006-08-14 | 2014-07-15 | Oracle Otc Subsidiary Llc | Intent management tool for identifying concepts associated with a plurality of users' queries |
US20090089044A1 (en) * | 2006-08-14 | 2009-04-02 | Inquira, Inc. | Intent management tool |
US8898140B2 (en) | 2006-08-14 | 2014-11-25 | Oracle Otc Subsidiary Llc | Identifying and classifying query intent |
US8271265B2 (en) * | 2006-08-25 | 2012-09-18 | Nhn Corporation | Method for searching for chinese character using tone mark and system for executing the method |
US20080052064A1 (en) * | 2006-08-25 | 2008-02-28 | Nhn Corporation | Method for searching for chinese character using tone mark and system for executing the method |
US20080109401A1 (en) * | 2006-09-12 | 2008-05-08 | Microsoft Corporation | Presenting predetermined search results with query suggestions |
US10510341B1 (en) | 2006-10-16 | 2019-12-17 | Vb Assets, Llc | System and method for a cooperative conversational voice user interface |
US10515628B2 (en) | 2006-10-16 | 2019-12-24 | Vb Assets, Llc | System and method for a cooperative conversational voice user interface |
US20150228276A1 (en) * | 2006-10-16 | 2015-08-13 | Voicebox Technologies Corporation | System and method for a cooperative conversational voice user interface |
US11222626B2 (en) * | 2006-10-16 | 2022-01-11 | Vb Assets, Llc | System and method for a cooperative conversational voice user interface |
US10297249B2 (en) * | 2006-10-16 | 2019-05-21 | Vb Assets, Llc | System and method for a cooperative conversational voice user interface |
US10755699B2 (en) | 2006-10-16 | 2020-08-25 | Vb Assets, Llc | System and method for a cooperative conversational voice user interface |
US20080215976A1 (en) * | 2006-11-27 | 2008-09-04 | Inquira, Inc. | Automated support scheme for electronic forms |
US8095476B2 (en) | 2006-11-27 | 2012-01-10 | Inquira, Inc. | Automated support scheme for electronic forms |
US20140164363A1 (en) * | 2007-01-07 | 2014-06-12 | Tropare, Inc. | Multi-Prefix Interactive Mobile Search |
US20080183673A1 (en) * | 2007-01-25 | 2008-07-31 | Microsoft Corporation | Finite-state model for processing web queries |
US8024319B2 (en) * | 2007-01-25 | 2011-09-20 | Microsoft Corporation | Finite-state model for processing web queries |
US20080189163A1 (en) * | 2007-02-05 | 2008-08-07 | Inquira, Inc. | Information management system |
US11080758B2 (en) | 2007-02-06 | 2021-08-03 | Vb Assets, Llc | System and method for delivering targeted advertisements and/or providing natural language processing based on advertisements |
US9116963B2 (en) | 2007-03-13 | 2015-08-25 | Google Inc. | Systems and methods for promoting personalized search results based on personal information |
US8504552B2 (en) * | 2007-03-26 | 2013-08-06 | Business Objects Software Ltd. | Query based paging through a collection of values |
US20080243762A1 (en) * | 2007-03-26 | 2008-10-02 | Business Objects, S.A. | Apparatus and method for query based paging through a collection of values |
US8261343B2 (en) | 2007-04-16 | 2012-09-04 | Panasonic Corporation | Processing of content with rights associated priority information based on conditions |
US20100070604A1 (en) * | 2007-04-16 | 2010-03-18 | Mami Kuramitsu | Terminal apparatus, right priority judging method, program, and integrated circuit |
US20080301122A1 (en) * | 2007-05-31 | 2008-12-04 | Amadeus S.A.S. | Searching techniques |
US8051040B2 (en) | 2007-06-08 | 2011-11-01 | Ebay Inc. | Electronic publication system |
US8606811B2 (en) | 2007-06-08 | 2013-12-10 | Ebay Inc. | Electronic publication system |
US20080306938A1 (en) * | 2007-06-08 | 2008-12-11 | Ebay Inc. | Electronic publication system |
US20080320411A1 (en) * | 2007-06-21 | 2008-12-25 | Yen-Fu Chen | Method of text type-ahead |
US9251137B2 (en) | 2007-06-21 | 2016-02-02 | International Business Machines Corporation | Method of text type-ahead |
US8812534B2 (en) | 2007-06-28 | 2014-08-19 | Microsoft Corporation | Machine assisted query formulation |
US8190627B2 (en) * | 2007-06-28 | 2012-05-29 | Microsoft Corporation | Machine assisted query formulation |
US20090006343A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Machine assisted query formulation |
KR101533570B1 (en) * | 2007-08-09 | 2015-07-06 | 구글 인코포레이티드 | Autocompletion and automatic input method correction for partially entered search query |
US20090043741A1 (en) * | 2007-08-09 | 2009-02-12 | Dohyung Kim | Autocompletion and Automatic Input Method Correction for Partially Entered Search Query |
US20090089282A1 (en) * | 2007-09-30 | 2009-04-02 | Nec (China) Co., Ltd. | Natural language based service selection system and method, service query system and method |
US8117178B2 (en) * | 2007-09-30 | 2012-02-14 | Nec (China) Co., Ltd | Natural language based service selection system and method, service query system and method |
US8694483B2 (en) * | 2007-10-19 | 2014-04-08 | Xerox Corporation | Real-time query suggestion in a troubleshooting context |
US20090106224A1 (en) * | 2007-10-19 | 2009-04-23 | Xerox Corporation | Real-time query suggestion in a troubleshooting context |
US8321403B1 (en) | 2007-11-14 | 2012-11-27 | Google Inc. | Web search refinement |
US8019748B1 (en) | 2007-11-14 | 2011-09-13 | Google Inc. | Web search refinement |
JP2011511970A (en) * | 2007-12-27 | 2011-04-14 | マイクロソフト コーポレーション | Sorting user browser history based on relevance |
CN101911042A (en) * | 2007-12-27 | 2010-12-08 | 微软公司 | Relevancy sorting of users browser history |
US9292578B2 (en) | 2007-12-27 | 2016-03-22 | Microsoft Technology Licensing, Llc | Relevancy sorting of user's browser history |
US20090171930A1 (en) * | 2007-12-27 | 2009-07-02 | Microsoft Corporation | Relevancy Sorting of User's Browser History |
US8510313B2 (en) | 2007-12-27 | 2013-08-13 | Microsoft Corporation | Relevancy sorting of user's browser history |
US9442982B2 (en) | 2007-12-27 | 2016-09-13 | Microsoft Technology Licensing, Llc | Relevancy sorting of user's browser history |
WO2009085664A3 (en) * | 2007-12-27 | 2009-09-11 | Microsoft Corporation | Relevancy sorting of users browser history |
US8131731B2 (en) | 2007-12-27 | 2012-03-06 | Microsoft Corporation | Relevancy sorting of user's browser history |
US7831595B2 (en) * | 2007-12-31 | 2010-11-09 | Yahoo! Inc. | Predicting and ranking search query results |
US20090171942A1 (en) * | 2007-12-31 | 2009-07-02 | Bipin Suresh | Predicting and ranking search query results |
US20090182741A1 (en) * | 2008-01-16 | 2009-07-16 | International Business Machines Corporation | Systems and Arrangements of Text Type-Ahead |
US8725753B2 (en) | 2008-01-16 | 2014-05-13 | International Business Machines Corporation | Arrangements of text type-ahead |
US8316035B2 (en) * | 2008-01-16 | 2012-11-20 | International Business Machines Corporation | Systems and arrangements of text type-ahead |
US20090271700A1 (en) * | 2008-04-28 | 2009-10-29 | Yen-Fu Chen | Text type-ahead |
US8359532B2 (en) | 2008-04-28 | 2013-01-22 | International Business Machines Corporation | Text type-ahead |
US9711143B2 (en) | 2008-05-27 | 2017-07-18 | Voicebox Technologies Corporation | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US10553216B2 (en) | 2008-05-27 | 2020-02-04 | Oracle International Corporation | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US10089984B2 (en) | 2008-05-27 | 2018-10-02 | Vb Assets, Llc | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US9542438B2 (en) | 2008-06-17 | 2017-01-10 | Microsoft Technology Licensing, Llc | Term complete |
US20090313573A1 (en) * | 2008-06-17 | 2009-12-17 | Microsoft Corporation | Term complete |
US8356041B2 (en) | 2008-06-17 | 2013-01-15 | Microsoft Corporation | Phrase builder |
US20100010973A1 (en) * | 2008-07-09 | 2010-01-14 | International Business Machines Corporation | Vector Space Lightweight Directory Access Protocol Data Search |
US8918383B2 (en) * | 2008-07-09 | 2014-12-23 | International Business Machines Corporation | Vector space lightweight directory access protocol data search |
US11461003B1 (en) | 2008-07-10 | 2022-10-04 | Google Llc | User interface for presenting suggestions from a local search corpus |
US8312032B2 (en) | 2008-07-10 | 2012-11-13 | Google Inc. | Dictionary suggestions for partial user entries |
US9086775B1 (en) | 2008-07-10 | 2015-07-21 | Google Inc. | Minimizing software based keyboard |
US10678429B1 (en) | 2008-07-10 | 2020-06-09 | Google Llc | Native search application providing search results of multiple search types |
EP2313838A2 (en) * | 2008-07-10 | 2011-04-27 | Google, Inc. | Dictionary suggestions for partial user entries |
US9933938B1 (en) | 2008-07-10 | 2018-04-03 | Google Llc | Minimizing software based keyboard |
CN105824939A (en) * | 2008-07-10 | 2016-08-03 | 谷歌公司 | Dictionary Suggestions for Partial User Entries |
US8745018B1 (en) | 2008-07-10 | 2014-06-03 | Google Inc. | Search application and web browser interaction |
US8745168B1 (en) | 2008-07-10 | 2014-06-03 | Google Inc. | Buffering user interaction data |
WO2010005798A2 (en) | 2008-07-10 | 2010-01-14 | Google Inc. | Dictionary suggestions for partial user entries |
US9384267B2 (en) | 2008-07-10 | 2016-07-05 | Google Inc. | Providing suggestion and translation thereof in accordance with a partial user entry |
WO2010005798A3 (en) * | 2008-07-10 | 2010-05-06 | Google Inc. | Dictionary suggestions for partial user entries |
US20100010977A1 (en) * | 2008-07-10 | 2010-01-14 | Yung Choi | Dictionary Suggestions for Partial User Entries |
US11941244B1 (en) | 2008-07-10 | 2024-03-26 | Google Llc | Presenting suggestions from search corpora |
EP2313838A4 (en) * | 2008-07-10 | 2012-11-14 | Google Inc | Dictionary suggestions for partial user entries |
US20100030849A1 (en) * | 2008-07-31 | 2010-02-04 | Fujitsu Limited | Server apparatus for thin-client system |
US8316296B2 (en) | 2008-10-01 | 2012-11-20 | Microsoft Corporation | Phrase generation using part(s) of a suggested phrase |
US20100083103A1 (en) * | 2008-10-01 | 2010-04-01 | Microsoft Corporation | Phrase Generation Using Part(s) Of A Suggested Phrase |
US9449076B2 (en) | 2008-10-01 | 2016-09-20 | Microsoft Technology Licensing, Llc | Phrase generation using part(s) of a suggested phrase |
US20100114878A1 (en) * | 2008-10-22 | 2010-05-06 | Yumao Lu | Selective term weighting for web search based on automatic semantic parsing |
US8671100B2 (en) * | 2008-10-22 | 2014-03-11 | Sony Corporation | Apparatus, system and method for providing contents and user interface program |
US20100100550A1 (en) * | 2008-10-22 | 2010-04-22 | Sony Computer Entertainment Inc. | Apparatus, System and Method For Providing Contents and User Interface Program |
US20100131447A1 (en) * | 2008-11-26 | 2010-05-27 | Nokia Corporation | Method, Apparatus and Computer Program Product for Providing an Adaptive Word Completion Mechanism |
US10185762B2 (en) * | 2008-12-30 | 2019-01-22 | Ebay Inc. | Predictive algorithm for search box auto-complete |
US20150193449A1 (en) * | 2008-12-30 | 2015-07-09 | Ebay Inc. | Predictive algorithm for search box auto-complete |
US10997220B2 (en) | 2008-12-30 | 2021-05-04 | Ebay Inc. | Search box auto-complete |
US10553213B2 (en) | 2009-02-20 | 2020-02-04 | Oracle International Corporation | System and method for processing multi-modal device interactions in a natural language voice services environment |
US10324938B2 (en) * | 2009-03-31 | 2019-06-18 | Ebay Inc. | Ranking algorithm for search queries |
US20160342602A1 (en) * | 2009-03-31 | 2016-11-24 | Ebay Inc. | Ranking algorithm for search queries |
US8996550B2 (en) | 2009-06-03 | 2015-03-31 | Google Inc. | Autocompletion for partially entered query |
US20120065958A1 (en) * | 2009-10-26 | 2012-03-15 | Joachim Schurig | Methods and systems for providing anonymous and traceable external access to internal linguistic assets |
US9058502B2 (en) * | 2009-10-26 | 2015-06-16 | Lionbridge Technologies, Inc. | Methods and systems for providing anonymous and traceable external access to internal linguistic assets |
US20110099502A1 (en) * | 2009-10-28 | 2011-04-28 | Yahoo! Inc. | Developer Interface and Associated Methods for System for Querying and Consuming Web-Based Data |
US8621376B2 (en) * | 2009-10-28 | 2013-12-31 | Yahoo! Inc. | Developer interface and associated methods for system for querying and consuming web-based data |
US20120254216A1 (en) * | 2009-12-14 | 2012-10-04 | Mitsubishi Electric Corporation | Input support device |
US20110161311A1 (en) * | 2009-12-28 | 2011-06-30 | Yahoo! Inc. | Search suggestion clustering and presentation |
WO2011090638A3 (en) * | 2009-12-28 | 2011-10-13 | Yahoo! Inc. | Search suggestion clustering and presentation |
US8631004B2 (en) | 2009-12-28 | 2014-01-14 | Yahoo! Inc. | Search suggestion clustering and presentation |
US20110161336A1 (en) * | 2009-12-28 | 2011-06-30 | Fujitsu Limited | Search supporting device and a method for search supporting |
US8498983B1 (en) * | 2010-01-29 | 2013-07-30 | Guangsheng Zhang | Assisting search with semantic context and automated search options |
WO2011111038A3 (en) * | 2010-03-07 | 2011-11-10 | DSNR Labs Ltd. | Method and system of providing completion suggestion to a partial linguistic element |
WO2011111038A2 (en) * | 2010-03-07 | 2011-09-15 | DSNR Labs Ltd. | Method and system of providing completion suggestion to a partial linguistic element |
US20110219299A1 (en) * | 2010-03-07 | 2011-09-08 | DSNR Labs Ltd. | Method and system of providing completion suggestion to a partial linguistic element |
US8315851B2 (en) * | 2010-06-30 | 2012-11-20 | Business Objects Software Limited | Phonetic keys for the Japanese language |
US20120004901A1 (en) * | 2010-06-30 | 2012-01-05 | Hozumi Nakano | Phonetic keys for the japanese language |
US20130041890A1 (en) * | 2010-07-13 | 2013-02-14 | Omron Corporation | Method for displaying candidate in character input, character inputting program, and character input apparatus |
US9323808B1 (en) | 2010-07-22 | 2016-04-26 | Google Inc. | Predictive query suggestion caching |
US20120066244A1 (en) * | 2010-09-15 | 2012-03-15 | Kazuomi Chiba | Name retrieval method and name retrieval apparatus |
US8306968B2 (en) * | 2010-09-15 | 2012-11-06 | Alpine Electronics, Inc. | Name retrieval method and name retrieval apparatus |
US9990442B2 (en) | 2010-12-08 | 2018-06-05 | S.L.I. Systems, Inc. | Method for determining relevant search results |
US20120265756A1 (en) * | 2010-12-08 | 2012-10-18 | S.L.I. Systems, Inc. | Method for determining relevant search results |
US9460161B2 (en) | 2010-12-08 | 2016-10-04 | S.L.I. Systems, Inc. | Method for determining relevant search results |
US9098569B1 (en) * | 2010-12-10 | 2015-08-04 | Amazon Technologies, Inc. | Generating suggested search queries |
US20130305178A1 (en) * | 2011-01-25 | 2013-11-14 | Sony Computer Entertainment Inc. | Input device, input method, and computer program for inputting characters, numbers, or symbols by using an on-screen keyboard |
US20120265784A1 (en) * | 2011-04-15 | 2012-10-18 | Microsoft Corporation | Ordering semantic query formulation suggestions |
US20120265779A1 (en) * | 2011-04-15 | 2012-10-18 | Microsoft Corporation | Interactive semantic query suggestion for content search |
US8983995B2 (en) * | 2011-04-15 | 2015-03-17 | Microsoft Corporation | Interactive semantic query suggestion for content search |
US9075842B2 (en) * | 2011-09-19 | 2015-07-07 | International Business Machines Corporation | Scalable deduplication system with small blocks |
US20130290278A1 (en) * | 2011-09-19 | 2013-10-31 | International Business Machines Corporation | Scalable deduplication system with small blocks |
US9747055B2 (en) | 2011-09-19 | 2017-08-29 | International Business Machines Corporation | Scalable deduplication system with small blocks |
US9081809B2 (en) * | 2011-09-19 | 2015-07-14 | International Business Machines Corporation | Scalable deduplication system with small blocks |
US20130290279A1 (en) * | 2011-09-19 | 2013-10-31 | International Business Machines Corporation | Scalable deduplication system with small blocks |
US8959080B2 (en) * | 2011-11-15 | 2015-02-17 | Alibaba Group Holding Limited | Search method, search apparatus and search engine system |
US9477761B2 (en) * | 2011-11-15 | 2016-10-25 | Alibaba Group Holding Limited | Search method, search apparatus and search engine system |
US20150161263A1 (en) * | 2011-11-15 | 2015-06-11 | Alibaba Group Holding Limited | Search Method, Search Apparatus and Search Engine System |
US20130124493A1 (en) * | 2011-11-15 | 2013-05-16 | Alibaba Group Holding Limited | Search Method, Search Apparatus and Search Engine System |
US9342601B1 (en) | 2012-02-24 | 2016-05-17 | Google Inc. | Query formulation and search in the context of a displayed document |
US9323866B1 (en) | 2012-02-24 | 2016-04-26 | Google Inc. | Query completions in the context of a presented document |
US9135250B1 (en) * | 2012-02-24 | 2015-09-15 | Google Inc. | Query completions in the context of a user's own document |
US20140108923A1 (en) * | 2012-10-11 | 2014-04-17 | International Business Machines Corporation | Real Time Term Suggestion Using Text Analytics |
US9442909B2 (en) * | 2012-10-11 | 2016-09-13 | International Business Machines Corporation | Real time term suggestion using text analytics |
US9465783B2 (en) * | 2012-10-11 | 2016-10-11 | International Business Machines Corporation | Real time term suggestion using text analytics |
US9471709B1 (en) * | 2012-10-11 | 2016-10-18 | Google Inc. | Processing autocomplete suggestions |
US20140108924A1 (en) * | 2012-10-11 | 2014-04-17 | International Business Machines Corporation | Real Time Term Suggestion Using Text Analytics |
US9984149B2 (en) | 2013-02-22 | 2018-05-29 | Audi Ag | Motor vehicle infotainment system with automatic search term completion |
WO2014127792A1 (en) * | 2013-02-22 | 2014-08-28 | Audi Ag | Motor vehicle infotainment system with automatic input completion during search term input |
JP2017501505A (en) * | 2013-12-31 | 2017-01-12 | グーグル インコーポレイテッド | Surface navigational search results |
WO2015105829A1 (en) * | 2014-01-08 | 2015-07-16 | Nuance Communications, Inc. | A methodology for enhanced voice search experience |
US9196244B2 (en) | 2014-01-08 | 2015-11-24 | Nuance Communications, Inc. | Methodology for enhanced voice search experience |
US9430573B2 (en) * | 2014-01-14 | 2016-08-30 | Microsoft Technology Licensing, Llc | Coherent question answering in search results |
US20150199436A1 (en) * | 2014-01-14 | 2015-07-16 | Microsoft Corporation | Coherent question answering in search results |
US11061893B2 (en) * | 2014-05-30 | 2021-07-13 | Apple Inc. | Multi-domain query completion |
WO2015183488A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-domain query completion |
CN106663100A (en) * | 2014-05-30 | 2017-05-10 | 苹果公司 | Multi-domain query completion |
US20150347503A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-domain query completion |
US20170220129A1 (en) * | 2014-07-18 | 2017-08-03 | Shanghai Chule (Coo Tek) Information Technology Co., Ltd. | Predictive Text Input Method and Device |
US10216725B2 (en) | 2014-09-16 | 2019-02-26 | Voicebox Technologies Corporation | Integration of domain information into state transitions of a finite state transducer for natural language processing |
US11087385B2 (en) | 2014-09-16 | 2021-08-10 | Vb Assets, Llc | Voice commerce |
US9898459B2 (en) | 2014-09-16 | 2018-02-20 | Voicebox Technologies Corporation | Integration of domain information into state transitions of a finite state transducer for natural language processing |
US10229673B2 (en) | 2014-10-15 | 2019-03-12 | Voicebox Technologies Corporation | System and method for providing follow-up responses to prior natural language inputs of a user |
US9747896B2 (en) | 2014-10-15 | 2017-08-29 | Voicebox Technologies Corporation | System and method for providing follow-up responses to prior natural language inputs of a user |
US10671182B2 (en) * | 2014-10-16 | 2020-06-02 | Touchtype Limited | Text prediction integration |
US20160132488A1 (en) * | 2014-11-10 | 2016-05-12 | International Business Machines Corporation | Cognitive matching of narrative data |
US10572590B2 (en) * | 2014-11-10 | 2020-02-25 | International Business Machines Corporation | Cognitive matching of narrative data |
US20160132591A1 (en) * | 2014-11-10 | 2016-05-12 | International Business Machines Corporation | Cognitive matching of narrative data |
US10572589B2 (en) * | 2014-11-10 | 2020-02-25 | International Business Machines Corporation | Cognitive matching of narrative data |
US10431214B2 (en) | 2014-11-26 | 2019-10-01 | Voicebox Technologies Corporation | System and method of determining a domain and/or an action related to a natural language input |
US20180225326A1 (en) * | 2014-12-01 | 2018-08-09 | Hitachi, Ltd. | Character string search system and control method therefor |
CN104462369A (en) * | 2014-12-08 | 2015-03-25 | 沈阳美行科技有限公司 | Automatic search completion method for navigation equipment |
US11308173B2 (en) * | 2014-12-19 | 2022-04-19 | Meta Platforms, Inc. | Searching for ideograms in an online social network |
US10180989B2 (en) * | 2015-07-24 | 2019-01-15 | International Business Machines Corporation | Generating and executing query language statements from natural language |
US20170024431A1 (en) * | 2015-07-24 | 2017-01-26 | International Business Machines Corporation | Generating and executing query language statements from natural language |
US20170024443A1 (en) * | 2015-07-24 | 2017-01-26 | International Business Machines Corporation | Generating and executing query language statements from natural language |
US10169471B2 (en) * | 2015-07-24 | 2019-01-01 | International Business Machines Corporation | Generating and executing query language statements from natural language |
US10339924B2 (en) | 2015-07-24 | 2019-07-02 | International Business Machines Corporation | Processing speech to text queries by optimizing conversion of speech queries to text |
US10332511B2 (en) | 2015-07-24 | 2019-06-25 | International Business Machines Corporation | Processing speech to text queries by optimizing conversion of speech queries to text |
US9886433B2 (en) * | 2015-10-13 | 2018-02-06 | Lenovo (Singapore) Pte. Ltd. | Detecting logograms using multiple inputs |
US10984020B2 (en) * | 2015-10-23 | 2021-04-20 | Oracle International Corporation | System and method for supporting large queries in a multidimensional database environment |
US11741059B2 (en) | 2015-10-23 | 2023-08-29 | Oracle International Corporation | System and method for extracting a star schema from tabular data for use in a multidimensional database environment |
US11922221B2 (en) | 2015-10-23 | 2024-03-05 | Oracle International Corporation | System and method for automatic dependency analysis for use with a multidimensional database |
US10936574B2 (en) | 2015-10-23 | 2021-03-02 | Oracle International Corporation | System and method for use of lock-less techniques with a multidimensional database |
US11914620B2 (en) | 2015-10-23 | 2024-02-27 | Oracle International Corporation | System and method for aggregating values through risk dimension hierarchies in a multidimensional database environment |
US11797496B2 (en) | 2015-10-23 | 2023-10-24 | Oracle International Corporation | System and method for parallel support of multidimensional slices with a multidimensional database |
US10733155B2 (en) | 2015-10-23 | 2020-08-04 | Oracle International Corporation | System and method for extracting a star schema from tabular data for use in a multidimensional database environment |
US20210240735A1 (en) * | 2015-10-23 | 2021-08-05 | Oracle International Corporation | System and method for supporting large queries in a multidimensional database environment |
US10552393B2 (en) * | 2015-10-23 | 2020-02-04 | Oracle International Corporation | System and method for use of a dynamic flow in a multidimensional database environment |
US11698893B2 (en) | 2015-10-23 | 2023-07-11 | Oracle International Corporation | System and method for use of lock-less techniques with a multidimensional database |
US11531662B2 (en) | 2015-10-23 | 2022-12-20 | Oracle International Corporation | System and method for use of a dynamic flow in a multidimensional database environment |
US20170116313A1 (en) * | 2015-10-23 | 2017-04-27 | Oracle International Corporation | System and method for supporting large queries in a multidimensional database environment |
US11226987B2 (en) | 2015-10-23 | 2022-01-18 | Oracle International Corporation | System and method for in-place data writes to reduce fragmentation in a multidimensional database environment |
US11520760B2 (en) | 2015-10-23 | 2022-12-06 | Oracle International Corporation | System and method for providing bottom-up aggregation in a multidimensional database environment |
US11392558B2 (en) | 2015-10-23 | 2022-07-19 | Oracle International Corporation | System and method for extracting a star schema from tabular data for use in a multidimensional database environment |
US11403321B2 (en) | 2015-10-23 | 2022-08-02 | Oracle International Corporation | System and method for improved performance in a multidimensional database environment |
US20170116290A1 (en) * | 2015-10-23 | 2017-04-27 | Oracle International Corporation | System and method for use of a dynamic flow in a multidimensional database environment |
US10331784B2 (en) | 2016-07-29 | 2019-06-25 | Voicebox Technologies Corporation | System and method of disambiguating natural language processing requests |
US10503763B2 (en) * | 2016-11-15 | 2019-12-10 | Facebook, Inc. | Methods and systems for executing functions in a text field |
US20180136803A1 (en) * | 2016-11-15 | 2018-05-17 | Facebook, Inc. | Methods and Systems for Executing Functions in a Text Field |
US11544400B2 (en) * | 2017-02-24 | 2023-01-03 | Hyland Uk Operations Limited | Permissions-constrained dynamic faceting of search results in a content management system |
US11734293B2 (en) | 2017-09-01 | 2023-08-22 | Oracle International Corporation | System and method for client-side calculation in a multidimensional database environment |
US10909134B2 (en) | 2017-09-01 | 2021-02-02 | Oracle International Corporation | System and method for client-side calculation in a multidimensional database environment |
US10983972B2 (en) | 2017-09-08 | 2021-04-20 | Oracle International Corporation | System and method for slowing changing dimension and metadata versioning in a multidimensional database environment |
US11704294B2 (en) | 2017-09-08 | 2023-07-18 | Oracle International Corporation | System and method for slowly changing dimension and metadata versioning in a multidimensional database environment |
US11789978B2 (en) | 2017-09-29 | 2023-10-17 | Oracle International Corporation | System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment |
US11042569B2 (en) | 2017-09-29 | 2021-06-22 | Oracle International Corporation | System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment |
US11593402B2 (en) | 2017-09-29 | 2023-02-28 | Oracle International Corporation | System and method for enabling multiple parents with weights in a multidimensional database environment |
US11422881B2 (en) | 2018-07-19 | 2022-08-23 | Oracle International Corporation | System and method for automatic root cause analysis and automatic generation of key metrics in a multidimensional database environment |
US11797559B2 (en) | 2018-07-19 | 2023-10-24 | Oracle International Corporation | System and method for real time data aggregation in a virtual cube in a multidimensional database environment |
US11188554B2 (en) | 2018-07-19 | 2021-11-30 | Oracle International Corporation | System and method for real time data aggregation in a virtual cube in a multidimensional database environment |
US11768825B2 (en) | 2018-10-18 | 2023-09-26 | Oracle International Corporation | System and method for dependency analysis in a multidimensional database environment |
US11200223B2 (en) | 2018-10-18 | 2021-12-14 | Oracle International Corporation | System and method for dependency analysis in a multidimensional database environment |
Also Published As
Publication number | Publication date |
---|---|
JP5459958B2 (en) | 2014-04-02 |
US20140089285A1 (en) | 2014-03-27 |
KR20070086055A (en) | 2007-08-27 |
CN101194256A (en) | 2008-06-04 |
JP5557862B2 (en) | 2014-07-23 |
JP2008520037A (en) | 2008-06-12 |
WO2006055120A2 (en) | 2006-05-26 |
CN101194256B (en) | 2011-10-19 |
US9436781B2 (en) | 2016-09-06 |
JP2012108959A (en) | 2012-06-07 |
US20150046422A1 (en) | 2015-02-12 |
WO2006055120A3 (en) | 2006-07-13 |
US9443035B2 (en) | 2016-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9436781B2 (en) | Method and system for autocompletion for languages having ideographs and phonetic characters | |
US9081851B2 (en) | Method and system for autocompletion using ranked results | |
US7499940B1 (en) | Method and system for URL autocompletion using ranked results | |
EP2313838B1 (en) | Dictionary suggestions for partial user entries | |
US8554759B1 (en) | Selection of documents to place in search index | |
JP5255766B2 (en) | System and method for interactive search query refinement | |
US20090043741A1 (en) | Autocompletion and Automatic Input Method Correction for Partially Entered Search Query | |
US20070250501A1 (en) | Search result delivery engine | |
EP2798537A1 (en) | Knowledge-based entity detection and disambiguation | |
WO2007115079A2 (en) | Expanded snippets | |
US20150172299A1 (en) | Indexing and retrieval of blogs | |
US20150339387A1 (en) | Method of and system for furnishing a user of a client device with a network resource | |
US20130091166A1 (en) | Method and apparatus for indexing information using an extended lexicon | |
WO2007057799A1 (en) | Method, system and device for obtaining a representation of a text |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GIBBS, KEVIN A.;REEL/FRAME:015996/0986 Effective date: 20041111 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044142/0357 Effective date: 20170929 |