• ModSenior

    Google Boilerplate: segnalazione nuovo brevetto

    Con il brevetto del boilerplate si ufficializzano diverse cose di Google che gia' sapevamo.

    Ecco il brevetto
    http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.html&r=1&p=1&f=G&l=50&d=PG01&S1=20080040316.PGNR.&OS=dn/20080040316&RS=DN/20080040316

    che ho letto al volo e di cui quoto qualche estratto

    Rimozione duplicati

    For example in one embodiment of the present invention the query system 132 evaluates the list of article identifiers that are returned from both result sets and eliminates any duplicates
    Query personalizzate

    a user profile provides attributes, which may be used by the query system 132 to modify search queries, and/or result sets to provide the user with a personalized experience. Attributes stored in the user profile that may affect search queries and/or the ranking of results sets include information such as people to whom or from whom a particular user sends or receives email or chat messages, words that appear often in the user's explicit searches, words the user often types, words that appear frequently in the user's documents, and other types of attributes specific to the user.
    che continua con

    FIG. 11 is a flowchart illustrating a method according to one embodiment of the present invention for modifying a search query and the corresponding result set based on the search query, the modifications based at least in part on an attribute stored in a user profile.
    ... For example, a user identifier may be included with the search query. Alternatively, the query system may determine the user by calling an operating system function call to determine the user currently logged into the computer
    I dati utente che avevo gia' indicato leggendo il regolarmento di Orkut in un altro post:

    the query system stores important terms, including for example, the names of people with whom the user often communicates, in memory. These names may come from recipients or senders or emails or instant messenger "buddy" names, for example. In such an embodiment, the user profile may not be provided. The query system uses the important terms stored in memory to affect the creation of search queries and/or the ranking of result sets.
    Letto cosi' deduco: utilizza le chat di GTalk archiviate su GMail

    Infine ecco il boilerplate

    the query system evaluates the text or other elements to identify boilerplate . For example the query system determines that any text following the word "copyright" is boilerplate. Other types of boilerplate include, for example, navigational text, disclaimers, and text that appear on every page of a web site. The query system then identifies content within the article. The article may comprise only content and boilerplate or may include additional elements, such as controls, which are not used in generating a query. In one embodiment, the attributes of button in the article are used to generate an implicit query.

    Infine per completezza ecco il post dove ho trovato la segnalazione
    http://www.seobythesea.com/?p=996

    P.S.: per rendere gli estratti leggibili nei quote ho dovuto per forza di cose togliere alcuni riferimenti numerici a parte dell'invezione di Google.


  • ModSenior

    Brevetto Google BoilerPlate

    Con boilerplate si intende testo che può essere riusato in altri contesti o applicazioni senza essere cambiato molto dall'originale, quindi che è riciclato.
    La definizione è qui http://en.wikipedia.org/wiki/Boilerplate_(text)

    Qui di seguito la parte tradotta dell'invenzione dall'abtract fino alla sintesi dell'invenzione. Posso già premettere, come avevo già segnalato, che i dettagli del brevetto sono molto più interessanti e a una prima lettura vanno ben oltre la descrizione di boilerplate che è in questa prima parte.

    Abstract
    Sono descritti sistemi e metodi per analizzare il boilerplate. In un sistema descritto un indicizzatore identifica un elemento comune in una pluralità di articoli correlati. L'indicizzatore poi classifica l'elemento comune come boilerplate. Per esempio, l'indicizzatore può identificare una nota di copyright che compare in molti articoli correlati. Questa nota di copyright viene considerata boilerplate.

    Punti dell'invenzione

    • Un metodo contente: identificare un elemento comune in una pluralità di articoli; analizzando una locazione spaziale dell'elemento comune in un articolo della pluralità di articoli; e determinare se l'elemento comune è un elemento boilerplate dell'articolo basato almeno in parte sulla locazione spaziale.
    1. Il metodo descritto al punto 1, comprende anche la generazione di una query di ricerca implicita che include un termine di ricerca, il termine di ricerca comprendente un termine presente in un elemento contenuto dell'articolo, l'elemento contenuto è distinguibile dall'elemento boilerplate.

    2. Il metodo descritto al punto 1, in cui l'elemento contiene una nota di copyright.

    3. Il metodo al punto 1, dove l'elemento comune comprende un termine che ha una misura di frequenza inversa del documento bassa.

    4. Un metodo comprendende: la comparazione di un elemento in un articolo con una lista predeterminata per generare un risultato di confronto; analizzare una locazione spaziale dell'elemento nell'articolo; e determinare se l'elemento è un boilerplate dell'articolo basato almeno sulla locazione spaziale del e il risultato di confronto.

    5. Un metodo di cui al punto 1, in cui analizzare la locazione spaziel dell'elemento comune comprende: determinare se l'elemento comune è la parte finale (?bottom?) di un articolo.

    6. Un metodo di cui al punto 1, dove l'elemento comune contiene un elemento di navigazione dell'articolo.

    7. Un metodo comprendente: identificare un elemento comune in una pluralità di articoli; analizzare un link associato con un elemento comune in un articolo di una pluralità di articoli; e determinare se l'elemento comune è un boilerplate dell'articolo basato almeno in parte su link associato con l'elemento comune.

    8. Il metodo di cui al punto 8, in cui analizzando il link associato con l'elemento con l'elemento comune contiene un indirizzo al quale il link si riferisce.

    9. Il metodo di cui al punto 1, comprende anche: analizzare un elemento di markup vicino all'elemento comune, in cui determinare se l'elemento comune è un boilerplate contiene un determinato se l'elemento comune è un boilerplate dell'articolo basato almeno in parte sull'elemento di markup.

    10. Il metodo di cui al punto 1, comprende anche : corrispondendo 	l'elemento comune al boilerplate, si rimuove il boilerplate 	dall'articolo; e si indicizza l'articolo. 
      
    11. Il metodo di cui al punto 1, comprende anche: determinare i pesi degli elementi nell'articolo basato almeno in parte sugli elementi che sono boilerplate.

    12. Il metodo di cui al punto 12, comprende anche: ricevere una query di ricerca; determinare gli articoli riletanti per la query; e ordinarli almeno in parte sui pesi calcolati.

    13. Un mezzo tangibile e leggibile da computer su cui è codificato il programma, il programma codificato comprendono: un programma per identificare un elemento comune in una pluralità di articoli; un programma per analizzare la locazione spaziale dell'elemento comune in un articolo della pluralità di articoli; un programma per determinare se l'elemento comune è un boilerplate dell'articolo basato almeno in parte sulla locazione spaziale.

    14. Un mezzo di cui al punto14, dove il programma comprenda anche: un programma program per generare una query implica includento un termine di ricerca, il termine di ricerca comprendente un termine presente in un elemento contenuto dell'articolo [si noti che qui ?contenuto? è usato come opposto a boilerplate e non con il senso di aggettivo, n.d.t], l'elemento diventa distinguibile dal boilerplate.

    15. Un mezzo tangibile leggibile da computer su cui è codificato il programma, il programma codificato comprendente: un programma per confrontare un elemento in un articolo a una predeterminata lista per generare risultati di confronto; un programma per analizzare la locazione spaziale dell'elemento nell'articolo; un programma per determinare se l'elemento è un boilerplate dell'articolo basato almeno in parte sulla locazione spaziale e sui risultati di confronto.

    16. Un mezzo tangibile leggibile da computer di cui al punto 14, che analizzando la locazione spaziale dell'elemento comune comprende: determinare se l'elemento comune è la parte finale (?bottom?) dell'articolo.

    17. Un mezzo tangibile leggibile da computer di cui al punto 14, dove l'elemento comune comprende un elemento di navigazione dell'articolo.

    18. Un mezzo tangibile leggibile da computer sul quale è codificato un programma, il programma codificato comprendente: un programma per identificare un elemento comune in una pluralità di articoli; un programma per analizzare un link associato con l'elemento comune nell'articolo di una pluralità di articoli; è un programma per determinare se l'elemento comune è un boilerplate dell'articolo basato almeno in parte sul link associato con l'elemento comune.

    19. Un mezzo tangibile leggibile da computer di cui al punto 19, se analizzare il link associato con l'elemento comprende analizzare un indirizzo a cui il link si riferisce.

    20. Un mezzo tangibile leggibile da computer di cui al punto 14, dove il programma prevede anche: un programma per analizzare un elemento di markup vicino all'elemento comune nell'articolo, dove determinando se l'elemento comune è un boilerplate vuol dire determinare se l'elemento comune è un boilerplate dell'articolo basato almeno un parte sull'elemento di markup.

    21. Un mezzo tangibile leggibile da computer di cui al punto 14, dove il programma codificato comprende anche: un programma per rispondere far che all'elemento comune corrisponda il boilerplate, rimuovendo il boilerplate dall'articolo; e un programma per indicizzare l'articolo.

    22. Un mezzo tangibile leggibile da computer di cui al punto 14, dove il programma codificato comprende: programma per determinare i pesi degli elementi nell'articolo basato almeno in parte sugli elementi che sono boilerplate.

    23. Un mezzo tangibile leggibile da computer di cui al punto 23, comprendente anche: programma per ricevere una query di ricerca; programma per determinare gli articoli rilevanti per la query di ricerca; programma per ordinare gli articoli basati almeno in parte sui pesi.

    24. Il metodo di cui al punto 5, dove la list predeterminata comprende termini o frasi, e se il confronto dei risultati indica se l'elemento corrisponde a un termine o una frase in una lista predeterminata.

    25. Il metodo di cui al punto 10, dove un elemento di markup vicino ad un elemento comune contenga un elemento di markup che impatta sulla visualizzazione dell'elemento comune nell'articolo.

    Background dell'invenzione

    [0014] I motori di ricerca convenzionali ricevono una query di ricerca da un utente ed eseguono una ricerca su un indice globale. Questi motori di ricerca convezionali usano tipicamente uno o più metodi convenzionali per eseguire una ricerca. Ad esempio, un metodo noto, descritto in un articolo dal titolo "The Anatomy of a Large-Scale Hypertextual Search Engine," by Sergey Brin and Lawrence Page, assegna un grado di importanza a un documento come una pagina web basato sulla struttura dei link del web. I risultati della ricerca sono spesso presentati in forma di lista, compresi che contiene identificatori dell'articolo e un breve snippet sui documenti nella pagina web che può essere ridimensionato.

    [0015] Spesso, l'utente ha accesso ad altre informazioni the user has access archiviate nella sua macchina locale o su un altro supporto di archiviazione accessibile via rete che è rilevante per lo stato contestuale dell'utente attuale. Ad esempio, se un utente lavora su un documento che riguarda un certo soggetto, l'informazione sul soggetto può essere archiviata sull'hard disk o in un indice globale dell'utente. Per accede a questa informazione, l'utente fa una query esplicita query in an'applicazione, come una pagina web di ricerca. L'informazione è fornita all'utente come insieme di risultati. Pertanto, l'utente sposta l'attenzione dal documento su cui lavora per eseguire la ricerca.

    [0016] In molti casi, l'utente può non sapere o non ricordare che l'informazione è disponibile su un certo soggetto. In questo caso, l'utente può non eseguire una ricerca esplicita e quindi, non avrà accesso ad informazioni potenzialmente rilevanti.

    Sintesi dell'invenzione

    [0017] Questa invenzione fornisce i sistemi e i metodi per analizzare il boilerplate. Un programma al computer, come un indicizzatore, identifica un elemento comune in una pluralità di articoli correlati. L'indicizzatore poi classifica gli elementi comuni come boilerplate. Ad esempio l'indicizzatore identifica una nota di copyright che appare in più articoli e questa nota viene considerata boilerplate.

    [0018] Queste applicazioni d'esempio sono menzionate non per limitare o definire l'invenzione ma per fornire esempi sull'invenzione e come sussidio per comprenderla.


  • ModSenior

    Breve descrizione delle figure

    [0019] Queste e altre caratteristiche, aspetti, e vantaggi della presente invenzione sono meglio compresi quando la seguente descrizione dettagliata viene letta con l'ausilio dei seguenti disegni dove:

    [0020] FIG. 1 è un diagramma di blocco che illustra un ambiente esemplare in cui un contenuto della presente invenzione può operare;

    [0021] FIG. 2 è un diagramma di flusso che illustra il sistema per estrarre keyword da un evento in un contenuto della presente invenzione;

    [0022] FIG. 3 è un diagramma di flusso che illustra un metodo di eseguire query multiple per rendere risultati come rilevanti al contesto dell'utente in un contenuto della presente invenzione;

    [0023] FIG. 4 è un diagramma di flusso che illustra un metodo per ordinare i risultati combinati in un contenuto della presente invenzione;

    [0024] FIG. 5 è un diagramma di flusso che illustra un metodo per processare una query in un contenuto della presente invenzione;

    [0025] FIG. 6 è un diagramma di flusso che illustra un metodo per identificare le parti del discorso in un contenuto della presente invenzione;

    [0026] FIG. 7 è un diagramma di flusso che illustra un metodo per alterare un punteggio di rilevanza in un contenuto della presente invenzione;

    [0027] FIG. 8 è un diagramma di flusso che illustra un metodo per variare una soglia di refresh in un contenuto della presente invenzione;

    [0028] FIG. 9 è un diagramma di flusso che illustra un metodo per variare un punteggio di rilevanza per un risultato basato sul comportamento del click-through di un utente in un contenuto della presente invenzione;

    [0029] FIG. 10 is a flowchart illustrating a method for displaying implicit query results in un contenuto della presente invenzione;

    [0030] FIG. 11 è un diagramma di flusso che illustra un metodo secondo il quale con il contenuto della presente invenzione si modifica una query di ricerca e il corrispondente insieme di risultati basati sulla query di ricerca, [essendo, n.d.t.] le modifiche basate almeno in parte in un attributo archiviato nel profilo di un utente; e

    [0031] FIG. 12 è un diagramma di flusso che illustra un metodo per identificare il boilerplate e il contenuto in un contenuto della presente invenzione.

    Descrizione dettagliata

    [0032] I contenuti della presente invenzione forniscono un sistemi e metodi per analizzare il boilerplate. I contenuti di esempio sono descritti sotto. Riferendosi ora ai disegni in cui i numeri indicano gli elementi in diverse figure, FIG. 1 è un diagramma di blocco che illustra un ambiente esemplare per l'implementazione dei contenuti della presente invenzione. L'ambiente mostrato riflette l'incarnazione di'architettura di motore di ricerca client-side, ma altri sono possibili.

    [0033] Il sistema 100 di FIG. 1 include più supporti client 102a-n in comunicazione con un server 150 su una rete cablata o senza cavi 106. La rete 106 comprende Internet. Può essere usato in altri sistemi, altre reti, come una intranet. Inoltre i metodi della presente invenzione possono operare con un singolo supporto client.

    [0034] I supporti client 102a-n includono ciascuno un mezzo leggibile dal computer 108, RAM 108 accoppiata al processore 110. Il processore 110 esegue le istruzioni di un programma eseguito al computer archiviato nella memoria 108. Simili processori possono includere un microprocessore, an ASIC, una macchina di stato, o altro processore, e possono and can be qualunque numero di processori per computer, come quelli della Intel Corporation of Santa Clara, Calif. e Motorola Corporation di Schaumburg, Ill. Questi processori includono, o possono essere in comunicazione con mezzi come per esempio mezzi leggibili dal computer che archiviano istruzioni che quando sono eseguite dal processore, fanno si che il processore esegua i passi descritti qui.

    [0035] I mezzi leggibili dal computer possono essere, ma non sono limitati a , elettronici ottici magnetici e altri supporti di storage o di trasmissione in grado di fornire un processore come il 110 del client102a, con istruzioni leggibili dal computer. Altri esempi di simili mezzi includono ma non sono limitati a floppy disk, CD-ROM, DVD, disco magnetico, chip di memoria, ROM, RAM, un ASIC, un processore configurato, tutti i mezzi ottici, tutti i nastri magnetici o altri mezzi magnetici, o ogni altro mezzo dal quale un processore di computer può leggere istruzioni. Inoltre, varie altre forme di mezzi leggibili dal computer possono trasmettere o trasportare istruzioni al computer, compresi un router, network pubblica o privata, o altri supporti o canali di trasmissione, sia via cavo che wiresell. Le istruzioni possono essere codificate in un qualsiasi linguaggio di programmazione come ad esempio C, C++, C#, Visual Basic, Java, Python, Perl, e JavaScript.

    [0036] I supporti client 102a-n possono essere connessi a una rete 106 come mostrato, o possono essere macchine stand-alone. I supporti client 102a-n possono anche includere un numero di supporti esterni o interni come un mouse, un CD-ROM, DVD, una tastiera, un monitor, o altre periferiche di input/output. Esempi di supporti client 102a-sono i personal computer, gli assistenti digitali, gli assistenti digitali personali, i cellulari, telefoni mobile, smart phones, pagers, tablets, portatili, appliance Internet, e altri supporti basati su processore. In generale, isupporti 102a-n possono esseere di qualsiasi tipo di piattaforma basata su processore che opera su qualsiasi sistema operativo come Microsoft.RTM. Windows.RTM. o Linux, capace di supportare uno opiù programmi client. Ad esempio, il supporto client 102a mostrato è un personal computer che esegue programmi applicativi client, conosciute anche come applicazioni client 120. Le applicazioni client 120 possono essere contenute in una memoria 108 e possono includere ad esempio un programma di videoscrittura, foglio di calcolo, un'applicazione email, un'applicazione di instant messenging, una di presentazioni, un browser Internet , un'applicaizone calendario organizer, e ogni altra applicazione in grado di essere eseguita da un client.

    [0037] L'utente 112a può interagire con varie applicazioni client 120 e articoli associati con le applicazioni applications 120 tramite diversi supporti di input e output del supporto client 102a. Gli articoli includono ad esempio un word processor, foglio di calcolo, presetenzione, email, instant messenger, database, e altri contenuti di applicazioni client o gruppi di file, pagine web di vari formati come HTML, XML, XHTML, Portable Document Format (PDF), audio, video, e ogni altro documento o gruppo di documenti di informazione di qualsiasi tipo esso sia.

    [0038] La memoria 108 del supporto client 102a mostrato contiene anche un processore di bloccaggio 124, una coda 126, e un motore di ricerca 122. Il supporto client 102a mostrato contiene anche o è in comunicazione con un data store 140. Il motore di ricerca 122 può ricevere una query esplicita dall'utente 112a o generare una query implicita e recuperare l'informazion dal data store 140 in risposta alla query.

    [0039] Il motore di ricerca 122 mostrato contiene un indexer 130, in sistema di query 132, e un formattatore134. Gli eventi, in real-time e storici, contestuali e indicizzabili, e i dati di performance possono essere inviati dalal coda 126 al sistema di query 132 per fornire il sistema di query 132 con informazioni riguardanti il contesto dell'utente attuale. Il sistema di query 132 può usare questa informazione per generare una query implicita. Il sistema di query 132 può anche ricevere e processare query esplicite dall'utente 112a.

    [0040] Il data store 140 può essere qualsiasi tipo di mezzo leggibile dal computer e può essere integrato con il supporto client 102a, come hard disk, o esterno al client 102a, come un hard disk esterno o altro supporto di storage accessibile tramite la rete 106. Il data store 140 può includere qualsiasi metodo o combinazione di metodi per archiviare dati, compresi senza limitazione array, hash table, liste, and coppie di valori [così ho tradotto ?pairs?, n.d.t.].

    [0041] Nel contenuto di FIG. 1, un utente 112a può comporre una query esplicita nell'interfaccia del motore di ricerca mostrata sul supporto client 102a, che è ricevuta dal motore di ricerca 122. Il motore di ricerca 122 può anche generare una query implicita basata sul contesto o stato dell'attuale utente, che può essere determinato dal sistema di query 132 [a partire, n.d.t.] dagli eventi in tempo reale contestuali. Basato sulla query, il sistema di query 132 può trovare l'informazione relevante nel data store 140 e fornire un insieme di risultati.

    [0042] Il data store 140 contiene un indice locale. L'indice locale nel contenuto mostrato in FIG. 1 may comprende informazione, come gli articoli, che sono associati al supporto client 102a, un utente 112a del supporto client 102a, o un gruppo di utenti del supporto client 102a. Ad esempio, l'indice locale nel data store 140 di FIG. 1 può comprende un indice di articoli creati, modificati, ricevuti o aggiornati dall'utente 112a del client usanto una macchina client 102a, o articoli altrimenti associati con l'utente del client 102a o la macchina client 112a. L'indice locale può essere archiviato nella machina client, come il data store 140, in un data store sulla rete locale in modo che sia accessibile dalla macchina client, su un server accessibile alla macchina client tramite Internet, o in altro posto accessibile.

    [0043] Al contrario, un indice globale può comprendere informazioni rilevanti molti utenti o molti server come ad esempio un indice di pagine web localizzate su più server in comunicazione con il World Wide Web. Un esempio di questo indice globale è quello usato dal motore di ricerca di Google.TM. Per fornire i risultati in risposta alla query di ricerca.

    [0044] Un singolo indice può comprende sia un indice locale che globale. Ad esempio, in un contenuto, un indice può comprende sia informazioni locali che globali, e includere un identificatore di utente o di client con l'informazione locale cosi' che può essere identificato l'utente (o gli utenti) e il client (o i client) a cui appartiene. Inoltre, un indice locale o globale può essere presente in una o più locazioni logiche o fisiche.

    [0045] In un contenuto, il set di risultati che contiene un identificatore di articolo che identifica gli articoli associati con le applicazioni del client 120 o gli articoli del client. Gli articoli del client archiviati in un data store 140 includono gli articoli associati con l'utente 112a o con il supporto client 102a, come ad esempio documenti di video scrittura, pagine web viste in precedenza, e ogni altro articolo associato con il supporto client 102a o utente 112a. In altri contenuti, il set di risultati comprende gli identificatori che identificano gli articoli collocati nella rete 106 o gli articoli della rete collocati dal motore di ricerca sul server. Gli articoli di rete includono gli articoli collocati nella rete 106 non visti in precedenza o altrimenti riferiti o riferiti in altro modo dall'utente 112a, come pagine web non viste in precedenza dall'utente 112a.

    [0046] Gli insieme di risultati sets contengono uno o più identificatori dell'articolo.Un identificatore di articolo può essere ad esempio un Uniform Resource(URL), un nome di file, un link, una icona, un percorso di un file locale o ogni altra cosa che identifica un articolo. Nel contenuto mostrato un identificato di articolo comprende un URL associato all'articolo.

    [0047] Gli articoli di messaggi archiviati nel data store 140 includono le email dell'utente i messaggi di chat, e i messaggi di istant messaging. Ogni volta che un messaggio è ricevuto, inviato, modificato, stampato o vi si accede in altro modo, un record è archiviato nel data store 140. Questa informazione può essere cercata più tardi per identificare i messaggi che dovrebbero essere mostrati nell'interfaccia utente.

    [0048] Un contneuto della presente invenzione può anche includere un supporto all'archiviazione dei thread di messaggi nel data store 140. In questo contenuto i messaggi sono legati assieme da vari attributi compresi ad esempio il mittente, il destinatario, data e o ra di invio e ricezione, il soggetto, il contenuto e ogni altro attributo del messaggio. I messaggi correlati possono essere recuperati come thread che possono essere trattati come documento da mostrare dal processore 128.

    [0049] Il formattatore 134 può ricevere il set di risultati ricerca dal sistema di query 132 del motore di ricerca 122 e può formattare i risutlati per l'output del processore 128. In un contenuto il formattatore 134 formatta i risultati in XML o HTML. Il processor 128 può essere contenuto in memoria 108 e può controllare la visualizzazione dell'insieme di risultati su un supporto associato con il supporto client 102a. Il processore di visualizzaizone 128 può comprendere vari componenti. Ad esempio in un contenuto il processore 128 è fatto da un server HTTP che riceve le richieste dell'informazione e risponde costruendo e trasmettendo pagine HTML. In un altro contenuto il server HTTP comprende una versione ridotta dell'Apache Web server. In altri contenuti le funzioni descritte possono essere eseguite da vari altri componenti e supporti.

    [0050] Attraverso i supporti client 102a-n, gli utenti 112a-n possono comunicare sulla rete 106, con ogni altro e con ogni altro sistema e supporto legato alla rete 106. In FIG. 1, un supporto server 150 è legato alla rete 106. In un contenuto, il motore di ricerca 122 può trasmettere una query di ricerca che comprende una query implicita o esplicita o entrambe al supporto server 150. Lìutente 112a può fare una query in una interfaccia del motore di ricerca che può essere trasmetta al supporto server 150. In un altro contneuto il segnale della query può invece ssere inviato a un server proxy (non mostrato), che poi invia il segnale della query al server 150. Altre configurazioni sono possibili.

    [0051] Il server 150 include un server che segue il programma del motore di ricerca executing come quello di Google.TM. Similarmente un supporto client 102a-n, il supporto server client 150 include un processore 160 legato a una memoria leggibile da computer 162. Il server 150, raffigurato come singolo sistema di computer, può essere implementato come network di processori di computer. Esempi di server 150 sono server, mainframe, networked computers, e supporti basati su processore e tipi di sistemi similari. Il processore server 160 può essere di quaslasi numero di processori di computer come ad esempio i processori Intel Corporation of Santa Clara, Calif. e Motorola Corporation of Schaumburg, Ill.


  • Community Manager

    Sposto il tutto in SEO Focus 🙂

    Ti ringrazio a nome degli utenti GT per quanto stai facendo.

    Le tue traduzioni sono preziosissime.


  • ModSenior

    Grazie Giorgio, continuo con la traduzione a pezzi (è davvero lunga, e il mio tempo è sempre limitato):

    [0052] La memoria 162 contiene il programma applicativo del motore di ricerca conosciuto anche come motore di ricerca 170. Il motore di ricerca 170 individua l'informazione rilevante in risposta a una query [proveniente, n.d.t] da un client 102a. Il motore di ricerca 122 poi fornisce il risultato al supporto client 102a tramite la rete 106. L'insieme di risultati 134 comprende uno o più identificato di articoli. Un identificatore di articolo può essere ad esempio un URL. un nome di file, una idcona, un percorso per un file locale o qualunque altra cosa che identifica un articolo. Nei contenuti mostrati, un identificatore di articolo comprende un URL associato con un articolo.

    [0053] Nel contenuto mostrato, il device server 150, o il device correlato, ha in precedenza eseguito un crawl della rete 106 per individuare articoli, come pagine web, archiviati in altri device o sistemi connetti alla rete 106, e indicizzato gli articoli nella memoria 162 o altro supporto di archiviazione dati.

    [0054] Si noti che la presente invenzione può comprende sistemi che hanno architeture diverse da quella in FIG. 1. Ad esempio, in alcuni sistemi secondo questa invenzione, il server device 104 può essere un singolo server fisico o logico. Il sistema 100 mostrato in FIG. 1 è puramente indicativo, ed è usato per spiegare i metodi esemplari mostrati in FIGS. 2 through 11.

    [0055] Vari metodi possono essere implementati in un ambiente mostrato in FIG. 1 e altri ambienti, secondo la presente invenzione. I metodi secondo la presente invenzione possono ad esempio essere implementati da un programma eseguibile da un processore [e, n.d.t.] archiviato in un mezzo leggibile da computer.

    [0056] In un contenuto, l'inidicizzatore 130 identifica un elemento boilerplate in un articolo che comprende l'elemento boilerplate e l'elemento contenuto, e genera una query di ricerca implicita che comprende un termine di ricerca, Il termine di ricerca comprende un termine presente nell'elemento contenuto.

    [0057] In un altro contenuto, il sistema di query 132, rimuove o abbassa il peso [tr. lett. di “downweights”, n.d.t.] il boilerplate quando una query esplicita è richiesta dall'utente. Nel caso sia di query implicite che esplicite, importanza relativa del contenuto è data di più che al boilerplate. In alcuni contenuti, l'articolo è indicizzato dopo che il boilerplate è stato rimosso; il peso risultante può essere più accurato poiché conta relativamente di più su un elemento non-boilerplate.

    [0058] Sono boilerplate ad esempio header, footer, elementi di navigazione che possono comparire su più articoli. In un contenuto, il boilerplate è identificato basandosi su analisi di una pluralità di articoli correlati ad esempio più pagine dentro un sito web. In un altro contenuto il boilerplate è identificato basandosi su analisi di un singolo articolo.

    [0059] L'indicizzatore 130 può identificare un boilerplate in vari modi. In un contenuto, l'indicizzatore130 analizza la frequenza dei termini e delle frasi in una pluralità di articoli correlati per identificare un elemento comune. L'indicizzatore 130 poi classifica l'elemento comune come boilerplate. Ad esempio in un contenuto l'indicizzatore 130 identifica la frase "Copyright 2004," un nota di copyright che appare in più articoli, come boilerplate.

    [0060] Termini comuni e frasi che ricorrono su più pagine correlate possono non essere boilerplate. Ad esempio, un sito che parla di astronomia può includere il termine "astronomia" in più pagine o in tutte, e quel termine è rilevante e importante. Pertanto un contenuto della presente invenzione può combinare il metodo descritto sopra per identificare il boilerplate con altri metodi.

    [0061] In un contenuto della presente invenzione, l'indicizzatore 130 considera la disposizione spaziale dei termini o delle frasi dentro un articolo. I termini comuni o frasi che ricorrono spesso in una particolare posizione in un articolo possono essere boilerplate. Ad esempio un termine comune o frase che ricorre nella parte finale di un articolo è spesso una nota di copyright o altro elemento comune.

    [0062] Analogamente, termini comuni o frasi che ricorrono nella stessa posizione in alto, sinistra e destra di un articolo possono essere elementi di navigazione. Per i siti web gli elementi di navigazione sono link che permettono all'utente di andare in certe sezioni del sito; ad esempio molte pagine su un sito web possono contenere un link alla home page, a una pagina di aiuto o altre sezioni interne ad un sito.

    [0063] In un altro contenuto, l'indicizzatore 130 considera un markup dell'articolo vicino a un termine comune o frase. Ad esempio, gli elementi di navigazione solitamente contengono markup per i link, e molto altro codice come JavaScript. Ad esempio il codice JavaScript code è spesso usato negli elementi di navigazione per alterare la presentazione degli elementi quando un utente sposta il mouse sopra l'elemento. In un contenuto, viene determinato un punteggio per i termini comuni e le frasi che sono vicini al markup. Tipi diversi di markup may possono avere pesi diversi. Ad esempio, link o JavaScript possono innalzare il peso più dell'uso di bold o italic. Alcuni markup possono identificare in maniera attendibile un boilerplate anche con un solo articolo, cioè non è necessario restringere l'analisi agli elementi comuni attraverso più articoli. La destinazione dei link può essere usata per identificare certi elementi come ad esempio i link che vanno alla home page di un sito o una pagina che termina con "help.html" o "copyright.html" possono essere considerati boilerplate.

    [0064] In un contenuto, il boilerplate è identificato basandosi su una lista predeterminata di termini e frasi. Ad esempio una lista di elementi comuni di navigazione o termini legali come "Home", "Help", "Terms of Service", e "Copyright", e sezioni di un articolo che contengono questi termini sono considerate boilerplate. Le sezioni possono ad esempio essere sentenze o paragrafi. Spesso questi termini possono ricorrere anche nel testo non è boilerplate. In un simile contenuto l'indicizzatore usa anche la posizione del testo sulla pagina cioè una sentenza che contiene il termine "Copyright" che è anche l'ultima riga sulla pagina o che ricorre in più articoli dentro un insieme di articoli o entrambi è verosimile che possa essere considerata is boilerplate. In un contenuto, il boilerplate non viene indicizzato.

    [0065] In un altro contenuto, l'indicizzatore 130 identifica un termine che ha una bassa frequenza inversa nel documento. In altre parole l'indicizzatore 130 identifica un termine che compare spesso in molti articoli diversi. Questi termini è più facile che siano dei boilerplate rispetto a termini che compaiono più raramente. Esempi di questi termini sono "home" e "contact us”. Questi termini compaiono come hyperlink in molte pagine web disponibili su Internet.

    [0066] In un contenuto della presente invenzione al testo di un articolo è assegnato un peso che indica la probabilità che quel testo sia boilerplate. Questo peso può essere usato dal sistema di query 132 per alterare l'ordinamento quando il testo corrisponde a una query.

    [0067] I contenuti della presente invenzione sono in grado di generare query implicite basate sullo stato del contesto dell'utente. I risultati di una query implicita sono mostrati all'utente in una finestra di contenuto. I risultati possono essere aggiornati periodicamente in base a come cambia lo stato del contesto dell'utente. Ad esempio, in un contenuto, l'utente sta lavorando in un documento di testo riguardante il budgeting. Un costruttore di query implicito ("QUIB"), un componente del sistema di query 132 di FIG. 1, richiede e riceve eventi relativi al documento. QUIB genera query dagli eventi e fornisce i risultati delle query all'utente.

    [0068] Gli eventi comprendono eventi storici, contestuali, e in tempo reale. In un contenuto, gli eventi contestuali sono time sensitive. Gli eventi contestuali sono relativi alle azioni che avvengono ora o che sono occorse in una breve cornice temporale, esempio le ultime 10 parole che l'utente ha gitato. Al contrato gli eventi in tempo reale sono meno legati al tempo e possono essere più significativi anche dopo che è trascorso un periodo di tempo, ad esempio esempio dopo che l'utente ha stampato o aperto il file.

    [0069] Gli eventi possono essere tracciati su più sessioni. Ad esempio in un contenuto se l'utente ha aperto una pagina web più , in one embodiment, if a user has opened a web page ripetutamente le ultime volte che l'utente ha usato una macchina client, il sistema di query 132 traccia l'uso di ciascuna di queste sessioni per tracciare gli eventi associati al loro utilizzo. In un contenuto simile, l'accesso durante una particolare sessione è abbasssato di importante o promosso basandosi sul periodo di tempo trascorso dalla sessione. In altri termini, gli eventi associati agli accessi più recenti ad una pagina specifica hanno più peso di quelli che avvenuti meno recentemente.

    [0070] Gli eventi possono includere informazioni come le ultime 20 parole che l'utente ha digitato, l'ultima frase che l'utente ha scritto, il testo vicino al cursore (cioè il testo a x parole prima e y parole dopo), il buffer corrente attivo (esempio l'intero documentoa ttivo), il buffer selezionato o evidenziato, il buffer nella clipboard, o altra informazione relativa al contesto dell'utente. Il sistema di query 132 estrae le parole chiave dall'informazione e genera una query di ricerca da inviare al motore di ricerca. Il sistema di query 132 crea ed esegue la query come se l'utente ne 'avesse digitati esplicitamente le parole chiave nell'interfaccia della ricerca.

    [0071] In un contenuto, il sistema di ricerca132 apprende dal comportamento dell'utente se certi flussi di dati o parole chiave siano o meno particolarmente rilevanti. Il sistema di ricerca 132 può contare sui click-throughs del contenuto mostrato sulla finestra per determinare i risultati in cui l'utente mostra particolare interesse. Ad esempio se il contenuto include un link che è stato mostrato all'utente può volte ma non è stato cliccato, il link può essere rimosso dal contenuto mostrato. I flussi di dati, i tipi di query, o le parole chiave che sono risultate nel link che viene mostrato possono essere abbassate di peso nell'analisi che ne consegue. Al contrario se l'utente clicca nel link questo indica di solito che l'utente è interessato all'articolo e può risultare nel promuovere i flussi di dati i tipi di query o parole chiave che il link venga mostrato. Questi flussi di dati, tipi di query o parole chiave potrebbero poi essere usare con il peso aumentato nell'analisi che segue.

    [0072] Il sistema di query 132 di FIG. 1 usa più flussi di dati come sorgenti per generare le query di ricerca. Ad esempio se l'utente sta modificando un documento, il sistema di query 132 può usare le ultime 20 parole digitate, come l'intero documento per estrarre le parole chiave e generare query di ricerca. Il sistema di query 132 genera una query di ricerca per ogni flusso di dati e combina gli insiemi di risultati corrispondenti ad ogni query di ricerca da mostrare all'utente.

    [0073] FIG. 2 è un diagramma di flusso che mostra un metodo per estrarre le parole chiave da un evento in un contenuto della presente invenzione. Nel contenuto della presente invenzione di FIG. 1, il sistema di query 132 comprende un costruttore di query implicito ("QUIB"). Il sistema di query 132 crea le query di ricerca basate sullo stato del contesto dell'utente. Il sistema di query 132 prima riceve l'evento contestuale 202. L'evento contestuale è una correnza che è catturata dal processore di cattura 124 e può essere usata sia per aggiornare lo stato contestuale dell'utente e/o può essere indicizzata e archiviata in un database di eventi nel data store 140 per fornire informazioni per query future.

    [0074] Il sistema di query 132 estrae le parole chiave dall'evento per generare una o più query di ricerca. Le parole chiave possono comprendere le parole che l'utente ha digitato di recente, le parole che sono presenti in un documento o buffer, o possono comprendere ogni altro tipo di parola chiave che il sistema è in grado di identifica. Le parole chiave possono comprendere tutte le parole nell'evento. Il ssitema di query 132 può estrarre una parola chiave da un qualsiasi numero di flussi di dati. Ad esempio, un contenuto della presente invenzione può usare una o più delle seguenti per estrarre query implicite: (1) le n parole digitate di recente dove n è nell'ordine di 10; (2) le n parole vicino al cursore dell'utente dove n è nell'ordine di 10 (es. x parole prima del cursore e y parole dopo); (3) le parole nella selezione corrente; (4) le parole nel documento corrente (es.. un metodo simile seleziona le parole che ricorrono più frequentemente); (5) le query esplicite eseguire o inviate dall'utente ; (6) il contenuto della clipboard; (7) una lista di tutti i nomi di persone con cui l'utente ha comuncato; (8) una lista di indirizzi email e/o i "buddy names" dell'istant messaging; e (9) una lista dei termini o frasi importanti per l'utente.


  • ModSenior

    [0075] Ad esempio, in un contenuto della presente invenzione il sistema di query 132 estrae le keyword da un intero buffer, ad esempio da un documento Microsoft.RTM. Word. In un altro contenuto della presente invenzione il sistema di query 132 estrae le keyword basate sulla frequenza di un termine ("TF"). La frequenza del termine si riferisce a quanto frequentemente un termine ricorre dentro un documento o in un flusso di dati. In un altro contenuto, il sistema di query 132 extrae la frequenza inversa del documento ("IDF"), che è definita come l'inverso di quanto un termine ricorre spesso in un documento. Ad esempio, il termine "budget" può apparire in un particolare documento 20 volte. TF per "budget" dovrebbe essere più alto di TF di una parola che ricorre solo una volta nel documento. IDF del termine "budget" è probabilmente anche relativamente elevato poiché il termine è term improbabile che ricorra in più in più documenti in generale. Al contrario, la parola "the" probabilmente ha un TF davvero elevato e un IDF molto basso poiché "the" ricorre frequentemenete in molti documenti e flussi di dati.

    [0076] In un altro contenuto della presente invenzione, il sistema di query riceve query esplicite che sono catturate sono da un'applicazione sul client 102a, come un Winsock Layered Service Provider ("LSP"). Quando l'utente invia una query a un indice globale, come il motore di Google.TM., il Winsock LSP cattura la query come un evento e fornisce una query, in una versione originale o modificata, a un'altra applicazione motore di ricerca, come il motore di ricerca 122 sul client 102a. Il motore di ricerca locale 122 sostanzialmente processa la query simultaneamente con il motore di ricerca glogale. Quando il sistema di query 132 riceve i risultati da entrambi i motori di ricerca, li combina e crea un elemento interfaccia utente che comprende i risultati combinati.

    [0077] In un altro contenuto della presente invenzione, il sistema di query 132 notifica al processore di visualizzazione 128 quando i nuovi risultati sono pronti. Il processore di visualizzazione 128 solleva una richiesta HTTP a un server HTTP (non mostrato), che restituisce al processore di visualizzazione un insieme di risultati corrispondenti alla query implicita.

    [0078] Altri metodi per estrarre le parole chiave dai flussi di dati possono essere utilizzati da un contenuto interno alternativo della presente invenzione. Ad esempio, il sistema di query 132 può usare i termini identificati per generare query di ricerca. Un termine identificato è un termine che è stato notato come particolarmente rilevante allo stato del contesto dell'utente. Ad esempio, un termine identificato può essere un nome di persona a cui l'utente ha scritto una email di recente. Il nomi devono non essere recenti o popolari; ad esempio, i nomi possono includere tutti gli indirizzi email, etc. intercettati per un utente. Anche nomi vecchi o rari possono essere utili da identificare. Ad esempio, se un utente ha soltanto inviato o ricevuto un solo messaggio a una particolare persona diversi anni fa, può anche essere desiderabile richiamare il messaggio quando l'indirizzo email del mittente/destinatario viene riconosciuto. In un contenuto, i nomi sono limitati ai nomi recenti e/o popolari per limitare il numero di dati necessari per archiviare i nomi. Per estrarre il nome, il sistema di query 132 esamina il ssitema email dell'utente e determina i nomi degli utenti a chiu ha scritto spesso o recentemente email. In un altro contenuto, il sistema di query correla anche questa informazione con il soggetto e il testo dell'email o altra corrispondenza. Ad esempio, se un utente manda frequentemente email a una persona, e l'utente altrettanto frequentemente si riferisce al nome di una organizzazione a cui la persona è affiliata (esempio il campo azienda nel contatto della persona), il sistema di query identifica l'organizzazione e il contenuto come interesse della persona.

    [0079] Il sistema di query 132 può anche estrarre le parole chiave da una selezione o da un buffer della clipboard. Una selezione comprende il testo o gli oggetti che sono selezionati in una applicazione correntemente attiva. Una clipboard tipicamente archivia informazion selezionate in precedenza e copiate o tagliate dall'utente.

    [0080] Una colta che il sistema di query 132 ha estratto le parole chiave da un flusso di dati, il sistema di query 132 genera un query di ricerca 206. La query di ricerca che il sistema di query system genera può comprendere le parole chiave estratte da un singolo flusso di dati o può comprendere le parole chiave estratte da più stringhe. Se una parola estratta da più di una sorgente continua ad essere usata in una query implicita può essere determinato in modi diversi. Ad esempio la parola "budget" ricorre con una certa frequenza (es. 50 volte) in un documento ma l'utente non ha digitato di recente la parola budget, budget può continuare ad essere incluso in una query generata dal sistema di query 132.

    [0081] In un contenuto mostrato in FIG. 2, il sistema di 132 poi trasmette la query di ricerca ad un motore di ricerca,ad esempio, il motore (122) 208. In un altro contenuto, il sistema di query 132 trasmette la query ad altri motori di ricerca, ad esempio, un motore di ricerca in esecuzione su un supporto server 150, come Google.TM. .Il motore di ricerca 122 esegue una ricerca in uno o più indici, sia locali che globali, e fornisce almeno un identificatore di articolo come risultato. Il sistema di query riceve il risultato dal motore di ricerca 210. Una volta che il sistema di query 132 riceve il risultato, il sistema di query 132 può eseguire funzioni aggiuntive o operazioni aggiuntive sul risultato. Ad esempio, in un contenuto della presente invenzione il sistema di query 132 ordina gli identificatori di articolo nei risultati in base a punteggi di rilevanza. I punteggi di rilevanza possono essere correlati agli eventi precedenti che sono stati archiviati dal sistema di query 132 o da altro componente o possono essere basati su altri criteri.

    [0082] Una volta che il sistema di query 132 ha ricevuto l'insieme di risultati e ordinato i risultati o eseguito altre operazioni, un sistema di query 132 trasmette il risultato al processore di visualizzazione(128) 212. Il processore di visualizzazione 128 mostra l'insieme dei risultati all'utente. Il processore di visualizzazione 128 può mostrare l'insieme di risultati in un formato simile a quello usato per i risultati globali come quelli forniti da un motore di ricerca che usa un indice globale come Google.TM. Il processore di visualizzazione 128 può in alternativa mostrare i risultati in una finestra piccola window sovrapposta a un'altra applicazione che l'utente sta usando. In un contenuto della presente invenzione, il processore di visualizzazione 128 crea una finestra basata sullo spazio disponibile sullo schermo nel display dell'utente e mostra i risultati dal sistema di query 132 nella finestra che esso crea. In un altro contenuto, la finestra di una applicazione attiva può essere modificata per includere i risultati.

    [0083] In un contenuto, una volta che il numero desiderato di risultati è stato recuperato in un insieme di risultati, i risultati sono archiviati in memoria, e il sistema di query 132 informa il processore di visualizzazione 128. In un altro contenuto, se il numero di risultati in un insieme di risultati è minore del numero minimo predeferminatoil sistema di query 132 esegue query aggiuntive per recuperare i risultati fino a quando viene superata la soglia minima dei risultati.

    [0084] Il sistema di query 132 può esegue una singola query o può eseguire più query basate su uno o più flussi di dati per restituire insiemi di risultati che sono rilevanti per il contesto dell'utente corrente. La FIG. 3 è un diagramma di flusso che illustra un metodo per eseguire più query per restituire risultati rilevanti al contesto dell'utente in un contenuto della presente invenzione. Nel contenuto mostrato, il sistema di query 132 riceve il primo evento302. Il sistema di query 132 estrae le parole chiave dall'evento 304. Il sistema di query 132 genera una prima query di ricerca basata sulle parole chiave estratte dal primo evento 306. Il sistema di query trasmette la prima query al motore di ricerca 308. Il motore di ricerca al quale il sistema di query 132 trasmette la query di ricerca può essere un'applicazione locale o globale. Ad esempio, l'applicazione del motore di ricerca ouò essere un'applicazione in esecuzione sulla macchina dell'utente che accede a contenuto caricato sulla macchina o disponibile nella macchina sulla rete locale o un'applicazione del motore di ricerca può accedere ad un'applicazione di motore di ricerca globale come il motore di Google.TM. Il sistema di query 132 mostra poi il primo insieme di risultati 310.

    [0085] Il sistema di query 132 riceva anche il secondo evento 312. Il secondo evento può contenere informazioni da un secondo flusso di dati. Ad esempio, in un contenuto della presente invenzione il sistema riceve il primo evento da un buffer di documento Microsoft.RTM. Word. Il sistema di query 132 riceve un secondo flusso di dati dalla clipboard. Il sistema di query 132 estrae le parole chiave dal secondo evento314. Il sistema di query genera poi una seconda query di ricerca basata sulle parole chiave estratte dal secondo evento 316.

    [0086] Il sistema di query poi trasmette la seconda query di ricerca a un motore di ricerca. Come con la prima query di ricerca il sistema di query 132 può trasmettere la seconda query di ricerca sia all'indice globale che locale. Ad esempio in un contenuto della presente invenzione il primo evento comprende l'informaxione relativa ai dati che sono archiviati nella macchina locale dell'utente. Di conseguenza, il sistema di query 132 trasmette questa query di ricerca al motore di ricerca locale (122) 318. Il secondo flusso di dati comprende l'informazione dalla query esplicita precedente eseguita dall'utente. In questo caso il sistema di query 132 trasmette la query di ricerca al motore di ricerca globale 170, come .TM.. Il sistema di query 132 poi riceve il secondo insieme di risultati dal secondo motore di ricerca 320. Come con i risultati del primo insieme, i risultati del secondo comprendono almeno un identificatore di articolo o possono comprendere una pluralità di identificatori di articoli, che sono rilevanti per la seconda query di ricerca.

    [0087] Una volta che il sistema di query 132 riceve il primo insieme di risultati ed il secondo, il sistema di query 132 combina i due insiemi in 322. Il sistema di query può combinare gli insiemi di risultati in un numero [diverso, n.d.t.] di modi. Ad esempio, in un contenuto della presente invenzione il ssitema di query unisce i due insiemi ordinandoli per punteggio di rilevanza trascurando da quale particolare query di ricerca il risultato è stato generato. In un altro contenuto della presente invenzione il sistema di query 132 tiene conto della query di ricerca che era stata eseguita per determinare come combinare gli insiemi di risultati. Ad esempio il sistema di query 132 può ritenere i risultati acquisiti dall'indice locale più importanti di quelli acquisiti dall'indice globale o viceversa. In un contenuto simile, gli insiemi di risutlati mostrati all'utente avranno i risultati locali elencati sopra quelli globali. Contenuti della presente invenzione possono eseguire passi aggiuntivi per combinarli o ordinarli. Ad esempio in un contenuto della presente invenzione il sistema di query 132 valuta l'elenco di identificatori di articoli che sono restituiti da entrambi gli insiemi ed elimina qualsiasi duplicato. In un altro contenuto ancora, il sistema di query 132 combina gli identificatori di articolo da ognuno dei 2 insiemi risultati e poi esegue un ordinamento aggiuntivo, procedure di calcolo [del peso, n.d.t.], e ordinamento si ciascuno degli insiemi. Ad esempio un identificatore di articolo che compare in più insiemi di risultati può ricevere un peso più elevato che se fosse apparso solo in un insieme. In un contenuto, gli insiemi di risultati non sono unifi; ma mostrati sulla pagina in liste separate. Una volta che il sistema di query 132 ha combinato gli insiemi di risultati dalle due query di ricerca, il sistema di query 132 trasmette gli insiemi di risultati combinati al processore di visualizzazione (128) 224.

    [0088] In un contenuto della presente invenzione, il sistema di query 132 combina le parole chiave perse dalle ultime query implicite che sono state eseguite con le parole che sono originate dai flussi dell'applicazione corrente dell'utente. Ad esempio, in un contenuto della presente invenzione, il sistema di query 132 estrae le parole chiave da una delle ultime 3 query eseguite dall'utente. Il sistema di query 132 combina le parole chiave che sono state estratte dalle ultime 3 query con quelle prese dal buffer dell'applicazione correntementa attiva . Il sistema di query 132 poi esegue una query per ogni insieme di parole chiave estratte, restituiendo più insiemi di risultati. Il sistema di query 132 poi fonde gli insiemi di risultati in modo simile a quelli descritti qui. Il sistema di query 132 trasmette i primi n (esempio 20) risultati al processore di visualizzazione 128 per essere mostrati nel display dell'utente.


  • ModSenior

    [0089] La FIG. 4 è un diagramma di flusso che illustra un metodo per ordinare un insieme di risultati combinati in un contenuto della presente invenzione. Il sistema di query 132 riceve il primo insieme di risultati a 202. Ad esempiol il sistema di query estrare una parola chiave dal buffer dell'applicazione che l'utente sta usando al momento e la invia la query al motore di ricerca come il motore di ricerca locale 122, e in risposta, il motore di ricerca esegue una query e restituisce un insieme di risultati al sistema di query 132. Il sistema di query 132 poi ordina il primo insieme di risultati basato sui punteggi di rilevanza in base allo stato del contesto dell'utente 204. Il sistema di query 132 riceve un secondo insieme di risultati 206. Ad esempio, il sistema di query può inviare una query al motore di ricerca globale come 170, come ad sempio Google.TM. . Il sistema di query 132 riceve il secondo insieme di risultati 206. Il sistema di query poi ordina il secondo insieme di risultati 208. In un contenuto della presente invenzione, gli insiemi di risulati locale e globale sono ordinati basandosi sullo stesso insieme di criteri. In un altro contenuto, gli insiemi di risultati originati dagli indici locale e globale possono essere ordinati in maniera diversa basandosi sull'utente specificato o altri criteri. Questi criteri possono includere i dati di click-through dell'utente.

    [0090] Il sistema di query 132 prova a creare un insieme combinato di risultati. Il sistema di query 132 può farlo in più modi. Ad esempio, in un contenuto della presente invenzionedi FIG. 4, il sistema di query identifica un identificatore di articolo che compare in entrambi gli insiemi di dati 210 primo e secondo. Un identificatore di articolo che appare sia nel primo che nel secondo insieme di risultati può essere di più probabile interesse per l'utente di un identificatore di articolo che compare soltanto in uno dei due. Il sistema di query 132 crea un insieme di risultati combinati e aggiunge l'identificatore di articolo, che era identificato come essere in entrambi gli insiemi di risultati, all'insieme di risultati combinati 212. Il sistema di query 132 può ripetere i passi 210, 212 per aggiungere altri identificatori di articoli agli insiemi di risultati combinati. Il sistema di query 132 può eseguire tipi di metodi aggiuntivi per aggiungere identificatori di articoli all'insieme combinato di risultati. Ad esempio, il sistema di query 132 può estrarre i primi 10 identificatori di articolo da ciascuno del primo insieme di risultati e dal secondo e aggiungere questi identificatori all'insieme di risultati combinati. Il sistema di query può eliminare i duplicati dall'insieme combinato di o eseguire altre operazioni che sono utili alla creazione di risultati combinati rilevanti per l'utente. Una volta che il sistema di query 132 ha creato un insieme combinato di query con gli identificatori di articolo rilevanti, il sistema di query 132 trasmette l'insieme combinato di risultati al processore di visualizzazione 214 che li mostra all'utente.

    [0091] In un contenuto della presente invenzione, il sistema di query 132 regolarmente(cioè continuamente) recupera eventi in tempo reale ed eventi contestuali dalla coda degli eventi. Gli eventi in tempo reale possono includere ad esempio un evento che indica che l'utente ha caricato un particolare file dal file system. Un evento contestuale può includere ad esempio il fatto che l'utente ha digitato una particolare parola nel documento. Il sistema di query 132 usa gli eventi per aggiornare lo stato dell'utente ovvero la lista delle parole digitate di recente, la frase corrente, la selezione corrente, il testo dove il mouse è posato sopra, il testo corrente nella clipboard, o l'interno buffer dell'applicazione attiva. Il sistema di query può mantenere lo stato dell'utente separatamente per ogni applicazione attiva. Ad esempio, in un contenuto, le parole digitate più di recente in ogni applicazione sono mantenute separatamente. Il sistema di query 132 combina il contesto per più applicazioni(esempio un editor di testi e un foglio di calcolo). Il sistema di query 132 determina quando e se ricalcolare le query e ricalcolare le nuove query quando il contesto cambia. Ad esempio in un contenuto della presente invenzione il sistema di query 132 prova a ricalcolare le query in 250 millisecondi quanto l'utente si ferma dopo una parola. Il sistema di query 132 può ricalcolare le query subito dopo un certo evento, quando l'utente carica il file o carica una pagina web. Il sistema di query 132 poi costruisce una query usando il contesto dell'utente come le parole digitate più di recente. Il sistema di query 132 può anche costruire una stringa di query usando nomi speciali come il destinatario del campo "To:" di un messaggio email che l'utente sta scrivendo, o il "buddy name" di un altro utente col quale l'utente corrente ha una conversazione tramite instant messenger. Il sistema 132 di query invia la stringa della query al processore delle query.

    [0092] La FIG. 5 è un diagramma di flusso che illustra il metodo per procesare una query. In un contenuto della presente invenzione il sistema di query 132 riceve prima la query string 502. Il sistema di query 132 può ricevere la query string in diversi modi. Ad esempio in un contenuto il sistema 132 riceve una chiama API con un query string create attraverso uno dei due metodi descritti qui. Il sistema di query 132 poi invia la raw string all'indice full text. In risposta, il sistema di query 132 riceve una lista di ID di eventi ordinati 506.

    [0093] Usando la lista di ID di eventi ordinati, il sistema di query 132 recupera un insieme di risultati a 208. Ad esempio, in un contenuto della presente invenzione, il sistema di query 132 itera sopra la lista degli eventi fino a quando sono recuperati i risultati per fornire una query il cui risultato sarà un insieme di risultati sufficienti da mostrare all'utente. Durante il processo di iterazione il sistema di query 132 recupera i record dell'evento dal data store 140, che include informazioni come il tipo di evento e locazione (cioè, URL, percorso, o altro attributo di locazione).

    [0094] Un contenuto della presente invenzionepuò filtrare i risultati ricevuti dall'indice locale o globale. Il risultato può essere filtrato basandosi su una varietà di parametri. Ad esempio, in un contenuto, l'insieme di risultati che il sistema di query 132 trova non trova le restrizioni della query, il sistema di query si sposta al risultato successivo. Questo passo è riferito al filtro della sintassi della query. Se il risultato trovato non corrisponde alle restrizioni di visualizzazione (ad esempio: solo email), il sistema di query salta al risultato dopo. Questo passo è riferito al filtro dei parametri di visualizzazione.

    [0095] In un altro contenuto, i risultati sono filtrati basandosu su parametri di un articolo in un insieme di risultati. Il sistema di query 132 in un simile contenuto riceve l'URL, il sito, utente, la data di cache, e il tipo di file di ciascuno dei risultati restituiti. I risultati possono essere filtrati dal sistema di query 132 o possono alternativamente essere filtrati dal database degli eventi. Quale componente filtri il risultato dipende dall'indice full text usato dal contenuto della presente invenzione e dipende anche da un altro criterio come lo spazio di archiviazione richiesto e l'effetto sul tempo della query. I parametri di visualizzazione possono essere filtrati per includere il tipo di file e il numero di risultati.

    [0096] Il sistema di query 132 filtra i risultati dopo aver ricevuto n risultati dall'indice full-text. Il sistema di query ordina i risultati e confronta i risultati con i filtri. Se il risultati non passa i filtri il risultato è eliminato dai risultati che verranno restituiti all'utente.

    [0097] In un contenuto della presente invenzione, il sistema di query 132 genera snippets da mostrare con, o al posto di, un link e di un titolo. In un contenuto, quando il sistema di query system 132 indicizza documento di una pagina web, ad esempio quando l'utente carica il documento, il sistema di query 132 recupera il contesto del documento includendo ad esempio i primi 100kb del documento di testo. Il sistema di query 132 cerca nl contesto del documento tag di script. Rimuove il tag d'inizio script , il tag di fine script, e tutto il testo compreso tra i 2 tag. Poi fa la stessa cosa con i tag di stile, rimuovendo il tag di stile iniziale, quello finale e tutto quello che è compreso. Poi il sistema di query 132 rimuove gli altri tag che sono all'interno meno di e più grande di simboli (). poiché il sistema di query 132 itera su tutte le parole nel testo, il sistema di query 132 costruisce una lista di posizioni in cui i termini di ricerca sono posizionati dentro il documento. Il sistema di query archivia l'informazione nel data store.

    [0098] Una volta che il sistema di query 132 ha recuperato i risultati e creato uno snippet per ogni risultato nell'insieme di risultati, il sistema di query 132 riordina i risultati basati sull'informazione dai record del documento, come la frequenza di accesso. In un altro contenuto, altri metodi sono usati per riordinare l'insieme di risultati. In un contenuto della presente invenzione il sistema di query 132 può anche archiviare una lista di filtri in memoria con dettagli riguardanti quali filtri sono stati applicati e/o quali risultati del filtraggio. Archiviando la lista di filtri in memoria il sistema di query 132 è capace di accedere successivamente alla lista per determinare i risultati rilevanti per lo stato del contesto dell'utente e per altri scopi come in un contenuto della presente invenzione il sistema di query 132 accede alla lista dei filtri o alla memoria per determinare un punteggio di rilevanza dei risultati che compaiono negli insiemi di risultati recuperati di nuovo.

    [0099] Il sistema di query 132 poi trasmette i risultati al processore di visualizzazione 514.Il processore di visualizzazione 128 poi procede i risultati in un formato che può essere mostrato all'utente . Ad esempio in un contenuto della presente invenzione il processore di visualizzazione128 processa e trasmette insiemi di risultati come documento HTML. In un altro contenuto il processore di visualizzazione processa e trasmette i risultati in forma di documento XML.

    [0100] In un contenuto della presente invenzione il sistema di query 132 forma query string multime e combina i risultati delle query per determinare quali input sono i più probabili per fornire risultati rilevanti. Ad esempio in un contenuto della presente invenzione il sistema di query 132 usa una frase estratta da un documento Microsoft.RTM. Word. Ad esempio, considera questa frase: "What is the budget for the second quarter of 2003?" Non tutte le parole che compaiono nella frase sono necessarie per una query di ricerca. Ad esempio, molte delle parole nella frase sono filler o "stop" words. Filler include parole come "the" che sono determinativi e non necessariamente rilevanti per qualsiasi query specifica. Queste parole possono essere filtrate prima che la query di ricerca è inviata al motore di ricerca 122. La frase originale può essere mantenuta per confrontare estratti di contenuto futuri.

    [0101] Un contenuto della presente invenzione è capace di usare diverse misure per determinare quali risultati mostrare all'utente. Ad esempio, in un contenuto della presente invenzione, il tasso di click-through per un particolare articolo può essere usato per determinare se una parola chiave potrebbe essere ritenuta o no rilevante, ad esempio se l'utente clicca in un particolare risultato della finestra del contenuto, la parola chiave usata per trovare il risultato può essere più rilevante di altre parole chiave. Un contenuto della presente invenzione è in grado di estrarre parole chiave da più stringhe, così da fornire un quadro più completo del contesto dell'utente. Ad esempio, in un contenuto, le parole chiave sono estratte da un messaggio email e da un documento di video scrittura. Il messaggio e il documento possono essere strettamente correlati, correlati in quale modo, o non correlati; usando entrambe le sorgenti per le parole chiave il contenuto [dell'invenzione, n.d.t] è in grado sia di individuare un tasso di parole chiave condivise probabilmente più alto che di fornire parole chiave aggiuntive. Un contenuto della presente invenzione è ingrado di usate l'attivitaà dell'utente per lanciare l'esecuzione di una query per i dati rilevanti del contesto. Ad esempio in un contenuto quando un utente completa una frase, in un documento digitando un segno di interpunzione viene lanciata una query.

    [0102] Contenuti della presente invenzione possono presentare all'utente dei risultati più chiari in forma simile agli insiemi di risultati che sono forniti generalmente dai motori di ricerca come Google.TM.. I risultati includono link su cui l'utente può cliccare per vedere la copia corrente del documento nella sua forma originale (cioè PDF) una copia cache, che è archiviata in un formato processato (cioè HTML). Ad esempio, l'utente può desiderare di vedere una versione HTML o la versione originale che non è più disponibile in un repository. I risultati includono anche uno snippet per indicare all'utente perchè i risultati sono inclusi nell'insieme di risultati. L'insieme di risultati include anche informazioni per un particolare articolo come le dimensioni, la data quando si è fatto l'ultimo accesso all'articolo e la frequenza di accesso dell'articolo. I risultati possono contenere una immagine che è sia una immagine rappresesntativa selezionata dal contenuto del documento se ne esiste una; uno screen shot del documento o altra immagine che aiuta l'utente a capire perchè l'articolo è incluso nei risultati. Il sistema di query restituisce oggetti che sono su una pagina dei risultati. Il processore di visualizzazione128 completa la formattazione della pagina. L'insieme delle regole della formula esatta possono variare in base all'implementazione di un particolare contenuto della presente invenzione.

    [0103] Il sistema di query 132 crea le query string basandosi sul contesto corrente dell'utente. Creando le query basate sul contesto corrente dell'utente queries il sistema di query 132 salva il tempo dell'utente [=risparmia il tempo all'utente?, n.d.t.] producendo risultati producendo risultati senza che l'utente digiti una query esplicita. L'utente può essere interessato in questi risultati ma può non aver digitato nella query esplicitamente per un numero di ragioni. Ad esempio un utente può non ricordare che ha scritto una email relativa al contesto corrente. Comunque una volta che l'email è presentata all'utente e il contenuto è mostrato, l'utente può mostrare interesse per l'articolo. Un altro esempio è che l'utente può aver fatto prima un task simile, ma può non richiamare l'informazione per eseguire attualmente una query esplicita. Quindi, il sistema di query 132 fornisce una informazione all'utente a cui diversamente l'utente può non essere in grado di accedervi o non può ci accedere.

    [0104] Un sistema di query i risultati e genera snippets and poi archivia i risultati della query in memoria. Per i risultati espliciti l'utente fa una richiesta tramite un browser web, e i risultati sono restituiti tramite un server HTTP, che trasmette i risultati al browser web come risposta HTTP. Al contrario per query implicite il sistema 132 notifica al processore di visualizzazione che sono pronti dei nuovi risultati e il processore di visualizzazione fa una richiesta HTTP al server HTTP per ricevere i risultati.

    [0105] In un contenuto, una volta che un sistema di query ha i risultati per ciascuna di queste query, il sistema di query li in una unica lista dando peso al punteggio di rilevanza basandosi su da quale lista provengono. Ad esempio in un contenuto i risultati della query sono basati sulle parole digitate recentemente che hanno un peso maggiore dei risultati basati sulle parole che arrivano dall'intero documento. Ad esempio un contenuto usa i fattori come quanto le parole compaiono frequentemente in un documento, la frequenza del documento delle parole, e quanto il foreground dell'applicazione è stato in foreground per determinare la rilevanza della query string generata.


  • ModSenior

    Concludo con questo post la traduzione integrale del brevetto sul boilerplate.
    Ho fatto la traduzione nei ritagli di tempo pertanto non me ne voglia chi legge di getto il testo e trova qualche imprecisione o discorso che non scorre.

    Aggiungo anche per chiarezza che, dove riporto "In un contenuto" o "In un contenuto della presente invenzione", si fa riferimento al contenuto del brevetto.
    Ecco il pezzo finale (spezzato in 2 post altrimenti il sistema non me lo fa inserire sopra i 25.000 caratteri ).

    [0106] Il sistema di query 132 può combinare il punteggio di rilevanza dei risultati alla query string con la rilevanza della query string stessa. Il sistema di query 132 poi tira via i risultati sotto una soglia del punteggio di rilevanza. Il filtro può anche essere aggiustato basandosi sui dati di click-through dell'utente. In un simile contenuto, il sistema di query 132 prova a equlibrare tra mostrare motrare a un utente troppi pochi risultati, restituendo in una finestra di visualizzazione un contenuto in bianco che non è utile all'utente, e mostrare troppi risultati con un conseguente rapporto elevato rapporto tra disturbo e segnale che è altrettanto poco utile.

    [0107] Un contenuto della presente invenzione può usare diversi parametri per determinare quando mostrare a un untente un nuovo insieme di risultati. In un contenuto, diverse query sono costruire ed eseguite a diverse percentuali. Ad esempio in un contenuto il sistema di query 132 aggiorna una query basata sulle parole digitate più di recente dopo che l'utente ha digitato n parole (10 o 20). Al contrario, il sistema di query 132 in un contenuto simile costruisce ed esegue una nuova query basata sul buffer del documento completo quando il document è aperto o la finestra in cui il documento è mostrato prende il fuoco. Vari altri tipi di misure possono essere usate includendo ad esempio la presenza di un segno di interpunzione.

    [0108] In un contenuto della presente invenzione, il sistema di query 132 usa una rilevanza metrica per tirar via i risultati che sono sotto una soglia di rilevanza. Un utente può essere desideroso di accettare un più alto livello in relazione a una query implcita ad esempio all'utente è fornito con i risultati senza aver fatto il passo di richiedre una query esplicita e quindi può essere più desideroso di accettare i risultati che non sono così rilevanti per il contesto dell'utente come i risultati espliciti sono rilevanti per una query esplicita. D'altra parte l'utente sta sacrificando una parte del suo schermo per mostrare i contenuti che contengono i risultati impliciti della query. Secondo un contenuto si assume che i risultati impliciti debbano essere rilevanti almeno a un certo livello, allo stato del contesto attuale dell'utente. Così, possono essere fatte affermazioni diverse e anche contraddittorie sulla rilevanza dei risultati impliciti rispetto agli espliciti in varie parti dell'invezione.

    [0109] La FIG. 6 è un diagramma di flusso che illustra un metodo per identificare i termini in un contenuto della presente invenzione. Il sistema di query 132 riceve un evento 602. L'evento può ad esempio essere un evento significante come un utente ha digitato un frase in un documento. Il sistema di query 132 estrare il testo dall'evento 604, poi identifica le parti del discorso nel testo dell'evento 606. Le parti del discorso includono ad esempio nomi e verbi. Il sistema di query 132 può anche identificare i nomi dentro il contenuto confrontando le parti del discorso con i nomi archiviati in precedenza o usando regole di processo. La parte autimatica del taggere parti del discorso è nota. Si veda, ad esempio, Brill, Eric; A Simple Rule-Based Part Of Speech Tagger; Proceedings of ANLP-92, 3rd Conference on Applied Natural Language Processing (1992). Possono essere usate varie tecniche statistiche e basate su regole. Ad esempio in un contenuto una parola è inizialmente categorizzata come un verbo basandosi sul corpus archiviato. La categorizzazione può poi essere modificata basandosi sul contesto nel quale appare la parola, su una proprietà della parola o basandosi su altre proprietà osservate. Ad esempio i nomi propri iniziano in genere con la lettera maiuscola; se una parola che generalmente funge da verbo è capitalizzata a metà frase può essere un nome in quella frase.

    [0110] Il sistema di query 132 genera poi una query di ricerca per una o più parti del discorso 608. Ad esempio il sistema di query 132 può generare una query di ricerca per i nomi e altri nomi propri. Quindi il sistema di query 132 trasmette la query di ricerca a almeno un motore di ricerca che può essere quello locale o globale 610. Il sistema di query 132 poi riceve i risultati dal motore di ricerca risultati dalle query di ricerca 612. In un contenuto mostrato quando il sistema di query 132 riceve i risultati da tutte le query inviate, il sistema di query 132 combina gli insiemi di risultati 614. Gli insiemi di risultati possono essere combinati in vari modi come descritto qui. In un contenuto il sistema di query 132 pesa i risultati associati con le diverse parti del discorso in modi diversi ad esempio i risultati relativi ai nomi, possono essere considerati di più rispetto a quelli relativi ai verbi.

    [0111] La FIG. 7 è un diagramma di flusso che mostra un metodo per alterare un punteggio di rilevanza in un contenuto della presente invenzione. Nel contenuto mostrato il sistema di query 132 riceve almeno 2 insiemi di risultati702. I due insiemi di risultati sono ricevuti in risposta alla richiesta di 2 query ad esempio quelle relativa ai nomi e quella relativa ai verbi discussi in relazione alla FIG. 6 sopra. Il sistema di query 132 unisce gli insiemi di risultati per creare un insieme di risultati fuso 704. Ad esempio gli insiemi di risultati possono includere identificatori di articoli che sono comuni agli insiemi di risultati. Se avviene il sistema di query 132 eliminata i duplicati quando crea l'insieme di risultati uniti. Il sistema di query 132 trasmette l'insieme di risultati al processore di visualizzazione 128.

    [0112] Il processore di visualizzazione 128 presenta all'utente l'insieme dei risultati uniti. Può presentare un insieme di risultati uniti in un formato simile a quello usato convenzionalmente dai motori di ricerca come Google.TM o in altri formati. Ad esempio in un contenuto ogni identificatore di articolo è nell'insieme di risultati uniti comprende un hyperlink. L'utente può cliccare sull'hyperlink per indicare interesse nell'hyperlink. In un contenuto mostrato l'utente clicca su un hyperlink e determina che un segnale venga trasmesso al sistema di query 132.

    [0113] Il sistema di query 132 riceve il segnale che indica un interesse nell'hyperlink 708. In risposta il sistema di query 132 cerca nel data store 140 di determinare la sorgente dell'identificatore dell'articolo nell'insieme unito di risultati 710. Il sistema di query 132 aumenta il punteggio di rilevanza della sorgente della query 712.

    [0114] Ad esempio , il sistema di query 132 riceve 3 insiemi di risultati e li unisce per creare un insieme di risultati unico. Il sistema di query 132 archivia la sorgente di ogni identificatore di articolo, in memoria o nel data store 140. Il sistema di query 132 riceve poi il segnale che indica interesse in un particolare identificatore di articolo e cerca nel data store 140 di determinale quale sorgente o sorgenti dell'identificatore di articolo era ad esempio da quale query o da quali query l'identificatore di articolo è stato originato. Il sistema di query 132 identifica le prime 2 query che sono risultat nell' identificatore di query che l'utente ha cliccato. Il sistema di query 132 aumenta un punteggio di rilevanza per le sorgenti delle query quando vengono eseguite le queries susseguenti. Di conseguenza nei risultati dalle query susseguenti, i risultati dalle sorgenti per cui l'utente ha mostrato interesse in precedenza compariranno più in alto nella lista mostrata all'utente. Questo può facilitare la presentazione all'utente dei risultati rilevanti. Una sorgente di query può essere (a) un'applicazione (e.g., un programma di videoscrittura), (b) un tipo di query (esempio testo vicino alla posizione del cursorse, parole digitate recentemente o elementi riconosciuti come indirizzi email), (c) un tipo di evento come ricevere una email o aprire un documento, (d) una parola chiave, (e) un filtro per tipo di articolo o restrizione (es., file .doc), o (f) una loro combinazione. Come esempio basato sui dati di click-through il sistema può determinare che una query per un nome è particolarmente importante per un particolare utente quando l'utente riceve un messaggio da instant message riferito al nome.

    [0115] In un contenuto della presente invenzione, un display di contenuti viene mostrato in una interfaccia utente. Il display mostrato comprende uno o più identificatori di articoli che sono associati con una query di ricerca. Ad esempio, il sistema di query 132 può derivare e inviare una query di ricerca implicita basata sullo stato contestuale dell'utente. Il sistema di query 132 mostra i risultati associati con la query implicita in un display di contenuti. In un contenuto della presente invenzione il sistema di query 132 genera periodicamente (ad esempio ogni 2 secondi) un'altra query implicita basata sullo stato contestuale dell'utente. Il sistema di query 132 poi determina se aggiornare o meno il display di contenuto per fornire i nuovi risultati. Il sistema di query 132 può determinare che i risultati mostrati attualmente non devono essere sostituiti. Ad esempio in un contenuto, il sistema di query 132 confronta la query precedente con quella corrente. Se le query includono molti o titti i termini, il sistema di query 132 non aggiorna il display di contenuti con i nuovi risultati.

    [0116] Ad esempio in un contenuto un utente può editare una parola processando un documento quando viene generata una prima query implicita. La query implicita può essere basata su diversi attributi del documento e altri parametri come descritto qui ad esempio il testo digitato di recente dall'utente. Il sistema di query 132 mostra i risultati della query implicita in un visualizzatore di contenuto che appare sul lato destro del display dell'utente. Se l'utente continua a editare il documento e fa modifiche minori. A volte (ad esempio 5 secondi) dopo che la prima query implicita viene eseguita, il sistema di query 132 genera una seconda query basata sullo stato del contesto dell'utente. A questo punto il sistema di query 132 può confrontare le due query per determinare se eseguire o meno la seconda query o può fare in modo che la seconda query venga eseguita. Quando viene restituto un insieme di risultati il sistema di query 132 confronta l'insieme di risultati associati all'ultima query con quelli mostrati nel display di contenuti. poiché in questo esempio l'utente sta modificando un documento in una sola applicazione, lo stato contestuale dell'utente può non essere cambiato in maniera significatica. Pertanto l'insieme di risultati può non essere cambiato significativamente e mostrare dei nuovi risultati può essere più di distrazione che di utilità.

    [0117] Usando lo stesso esempio, si assume che l'utente poi attivi un'applicazione di email e legga il primo messaggio di posta elettronica. Il sistema di query 132 genera una terza query implicita. Il sistema può ora considerare lo stato contestuale dell'utente come cambiato significativamente poiché l'utente sta interagendo con una applicazione complessivamente diversa. Così il terzo insieme di risultati associato alla terza query può cambiare considerevolmente da quello mostrato correntemente (ad esempio l'insieme di risultatidella prima query in questo esempio). Se alcuni aspetti dell'insieme di risultati cambiano a sufficienza ad esempio il numero di articoli nel terzo insieme di risultati che non sono mostrati è più grande di quelli di una soglia predeterminata, il sistema di query 132 aggiorna il display di contenuti, mostrando il terzo insieme di risultati al posto del primo.

    [0118] In un contenuto della presente invenzione il sistema di query 132 può determinare se aggiornare o meno il display di contenuti in vari modo. Ad esempio il sistema di query 132 può confrontare la query di ricerca corrente con quella eseguita in precedenza. In un contenuto, il sistema di query 132 [associa?, qui manca il verbo, n.d.t.] un insieme di risultati associati con una query eseguita di recente a un insieme di risultati associati a una query eseguita prima della query recentemente eseguita. Se gli insiemi di risultati sono sostanzialmente diversi quelli più recenti sostituiscono i precedenti in toto o in parte. La differenza tra i risultati può oessere determinata da diversi fattori. Ad esempio possono essere confrontati un insieme di identificatori di articoli. Se gli identificatori di articolisono tutti o sostanzialmente gli stessi il sistema di query può non aggiornare il display dei contenuti.

    [0119] In un contenuto, il sistema di query 128 confronta la differenza negli insiemi di risultati con una soglia per determinare se o meno aggiornare il display di contenuti. FIG. 8 è un diagramma di flusso che spiega un metodo per variare una soglia di aggiornamento per un display di contenuti in un contenuto della presente invenzione. Nel contenuto mostrato il sistema di query 132 determina se o meno mostrare nuovi risultati in un display di contenuto basato su una soglia di aggiornamento. Se la differenza tra numero, tipo, ordinamento o altra proprietà degli identificatori di articoli nel nuovo insieme di risultati e la stessa proprietà per gli identificatori di articoli nel nuovo insieme di risultati è più bassa della soglia allora l'insieme di risultati non viene aggiornato. Una ragione per non mostrare il nuovo insieme di risultati è mantenere la consistenza nell'interfaccia utente per evitare di distrarre l'utente. La soglia può variare in base all'attività dell'utente. Ad esempio in un contenuto il sistema di query 132 riceve un segnale che indica un interesse dell'utente 802 per un identificatore di articolo. In risposta il sistema di query 132 abbassa la soglia per mostrare il nuovo insieme di risultati 804. In altri termini, il nuovo insieme di risultati può essere più simile alla lista mostrata correntemente prima che la soglia cambi e [la lista, n.d.t.] sia mostrata ancora all'utente poiché l'utente sta indicando un interesse per le informazioni fornite nella finestra del display di contenuti. Il sistema di query può temporizzare l'aggiornamento dell'insieme di risultati in base ad altri eventi come ad esempio aggiornare l'insieme di risultati per le volte che l'utente naviga una nuova pagina , o al contrario aggiornare l'insieme di risultati a caso, che può essere più distraente per l'utente.

    [0120] Il sistema di query 132 riceve un nuovo insieme di risultati 806. Il sistema di query 132 poi calcola una misura di di differenza tra l'insieme di contenuti esistente ad esempio e quello mostrato correntemente 808. La misura della differenza può riguardare un calcolo relativamente semplice come ad esempio il numero di identificatori di articoli che sono in entrambi gli insiemi di risultati esistente e nuovo. La misura della differenza può riguardare calcoli più complicati. Ad esempio il sistema di query 132 può calcolare un punteggio di rilevanza per entrambi gli insiemi di risultati e poi confrontare la differenza nei punteggi di rilevanza con una soglia di rilevanza. Se la misura è più grande della soglia 810, il sistema di query132 trasmette il nuovo insieme di risultati da al processore di visualizzazione 128 per mostrarli 812, e il processo termina 814. Se la misura è inferiore o uguale alla soglia, il sistema di query non trasmette l'insieme di risultati al processore di visualizzazione e il processo termina814.

    [0121] La FIG. 9 è un diagramma che mostra un metodo per variare un punteggio di rilevanza per un risultato basato sul comportamento del click-through dell'utente. In un contenuto della presente invenzione il sistema di query 132 riceve un segnale che indica un interesse nel contenuto mostrato nella finestra del display dei contenuti 902. Il sistema di query 132 valuta il segnale d'interesse per determinare il tipo di contenuto associato al contenuto e assegna un punteggio al tipo di cotenuto in un data store 904. Il tipo di contenuto può definire ad esempio il tipo di file del documento che può essere una pagina web, un .PDF, una immagine, una email, un documento di videoscrittura, un documento foglio di calcolo, un file di testo, o ogni altro tipo di documento adatto. Il sistema di query determina e archivia le informazioni che indicano la sorgente del contenuto associato al segnale d'interesse 906. La sorgente può ad esempio essere il web. una macchina locale o altra sorgente di dati. In un contenuto la sorgente comprende la query di ricerca usata per recuperare i risultati. In un contenuto della presente invenzione il sistema di query 132 archivia anche la parola chiave o le parole chiave associate al segnale d'interesse 908. In un altro contenuto vengono archiviati anche altri attributi aggiuntivi che sono associati al segnale d'interesse. Il processo di ricevere un segnale d'interesse e archiviarne gli attributi associati può essere ripetuto più volte come ad esempio ogni volta che l'utente clicca su un link nella finestra dei contenuti display window o altri eventi che possono avvenire descritti qui.

    [0122] Il sistema di query 132 di conseguenza riceve una query di ricerca 910. Il sistema di query 132 trasmette la query di ricerca ad un motore di ricerca 912. Il motore di ricerca restituisce un insieme di risultati in risposta alla query di ricerca, che il sistema di query 132 riceve 914. L'insieme di risultati comprende uno o più identificatori di articoli. Gli identificatori di articoli sono associati ad un punteggio di rilevanza. Il sistema di query 132 usa i dati di click-through archiviati nel data store 140 per modificare il punteggio di rilevanza di ogni identificatore di articolo nell'insieme di risultati basato sul tipo di contenuto, sorgente del contenuto e parole chiave usate nella query di ricerca.

    [0123] In un altro contenuto, il sistema di query 132 riceve query multiple dopo aver archiviato il tipo di contenuto, la sorgente , la/le chiave/i, e altre informazioni. Quando il sistema di query 132 riceve i molteplici insiemi di risultati corrispondenti il sistema di query 132 usa i dati di click-through precedentemente archiviati per aggiustare i punteggi di rilevanza sia dentro negli insiemi di risultati che tra di essi prima di mostrare un insieme di risultati combinati all'utente.

    [0124] Un contenuto della presente invenzione usa il tipo di documento, la sorgente, la parola chiave e altri tipi di dati correlati agli elementi che l'utente non ha cliccato. Il sistema di query 132 di questo contenuto riduce il punteggio di rilevanza per gli identificatori di articoli che corrispondono ai tipi di contenuti e alle sorgenti che l'utente non ha cliccato così frequentemente come gli altri tipi di contenuti.

    [0125] Ad esempio, in un contenuto, l'utente vede una pagina web e modifica un documento. Vengono generate dal contesto dell'utente 4 query. La prima riguarda l'informazione della pagina web. La seconda le ultime 10 parole che l'utente ha digitato. La terza la frase che l'utente ha appena copiato nel documento. E la quarta query comprende le parole che l'utente sta selezionando al momento con il mouse. Il sistema di query 132 invia le query a uno o più motori di ricerca e riceve i 4 insiemi di risultati come risposta. Il sistema di query 132 li unisce e presenta i primi 10 risultati all'utente in una finestra di display dei contenuti.

    [0126] L'utente clicca sul secondo risultato nella finestra di display di contenuti. Il secondo risultato era prsente nell'insieme di risultati presi dalla prima query e dalla terza. Nella prima query il risultato era primo; nella terza query era quinto. In un contenuto simile,** le sorgenti che conducono al risultato che l'utente ha selezionato sono amplificate per fornire un rinforzo positivo proporzionale a quanto ognuna ha contribuito al far mostrare il risultato**. Il tipo di contenuto, la sorgente, le parole chiave e altri attributi associati con il risultato tutte possono essere amplificate così che nelle future query quei tipi di risultati siano più probabilmente mostrati all'utente.

    [0127] La FIG. 10 è un diagramma di flusso che illustra un metodo per mostrare i risultati delle query implicite in un contenuto della presente invenzione. Il processore di query riceve un evento scatenando l'esecuzione di una nuova query 1002. Ad esempio, l'utente può aver inserito un punto fermo alla fine della frase, o aver ricevuto un messaggio da un instant messaging. In risposta il sistema di query 132 esegue una nuova query 1004 e conseguentemente riceve i risultati della query 1006.

    [0128] Il sistema di query 132 (o il processore di visualizzazione 128) poi decide se mostrare o meno i risultati della nuova query nel display dei contenuti. Il sistema di query 132 può usare qualsiasi numero di criteri per decidere se o meno mostrare i nuovi risultati. In un contenuto della presente invenzione il sistema di query 132 determina se o meno l'utente 112a è attivo nella finestra di display dei contenuti 1008. Il sistema di query 132 può determinare se l'utente 112a è attivo nella finestra ad esempio determinando la posizione corrente del mouse. Il sistema di query 132 (o il processore di visualizzazione128) può determinare la posizione corrente richiedendola al sistema operativo e confrontandola con l'area coperta dalla finestra di display dei contenuti. Il sistema operativo può anche essere in grado di indicare quale sia la finestra attiva. Se la finestra di display dei contenuti è attiva il processore di query 132 si ferma per un periodo di tempo (esempio 2 secondi) 1009, poi ripete il controllo per determinare se il display di contenuti sia o meno la finestra attiva 1008. In un altro contenuto il ssitema di query si ferma anche se il cursore si muove attraverso la finestra di display dei contenuti, evidenziando il possibile intento dell'utente di interagire con il contenuto mostratovi.

    [0129] Se la finestra di display dei contenuti sta per essere aggiornata il processore di query 132 determina la differenza dei risultati restituiti dall'ultima query e quelli mostrati al momento nel display di contenuti e confronta le differenze con una soglia 1010. Il processore di query può determinare la differenza in tanti modi. Ad esempio, il processore di query 132 può determinare quanti identificatori di articoli compaiono nel nuovo insieme di risultati e non sono presenti in quello mostrato correntemente. Il sistema di query 132 può anche o invece determinare quanta sovrapposizione c'è tra le parole chiave nella query o nelle query che hanno fornito i contenuti mostrati al momento rispetto alle parole chiave nella query o nelle query che hanno fornito i nuovi risultati. In un altro contenuto le parole chiave fanno parte di categorie e il sistema di query 132 valuta la sovrapposizione tra le categorie. Se la differenza di misura è minore di quella della soglia, il processo termina 1016. In altre parole se il nuovo insieme di risultati e quello mostrato al momento sono molto simili non è necessario mostrare il nuovo insieme di risultati e potrebbe distrarre l'utente 112a. Di conseguenza se la differenza tra il nuovo insieme di risultati e quello mostrato correntemente non è più grande di una soglia predeterminata il nuovo insieme non viene mostrato all'utente 112a.


  • ModSenior

    Seconda parte del post

    [0130] In un contenuto della presente invenzione se la differenza tra il nuovo insieme di risultati e quello mostrato al momento è più grande di una soglia il processore di query 132 determina se la rilevanza del nuovo risultato per alcuni aspetti dei dati o azioni dell'utente è più grande di quella dell'insieme di risultati correntemente mostrati 1012. Se no il processo termina 1016; I nuovi risultati non sono mostrati all'utente 112a. Se la misura della rilevanza del nuovo insieme di risultati è più grande di quella dell'insieme di risultati mostrati correntemente il processore di query 132 fa mostrare il nuovo insieme di risultati 1014. Il processo termina 1016. Il processo mostrato in FIG. 10 può essere ripetuto per assicurare che il display di contenuti continui a mostrare risultati rilevanti allo stato contestuale dell'utente. Ad esempio il processo mostrato può ripetersi ogni 10 secondo o altro intervallo di tempo adatto.

    [0131] Possono essere usati anche altri metodi per determinare quando aggiornare la finestra dei contenuti. Ad esempio, in un contenuto della presente invenzione il processore di query 132 fa si che i risultati meno rilevanti vengano mostrati se è passato un certo periodo di tempo. Si assume cioè che l'utente che se non ha cliccato su un contenuto nella finestra di display dei contenuti, altri contenuti possano essere più rilevanti anche se i loro punteggi di rilevanza iniziali del contenuto siano più bassi di quelli mostrati al momento. In un altro contenuto solo una porzione dei risultati mostrati correntemente viene sostituita dai contenuti che sembrano essere meno rilevanti.

    [0132] In un contenuto della presente invenzione le stesse query non sono eseguite se l'utente non è attivo e se il sistema dell'utente non è attivo. Ad esempio in un contenuto l'utente smette di digitare o di interagire con l'interfaccia utente per un periodo relativamente lungo (esempio 5 minuti). Durante questi 5 minuti, non avviene nessun'altra attività, compreso ad esempio ricevere le email. Basandosi su una relativo ritardo di attività, il sistema di query 132 si ferma e non esegue query basate sul contesto dell'utente. Quando l'utente inizia di nuovo a interagire con l'interfaccia o avvengono altre azioni come la ricezione di una email il sistema di query 132 inizia a inviare query contestuali determinando di conseguenza l'output dei risultati. In un altro contenuto il sistema di query si ferma anche quando viene ricevuta una email. Se l'utente è fermo per un certo periodo può non essere al computer e può essere preferibile non eseguire query implicite così da evitare che i programmi dell'utente facciano swap di memoria.

    [0133] In un contenuto della presente invenzione un profilo utente fornisce gli attributi che possono essere usati dal sistema di query 132 per modificare le query di ricerca e/o gli insiemi di risultati da fornire all'utente in base ad un'esperienza personalizzata. Gli attributi archiviati nel profilo utente possono riguardare le query di ricerca e/o l'ordinamento dei risultati che includono informazioni come persone a cui o da cui un particolare utente invia o riceve email o messaggi di chat, parole che compaiono spesso nelle ricerche esplicite dell'utente, parole che l'utente digita spesso, parole che compaiono frequentemente nei documenti dell'utente e altri tipi di attributi specifici per l'utente . La FIG. 11 è un diagramma di flusso che illustra un metodo secondo uno dei contenuti della presente invenzione per modificare una query di ricerca e il corrispondente insieme di risultati basato sulla query di ricerca, le modifiche sono basate almeno in parte su un attributo archiviato nel profilo utente. Nel contenuto mostrato l'utente 112a fa una query, il sistema di query 132 riceve la query 1102 e determina quale utente sta inviando la query 1104. Ad esempio un identificatore di utente può essere incluso nella query di ricerca. Oppure il sistema di query 132 può determinare quale sia l'utente chiamando una funzione del sistema operativo per determinare quale utente è correntemente loggato nel computer.

    [0134] Il sistema di query 132 usa l'identità dell'utente per recuperare gli attributi dal profilo utente 1106. Il profilo utente può essere archiviato nel data store 140. Oppure il profilo utente può essere archiviato su un server server, come il server 150, in comunicazione con la rete 106 e quindi accessibile al sistema di query 132.

    [0135] Il profilo utente può archiviare una pluralità di attributi che sono specifici dell'utente. Ad esempio il profilo utente può archiviare le dimensioni preferite e la posizione di una finestra di display di contenuto per un particolare utente. Il profilo utente può anche archiviare per l'utente i termini preferiti e i metodi di ricerca. Gli attributi nel profilo utente possono essere settati esplicitamente dall'utente o implicitamente senza [digitazione?, n.d.t.] espressa dell'utente, basata sulle azioni dell'utente, l'ora del giorno, o ogni altro evento o azioni che possono essere tracciata dal sistema di computer.

    [0136] In un contenuto, il sistema di query 132 riceve almeno 2 attributi dal profilo utente; un primo attributo che è relativo alla ricerca e un secondo attributo che è relativo all'insieme di risultati. Il sistema di query 132 usa il primo attributo per modificare la query di ricerca 1108. Il sistema di query 132 poi invia la query di ricerca al motore di ricerca 1110. Ad esempio, l'utente può inserire un termine seguito da un punto fermo in un documento, scatenando una query di ricerca implicita. Quando il sistema di query 132 riceve la query di ricerca la modifica e la invia ad un motore di ricerca anziché inviare direttamente la query al motore di ricerca.

    [0137] Il sistema di query 132 riceve l'insieme dei risultati di ricerca da un motore di ricerca 1112. L'insieme dei risultati comprende uno o più identificatori di articoli che possono essere ordinati in uno qualsiasi dei modi. Il sistema di query 132 usa un secondo attributo dal profilo utente per ordinare i risultati 1014. Ad esempio l'utente 112a può preferire i risultati da un particolare sito web rispetto a quelli forniti da qualunque altra sorgente. Se l'utente 112a ha questa prefenza il sistema di query ordina in base a questa preferenza l'insieme di risultati.

    [0138] In un contenuto della presente invenzione il sistema di query 132 archivia in memoria termini importanti includendo ad esempio i nomi di persone con cui l'utente comunica spesso. Questi nomi possono ad esempio derivare dai destinatari o mittenti o email o "buddy" name di istant messager. In un simile contenuto il profilo utente può non essere fornito. Il sistema di query usa i termini importanti archiviati in memoria per influenzare la creazione delle query di ricerca e/o ordinare gli insiemi di risultati.

    [0139] Un contenuto della presente invenzione genera query implicite basate su una porzione di testo in un documento o articolo per cui l'utente sta mostrando un interesse. Mostrare un interesse può contere digitare nel documento, stamparlo inviarlo (via fax o via email) o ogni altra azione che può essere usata per indicare un interesse. Un contenuto simile è in grado di distinguere tra il boilerplate presente nell'articolo e il contenuto; il contenuto è cosa è usato per generare le query implicite.

    [0140] La FIG. 12 è un diagramma di flusso che illustra un metodo per identificare il boilerplate e il contenuto in un contenuto della presente invenzione. Il sistema di query 132 prima riceve un segnale che scatena la creazione di query implicite 1202. Questo segnale può essere generato in risposta alla digitazione da parte dell'utente 112a. Ad esempio l'utente 112a può digitare una frase terminante in un periodo. In risposta alla ricezione del signale, il sistema di query 132 identifica una sezione dell'articolo in cui l'utente 112a sta mostrando interesse 1204. La sezione può comprendere l'intero documento o una sua porzione.

    [0141] Nella sezione che il sistema di query 132 identifica, il sistema di query 132 valuta il testo o gli altri elementi per identificare il boilerplate 1206. Ad esempio in un contenuto della presente invenzione il sistema di query 132 determina che qualsiasi testo che segue la parola "copyright" è boilerplate. Altri tipi di boilerplate includono ad esempio il testo di navigazione, i disclaimer, e il testo che appare su ogni pagina di un sito web. Il sistema di query che identifica un contenuto dentro l'articolo 1208. L'articolo può comprendere solo il contenuto e il boilerplate o includere elementi aggiuntivi come i controlli, che non sono usati per generare una query. In un contenuto gli attributi [della parte finale, n.d.t. il testo del brevetto riporta ?button? ma è illogico che sia scritto qui, forse è un errore di digitazione per ?bottom? ? ] nell'articolo sono usati per generare una query implicita .

    [0142] Una volta che il sistema di query 132 ha identificato il contenuto nell'articolo genera una query implicita di ricerca 1210. Il sistema di query 132 poi la invia ad un motore di ricerca 1212.

    [0143] La precedente descrizione dei contenuti dell'invezione sono stati presentati con il solo scopo di illustrarla e descriverla e non intende essere esaustiva o limitare l'invenzione a precise forme rilevate. Molte modifiche e adattamenti appariranno a quelli capaci nell'arte senza partire dallo spirito e dallo scopo della presente invenzione.


  • ModSenior

    Una possibile traccia del boilerplate ?

    L'ho notato soltanto adesso su questa pagina della guida di Google
    *ttp://www.google.com/support/webmasters/bin/answer.py?answer=66359

    Riduci al minimo la ripetizione di testo standard: ad esempio, anziché inserire un lungo testo sul copyright nella parte inferiore di ogni pagina, includi un breve riepilogo, quindi inserisci un collegamento a una pagina contenente ulteriori dettagli.


  • ModSenior

    Confermo che si tratta del boilerplate. Lo stesso termine è utilizzato nella versione inglese della guida "minimize boilerplate"

    *ttp://www.google.com/support/webmasters/bin/answer.py?answer=66359&hl=en&gl=en


  • User Newbie

    Per adesso, se il sito ha una buona struttura e pagine raggiungibili, non ho avuto problemi di questo tipo