A search engine is disclosed that uses correlations between search terms to
correct misspelled terms within search queries. The correlations are based
at least in-part on historical query submissions to the search engine.
Preferably, the correlations reflect the frequencies with which the search
terms have historically appeared together within the same query, and are
stored within a correlation table using related terms lists. In one
embodiment, the correlation table is generated periodically from the M
(e.g. 10) most recent days of entries in a query log, and thus reflects
the current preferences of users. In operation, when a query that includes
both matching and non-matching search terms is submitted to the search
engine, a spelling correction process accesses the correlation table to
generate a list of terms that are deemed to be related to the matching
term(s). The spellings of these related terms are then compared to the
spelling of each non-matching term using a spelling comparison function
that compares two character strings and generates a similarity score. If a
suitable replacement is found for a given non-matching term, the
non-matching term is replaced with the similar related term. The modified
query is then used to perform the search, and the user is notified of the
modification(s) made to the query. In the disclosed embodiment, the search
engine is used on the Web site of an online merchant to assist users in
locating book titles, music titles, and other types of products.
Un Search Engine è rilevato che usa le correlazioni fra i termini di ricerca per correggere i termini sbagliati l'ortografia di all'interno delle domande di ricerca. Le correlazioni sono almeno in-parte basata sulle presentazioni storiche di domanda al Search Engine. Preferibilmente, le correlazioni riflettono le frequenze con cui i termini di ricerca sono sembrato storicamente insieme all'interno della stessa domanda e sono immagazzinate all'interno di una tabella di correlazione usando le liste relative di termini. In un incorporamento, la tabella di correlazione è generata periodicamente dalla m. (per esempio 10) la maggior parte dei giorni delle entrate recenti in un ceppo di domanda e così riflette le preferenze correnti degli utenti. In funzione, quando una domanda che include sia i termini di corrispondenza che non-abbinanti di ricerca è presentata al Search Engine, un processo di correzione di ortografia accede alla tabella di correlazione per compilare un elenco di termini che sono ritenuti essere collegati con il term(s) di corrispondenza. Le ortografie di questi termini relativi allora sono confrontate all'ortografia di ogni termine non-abbinante usando una funzione di confronto di ortografia che confronta due serie di caratteri e genera un segno di somiglianza. Se un sostituto appropriato è trovato per un dato termine non-abbinante, il termine non-abbinante è sostituito con il termine relativo simile. La domanda modificata allora è usata per effettuare la ricerca e l'utente è comunicato dei modification(s) fatti alla domanda. Nell'incorporamento rilevato, il Search Engine è usato sul Web site di un commerciante in linea per aiutare gli utenti nell'individuazione i titoli del libro, i titoli di musica e degli altri tipi di prodotti.