ITMI20100986A1 - Distanza di editazione generalizzata per interrogazioni - Google Patents

Distanza di editazione generalizzata per interrogazioni Download PDF

Info

Publication number
ITMI20100986A1
ITMI20100986A1 IT000986A ITMI20100986A ITMI20100986A1 IT MI20100986 A1 ITMI20100986 A1 IT MI20100986A1 IT 000986 A IT000986 A IT 000986A IT MI20100986 A ITMI20100986 A IT MI20100986A IT MI20100986 A1 ITMI20100986 A1 IT MI20100986A1
Authority
IT
Italy
Prior art keywords
query
queries
term
pair
terms
Prior art date
Application number
IT000986A
Other languages
English (en)
Inventor
Massimiliano Ciaramita
Amac Herdagdelen
Daniel Mahler
Original Assignee
Google Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google Inc filed Critical Google Inc
Priority to ITMI2010A000986A priority Critical patent/IT1400269B1/it
Priority to US13/110,093 priority patent/US8417692B2/en
Publication of ITMI20100986A1 publication Critical patent/ITMI20100986A1/it
Priority to US13/855,871 priority patent/US9251206B2/en
Application granted granted Critical
Publication of IT1400269B1 publication Critical patent/IT1400269B1/it

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Medicines Containing Plant Substances (AREA)
  • Saccharide Compounds (AREA)

Description

DESCRIZIONE
Annessa a domanda di brevetto per INVENZIONE INDUSTRIALE avente per titolo:
"DISTANZA DI EDITAZIONE GENERALIZZATA PER INTERROGAZIONI"
La presente descrizione si riferisce a servizi digitali di ricerca di informazioni. Per gli utilizzatori di un motore di ricerca non à ̈ sempre facile trovare la migliore interrogazione per soddisfare le loro necessità di informazioni. Talvolta essi usano un'espressione ambigua che fa trovare documenti relativi ad altri significati dei termini usati, o trascurano di aggiungere termini pertinenti all'interrogazione. Per offrire un aiuto in questo compito, alcuni servizi di ricerca forniscono servizi di suggerimenti di interrogazione che aiutano gli utilizzatori a riformulare le interrogazioni per descrivere meglio le loro necessità di informazione e ridurre il tempo richiesto per trovare le informazioni che soddisfino i loro bisogni. I servizi di ricerca forniscono suggerimenti per l'interrogazione di ricerca come alternative alle interrogazioni di ricerca immesse dagli utilizzatori. Ad esempio, un motore di ricerca può fornire una risorsa che comprende un campo di immissione del'interrogazione che riceve una interrogazione di ricerca in entrata. In risposta a ricevere i termini deH'interrogazione di ricerca immessi nel campo di immissione dell'interrogazione, un servizio di ricerca può fornire all'utilizzatore suggerimenti per l'interrogazione di ricerca per i termini dell'interrogazione di ricerca immessi. Un utilizzatore può scegliere un suggerimento per l'interrogazione di ricerca da usare come interrogazione di ricerca.
Inoltre, un problema simile può verificarsi con altri scenari dove gli utilizzatori necessitano di immettere un testo simile a un'interrogazione, come ad esempio parole chiave. Ad esempio, gli inserzionisti forniscono parole chiave che devono abbinarsi con le interrogazioni degli utilizzatori affinchà ̈ siano visualizzate le loro inserzioni. Sistemi di suggerimento di interrogazioni possono anche aiutare gli inserzionisti suggerendo parole chiave che sono correlate alle parole chiave che essi hanno immesso.
Quando i servizi di ricerca hanno una forte certezza che i risultati mostrati in risposta ad una interrogazione di ricerca di un utilizzatore possano essere migliorati estendendo o sostituendo l'interrogazione di ricerca dell'utilizzatore con un'interrogazione di ricerca collegata, Ã ̈ possibile fare questa sostituzione automaticamente con una interrogazione suggerita, invisibile all'utilizzatore, e mostrare direttamente i risultati corrispondenti a questa interrogazione suggerita, o una combinazione dei risultati per l'interrogazione originale di ricerca dell'utilizzatore e le interrogazioni suggerite. Similmente, parole chiave dell'inserzionista possono essere automaticamente estese con sinonimi, per aumentare la serie di interrogazioni dell'utilizzatore che si accordano con una campagna di inserzionista. Questi procedimenti sono rispettivamente noti come "espansione di interrogazione" e "abbinamento ampio espanso".
La presente descrizione illustra tecnologie relative alla generazione di suggerimenti di interrogazione, suggerimenti di parole chiave, espansioni di interrogazioni o abbinamenti espansi di parole chiave. In questa descrizione, con il termine "suggerimento di interrogazione" si intende imo qualsiasi fra suggerimento di ricerca, suggerimento di parola chiave, espansione di interrogazione o espansione di parola chiave.
In generale, un aspetto innovativo della materia esposta in questa descrizione può essere realizzato in metodi che comprendono le azioni di selezionare coppie di interrogazioni relative a interrogazioni consecutive provenienti da sessioni utilizzatore, ciascuna coppia di interrogazione essendo una prima interrogazione ed una seconda interrogazione le quali sono state sottoposte consecutivamente come interrogazioni separate durante una sessione di ricerca, ciascuna prima e seconda interrogazione comprendendo almeno un termine. Il metodo comprende anche per ogni coppia di interrogazioni il selezionare coppie di termini dalla coppia di interrogazioni, ogni coppia di termini essendo un primo termine nella prima interrogazione ed un secondo termine nella seconda interrogazione; e il determinare un valore di co-ricorrenza per ogni coppia di termini selezionata. Il metodo comprende anche il determinare i costi di transizione basati sui valori di co-ricorrenza per coppie di termini delle coppie di interrogazioni, ogni costo di transizione essendo indicativo di un costo per passare da un primo termine in una prima interrogazione ad un secondo termine in una seconda interrogazione consecutiva alla prima interrogazione.
Un altro aspetto innovativo della materia definita da questa descrizione può essere realizzato in metodi che comprendono le azioni di selezionare coppie di interrogazione relative ad interrogazioni provenienti da sessioni utilizzatore, ogni coppia di interrogazioni essendo una prima interrogazione ed una seconda interrogazione le quali sono state sottoposte come interrogazioni separate durante una sessione di ricerca entro un numero massimo di interrogazioni che sono intervenute, ogni prima e ogni seconda interrogazione comprendendo almeno un termine. I metodi comprendono anche per ogni coppia di interrogazioni, il selezionare coppie di termini dalla coppia di interrogazioni, ogni coppia di termini essendo un primo termine nella prima interrogazione ed un secondo termine nella seconda interrogazione. I metodi comprendono anche il determinare un valore di co-ricorrenza per ciascuna coppia di termini selezionata.
I metodi comprendono anche il determinare costi di transizione basati sui valori di co-ricorrenza per coppie di termini delle coppie di interrogazione, ogni costo di transizione essendo indicativo di un costo per passare da un primo termine in una prima interrogazione ad un secondo termine in una seconda interrogazione che à ̈ consecutiva alla prima interrogazione.
Un altro aspetto innovativo della materia esposta in questa descrizione può essere realizzato in sistemi che comprendono un apparato di elaborazione dati, e una memoria per immagazzinare istruzioni eseguibili dall'apparato di elaborazione dati che all'atto di tale esecuzione determinano che l'apparato di elaborazione dati esegua operazioni comprendenti le azioni di selezionare coppie di interrogazioni relative ad interrogazioni consecutive provenienti da sessioni utilizzatore, ogni coppia di interrogazioni essendo una prima interrogazione ed una seconda interrogazione, le quali sono state sottoposte consecutivamente come interrogazioni separate durante una sessione di ricerca, ogni prima ed ogni seconda interrogazione comprendendo almeno un termine. Il metodo comprende anche per ogni coppia di interrogazioni il selezionare coppie di termini dalla coppia di interrogazioni, ogni coppia di termini essendo un primo termine nella prima interrogazione ed un secondo termine nella seconda interrogazione; e il determinare un valore di co-ricorrenza per ogni coppia di termini selezionata. Il metodo comprende anche il determinare costi di transizione sulla base dei valori di co-ricorrenza per coppie di termini delle coppie di interrogazioni, ogni costo di transizione essendo indicativo di un costo per passare da un primo termine in una prima interrogazione ad un secondo termine in una seconda interrogazione consecutiva alla prima interrogazione.
Un altro aspetto innovativo della materia esposta in questa descrizione può essere realizzato in un mezzo di memorizzazione per computer codificato con un programma per computer, il programma comprendendo istruzioni che quando eseguite dall'apparato di elaborazione dati fanno sì che l'apparato di elaborazione dati esegua operazioni comprendenti le azioni di selezionare coppie di interrogazioni relative ad interrogazioni consecutive provenienti da sessioni utilizzatore, ogni coppia di interrogazioni essendo una prima interrogazione ed una seconda interrogazione le quali sono state sottoposte consecutivamente come interrogazioni separate durante una sessione di ricerca, ogni prima ed ogni seconda interrogazione comprendendo almeno un termine. Il metodo comprende anche per ogni coppia di interrogazioni il selezionare coppie di termini dalla coppia di interrogazioni, ogni coppia di termini essendo un primo termine nella prima interrogazione ed un secondo termine nella seconda interrogazione; e il determinare un valore di co-ricorrenza per ogni coppia di termini selezionata. Il metodo comprende anche il determinare costi di transizione sulla base dei valori di co-ricorrenza per coppie di termini delle coppie di interrogazioni, ogni costo di transizione essendo indicativo di un costo per passare da un primo termine in una prima interrogazione ad un secondo termine in una seconda interrogazione consecutiva alla prima interrogazione.
Uno o più aspetti della materia definita da questa descrizione possono essere facoltativamente una o più delle azioni seguenti. Il determinare il valore di coricorrenza può comprendere identificare un primo set di termini inclusi nella prima interrogazione e non inclusi nella seconda interrogazione; identificare un secondo set di termini inclusi nella seconda interrogazione e non inclusi nella prima interrogazione; e per ciascuna coppia di interrogazioni, in risposta all'identificazione che il primo termine à ̈ un elemento del primo set e il secondo termine à ̈ un elemento del secondo set, assegnare un codice di transizione inversamente proporzionale al prodotto della dimensione del primo set per la dimensione del secondo set. Il determinare i costi di transizione può comprendere per ogni coppia di termini di interrogazione, aggregare i valori di co-ricorrenza determinati per la coppia di termini di interrogazione; determinare una probabilità che la coppia di termini di interrogazione co-ricorra; determinare un costo di transizione basato sulla probabilità; e immagazzinare il costo di transizione in una matrice di costo. Il determinare i costi di transizione può anche comprendere normalizzare i costi di transizione nella matrice di costo sulla base di almeno una di una probabilità che una prima interrogazione della coppia di termini di interrogazione co-ricorra con una qualsiasi interrogazione e di una probabilità che una seconda interrogazione della coppia di termini di interrogazione co-ricorra con una qualsiasi interrogazione. Il determinare i costi di transizione può anche comprendere creare matrici di costo multiple, ciascuna matrice di costo comprendendo il costo di transizione normalizzato sulla base di un fattore di normalizzazione diverso, in cui i fattori di normalizzazione includono la probabilità che la prima interrogazione della coppia di termini di interrogazione co-ricorra con una qualsiasi interrogazione, la probabilità che la seconda interrogazione della coppia di termini di interrogazione co-ricorra con una qualsiasi interrogazione, ed il prodotto della probabilità che la prima interrogazione co-ricorra con una qualsiasi interrogazione con la probabilità che la seconda interrogazione co-ricorra con una qualsiasi interrogazione.
I metodi possono anche comprendere le azioni di ricevere una interrogazione corrente ed una pluralità di interrogazioni suggerite, ciascuna delle interrogazioni correnti e suggerite comprendendo uno o più termini. Il metodo può anche comprendere per ogni interrogazione suggerita, calcolare un costo di transizione fra l'interrogazione suggerita e rinterrogazione corrente sulla base di un costo di transizione di un termine corrente e di un termine suggerito; e selezionare un'interrogazione suggerita fra una pluralità di interrogazioni suggerite sulla base della distanza di editazione. Calcolare la distanza di editazione può comprendere identificare un valore in una matrice di costo sulla base di una coppia di interrogazione di sostituzione comprendenti il termine corrente ed il termine suggerito. Calcolare la distanza di editazione può comprendere identificare valori in una pluralità di matrici di costo sulla base di una coppia di interrogazioni di sostituzione comprendenti il termine corrente e il termine suggerito; e fare la media dei valori identificati.
Altre implementazioni di questo aspetto comprendono sistemi, apparati e programmi di computer corrispondenti, configurati per eseguire le azioni dei metodi, codificati sui dispositivi di memorizzazione di computer.
Realizzazioni particolari della materia esposta in questa descrizione possono essere implementate in modo da ottenere uno o più dei vantaggi seguenti.
I suggerimenti di interrogazione incorporano informazioni-interpretazioni teoriche di relazioni tassonomiche quali specificazione e generalizzazione. I risultati dell'interrogazione possono essere migliorati mediante sostituzione di interrogazione ed espansione di interrogazione. Possono essere identificate le relative parole chiave. Può essere migliorata la pertinenza dell'inserzione o annuncio pubblicitario fornito agli utilizzatori. Può essere migliorata la classificazione delle interrogazioni. E' possibile migliorare il completamento delle interrogazioni per riflettere le somiglianze semantiche fra i termini immessi e i completamenti suggeriti. Il suggerimento dell'interrogazione può essere adattato per combaciare con l'intento dell'utilizzatore in termini di generalizzazione o specializzazione.
I dettagli di una o più realizzazioni della materia esposta in questa descrizione sono illustrati nei disegni allegati e nella descrizione che segue. Altre caratteristiche, aspetti e vantaggi della materia risulteranno evidenti dalla descrizione, dai disegni e dalle rivendicazioni.
BREVE DESCRIZIONE DEI DISEGNI:
- la figura 1 Ã ̈ uno schema a blocchi di un ambiente esemplificativo in cui un sistema di ricerca fornisce servizi di ricerca;
- la figura 2 mostra un sotto-sistema esemplificativo di suggerimenti di interrogazione il quale può essere usato in un sistema di ricerca;
- la figura 3 mostra un esempio di trattamento di una registrazione di interrogazioni per determinare i conteggi di co-ricorrenza;
- la figura 4 mostra un esempio per calcolare una distanza di editazione generalizzata;
- la figura 5 Ã ̈ un diagramma di flusso di un procedimento esemplificativo per determinare i costi di transizione fra termini di interrogazione.
Numeri di riferimento e designazioni uguali nei vari disegni indicano elementi uguali.
La figura 1 à ̈ uno schema a blocchi di un ambiente esemplificativo 100 in cui un sistema di ricerca fornisce servizi di ricerca. L'ambiente esemplificativo 100 comprende una rete 102, ad esempio una rete locale (LAN), una rete geografica (WAN), Internet, o una loro combinazione, che collega i siti web 104, i dispositivi utilizzatore 106, e il sistema di ricerca 110. L'ambiente 100 può comprendere un gran numero di siti web 104 e dispositivi utilizzatore 106.
Un sito web 104 à ̈ una o più risorse 105 associate ad un nome del dominio e ospitato da uno o più server. Un sito web di esempio à ̈ una raccolta di pagine web formattate nel linguaggio di marcatura di ipertesto (HTML). Le pagine web possono contenere testo, immagini, contenuto multimediale, ed elementi di programmazione (ad esempio sequenze di istruzioni o script). Un sito web 104 à ̈ generalmente mantenuto da un editore, ad esempio un'entità che gestisce e/o possiede il sito web.
Una risorsa 105 à ̈ qualsiasi dato che può essere fornito sulla rete 102 e che à ̈ associato ad un indirizzo delle risorse. Le risorse 105 comprendono ad esempio, pagine HTML, documenti di elaborazione testi, documenti nel formato di documento portabile (PDF), immagini, video e sorgenti di alimentazione (feed). Le risorse 105 possono comprendere il contenuto, ad esempio parole, frasi, immagini e suoni e possono comprendere informazioni incorporate (ad esempio metainformazioni e collegamenti ipertestuali) e/o istruzioni incorporate (ad esempio codice di programmazione JavaScript). Una risorsa può corrispondere, ma non necessariamente, ad un file.
Un dispositivo utilizzatore 106 à ̈ un dispositivo elettronico che, nel funzionamento, à ̈ sotto il controllo di un utilizzatore ed à ̈ in grado di richiedere e ricevere risorse 105 sulla rete 102. Esempi di dispositivi utilizzatore 106 comprendono i PC (personal computer), i dispositivi di comunicazione mobili, e altri dispositivi che possono inviare e ricevere dati attraverso la rete 102. Un dispositivo utilizzatore 106 tipicamente comprende un'applicazione di utilizzatore, ad esempio un browser web o un browser WAP, per facilitare l'invio e la ricezione di dati attraverso la rete 102.
Per facilitare la ricerca di risorse 105, il sistema di ricerca 110 identifica le risorse 105 mediante "crawling" e indicizzazione delle risorse 105 fomite sui siti web 104. 1 dati circa le risorse 105 possono essere indicizzati sulla base della risorsa alla quale corrispondono i dati. Le copie indicizzate e cache delle risorse 105 sono immagazzinate in una cache indicizzata 112.
I dispositivi utilizzatore 106 sottopongono le interrogazioni di ricerca 109 al sistema di ricerca 110. In risposta, il sistema di ricerca 110 identifica risorse sensibili e genera risultati di ricerca 111 che identificano le risorse sensibili 105 e restituiscono i risultati di ricerca 111 ai dispositivi utilizzatore 106. Ogni risultato di ricerca 111 identifica una risorsa 105 che à ̈ sensibile ad una interrogazione e comprende un collegamento con la risorsa 105. Un risultato di ricerca 111 può comprendere un titolo di pagina web, uno snippet di testo o una porzione di una immagine (o una miniatura del'immagine) estratta dalla pagina web, e l'URL della pagina web.
In risposta al ricevimento di una interrogazione di ricerca 109, il sistema di ricerca 110 accede ai dati storici 114 e ai dati di co-ricorrenza 116 per identificare interrogazioni di ricerca alternative che sono simili allinterrogazione di ricerca 109 e fornisce suggerimenti di interrogazione 113 al dispositivo utilizzatore 106.
II dispositivo utilizzatore 106 riceve i suggerimenti di interrogazione 113, ad esempio nella forma di una raccolta di una o più interrogazioni di ricerca alternative, e rende i suggerimenti di interrogazione 113 come voce contenuta in un elemento di lista a discesa, visualizzato in combinazione con un elemento di casella di testo su una pagina web resa o in una finestra del browser. In altre realizzazioni, i suggerimenti di interrogazione 1 13 possono essere presentati con i risultati della ricerca 111. Ad esempio, i suggerimenti di interrogazione 113 possono essere presentati come una lista di suggerimenti resa sul fondo di una pagina di risultati di ricerca 111.
In risposta ad un utilizzatore che seleziona una interrogazione di ricerca alternativa fra i suggerimenti di interrogazione 113, il dispositivo utilizzatore 106 sottopone l'interrogazione di ricerca alternativa al sistema di ricerca 110 attraverso la rete 102. Il sistema di ricerca 110 fornisce i risultati di ricerca 111 e, facoltativamente, uno o più suggerimenti di interrogazione supplementari 113, in risposta all'interrogazione di ricerca alternativa.
Il dispositivo utilizzatore 106 riceve i risultati di ricerca 111, ad esempio nella forma di una o più pagine web, e rende i risultati di ricerca per la presentazione agli utilizzatori. In risposta all'utilizzatore che seleziona un collegamento in un risultato di ricerca in corrispondenza di un dispositivo utilizzatore 106, il dispositivo di utilizzatore 106 può richiedere la risorsa 105 identificata dal collegamento. Il sito web 104 che ospita la risorsa 105 riceve la richiesta per la risorsa dal dispositivo utilizzatore 106 e fornisce la risorsa 105 al dispositivo utilizzatore 106 che la richiede.
In alcune realizzazioni, il sistema di ricerca 110 fornisce risultati di ricerca 111 e suggerimenti di interrogazione 113 indipendenti fra loro. Ad esempio, il sistema di ricerca 110 riceve, in aggiunta ad un termine di interrogazione parziale, ogni carattere, numero o simbolo del termine di interrogazione parziale o dei termini di interrogazione supplementari dell'interrogazione di ricerca 109 di mano in mano che sono immessi dall'utilizzatore. In un altro esempio, il sistema di ricerca 110 riceve, in aggiunta ad almeno un termine di interrogazione, ogni termine di interrogazione supplementare dell'interrogazione di ricerca 109 di mano in mano che essi sono immessi dall'utilizzatore. In risposta allinterrogazione di ricerca 109 immessa parzialmente (ad esempio, il termine o i termini di interrogazione parziali), il sistema di ricerca fornisce suggerimenti di interrogazione 113 al dispositivo utilizzatore 106.
In alcune forme di realizzazione, il sistema di ricerca 110 fornisce risultati di ricerca 111 per un suggerimento di interrogazione in aggiunta o in sostituzione dell'interrogazione di ricerca 109. Quando i motori di ricerca determinano che, con alta probabilità, i risultati mostrati in risposta ad una interrogazione dellutilizzatore potrebbero essere notevolmente migliorati estendendo o sostituendo l'interrogazione di utilizzatore con una interrogazione collegata, una tale sostituzione può essere effettuata automaticamente, ad esempio in modo invisibile all'utilizzatore. In tali casi, possono essere mostrati i risultati corrispondenti ad una interrogazione suggerita, o corrispondenti ad una combinazione delle interrogazioni originale e suggerita.
In alcune forme di realizzazione, il sistema di ricerca 110 può anche essere in comunicazione di dati con un sistema di gestione di annuncio pubblicitario o inserzione 118, e può comprendere inserzioni che sono sensibili alle interrogazioni di ricerca 109 fomite dal sistema di gestione di annunci pubblicitari 118. In alternativa, la pagina dei risultati di ricerca può comprendere istruzioni eseguibili, ad esempio istruzioni JavaScript™, che possono essere eseguite in corrispondenza del dispositivo di utilizzatore 106 per richiedere annunci pubblicitari dal sistema di gestione di annunci pubblicitari 118. La richiesta può comprendere l'interrogazione di ricerca in modo che il sistema di gestione di annunci pubblicitari 118 possa fornire interrogazioni sensibili.
In alcune forme di realizzazione, può anche essere incorporata nel sistema di gestione di annunci pubblicitari 118 la funzionalità del sottosistema di suggerimento di interrogazione 120, come descritto sotto, oppure il sistema di gestione di annunci pubblicitari 118 può comunicare con il sottosistema di suggerimento di interrogazione 120, per estendere le parole chiave dell'inserzionista per aumentare il set di interrogazioni di utilizzatore abbinato alla campagna pubblicitaria.
I dati per le interrogazioni di ricerca 109 sottoposte durante le sessioni utilizzatore sono memorizzati in una memoria di dati, ad esempio la memoria di dati storici 114. Ad esempio, per le interrogazioni di ricerca che sono sotto forma di testo, il testo delfinterrogazione viene memorizzato nella memoria di dati storici 114. Inoltre, i suggerimenti di interrogazione 113 e le interrogazioni 109 per le quali sono stati fomiti i suggerimenti di interrogazione 113 possono pure essere memorizzati nella memoria di dati storici 114. La memoria di dati storici 114 memorizza informazioni sufficienti per identificare l'ordine in cui le interrogazioni di ricerca 109 sono state sottoposte dagli utilizzatori per ciascuna sessione utilizzatore.
I dati di selezione specificanti le azioni intraprese in risposta ai risultati di ricerca fomiti in risposta a ciascuna interrogazione di ricerca sono pure memorizzati nella memoria di dati storici 114. Queste azioni possono comprendere se un risultato di ricerca 111 à ̈ stato selezionato, e per ciascuna selezione, per quale interrogazione di ricerca 109 à ̈ stato fornito il risultato di ricerca 111. Queste azioni possono anche o in alternativa comprendere se à ̈ stato selezionato un suggerimento di interrogazione 113, e per ciascuna selezione, per quale interrogazione di ricerca 109 à ̈ stato fornito il suggerimento di interrogazione 113.
Gli utilizzatori di un motore di ricerca necessitano di trovare un'interrogazione di ricerca idonea per soddisfare le loro necessità di informazioni. I motori di ricerca sostengono gli utilizzatori in questo compito in modo esplicito ed implicito; in modo esplicito suggerendo le interrogazioni collegate o i completamenti delle interrogazioni; in modo implicito espandendo linterrogazione per migliorare la qualità e il richiamo dei risultati.
In alcune forme di realizzazione i suggerimenti di interrogazione 113 sono fomiti in un ordine di classifica, con il suggerimento di interrogazione 113 classificato più in alto fornito per primo. In altre forme di realizzazione, viene fornito solo un suggerimento di interrogazione, e la selezione del suggerimento di interrogazione da fornire si basa su una classifica o ordinamento, ad esempio quando si determina quale suggerimento di interrogazione usare per generare risultati di ricerca.
In alcune forme di realizzazione, la classifica à ̈ basata su una misura della somiglianza semantica fra rinterrogazione sottoposta 109 e i suggerimenti di interrogazione 113.
Ad esempio, linterrogazione "diventare un chirurgo orale" può essere un suggerimento di interrogazione migliore per rinterrogazione "diventare un dentista" piuttosto che "diventare un dottore". A sua volta, "diventare un dottore" può essere un suggerimento di interrogazione migliore che non "diventare un deista".
Il sottosistema di suggerimento di interrogazione 120 viene usato per determinare suggerimenti di interrogazione basati su una misura di somiglianza semantica fra due interrogazioni di ricerca. Sebbene descritto come un sottosistema, il sottosistema di suggerimento di interrogazione 120 può essere implementato come un sistema completamente separato nella comunicazione di dati con il sistema di ricerca 110 o il sistema di gestione di inserzione 118.
La figura 2 mostra un sottosistema di suggerimento di interrogazione 200 che può essere usato in un sistema di ricerca 110. Ad esempio, il sottosistema di suggerimento di interrogazione 200 può essere il sottosistema di suggerimento di interrogazione 120 della figura 1. Il sottosistema di suggerimento di interrogazione 200 comprende una creazione di matrice di costo 202, una memoria di dati di costo transazionali 204, un motore di costo di interrogazione 206, ed un motore di suggerimento di interrogazione 208.
In una forma di realizzazione esemplificativa, la memoria di dati di costo transazionali 204 Ã ̈ realizzata come una struttura di dati a matrice di costo. Tuttavia, altre strutture di dati possono pure essere usate.
II motore di costo di interrogazione 206 riceve linterrogazione corrente 130. In alcune forme di realizzazione, rinterrogazione corrente viene fornita ad un motore di suggerimento di interrogazione 208 e il motore di suggerimento di interrogazione 208 fornisce un set di suggerimenti di interrogazione. In altre realizzazioni, i suggerimenti di interrogazione possono essere fomiti al motore di costo di interrogazione 206 assieme allinterrogazione corrente 130. Il motore di costo di interrogazione 206 determina punteggi per i suggerimenti di interrogazione sulla base di una misura di somiglianza semantica fra rinterrogazione corrente e ciascuno dei suggerimenti di interrogazione.
Misure di somiglianza semantica possono comprendere una misura di distanza di editazione generalizzata fra le due interrogazioni. La distanza di editazione tradizionale à ̈ una misura della somiglianza fra due stringhe. La distanza tradizionale à ̈ rappresentata dalle aggiunte, cancellazioni e sostituzioni in numero che verrebbero richieste per la transizione di un termine in un altro. Ad esempio, per cambiare "dentista" in "deista" richiederebbe due cancellazioni da dentista, la "n" e la "t". Pertanto da "dentista" a "deista" ha una distanza di editazione tradizionale di 2. Similmente, la transizione di "dentista" a "dottore" ha una distanza di editazione tradizionale di 5. Le operazioni richieste comprendono il cambiamento della "e" in "o", il cambiamento della "n" in "c", il cambiamento della "i" in "o", il cambiamento della "s" in "r", la cancellazione della "t".
Invece di, o in aggiunta a questo approccio tradizionale, il sottosistema di distanza di editazione di interrogazione determina la distanza di editazione fra due interrogazioni sulla base della sostituzione dei termini. Ad esempio, viene assegnato un costo alla sostituzione del termine "dentista" in "deista". Inoltre, il costo associato alla trasformazione non à ̈ fisso ma à ̈ pesato sulla base della somiglianza semantica dei termini. Ad esempio, la sostituzione di termini strettamente correlati, come "dentista" e "dottore" ha un costo minore, e pertanto una distanza più corta, che non sostituire termini non correlati come "dentista" e "pollo". La somiglianza semantica può essere determinata dall'elaborazione di log di interrogazione, come sarà descritto in maggior dettaglio nel seguito.
Il costo associato con la sostituzione di un termine di interrogazione con un altro può essere calcolato al tempo di esecuzione; tuttavia, più comunemente i costi associati alla sostituzione di un termine di interrogazione con un altro sono memorizzati nella memoria di dati transazionali come matrice di costo 204. La matrice di costo indicizza i costi mediante il termine di interrogazione ed il termine di sostituzione, all'intersezione dei due termini si trova il costo associato alla transizione. Sebbene si effettui la transizione del costo associato con una singola sostituzione di interrogazione, lo stesso metodo può essere usato per determinare un costo di transizione associato con la sostituzione di frasi di interrogazione o n-gramma di interrogazione. Ad esempio, date le interrogazioni "essere un dentista" e "essere un assistente dentistico", il procedimento potrebbe essere usato per determinare un costo per sostituire "dentista" con "assistente dentistico".
La matrice di costo 204 Ã ̈ generata da un costruttore di matrice di costo 202. Il costruttore di matrice di costo 202 analizza le sessioni utilizzatore memorizzate nei dati storici 114 per calcolare una misura di somiglianza semantica fra le due interrogazioni. Il costo viene poi basato sulla misura. In alcune forme di realizzazione, il costruttore di matrice di costo genera la misura analizzando interrogazioni sottoposte consecutivamente le quali sono sottoposte durante sessioni utilizzatore. Come qui usato, le interrogazioni sottoposte consecutivamente sono interrogazioni che si susseguono tra loro secondo una successione o un ordine non interrotti. Ad esempio, per tre interrogazioni Ql, Q2 e Q3 sottoposte durante una sessione interrogazione, le interrogazioni Ql e Q2 sono interrogazioni sottoposte consecutivamente, come lo sono le interrogazioni Q2 e Q3.
In alcune forme di realizzazione, il requisito di stretta adiacenza fra due interrogazioni di ricerca in una sessione di ricerca può essere leggermente mitigato ed un intervallo di una o due interrogazioni intermedie può non escludere (squalificare) le due interrogazioni di ricerca dall'essere interrogazioni di ricerca sequenziali fra loro. In alcune forme di realizzazione, le interrogazioni non vengono considerate squalificate purché le interrogazioni siano separate da non più di un numero massimo di interrogazioni (cioà ̈, 2, 3 o 4). Ad esempio, se un utilizzatore ha sottoposto tre interrogazioni (A, B e C) durante una sessione di ricerca, la terza interrogazione di ricerca (ad esempio "C") può essere una interrogazione di ricerca sequenziale della prima interrogazione di ricerca (ad esempio "A") sottoposta durante la sessione di ricerca. In altre forme di realizzazione, la somiglianza semantica fra due interrogazioni può essere non considerata sulla base della quantità di tempo che à ̈ trascorso fra quando vengono sottoposte.
Informazioni PMI (Pointwise Mutual Information
In alcune realizzazioni, la misura della somiglianza semantica comprende una misura delle informazioni PMI (Pointwise Mutual Information). PMI à ̈ una misura dell'associazione fra due termini o frasi. PMI per due termini x e y à ̈ il logaritmo della probabilità che i due termini co-ricorrano nei dati storici 114 diviso per la probabilità che il primo termine co-ricorra con qualsiasi altro termine nei dati storici 114 moltiplicato per la probabilità che il secondo termine co-ricorra con qualsiasi altro termine nei dati storici 114.
PMI(x, y) = log p(x ,y)
p(x)p(y)
Dove p(x,y) à ̈ la probabilità dei termini che co-ricorrono nei dati storici 114 ,p(x) à ̈ la probabilità del termine di interrogazione x che ricorre nei dati storici 114, e p(y) à ̈ la probabilità di y che ricorre nei dati storici.
Per garantire che sostituire due termini che ricorrono assieme meno frequentemente rispetto a casualmente non penalizzi più di due termini non collegati, cioà ̈ quando p(x)p(y) à ̈ maggiore di p(x,y), al valore PMI viene dato un limite inferiore a zero. Ai valori PMI di meno di zero à ̈ assegnato il valore di 0. In alcune realizzazione, dove la necessità di una stretta adiacenza fra due interrogazioni di ricerca à ̈ mitigata, il valore PMI può essere ridotto sulla base della distanza fra le interrogazioni. Ad esempio, un peso può essere applicato al valore PMI. Il peso può essere inversamente proporzionale alla quantità di tempo che à ̈ trascorsa fra il sottoporre le interrogazioni.
Determinazione delle probabilità
Per determinare la probabilità che x ed y co-ricorrano, p(x,y) e la probabilità che x ed y ricorrano, p(x) e p(y), il costruttore della matrice di costo 202 determina conteggi co-ricorrenti sulla base di transizioni di interrogazioni consecutive memorizzate nei dati storici. Il valore di co-ricorrenza per un termine x nella prima interrogazione e un termine y nella seconda interrogazione può essere determinato da
0 altrimenti
Dove nx,y(qs,qt) à ̈ il valore di co-ricorrenza per i termini di interrogazione x e y nelle interrogazioni qse qt, q'sà ̈ il set di termini di interrogazione in qse non in qt. e q'tà ̈ il set di termini di interrogazione in qte non in qs.
La formula assegna un valore di 1 alle coppie di termini di interrogazione x e y quando x e y sono uguali. Ad esempio, se il termine "fiore" appare in entrambe le interrogazioni la formula assegna un valore di co-ricorrenza di 1 alla transizione da "fiore" a "fiore". Queste sostituzioni sono chiamate sostituzioni di identità. Le sostituzioni di identità hanno sempre il più alto valore di coricorrenza e pertanto il più basso costo di transizione.
In un'altra forma di realizzazione, certe sostituzioni di identità possono essere associate ad un valore ridotto di co-ricorrenza se il termine à ̈ disapprovato. Ad esempio comuni errori di battitura possono essere eliminati assegnando alla sostituzione di identità una probabilità minore e un alto costo di transizione. Ad esempio, il valore di co-ricorrenza per "dentista" e "deista" può essere ridotto da 1 a 0, poiché "deista" à ̈ una battitura errata nota di dentista.
La figura 3 mostra un esempio di trattamento di un log di interrogazione per determinare i conteggi di co-ricorrenza. Una sessione utilizzatore log 300, che può essere memorizzata ad esempio nei dati storici 114 della figura 1, contiene interrogazioni sottoposte consecutivamente 302, 304, 306. Per facilità di illustrazione, sono rappresentati solo i dati per una sessione utilizzatore. In pratica, sono elaborati i dati da molte sessioni utilizzatore.
Rappresentata dalla freccia di procedimento 310, una prima interrogazione 302 Ã ̈ divisa nei suoi termini 312, 314, 316. Similmente una seconda interrogazione 304, sottoposta consecutivamente alla prima interrogazione, Ã ̈ divisa nei suoi termini 318, 320, 322, 324.
Rappresentato dalla freccia di procedimento 330, un primo set di termini 332 comprende termini che sono nella prima interrogazione 302 e non sono nella seconda interrogazione 304. Similmente, un secondo set di termini 334 comprende termini che sono nella seconda interrogazione 304 ma non sono nella prima interrogazione 302. Applicando questo esempio alla forma di cui sopra qsà ̈ l'interrogazione 302 "essere un dentista", qtà ̈ l'interrogazione 304 "essere un assistente dentistico", q'sà ̈ il set 332 "dentista" e q à ̈ il set 334 "assistente dentistico".
Rappresentato dalla freccia di procedimento 340, un valore di co-ricorrenza viene assegnato per ciascuna coppia di termini di interrogazione nelle interrogazioni 302, 304. Ad esempio, il termine di interrogazione "essere" appare in entrambe le interrogazioni 302, 304. Pertanto, viene creato un record di co-ricorrenza 342 per i termini "essere" ed "essere" con un valore di coricorrenza 1. Il termine di interrogazione "essere" e "un" ricorrono entrambi in entrambe le interrogazioni; tuttavia, dal momento che "essere" non à ̈ "un", viene assegnato un valore di co-ricorrenza di 0. In alcune realizzazioni, i valori di coricorrenza di 0 non sono memorizzati.
Il termine di interrogazione "dentista" ricorre nel primo set 332, e il termine "dentistico" ricorre nel secondo set 334. Pertanto, viene determinato un valore di co-ricorrenza sulla base del numero di termini di interrogazione nel primo set 332, qui 1, e il numero di termini di interrogazione nel secondo set 334, qui 2. In questo caso alla coppia "dentista" e "dentistico" Ã ̈ assegnato un valore di coricorrenza di 0,5 o 1 diviso per 1 per 2.
Sono possibili diverse ottimizzazioni di questo procedimento. Ad esempio, poiché il numero di termini di interrogazione nel primo set 332 e nel secondo set 334 à ̈ costante, deve essere eseguito solo un singolo calcolo per determinare il valore di co-ricorrenza per ciascuna coppia di interrogazioni dove una interrogazione à ̈ proveniente dalla prima interrogazione e non c'à ̈ nella seconda interrogazione e l'altra interrogazione si trova nella seconda interrogazione e non nella prima interrogazione.
Una volta che sono state trattate la prima interrogazione 302 e la seconda interrogazione 304, il procedimento continua con la seconda interrogazione 304 e la terza interrogazione 306.
Una volta che sono state trattate tutte le interrogazioni, sono sommati i conteggi di co-ricorrenza per ciascuna coppia di interrogazioni,
Dove Nx,yà ̈ la somma dei conteggi di co-ricorrenza (nxy) per i termini di interrogazione x e y su tutte le coppie di interrogazioni consecutive qse qt.
Tutti i conteggi sommati di co-ricorrenza sono sommati per ottenere un conteggio totale.
Dove N Ã ̈ il totale dei conteggi sommati di co-ricorrenza per tutte le interrogazioni x e y.
La probabilità della co-ricorrenza del termine di interrogazione x e del termine di interrogazione y à ̈ il conteggio sommato di co-ricorrenza per x e y diviso per il conteggio totale.
La probabilità della co-ricorrenza di x come primo termine del'interrogazione con qualsiasi altro termine di interrogazione à ̈ la somma dei valori di coricorrenza per tutte le coppie di termini di interrogazione dove x à ̈ il primo termine di interrogazione diviso per il conteggio totale.
Similmente, la probabilità della co-ricorrenza di y come il secondo termine di interrogazione con qualsiasi altro termine di interrogazione à ̈ la somma dei valori di co-ricorrenza per tutte le coppie di termini di interrogazione dove y à ̈ il secondo termine di interrogazione diviso per il conteggio totale.
In altre forme di realizzazione, le probabilità possono essere identificate usando un modello interno di raggruppamento che produce probabilità sopra le stringhe. Le probabilità possono anche essere determinate usando conteggi normalizzati di documenti web.
Normalizzazione di PMI
Una volta determinati, i valori di PMI possono essere normalizzati. Sono fomiti tre metodi esemplificativi di normalizzazione. Uno à ̈ un metodo di normalizzazione simmetrico indicato come normalizzazione unita, e due sono metodi asimmetrici indicati come normalizzazione di specializzazione e normalizzazione di generalizzazione. Le tre normalizzazioni forniscono una rappresentazione più ricca dell'associazione fra due stringhe. Inoltre, unitamente, i metodi di normalizzazione asimmetrica modellano in un significato teorico di informazioni direttamente la dimensione di generalizzazione-specializzazione, cioà ̈ quante informazioni sono condivise fra i termini di interrogazione.
Il valore PMI normalizzato in modo unito à ̈ una misura della quantità di informazioni condivise fra i due termini rispetto alla somma delle singole informazioni dei termini. E' calcolato dalla formula
Il valore PMI normalizzato di specializzazione fornisce generalmente un valore PMI normalizzato più elevato quando il secondo termine di interrogazione à ̈ una specializzazione del primo. Ad esempio, sostituire "appià ̈" con "macintosh" sarebbe preferibile rispetto alla sostituzione con "fruit". Il PMI di specializzazione deve essere calcolato dalla formula
Il valore PMI normalizzato di generalizzazione generalmente fornisce un valore PMI normalizzato più elevato quando la seconda interrogazione à ̈ più generale della prima. Ad esempio, sostituire "apple" con "fruit" sarebbe preferito rispetto a "macintosh". E' calcolato dalla formula
Ciascuno dei valori PMI Ã ̈ fra 0 e 1.
Le definizioni di cui sopra possono essere caratterizzate anche in termini di informazioni Shannon
i(x) = - log (p (x)) .
L'informazione PMI allora diventa
PMI(x, y ) = i(x) i(y) - i(x, y) .
Ciò mostra che PMI(x,y) à ̈ la quantità di informazioni che à ̈ comune sia a x sia a y.
Usando questa sostituzione, il PMI normalizzato unito à ̈ descritto dalla formula
Pertanto il PMI normalizzato unito à ̈ la frazione delle informazioni totali che à ̈ comune tanto a x che a y.
Il PMI normalizzato di specializzazione à ̈ descritto dalla formula
Pertanto il PMI normalizzato di specializzazione à ̈ la frazione di informazioni di x che à ̈ condivisa con y.
Il PMI normalizzato di generalizzazione à ̈ descritto dalla formula:
Pertanto il PMI normalizzato di generalizzazione à ̈ la frazione di informazioni di y che à ̈ condivisa con x.
Calcolo del costo
Una volta che à ̈ stato determinato il PMI normalizzato, il costruttore di matrice di costo determina un costo da associare alla transizione da un'interrogazione all'altra. In alcune forme di realizzazione, il costo à ̈ descritto dall'equazione:
= k -kf(x,y) ε
Dove s(x,y) à ̈ il PMI normalizzato fra due termini x e y. Il valore k à ̈ il valore assegnato ad una aggiunta e ad una cancellazione, ad esempio, 1,5, 2 2,5, o un valore con una tale gamma. Possono anche essere usati altri valori. Il valore â–¡ à ̈ un valore di costante usato per garantire che la sostituzione non à ̈ preferita all'aggiunta ed alla cancellazione in casi vicini. f(x,y) à ̈ un valore basato sull'informazione PMI (pointwise mutuai Information) fra i termini x e y.
In alcune realizzazioni, sono generate matrici di costo multiple. Ad esempio, può essere generata una matrice per ogni algoritmo di normalizzazione, e il valore di f(x,y) può essere basato su una media o qualche altra tendenza centrale dei diversi valori di PMI normalizzati.
In alcune forme di realizzazione, la matrice di costo usata per calcolare il costo di transizione può dipendere da un intento derivato dell'utilizzatore. Se vi à ̈ la prova che l'utilizzatore sta cercando risultati più generali (cioà ̈ desidererebbe vedere i risultati di un'interrogazione più generale), allora l'applicazione può decidere di usare la matrice di costo basata sulla normalizzazione di generalizzazione che favorirà interrogazioni più generali nel procedimento di suggerimento.
Calcolo della distanza di editazione generalizzata
Dopo che à ̈ generata la matrice di costo il motore di costo dell'interrogazione riceve una interrogazione corrente ed uno o più suggerimenti di interrogazione. Per determinare una distanza di editazione generalizzata il motore di costo deH'interrogazione confronta i termini nell'interrogazione corrente con i termini nel suggerimento di interrogazione. In alcune realizzazioni, i termini dell'interrogazione sono ordinati per semplificare il confronto. Alle aggiunte ed alle cancellazioni à ̈ assegnato un costo k, alle sostituzioni à ̈ assegnato un costo basato sui valori nella matrice di costo. Il costo di ogni trasformazione à ̈ descritto dalla formula:
∀x, y ∈ T, CGE(x, y) = s(x, y)
se a e b non sono zero, altrimenti k
Dove x e y sono termini di interrogazione. T à ̈ un vocabolario finito che definisce i limiti della matrice di costo. CGEà ̈ il costo di editazione generalizzato, e s(x,y) à ̈ il costo descritto sopra. Il valore k à ̈ il valore assegnato ad una aggiunta e ad una cancellazione, come descritto sopra, ad esempio 1,5 2 2,5, o un valore con una tale gamma. Possono anche essere usati altri valori. Poiché linserimento e la cancellazione hanno un costo unitario, un termine à ̈ sostituito solo se una sostituzione à ̈ più "economica" che non il cancellare e l'inserire un altro termine, cioà ̈ se la somiglianza fra i termini non à ̈ zero.
In alcune forme di realizzazione, in scenari ad esempio dove il sistema di ricerca può essere configurato per interpretare i suggerimenti preferiti di interrogazione dell'utilizzatore, ad esempio basati sulla storia dell'utilizzatore, allora può essere usata la matrice di costo normalizzata unita, la matrice di costo normalizzata di specializzazione oppure la matrice di costo normalizzata di generalizzazione, in funzione della storia dell'utilizzatore. In altri scenari si può usare una o più delle matrici di costo, ad esempio si può fare la media del costo di una particolare trasformazione, come descritto sopra.
La figura 4 mostra un esempio per calcolare una distanza di editazione generalizzata. La trasformazione deH'interrogazione "essere un dentista" 400 in "essere un assistente dentistico" 402 à ̈ un caso di esempio. Questo esempio mostra tre percorsi potenziali. Il percorso 404 comprende le operazioni "cancellare dentista" con un costo di k, "aggiungere dentistico" con un costo di k, e "aggiungere assistente" con un costo di k. L'aggiungere dei costi assieme ai risultati in un costo totale di 3 k. Un altro percorso 406 comprende le operazioni "sostituire a dentista dentistico" con un costo di s("dentista", "dentistico") e "aggiungere assistente" con un costo di k. Il costo totale del percorso 406 à ̈ s("dentistico", "dentistico") k. Un altro percorso 408 comprende "sostituire a dentista assistente" con un costo s"dentista", "assistente") e "aggiungere dentista" con un costo k. Il costo totale del percorso 408 à ̈ ^("dentista", "assistente") k. Per evitare congestione nei disegni, non tutti i confronti necessari vengono mostrati. Ad esempio, tutto il percorso 400, 402, e 404 comprende la sostituzione di identità implicata "essere" con "essere e "un" con "un". Come discusso sopra, poiché le sostituzioni di identità hanno sempre il costo più basso (ad esempio 0), si preferiscono le sostituzioni di identità. In alcune forme di realizzazione, le sostituzioni di identità sono identificate prima di calcolare la distanza di editazione generalizzata per migliorare le prestazioni, eliminando così la necessità di eseguire calcoli di costo non necessari.
Il costo totale per la trasformazione à ̈ il costo più piccolo per uno qualsiasi dei percorsi.
La figura 5 à ̈ un diagramma di flusso di un procedimento esemplificativo 500 per determinare i costi di transizione fra termini di interrogazione. Il procedimento esemplificativo 500 può essere realizzato da un sistema di ricerca 110, ad esempio nel sottosistema di suggerimento di interrogazione 120 della figura 1. Per comodità, il procedimento 500 à ̈ descritto rispetto ad un sistema che esegue il procedimento 500.
Il procedimento 500 seleziona coppie di interrogazioni relative ad interrogazioni consecutive da sessioni utilizzatore (502). Le sessioni utilizzatore contengono interrogazioni sequenziali sottoposte da un utilizzatore. Viene scelta per l'analisi una coppia di interrogazioni. La prima interrogazione à ̈ immediatamente precedente alla seconda interrogazione nella sessione di utilizzatore. Questo metodo permette al sistema di catturare perfezionamenti di interrogazione. Un perfezionamento di interrogazione à ̈ una modifica ad una interrogazione per tentare di ottenere risultati di ricerca migliorati. Ad esempio, un utilizzatore che tenta di trovare un dentista per eseguire un trattamento canalare può immettere linterrogazione iniziale "dentista locale" e quindi successivamente "odontoiatra locale". Tali coppie di interrogazioni possono esistere molte volte su molte sessioni utilizzatore per utilizzatori differenti.
Il procedimento seleziona coppie di termini (504). Ogni coppia di termini, un termine dalla prima interrogazione ed un termine dalla seconda interrogazione vengono trattati. Usando l'esempio sopra le coppie di termini sono ("locale", "locale"), ("locale" "odontoiatra"), ("dentista", "locale"), e ("dentista", "odontoiatra").
Il procedimento determina un valore di co-ricorrenza per ciascuna coppia di termini selezionata (506). Il valore di co-ricorrenza à ̈ una misura di come un termine può prendere bene il posto di un altro. Ad esempio, nell'interrogazione "dentista locale", e "odontoiatra locale" il termine "dentista" à ̈ stato eliminato ed à ̈ stato aggiunto il termine "odontoiatra".
In alcune forme di realizzazione, i termini eliminati sono identificati come un primo set di termini ed i termini aggiunti sono identificati come un secondo set di termini. Il sistema determina che odontoiatra à ̈ una sostituzione a dentista. Dal momento che à ̈ stato tolto un termine e ne à ̈ stato aggiunto un altro, il sistema assegna un valore di co-ricorrenza di 1 alla sostituzione. In un altro esempio, l'interrogazione "diventare un tecnico di computer" à ̈ seguita dall'interrogazione "diventare un programmatore di sistemi". In questo caso due termini sono stati eliminati e due termini sono stati aggiunti. Qualsiasi data combinazione ha solo un 25% di possibilità di essere una sostituzione appropriata, ad esempio computer potrebbe essere stato cambiato in sistemi o programmatore, e tecnico potrebbe essere stato cambiato in computer o programmatore. Pertanto, ad ogni possibilità à ̈ assegnato un valore ridotto, qui uno 0,25.
Il procedimento determina se vi sono più coppie rispetto al procedimento (508). Se vi sono più coppie rispetto al procedimento, il procedimento ritorna allo stadio 504. Altrimenti, il procedimento determina i costi di transizione sulla base dei valori di co-ricorrenza (510). Come discusso sopra, una volta che le coppie di interrogazioni sono state trattate può essere determinato un valore di coricorrenza sulla base dei dati raccolti. In generale, il valore di co-ricorrenza à ̈ confinato fra 0 e 1. 0 indicando che non vi à ̈ relazione fra i termini e 1 indicando che essi sono sinonimi intercambiabili. Il determinare il costo di transizione può comprendere l'aggregare tutti i valori di co-ricorrenza per ogni coppia di termini di interrogazione.
Sebbene venga descritto il procedimento in termini di suggerimenti di interrogazione come parte di un'operazione di ricerca, il procedimento descritto sopra può anche essere usato per sostituzioni semantiche ed espansioni. Ad esempio, il procedimento può essere usato per espansioni di parole chiave, ad esempio può identificare parole chiave di annunci pubblicitari che sono correlate alle parole chiave fomite da un inserzionista.
Le forme di realizzazione della materia e le operazioni sviluppate in questa descrizione possono essere implementate in una circuiteria elettronica digitale, o in un software, firmware o hardware di computer, comprese le strutture illustrate in questa descrizione ed i loro equivalenti strutturali, o in combinazioni di uno o più di questi. Realizzazioni della materia illustrata in questa descrizione possono essere implementate come uno o più programmi di computer, cioà ̈ uno o più moduli di istruzioni di programma di computer, codificato sul mezzo di memorizzazione di computer per l'esecuzione da parte del, o per controllare il funzionamento dell'apparato di elaborazione dati. In alternativa o in aggiunta, le istruzioni di programma possono essere codificate su un segnale propagato generato artificialmente, ad esempio un segnale elettrico, ottico o elettromagnetico generato a macchina il quale à ̈ generato per codificare informazioni per la trasmissione ad un apparecchio ricevente idoneo per l'esecuzione da parte di un apparato di elaborazione dati. Un mezzo di memorizzazione a computer può essere o essere incluso in un dispositivo di memoria leggibile a computer, un substrato di memoria leggibile a computer, un dispositivo o array di memoria ad accesso seriale o casuale, o una combinazione di uno o più di essi. Inoltre, sebbene un mezzo di memorizzazione a computer non sia un segnale propagato, un mezzo di memorizzazione a computer può essere una sorgente o destinazione di istruzioni di programma di computer codificate in un segnale propagato generato artificialmente. Il mezzo di memorizzazione a computer può anche essere, o essere incluso in uno o più componenti o supporti fisici separati (ad esempio CD multipli, dischi, o altri dispositivi di memoria).
Le operazioni illustrate in questa descrizione possono essere implementate come operazioni eseguite da un apparato di elaborazione dati su dati memorizzati su uno o più dispositivi di memorizzazione leggibili da computer o ricevuti da altre sorgenti.
Il termine "apparato di elaborazione dati" abbraccia tutti i tipi di apparati, dispositivi e macchine per elaborare dati, compresi a titolo esemplificativo un processore programmabile, un computer, un sistema su un chip, o sistemi multipli, o combinazioni di quanto precede. L'apparato può comprendere circuiteria logica a scopi speciali, ad esempio FPGA (rete logica programmabile dall'utilizzatore) o ASIC (circuito integrato ad applicazioni specifiche). L'apparato può anche comprendere, in aggiunta all'hardware, un codice che crea un ambiente di esecuzione per il programma di computer in questione, ad esempio un codice che costituisce firmware di processore, una memoria di stack di protocollo, un sistema di gestione di base di dati, un sistema operativo, un ambiente di tempo di esecuzione a piattaforma incrociata, una macchina virtuale, o una combinazione di uno o più di essi. L'apparato e l'ambiente di esecuzione possono realizzare varie differenti infrastrutture di modelli di calcolo, quali servizi web, infrastrutture di calcolo a griglia e di calcolo distribuito.
Un programma di computer (pure noto come programma, software, applicazione software, script, o codice) può essere scritto in qualsiasi forma di linguaggio di programma, compresi i linguaggi interpretati o compilati, i linguaggi procedurali o dichiarativi, e può essere sviluppato in qualsiasi forma, incluse le forme di programma autonomo o a sà ̈ stante o di modulo, componente, sottoroutine, oggetto, o altra unità idonea per l'uso in un ambiente informatico. Un programma di computer può ma non necessariamente corrispondere ad un file o ad un sistema di file. Un programma può essere memorizzato in una porzione di un file che contiene altri programmi o dati (ad esempio uno o più script memorizzati in un documento a linguaggio di marcatura), in un singolo file dedicato al programma in questione, o in file multipli coordinati (ad esempio file che memorizzano uno o più moduli, sottoprogrammi, o porzioni di codice). Un programma di computer può essere sviluppato per essere eseguito su un computer o su computer multipli che sono situati in un sito o distribuiti in siti multipli ed interconnessi da una rete di comunicazione.
I procedimenti ed i flussi logici illustrati in questa descrizione possono essere eseguiti da uno o più processori programmabili che eseguono uno o più programmi di computer per svolgere azioni operando su dati in ingresso e generando un'uscita. I procedimenti ed i flussi logici possono anche essere eseguiti da un apparato che può anche essere implementato come circuiteria logica a scopi speciali, ad esempio FPGA (rete logica programmabile dall'utilizzatore) o ASIC (circuito integrato ad applicazioni specifiche).
I processori adatti per l'esecuzione di un programma di computer comprendono, a titolo esemplificativo, microprocessori sia per scopi generali sia per scopi speciali, e uno qualsiasi o più processori di qualsiasi tipo di computer digitale. Generalmente, un processore riceverà istruzioni e dati da una memoria a sola lettura o una memoria ad accesso casuale o da entrambe. Gli elementi essenziali di un computer sono un processore per eseguire azioni secondo le istruzioni ed uno o più dispositivi di memoria per memorizzare le istruzioni ed i dati. Generalmente, un computer comprenderà anche, o sarà accoppiato operativamente per ricevere dati da o trasferire dati a, o entrambe le cose, uno o più dispositivi di memoria di massa per memorizzare dati, ad esempio dischi magnetici, magneto-ottici o dischi ottici. Tuttavia, un computer non necessita di avere tali dispositivi. Inoltre, un computer può essere incorporato in un altro dispositivo, ad esempio un telefono cellulare, un palmare (PDA), un lettore video o audio portatile, una console giochi, un ricevitore di sistema di posizionamento globale (GPS), o un dispositivo di memorizzazione portatile (ad esempio un drive flash USB - Universal Drive Bus), per citarne solo alcuni. I dispositivi idonei per memorizzare istruzioni di programmi di computer e dati comprendono tutte le forme di memoria non volatile, dispositivi di supporto e di memoria, compresi a titolo di esempio dispositivi di memoria a semiconduttore, ad esempio dispositivi di memoria EPROM, EEPROM e flash; dischi magnetici, ad esempio dischi rigidi interni o dischetti; dischi magneto-ottici; e dischi CD-ROM e DVD-ROM. Il processore e la memoria possono essere integrati da, o incorporati in una circuiteria logica per scopi speciali.
Per fornire l’interazione con un utilizzatore, realizzazioni della materia illustrata in questa descrizione possono essere implementate su un computer avente un dispositivo di visualizzazione, ad esempio un monitor CRT (tubo a raggi catodici) o LCD (display a cristalli liquidi) per visualizzare informazioni all'utilizzatore ed una parola chiave e un dispositivo puntatore, ad esempio un mouse o una pallina tracciante (trackball), mediante i quali l'utilizzatore può fornire dispositivi di ingresso al computer. Altri tipi di dispositivi possono pure essere usati per fornire interazione con un utilizzatore; ad esempio la retroazione fornita all'utilizzatore può essere qualsiasi forma di retroazione sensoriale, ad esempio retroazione visiva, retroazione auditiva, o retroazione tattile; e l'ingresso proveniente dall'utilizzatore può essere ricevuto in qualsiasi forma, compreso l'ingresso acustico, di linguaggio o tattile. Inoltre, un computer può interagire con un utilizzatore inviando documenti a, e ricevendo documenti da un dispositivo che viene usato dall'utilizzatore; ad esempio inviando pagine web a un browser web su un dispositivo cliente di un utilizzatore in risposta a richieste ricevute dal browser web.
Realizzazioni della materia illustrata in questa descrizione possono essere implementate in un sistema informatico che comprende un componente di retro, ad esempio un server di dati, o che comprende un componente standard, ad esempio un server di applicazione, o che comprende un componente frontale, ad esempio un computer di cliente avente un'interfaccia grafica di utilizzatore o un browser web attraverso il quale un utilizzatore può interagire con una realizzazione della materia illustrata nella descrizione, o qualsiasi combinazione di imo o più di tali componenti di retro, standard o frontale. I componenti del sistema possono essere interconnessi da qualsiasi forma o supporto di comunicazione di dati digitale, ad esempio una rete di comunicazione. Esempi di reti di comunicazione comprendono una rete locale ("LAN") e una rete geografica ("WAN"), un'inter-rete (ad esempio Internet), e reti da pari a pari (P2P) (ad esempio reti P2P ad hoc).
Il sistema informatico può comprendere clienti e server. Un cliente ed un server sono generalmente lontani fra loro e tipicamente interagiscono attraverso una rete di comunicazione. La relazione di cliente e server sorge grazie a programmi di computer che funzionano sui rispettivi computer e aventi tra loro una relazione cliente-server. In alcune realizzazioni, un server trasmette dati (ad esempio una pagina HTML) ad un dispositivo cliente (ad esempio allo scopo di visualizzare dati a, e ricevere immissione di dati da un utilizzatore interagente con il dispositivo cliente). I dati generati in corrispondenza del dispositivo cliente (ad esempio un risultato dell'azione di utilizzatore) possono essere ricevuti dal dispositivo cliente in corrispondenza del server.
Sebbene questa descrizione contenga molti dettagli di realizzazioni specifiche, questi non devono essere intesi come limitazioni dell'ambito di una qualsiasi invenzione o di ciò che può essere rivendicato, ma piuttosto come descrizioni di caratteristiche specifiche per particolari realizzazioni di invenzioni particolari. Certe caratteristiche che sono illustrate in questa descrizione nel contesto di realizzazioni separate possono anche essere implementate in combinazione in una singola realizzazione. Al contrario, varie caratteristiche che sono descritte nel contesto di una singola realizzazione possono anche essere implementate in realizzazioni multiple separatamente o in qualsiasi sotto-combinazione idonea. Inoltre, sebbene possano essere descritte sopra caratteristiche come agenti in certe combinazioni ed anche inizialmente rivendicate come tali, una o più caratteristiche da una combinazione rivendicata possono in alcuni casi essere estratte dalla combinazione e la combinazione rivendicata può essere rivolta ad una sotto-combinazione o variazione di sottocombinazione.
Similmente, sebbene siano illustrate operazioni nei disegni secondo un ordine particolare, ciò non va inteso come il richiedere che tali operazioni siano eseguite nel particolare ordine rappresentato o in un ordine sequenziale, o che tutte le operazioni illustrate siano eseguite per ottenere risultati desiderabili. In certe circostanze, un'elaborazione parallela e contemporanea di due o più programmi può essere vantaggiosa. Inoltre, la separazione di vari componenti di sistema nelle realizzazioni descritte sopra non va intesa come richiedente tale separazione in tutte le realizzazioni, e si comprenderà anche che i componenti ed i sistemi di programma descritti possono generalmente essere integrati assieme in un singolo prodotto software o impaccati in prodotti software multipli.
Così, sono state descritte particolari realizzazioni della materia. Altre realizzazioni rientrano neH'ambito delle rivendicazioni che seguono. In alcuni casi, le azioni recitate nelle rivendicazioni possono essere eseguite in un ordine differente e ottenere ancora i risultati desiderati. Inoltre, i procedimenti illustrati nelle figure allegate non richiedono necessariamente il particolare ordine rappresentato, o ordine sequenziale, per realizzare i risultati desiderati. In certe realizzazioni, possono risultare vantaggiose elaborazioni parallele e di esecuzione contemporanea di due o più programmi.

Claims (11)

  1. RIVENDICAZIONI 1. Metodo implementato da computer eseguito da un’apparecchiatura di elaborazione dati, il metodo comprendendo: - selezionare coppie di interrogazioni relative ad interrogazioni provenienti da sessioni utilizzatore, ciascuna coppia di interrogazioni essendo una prima interrogazione ed una seconda interrogazione, le quali sono state sottoposte come interrogazioni separate durante una sessione di ricerca, ciascuna prima e seconda interrogazione comprendendo almeno un termine; per ciascuna coppia di interrogazioni: - selezionare coppie di termini dalla coppia di interrogazioni, ciascuna coppia di termini essendo formata da un primo termine nella prima interrogazione e da un secondo termine nella seconda interrogazione; - determinare un valore di co-ricorrenza per ciascuna coppia di termini selezionata, e - determinare costi di transizione basati sui valori di co-ricorrrenza per coppie di termini delle coppie di interrogazioni, ciascun costo di transizione essendo indicativo di un costo per passare da un primo termine in una prima interrogazione ad un secondo termine in una seconda interrogazione consecutiva alla prima interrogazione.
  2. 2. Metodo della rivendicazione 1, in cui determinare il valore di co-ricorrenza comprende: - identificare un primo set di termini compresi nella prima interrogazione e non compresi nella seconda interrogazione; - identificare un secondo set di termini compresi nella seconda interrogazione e non compresi nella prima interrogazione; e - per ciascuna coppia di interrogazioni, in risposta all’ identificazione che il primo termine à ̈ un elemento del primo set e che il secondo termine à ̈ un elemento del secondo set, assegnare un codice di transizione inversamente proporzionale al prodotto della dimensione del primo set con la dimensione del secondo set.
  3. 3. Metodo della rivendicazione 1 o della rivendicazione 2, in cui determinare i costi di transizione comprende: per ciascuna coppia di termini di interrogazione: - aggregare i valori di co-ricorrenza determinati per la coppia di termini di interrogazione; - determinare una probabilità che la coppia di termini di interrogazione coricorra; - determinare un costo di transizione basato sulla probabilità; - immagazzinare il costo di transizione in una matrice di costo.
  4. 4. Metodo della rivendicazione 3, in cui determinare costi di transizione comprende inoltre: - normalizzare i costi di transizione nella matrice di costo sulla base di almeno uno di una probabilità che una prima interrogazione della coppia di termini di interrogazione co-ricorra con una qualsiasi interrogazione e di una probabilità che una seconda interrogazione della coppia di termini di interrogazione coricorra con una qualsiasi interrogazione.
  5. 5. Metodo della rivendicazione 4, in cui determinare i costi di transizione comprende inoltre: - creare matrici di costo multiple, ciascuna matrice di costo includendo il costo di transizione normalizzato sulla base di un diverso fattore di normalizzazione, in cui i fattori di normalizzazione includono la probabilità che la prima interrogazione della coppia di termini di interrogazione co-ricorra con una qualsiasi interrogazione, la probabilità che la seconda interrogazione della coppia di termini di interrogazione co-ricorra con una qualsiasi interrogazione, ed il prodotto della probabilità che la prima interrogazione co-ricorra con una qualsiasi interrogazione con la probabilità la seconda interrogazione co-ricorra con una qualsiasi interrogazione.
  6. 6. Metodo di una qualsiasi delle precedenti rivendicazioni comprendente inoltre: - ricevere una interrogazione corrente ed una pluralità di interrogazioni suggerite, ciascuna delle interrogazioni correnti e suggerite comprendendo uno o più termini; per ciascuna delle interrogazioni suggerite: - calcolare una distanza di editazione tra l interrogazione suggerita e l interrogazione corrente sulla base di un costo di transizione del termine corrente e del termine suggerito; e - selezionare un’interrogazione suggerita da una pluralità di interrogazioni suggerite sulla base della distanza di editazione.
  7. 7. Metodo della rivendicazione 6 in cui il calcolo della distanza di editazione comprende: - identificare un valore in una matrice di costo sulla base di una coppia di interrogazioni di sostituzione comprendenti il termine corrente ed il termine suggerito; oppure in cui il calcolo della distanza di editazione comprende: - identificare valori in una pluralità di matrici di costo sulla base di una coppia di interrogazioni di sostituzione comprendenti il termine corrente ed il termine suggerito; - fare la media dei valori identificati.
  8. 8. Metodo secondo una qualsiasi delle precedenti rivendicazioni, in cui selezionare comprende selezionare coppie di interrogazioni relative ad interrogazioni consecutive provenienti da sessioni utilizzatore, ciascuna coppia di interrogazioni essendo una prima interrogazione ed una seconda interrogazione le quali sono state consecutivamente sottoposte come interrogazioni separate durante una sessione di ricerca.
  9. 9. Metodo secondo una qualsiasi delle precedenti rivendicazioni, in cui ciascuna coppia di interrogazioni à ̈ una prima interrogazione ed una seconda interrogazione sottoposte come interrogazioni separate durante una sessione di ricerca all’ interno di un numero massimo di interrogazioni che sono intervenute.
  10. 10. Un sistema comprendente: - un apparato di elaborazione dati, e - una memoria per immagazzinare istruzioni eseguibili dall’apparato di elaborazione dati, le quali a seguito di detta esecuzione determinano che l’apparato di elaborazione dati svolga il metodo di una qualsiasi delle precedenti rivendicazioni.
  11. 11. Un mezzo di memorizzazione per computer o un mezzo leggibile da computer codificato con un programma per computer, il programma comprendendo istruzioni che quando eseguite da apparecchiature per elaborazione dati determinano che l’apparato di elaborazione dati svolga il metodo di una qualsiasi delle rivendicazioni da 1 a 9.
ITMI2010A000986A 2010-05-31 2010-05-31 Distanza di editazione generalizzata per interrogazioni IT1400269B1 (it)

Priority Applications (3)

Application Number Priority Date Filing Date Title
ITMI2010A000986A IT1400269B1 (it) 2010-05-31 2010-05-31 Distanza di editazione generalizzata per interrogazioni
US13/110,093 US8417692B2 (en) 2010-05-31 2011-05-18 Generalized edit distance for queries
US13/855,871 US9251206B2 (en) 2010-05-31 2013-04-03 Generalized edit distance for queries

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ITMI2010A000986A IT1400269B1 (it) 2010-05-31 2010-05-31 Distanza di editazione generalizzata per interrogazioni

Publications (2)

Publication Number Publication Date
ITMI20100986A1 true ITMI20100986A1 (it) 2011-12-01
IT1400269B1 IT1400269B1 (it) 2013-05-24

Family

ID=43740718

Family Applications (1)

Application Number Title Priority Date Filing Date
ITMI2010A000986A IT1400269B1 (it) 2010-05-31 2010-05-31 Distanza di editazione generalizzata per interrogazioni

Country Status (2)

Country Link
US (2) US8417692B2 (it)
IT (1) IT1400269B1 (it)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098569B1 (en) * 2010-12-10 2015-08-04 Amazon Technologies, Inc. Generating suggested search queries
US20120296637A1 (en) * 2011-05-20 2012-11-22 Smiley Edwin Lee Method and apparatus for calculating topical categorization of electronic documents in a collection
US20130041878A1 (en) * 2011-08-11 2013-02-14 Microsoft Corporation Autosuggesting an equivalent query
US8700654B2 (en) * 2011-09-13 2014-04-15 Microsoft Corporation Dynamic spelling correction of search queries
US20130332308A1 (en) * 2011-11-21 2013-12-12 Facebook, Inc. Method for recommending a gift to a sender
US9569545B2 (en) * 2012-08-31 2017-02-14 Ebay Inc. Enhancing product search engine results using user click history
US20150248454A1 (en) * 2012-09-28 2015-09-03 Nec Corporation Query similarity-degree evaluation system, evaluation method, and program
US9965521B1 (en) * 2014-02-05 2018-05-08 Google Llc Determining a transition probability from one or more past activity indications to one or more subsequent activity indications
US9519634B2 (en) * 2014-05-30 2016-12-13 Educational Testing Service Systems and methods for determining lexical associations among words in a corpus
CN105930527B (zh) * 2016-06-01 2019-09-20 北京百度网讯科技有限公司 搜索方法及装置
US20180113938A1 (en) * 2016-10-24 2018-04-26 Ebay Inc. Word embedding with generalized context for internet search queries
US10956469B2 (en) * 2017-01-06 2021-03-23 International Business Machines Corporation System and method for metadata correlation using natural language processing
CN107786887B (zh) * 2017-10-10 2020-07-31 北京奇艺世纪科技有限公司 一种显示展示信息的方法及装置
WO2019233463A1 (en) * 2018-06-07 2019-12-12 Huawei Technologies Co., Ltd. Quality-aware keyword query suggestion and evaluation
US11593371B2 (en) * 2019-10-21 2023-02-28 Teradata Us, Inc. Dynamically learning optimal cost profiles for heterogenous workloads
US11468121B2 (en) * 2020-03-16 2022-10-11 Rovi Guides, Inc. Systems and methods for generating a search query using flexible autocomplete menus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006104488A2 (en) * 2005-03-29 2006-10-05 Google Inc. Integration of multiple query revision models
US20070038621A1 (en) * 2005-08-10 2007-02-15 Tina Weyand System and method for determining alternate search queries
US20090070323A1 (en) * 2007-09-12 2009-03-12 Nishith Parikh Inference of query relationships
US7552112B2 (en) * 2006-09-18 2009-06-23 Yahoo! Inc. Discovering associative intent queries from search web logs

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233544B1 (en) * 1996-06-14 2001-05-15 At&T Corp Method and apparatus for language translation
US7113950B2 (en) * 2002-06-27 2006-09-26 Microsoft Corporation Automated error checking system and method
US20060259442A1 (en) * 2005-05-17 2006-11-16 International Business Machines Corporation System method and program product to estimate cost of integrating and utilizing heterogeneous data sources
US7496549B2 (en) * 2005-05-26 2009-02-24 Yahoo! Inc. Matching pursuit approach to sparse Gaussian process regression
US7752220B2 (en) * 2005-08-10 2010-07-06 Yahoo! Inc. Alternative search query processing in a term bidding system
US8041730B1 (en) * 2006-10-24 2011-10-18 Google Inc. Using geographic data to identify correlated geographic synonyms
US7925498B1 (en) * 2006-12-29 2011-04-12 Google Inc. Identifying a synonym with N-gram agreement for a query phrase
US8037086B1 (en) * 2007-07-10 2011-10-11 Google Inc. Identifying common co-occurring elements in lists
US20090265290A1 (en) * 2008-04-18 2009-10-22 Yahoo! Inc. Optimizing ranking functions using click data
US8918328B2 (en) * 2008-04-18 2014-12-23 Yahoo! Inc. Ranking using word overlap and correlation features
US7890516B2 (en) * 2008-05-30 2011-02-15 Microsoft Corporation Recommending queries when searching against keywords
US8954422B2 (en) * 2010-07-30 2015-02-10 Ebay Inc. Query suggestion for E-commerce sites
US8255414B2 (en) * 2010-09-15 2012-08-28 Yahoo! Inc. Search assist powered by session analysis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006104488A2 (en) * 2005-03-29 2006-10-05 Google Inc. Integration of multiple query revision models
US20070038621A1 (en) * 2005-08-10 2007-02-15 Tina Weyand System and method for determining alternate search queries
US7552112B2 (en) * 2006-09-18 2009-06-23 Yahoo! Inc. Discovering associative intent queries from search web logs
US20090070323A1 (en) * 2007-09-12 2009-03-12 Nishith Parikh Inference of query relationships

Also Published As

Publication number Publication date
US9251206B2 (en) 2016-02-02
US20130226950A1 (en) 2013-08-29
IT1400269B1 (it) 2013-05-24
US8417692B2 (en) 2013-04-09
US20110295840A1 (en) 2011-12-01

Similar Documents

Publication Publication Date Title
ITMI20100986A1 (it) Distanza di editazione generalizzata per interrogazioni
US10325033B2 (en) Determination of content score
US9767182B1 (en) Classification of search queries
AU2010328181B2 (en) Resource search operations
CN105765573B (zh) 网站通信量优化方面的改进
JP4896071B2 (ja) キーワード比較を用いた広告評価方法、広告評価システム、記録媒体
KR101775883B1 (ko) 정보 스트림의 정보를 처리하는 방법 및 시스템
JP5229226B2 (ja) 情報共有システム、情報共有方法、および情報共有プログラム
US20180060921A1 (en) Augmenting visible content of ad creatives based on documents associated with linked to destinations
US9141729B2 (en) Display-data generating apparatus and display-data generating method
US20180096067A1 (en) Creation and optimization of resource contents
KR20140038962A (ko) 유저 상호대화 그룹화를 이용한 전환 경로들의 취합
US20130198240A1 (en) Social Network Analysis
JP6078235B2 (ja) 外来語の発音検索サービスを提供する検索結果提供システム及び検索結果提供方法
KR101144371B1 (ko) 웹페이지에 대한 방문기록을 도식화하는 방법 및 시스템 그리고 상기 방문기록을 이용한 추가정보 제공 방법 및 시스템
KR101556714B1 (ko) 검색결과 제공 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
US9705972B2 (en) Managing a set of data
JP2007304644A (ja) 静的ウェブページ生成方法、プログラム、記録媒体及び静的ウェブページ生成管理システム
JP6488399B2 (ja) 情報提示システム、及び情報提示方法
KR101277300B1 (ko) 맞춤형 광고 제공 방법 및 장치
WO2012069087A1 (en) Automatic text generation
US9405849B1 (en) Inducing command inputs from property sequences
KR101090668B1 (ko) 웹페이지에 대한 방문기록을 도식화하는 방법 및 시스템 그리고 상기 방문기록을 이용한 추가정보 제공 방법 및 시스템
JP2011086278A (ja) 情報伝播経路特定装置、情報伝播経路特定方法、情報伝播経路特定プログラム
JP2018005759A (ja) 引用マップ生成装置、引用マップ生成方法およびコンピュータプログラム