DE10328833A1 - System und Verfahren für die Verwaltung einer Synonymsuche - Google Patents

System und Verfahren für die Verwaltung einer Synonymsuche Download PDF

Info

Publication number
DE10328833A1
DE10328833A1 DE10328833A DE10328833A DE10328833A1 DE 10328833 A1 DE10328833 A1 DE 10328833A1 DE 10328833 A DE10328833 A DE 10328833A DE 10328833 A DE10328833 A DE 10328833A DE 10328833 A1 DE10328833 A1 DE 10328833A1
Authority
DE
Germany
Prior art keywords
synonym
query
search
queries
search query
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE10328833A
Other languages
English (en)
Inventor
Steven J. Fort Collins Simske
Igor M. Cupertino Boyko
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE10328833A1 publication Critical patent/DE10328833A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis

Abstract

Ein System und ein Verfahren für eine rechnergestützte Suche nach gewünschten Informationen von einer Sammlung von Informationen sind vorgesehen. Bei einem Ausführungsbeispiel wird eine Abfrage nach gewünschten Informationen durch eine Synonymsuchanwendung empfangen. Außerdem wird eine Eingabe empfangen, die den Betrag der Synonymerweiterung abstimmt, die an die empfangene Abfrage angewendet werden soll, zum Aufbauen einer Synonymsuchabfrage, die zum Suchen nach den gewünschten Informationen verwendet werden soll. Bei einem weiteren Ausführungsbeispiel führt eine Synonymsuchanwendung eine Synonymsuchabfrage nach einer gewünschten Information von einer Sammlung von Informationen durch, wobei die Synonymsuchabfrage eine Mehrzahl von Abfragen umfaßt, die in der Bedeutung synonym sind. Die Identifikation resultierender Dokumente, die auf jede der Mehrzahl von Abfragen anspricht, wird empfangen, und solche empfangenen Dokumente werden zumindest teilweise, basierend auf einer Gewichtung, rangmäßig geordnet, die jeder der Mehrzahl von Abfragen zugewiesen ist.

Description

  • Die vorliegende Erfindung bezieht sich allgemein auf eine rechnergestützte Suche nach gewünschten Informationen von einer Sammlung von Informationen bzw. von einem Informationskörper, und insbesondere auf ein System und Verfahren für die Verwaltung einer Synonymsuche.
  • Heutzutage werden viele Informationen als digitale Daten gespeichert, die durch einen Computer wiedergewonnen werden können. Sobald Informationen als digitale Daten gespeichert sind, werden Techniken zum Durchsuchen der Sammlung von gespeicherten Informationen wichtig, da solche Suchtechniken oft vorgeben, ob ein Benutzer in der Lage ist, gewünschte Informationen innerhalb der Sammlung gespeicherter Informationen zu finden. Das heißt, die gespeicherten Informationen sind häufig nur in dem Ausmaß sinnvoll, zu dem ein Benutzer solche Informationen finden kann, wenn dies gewünscht wird. Folglich wurden verschiedene Techniken entwickelt, um einen Benutzer beim Durchsuchen einer Sammlung gespeicherter Daten zu unterstützen. Beispielsweise werden Daten üblicherweise in einer Datenbank gespeichert, und es wurden Techniken entwickelt, um es einem Benutzer zu ermöglichen, die Datenbank nach gewünschten Informationen abzufragen. Beispielsweise ist die Abfragesprache Structured Query Language ("SQL") eine Sprache, die üblicherweise verwendet wird, um Abfragen zum Durchsuchen einer Datenbank nach gewünschten Informationen zu entwickeln.
  • Während sich die Gesellschaft weiterhin zu einer noch größeren Abhängigkeit von rechnergestützter Speicherung von Informationen entwickelt, werden richtige Tools zum Durchsuchen einer Sammlung solcher rechnergestützten Informationen nach gewünschten Informationen noch wichtiger. Beispielsweise hat ein Computer eines Benutzers (z.B. Perso nalcomputer, Mobiltelefon, Personaldigitalassistent oder anderes prozessorbasiertes Gerät) mit der starken Ausbreitung von Client-Server-Netzwerken, wie z.B. dem Internet, häufig Zugriff auf eine anscheinend unbegrenzte Sammlung von Informationen. Selbstverständlich ist eine solche Sammlung von Informationen für den Benutzer nur in dem Ausmaß wertvoll, zu dem der Benutzer innerhalb der Sammlung die Informationen finden kann, die er wünscht.
  • Client-Server-Netzwerke liefern ein großes Array von Informationen, einschließlich Inhalt (z.B. informative Artikel, usw.) und Dienste, wie z.B. persönliches Shopping, Flugtikketreservierungen, Mietautoreservierungen, Hotelreservierungen, On-line-Auktionen, On-line-Banking, Aktienhandel und auch viele andere Dienste. Solche Informationsanbieter (die manchmal auch als "Inhaltsanbieter" bzw. „content provider") bezeichnet werden, machen eine zunehmende Menge an Informationen (z.B. Dienste, informative Artikel, usw.) über Client-Server-Netzwerke für Benutzer verfügbar.
  • Eine Fülle an Informationen ist auf Client-Server-Netzwerken, wie z.B. im Internet oder dem World-Wide-Web (dem "Web") verfügbar, und die Menge an Informationen, die auf solchen Client-Server-Netzwerken verfügbar sind, erhöht sich ständig. Auf Client-Server-Netzwerken, wie z.B. im Internet, sind so viele Informationen verfügbar, mit einer so geringen Organisation solcher Informationen, daß es oft unmöglich scheint, die Informationen zu finden, die ein Benutzer wünscht. Ferner gewinnen Benutzer zunehmend Zugriff zu Client-Server-Netzwerken, wie z.B. dem Web, und wenden sich häufig an solche Client-Server-Netzwerke (im Gegensatz oder zusätzlich zu anderen Informationsquellen) für gewünschte Informationen. Beispielsweise hat ein relativ großer Teil der menschlichen Bevölkerung Zugriff auf das Internet über Personalcomputer (PCs), und ein Internetzugriff ist nun mittlerweile mit vielen mobilen Geräten möglich, wie z.B. Personaldigitalassistenten (PDAs), Mobiltelefonen, usw.
  • Genauso, wie verschiedene Tools entwickelt wurden, um Benutzer beim Durchsuchen einer lokal gespeicherten Sammlung von Informationen zu unterstützen (wie z.B. SQL-Suchabfragen zum Durchsuchen einer zentralen Datenbank, die für einen Computer zugreifbar ist) sind eine Anzahl von Lösungen entstanden, um Benutzer dabei zu unterstützen, die Informationen zu finden, die sie auf einem Client-Server-Netzwerk wünschen. Die beiden beliebtesten Lösungen, die beispielsweise für das Internet verwendet werden, sind Indexe und Suchmaschinen, die jeweils nachfolgend näher beschrieben sind.
  • Indexe präsentieren eine hoch strukturierte Möglichkeit zum Finden von Informationen. Sie ermöglichen es einem Benutzer, nach Kategorien, wie z.B. Kunst, Computer, Unterhaltung, Sport usw. durch Informationen zu blättern. In einem Webbrowser wählt ein Benutzer eine Kategorie (z.B. durch Klicken mit einer Zeigevorrichtung, wie z.B. einer Maus, auf die gewünschte Kategorie von einer Liste) und dem Benutzer wird dann eine Reihe von Unterkategorien vorgelegt. Unter Sport werden beispielsweise solche Unterkategorien Baseball, Basketball, Football, Hockey und Fußball geliefert. Abhängig von der Größe des Index können mehrere Schichten von Unterkategorien verfügbar sein. Wenn der Benutzer zu der Unterkategorie gelangt, an der er interessiert ist, kann dem Benutzer eine Liste relevanter Dokumente präsentiert werden. Der Benutzer kann dann eine Hypertextverknüpfung anklicken, um zu den Dokumenten zu gelangen, die er wiedergewinnen möchte. YAHOO! (http://www.yahoo.com/) liefert einen großen und beliebten Index im Internet. YAHOO! liefert auch eine Suchmaschine, wie z.B. diejenige, die nachfolgend näher beschrieben ist, die es einem Benutzer ermöglicht, durch Eintippen von Wörtern zu suchen, die die Informationen beschreiben, die der Benutzer sucht.
  • Eine weitere beliebte Möglichkeit zum Finden von Informationen in einem Client-Server-Netzwerk ist es, Suchmaschinen zu verwenden, die auch als Webcrawler oder Spider (Spinne) bezeichnet werden. Suchmaschinen arbeiten anders als Indexe. Dieselben sind im wesentlichen riesige Datenbanken, die breite Bänder des Client-Server-Netzwerks (typischerweise das Internet) abdecken. Suchmaschinen präsentieren Informationen nicht auf hierarchische Weise (z.B. wie bei den oben beschriebenen Kategorien und Unterkategorien von Indexen). Statt dessen durchsucht ein Benutzer dieselben auf ähnliche Weise wie eine Datenbanksuche, durch Eintippen von Schlüsselwörtern, die die Informationen beschreiben, die der Benutzer wünscht. Es gibt viele beliebte Internetsuchmaschinen, einschließlich GOOGLE, LYCOS, EXCITE und ALTAVISTA.
  • Das Ausführen der gleichen Suchabfrage auf unterschiedlichen Suchmaschinen kann dazu führen, daß verschiedene Dokumente an den Benutzer zurückgesendet werden. Außerdem können unterschiedliche Suchmaschinen Ergebnisse für eine Abfrage auf unterschiedliche Weise zurücksenden. Einige gewichten (oder priorisieren) die Ergebnisse, um die Wichtigkeit der Dokumente zu zeigen; einige zeigen die ersten Sätze des Dokuments; und einige zeigen den Titel des Dokuments und auch den Einheitsressourcenlokator ("URL"). Aufgrund der relativ großen Anzahl von Dokumenten innerhalb der Sammlung, die durch die Suchmaschine als eine bestimmte Abfrage erfüllend identifiziert werden können, implementierten Suchmaschinen typischerweise einen Typ von Dokumentgewichtungsschema in dem Versuch, die Dokumente zuerst zu präsentieren, die für die Abfrage des Benutzers am wahrscheinlichsten relevant sind. Suchmaschinen gewichten Dokumente typischerweise auf der Basis von vertrauenswürdigen Benutzern der Suchmaschine, d.h. Dokumenten, auf die am häufigsten durch "vertrauenswürdige Benutzer" zugegriffen wird, wird eine höhere Gewichtung zugewiesen, Durchklickraten der Dokumente, Werbeunterstützung (d.h. die Sponsoren der Suchmaschine bekommen eine höhere Gewichtung) und/oder von den Dokumenten selbstberichtete Schlüsselwörter, als Beispiele.
  • Häufig sind traditionelle Suchtechniken nicht in der Lage, Informationen (z.B. Websites) zu finden, die von einem Benutzer gewünscht werden. Solche traditionellen Suchtechniken sind im allgemeinen beschränkt durch die Fähigkeit des Benutzers, eine geeignete Suchabfrage zu erstellen. Beispielsweise kann es sein, daß ein Benutzer, der mit einem speziellen Thema nicht vertraut ist, nur eine grobe Vorstellung der Terminologie hat, die beim Entwickeln einer Suchabfrage für Informationen verwendet werden kann, die sich auf das Thema beziehen. Somit kann es sein, daß der Benutzer nicht ausreichend vertraut ist mit einem Thema, um die richtige Terminologie bei seiner Suchabfrage zu verwenden, um in der Sammlung, die durchsucht wird, Dokumente zu entdecken, die sich auf das Thema beziehen. Als weiteres Beispiel, falls der Benutzer einen anderen Begriff in einer Suchabfrage verwendet, um einen speziellen Gedanken zu beschreiben, als der Autor/die Autoren des Dokuments in der Sammlung verwenden, um einen solchen Gedanken zu beschreiben, dann ist die Abfrage des Benutzers nicht in der Lage, diese relevanten Dokumente zu entdecken, weil der Benutzer nicht in der Lage war, seine Suchabfrage in der gleichen Terminologie zu erstellen, wie sie durch den Autor/die Autoren der relevanten Dokumente verwendet wurde. Falls ein Benutzer beispielsweise einen bestimmten Begriff (z.B. „class" bzw. "Klasse") in seiner Suchabfrage beim Durchsuchen einer Sammlung nach gewünschten Informationen verwendet, und falls viele der Dokumente in der Sammlung einen anderen Begriff verwenden, um den gleichen Gedanken zu beschreiben (z.B. „division" bzw. "Einteilung" anstatt „class" bzw. "Klasse"), dann ist die Suchabfrage des Benutzers nicht in der Lage, diese relevanten Dokumente zu entdecken, weil der Benutzer und der Autor/die Autoren der Dokuments andere Begriffe verwenden, um den gleichen Gedanken zu beschreiben.
  • Aufgrund der Flexibilität der menschlichen Sprache können viele Gedanken durch die Verwendung unterschiedlicher Wörter ausgedrückt werden. Das heißt, viele Wörter sind im wesentlichen austauschbar, um einen speziellen Gedanken zu übertragen (d.h. die Wörter sind 'Synonyme"). Folglich ergeben sich beim Erstellen einer geeigneten Suchabfrage, die relevante Dokumente in einer Sammlung aufdeckt, häufig Schwierigkeit für einen Benutzer. Aktuelle Vorschläge für Suchtechniken wurden gemacht, die eine Synonymsuche verwenden. Das heißt, es wurden Suchtechniken vorgeschlagen, die eine Suchabfrage eines Benutzers effektiv erweitern, um Synonyme von Begriffen zu umfassen, die durch den Benutzer in einer solchen Suchabfrage geliefert wurden.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren für eine rechnergestützte Suche, einen computerausführbaren Softwarecode und ein System zum Erzeugen einer Synonymsuchanfrage mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und 36, einen Code gemäß Anspruch 21 und 45 sowie ein System gemäß Anspruch 32 gelöst.
  • Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist ein Verfahren für eine rechnergestützte Suche nach gewünschten Informationen für eine Sammlung von Informationen vorgesehen. Das Verfahren umfaßt das Empfangen einer Suchabfrage für gewünschte Informationen, und das Empfangen einer Eingabeabstimmung des Betrags der Synonymerweiterung, die an die empfangene Suchabfrage, die zum Suchen der gewünschten Informationen verwendet werden soll, zum Aufbauen einer Synonymsuchabfrage angelegt werden soll.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist ein computerausführbarer Softwarecode vorgesehen, der auf einem computerlesbaren Medium gespeichert ist. Der computerausführbare Softwarecode umfaßt einen Code zum Präsentieren einer Benutzerschnittstelle, die es einem Benutzer ermöglicht, einen Betrag einer Synonymerweiterung abzustimmen, die an eine Eingabeabfrage angelegt werden soll. Der computerausführbare Softwarecode umfaßt ferner einen Code, der auf die Abstimmungseingabe anspricht, die zum Erzeugen einer Synonymsuchabfrage empfangen wurde, die eine gewünschte Breite zum Durchsuchen einer Sammlung von Informationen nach gewünschten Informationen aufweist.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist ein System zum Erzeugen einer Synonymsuchabfrage zum Suchen nach gewünschten Informationen von einer Sammlung von Informationen vorgesehen. Das System umfaßt eine Einrichtung zum Empfangen einer Abfrage nach gewünschten Informationen, und eine Einrichtung zum Bestimmen zumindest einer Synonymabfrage, die in Bedeutung Synonym ist zu der empfangenen Abfrage. Das System umfaßt ferner eine Einrichtung zum Empfangen einer Eingabe, die eine Anzahl (Q) von Synonymabfragen abstimmt, die in eine aufgebaute Synonymsuchabfrage aufgenommen werden sollen, und eine Einrichtung zum Aufbauen einer Synonymsuchabfrage, die eine Q Anzahl von Synonymabfragen aufweist.
  • Gemäß noch einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist ein Verfahren für eine rechnergestützte Suche nach gewünschten Informationen von einer Sammlung von Informationen vorgesehen. Das Verfahren umfaßt das Durchführen einer Synonymsuchabfrage für gewünschte Informationen von einer Sammlung von Informationen, wobei eine solche Synonymsuchabfrage eine Mehrzahl von Abfragen umfaßt, die von der Bedeutung her synonym sind. Das Verfahren umfaßt ferner das Empfangen einer Identifikation von resultierenden Dokumenten, die auf jede der Mehrzahl von Abfragen ansprechen, und das rangmäßige Ordnen der empfangenen Dokumente zumindest teilweise auf der Basis einer Gewichtung, die jeder der Mehrzahl von Abfragen zugewiesen ist.
  • Gemäß noch einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist ein computerausführbarer Softwarecode vorgesehen, der auf einem computerlesbaren Medium gespeichert ist, der einen Code zum Durchführen einer Synonymsuchabfrage nach gewünschten Informationen von einer Sammlung von Informationen umfaßt, wobei eine solche Synonymsuchabfrage eine Mehrzahl von Abfragen umfaßt, die von der Bedeutung her synonym sind. Der computerausführbare Softwarecode umfaßt ferner einen Code zum Empfangen einer Identifikation von resultierenden Dokumenten, die auf jede der Mehrzahl von Abfragen anspricht, und einen Code zum rangmäßigen Ordnen der empfangenen Dokumente zumindest teilweise auf der Basis einer Gewichtung, die jeder der Mehrzahl von Abfragen zugewiesen ist.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf beiliegende Zeichnungen näher erläutert. Es zeigen:
  • 1 ein beispielhaftes Client-Serversystem des Stands der Technik, bei dem Ausführungsbeispiele der vorliegenden Erfindung implementiert werden können;
  • 2 ein Beispiel einer herkömmlichen Web-Suchmaschine;
  • 3A einen beispielhaften Betriebsfluß zum Durchführen einer Synonymsuche gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 3B ein beispielhaftes Blockdiagramm für die Funktionalität einer Synonymsuchanwendung;
  • 4A eine beispielhafte Benutzerschnittstelle einer Synonymsuchanwendung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 4B-4D eine beispielhafte Verwaltungsschnittstelle, die in der Benutzerschnittstelle von 4A aufgenommen werden kann, um einen Benutzer zu befähigen, die Breite einer Synonymsuchabfrage, die aufgebaut werden soll, selektiv abzustimmen;
  • 5 ein beispielhaftes Betriebsflußdiagramm für eine Synonymsuchanwendung eines Ausführungsbeispiels, das das Abstimmen der Breite einer Synonymsuchabfrage umfaßt, wie sie durch den Benutzer gewünscht wird;
  • 6 ein beispielhaftes Betriebsflußdiagramm zum Bestimmen der optimalen Abfragen, die in eine aufgebaute Suchabfrage aufgenommen werden sollen, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 7 ein beispielhaftes Betriebsflußdiagramm zum Durchführen der aufgebauten Synonymsuchabfrage und das rangmäßige Ordnen der Ergebnisse, die von einer solchen Synonymsuchabfrage gemäß einem Ausführungsbeispiel der vorliegenden Erfindung erhalten werden;
  • 8 ein Beispielsystem, bei dem eine Synonymsuchanwendung gemäß Ausführungsbeispielen der vorliegenden Erfindung auf einem Clientcomputer in einen Client-Server-Netzwerk implementiert ist;
  • 9 ein weiteres Beispielsystem, bei dem eine Synonymsuchanwendung gemäß Ausführungsbeispielen der vorliegenden Erfindung auf einem Servercomputer in einem Client-Server-Netzwerk implementiert ist; und
  • 10 ein beispielhaftes Computersystem, auf dem eine Synonymsuchanwendung von Ausführungsbeispielen der vorliegenden Erfindung implementiert werden kann.
  • Wie es oben beschrieben wurde, sind viele Informationen digital gespeichert und können über einen lokalen Computer und/oder über ein Client-Server-Netzwerk zugreifbar sein. Beispielsweise liefern Informationsanbieter (z.B. Websiteanbieter) im allgemeinen Informationen über Client-Server-Netzwerke. Mit einer solchen Fülle an verfügbaren digitalen Informationen (entweder lokal oder über Client-Server-Netzwerke) wird es jedoch wünschenswert, einem Benutzer die Fähigkeit zu geben, die Informationen zu finden, die er/sie von der Sammlung von gespeicherten Informationen wünscht. Im Stand der Technik wurden Suchmaschinen bereitgestellt, die es einem Benutzer ermöglichen, eine Suchabfrage in dieselben einzugeben, und von der Sammlung von Informationen (z.B. einer lokalen Datenbank und/oder einem Client-Server-Netzwerk) Informationen wiederzugewinnen, die die benutzerspezifizierten Suchabfragebegriffe enthalten. Beispielsweise können SQL-Suchabfragen durchgeführt werden, um nach Informationen von einer lokalen Datenbank zu suchen, die kommunikativ mit einem Computer gekoppelt ist. Als weiteres Beispiel wurden verschiedene Suchmaschinen, wie z.B. diejenigen, die oben identifiziert wurden, entwickelt, um einen Benutzer dabei zu unterstützen, eine Sammlung von Informationen zu durchsuchen, die über ein Client-Server-Netzwerk, wie z.B. das Internet, verfügbar ist.
  • Aufgrund der Flexibilität und Redundanz, die in viele menschliche Sprachen integriert ist, können viele unterschiedliche Wörter und/oder Ausdrücke verwendet werden, um einen allgemeinen Gedanken zu übertragen. Beispielsweise sammelt ein Thesaurus viele Wörter in der englischen Sprache und identifiziert Synonyme, die statt jedem Wort verwendet werden können. Diese Charakteristik menschlicher Sprachen führt häufig zu Schwierigkeiten beim Finden gewünschter Informationen von einer Sammlung von gespeicherten Informationen unter Verwendung traditioneller Suchtech niken. Wie es nachfolgend näher beschrieben ist, suchen traditionelle Suchmaschinen beispielsweise im allgemeinen nach Informationen, die die speziellen Wörter oder Ausdrukke enthalten, die durch eine Suchabfrage eines Benutzers spezifiziert werden. Ein Anbieter von Informationen kann jedoch andere Wörter oder Ausdrücke verwenden, um die gleichen Informationen zu übertragen, die der Benutzer wünscht. Falls somit, wie es oben beschrieben wurde, die Suchabfrage des Benutzers nicht die gleichen Wörter oder Ausdrücke umfaßt, wie sie durch den Informationsanbieter verwendet wurden, ist die Suchmaschine wahrscheinlich nicht in der Lage, solche Informationen wiederzugewinnen, die auf die Suchabfrage des Benutzers ansprechen. Somit hängt die Sucheffektivität herkömmlicher Suchtechniken überwiegend von der Fähigkeit des Benutzers ab, eine Suchabfrage zu erstellen, die Begriffe und/oder Ausdrücke umfaßt, die mit den Begriffen und/oder Ausdrücken übereinstimmen, die durch die Informationsanbieter beim Anbieten der gewünschten Informationen verwendet wurden. Folglich sind herkömmliche Suchtechniken häufig nicht in der Lage, Informationen zu entdecken, die durch den Benutzer gewünscht werden.
  • Wie es oben erwähnt wurde, wurden in jüngster Zeit Vorschläge für Suchtechniken gemacht, die eine Synonymsuche verwenden. Beispielsweise lehrt das US-Patent Nummer 6,167,370, ausgegeben an Tsourikov u.a. "einen Suchabfrage- und Schlüsselwortgenerator, der Schlüsselwörter und Schlüsselkombinationen von Wörtern und Synonyme derselben identifiziert, zum Durchsuchen des Web, des Internet, eines Intranets und lokaler Datenbanken nach Dokumentenkandidaten." Siehe Spalte 3, Zeilen 5-9 desselben.
  • Als weiteres Beispiel lehrt das US-Patent Nummer 6,070,160, erteilt an Geary (das "'160-Patent") eine Suchmaschine, die computerprogrammierte Routinen verwendet, wobei die "Routinen einen Thesaurus und Prozesse zum Entspannen von Suchanforderungen verwenden können, um eine Übereinstimmung sicherzustellen". Siehe die Zusammenfassung desselben. Genau er gesagt, das '160-Patent lehrt, daß "Suchbegriffe durch Verfahren angepaßt werden können, wie z.B. Austauschen derselben mit Synonymen, Kürzen, Austauschen von Informationen zwischen durchsuchten Feldern, Suche nach Schlüsselwörtern, Verwenden komplexer Indexe zum schnellen Bewegen zwischen unterschiedlichen Datenbanken, und zum Erweitern des Suchbereichs und zum Finden schwer faßbarer Beziehungen zwischen anderweitig nicht verwandten Feldern in unterschiedlichen Datenbanken, und selektives Ignorieren oder Modifizieren von Suchbegriffen, die eine Suche übermäßig einengen. "Siehe Spalte 2, Zeile 63 bis Spalte 3, Zeile 3 desselben.
  • Als weiteres Beispiel lehrt das US-Patent Nummer 6,078,914, (das "'914-Patent") ein Metasuchsystem, das eine Synonymerweiterung für Wörter einer natürlichsprachigen Suchabfrage verwenden kann. Beispielsweise lehrt das '914-Patent, daß "Schritt 116 eine Synonymerweiterung für ausgewählte Wörter und/oder Ausdrücke durchführen kann... beispielsweise kann das Wort "entdecken" erweitert werden zu "entdecken oder erfinden oder finden"." Siehe Spalte 8, Zeile 63 – 65 desselben.
  • Es wurde jedoch erkannt, daß ein Wunsch nach einer Technik zum Verwalten solcher Synonymsuchtechniken besteht. Selbstverständlich können Benutzer ihre eigene Synonymabfrage manuell erstellen, aber das legt die Last des Erstellens geeigneter Abfragen erneut den Benutzern auf. Somit wird eine systemerzeugte (und autonome) Synonymsuchanwendung, die einen Benutzer dabei unterstützt, eine Synonymsuchabfrage aufzubauen, wünschenswert. Solche Synonymsuchanwendungen werden jedoch typischerweise nicht verwendet, zumindest teilweise aufgrund dem Mangel an Verwaltung solcher Suchanwendungen.
  • Als ein Beispiel wurde herausgefunden, daß ein Wunsch nach einem System und einem Verfahren zum Verwalten des Aufbaus einer geeigneten Suchabfrage besteht, die eine oder mehrere Synonyme enthalten kann. Beispielsweise kann ein Benutzer in einigen Fällen eine spezifische Suche wünschen, die keine Synonyme für die Begriffe der Suchabfrage verwendet (z.B. wenn der Benutzer ein Thema sucht, mit dem er sehr vertraut ist, oder der Benutzer nach einer Dokumentation sucht, die einen genauen Begriff oder einen genauen Ausdruck enthält). In anderen Fällen kann es jedoch sein, daß der Benutzer die Flexibilität wünscht, einen gewissen Grad an Synonymsuche aufzunehmen, abhängig davon, wie spezifisch oder wie allgemein der Benutzer seine Abfrage haben möchte. Somit besteht ein Wunsch nach einem Verwaltungstool, daß es einem Benutzer ermöglicht, die Breite der Synonymsuche, die für eine bestimmte Abfrage verwendet werden soll, effektiv abzustimmen. Unter der Annahme, daß ein Benutzer einen Abfragebegriff mit der Verwendung einiger weniger Synonyme für einen solchen Begriff erweitern möchte, wird ferner häufig eine Bestimmung benötigt, welche der vielen möglichen Synonyme am besten für den Begriff verwendet werden. Das heißt, ein spezielles Wort kann viele unterschiedliche Synonyme umfassen, und es kann wünschenswert sein, die Breite der Benutzerabfrage auf nur bestimmte solcher Synonyme zu begrenzen, in diesem Fall ist eine Technik zum Bestimmten der zu verwendenden Synonyme erwünscht.
  • Als noch ein weiteres Beispiel wurde erkannt, daß es einen Wunsch nach einem System und Verfahren zum Verwalten der Ergebnisse gibt, die durch eine Synonymsuchtechnik erfaßt werden. Beispielsweise unterstützt es den Benutzer beim Finden des wichtigsten Dokuments nicht notwendigerweise einfach dadurch, daß eine Synonymsuche eine größere Anzahl von potentiell relevanten Dokuments von der Sammlung identifizieren kann. Ohne eine geeignete Technik zum Ordnen der Präsentation der Dokumente für den Benutzer bleibt es statt dessen dem Benutzer überlassen, die sprichwörtliche Nadel im Heuhaufen zu finden.
  • Bevor Ausführungsbeispiele der vorliegenden Erfindung beschrieben werden, werden nachfolgend mehrere Definitionen ausgeführt. Die folgenden Definitionen sollen die Interpretation und die Bedeutung der Begriffe steuern, wie sie innerhalb der Beschreibung und der Ansprüche verwendet werden, außer die Beschreibung oder die Ansprüche weisen einem Begriff in einer speziellen Position oder für eine spezielle Anwendung ausdrücklich eine abweichende oder einschränkendere Bedeutung zu.
  • "Eingangsabfrage" (oder "ursprüngliche Abfrage") ist eine Abfrage, die durch die Synonymsuchanwendung empfangen wird. Bei bestimmten nachfolgend beschriebenen Ausführungsbeispielen kann die Eingabeabfrage durch einen Benutzer in die Synonymsuchanwendung eingegeben werden.
  • "Synonymabfrage" ist eine Abfrage, die sich in der Wortwahl von der Eingabeabfrage unterscheidet, aber in der Bedeutung synonym ist. Bei verschiedenen nachfolgend beschriebenen Ausführungsbeispielen bestimmt die Synonymsuchanwendung eine Synonymabfrage/Synonymabfragen für die Eingabeabfrage.
  • "Synonymsuchabfrage" ist eine Abfrage, die durch die Synonymsuchanwendung aufgebaut und ausgeführt wird, um eine Sammlung von Informationen nach gewünschten Informationen zu durchsuchen. Im allgemeinen wird eine Eingabeabfrage von der Synonymsuchanwendung empfangen und eine solche Anwendung baut eine Synonymsuchabfrage auf, die zumindest eine Abfrage umfaßt, die die Eingabeabfrage umfaßt und ferner zumindest eine Synonymabfrage umfaßt. Die Synonymsuchabfrage kann bei bestimmten Implementierungen eine einzige Abfrage umfassen, die die Eingabeabfrage und zumindest eine Synonymabfrage umfaßt (z.B. können booleanische Operanden aufgenommen werden, um eine solche Abfrage aufzubauen). Bei bestimmten anderen Implementierungen kann die Synonymsuchabfrage eine Mehrzahl von getrennten Abfragen umfassen (z.B. die Eingabeabfrage und zumindest eine Synonymabfrage) .
  • "Synonymsuchanwendung" ist ein computerausführbares Programm, das wirksam ist, um eine Eingabeabfrage zu empfangen und eine Synonymsuchabfrage aufzubauen.
  • "Verwaltungstool" ist ein Tool (z.B. computerausführbare Software), das bei bestimmten Ausführungsbeispielen in die Synonymsuchanwendung aufgenommen werden kann, und wirksam ist, um einen Aspekt der Synonymsuche zu verwalten. Bei bestimmten nachfolgend beschriebenen Ausführungsbeispielen ist das Verwaltungstool wirksam, um den Aufbau einer Synonymsuchabfrage zu verwalten, so daß die Synonymsuchabfrage eine gewünschte Breite aufweist. Bei bestimmten nachfolgend beschriebenen Ausführungsbeispielen ist das Verwaltungstool wirksam, um die Ergebnisse zu verwalten, die für eine Synonymsuchabfrage zurückgesendet wurden, beispielsweise durch rangmäßiges Ordnen der resultierenden Dokumente. Bei bestimmten nachfolgend beschriebenen Ausführungsbeispielen kann ein Verwaltungstool implementiert werden, um sowohl den Aufbau einer Synonymsuchabfrage als auch das Handhaben der resultierenden Dokumente zu verwalten, die für eine ausgeführte Synonymsuchabfrage zurückgesendet wurden.
  • "Information" soll informativen Inhalt umfassen (z.B. Artikel oder andere Veröffentlichungen), und auch Dienste, die in einer Sammlung verfügbar sind.
  • "Dokument" wird hierin verwendet, um sich auf ein einzelnes Informationselement zu beziehen (z.B, einen einzelnen Artikel, Dienst, usw.) und daher soll der Begriff "Dokument" nicht nur auf geschriebene Artikel begrenzt sein, sondern kann jedes Informationselement umfassen, das in einer Sammlung enthalten ist.
  • Ausführungsbeispiele der vorliegenden Erfindung liefern Tools zum Verwalten einer Synonymsuchanwendung. Bestimmte Ausführungsbeispiele der vorliegenden Erfindung liefern Tools zum Verwalten des Aufbaus einer Synonymsuchabfrage, die für eine bestimmte Suche nach gewünschten Informationen angewendet werden soll. Beispielsweise liefern bestimmte Ausführungsbeispiele der vorliegenden Erfindung ein Verwaltungstool, das es einem Benutzer ermöglicht, die Breite einer Synonymsuchabfrage, die beim Abfragen einer Sammlung nach gewünschten Informationen verwendet werden soll, selektiv abzustimmen. Bei einem Ausführungsbeispiel kann eine Benutzerschnittstelle verwendet werden, die einem Benutzer einen Schieberegler präsentiert, der es dem Benutzer ermöglicht, die Breite der Synonymsuchabfrage, die verwendet werden soll, von "spezifisch" zu "allgemein" abzustimmen. Falls ein Benutzer beispielsweise mit einem Thema sehr vertraut ist, kann er die Suche selektiv abstimmen, damit dieselbe "spezifischer" ist, in diesem Fall werden weniger (oder sogar keine) Synonyme in eine Abfrage der Sammlung aufgenommen. Falls ein Benutzer andererseits weniger vertraut mit einem Thema ist, kann er die Suche selektiv abstimmen, damit dieselbe "allgemeiner" ist, in diesem Fall kann bei einer Abfrage der Sammlung eine größere Anzahl von Synonymen verwendet werden. Wie es nachfolgend näher beschrieben ist, kann eine aufgebaute "Synonymsuchabfrage", wie dieser Begriff hierin verwendet wird, eine Mehrzahl von Abfragen umfassen (einschließlich einer ursprünglichen Benutzereingabeabfrage).
  • Wenn ferner nur einige wenige von vielen möglichen Synonymen für einen bestimmten Begriff in eine Suche aufgenommen werden sollen, liefern bestimmte Ausführungsbeispiele der vorliegenden Erfindung effektive Techniken zum Auswählen der zu verwendenden Synonyme. Beispielsweise werden dem Benutzer bei einer Implementierung die möglichen Synonyme präsentiert, und er hat die Option, die Synonyme auszuwählen, die in die aufgebaute Synonymsuchabfrage aufgenommen werden sollen. Bei anderen Implementierungen ist das Verwaltungstool wirksam, um die zu verwendenden Synonyme autonom auszuwählen. Somit ist bei bestimmten Ausführungsbeispielen, wie es nachfolgend näher beschrieben ist, eine Synonymsuchanwendung wirksam, um eine Synonymsuchabfrage aufzubauen, die eine Benutzereingabeabfrage und die optima le "Q"-Anzahl von Synonymabfragen umfaßt (d.h. Abfragen, die synonym zu der Benutzereingabenabfrage sind). Bei bestimmten Ausführungsbeispielen kann die Anzahl "Q" von Abfragen, die in einer aufgebauten Synonymsuchabfrage enthalten sind, zumindest teilweise von der abgestimmten Breite der aufgebauten Synonymsuchabfrage abhängen.
  • Bestimmte Ausführungsbeispiele der vorliegenden Erfindung liefern Tools zum Verwalten der Ergebnisse, die durch eine aufgebaute des Synonymsuchabfrage erhalten werden. Beispielsweise, wie es oben beschrieben ist, kann die Organisation der erfaßten Ergebnisse die Nutzbarkeit der Suchergebnisse für den Benutzer wesentlich beeinträchtigen. Man nehme beispielsweise an, daß eine aufgebaute Synonymsuchabfrage verwendet wird, die dazu führt, daß durch die Suchanwendung 250.000 Dokumente identifiziert wurden, die die Abfrage erfüllen. Falls es dem Benutzer überlassen wird, die 250.000 Dokumente zu durchsuchen, um diejenigen zu bestimmen, die am relevantesten für das Thema sind, das für den von Interesse ist, hat das Suchergebnis dem Benutzer sehr wenig geholfen. Das heißt, obwohl das Suchergebnis die Sammlung von Dokumenten, die für den Benutzer von Interesse sind, auf 250.000 mögliche Dokumente eingeengt hat, kann es für den Benutzer eine beinahe unmögliche Aufgabe sein, alle 250.000 Dokumente auszuwerten, um diejenigen zu identifizieren, die das spezifische Thema von Interesse für den Benutzer am wahrscheinlichsten adressieren.
  • Vorzugsweise werden die Dokumente, die in den erfaßten Ergebnissen enthalten sind, auf bestimmte Weise rangmäßig ordnet. Wie es oben beschrieben wurde, ordnen Suchmaschinen im allgemeinen Dokumente rangmäßig, die für eine Abfrage verfaßt wurden. Bestimmte Ausführungsbeispiele der vorliegenden Erfindung verwenden eine neuartige Technik zum Bestimmen der richtigen rangmäßigen Ordnung von Dokumenten, die durch die Ergebnisse eines Synonymsuchabfrage identifiziert wurden. Beispielsweise kann die Synonymsuchanwendung eine Technik zum Gewichten der resultierenden Dokumente im plementieren, die die rangmäßige Ordnung der Dokumente durch die Suchmaschine(n), die zum Durchführen der Synonymsuchabfrage verwendet wurden, eine Gewichtung, die der Abfrage der Synonymsuchabfrage zugewiesen wird, die zu dem gefundenen Dokument führt, und/oder eine Gewichtung berücksichtigt, die der Suchmaschine zugewiesen wird, die das Dokument gefunden hat. Verschiedene Techniken zum rangmäßigen Ordnen der resultierenden Dokumente werden nachfolgend in Verbindung mit 7 näher beschrieben.
  • Mit Bezugnahme auf 1 wird zunächst ein beispielhaftes Client-Server-System 100 gezeigt, bei dem Ausführungsbeispiele der vorliegenden Erfindung implementiert werden können. Wie gezeigt ist, können ein oder mehrere Server 101A101D Informationen (z.B. Dienste, informativen Inhalt usw.) an einen oder mehrere Clienten liefern, wie z.B. Clienten A-C (jeweils mit 109A-109C bezeichnet), über das Kommunikationsnetzwerk 108. Das Kommunikationsnetzwerk 108 ist vorzugsweise ein paketvermitteltes Netzwerk und kann bei verschiedenen Implementierungen beispielsweise das Internet oder ein anderes weites Netz (WAN = Wide Area Network), ein Intranet, ein lokales Netz (LAN = Local Area Network), ein drahtloses Netzwerk, ein öffentliches Fernsprachwählnetz (PSTN = Public Switches Telephony Network), eine Kombination derselben oder jedes andere Kommunikationsnetzwerk umfassen, das heute bekannt ist oder später auf dem Gebiet der Netzwerktechnik entwickelt wird, das es ermöglicht, daß zwei oder mehr Rechengeräte miteinander kommunizieren.
  • Bei einem bevorzugten Ausführungsbeispiel umfassen die Server 101A-101D Webserver, die verwendet werden können, um den Clienten A-C über das Kommunikationsnetzwerk 108 auf eine Weise, die in der Technik gut bekannt ist, Webseiten zu präsentieren. Folglich stellt das System 100 von 1 ein Beispiel von Webservern 101A-101D dar. Selbstverständlich sind Ausführungsbeispiele der vorliegenden Erfindung bei der Anwendung nicht auf das Suchen nach gewünschten Informationen innerhalb einer Webumgebung beschränkt, sondern können statt dessen zum Suchen nach gewünschten Informationen in verschiedenen anderen Typen von Client-Server-Umgebungen implementiert werden. Ferner sind Ausführungsbeispiele der vorliegenden Erfindung bei der Anwendung nicht auf das Suchen in Client-Server-Umgebungen beschränkt, sondern können beispielsweise in einem unabhängigen Computer implementiert sein, zum Durchsuchen einer lokal gespeicherten Sammlung von Informationen (z.B. Informationen, die auf einer lokalen Datenspeichervorrichtung gespeichert sind, wie z.B. der Festplatte des Computers, einer externen Datenspeichervorrichtung, usw.), die durch einen solchen unabhängigen Computer kommunikativ zugreifbar ist. Beispielsweise ist der Client A (109A) in dem Beispiel von 1 kommunikativ mit einer lokalen Datenbank 120 gekoppelt, und verschiedene Ausführungsbeispiele der vorliegenden Erfindung können implementiert werden, um es einem solchen Clientcomputer 109A zu ermöglichen, eine Sammlung von Informationen zu durchsuchen, die über die Datenbank 120 verfügbar ist. Es sollte klar sein, daß eine solche Datenbank 120 eine Mehrzahl von Datenbanken umfassen kann, die eine Sammlung von Informationen speichern, und bei bestimmten Ausführungsbeispielen kann eine solche Datenbank 120 lokal gespeicherte Informationen, entfernt gespeicherte Informationen oder beides umfassen. Unter Berücksichtigung der anscheinend unendlichen Menge an Informationen, die über ein Client-Server-Netzwerk, wie z.B. das Internet, verfügbar sein können, ist ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung insbesondere anwendbar für das Durchsuchen eines solchen Client-Server-Netzwerks, und daher werden beispielhafte Implementierungen eines bevorzugten Ausführungsbeispiels hierin nachfolgend in Verbindung mit dem Durchsuchen des Webs beschrieben. Selbstverständlich ist es für einen Fachmann auf diesem Gebiet klar, daß Ausführungsbeispiele der vorliegenden Erfindung gleichermaßen auf das Durchsuchen einer Sammlung von Informationen angewendet werden kann, die nicht in einem Client-Server-Netzwerk gespeichert ist, wie z.B. Informationen, die lokal in einem unabhängigen Computer gespeichert sind (z.B. Informationen in der Datenbank 120, die für den Computer 109A zugreifbar sind), und jede solche Implementierung soll innerhalb des Schutzbereichs der vorliegenden Erfindung liegen.
  • Das beispielhafte Client-Server-Netzwerk 100 von 1 stellt eine gut bekannte Konfiguration dar, wobei auf jeden der Server 101A-101D selektiv durch einen der Clienten A-C über das Kommunikationsnetzwerk 108 zugegriffen werden kann. Jeder Server 101A-101D kann bei bestimmten Implementierungen eine Webseite umfassen, die einem Clienten angeboten wird, wenn der Client auf einen solchen Server zugreift. Techniken zum Präsentieren von Webseiten an anfordernde Clienten sind in der Technik gut bekannt und müssen daher hierin nicht näher beschrieben werden. Im allgemeinen kann ein Browser, wie z.B. die Browser 110A-110C, auf einem Clientcomputer ausgeführt werden, wie z.B. den Clienten A-C. Beispiele gut bekannter Browser, die im allgemeinen verwendet werden, um es einem Benutzer zu ermöglichen, eine Anfrage zum Zugreifen auf eine spezielle Website einzugeben, und Informationen (z.B. Webseiten) auszugeben, die von einer zugegriffenen Website empfangen werden, umfassen NETSCAPE NAVIGATOR und MICROSOFT INTERNET EXPLORER. Um auf eine gewünschte Webseite zuzugreifen, interagiert ein Benutzer mit dem Browser, um den Browser zu einer solchen Webseite zu leiten (z.B. durch Eingeben eines Universalressourcenlokators (URL), der einer solchen Website entspricht, Klicken auf einen Hyperlink zu einer solchen Website, usw.), und ansprechend darauf gibt der Browser eine Reihe von HTTP-Anforderungen für alle Objekte der gewünschten Webseite aus.
  • Bei dem Beispiel von 1 liefert der Server 101C Informationen 106 (z.B. Dienste und/oder Inhalt) die für Clienten über das Kommunikationsnetzwerk 108 zugreifbar sind. Die Informationen 106 können bei bestimmten Implementierungen eine Webseite umfassen. Als ein Beispiel kann der Client 109B über die Kommunikationswege 112 und 116 mit dem Server 101C interagieren, um auf die Informationen 106 zuzugreifen.
  • Bestimmte Server können implementiert werden, so daß dieselben kommunikativ mit einer Datenbank gekoppelt sind, und solche Server können in der Lage sein, Informationen von ihren Datenbanken für einen Clienten wiederzugewinnen. Bei dem Beispiel von 1 liefert der Server 101A eine Website, die eine Produktsuchanwendung 102 umfaßt, die es einem Benutzer ermöglicht, auf eine solche Webseite zuzugreifen, um in der Datenbank 103 nach Produkten zu suchen. Der Websiteanbieter kann beispielsweise eine Firma sein, die mehrere unterschiedliche Produkte für Verbraucher herstellt, und Benutzer können durch Zugreifen auf die Website des Anbieters nach Informationen über die Produkte der Firma suchen, die in einer Datenbank 103 verfügbar sind. Der Client 109C kann über die Kommunikationswege 113 und 114 mit dem Server 101A interagieren, um für die Suchanwendung 102 ein spezielles Produkt zu spezifizieren. Die Suchanwendung 102 kann dann die Datenbank 103 nach Informationen über das spezifizierte Produkt abfragen und alle gefundenen Informationen an den anfordernden Clienten 109C zurücksenden.
  • Als weiteres Beispiel liefert der Server 1018 eine Website, die eine elektronische Thesaurusanwendung 104 umfaßt, die es einem Benutzer ermöglicht, auf eine solche Website zuzugreifen, um die Datenbank 105 nach Synonymen für ein spezifiziertes Wort zu durchsuchen. Beispiele einer solchen elektronischen Thesauruswebsite, die es Benutzern ermöglicht, ein spezielles Wort einzugeben und nach Synonymen für das spezielle Wort zu suchen, umfassen die elektronische Thesauruswebsite, die unter http://www.thesaurus.com verfügbar ist, und die elektronische Thesauruswebsite, die unter http://humanities.uchicagio.edu/forms unrest/ROGET. html verfügbar ist. Als ein Beispiel kann der Client 109C über die Kommunikationswege 113 und 115 mit dem Server 1018 interagieren, um ein spezielles Wort in die elektronische Thesaurusanwendung 104 einzugeben, und von dem Server 1018 Synonyme zu empfangen, die in der Datenbank 105 für ein solches Wort gefunden wurden.
  • Einige Server, wie z.B. der Server lOlD bei dem Beispiel von 1, liefern Suchmaschinen, die es einem Benutzer ermöglichen, nach gewünschten Informationen zu suchen, die in der Sammlung von Informationen verfügbar sind, die durch das Client-Server-Netzwerk geliefert werden (z.B. die Sammlung von Informationen, die auf den verschiedenen Servern des Client-Server-Netzwerks gespeichert ist). Es gibt viele beliebte Internetsuchmaschinen, einschließlich GOGGLE, LYCOS, YAHOO!, EXCITE und ALTAVISTA. Wie es in dem Beispiel von 1 gezeigt ist, kann ein Benutzer auf die Suchmaschine 107 zugreifen, die auf dem Server 101D läuft, und eine Suchabfrage in dieselbe eingeben. Beispielsweise stellt 1 ein Beispiel dar, bei dem ein Benutzer des Clienten 109A eine Suchabfrage für "Class List for Stanford" (Klassenliste für Stanford) eingibt, die von dem Browser 110A über die Kommunikationswege 111A zu der Suchmaschine 107 kommuniziert wird. Wie es in der Technik bekannt ist, kann die Suchmaschine 107 wirksam sein, um eine Liste von "Dokumenten" zusammenzustellen, die in der Sammlung des Client-Server-Netzwerks 100 verfügbar sind, die "Class List for Stanford" umfassen, und diese Liste von Dokumenten dem anfordernden Clienten präsentieren.
  • Im allgemeinen hält die Suchmaschine in einer Datenbank 118 einen "Index" von Dokumenten bei, die über das Client-Server-Netzwerk verfügbar sind. Folglich führt die Suchmaschine 107 ansprechend auf die empfangene Suchabfrage von dem Clienten 109A eine Suche 111B ihrer Datenbank 118 für diejenigen indexierten Dokumente durch, die "Class List for Stanford" enthalten. Danach wird die zusammengestellte Liste von Dokumenten durch die Suchmaschine 107 über die Kommunikationswege 111C an den Clienten 109A geliefert. Typischerweise wird jedes Dokument, das in der Liste identifiziert wird, durch den Browser 119A als ein Hyperlink zu dem Dokument präsentiert, so daß der Benutzer selektiv auf je des der identifizierten Dokumente klicken kann, um dieselben wiederzugewinnen.
  • Herkömmliche Websuchmaschinen werden hierin nachfolgend in Verbindung mit 2 näher beschrieben. Obwohl sich die Einzelheiten darüber, wie verschiedene Suchmaschinen arbeiten, etwas unterscheiden, sind dieselben im allgemeinen alle aus drei Teilen zusammengesetzt: zumindest eine "Spinne" bzw. „Spider", die über das Internet (oder ein anderes Client-Server-Netzwerk) kriecht und Informationen sammelt; eine Datenbank, die alle Informationen enthält, die die Spinnen sammeln; und eine Suchanwendung, die Menschen verwenden, um die Datenbank zu durchsuchen. Wie es in dem Beispiel von 2 gezeigt ist, verwendet eine traditionelle Suchmaschine 107 typischerweise eine "Crawler- bzw. Kriecher-" oder "Spinnen"-Anwendung 201, mit ihrem eigenen Satz von Regeln, die festlegen, wie Dokumente von dem Client-Server-Netzwerk 108 gesammelt werden. Einige verfolgen jeden Link auf jeder Homepage, die sie finden, und suchen dann wiederum jeden Link auf jeder dieser neuen Homepages usw. Einige Spinnen ignorieren Links, die zu Graphikdateien, Tondateien und Animationsdateien führen. Einige ignorieren Links zu bestimmten Internetressourcen, wie z.B. WAIS- (Wide Area Information Server = Weiter Informationsserver) Datenbanken, und einige werden angewiesen, hauptsächlich nach den beliebtesten Homepages zu suchen.
  • Während die Spinnenanwendung 201 Dokumente und URLs auf dem Client-Server-Netzwerk 108 entdeckt, werden Softwareagenten 202 angewiesen, die URLs und Dokumente zu bekommen und Informationen über dieselben an die Indexierungssoftware 203 zu senden. Die Indexierungssoftware 203 empfängt die Dokumente und URLs von den Agenten 202 und extrahiert Informationen von den Dokumenten und indexiert dieselben durch Eingeben der Informationen in eine Datenbank 118. Jede Suchmaschine extrahiert und indexiert unterschiedliche Arten von Informationen. Einige indexieren beispielsweise jedes Wort in jedem Dokument und andere nur die Schlüsselwör ter 100 in jedem Dokument. Die Art von Index, die aufgebaut wird, bestimmt im allgemeinen, welche Suchart mit der Suchmaschine durchgeführt werden kann, und wie die Informationen angezeigt werden. Viele andere Typen von Spinnen oder Agenten existieren, einschließlich geführter Agenten, die überwiegend nicht von Abfragen zu unterscheiden sind.
  • Wenn ein Benutzer des Clientcomputers 109A den Browser 110A anweist, die Suchmaschine 107 zu besuchen, um das Client-Server-Netzwerk 108 (z.B. das Internet) nach gewünschten Informationen zu durchsuchen, präsentiert die Suchmaschine 107 typischerweise eine Benutzerschnittstelle auf dem Browser 110A, wie z.B. eine Schnittstelle 204, um es dem Benutzer zu ermöglichen, eine Suchabfrage (z.B. eine natürlichsprachige Abfrage oder eine Boolesche Abfrage, die die Informationen beschreibt, die der Benutzer finden möchte) einzugeben. Abhängig von der Suchmaschine kann mehr als nur Schlüsselwörter verwendet werden. Beispielsweise kann ein Benutzer bei einigen Suchmaschinen nach Datum und anderen Kriterien suchen.
  • Bei dem in 2 gezeigten Beispiel ermöglicht es die Schnittstelle 204 einem Benutzer, nach Dokumenten, die alle der spezifizierten Wörter umfassen, die in das Eingabefeld 205 eingegeben sind, nach Dokumenten, die den genauen Ausdruck umfassen, der in das Eingabefeld 206 eingegeben wurde, nach Dokumenten, die zumindest eines der Wörter umfassen, das in das Eingabefeld 207 eingegeben wurde, und/oder nach Dokumenten, die die Wörter, die in das Eingabefeld 208 eingegeben wurden, nicht umfassen, zu suchen. Ferner ermöglicht es die Suchmaschine 204 einem Benutzer, in dem Eingabefeld 209 einen Datumsbereich zu spezifizieren, bei dem die Dokumente, die wiedergewonnen werden sollen, aktualisiert wurden (bei diesem Beispiel ist es die Suche, Dokumente wiederzugewinnen, die zu irgendeinem Zeitpunkt als letztes aktualisiert wurden). Außerdem ermöglicht es die Suchschnittstelle 204 einem Benutzer, in einem Eingabefeld 210 zu spezifizieren, wo in den Dokumenten die spezifizier ten Suchbegriffe erscheinen sollen, um die Suchabfrage zu erfüllen. Beispielsweise kann der Benutzer spezifizieren, daß die Suchbegriffe in einem allgemeinen Absatz oder in einem allgemeinen Satz eines Dokuments erscheinen müssen, um die Suchabfrage zu erfüllen, (bei diesem Beispiel ist die Suche, Dokumente wiederzugewinnen, bei denen die spezifizierten Suchbegriffe irgendwo in dem Dokument erscheinen). Die Suchschnittstelle 204 ermöglicht es dem Benutzer auch, in dem Eingabefeld 211 die maximale Anzahl von resultierenden Dokumenten zu spezifizieren, die dem Benutzer auf einer bestimmten Seite präsentiert werden sollen. Bei diesem Beispiel spezifiziert der Benutzer, daß zehn Dokumente die maximale Anzahl sind, die auf einer ausgegebenen Seite präsentiert werden, die die gefundenen Dokumente auflistet. Die Benutzerschnittstelle 204 liefert ferner einen Suchknopf 212, der, wenn er aktiviert wird, bewirkt, daß die aufgebaute Abfrage durchgeführt wird.
  • Bei dem Beispiel von 2 gibt der Benutzer die Suchabfrage "Class List Stanford" in das Eingabefeld 205 ein, und aktiviert den Suchknopf 212 um zu bewirken, daß die spezifizierte Abfrage durchgeführt wird. Ansprechend darauf wird die Abfrage über die Kommunikationswege 111A zu der Suchmaschine 107 kommuniziert, die wiederum ihre Datenbank 118 (über den Datenbankzugriff 111B) abfragt, um die Dokumente zu bestimmen, die in einer solchen Datenbank 118 indexiert werden, die die spezifizierte Abfrage erfüllen. Danach werden die resultierenden Dokumente, die die Abfrage erfüllen, über die Kommunikationswege 111C zu dem Browser 110A zurückgesendet, und die zusammengestellte Liste gefundener Dokumente wird dem Benutzer durch den Browser 110A als Ausgabe 213 präsentiert. Das heißt, die resultierenden Dokumente werden dem Benutzer bis zu der maximalen Anzahl, die durch den Browser in dem Eingabefeld 211 spezifiziert wurde, (z.B. 10 bei diesem Beispiel) in dem Ausgabebildschirm 213 präsentiert. Wie es oben kurz beschrieben wurde, gewichten die meisten Suchmaschinen die Ergebnisse auf irgendeine Weise und präsentieren die Dokumente in der Rei henfolge ihrer Gewichtung, um zu versuchen, dem Benutzer die wichtigsten Dokumente zuerst zu präsentieren. Somit werden die zehn Dokumente, die durch die Suchmaschine als wichtigste bestimmt wurden, in dem Ausgabebildschirm 213 präsentiert. Falls der Benutzer die nächsten zehn Dokumente betrachten möchte, kann er den "nächste 10"-Link 214 aktivieren, um zu bewirken, daß die nächsten 10 Dokumente, die durch die Suchmaschine 107 gefunden werden (in der Reihenfolge der Relevanz) durch den Ausgabebildschirm 213 präsentiert werden.
  • Im allgemeinen wird die resultierende Liste gefundener Dokumente von der Suchmaschine 107 als eine HTML-Seite zurückgesendet, bei der jedes der gefundenen Dokumente als Hyperlink zu dem entsprechenden Dokument aufgelistet ist. Das heißt, jedes der 10 Dokumente, die in dem Ausgabebildschirm 213 aufgelistet sind, ist ein Hyperlink zu dem entsprechenden Dokument. Falls der Benutzer somit beispielsweise auf das dritte aufgelistete Dokument klickt, wie es in dem Beispiel von 2 gezeigt ist, sendet der Browser eine Anforderung 111D, um das entsprechende Dokument wiederzugewinnen, die über die Antwort einer 111E empfangen wird und dem Benutzer durch den Browser 110A als Ausgabebildschirm 215 präsentiert wird.
  • Verschiedene unterschiedliche Suchmaschinen sind zum Durchsuchen einer Sammlung von Informationen (z.B. zum Durchsuchen des Inhalts) verfügbar, und jede Suchmaschine kann auf unterschiedliche Weise implementiert werden, so daß dieselben jeweils eine unterschiedliche Liste von Dokumenten zurücksenden können, die ansprechend auf eine bestimmte Suche gefunden werden. Das heißt, unterschiedliche Suchmaschinen können unterschiedlich indexiert werden, so daß dieselben vollständig unterschiedliche Dokumente für eine bestimmte Suche zurücksenden, und/oder unterschiedliche Suchmaschinen können unterschiedliche Gewichtungsschemata verwenden, so daß die Dokumente, die von jeder Suchmaschine gefunden werden, rangmäßig unterschiedlich geordnet werden. Um das weitmöglichste Netz auszuwerfen, wenn er nach Informationen sucht, kann ein Benutzer die Suche unter Verwendung vieler unterschiedlicher Suchmaschinen durchführen. Folglich wurde ein Softwaretyp entwickelt, der als Metasuchsoftware bezeichnet wird. Mit dieser Software kann ein Benutzer eine Suchabfrage aufbauen, und die Metasuchsoftware legt die Suchabfrage vielen unterschiedlichen Suchmaschinen gleichzeitig vor, kompiliert und erstellt die Ergebnisse von den Suchmaschinen zusammen und liefert die Ergebnisse dann an den Computer des Benutzers.
  • Als ein Beispiel des Betriebs einer bekannten Metasuchsoftwareanwendung kann ein Benutzer eine Suchabfrage in eine Benutzerschnittstelle eingeben, die durch die Metasuchsoftwareanwendung geliefert wird. Die Metasuchsoftware kann dann viele "Agenten" gleichzeitig aussenden – abhängig von der Geschwindigkeit der Netzwerkverbindung des Benutzers (normalerweise von 4 bis 8, aber es können auch bis zu 32 unterschiedliche Agenten sein). Jeder Agent kontaktiert eine oder mehrere Suchmaschinen oder Indexe, wie z.B. YAHOO!, LYCOS und EXCITE. Die Agenten sind intelligent genug, um zu wissen, wie jede Suchmaschine funktioniert. Beispielsweise wissen die Agenten, ob eine spezielle Maschine eine Boolesche Suche erlaubt. Der Agent kennt auch die genaue Syntax, die jede Maschine erfordert. Folglich setzen die Agenten die Suchabfrage in die richtige Syntax, die durch jede spezifische Suchmaschine erforderlich ist, und legen der Suchmaschine die Suchabfrage vor.
  • Die Suchmaschinen berichten dann die Ergebnisse ihrer Suche an die Agenten, und die Agenten senden die Ergebnisse zurück zu der Metasuchsoftware. Nachdem ein Agent seinen Bericht zurück an die Metasuchsoftware sendet, kann derselbe auf eine andere Suchmaschine zugreifen und die Suchabfrage dieser Maschine in richtiger Syntax vorlegen, und sendet dann erneut die Ergebnisse zurück zu der Metasuchsoftware. Die Metasuchsoftware nimmt alle Ergebnisse von den Suchmaschinen und untersucht dieselben nach doppelten Ergebnis sen. Falls dieselbe doppelte Ergebnisse findet, löscht sie die Duplikate und zeigt dann dem Benutzer die Ergebnisse der Suche an.
  • Um einen Benutzer weiter dabei zu unterstützen, eine Sammlung von Informationen effektiv nach gewünschten Informationen zu durchsuchen, wurden in letzter Zeit Vorschläge gemacht, Synchronsuche zu verwenden. Beispielsweise sind elektronische Thesaurusanwendungen bekannt (wie z.B. diejenigen, die im allgemeinen in Textverarbeitungsanwendungen enthalten sind), und solche elektronische Thesaurusanwendungen können verwendet werden, um Synonyme für ein oder mehrere Wörter zu bestimmen, die in einer benutzeraufgebauten Suchabfrage verwendet werden. Folglich kann eine Synonymsuchabfrage aufgebaut werden, die nicht nur nach den benutzeraufgebauten Abfragebegriffen sucht, sondern auch nach Synonymen von einem oder mehreren solcher Begriffe.
  • Beispielsweise kann eine Synonymsuchanwendung eine Synonymsuchabfrage aufbauen, die eine Benutzereingabesucheabfrage umfaßt, und auch eine oder mehrere Abfragen umfaßt, bei der einer oder mehrere der Begriffe der Benutzereingabeabfrage mit einem Synonym ersetzt werden, und die aufgebaute Synonymsuchabfrage kann effektiv durchgeführt werden, so daß jede Abfrage logisch ODER-verknüpft wird (d.h. zum Bestimmen, ob Dokumente gefunden werden, die eine der Abfragen erfüllen). Man nehme beispielsweise an, daß ein Benutzer eine Suche nach "Class List Stanford" eingibt (wie bei dem obigen Beispiel von 2), und eine Synonymsuchanwendung kann ein oder mehrere Synonyme für eines oder mehrere der Wörter bestimmen, die in der Abfrage des Benutzers verwendet werden. Beispielsweise kann die Synonymsuchanwendung bestimmen, daß "division" (Aufteilung) ein Synonym von "class" (Klasse) ist, und kann daher eine Synonymsuchabfrage von "class ODER division List Stanford" aufbauen, so daß Dokumente gefunden werden, die entweder "Class List Stanford" oder "Division List Stanford" erfüllen.
  • Selbstverständlich kann die Synonymsuchanwendung bei bestimmten Implementierungen eine Synonymsuchabfrage aufbauen, die eine Mehrzahl von Abfragen umfaßt, im Gegensatz zu einer einzigen Abfrage, bei der verschiedene Begriffe logisch ODER-verknüpft sind. Beispielsweise kann die Synonymsuchanwendung bei dem obigen Beispiel eine Synonymsuchabfrage aufbauen, die eine erste Abfrage von "Class List Stanford" (d.h. die Benutzereingabeabfrage) und eine zweite Abfrage von "Division List Stanford" umfaßt. Auf diese Weise können die beiden Abfragen jeweils unabhängig durchgeführt werden, und ihre Ergebnisse können auf die nachfolgend beschriebene Weise kombiniert werden, um eine geeignete Liste von gefundenen Dokumenten zu erzeugen, die dem Benutzer vorgelegt wird.
  • Ein beispielhafter Betriebsfluß zum Durchführen einer Synonymsuche gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist in 3A gezeigt. Bei diesem Beispiel beginnt der Betriebsfluß in dem Betriebsblock 301. In dem Betriebsblock 302 wird eine Benutzereingabesuchabfrage die von der Synonymsuchanwendung empfangen. Eine solche Synonymsuchanwendung kann in einer Suchmaschinenanwendung integriert sein, oder dieselbe kann als eine getrennte Anwendung implementiert sein, beispielsweise. Beispielsweise kann die Synonymsuchanwendung auf die Weise ausgeführt werden, die in Verbindung mit 3B nachfolgend beschrieben wird, und dieselbe kann eine Benutzerschnittstelle umfassen, wie z.B, diejenige, die nachfolgend mit 4A-4D näher beschrieben wird, zum Empfangen einer Benutzereingabe. Eine solche Benutzerschnittstelle kann beispielsweise als ein Applet oder als eine Auswahl in einem Menü (z.B. ein Pop-up-Menü, ein Pull-down-Menü, ein Rechtsklick oder ein anderes IT-erzeugtes Menü) implementiert sein.
  • Wie es hierin nachfolgend näher beschrieben wird, kann die Synonymsuchanwendung bei bestimmten Ausführungsbeispielen der vorliegenden Erfindung eine Eingabe im Block 303 (der in gestrichelten Linien als optional gezeigt ist) zum Ab stimmen der Breite einer Synonymsuchabfrage empfangen, die aufgebaut werden soll. Beispielsweise kann die Synonymsuchanwendung eine Eingabe empfangen, die spezifiziert, ob eine spezifische Suche gewünscht ist (in diesem Fall können keine oder nur sehr wenige Synonyme bei dem Aufbau der Synonymsuchabfrage verwendet werden), oder ob eine allgemeinere Suche gewünscht wird (in diesem Fall kann eine größere Anzahl von Synonymen für die Benutzereingabeabfragebegriffe beim Aufbauen der Synonymsuchabfrage verwendet werden). Somit kann ein Benutzer in Block 303 die Breite der Synonymsuchabfrage spezifizieren, die für die Benutzereingabeabfrage aufgebaut werden soll (z.B. die Anzahl von Synonymbegriffen, die beim Erweitern der Benutzereingabeabfrage verwendet werden sollen).
  • Bei dem Betriebsblock 304 wird eine Liste von Synonymabfragen für die Benutzereingabeabfrage erzeugt. Das heißt, Synonyme für einen oder mehrere der Begriffe der Benutzereingabeabfrage werden durch die Synonymsuchanwendung bestimmt. Es gibt viele im Handel erhältliche und frei erhältliche Synonymlisten (z.B. elektronischer Thesaurus). Beispielsweise hat die Cogilex Research and Development Incorporated (http://www.cogilex.com) eine solche elektronische Synonymliste entwickelt.
  • WordNet (http://www.cogsci.princeton.edu/∼wn/) liefert eine Einrichtung zum Erzeugen einer weiteren solchen Liste, und selbstverständlich vertraute Thesaurusoptionen, in denen viele Textverarbeitungsmaschinen die Einrichtungen liefern, um die Liste zu ändern (oder unabhängige Synonymlisten zu erzeugen). Folglich kann die Synonymsuchanwendung jeden solchen elektronischen Thesaurus, der heute bekannt ist oder später entwickelt wird, verwenden, um die Liste von Synonymen für Wörter der empfangenen Benutzereingabeabfrage autonom zu bestimmen.
  • Substantive, Verben und Adjektive sind die allgemeinen Teile der Sprache, die für Synonymabfragen verwendet werden, und abhängig davon, ob ein Begriff als Substantiv, Verb oder Adjektiv verwendet wird, können unterschiedliche Synonyme für den Begriff verwendet werden. In der Tat werden viele allgemeine Artikel (z.B. "der/die/das", und "ein/eine"), Präpositionen (z.B. "von", "mit" usw.) und Konjunktionen (z.B. "aber" "und" und "oder" außer wenn die letzteren beiden bei einer Booleschen Suche verwendet werden) bei den meisten Suchmaschinen insgesamt ignoriert. Folglich kann die Synonymsuchanwendung bei bestimmten Ausführungsbeispielen die Benutzereingabeabfrage analysieren, um den entsprechenden Sprachteil für jeden Begriff einer solchen Abfrage zu bestimmen, um die geeigneten Synonyme für die Begriffe auszuwählen.
  • Beispielsweise kann ein statistischer Lösungsansatz zum Bestimmen der Sprachteile (POS = Parts of Speech) an dem vorderen Ende der Abfrageanalyse implementiert werden. Beispielsweise kann das Wort "class"(Klasse, klassifizieren, klasse) ein Substantiv, ein Verb oder ein Adjektiv sein. Unter Verwendung der statistischen Ergebnisse von http://www.comp.lancs.ac.uk/ucrel/bncfreq/ wird beispielsweise herausgefunden, daß das Wort "class" überwiegend als Substantiv geschrieben wird, und daher kann die Synonymsuchanwendung die geeigneten Substantivsynonyme verwenden. Falls jedoch eine POS-Analyse (entweder auf der Basis der Wortfrequenz oder höherentwickelter Verfahren, wie z.B. handelsübliche POS-Maschinen wie diejenige von Cogilex) der Abfrage anzeigt, daß das Wort "class" ein Verb ist, können Verbsynonyme für "class" gefunden werden. Dies gilt auch für das Wort "list" (Liste, auflisten), das sowohl ein Substantiv als auch ein Verb sein kann. Da selbst die besten POS-Maschinen Fehler machen, kann es dem Benutzer bei bestimmten Implementierungen der vorliegenden Erfindung ermöglicht werden, die POS zu ändern, falls der Benutzer denkt, daß die Maschine die Abfrage falsch interpretiert haben könnte. Beispielsweise kann eine Benutzerschnittstelle durch die Synonymsuchanwendung geliefert werden, die es dem Benutzer ermöglicht, die POS für einen bestimmten Abfragebegriff zu ändern oder zu bestimmen. Da verbesserte semantische Analysetechniken entwickelt werden, können solche Techniken selbstverständlich zum Verbessern der Synonymsuchanwendung implementiert werden (z.B. durch besseres Bestimmen der geeigneten Synonymbegriffe für die Verwendung für ein bestimmtes Wort).
  • Vorzugsweise ist der Synonymsuchesatz, der durch die Synonymsuchanwendung für eine bestimmte benutzereingegebene Suchabfrage erzeugt wird, auf nahe (und nicht zugeordnete) Synonyme beschränkt, um die Anzahl der Suchabfragen bewältigbar zu halten. "Nahe" Synonyme beziehen sich auf die Synonyme, die mit einem bestimmten Wort ausgetauscht werden können, ohne dessen Bedeutung zu ändern, während zugeordnete Synonyme verwandte Wörter umfassen, die eine ähnliche (obwohl nicht die gleiche) Bedeutung wie das gegebene Wort haben. Selbstverständlich können bei bestimmten Implementierungen (und abhängig von der abgestimmten Breite der Synonymsuchabfrage) zugeordnete Synonyme auch zu denjenigen aufgenommen werden, die durch die Synonymsuchanwendung verwendet werden.
  • Darüber hinaus trennen viele bestehende Suchmaschinen Ausdrücke (Idiome), die aus zwei Wörtern bestehen, in zwei getrennte Begriffe, wie z.B. in dem Fall von "take off" (abheben) und "put up" (aufstellen) da dieselben als "take" und "off" bzw. "put" und "up" behandelt werden. Bei der Synonymsuchanwendung von Ausführungsbeispielen der vorliegenden Erfindung werden Ausdrücke wie z.B. "take off" und "put up" vorzugsweise durch die Synonymsuchanwendung als einzelne Kandidaten für Synonyme identifiziert und behandelt, was zu Synonymen, wie z.B. "launch" für "take off" und "elevate", "erect" und "construct" für "put up" führt, anstatt zu Synonymen für die einzelnen Wörter in diesen Ausdrücken.
  • Eine weitere Steuerung über die Gesamtzahl von Suchabfragen, die durch die Synonymsuchanwendung erzeugt werden, kann durch Begrenzen der Anzahl von nahen Synonymen, die mit P bezeichnet wird, auf ein absolutes Maximum von beispielsweise fünf Synonymen (d.h. P = 5) erhalten werden. Falls es N Begriffe gibt, für die sich in der Originalabfrage Synonyme finden, gibt es NP mögliche Gesamtsuchabfragen. Um jedoch eine unendliche Anzahl von Abfragen zu verhindern kann die Gesamtzahl von Abfragen auf ein absolutes Maximum Q beschränkt werden, von beispielsweise 25 Abfragen (die meisten Suchmaschinen sind derzeit bei mehreren hundertstel Sekunden pro Abfrage schnell genug, daß dieser Wert die Gesamtsuchzeit auf <1 Sekunde Suchen beschränkt, obwohl die Verbindungszeiten variieren können).
  • Zusätzlich oder alternativ kann es dem Benutzer erlaubt werden, die Gesamtanzahl von Suchabfragen über eine Benutzerschnittstelle, wie z.B. ein Schiebewerkzeug, ein Textfeld, usw. zu begrenzen. Beispielsweise kann die Benutzereingabe bei bestimmten Ausführungsbeispielen in dem Betriebsblock 303 von 3 die Breite der Synonymsuche, die durchgeführt werden soll, spezifizieren, die wiederum die Anzahl von Synonymabfragen vorgeben kann, die beim Aufbauen der Synonymsuchabfrage, die durchgeführt werden soll, verwendet werden soll. Falls ein Benutzer beispielsweise mit einem speziellen Thema sehr vertraut ist, kann es sein, daß er eine spezifische Suche durchführen möchte, bei der wenige (oder keine) Synonymabfragen enthalten sind; während, falls der Benutzer mit einem Thema nicht vertraut ist, es sein kann, daß ereine allgemeinere Suche durchführen möchte, bei der mehr Synonymabfragen in der Suche enthalten sind (weil der Benutzer eventuell mit der spezifischen Terminologie nicht vertraut ist, die üblicherweise in Dokumenten verwendet wird, die sich auf das Thema beziehen).
  • Falls die Synonymabfragen, die beim Aufbauen der Synonymsuchabfrage verwendet werden, in der Zahl beschränkt sind, ist selbstverständlich eine Technik zum Auswählen der optimalen Synonymabfragen (z.B. der besten Synonyme für einen speziellen Begriff) wünschenswert. Falls beispielsweise 5 mögliche Synonyme für einen Begriff der Benutzereingabeab frage bestehen und nur drei Synonymabfragen zum Aufbau der Synonymsuchabfrage verwendet werden sollen, ist eine Technik zum Bestimmen der optimalen drei Synonymabfragen für die Verwendung erwünscht. Folglich können bei bestimmten Ausführungsbeispielen der vorliegenden Erfindung die optimalen Synonymabfragen für die Verwendung in Block 305 (in gestrichelten Linien als optional gezeigt) von 3 bestimmt werden. Beispielsweise können bei bestimmten Implementierungen die möglichen Synonyme dem Benutzer präsentiert werden, und der Benutzer kann diejenigen auswählen, die beim Aufbauen der Synonymsuchabfrage verwendet werden sollen. Wenn der Benutzer beispielsweise bestimmte Synonyme sieht, kann dies den Benutzer dabei unterstützen, eine gewünschte Abfrage aufzubauen (z.B. können bestimmte Begriffe dem Gedächtnis des Benutzers nachhelfen, wie das Thema von Interesse am besten zu suchen ist). Außerdem oder alternativ kann die Synonymsuchanwendung wirksam sein, um die Synonymabfragen autonom auf die Weise zu gewichten, die nachfolgend in Verbindung mit 6 näher beschrieben ist, so daß die optimalen Synonymabfragen stärker gewichtet werden.
  • Danach kann bei bestimmten Implementierungen in dem Betriebsblock 306 eine Benutzereingabe empfangen werden, um die Suchmaschinen auszuwählen und/oder zu gewichten, die beim Durchführen der Abfrage(n) verwendet werden sollen, die in Block 305 bestimmt werden. Beispielsweise kann für jede eine Mehrzahl unterschiedlicher Suchmaschinen verwendet werden, die gleichzeitig die optimale(n) Suchfrage(n) durchführt, die in Block 305 bestimmt werden. Beispielsweise können bei einem bevorzugten Ausführungsbeispiel öffentlich verfügbare Suchmaschinen, wie z.B. GOOGLE, YAHOO!, LYCOS, usw. beim Durchführen der bestimmten optimalen Suchabfrage(n) (d.h. zum Durchführen einer aufgebauten Synonymsuchabfrage) verwendet werden. Ferner kann ein Benutzer bei einer bevorzugten Implementierung jede einzelne oder mehrere einer solchen Mehrzahl von Suchmaschinen auswählen, die beim Durchführen der bestimmten optimalen Suchabfrage(n) verwendet werden sollen. Die ausgewählten Suchmaschinen können jeweils die bestimmte(n) optimale(n) Suchabfrage(n) gleichzeitig durchführen, auf ähnliche Weise wie bei den oben beschriebenen Meta-Suchtechniken.
  • Bei dem Betriebsblock 307 werden die Ergebnisse für die optimale(n) Suchabfrage(n) von der einen oder den mehreren Suchmaschinen erhalten, die zum Durchführen der Suche verwendet werden. Es sollte klar sein, daß durch die verschiedenen verwendeten Suchmaschinen potentiell eine riesige Anzahl von Dokumenten für die Abfrage(n) zurückgesendet werden können. Ferner können einige Dokumente in einer Mehrzahl der unterschiedlichen zurückgesendeten Suchergebnisse enthalten sein. Um den Benutzer besser dabei zu unterstützen, die wahrscheinlich besten Dokumente für eine Durchsicht zu identifizieren, gewichtet die Synonymsuchanwendung vorzugsweise die erhaltenen Ergebnisse in dem Betriebsblock 308. Das heißt, die Synonymsuchanwendung verwendet vorzugsweise ein Gewichtungsschema, um die Dokumente in einer Reihenfolge von am wahrscheinlichsten relevant für die Abfrage des Benutzers bis zu am wenigsten relevanten für die Abfrage des Benutzers rangmäßig zu ordnen. Es sollte klar sein, daß die rangmäßige Ordnung, die durch die Synonymsuchanwendung durchgeführt wird, die Ergebnisse für verschiedene unterschiedliche Abfragen, die durch verschiedene unterschiedliche Suchmaschinen durchgeführt wurde, in eine gewichtete Liste von Dokumenten kombinieren kann. Ferner sollte klar sein, daß die Dokumente, die durch die Synonymsuchanwendung rangmäßig geordnet werden, bereits durch die einzelnen Suchmaschinen, die beim Durchführen der Abfrage(n) verwendet wurden, rangmäßig geordnet sein können. Techniken zum Gewichten der resultierenden Dokumente, die durch Ausführungsbeispiele der Synonymsuchanwendung implementiert werden können, werden nachfolgend in Verbindung mit 7 näher beschrieben. Danach wird eine Liste der resultierenden Dokumente, die in der Reihenfolge der Gewichtung von Block 308 identifiziert wurden, dem Benutzer in dem Betriebsblock 309 vorgelegt.
  • Mit Bezugnahme auf 3B zeigt dieselbe ein beispielhaftes Blockdiagramm für die Funktionalität einer Synonymsuchanwendung. Wie es gezeigt ist, kann eine ursprüngliche Abfrage (oder "Eingabeabfrage") 321 in eine Synonymsuchanwendung 322 eingegeben werden, die auf einem Computer laufen kann, wie es zum Beispiel hierin nachfolgend in Verbindung mit 8 und 9 beschrieben ist. Beispielsweise wird die Originalabfrage 321 empfangen, wie es in dem Betriebsblock 302 oben in Verbindung mit 3A beschrieben ist. Die Synonymsuchanwendung 322 ist vorzugsweise wirksam, um Synonymabfrage(n) 323 zu bestimmen, die von der Bedeutung synonym sind zu der empfangenen ursprünglichen Abfrage 321, wie bei dem Betriebsblock 304 von 3A. Außerdem ist die Synonymanwendung 322 ebenfalls vorzugsweise wirksam, um eine Synonymsuchabfrage 324 aufzubauen, die verwendet wird, um die Sammlung 325 nach gewünschten Informationen zu durchsuchen. Wie es gezeigt ist, kann die aufgebaute Synonymsuchabfrage 324 eine ursprüngliche Abfrage bzw. Originalabfrage 328 und zumindest eine Synonymabfrage 323 umfassen. Das heißt, die aufgebaute Synonymsuchabfrage 324 umfaßt zumindest eine Abfrage, die die ursprüngliche Abfrage 321 und ferner zumindest eine Synonymabfrage 322 umfaßt. Die aufgebaute Synonymsuchabfrage 324 kann bei bestimmten Implementierungen eine einzige Abfrage umfassen, die die ursprüngliche Abfrage 321 und zumindest eine Synonymabfrage 323 umfaßt (z.B. können Boolesche Operanden verwendet werden, um eine solche Abfrage aufzubauen). Bei bestimmten anderen Implementierungen kann die aufgebaute Synonymsuchabfrage 324 eine Mehrzahl von getrennten Abfragen umfassen (z.B. die ursprüngliche Abfrage 321 und eine oder mehrere Synonymabfragen 323).
  • Mit Bezugnahme auf 4A ist eine beispielhafte Benutzerschnittstelle eines bevorzugten Ausführungsbeispiels der vorliegenden Erfindung gezeigt. Die Benutzerschnittstelle 400 kann für eine Synonymsuchanwendung geliefert werden, wie z.B. die Synonymsuchanwendung 322 von 38, um es einem Benutzer zu ermöglichen, eine Abfrage einzugeben und die Breite der Synonymsuchabfrage abzustimmen, die aufgebaut werden soll. Beispielsweise kann ein Benutzer eine Abfrage in das Eingabefeld 40 eingeben, ähnlich wie bei herkömmlichen Suchmaschinen. Bei dem Beispiel von 4A hat ein Benutzer "class list for Stanford" in das Eingabefeld 401 eingegeben. Ein "OK"-Knopf 402 ist enthalten, der, wenn er aktiviert ist (z.B. dadurch, daß ein Benutzer mit einem Zeiger, wie z.B. einer Maus, auf denselben klickt) die Synonymsuchabfrage auslöst, damit dieselbe aufgebaut und ausgeführt wird. Wie es nachfolgend näher beschrieben ist, umfaßt eine aufgebaute Synonymsuchabfrage vorzugsweise die Benutzereingabeabfrage (des Eingabefelds 401) und auch eine oder mehrere Synonymabfragen für eine solche Benutzereingabeabfrage, abhängig von der gewünschten Breite der Synonymsuchabfrage. Ein "Abbrechen"-Knopf 403 ist enthalten, der aktiviert werden kann, um den Prozeß des Aufbauens einer Synonymsuchabfrage abzubrechen.
  • Ein Suchmaschinenselektor 404 kann vorgesehen sein, um einem Benutzer eine Liste einer Mehrzahl von unterschiedlichen Suchmaschinen vorzulegen. Der Benutzer kann jede einzelne oder mehrere solcher Suchmaschinen auswählen (z.B. durch Klicken auf das Ankreuzfeld neben der entsprechenden Suchmaschine), die beim Durchführen der aufgebauten Synonymsuchabfrage verwendet werden sollen. Bei diesem Beispiel sind vier Suchmaschinen A-D gezeigt, und der Benutzer hat ausgewählt, alle vier Suchmaschinen beim Durchführen der aufgebauten Synonymsuchabfrage zu verwenden. Außerdem kann ein Suchsammlungsselektor 405 vorgesehen sein, um es einem Benutzer zu ermöglichen, von einer Mehrzahl von unterschiedlichen Sammlungen auszuwählen, z.B. entweder dem Internet oder einem Intranet, das durchsucht werden soll. Bei diesem Beispiel hat der Benutzer gewählt, die Suche im Internet durchzuführen.
  • Außerdem ist bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung eine Verwaltungsbenutzerschnittstellle 406 in der Schnittstelle 400 aufgenommen, um es beispielsweise einem Benutzer zu ermöglichen, die Breite der Synonymsuchabfrage, die aufgebaut werden soll, zu steuern. Falls ein Benutzer beispielsweise mit dem Suchthema sehr vertraut ist, kann es sein, daß der Benutzer eine sehr spezifische Suche wünscht (z.B. Verwenden von keinen oder sehr wenigen Synonymabfragen zusätzlich zu der Benutzereingabeabfrage). Falls der Benutzer andererseits mit dem Suchthema weniger vertraut ist, kann es sein, daß der Benutzer eine allgemeinere Suche wünscht (z.B. Verwenden von mehr Synonymabfragen zusätzlich zu der Benutzereingabeabfrage). Verschiedene beispielhafte Verwaltungsschnittstellen 406, die implementiert werden können, sind in 48-4D gezeigt, die nachfolgend näher beschrieben sind.
  • 4B zeigt eine beispielhafte Verwaltungsschnittstelle 406A, die einen Schieberegler umfaßt. Bei dieser beispielhaften Schnittstelle kann ein Benutzer den Schieber des Schiebereglers selektiv von "spezifisch" zu "allgemein" schieben, um die Breite der Synonymsuchabfrage abzustimmen, die aufgebaut werden soll. Beispielsweise kann der Benutzer bei einem extrem den Schieber bei "spezifisch" positionieren, was der Synonymsuche anzeigt, daß der Benutzer mit seiner Abfrage sehr zufrieden ist, und keine große Hilfe beim Erweitern derselben mit Synonymabfragen wünscht. Beispielsweise kann das Positionieren des Schiebers bei "spezifisch" bei bestimmten Ausführungsbeispielen dazu führen, daß keine weiteren Synonymabfragen aufgebaut werden, sondern statt dessen nur die Benutzereingabesuchabfrage (des Eingangsfelds 401) durchgeführt wird. Der Benutzer kann die Synonymsuchabfrage, die aufgebaut werden soll, durch Schieben des Schiebers zu "allgemein" zunehmend erweitern. Während sich der Schieber zunehmend näher zu der "allgemein" Seite des Schiebereglers 406A bewegt, kann derselbe der Synonymsuchanwendung beispielsweise anzeigen, daß eine zunehmend größere Anzahl von Synonymsuchen für die Benutzereingabeabfrage (des Eingangsfelds 401) in der aufgebauten Synonymsuchabfrage aufgenommen werden soll. Wie es oben erwähnt wurde, kann die Gesamtzahl von Suchabfragen, die in die aufgebaute Synonymsuchabfrage aufgenommen werden, bei bestimmten Implementierungen auf eine maximale Zahl (z.B. 25 Abfragen) begrenzt werden. Wenn somit der Schieber auf "allgemein" gestellt ist, kann die Synonymsuchanwendung die am ehesten möglichen Suchabfragen (bis zu der maximal erlaubten Zahl), die in die Synonymsuchabfrage aufgenommen werden sollen, aufbauen. Bei der beispielhaften Schnittstelle von 4B kann es sein, daß der Benutzer wenig Kenntnis der darunterliegenden Techniken hat, die zum Erweitern der Benutzereingabeabfrage (z.B. der Anzahl der verwendeten Synonyme usw.) verwendet wird, aber er kann die Breite der aufgebauten Synonymsuchabfrage, die verwendet werden soll, nach Wunsch abstimmen.
  • 4C zeigt eine beispielhafte Verwaltungsschnittstelle 406B, die vier Eingabeknöpfe 407, 408, 409 und 410 umfaßt. Bei diesem Beispiel kann der Benutzer die Anzahl von Synonymen (oder Synonymabfragen) auswählen, die in die aufgebaute Synonymsuchabfrage aufgenommen werden sollen. Beispielsweise kann der Benutzer den Knopf 407 aktivieren, um zu spezifizieren, daß beim Aufbauen der Synonymsuchabfrage keine Synonyme (oder Synonymsuchabfragen)aufgenommen werden sollen. Das heißt, durch Auswählen des Knopfes 407 spezifiziert der Benutzer der Synonymsuchanwendung, daß er möchte, daß nur die Benutzereingabeabfrage (des Eingabefelds 401) durchgeführt wird. Falls der Benutzer alternativ wünscht, die Eingabeabfrage leicht zu erweitern, kann der Benutzer den Knopf 408 aktivieren, in diesem Fall soll ein Synonym (oder eine Synonymabfrage) in die aufgebaute Synonymsuchabfrage aufgenommen werden. Falls der Benutzer alternativ die Eingabe weiter erweitern möchte, kann der Benutzer den Knopf 409 aktivieren, in diesem Fall werden fünf Synonyme (oder Synonymabfragen) in die aufgebaute Synonymsuchabfrage aufgenommen. Falls der Benutzer die Eingabe noch weiter erweitern möchte, kann der Benutzer als weitere Option den Knopf 410 aktivieren, in diesem Fall soll die maximale Anzahl von Synonymen (oder Synonymabfragen) in die aufgebaute Synonymsuchabfrage aufgenommen werden. Selbstverständlich kann die Schnittstelle 406B bei einer alternativen Implementierung ein Eingabefeld umfassen, das es einem Benutzer ermöglicht, einen numerischen Wert einzugeben, um die Anzahl von Synonymen (oder Synonymabfragen) zu spezifizieren, die in die aufgebaute Synonymsuchabfrage aufgenommen werden soll. Es sollte klar sein, daß der Benutzer eine größere Steuerung über den spezifischen Aufbau der Synonymsuchabfrage hat durch Verwenden der Schnittstelle 406B anstatt der Schnittstelle 406A. Das heißt, der Benutzer kann in der Schnittstelle 406B die genaue Anzahl von Synonymen (oder Synonymabfragen) spezifizieren, die in die aufgebaute Synonymsuchabfrage aufgenommen werden sollen.
  • 4D zeigt eine beispielhafte Verwaltungsschnittstelle 406C, die Listen von Synonymen für die Begriffe der benutzereingegebenen Abfrage (des Eingabefelds 401) ausgibt, von denen der Benutzer die Synonyme auswählen kann, die beim Aufbauen der Synonymsuchabfrage aufgenommen werden sollen. Beispielsweise wird bei diesem Beispiel eine Liste 411 von Synonymen für einen ersten Begriff der Benutzereingabeabfrage (z.B. "class") mit einem Auswahlfeld neben jedem Synonym präsentiert, und eine Liste 412 von Synonymen für einen zweiten Begriff der Benutzereingabeabfrage (z.B. "list") mit einem Auswahlfeld neben jedem Synonym präsentiert. Es sollte klar sein, daß die beispielhafte Schnittstelle 406C dem Benutzer eine noch stärkere Steuerung über den spezifischen Aufbau der Synonymsuchabfrage liefert, da der Benutzer nicht nur die genaue Anzahl von Synonymen (oder Synonymabfragen) spezifizieren kann, die in der aufgebauten Synonymsuchabfrage aufgenommen werden sollen, sondern auch die spezifischen Synonyme, die in solchen Abfragen verwendet werden sollen.
  • Wie es oben beschrieben wurde, ist bei einem bevorzugten Ausführungsbeispiel eine Synonymsuchanwendung vorgesehen, die eine Benutzerschnittstelle umfaßt, die es einem Benutzer ermöglicht, die Breite der Synonymsuchabfrage, die für eine bestimmte Benutzereingabeabfrage aufgebaut werden soll, selektiv abzustimmen. 5 zeigt ein beispielhaftes Betriebsflußdiagramm für eine Synonymsuchanwendung eines bevorzugten Ausführungsbeispiels zum Abstimmen der Breite einer Synonymsuchabfrage, wie es von dem Benutzer gewünscht wird. Wie bei dem Betriebsfluß von 3A beginnt der Betrieb bei Block 301. Danach wird bei Block 302 eine Benutzereingabeabfrage empfangen. Beispielsweise wird bei dem Eingabefeld 401 in 4A eine Benutzereingabeabfrage von "class list for Stanford" empfangen.
  • Bei dem Betriebsblock 303 wird eine Eingabe empfangen, um die Breite der Synonymsuchabfrage, die aufgebaut werden soll, abzustimmen. Beispielsweise kann ein Benutzerschnittstellentool, wie z.B. das von 4B-4D, durch die Synonymsuchanwendung vorgesehen sein, um es einem Benutzer zu ermöglichen, die gewünschte Breite der Synonymsuchabfrage, die aufgebaut werden soll, abzustimmen. Bei dem Betriebsblock 304 erzeugt die Synonymsuchanwendung eine Liste von Synonymabfragen für die Benutzereingabeabfrage. Beispielsweise kann die Synonymsuchanwendung verschiedene Synonyme für jeden Begriff der Benutzereingabeabfrage bestimmen (obwohl, wie es oben beschrieben wurde, die Synonymsuchanwendung keine Synonyme für bestimmte Begriffe bestimmen kann, die in der Benutzereingabeabfrage enthalten sind, wie z.B. Konjunktionen, richtige Namen, usw., und die Synonymsuchanwendung kann bestimmte Idiome identifizieren und Synonyme für das Idiom anstatt für die einzelnen Wörter, die das Idiom bilden, bestimmen). Die Synonymsuchanwendung kann dann die verschiedenen Synonymabfragen bestimmen (Abfragen, die synonym zu der Benutzereingabeabfrage sind), die durch unterschiedliche Kombinationen der Synonyme und Benutzereingabebegriffe aufgebaut werden können. Man nehme beispielsweise an, daß die Benutzereingabeabfrage "class list for Stanford" ist und man nehme ferner an, daß ein Synonym für "class" (d.h. "set") identifiziert ist, und zwei Synonyme für "list" (d.h. "catalog" und "inventory") identifiziert sind, wobei für die Wörter "for" und "Stanford" keine Synonyme erzeugt werden. In diesem Fall sind die folgenden sechs Synonymsuchabfragen durch die Verwendung verschiedener Kombinationen der Benutzereingabebegriffe und der Synonyme möglich:
    • 1) "class list for Stanford" (ursprüngliche Benutzereingabeabfrage);
    • 2) "set list for Stanford";
    • 3) "class catalog for Stanford";
    • 4) "class inventory for Stanford";
    • 5) "set catalog for Stanford"; and
    • 6) "set inventory for Stanford".
  • Danach schreitet der Betrieb zu Block 305 fort, wo die Suchabfrage(n), die in die aufgebaute Synonymsuchabfrage aufgenommen werden sollen, bestimmt werden, wie es oben mit Bezugnahme auf 3A beschrieben ist. Um mit dem obigen Beispiel fortzufahren, wird beispielsweise in Block 305 bestimmt, welche der obigen sechs Suchabfragen in die Synonymsuchabfrage aufgenommen werden soll, die durch die Synonymsuchanwendung aufgebaut wird. Wie es in 5 gezeigt ist, wird die Bestimmung solcher Suchabfrage(n), die in die aufgebaute Synonymsuchabfrage aufgenommen werden sollen, bei einem bevorzugten Ausführungsbeispiel durch die Ausführung der Blöcke 501 und 502 durchgeführt. In Block 501 wird eine Anzahl "Q" von Abfragen, die in der Synonymsuchabfrage aufgenommen werden sollen, zumindest teilweise basierend auf der Breite bestimmt, die für die Synonymsuchabfrage gewünscht wird. Falls ein Benutzer beispielsweise die Breite der Synonymsuchabfrage (in Block 303) als sehr genau abstimmt, kann die Anzahl "Q" auf nur 1 (d.h. die ursprüngliche Benutzereingabesuchabfrage) oder auf nur einige wenige bestimmt werden. Falls der Benutzer alternativ die Breite der Synonymsuchabfrage als sehr allgemein abstimmt, kann die Anzahl "Q" als viel größer (z.B. 25 oder mehr) bestimmt werden, oder der Benutzer kann die Breite auf jede andere gewünschte Menge abstimmen. Somit kann das Abstimmen der Breite der Synonymsuchabfrage in Block 303 die Gesamtzahl von Abfragen angeben, die in die aufgebaute Synonymsuchabfrage aufgenommen werden soll.
  • Selbstverständlich kann der abstimmbare Bereich von "Q" abfragen, die für einen Benutzer, beispielsweise über einen Schieberegler, verfügbar sein können, als eine Entwurfsauswahlmöglichkeit, die für eine spezifische Implementierung gewünscht wird, variieren (z.B. kann dieselbe bei bestimmten Implementierungen sehr viel mehr als 25 Abfragen erlauben). Ferner kann der abstimmbare Bereich von "Q" abfragen, der für einen Benutzer verfügbar ist, bei bestimmten Implementierungen abhängig von der ursprünglichen Eingabeabfrage variieren. Beispielsweise können die Begriffe einer ursprünglichen Eingabeabfrage relativ wenig Synonyme aufweisen, in diesem Fall kann dies, wenn ein Benutzer die Synonymsuchabfrage auf "allgemein" abstimmt (und somit eine erweiterte Suche wünscht), dazu führen, daß die Synonymsuchanwendung relativ wenig Synonymabfragen in die aufgebaute. Synonymsuchabfrage aufnimmt, da für die ursprüngliche Eingabeabfrage relativ wenig Synonymabfragen aufgebaut werden können. Beispielsweise kann ein Begriff einer Eingabeabfrage nur eine oder zwei nahe Synonyme aufweisen (die von der Bedeutung her mit dem Eingabebegriff austauschbar sind), die die Anzahl von Synonymabfragen begrenzen können, die unter Verwendung solcher nahen Synonyme aufgebaut werden können. Somit kann der abstimmbare Bereich, der für einen Benutzer verfügbar ist, bei bestimmten Implementierungen abhängig von der Eingabeabfrage variieren. Außerdem kann das Abstimmen durch einen Benutzer den Aufbau der Synonymsuchabfrage bei bestimmten Implementierungen erweitern, um Synonymanfragen aufzunehmen, die unter Verwendung zugeordneter Synonyme für Begriffe einer Eingabeabfrage gebildet werden kann. Falls ein Benutzer beispielsweise den Aufbau der Synonymsuchabfrage auf "allgemein" abstimmt, und die Eingabeabfrage Begriffe umfaßt, die relativ wenig nahe Synonyme aufweisen, kann ein solches Abstimmen durch den Benutzer anzeigen, daß es gewünscht wird, daß auch zugeordnete Synonyme aufgenommen werden. Wenn der Benutzer die gewünschte Synonymsuchabfrage auf allgemeiner (anstatt spezifisch) abstimmt, kann somit die Synonymsuchanwendung bei bestimmten Implementierungen an einem bestimmten solche Abstimmungen als den Wunsch erkennen, nicht nur nahe Synonyme aufzunehmen, sondern auch zugeordnete Synonyme für einen oder mehrere Begriffe der Eingabeabfrage.
  • Bei dem Betriebsblock 502 werden die optimalen "Q" Abfragen, die in die Synonymsuchabfrage aufgenommen werden sollen, durch die Synonymsuchanwendung bestimmt. Um mit dem obigen Beispiel fortzusetzen, nehme man beispielsweise an, daß in Block 501 bestimmt wird, daß drei Gesamtsuchen in die aufgebaute Synonymsuchabfrage aufgenommen werden sollen, in Block 502 bestimmt wird, welche drei der oben identifizierten sechs Abfragen die optimalen sind, um in die aufgebaute Synonymsuchabfrage aufgenommen zu werden. Eine bevorzugte Technik zum Bestimmen der optimalen Abfragen zum Aufnehmen in der Synonymsuchabfrage zumindest teilweise auf der Basis einer zugeordneten Gewichtung für jeden Synonymbegriff wird nachfolgend in Verbindung mit 6 näher beschrieben.
  • 6 zeigt ein beispielhaftes Flußdiagramm zum Bestimmen der optimalen Abfragen, die in eine aufgebaute Synonymsuchabfrage aufgenommen werden sollen, gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung. Der beispielhafte Fluß beginnt in Block 601. In Block 602 werden die möglichen Synonyme für Begriffe einer Benutzereingabeabfrage bestimmt. Bei einem bevorzugten Ausführungsbeispiel wird jedem Synonym auf der Basis seiner relativen Nähe (d.h. Nähe der Bedeutung) zu dem ursprünglichen (oder "Basis-") Wort (d.h. dem tatsächlichen Wort, das in der Benutzereingabeabfrage enthalten ist) ein Gewichtswert zugewiesen. Folglich wird in Block 603 die relative Nähegewich tung, die jedem möglichen Synonym zugewiesen wird, bestimmt.
  • Die Gewichtung von Synonymen kann bei bestimmten Ausführungsbeispielen, durch die Synonymsuchanwendung autonom durchgeführt werden, auf der Basis zumindest teilweise des Mit-Erscheinens der Synonymbegriffe mit den Benutzereingabebegriffen (oder "Basis-"Wörtern) einer Abfrage in Dokumenten einer zu durchsuchenden Sammlung. Beispielsweise kann bei einem bevorzugten Ausführungsbeispiel eine Datenbank beibehalten werden, die Daten über das Mit-Erscheinen von Synonymbegriffen in Dokumenten einer Sammlung umfaßt. Falls beispielsweise NP>Q ist, werden zusätzliches Suchen (zusätzlich zu der Benutzereingabeabfrage, die vorzugsweise immer verwendet wird) vorzugsweise auf der Basis der relativen Synonymbeziehung zwischen jedem der Begriffe bestimmt.
  • Das folgende Beispiel stellt diesen Punkt deutlicher dar. Man nehme an, daß der Benutzer die Abfrage "class list for Stanford" eingibt. Für den Begriff "class" werden die folgenden Synonyme durch die Synonymsuchanwendung identifiziert: set, group, division, grade, rank, category und Order. Somit wurden für den Begriff "class" sieben Synonyme identifiziert, was zu acht Kandidatenbegriffen führt (einschließlich dem Wort "class" selbst), die bei der Suche nach "class" verwendet werden können. Für den Begriff "list" werden durch die Synonymsuchanwendung die folgenden Synonyme identifiziert: catalog, inventory, register, record, roll und directory. Somit sind sechs Synonyme für den Begriff "list" identifiziert, was zu sieben Kandidatenbegriffen führt (einschließlich dem Wort "list" selbst), die beim Suchen nach "list" verwendet werden können. Die Anzahl möglicher Synonymabfragen für die Benutzereingabeabfrage von "class list for Stanford" ist bereits 56 (d.h. 8 × 7). Glücklicherweise ist bei diesem Beispiel "Stanford" ein relativ einmaliger Begriff; obwohl "Stanford university" als Synonym dafür angesehen werden kann, erweitert dieses Syn onym die Suche nicht, und kann daher ignoriert werden. Angenommen, daß nicht mehr als 25 Abfragen erlaubt sind (z.B. aufgrund der benutzerabgestimmten Breite der Synonymabfrage, die durchgeführt werden soll und/oder aufgrund der Abfragebegrenzungen, die die Synonymsuchanwendung implementiert hat) müssen die oben identifizierten 56 Abfragen jedoch auf die 25 optimalen Abfragen reduziert werden, die verwendet werden sollen.
  • Eine Lösung zum Bestimmen der 25 Abfragen, die verwendet werden sollen, ist es einfach, fünf Begriffe für "class" anzunehmen (z.B. "class" plus vier Synonyme anzunehmen) und fünf Begriffe für "list" (z.B. "list" plus vier Synonyme anzunehmen). Die verschiedenen Kombinationen zum Anordnen der fünf Begriffe für class mit den fünf Begriffen für list liefern 25 unterschiedliche Suchabfragen, die gebildet werden können (5 × 5). Diese Lösung ist jedoch allgemein nicht zufriedenstellend, da dieselbe häufig nicht zu den optimalen 25 Abfragen führt, die verwendet werden. Das heißt, das Auswählen einer gleichen Anzahl von Synonymen für jeden der benutzereingegebenen Begriffe, um die gewünschten 25 Suchabfragen zu erzeugen, kann häufig nicht die 25 optimalen Abfragen zum Suchen nach den gewünschten Informationen liefern. Dies liegt daran, daß bestimmte Wörter "nähere" Nahesynonyme aufweisen als andere, z.B. "car" (Auto) hat nahe Annäherungen "automobile" (Automobil) und "vehicle" (Fahrzeug), während "printer" (Drucker) vielleicht keine nahen Annäherungen hat.
  • Bei einem bevorzugten Ausführungsbeispiel der Synonymsuchanwendung ist die Synonymdatenbank (d.h. der elektronische Thesaurus oder eine andere Quelle, von der Synonyme bestimmt werden) strukturiert, so daß die Synonyme für ihre "Nähe der Bedeutung" oder "Nähe" zu dem ursprünglichen Wort rangmäßig geordnet werden. Eine solche rangmäßige Ordnung kann durch den elektronischen Thesaurus, die Synonymsuchanwendung, eine andere Anwendung oder eine Kombination derselben durchgeführt werden. Man nehme beispielsweise an, daß solche Statistiken für "class" und "list" verfügbar sind, dann können die verschiedenen Synonyme für jeden der Begriffe auf der Basis der relativen Nähe zu ihrem jeweiligen Basiswort (d.h. "class" oder "list") gewichtet werden. Das folgende Beispiel, das im XML-Format bereitgestellt wird (da XML vorzugsweise zum Ermöglichen einer Interaktion zwischen der Datenbank und der Synonymsuchanwendung verwendet wird, obwohl bei alternativen Implementierungen andere geeignete Codiersprachen verwendet werden können) stellt diesen Punkt näher dar:
    Figure 00470001
    Figure 00480001
  • Bezüglich der obigen Ausführungen können die verschiedenen Synonyme für "class" gemäß einer bestimmten Nähe zu dem Begriff "class" gewichtet werden, und die verschiedenen Synonyme für "list" können gemäß einer bestimmten Nähe zu dem Begriff "list" gewichtet werden. Beispielsweise sind bei dem obigen Beispiel die Synonyme für "class" in der Reihenfolge ihrer Gewichtung wie folgt: "set" (mit einer Gewichtung von 0,9), "group" (mit einer Gewichtung von 0,85), "division" (mit einer Gewichtung von 0,72), "grade" (mit einer Gewichtung von 0,65) "rank" (mit einer Gewichtung von 0,51), "category" (mit einer Gewichtung von 0,42) und "order" (mit einer Gewichtung von 0,23). Gleichartig dazu sind bei dem obigen Beispiel die Synonyme von "list" in der Reihenfolge ihrer Gewichtung wie folgt: "catalog" (mit einer Gewichtung von 0,95), "inventory" (mit einer Gewichtung von 0,9), "register" (mit einer Gewichtung von 0,88) "record" (mit einer Gewichtung von 0,85), "roll" (mit einer Gewichtung von 0,84), und "directory" (mit einer Gewichtung von 0, 46) .
  • In dem Betriebsblock 604 von 6 bestimmt die Synonymsuchanwendung die möglichen Synonymabfragen für die Benutzereingabeabfrage, die unter Verwendung verschiedener Kombinationen der benutzereingegebenen Begriffe und möglicher Synonymbegriffe gebildet werden kann. Danach bestimmt die Synonymsuchanwendung in Block 605 einen Gewichtungswert, der jeder möglichen Synonymabfrage zugeordnet wird. Vorzugsweise kann unter Verwenden des "Nähe"-Attributs für jedes Synonym durch Multiplizieren aller Nähegewichtungen für eine bestimmte Synonymabfrage die Gesamtrelevanz einer speziellen Abfrage erhalten werden. Beispielsweise sind bei dem obigen Beispiel die als höchstes gewichteten 25 Abfragen:
    • 1. class × list × Stanford (die ursprüngliche Benutzereingabeabfrage) = 1,0 × 1,0 × 1,0 = 1,0;
    • 2. class × catalog × Stanford = 1,0 × 0,95 × 1,0 = 0,95;
    • ...
    • 24. grade × catalog × Stanford = 0,65 × 0,95 × 1,0 = 0,6175; und
    • 25. division × record × Stanford = 0,72 × 0,85 × 1,0 = 0, 612.
  • Es sollte klar sein, daß bei dieser beispielhaften Implementierung den ursprünglichen Benutzereingabebegriffen (oder "Basis"-Wörtern) der maximale Gewichtungswert von "1,0" zugewiesen ist, während Synonymbegriffen abhängig von ihrer relativen Nähe zu dem ursprünglichen Benutzereingabebegriff Gewichtungswerte zugewiesen werden. Somit können die obigen 25 Abfragen die aufgebaute Synonymsuchabfrage bilden, wobei jede der 25 Abfragen gleichzeitig durchgeführt wird. Falls die Breite, die für die Synonymsuchabfrage gewünscht wird, anders ist, können selbstverständlich mehr oder weniger als 25 Abfragen darin aufgenommen sein.
  • Es sollte angemerkt werden, daß die oben definierten "Gewichte" oder "Nähen" bei bestimmten Implementierungen ferner durch die "Semantik" der Abfrage gewichtet/behandelt werden können. Falls beispielsweise eine Benutzereingabeabfrage den Begriff "ball sport" (Ballsport) umfaßt, dann können alle Synonyme von "ball" (Ball) die sich auf "dancing" (tanzen) anstatt auf "sports equipment" (Sportgeräte) beziehen, durch die Synonymsuchanwendung gelöscht werden. Eine solche semantische Gewichtung ist im allgemeinen ziemlich schwierig und daher helfen gewichtete Synonyme, wie z.B. die oben angezeigten, dabei, dieses Problem zu umgehen. Das heißt, es ist typischerweise ziemlich schwierig, die POS eines Begriffs in einer Abfrage zu bewerten, da es im allgemeinen es typischerweise relativ wenig Kontext und häufig keine vollen Ausdrücke oder Sätze in der Abfrage enthalten sind. Bei bestimmten Implementierungen können Annahmen über die POS gewonnen werden, indem bei einer POS-Aufschlüsselung nach dem Begriff in einer großen Sammlung gesucht wird, wie es nachfolgend erörtert ist.
  • Die Nähegewichtung für die Synonymbegriffe kann auf jede von verschiedenen möglichen Weisen definiert werden. Als ein Beispiel kann eine solche Gewichtung manuell definiert werden. Als weiteres Beispiel kann die Gewichtung durch die Synonymsuchanwendung autonom definiert werden. Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird eine Suchennähegewichtung auf der Basis des Mit-Erscheinens solcher Begriffe in Dokumenten (z.B. Webseiten) einer Sammlung definiert. Beispielsweise stellt http://www.comp.lancs.ac.uk/ucrel/bncfreq eine statistische Datenbank bereit, die von dem British National Corpus erzeugt wurde, eine elektronische Datenbank mit 100 Millionen Wörtern, die von der gesamten Bandbreite des heutigen Englisch, gesprochen und geschrieben, genommen sind. Somit kann die Sammlung durch die Synonymsuchanwendung regelmäßig überwacht werden, um die Anzahl von Dokumenten in einer solchen Sammlung zu bestimmen, bei der ein bestimmtes Wort und ein spezielles Synonym eines solchen Worts zusammen erscheinen, und kann eine Gewichtung für das spezielle Synonym zuweisen, abhängig davon, wie häufig es zusammen mit dem bestimmten Wort erscheint. Beispielsweise kann die Sammlung durch die Synonymsuchanwendung regelmäßig analysiert werden, um die Anzahl von Dokumenten in derselben zu bestimmen, in denen sowohl "class" als auch "set" gemeinsam erscheinen. Gleichartig dazu kann die Synonymsuchanwendung die Sammlung analysieren, um die Anzahl von Dokumenten zu bestimmen, die in derselben verfügbar sind, in denen sowohl "class" als auch "group" gemeinsam erscheinen, usw. Auf der Basis der Anzahl der gefundenen Dokumente, in denen "class" und "set" gemeinsam erscheinen, kann "set" eine Nähegewichtung als Synonym für das Wort "class" zugewiesen werden, und auf der Basis der Anzahl der gefundenen Dokumente, in denen "class" und "group" gemeinsam erscheinen, kann "group" eine Nähegewichtung als Synonym für das Wort "class" zugewiesen werden. Angenommen, daß mehr Dokumente gefunden werden, in denen "set" zusammen mit "class" erscheint, als Dokumente, in denen "group" zusammen mit "class" erscheint, wird dem Begriff "set" eine höhere Nähegewichtung zugewiesen (wie bei dem obigen Beispiel) als "group". Obwohl "set" für das Wort "class" eine höhere Nähegewichtung haben kann als "group", kann es selbstverständlich sein, daß dasselbe nicht so häufig wie "group" mit einem anderen Wort (einem anderen als "class") erscheint, und daher kann "group" für ein solches anderes Wort eine höhere Nähegewichtung aufweisen als "set". Solche auf Statistik basierenden Verfahren sind robust, da dieselben die "Beliebtheit" des Erscheinens von Begriffen widerspiegeln (was für Suchmaschinen im allgemeinen relevant ist).
  • Das obige Nähegewichtungsschema kann auf verschiedene Weisen modifiziert und/oder verbessert werden, um es der Synonymsuchanwendung zu ermöglichen, die Nähe eines Synonyms zu einem bestimmten Basiswort genauer zu bestimmen. Als ein Beispiel kann beim Bestimmen der Gewichtung von Synonymen für ein bestimmtes Wort (oder ein "Basis"-Wort, wie z.B. "class" bei dem obigen Beispiel) berücksichtigt werden, wie die Synonyme in einem Dokument mit dem bestimmten Wort gemeinsam erscheinen. Beispielsweise kann ein Dokument, in dem ein Synonym in dem gleichen Absatz erscheint wie das gegebene Wort, stärker gewichtet werden als ein Dokument, bei dem das Synonym mit dem gegebenen Wort gemeinsam erscheint, aber viele Absätze entfernt von dem gegebenen Wort erscheint. Beispielsweise kann bestimmt werden, daß, je näher ein Synonym in der Position innerhalb eines Dokuments zu dem gegebenen Wort ist (d.h. je näher der relative Abstand des gemeinsamen Erscheinens der beiden Wörter innerhalb des Dokuments ist), um so wahrscheinlicher ist es, daß der Autor des Dokuments das Synonym austauschbar mit dem gegebenen Wort verwendet, im Gegensatz zum Verwenden des Synonyms beim Beschreiben eines anderen Gedankens. Somit kann bei diesem Gewichtungsschema ein erstes Synonym, das gemeinsam mit einem Basiswort in weniger Dokumenten einer Sammlung erscheint als ein zweites Synonym, aber in einer sehr viel näheren Position zu dem Basiswort innerhalb der Dokumente erscheint (z.B. innerhalb des gleichen Absatzes oder des gleichen Satzes) als das zweite Synonym, stärker gewichtet werden als das zweite Synonym.
  • Bei bestimmten Implementierungen kann die Synonymsuchanwendung die Gewichtung autonom definieren, auf der Basis der Reihenfolge, in der die Synonyme in einer linguistischen Maschine erscheinen, wie z.B. einer, die durch WordNet (oder einen anderen elektronischen Thesaurus, der verwendet wird) bereitgestellt wird, wobei sich in diesem Fall die Synonymsuchanwendung effektiv auf die rangmäßige Ordnung der Synonyme in der verwendeten Quellsynonymliste verläßt. In diesem Fall kann eine solche automatische Zuweisung durch eine Synonymsuchanwendung die folgende für "class" Struktur ergeben (wenn WordNet verwendet wird) (Bereich der Nähe von 0 von Nichtsynonymen bis 1,0 für „class" selbst, so daß die 12 Synonyme den Rest des Bereiches in 13 Teile unterteilen):
    Figure 00520001
  • Sobald in dem Block 605 von 6 die Gewichtung für jede mögliche Synonymabfrage bestimmt ist (z.B. durch Multipli zieren des zugewiesenen Gewichtswerts für jedes Wort der Abfrage) werden in Block 606 die am höchsten gewichteten "Q" Abfragen, die in der aufgebauten Synonymsuchabfrage aufgenommen werden sollen, bestimmt. Beispielsweise werden bei dem obigen Beispiel die am höchsten gewichteten 25 Synonymabfragen (was die ursprüngliche Benutzereingabeabfrage selbst umfaßt) für die Aufnahme in der aufgebauten Synonymsuchabfrage bestimmt.
  • Sobald die Synonymsuchabfrage durch die Synonymsuchanwendung aufgebaut ist, werden die Abfragen einer solchen Synonymsuchabfrage (z.B. die 25 Abfragen bei dem obigen Beispiel) durch eine oder mehrere Suchmaschinen durchgeführt. Bei einem bevorzugten Ausführungsbeispiel können die Abfrage/die Abfragen, die die Synonymsuchabfrage bilden, durch eine Mehrzahl unterschiedlicher Suchmaschinen parallel durchgeführt werden. Beispielsweise können einige der Abfragen (z.B. vier) parallel auf einer Anzahl von unterschiedlichen Suchmaschinen (z.B. vier) durchgeführt werden, gefolgt von mehr (z.B. den nächsten vier) Abfragen, die auf den Suchmaschinen durchgeführt werden. Beispielsweise können die Abfrage(n) der aufgebauten Synonymsuchabfrage in gut bekannte Suchmaschinen, wie z.B. diejenigen, die von GOOGLE, YAHOO!, LYCOS usw. bereitgestellt werden und/oder jede andere geeignete Suchmaschine eingegeben werden, die heute bekannt ist oder später für eine Sammlung von Informationen entwickelt wird. Die Ergebnisse werden von der/den Suchmaschine(n) erhalten, durch die Synonymsuchanwendung für die Abfrage(n) der Synonymsuchabfrage. Vorzugsweise ordnet die Synonymsuchanwendung dann die empfangenen Ergebnisse rangmäßig.
  • 7 zeigt ein Flußdiagramm für einen beispielhaften Betriebsfluß zum Durchführen der aufgebauten Synonymsuchabfrage und zum rangmäßigen Ordnen der Ergebnisse, die für eine solche Synonymsuchabfrage gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung erhalten werden. Wie es gezeigt ist, beginnt der Betrieb in Block 701.
  • Danach wird in dem Betriebsblock 702 die aufgebaute Synonymsuchabfrage in eine oder mehrere Suchmaschinen eingegeben. Wie es oben beschrieben ist, wird es einem Benutzer bei einem bevorzugten Ausführungsbeispiel ermöglicht, eine oder mehrere einer Mehrzahl von unterschiedlichen Suchmaschinen auszuwählen, um dieselben beim Durchführen der aufgebauten Synonymsuchabfrage zu verwenden. Beim Betriebsblock 703 empfängt die Synonymsuchanwendung die Ergebnisse für jede Abfrage der Synonymsuchabfrage von jeder verwendeten Suchmaschine. Das heißt, die Identifikation der Dokumente, die von jeder Suchmaschine für jede Abfrage der Synonymsuchabfrage gefunden werden, wird von der Synonymsuchanwendung empfangen.
  • In dem Betriebsblock 704 richtet die Synonymsuchanwendung ihre Aufmerksamkeit auf die Ergebnisse, die von einer ersten verwendeten Suchmaschine empfangen werden. Im Betriebsblock 705 richtet die Synonymsuchanwendung ihre Aufmerksamkeit auf die Ergebnisse, die von dieser ersten Suchmaschine für eine erste Abfrage der Synonymsuchabfrage empfangen wurden. Danach werden diese resultierenden Dokumente in Block 706 durch die Synonymsuchanwendung gewichtet. Eine beispielhafte Technik zum Gewichten der Dokumente ist in Block 7179 gezeigt (die in gestrichelten Linien als optional gezeigt sind). Bei dieser beispielhaften Technik zum Gewichten der Dokumente richtet die Synonymsuchanwendung ihre Aufmerksamkeit auf ein erstes der Dokumente (Block 71). Es sollte klar sein, daß die Suchmaschine(n), die zum Durchführen der Synonymsuchabfrage verwendet wurden, die Ergebnisse typischerweise in einer bestimmten Reihenfolge präsentiert, auf der Basis einer rangmäßigen Ordnungstechnik, die durch die Suchmaschine implementiert wird. Das heißt, Suchmaschinen verwenden typischerweise eine Technik zum rangmäßigen Ordnen der Dokumente durch Verringern der Relevanz, wie sie durch die Suchmaschine bestimmt wird (d.h. das relevanteste Dokument wird als erstes präsentiert, gefolgt von dem nächstrelevanten Dokument, usw.). Ein bevorzugtes Ausführungsbeispiel der Synonymsuchanwen dung berücksichtigt die rangmäßige Ordnung der verwendeten Suchmaschine beim Bestimmen einer rangmäßigen Ordnung der Dokumente.
  • Beispielsweise wird bei der in 7 gezeigten beispielhaften Gewichtungstechnik das Inverse der Suchmaschinenordnung beim Zuweisen eines Gewichts zu den Dokumenten verwendet. Man nehme beispielsweise an, daß die Suchmaschine zehn Dokumente zurücksendet, die mit 1–10 rangmäßig geordnet sind, wobei das erste Dokument eine inverse Gewichtung von 1/1 (oder 1,0) empfangen kann, das zweite Dokument eine inverse Gewichtung von 1/2 (oder 0,5) empfangen kann usw., und wobei jedes Dokument eine inverse Gewichtung von 1 geteilt durch die rangmäßige Ordnung der Suchmaschine des Dokuments empfängt. Als ein weiteres Beispiel eines inversen Gewichtungsschemas nehme man erneut an, daß die Suchmaschine 10 Dokumente zurücksendet, die mit 1–10 rangmäßig geordnet sind, wobei jedes Dokument eine inverse Gewichtung durch Dividieren der Gesamtzahl von empfangenen Dokumenten durch die rangmäßige Ordnung der Suchmaschine des Dokuments empfangen kann. Beispielsweise kann bei diesem Schema das erste Dokument (d.h. das durch die Suchmaschine als höchstes rangmäßig geordnete Dokument) eine inverse rangmäßige Ordnung von 10/1 (oder 10) empfangen, das zweite Dokument kann eine inverse rangmäßige Ordnung von 10/2 (oder 5) empfangen, usw. Das inverse Gewichtungsschema wird verwendet, so daß das Dokument, das durch die Suchmaschine als höchstes rangmäßig geordnet wurde, die höchste Gewichtung empfängt, das nächsthöchste rangmäßig geordnete Dokument die nächsthöchste Gewichtung empfängt, usw. Falls die Dokumente gewichtet wurden durch Zuweisen derselben zu dem Wert ihrer rangmäßigen Ordnung, würde das als höchstes rangmäßig geordnete Dokument (das erste Dokument) eine Gewichtung von 1 empfangen, während das als zehntes rangmäßig geordnete Dokument eine höhere Gewichtung von 10 empfangen wird. Folglich wird vorzugsweise ein inverses Gewichtungsschema verwendet, so daß das als höchste rangmäßig geordnete Dokument schwerer gewichtet wird als das nächsthöchst rangmäßig ge ordnete Dokument, usw. Selbstverständlich können bei alternativen Ausführungsbeispielen andere Techniken verwendet werden, einschließlich, ohne Beschränkung, Präsentieren der Dokumente in umgekehrter Reihenfolge, so daß das als am geringsten gewichtete Dokument als erstes gezeigt wird, und zu dem am höchsten gewichteten Dokument fortschreitet, das als letztes präsentiert wird.
  • In dem Betriebsblock 72 des Beispiels von 7 wird die inverse rangmäßige Suchmaschinenordnung eines Dokuments multipliziert mit einer Gewichtung, die der Abfrage zugewiesen ist, die dazu geführt hat, daß das Dokument zurückgesendet wird. Von der obigen Beschreibung des Aufbaus der Synonymsuchabfrage sollte daran erinnert werden, daß die Abfragen, die in der Synonymsuchabfrage enthalten sind, gewichtet sein können (siehe z.B. 6 und die Beschreibung derselben). Beispielsweise wird bei einem oben beschriebenen Beispiel für die Benutzereingabeabfrage von "class list for Stanford" eine Synonymsuchabfrage aufgebaut, die die folgenden am höchsten gewichteten 25 Suchabfragen enthält:
    • 1. class × list × Stanford (die ursprüngliche Benutzereingabeabfrage) = 1,0 × 1,0 × 1,0 = 1,0;
    • 2. class × catalog × Stanford = 1,0 × 0,95 × 1,0 = 0,95;
    • ...
    • 24. grade × catalog × Stanford = 0,65 × 0,95 × 1,0 = 0,6175; und
    • 25. division × record × Stanford = 0,72 × 0,85 × 1,0 = 0, 612.
  • Wie das obige Beispiel darstellt, ist jeder Abfrage, die in der Synonymsuchabfrage aufgenommen ist, ein Gewichtswert zugewiesen (der als die "Synonymnähegewichtung" derselben bezeichnet werden kann. Andere Schemata zum Gewichten der Abfragen, die in der Synonymsuchabfrage verwendet werden, können verwendet werden. Obwohl das obige Beispiel die Gewichtung für die Abfragen a priori erzeugt (bevor die Synonymsuchabfrage durchgeführt wird), kann beispielsweise bei bestimmten Implementierungen die Gewichtung der Abfragen nachträglich durchgeführt werden (nachdem die Synonymsuchabfrage durchgeführt ist). Beispielsweise können die Abfragen einer Synonymsuchabfrage bei einer Implementierung wie folgt gewichtet werden: a) Gewichten nach ursprünglicher Benutzereingabeabfrage = 1,0; b) Gewichten nach Abfragen die Schlüsselwörter (Substantive) mit der ursprünglichen Benutzereingabeabfrage gemeinsam haben = 0,5; und c) Gewichten nach Abfragen, die Synonyme für Schlüsselwörter in der ursprünglichen Abfrage aufweisen = 0,2; und d) Gewichten nach anderen Abfragen = 0,1. Verschiedene andere Techniken können zum Gewichten der Abfragen verwendet werden, die in der Synonymsuchabfrage enthalten sind.
  • Bei einem bevorzugten Ausführungsbeispiel wird die Gewichtung einer Abfragen, die in der Synonymsuchabfrage enthalten ist, beim rangmäßigen Ordnen der Ergebnisse berücksichtigt, die für eine solche Abfrage erhalten werden. Beispielsweise wird in Block 72 die inverse rangmäßige Suchmaschinenordnung eines Dokuments mit der Abfragegewichtung multipliziert, um einen Wert "X" für das Dokument zu erhalten. Man nehme beispielsweise an, daß die Abfrage "class catalog Stanford" des obigen Beispiels durchgeführt wird, die eine Abfragegewichtung von 0,95 aufweist. In dem Betriebsblock 72 wird für ein Dokument, das durch die Suchmaschine zurückgesendet wird, die inverse rangmäßige Ordnung, die einem solchen Dokument zugewiesen ist, durch die Suchmaschine mit der Abfragegewichtung von 0,95 multipliziert, um den Wert "X" für ein solches Dokument zu bestimmen.
  • Bei bestimmten Ausführungsbeispielen können Suchmaschinen gewichtet Werte zugewiesen werden. Beispielsweise kann ein Benutzer eine Suchmaschine im Vergleich zu einer anderen bevorzugen, und kann daher der bevorzugten Suchmaschine ei ne höhere Gewichtung zuweisen. Das heißt, der Benutzer kann der Suchmaschine www.mygoodsearchengine.com mehr vertrauen als der Suchmaschine www.mypatheticsearchengine.com, und kann daher wünschen, die Ergebnisse von diesen Suchmaschinen entsprechend zu gewichten. Folglich kann die Synonymsuchanwendung in Betriebsblock 73 bestimmen, ob der Suchmaschine, von der die Ergebnisse empfangen wurden, ein gewichteter Wert zugewiesen ist. Falls die Suchmaschine gewichtet ist, wird ein Wert "Y" für das zu betrachtende Dokument bestimmt als die Summe von "X" für dieses Dokument und dem Suchmaschinengewichtswert in Block 74. Falls andererseits die Suchmaschine nicht gewichtet ist, wird der Wert "Y" in dem Betriebsblock 75 gleich "X" für das zu betrachtende Dokument gesetzt. In jedem Fall schreitet der Betrieb dann zu Block 76 fort, wo das vorläufige Gewicht des zu betrachtenden Dokuments als der Wert "Y" bestimmt wird.
  • In Betriebsblock 77 bestimmt die Synonymsuchanwendung, ob für die zu betrachtende Abfrage mehr resultierende Dokumente verfügbar sind. Falls mehr resultierende Dokumente für diese Abfrage verfügbar sind, richtet die Synonymsuchanwendung ihre Aufmerksamkeit in Block 78 auf das nächste identifizierte Dokument, und die Ausführung kehrt zu Block 72 zurück, um diesem nächsten Dokument einen vorläufigen Gewichtswert zuzuweisen. Sobald es in Block 77 bestimmt ist, daß für die zu berücksichtigende Abfrage keine weiteren resultierenden Dokumente durch die Suchmaschine zurückgesandt wurden, schreitet der Betrieb zu Block 707 fort (wie es in Block 79 gezeigt ist).
  • Obwohl eine beispielhafte Technik zum Gewichten der Dokumente, die von einer Suchmaschine für eine Abfrage zurückgesendet werden, oben in Verbindung mit den Blöcken 7179 beschrieben ist, sollte klar sein, daß bei alternativen Ausführungsbeispielen der vorliegenden Erfindung verschiedene andere Gewichtungstechniken implementiert werden können. Beispielsweise kann auch die Neuheit der berichteten und/oder analysierten Schlüsselwörter der Dokumente, die ansprechend auf die Synonymsuchabfrage zurückgesendet werden, für die Gewichtung verwendet werden. Solche Schlüsselwörter können durch das Dokument (z.B. die Website/Webseite) selbst berichtet werden, oder können unter Verwendung natürlichsprachiger Verarbeitungsverfahren (NLP-Verfahren) analysiert werden. Diese abschließende Gewichtung nach Neuheit kann gewonnen werden durch Verwenden von Dokumentenclusterbildung und anschließendem Auswählen der am höchsten gewichteten Dokumente von jedem Cluster zum Berichten.
  • Sobald jedem Dokument einer zu berücksichtigenden Suchabfrage in dem Betriebsblock 706 eine vorläufige Gewichtung zugewiesen ist, schreitet der Betrieb zu Block 707 fort, wo die Synonymsuchanwendung bestimmt, ob eine andere Abfrage in der Synonymsuchabfrage enthalten ist. Falls eine weitere Abfrage enthalten ist, richtet die Synonymsuchanwendung ihre Aufmerksamkeit auf die Ergebnisse der nächsten Abfrage der Synonymsuchabfrage (die von der zu betrachtenden Suchmaschine empfangen wird) in Block 708 und gibt den Betrieb zu Block 706 zurück, um jedem der Dokumente, die in solchen Ergebnissen identifiziert sind, vorläufige Gewichtswerte zuzuweisen.
  • Sobald es in Block 707 bestimmt ist, daß keine weiteren Abfragen in der Synonymsuchabfrage enthalten sind, schreitet der Betrieb zu Block 709 fort, wo die Synonymsuchanwendung bestimmt, ob Ergebnisse von einer anderen Suchmaschine empfangen wurden. Falls die Synonymsuchabfrage beispielsweise auf einer Mehrzahl von unterschiedlichen Suchmaschinen ausgeführt wird, werden von jeder einer solchen Mehrzahl von unterschiedlichen Suchmaschinen Ergebnisse empfangen. Falls in Block 709 bestimmt wird, daß von einer anderen Suchmaschine Ergebnisse empfangen wurden, richtet die Synonymsuchanwendung ihre Aufmerksamkeit in Block 710 auf die Ergebnisse, die von der nächsten Suchmaschine empfangen wurden. Die Synonymsuchanwendung gibt dann ihren Betrieb zu Block 705 zurück, um die Ergebnisse zu bewerten, die für die Abfrage(n) der Synonymsuchabfrage empfangen wurden, und weist jedem der identifizierten Dokumente in den Ergebnissen einen vorläufigen Gewichtswert zu.
  • Sobald in Block 709 bestimmt wird, daß keine weiteren Ergebnisse von anderen Suchmaschinen empfangen wurden (d.h. alle empfangenen Ergebnisse wurden bewertet und denselben wurde ein vorläufiger Gewichtswert zugewiesen), dann schreitet der Betrieb zu Block 711 fort. Es sollte klar sein, daß bestimmte Dokumente in den Ergebnissen unterschiedlicher Abfragen identifiziert werden können, die in der Synonymsuchabfrage enthalten sind. Beispielsweise kann die Identifikation eines bestimmten Dokuments in denjenigen enthalten sein, die durch eine Suchmaschine zurückgesendet werden, die auf die Abfrage "class list Stanford" anspricht, und eine Identifikation des gleichen Dokuments kann auch in den zurückgesendeten Ergebnissen von der Suchmaschine enthalten sein, die auf die Abfrage "class catalog Stanford" anspricht. Falls mehrere Suchmaschinen verwendet werden, kann außerdem ein Dokument in den Ergebnissen einer oder mehrerer Abfragen zurückgesendet werden, die durch eine Mehrzahl der verwendeten Suchmaschinen durchgeführt wurden. Somit kann ein Dokument in den resultierenden Dokumentenlisten mehrfach erscheinen, die von der Suchmaschine/den Suchmaschinen für die Abfrage(n) einer Synonymsuchabfrage empfangen wurden. Wie oben beschrieben wurde, empfängt jedes Erscheinen des Dokuments bei einem bevorzugten Ausführungsbeispiel eine Gewichtung (die für jedes Erscheinen unterschiedlich sein kann, abhängig von Faktoren wie der Gewichtung der Abfrage, die dazu geführt hat, daß das Dokument zurückgesendet wurde, die rangmäßige Ordnung des Dokuments durch die Suchmaschine, die dasselbe zurückgesendet hat, und/oder die Gewichtung, die der Suchmaschine zugewiesen ist, die das Dokument zurückgesendet hat).
  • Somit werden in dem Betriebsblock 711 die jeweiligen vorläufigen Gewichtswerte der Dokumente, die mehrfach in den empfangenen Ergebnissen erscheinen, summiert, um einen Gesamtgewichtswert zu berechnen, der diesem Dokument zugewiesen wird. Für die Dokumente, die nur einmal in dem empfangenen Ergebnis erscheinen, wird der vorläufige Gewichtswert, der in Block 706 bestimmt wurde, ihr Gesamtgewichtswert. Danach wird die Identifikation der resultierenden Dokumente durch die Synonymsuchanwendung bei Block 712 einem Benutzer präsentiert, mit den resultierenden Dokumenten in der Reihenfolge ihres zugewiesenen Gesamtgewichtswerts sortiert (von am höchsten gewichtet zu am niedrigsten gewichtet). Selbstverständlich kann bei bestimmten Implementierungen nur ein Teil der gesamten empfangenen Ergebnisse dem Benutzer zu einem Zeitpunkt präsentiert werden. Beispielsweise können die ersten 10 Ergebnisse (die höchsten 10 gewichteten Dokumente) dem Benutzer präsentiert werden, und wenn der Benutzer mehr Ergebnisse sehen möchte kann er eine Anforderung eingeben (z.B. durch Klicken auf einen Knopf "nächste 10") um die nächsten 10 Ergebnisse zu betrachten, usw.
  • Bei dem obigen Beispiel werden die Ergebnisse, die für die verschiedenen Abfragen empfangen wurden, die in einer aufgebauten Synonymsuchabfrage enthalten sind und/oder die von den verschiedenen verwendeten Suchmaschinen empfangen wurden, dem Benutzer in einer kombinierten (rangmäßig geordneten) Liste präsentiert. Das heißt, anstatt die Ergebnisse für jede Abfrage einer Synonymsuchabfrage und/oder die von jeder Suchmaschine empfangen wurden, getrennt zu präsentieren, baut die beispielhafte Implementierung einer Synonymsuchanwendung, die oben beschrieben wurde, eine integrierte Ergebnisliste auf, die die empfangenen Ergebnisse für alle Abfragen der Synonymsuchabfrage und/oder die Ergebnisse, die von allen verwendeten Suchmaschinen empfangen wurden, umfaßt.
  • Anstatt die Ergebnisse in eine integrierte Liste von Dokumenten zu kombinieren, die dem Benutzer präsentiert wird, können die Ergebnisse bei einem alternativen Ausführungs beispiel dem Benutzer "nach Abfrage" und/oder nach Suchmaschine präsentiert werden. Beispielsweise können die Ergebnisse, die für jede der Abfragen einer Synonymsuchabfrage erhalten wurden, dem Benutzer als ein Hyperlink präsentiert werden, und der Benutzer kann jede derselben auswählen, um die resultierenden Dokumente zu finden, die in derselben enthalten sind. Beispielsweise können dem Benutzer die folgenden Ergebnisse präsentiert werden:
    Klicken Sie hier für Ergebnisse der Originalabfrage: "class list for Stanford
    Klicken Sie hier für Ergebnisse der Originalabfrage: "class catalog for Stanford"
    ...
    Klicken Sie hier für Ergebnisse der Oriqinalabfrage: " grade catalog for Stanford"
    Klicken Sie hier für Ergebnisse der Originalabfrage: "division record for Stanford"
  • Ferner können die resultierenden Dokumente für jede Abfrage durch die Suchmaschine und/oder durch die Synonymsuchanwendung rangmäßig geordnet werden. Beispielsweise können die Ergebnisse für jede Abfrage, die von einer Mehrzahl von unterschiedlichen Suchmaschinen empfangen wird, bei einer Implementierung in eine Liste von Ergebnissen für diese Abfrage integriert werden, und solche Dokumente können auf ähnliche Weise rangmäßig geordnet werden wie die oben mit 7 beschriebene. Beispielsweise kann die Abfrage "class list for Stanford" auf einer Mehrzahl von unterschiedlichen Suchmaschinen ausgeführt werden, und die Ergebnisse, die von jeder Suchmaschine erhalten werden, können durch die Synonymsuchmaschine gewichtet und kombiniert werden, um eine rangmäßig geordnete Auflistung der Dokumente zu erzeugen, die für diese Abfrage durch die Mehrzahl von verwende ten Suchmaschinen identifiziert wurden. Alternativ können die Abfragen ferner durch die Suchmaschine getrennt werden. Als weiteres Beispiel kann die Synonymsuchanwendung einen Baum der ursprünglichen und Synonymsuchen präsentieren, wie z.B. unter http://www.vivisimo.com.
  • Es sollte klar sein, daß die verschiedenen Präsentationsschemata unterschiedliche Vorteile aufweisen. Das erste Schema, das oben beschrieben wurde (bei dem Ergebnisse für alle Abfragen, die von allen Suchmaschinen empfangen werden, in eine integrierte Liste von resultierenden Dokumenten kombiniert werden) neigt dazu, Tendenzen einer Suchmaschine auszugleichen, eine Mittelwertbildung von Dokumenten (z.B. Websites) zu liefern, während das zweite oben beschriebene Schema dem Benutzer für jede Abfrage einer Synonymsuchabfrage schnelle alternative Listen liefert. Ein bevorzugtes Motiv kann es sein, die Ergebnisse von dem ersten Schema (d.h. die integrierte Liste resultierender Dokumente) dem Benutzer zu präsentieren, und auch Links zu jeder Abfrage der Synonymsuchabfrage in einer benachbarten Spalte zu liefern, so daß der Benutzer die integrierte Liste betrachten kann und auch die Option hast, die Ergebnisse zu betrachten, die für jede einzelne Abfrage des Synonymsuchabfrage empfangen wurden.
  • Ein zusätzlicher Präsentationsmodus ist möglich. Bei diesem Modus wird die Gesamtrelevanz aller solcher Suchergebnisse durch Vergleichen der Schlüsselwörter derselben mit denjenigen in der ursprünglichen Benutzereingabeabfrage bestimmt. Beispielsweise können Schlüsselwörter durch eine Website selbst berichtet werden, als "Metadaten" über die Seite, (diese werden beispielsweise in HTML als Metaname = "Beschreibung"-Inhalt = "..." und Metaname = "Schlüsselwörter"-Inhalt = ".." Metakennungen gehandhabt, die der Webseite zu Indexierzwecken hinzugefügt werden). Solche Schlüsselwörter sind für den Browser nicht relevant, sind aber Markup-Kennungen, die durch Webspidern betrachtet werden. Schlüsselwörter können auch von dem Inhalt der Doku mente (z.B. den Webseiten selbst) abgeleitet werden. Bei bestimmten Ausführungsbeispielen können die besten Ergebnisse jeder einzelnen Nachfrage, die in einer Synonymsuchabfrage enthalten ist, einem Benutzer präsentiert werden, der die Breite der Suchabfrage erweitern kann, z.B. einen Kompromiß zwischen Gesamtgewicht und Gewicht innerhalb einer neuartigen Abfrage liefert.
  • Beispielsweise unter der Annahme, daß die oben beschriebene Synonymsuchabfrage, die für die Benutzereingabeabfrage von "class list for Stanford" aufgebaut wurde, durchgeführt wird, nehme man an, daß sich die folgenden beiden Webseitenbeschreibungen ergeben:
    • 1) Eine Liste von Menschen, die Stanford wegen Urheberrechtverletzung verklagen...
    • 2) Ein Verzeichnis von Klassen in dem Stanfordbiologieprogramm. . .
  • Die erste Suche hat "list" bei 1, 0 "Stanford" bei 1, 0 und kein Synonym für class. Das Gesamtsynonymgewicht (unter Verwendung des einfachsten Gewichtungsschemas) ist somit 2,0. Die zweite Suche hat "directory" für 0,46 "class" (Lemma für Klassen) für 1,0 und "Stanford" für 1,0, für eine Gesamtgewichtung von 2,46. Somit wird das zweite resultierende Dokument als "semantisch ähnlicher" zu der ursprünglichen Abfrage angesehen und wird in den Ergebnissen weiter oben präsentiert. Dies liefert noch eine weitere Möglichkeit zum Präsentieren der Ergebnisse für einen Benutzer.
  • Nachfolgend wird ein echtes Beispiel näher dargestellt, das die Vorteile zum Verwalten einer Synonymsuchanwendung gemäß den Lehren der vorliegenden Erfindung darstellt. In einer der Hauptinternetsuchmaschinen wurde die folgende Abfrage eingegeben: "ball sport in New Zealand", (Ballsport in Neuseeland), wobei der Benutzer hoffte, den Namen eines Sports zu finden, bei dem sich eine Person in einen großen Kunststoffball mit Doppelwand begibt und einen Hügel hinunterrollt (genannt "zorbing", wie sich herausstellt, eine Erfindung aus Neuseeland), und den Namen für einen Sport der ähnlich ist wie Basketball, der von Frauen dort gespielt wird ("netball" (Netzball), wie es sich herausstellt). Beides sind buchstäblich gesehen Ballsportarten in Neuseeland, aber dieselben unterscheiden sich ziemlich von dem Satz von Top-10-Ergebnissen, die in den meisten Suchmaschinen für diese Abfrage empfangen werden (beinahe alle sind Rugby, wobei Basketball oder Volleyball gelegentlich erscheinen).
  • Die Abfrage wurde dann in die Synonymsuchanwendung eines Ausführungsbeispiels der vorliegenden Erfindung eingegeben. Die Hauptsynonyme, die durch die Synonymsuchanwendung Identifiziert wurden, waren "sphere" (Kugel), "globe" (Kugel) und "orb" (Kugel) für den Begriff "ball"; und "game" (Spiel), "aktivity" (Aktivität), "team game" (Mannschaftsspiel) und "hobby" für den Begriff "sport". Die ursprüngliche Suche "ball sport New Zealand" fand hauptsächlich Rugby-Sites, mit einigen Hockey- und Wasserspor-Sites zwischen den obersten 10 Prioritäts-Sites. Ähnliche Ergebnisse wurden für die Abfrage "sphere sport New Zealand" erhalten. Wenn die Abfrage "globe sport New Zealand" durchgeführt wurde, erschienen mehr Wassersport-Sites. Wenn "orb sport New Zealand" abgefragt wurde, erschien Zorbing zum ersten Mal in der Liste von Sites mit hoher Priorität. Wasserpolo erschien, als "ball activity New Zealand" abgefragt wurde; Kricket und Volleyball, wenn "ball team game New Zealand" abgefragt wurde; und Netzball, wenn "ball game New Zealand" abgefragt wurde. Dieses Beispiel stellt die Vielzahl von Rücksendungen dar, die mit der Verwendung von Synonymabfragen möglich sind. Dieses Beispiel betont die Breitenmöglichkeiten einer Synonymsuche und auch wie die gewünschten Dokumente für "zorbing" und "netball" erscheinen, wenn nur eines oder einige wenige der höchsten Ergebnisse jeder Abfrage präsentiert werden.
  • Ausführungsbeispiele der vorliegenden Erfindung ermöglichen vorteilhafterweise den Aufbau einer Synonymsuchabfrage, die auf eine gewünschte Breite abgestimmt ist. Durch Erweitern der ursprünglichen Benutzereingabeabfrage auf logische bedeutungsvolle Weise können zumindest zwei Vorteile erkannt werden: (1) verwandte Suchen können durchgeführt werden, um die Möglichkeit des Findens von Dokumenten zu ermöglichen, die durch die ursprüngliche Benutzereingabeabfrage nicht direkt gefunden werden konnten, und (2) Statistiken über die Mehrfachabfragen, die eine Synonymsuchabfrage bilden, werden erzeugt, die es ermöglichen, daß unterschiedliche resultierende Dokumente auf bedeutungsvolle Weise rangmäßig geordnet werden.
  • Bestimmte Ausführungsbeispiele der vorliegenden Erfindung können implementiert werden, um die Fähigkeiten bestehender Suchmaschinen auf viele Weisen zu erweitern. Außerdem kann eine gewichtete Synonymsuchanwendung von Ausführungsbeispielen der vorliegenden Erfindung für die Verwendung bei einer Websuche, einer Datenbanksuche und für viele andere textbasierte Datamining-Zwecke verwendet werden, z.B. semantische Vergleiche (wie ähnlich sind zwei Dokumente, Sätze, usw. semantisch), Zusammenfassungsmetrik (welches sind die Hauptsätze in einem Dokument, z.B. kann die Redundanz von Sätzen geschätzt werden durch Berechnen einer Synonymüberlappung zwischen Sätzen, usw.), und auch verschiedene andere Anwendungen.
  • Ausführungsbeispiele der vorliegenden Erfindung können auf viele unterschiedliche Weisen implementiert werden. Beispielsweise zeigt 8 eine beispielhafte Implementierung 800, bei der eine Synonymsuchanwendung 802 gemäß Ausführungsbeispielen der vorliegenden Erfindung auf einem Clientcomputer 801 implementiert ist. Der Clientcomputer 801 kann kommunikativ mit einer Datenbank 803 gekoppelt sein, und die Synonymsuchanwendung 802 kann verwendet werden, um in der Sammlung von Informationen in der Datenbank 803 nach gewünschten Informationen zu suchen. Alternativ oder zusätzlich kann der Clientcomputer 801 kommunikativ mit einem Kommunikationsnetzwerk 804 gekoppelt sein. Das Kommunikationsnetzwerk kann jedes geeignete Kommunikationsnetzwerk sein, wie z.B. das in 1 mit dem Kommunikationsnetzwerk 108 beschriebene. Wie es ferner gezeigt ist, kann der Server 805, der das Dokument A 806 auf demselben gespeichert umfaßt, auch kommunikativ mit dem Kommunikationsnetzwerk 804 gekoppelt sein. Und der Server 807, der die Suchmaschine 808 umfaßt (die kommunikativ mit der Datenbank 809 gekoppelt sein kann, zum Speichern indexierter Dokumente wie mit der Datenbank 118, die oben in 1 und 2 beschrieben ist), kann ebenfalls kommunikativ mit dem Kommunikationsnetzwerk 804 gekoppelt sein. Somit kann die Synonymsuchanwendung 802 bei bestimmten Implementierungen auf dem Clienten 801 laufen, um von der Sammlung von Informationen, die auf dem Client-Server-Netzwerk 804 verfügbar ist, nach gewünschten Informationen zu suchen. Beispielsweise kann eine Synonymsuchabfrage durch die Synonymsuchanwendung 802 aufgebaut werden, und die Synonymsuchanwendung 802 kann mit der Suchmaschine 808 interagieren, um eine Identifikation von Dokumenten zu erhalten, die die Synonymsuchabfrage (z.B. Dokument A 806 von Server 805) erfüllen, wie es oben beschrieben ist. Die Synonymsuchanwendung 802 kann einen Code zum Implementieren der Verwaltungsschemata umfassen, die oben beschrieben wurden (z.B. Verwalten der Breite der Synonymsuchabfrage, die aufgebaut werden soll und/oder Verwalten der rangmäßigen Ordnung von resultierenden Dokumenten, die durch die Synonymsuchabfrage zurückgesendet werden).
  • 9 zeigt eine weitere beispielhafte Implementierung 900, bei der eine Synonymsuchanwendung 905 gemäß Ausführungsbeispielen der vorliegenden Erfindung auf einem Servercomputer 904 implementiert ist. Wie es gezeigt ist, kann ein Clientcomputer 901 eine Browseranwendung 902 aufweisen, die auf demselben läuft, und ein solcher Clientcomputer 901 kann kommunikativ mit dem Kommunikationsnetzwerk 903 gekoppelt sein, so daß ein Benutzer auf den Server 904 zugreifen kann. Das Kommunikationsnetzwerk 903 kann jedes geeignete Kommunikationsnetzwerk sein, wie z.B. dasjenige, das oben in 1 mit dem Kommunikationsnetzwerk 108 beschrieben wurde. Somit kann ein Benutzer von dem Clientcomputer 901 auf den Server 904 zugreifen und mit der Synonymsuchanwendung 905 interagieren, die auf einem solchen Server 904 läuft. Der Server 904 kann kommunikativ mit einer Datenbank 906 gekoppelt sein, und eine Synonymsuchanwendung 905 kann verwendet werden, um in der Sammlung von Informationen in der Datenbank 906 nach gewünschten Informationen zu suchen. Alternativ oder zusätzlich kann ein Benutzer mit der Synonymsuchanwendung 905 interagieren, zum Suchen nach gewünschten Informationen von der Sammlung von Informationen, die auf dem Client-Server-Netzwerk 903 verfügbar sind. Beispielsweise kann der Server 907, der eine Suchmaschine 908 umfaßt (die kommunikativ mit der Datenbank 909 gekoppelt sein kann, zum Speichern indexierter Dokumente wie mit der Datenbank 118, die oben in 1 und 2 beschrieben ist) auch kommunikativ mit dem Kommunikationsnetzwerk 903 gekoppelt sein. Der Server 910, auf dem das Dokument A 911 gespeichert ist, kann auch kommunikativ mit dem Kommunikationsnetzwerk 903 gekoppelt sein. Somit kann die Synonymsuchanwendung 905 bei bestimmten Implementierungen auf dem Server 904 laufen, um nach gewünschten Informationen von der Sammlung von Informationen zu suchen, die auf dem Client-Server-Netzwerk 903 verfügbar ist. Beispielsweise kann eine Synonymsuchabfrage durch die Synonymsuchanwendung 905 aufgebaut werden, und die Synonymsuchanwendung 905 kann mit der Suchmaschine 908 interagieren, um eine Identifikation von Dokumenten zu erhalten, die die Synonymsuchabfrage erfüllen (z.B. das Dokument A 911 des Servers 910), wie es oben beschrieben ist. Erneut kann die Synonymsuchanwendung 905 einen Code umfassen, der die oben beschriebenen Verwaltungsfunktionen implementiert. Es sollte klar sein, daß die Synonymsuchanwendung auf verschiedene andere Weisen implementiert sein kann, einschließlich, ohne Beschränkung, implementiert als Teil einer weiteren Anwendung, wie z.B. der Suchmaschinen 908. Es sollte klar sein, daß die Betriebs flußdiagramme von 3A, 5, 6 und 7 nur als Beispiele zum Implementieren ihrer jeweiligen Funktionalitäten beabsichtigt sind, und ein Durchschnittsfachmann auf diesem Gebiet erkennt, daß die Reihenfolge des Betriebs für die verschiedenen Blöcke bei alternativen Ausführungsbeispielen variiert werden kann, bestimmte Blöcke können parallel ausgeführt werden können, bestimmte Betriebsblöcke vollständig ausgelassen werden können und/oder zusätzliche Betriebsblöcke hinzugefügt werden können. Somit soll die vorliegende Erfindung nicht nur auf die Betriebsflußdiagramme von 3A, 5, 6 und 7 zum Implementieren der Funktionalität, die durch solche Flußdiagramme erreicht wird, beschränkt sein, sondern statt dessen sollen solche Betriebsflußdiagramme lediglich als Beispiele dienen, die die Offenbarung aufbereiten, um viele andere Flußdiagramme zum Implementieren einer solchen Funktionalität zu ermöglichen.
  • Wenn dieselben über computerausführbare Befehle implementiert sind, sind verschiedene Elemente der Synonymsuchanwendung von Ausführungsbeispielen der vorliegenden Erfindung im wesentlichen der Softwarecode, der den Betrieb solcher verschiedener Elemente definiert. Die ausführbaren Befehle oder der Softwarecode können von einem lesbaren Medium erhalten werden (z.B. einem Festplattenmedium, einem optischen Medium, einem EPROM, EEPROM, Bandmedium, Kassettenmedium, Flash-Speicher, ROM, Memorystick und/oder dergleichen) oder über ein Datensignal von einem Kommunikationsmedium (z.B. dem Internet) kommuniziert werden. In der Tat können lesbare Medien jedes Medium umfassen, das Informationen speichern oder übertragen kann.
  • 10 stellt ein beispielhaftes Computersystem 1000 dar, das gemäß Ausführungsbeispielen der vorliegenden Erfindung angepaßt ist. Das heißt, das Computersystem 1000 umfaßt ein beispielhaftes System, auf dem die Synonymsuchanwendung von Ausführungsbeispielen der vorliegenden Erfindung implementiert werden kann (wie z.B. Clientcomputer 801 der beispielhaften Implementierung von 8 und Servercomputer 904 der beispielhaften Implementierung von 9). Eine zentrale Verarbeitungseinheit (CPU = central processing unit) 1001 ist mit dem Systembus 1002 gekoppelt. Die CPU 1001 kann jede allgemeine CPU sein. Die vorliegende Erfindung ist durch die Architektur der CPU 1001 nicht beschränkt, solange die CPU 1001 die erfindungsgemäßen Operationen unterstützt, wie sie hierin beschrieben sind. Die CPU 1001 kann die verschiedenen logischen Befehle gemäß Ausführungsbeispielen der vorliegenden Erfindung ausführen. Beispielsweise kann die CPU 1001 Maschinenpegelbefehle gemäß den beispielhaften Betriebsflüssen ausführen, die oben in Verbindung mit 3A, 5, 6 und 7 beschrieben sind.
  • Das Computersystem 1000 umfaßt ebenfalls vorzugsweise einen Direktzugriffsspeicher (RAM 1003, der ein SRAM, DRAM, SDRAM oder dergleichen sein kann. Das Computersystem 1000 umfaßt vorzugsweise einen Nur-Lese-Speicher (ROM) 1004, der ein PROM, EPROM, EEPROM oder dergleichen sein kann. RAM 1003 und ROM 1004 speichern Benutzer- und Systemdaten und Programme (wie z.B. dasjenige, das durch die Synonymsuchanwendung von Ausführungsbeispielen der vorliegenden Erfindung verwendet wird), wie es in der Technik gut bekannt ist.
  • Das Computersystem 1000 umfaßt außerdem vorzugsweise einen Eingabe/Ausgabe-(I/O-)Adapter 1005, einen Kommunikationsadapter 1011, einen Benutzerschnittstellenadapter 1008 und einen Anzeigeadapter 1009. Der I/O-Adapter 1005, der Benutzerschnittstellenadapter 1008 und/oder der Kommunikationsadapter 1011 können es bei bestimmten Ausführungsbeispielen einem Benutzer ermöglichen, mit dem Computersystem 1000 zu interagieren, um Informationen einzugeben, wie z.B. eine Suchabfrage und/oder Informationen zum Abstimmen der Breite einer Synonymsuchabfrage die aufgebaut werden soll, als Beispiel.
  • Der I/O-Adapter 1005 verbindet vorzugsweise eine Speichervorrichtung en) 1006, wie z.B. ein oder mehrere Festplattenlaufwerke, Diskettenlaufwerke, Bandlaufwerke, usw. mit dem Computersystem 1000. Die Speichervorrichtungen können verwendet werden, wenn der RAM 1003 für die Speicheranforderungen im Zusammenhang mit dem Speichern von Daten für die Synonymsuchanwendung nicht ausreicht. Der Kommunikationsadapter 1011 ist vorzugsweise angepaßt, um das Computersystem 1000 mit dem Netzwerk 1012 zu koppeln (z.B. Kommunikationsnetzwerk 108, 804, 903, beschrieben in 1, 2, 8 und 9 oben). Der Benutzerschnittstellenadapter 1008 koppelt Benutzereingabegeräte, wie z.B. die Tastatur 1013, ein Zeigegerät 1007 und ein Mikrophon 1014 und/oder Ausgabegerät, wie z.B. Lautsprecher 1015 mit dem Computersystem 1000. Der Anzeigeadapter 1009 wird durch die CPU 1001 angetrieben, um die Anzeige auf dem Anzeigegerät 1010 zu steuern, beispielsweise die Benutzerschnittstelle (wie z.B. diejenige von 4A-4 D) der Synonymsuchanwendung anzuzeigen.
  • Es ist klar, daß die vorliegende Erfindung nicht auf die Architektur des Systems 1000 beschränkt ist. Beispielsweise kann jedes geeignete prozessorbasierte Gerät verwendet werden, einschließlich, ohne Beschränkung, Personalcomputer, Laptopcomputer, Computerworkstations und Multiprozessorserver. Darüber hinaus können Ausführungsbeispiele der vorliegenden Erfindung auf anwendungsspezifischen integrierten Schaltungen (ASICs) oder Höchstintegrationsschaltungen (VLSI-Schaltungen; VLSI = very large-scale integration) implementiert sein. In der Tat kann ein Durchschnittsfachmann auf diesem Gebiet jede Anzahl von geeigneten Strukturen verwenden, die fähig ist, logische Operationen gemäß den Ausführungsbeispielen der vorliegenden Erfindung auszuführen.

Claims (50)

  1. Verfahren für rechnergestützte Suche nach gewünschten Informationen von einer Sammlung von Informationen, wobei das Verfahren folgende Schritte umfaßt: Empfangen (302) einer Abfrage (321) nach gewünschten Informationen; und Empfangen einer Eingabe (303), die einen Betrag einer Synonymerweiterung abstimmt, der auf die empfangene Abfrage zum Aufbauen einer Synonymsuchabfrage (324) angewendet werden soll, die zum Suchen nach den gewünschten Informationen verwendet werden soll.
  2. Verfahren gemäß Anspruch 1, bei dem das Aufbauen einer Synonymsuchabfrage (324) folgenden Schritt umfaßt: Aufbauen zumindest einer Synonymabfrage (323), die statt zumindest einem Begriff der empfangenen Abfrage (321) einen Synonymbegriff umfaßt.
  3. Verfahren gemäß Anspruch 1 oder 2, bei dem das Aufbauen einer Synonymsuchabfrage (324) ferner folgende Schritte umfaßt: Identifizieren eines idiomatischen Ausdrucks in der empfangenen Abfrage; und Bestimmen eines Synonymbegriffs, der statt dem idiomatischen Ausdruck beim Aufbauen zumindest einer Synonymabfrage (323) verwendet werden soll.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem das Aufbauen einer Synonymsuchabfrage (324) das Aufbauen zumindest einer Synonymabfrage (323) umfaßt, die statt zumindest einem Begriff der empfangenen Abfrage einen Synonymbegriff umfaßt, wobei der Synonymbegriff in der Bedeutung nahe zu dem zumindest einen Begriff der empfangenen Abfrage ist.
  5. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem das Aufbauen einer Synonymsuchabfrage (324) das Aufbauen von zumindest einer Synonymabfrage (323) umfaßt, die statt zumindest einem Begriff der empfangenen Abfrage einen Synonymbegriff umfaßt, wobei der Synonymbegriff ein assoziiertes Synonym zu dem zumindest einen Begriff der empfangenen Abfrage ist.
  6. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem das Aufbauen einer Synonymsuchabfrage (324) folgenden Schritt umfaßt: Aufbauen zumindest einer Synonymabfrage, die in der Bedeutung synonym mit der empfangenen Abfrage ist.
  7. Verfahren gemäß einem der Ansprüche 1 bis 6, das ferner folgende Schritte umfaßt: ansprechend auf das Abstimmen, Bestimmen (501), wieviele Synonyme für die empfangene Abfrage beim Aufbauen der Synonymsuchabfrage (324) verwendet werden sollen; und für die bestimmte Anzahl von zu verwendenden Synonymen Ermitteln der optimalen Synonyme, die beim Aufbauen der Synonymsuchabfrage (324) verwendet werden sollen.
  8. Verfahren gemäß einem der Ansprüche 1 bis 6, das ferner folgenden Schritt umfaßt: ansprechend auf das Abstimmen, Bestimmen (501), wieviele Synonymabfragen (323), die in der Bedeutung synonym zu der empfangenen Abfrage (321) sind, beim Aufbauen der Synonymsuchabfrage (324) verwendet werden sollen.
  9. Verfahren gemäß Anspruch 8, das ferner folgenden Schritt umfaßt: für die bestimmte Anzahl von Synonymabfragen Ermitteln der optimalen Synonymabfragen (323), die beim Aufbauen der Synonymsuchabfrage (324) verwendet werden sollen.
  10. Verfahren gemäß Anspruch 8 oder 9, das ferner folgende Schritte umfaßt: Gewichten der Synonymabfragen auf der Basis zumindest teilweise auf einem bestimmten Mit-Erscheinen von Synonymbegriffen der Synonymabfragen (323) mit Begriffen der empfangenen Abfragen in Dokumenten der Sammlung; und Ermitteln der optimalen Synonymabfragen (323), die beim Aufbauen der Synonymsuchabfrage (324) verwendet werden sollen, basierend zumindest teilweise auf der Gewichtung der Synonymabfragen.
  11. Verfahren gemäß einem der Ansprüche 8 bis 10, das ferner folgende Schritte umfaßt: für zumindest einen Begriff der empfangenen Abfrage Zuweisen eines Gewichtswerts zu jeder der Mehrzahl von Synonymen für den zumindest einen Begriff basierend zumindest teilweise auf der jeweiligen Nähe jedes Synonyms in der Bedeutung zu dem zumindest einen Begriff; und Ermitteln der optimalen Synonymabfragen (323), die beim Aufbauen der Synonymsuchabfrage (324) verwendet werden sollen, basierend zumindest teilweise auf der Gewichtung der Synonymabfragen.
  12. Verfahren gemäß einem der Ansprüche 8 bis 11, das ferner folgende Schritte umfaßt: für zumindest einen Begriff der empfangenen Abfrage Identifizieren zumindest eines Synonyms; Bestimmen einer Nähe der Bedeutung des zumindest einen Synonyms zu dem zumindest einen Begriff; und Ermitteln der optimalen Synonymabfragen, die beim Aufbauen der Synonymsuchabfrage verwendet werden sollen, basierend zumindest teilweise auf der bestimmten Nähe des zumindest einen Synonyms.
  13. Verfahren gemäß einem der Ansprüche 8 bis 12, das ferner folgende Schritte umfaßt: für zumindest einen Begriff der empfangenen Abfrage, Identifizieren zumindest eines Synonyms; für jedes zumindest eine Synonym Bestimmen der Anzahl von Dokumenten in der Sammlung, in der das Synonym zusammen mit dem zumindest einen Begriff erscheint; basierend zumindest teilweise auf der Anzahl von Dokumenten, die für jedes des zumindest einen Synonyms bestimmt wurde, Bestimmen einer Nähe der Bedeutung jedes zumindest einen Synonyms zu dem zumindest einen Begriff; und Ermitteln der optimalen Synonymabfragen, die beim Aufbauen der Synonymsuchabfrage verwendet werden sollen, basierend zumindest teilweise auf der bestimmten Nähe des zumindest einen Synonyms.
  14. Verfahren gemäß einem der Ansprüche 8 bis 13, das ferner folgende Schritte umfaßt: für zumindest einen Begriff der empfangenden Abfrage, Zuweisen eines Gewichtswerts zu zumindest einem Synonym für den zumindest einen Begriff, zumindest teilweise basierend auf der jeweiligen Nähe der Bedeutung jedes Synonyms zu dem zumindest einen Begriff; Verwenden der Gewichtswerte, die jedem Begriff einer Synonymabfrage zugewiesen sind, um einen Gewichtswert für die Synonymabfrage zu berechnen; und Ermitteln der optimalen Synonymabfragen, die beim Aufbauen der Synonymsuchabfrage verwendet werden sollen, zumindest teilweise basierend auf der Gewichtung der Synonymabfragen.
  15. Verfahren gemäß Anspruch 14, das ferner folgenden Schritt umfaßt: Multiplizieren der Gewichtswerte, die jedem Begriff einer Synonymabfrage zugewiesen sind, um den Gewichtswert für die Synonymabfrage zu berechnen.
  16. Verfahren gemäß einem der Ansprüche 1 bis 15, bei dem das Aufbauen einer Synonymsuchabfrage folgenden Schritt umfaßt: Aufbauen zumindest einer Abfrage, die die empfangene Abfrage und ferner zumindest eine andere Abfrage umfaßt, die in der Bedeutung synonym ist zu der empfangenen Abfrage.
  17. Verfahren gemäß einem der Ansprüche 1 bis 16, bei dem das Aufbauen einer Synonymsuchabfrage folgenden Schritt umfaßt: Aufbauen einer Synonymsuchabfrage, die eine Mehrzahl von Suchabfragen umfaßt, wobei die Mehrzahl von Suchabfragen die empfangene Abfrage umfaßt und zumindest eine andere Abfrage, die zumindest ein Synonym für zumindest einen Abschnitt der empfangenen Abfrage umfaßt.
  18. Verfahren gemäß einem der Ansprüche 1 bis 14, bei dem das Empfangen der Eingabeabstimmung des Betrags einer Synonymerweiterung, der auf die empfangene Abfrage angewendet werden soll, folgenden Schritt umfaßt: Empfangen einer Eingabe, die spezifiziert, wie allgemein die aufgebaute Synonymsuchabfrage sein soll.
  19. Verfahren gemäß Anspruch 18, bei dem das Aufbauen einer Synonymsuchabfrage folgenden Schritt umfaßt: Bestimmen der Anzahl von Synonymabfragen, die bedeutungsmäßig synonym sind zu den empfangenen Abfragen, die zum Aufbau der Synonymsuchabfrage verwendet werden sollen, wobei umso mehr Synonymabfragen für das Aufbauen der Synonymsuchabfrage verwendet werden, je allgemeiner die aufgebaute Synonymsuche sein soll.
  20. Verfahren gemäß einem der Ansprüche 1 bis 19, bei dem die Sammlung von Informationen in einem Client-Server-Netzwerk gespeichert ist, wobei das Verfahren ferner folgenden Schritt umfaßt: Durchführen der aufgebauten Synonymsuchabfrage, um über das Client-Server-Netzwerk nach den gewünschten Informationen zu suchen.
  21. Computerausführbarer Softwarecode, der auf einem computerlesbaren Medium gespeichert ist, wobei der computerausführbare Softwarecode folgende Merkmale umfaßt: einen Code zum Präsentieren einer Benutzerschnittstelle (400), die es einem Benutzer ermöglicht, einen Be trag einer Synonymerweiterung abzustimmen, der auf eine Eingabeabfrage (321) angewendet werden soll; und einen Code, der auf die empfangene Abstimmungseingabe zum Erzeugen einer Synonymsuchabfrage (324) anspricht, die eine gewünschte Breite zum Durchsuchen einer Sammlung (325) von Informationen nach gewünschten Informationen aufweist.
  22. Computerausführbarer Softwarecode gemäß Anspruch 21, der ferner einen Code zum Präsentieren einer Benutzerschnittstelle umfaßt, die es einem Benutzer ermöglicht, die Eingabeabfrage einzugeben.
  23. Computerausführbarer Softwarecode gemäß Anspruch 21 oder 22, bei dem die Synonymsuchabfrage zumindest eine Synonymabfrage umfaßt, die statt dem zumindest einen Begriff der Eingabeabfrage einen Synonymbegriff aufweist.
  24. Computerausführbarer Softwarecode gemäß Anspruch 23, bei dem die zumindest eine Synonymabfrage in der Bedeutung mit der Eingabesuchabfrage austauschbar ist.
  25. Computerausführbarer Softwarecode gemäß einem der Ansprüche 21 bis 24, der ferner folgendes Merkmal umfaßt: einen Code zum autonomen Auswählen zumindest eines Synonymbegriffs, der beim Aufbauen zumindest einer Synonymabfrage verwendet werden soll.
  26. Computerausführbarer Softwarecode gemäß einem der Ansprüche 21 bis 25, der ferner folgende Merkmale umfaßt: einen Code zum Identifizieren eines idiomatischen Ausdrucks in der Eingabeabfrage; und einen Code zum Bestimmen zumindest eines Synonyms für den idiomatischen Ausdruck.
  27. Computerausführbarer Softwarecode gemäß einem der Ansprüche 21 bis 26, bei dem der Code zum Erzeugen einer Synonymsuchabfrage ferner folgendes Merkmal umfaßt: einen Code zum Bestimmen, wieviele Synonymabfragen in der Synonymsuchabfrage verwendet werden sollen, ansprechend auf die empfangene Abstimmungseingabe.
  28. Computerausführbarer Softwarecode gemäß Anspruch 27, bei dem der Code zum Erzeugen einer Synonymsuchabfrage ferner folgendes Merkmal umfaßt: einen Code zum Bestimmen der optimalen Synonymabfragen, die bei der Synonymsuchabfrage verwendet werden sollen, für die bestimmte Anzahl von Synonymabfragen.
  29. Computerausführbarer Softwarecode gemäß einem der Ansprüche 21 bis 28, bei dem der Code zum Erzeugen einer Synonymsuchabfrage ferner folgende Merkmale umfaßt: einen Code zum Gewichten von Synonymabfragen zumindest teilweise basierend auf einem bestimmten Mit-Erscheinen von Synonymbegriffen der Synonymabfragen mit Begriffen der Eingabesuchabfrage in Dokumenten der Sammlung von Informationen; und einen Code zum Bestimmen für eine bestimmte Anzahl von Synonymabfragen, der optimalen Synonymabfragen, die in der Synonymsuchabfrage verwendet werden sollen, zumindest teilweise basierend auf der Gewichtung der Synonymabfragen.
  30. Computerausführbarer Softwarecode gemäß einem der Ansprüche 21 bis 29, bei dem der Code zum Präsentieren einer Benutzerschnittstelle, die es einem Benutzer ermöglicht, einen Betrag einer Synonymerweiterung abzustimmen, folgendes Merkmal umfaßt: einen Code zum Präsentieren eines Schiebereglers zum fortschreitenden Abstimmen des Betrags einer Synonymerweiterung.
  31. Computerausführbarer Softwarecode gemäß einem der Ansprüche 21 bis 30, bei dem der Code zum Präsentieren einer Benutzerschnittstelle, die es einem Benutzer ermöglicht, einen Betrag einer Synonymerweiterung abzustimmen, folgende Merkmale umfaßt: einen Code zum Präsentieren einer Liste möglicher Synonyme für zumindest einen Begriff der Eingabeabfrage; und einen Code zum Empfangen einer Benutzerauswahl von zumindest einem der möglichen Synonyme, die bei dem Erzeugen der Synonymsuchabfrage verwendet werden sollen.
  32. Ein System zum Erzeugen einer Synonymsuchabfrage zum Suchen nach gewünschten Informationen von einer Sammlung von Informationen, wobei das System folgende Merkmale umfaßt: eine Einrichtung zum Empfangen einer Abfrage nach gewünschten Informationen; eine Einrichtung zum Bestimmen zumindest einer Synonymabfrage, die in der Bedeutung synonym ist mit der empfangenen Abfrage; eine Einrichtung zum Empfangen einer Eingabe, die eine Anzahl (Q) von Synonymabfragen abstimmt, die in einer aufgebauten Synonymsuchabfrage aufgenommen werden sollen; und eine Einrichtung zum Aufbauen einer Synonymsuchabfrage mit einer Anzahl (Q) von Synonymabfragen.
  33. System gemäß Anspruch 32, bei dem die Einrichtung zum Aufbauen einer Synonymsuchabfrage eine Einrichtung zum Aufbauen einer Synonymsuchabfrage umfaßt, die die empfangene Abfrage und die Anzahl (Q) von Synonymabfragen umfaßt.
  34. System gemäß Anspruch 32 oder 33, das ferner folgendes Merkmal umfaßt: eine Einrichtung zum Bestimmen der optimalen Synonymabfragen (Q), die in die aufgebaute Synonymsuchabfrage aufgenommen werden sollen.
  35. System gemäß Anspruch 34, bei dem die Einrichtung zum Bestimmen der optimalen Synonymabfragen (Q) ferner folgendes Merkmal umfaßt: eine Einrichtung zum Gewichten jeder der Mehrzahl von Synonymabfragen zumindest teilweise basierend auf einem bestimmten Mit-Erscheinen von Synonymbegriffen der Synonymabfragen mit entsprechenden Begriffen der empfangenen Abfrage in Dokumenten der Sammlung von Informationen.
  36. Verfahren für eine rechnergestützte Suche nach gewünschten Informationen von einer Sammlung von Informationen, wobei das Verfahren folgende Schritte umfaßt: Durchführen einer Synonymsuchabfrage (324) nach gewünschten Informationen von einer Sammlung (325) von Informationen, wobei die Synonymsuchabfrage eine Mehrzahl von Abfragen umfaßt, die in der Bedeutung synonym sind; Empfangen (703) einer Identifikation von resultierenden Dokumenten, die auf jede der Mehrzahl von Abfragen ansprechen; und rangmäßiges Ordnen (706711) der empfangenen Dokumente, zumindest teilweise basierend auf einer Gewichtung, die jeder der Mehrzahl von Abfragen zugewiesen ist.
  37. Verfahren gemäß Anspruch 36, das ferner folgende Schritte umfaßt: Empfangen einer Eingabeabfrage; und Aufbauen der Synonymsuchabfrage.
  38. Verfahren gemäß Anspruch 37, das ferner folgenden Schritt umfaßt: Zuweisen einer Gewichtung zu jeder der Mehrzahl von Abfragen, wobei die Gewichtung, die jeder der Mehrzahl von Abfragen zugewiesen wird, zumindest teilweise auf einem Mit-Erscheinen von Synonymen basiert, die in der Abfrage statt entsprechender Begriffe der Eingabeabfrage verwendet werden, mit den entsprechenden Begriffen der Eingabeabfrage in der Sammlung von Informationen.
  39. Verfahren gemäß einem der Ansprüche 36 bis 38, bei dem das Durchführen der Synonymsuchabfrage folgenden Schritt umfaßt: Verwenden einer Mehrzahl von Suchmaschinen zum parallelen Durchführen der Mehrzahl von Abfragen.
  40. Verfahren gemäß einem der Ansprüche 36 bis 39, das ferner folgenden Schritt umfaßt: Präsentieren einer Identifikation der resultierenden Dokumente.
  41. Verfahren gemäß Anspruch 40, bei dem das Präsentieren der resultierenden Dokumente die rangmäßige Ordnung der resultierenden Dokumente anzeigt.
  42. Verfahren gemäß Anspruch 40 oder 41, bei dem das Präsentieren das Präsentieren des Organisierens der resultierenden Dokumente nach Abfrage umfaßt.
  43. Verfahren gemäß einem der Ansprüche 40 bis 42, bei dem das Präsentieren das Präsentieren einer integrierten Liste der resultierenden Dokumente von der Mehrzahl von Abfragen umfaßt, wobei jedes resultierende Dokument einmal identifiziert wird, unabhängig von der Anzahl der Mehrzahl von Abfragen, die zu der Identifikation des Dokuments führten, das empfangen wurde.
  44. Verfahren gemäß einem der Ansprüche 40 bis 43, bei dem das Präsentieren das Präsentieren einer Identifikation jedes der resultierenden Dokumente als Hyperlink zu dem entsprechenden identifizierten Dokument umfaßt.
  45. Computerausführbarer Softwarecode, der auf einem computerlesbaren Medium gespeichert ist, wobei der computerausführbare Softwarecode folgende Merkmale umfaßt: einen Code zum Durchführen einer Synonymsuchabfrage (324) für gewünschte Informationen von einer Sammlung (325) von Informationen, wobei die Synonymsuchabfrage eine Mehrzahl von Abfragen umfaßt, die in der Bedeutung synonym sind; und einen Code zum Empfangen (703) einer Identifikation resultierender Dokumente, ansprechend auf jede der Mehrzahl von Abfragen; und einen Code zum rangmäßigen Ordnen (706 bis 711) der empfangenen Dokumente zumindest teilweise basierend auf einer Gewichtung, die jeder der Mehrzahl von Abfragen zugewiesen ist.
  46. Computerausführbarer Softwarecode gemäß Anspruch 45, der ferner folgende Merkmale umfaßt: einen Code zum Empfangen einer Eingabeabfrage (321); und einen Code zum Aufbauen der Synonymsuchabfrage (324).
  47. Computerausführbarer Softwarecode gemäß Anspruch 46, der ferner folgendes Merkmal umfaßt: einen Code zum Zuweisen einer Gewichtung zu jeder der Mehrzahl von Abfragen, wobei die Gewichtung, die jeder der Mehrzahl von Abfragen zugewiesen ist, zumindest teilweise auf einem Mit-Erscheinen von Synonymen basiert, die statt den entsprechenden Begriffen der Eingabeabfrage (321) bei der Abfrage verwendet wurden, mit den entsprechenden Begriffen der Eingabeabfrage in der Sammlung (325) von Informationen.
  48. Computerausführbarer Softwarecode gemäß einem der Ansprüche 45 bis 47, bei dem der Code zum Durchführen der Synonymsuchabfrage (324) folgendes Merkmal umfaßt: einen Code zum Verwenden einer Mehrzahl von Suchmaschinen, um die Mehrzahl von Abfragen parallel durchzuführen.
  49. Computerausführbarer Softwarecode gemäß einem der Ansprüche 45 bis 48, der ferner folgendes Merkmal umfaßt: einen Code zum Präsentieren einer Identifikation der resultierenden Dokumente.
  50. Computerausführbarer Softwarecode gemäß Anspruch 49, bei dem der Code zum Präsentieren einen Code zum Anzeigen der rangmäßigen Ordnung der resultierenden Dokumente umfaßt.
DE10328833A 2002-09-27 2003-06-26 System und Verfahren für die Verwaltung einer Synonymsuche Withdrawn DE10328833A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/256,674 US20040064447A1 (en) 2002-09-27 2002-09-27 System and method for management of synonymic searching
US10/256674 2002-09-27

Publications (1)

Publication Number Publication Date
DE10328833A1 true DE10328833A1 (de) 2004-04-15

Family

ID=29250306

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10328833A Withdrawn DE10328833A1 (de) 2002-09-27 2003-06-26 System und Verfahren für die Verwaltung einer Synonymsuche

Country Status (3)

Country Link
US (1) US20040064447A1 (de)
DE (1) DE10328833A1 (de)
GB (1) GB2393541A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017213009A1 (de) 2017-07-27 2019-01-31 Fabian Zagel Verfahren zur simulation von ranking-listen bei sportwetten

Families Citing this family (195)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302429B1 (en) * 1999-04-11 2007-11-27 William Paul Wanker Customizable electronic commerce comparison system and method
US8126779B2 (en) * 1999-04-11 2012-02-28 William Paul Wanker Machine implemented methods of ranking merchants
US7050977B1 (en) 1999-11-12 2006-05-23 Phoenix Solutions, Inc. Speech-enabled server for internet website and method
US7392185B2 (en) * 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
US7725307B2 (en) 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US9076448B2 (en) 1999-11-12 2015-07-07 Nuance Communications, Inc. Distributed real time speech recognition system
US7254773B2 (en) * 2000-12-29 2007-08-07 International Business Machines Corporation Automated spell analysis
US6996558B2 (en) 2002-02-26 2006-02-07 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
US7346606B2 (en) * 2003-06-30 2008-03-18 Google, Inc. Rendering advertisements with documents having one or more topics using user topic interest
US8943024B1 (en) 2003-01-17 2015-01-27 Daniel John Gardner System and method for data de-duplication
US8065277B1 (en) 2003-01-17 2011-11-22 Daniel John Gardner System and method for a data extraction and backup database
US8375008B1 (en) 2003-01-17 2013-02-12 Robert Gomes Method and system for enterprise-wide retention of digital or electronic data
US8630984B1 (en) 2003-01-17 2014-01-14 Renew Data Corp. System and method for data extraction from email files
US7912842B1 (en) * 2003-02-04 2011-03-22 Lexisnexis Risk Data Management Inc. Method and system for processing and linking data records
US7657540B1 (en) 2003-02-04 2010-02-02 Seisint, Inc. Method and system for linking and delinking data records
JP3972836B2 (ja) * 2003-02-27 2007-09-05 ソニー株式会社 表示画面共有システム,送信側端末装置,プログラム,表示画面共有方法
US7007014B2 (en) * 2003-04-04 2006-02-28 Yahoo! Inc. Canonicalization of terms in a keyword-based presentation system
KR101123426B1 (ko) 2003-04-04 2012-03-23 야후! 인크. 서브도메인 힌트를 포함하는 검색 결과를 생성하고서브도메인에 의해 스폰서되는 결과를 제공하는 시스템
JP2004310561A (ja) * 2003-04-09 2004-11-04 Hitachi Ltd 情報検索方法、情報検索システム及び検索サーバ
FI120755B (fi) * 2003-06-06 2010-02-15 Tieto Oyj Tietueiden käsittely vastinparien löytämiseksi vertailutietojoukosta
US7599938B1 (en) 2003-07-11 2009-10-06 Harrison Jr Shelton E Social news gathering, prioritizing, tagging, searching, and syndication method
US8856163B2 (en) * 2003-07-28 2014-10-07 Google Inc. System and method for providing a user interface with search query broadening
US7340454B2 (en) * 2003-08-18 2008-03-04 Sap Ag Processing index action requests for search engines
US8239400B2 (en) * 2003-08-21 2012-08-07 International Business Machines Corporation Annotation of query components
US7774333B2 (en) * 2003-08-21 2010-08-10 Idia Inc. System and method for associating queries and documents with contextual advertisements
US20050060290A1 (en) * 2003-09-15 2005-03-17 International Business Machines Corporation Automatic query routing and rank configuration for search queries in an information retrieval system
TW200512602A (en) * 2003-09-19 2005-04-01 Hon Hai Prec Ind Co Ltd Method and system of fuzzy searching
TWI290687B (en) * 2003-09-19 2007-12-01 Hon Hai Prec Ind Co Ltd System and method for search information based on classifications of synonymous words
US7346839B2 (en) * 2003-09-30 2008-03-18 Google Inc. Information retrieval based on historical data
US8521725B1 (en) 2003-12-03 2013-08-27 Google Inc. Systems and methods for improved searching
US7900133B2 (en) 2003-12-09 2011-03-01 International Business Machines Corporation Annotation structure type determination
US7890526B1 (en) * 2003-12-30 2011-02-15 Microsoft Corporation Incremental query refinement
US8954420B1 (en) 2003-12-31 2015-02-10 Google Inc. Methods and systems for improving a search ranking using article information
US20050154713A1 (en) * 2004-01-14 2005-07-14 Nec Laboratories America, Inc. Systems and methods for determining document relationship and automatic query expansion
WO2005089334A2 (en) 2004-03-15 2005-09-29 Yahoo! Inc. Inverse search systems and methods
US7925657B1 (en) * 2004-03-17 2011-04-12 Google Inc. Methods and systems for adjusting a scoring measure based on query breadth
WO2005091170A1 (ja) * 2004-03-18 2005-09-29 Nec Corporation テキストマイニング装置、その方法及びプログラム
US8275839B2 (en) * 2004-03-31 2012-09-25 Google Inc. Methods and systems for processing email messages
US7707142B1 (en) 2004-03-31 2010-04-27 Google Inc. Methods and systems for performing an offline search
US7941439B1 (en) 2004-03-31 2011-05-10 Google Inc. Methods and systems for information capture
US20050234929A1 (en) * 2004-03-31 2005-10-20 Ionescu Mihai F Methods and systems for interfacing applications with a search engine
US8386728B1 (en) 2004-03-31 2013-02-26 Google Inc. Methods and systems for prioritizing a crawl
US20080040315A1 (en) * 2004-03-31 2008-02-14 Auerbach David B Systems and methods for generating a user interface
US8041713B2 (en) * 2004-03-31 2011-10-18 Google Inc. Systems and methods for analyzing boilerplate
US8346777B1 (en) 2004-03-31 2013-01-01 Google Inc. Systems and methods for selectively storing event data
US7664734B2 (en) * 2004-03-31 2010-02-16 Google Inc. Systems and methods for generating multiple implicit search queries
US9009153B2 (en) 2004-03-31 2015-04-14 Google Inc. Systems and methods for identifying a named entity
US8161053B1 (en) 2004-03-31 2012-04-17 Google Inc. Methods and systems for eliminating duplicate events
US8099407B2 (en) 2004-03-31 2012-01-17 Google Inc. Methods and systems for processing media files
US7680888B1 (en) 2004-03-31 2010-03-16 Google Inc. Methods and systems for processing instant messenger messages
US8631076B1 (en) 2004-03-31 2014-01-14 Google Inc. Methods and systems for associating instant messenger events
US7272601B1 (en) * 2004-03-31 2007-09-18 Google Inc. Systems and methods for associating a keyword with a user interface area
US7693825B2 (en) * 2004-03-31 2010-04-06 Google Inc. Systems and methods for ranking implicit search results
US7725508B2 (en) * 2004-03-31 2010-05-25 Google Inc. Methods and systems for information capture and retrieval
US7333976B1 (en) 2004-03-31 2008-02-19 Google Inc. Methods and systems for processing contact information
US8631001B2 (en) * 2004-03-31 2014-01-14 Google Inc. Systems and methods for weighting a search query result
JP4754247B2 (ja) * 2004-03-31 2011-08-24 オセ−テクノロジーズ ビーブイ 複合語を構成する単語を割り出す装置及びコンピュータ化された方法
WO2005096174A1 (en) * 2004-04-02 2005-10-13 Health Communication Network Limited Method, apparatus and computer program for searching multiple information sources
US7899802B2 (en) * 2004-04-28 2011-03-01 Hewlett-Packard Development Company, L.P. Moveable interface to a search engine that remains visible on the desktop
BE1016079A6 (nl) * 2004-06-17 2006-02-07 Vartec Nv Werkwijze voor het indexeren en terugvinden van documenten, computerprogramma daarbij toegepast en informatiedrager die is voorzien van het voornoemde computerprogramma.
US8365083B2 (en) * 2004-06-25 2013-01-29 Hewlett-Packard Development Company, L.P. Customizable, categorically organized graphical user interface for utilizing online and local content
US8131754B1 (en) 2004-06-30 2012-03-06 Google Inc. Systems and methods for determining an article association measure
US7788274B1 (en) 2004-06-30 2010-08-31 Google Inc. Systems and methods for category-based search
JP4587163B2 (ja) * 2004-07-13 2010-11-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索システム、検索方法、報告システム、報告方法、及びプログラム
JP4189369B2 (ja) * 2004-09-24 2008-12-03 株式会社東芝 構造化文書検索装置及び構造化文書検索方法
US7406462B2 (en) * 2004-10-19 2008-07-29 International Business Machines Corporation Prediction of query difficulty for a generic search engine
US7606794B2 (en) * 2004-11-11 2009-10-20 Yahoo! Inc. Active Abstracts
US20060101012A1 (en) * 2004-11-11 2006-05-11 Chad Carson Search system presenting active abstracts including linked terms
US8069151B1 (en) 2004-12-08 2011-11-29 Chris Crafford System and method for detecting incongruous or incorrect media in a data recovery process
US7769579B2 (en) * 2005-05-31 2010-08-03 Google Inc. Learning facts from semi-structured text
US8244689B2 (en) * 2006-02-17 2012-08-14 Google Inc. Attribute entropy as a signal in object normalization
US8527468B1 (en) 2005-02-08 2013-09-03 Renew Data Corp. System and method for management of retention periods for content in a computing system
US7921365B2 (en) 2005-02-15 2011-04-05 Microsoft Corporation System and method for browsing tabbed-heterogeneous windows
US7788248B2 (en) 2005-03-08 2010-08-31 Apple Inc. Immediate search feedback
US7937396B1 (en) * 2005-03-23 2011-05-03 Google Inc. Methods and systems for identifying paraphrases from an index of information items and associated sentence fragments
US8682913B1 (en) 2005-03-31 2014-03-25 Google Inc. Corroborating facts extracted from multiple sources
US9208229B2 (en) * 2005-03-31 2015-12-08 Google Inc. Anchor text summarization for corroboration
US7587387B2 (en) 2005-03-31 2009-09-08 Google Inc. User interface for facts query engine with snippets from information sources that include query terms and answer terms
EP1875336A2 (de) * 2005-04-11 2008-01-09 Textdigger, Inc. System und verfahren zum suchen nach einer anfrage
US20060242130A1 (en) * 2005-04-23 2006-10-26 Clenova, Llc Information retrieval using conjunctive search and link discovery
US20110055188A1 (en) * 2009-08-31 2011-03-03 Seaton Gras Construction of boolean search strings for semantic search
US20060259356A1 (en) * 2005-05-12 2006-11-16 Microsoft Corporation Adpost: a centralized advertisement platform
WO2006127758A2 (en) * 2005-05-26 2006-11-30 Claria Corporation Coordinated related-search feedback that assists search refinement
US8996470B1 (en) 2005-05-31 2015-03-31 Google Inc. System for ensuring the internal consistency of a fact repository
US20070005588A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Determining relevance using queries as surrogate content
US7512633B2 (en) * 2005-07-13 2009-03-31 International Business Machines Corporation Conversion of hierarchically-structured HL7 specifications to relational databases
US7937265B1 (en) 2005-09-27 2011-05-03 Google Inc. Paraphrase acquisition
WO2007059287A1 (en) * 2005-11-16 2007-05-24 Evri Inc. Extending keyword searching to syntactically and semantically annotated data
US7788131B2 (en) * 2005-12-15 2010-08-31 Microsoft Corporation Advertising keyword cross-selling
US9262446B1 (en) 2005-12-29 2016-02-16 Google Inc. Dynamically ranking entries in a personal data book
US8694530B2 (en) * 2006-01-03 2014-04-08 Textdigger, Inc. Search system with query refinement and search method
US7991797B2 (en) 2006-02-17 2011-08-02 Google Inc. ID persistence through normalization
US8260785B2 (en) 2006-02-17 2012-09-04 Google Inc. Automatic object reference identification and linking in a browseable fact repository
US8700568B2 (en) 2006-02-17 2014-04-15 Google Inc. Entity normalization via name normalization
US8862572B2 (en) * 2006-02-17 2014-10-14 Google Inc. Sharing user distributed search results
US8122019B2 (en) * 2006-02-17 2012-02-21 Google Inc. Sharing user distributed search results
US7844603B2 (en) * 2006-02-17 2010-11-30 Google Inc. Sharing user distributed search results
EP1826692A3 (de) * 2006-02-22 2009-03-25 Copernic Technologies, Inc. Abfragekorrektur auf Basis von indiziertem Inhalt in einem Desktop-Indexer-Programm
WO2007114932A2 (en) 2006-04-04 2007-10-11 Textdigger, Inc. Search system and method with text function tagging
US7475063B2 (en) * 2006-04-19 2009-01-06 Google Inc. Augmenting queries with synonyms selected using language statistics
US7835903B2 (en) * 2006-04-19 2010-11-16 Google Inc. Simplifying query terms with transliteration
US8380488B1 (en) 2006-04-19 2013-02-19 Google Inc. Identifying a property of a document
US8762358B2 (en) * 2006-04-19 2014-06-24 Google Inc. Query language determination using query terms and interface language
US8255376B2 (en) * 2006-04-19 2012-08-28 Google Inc. Augmenting queries with synonyms from synonyms map
US8442965B2 (en) 2006-04-19 2013-05-14 Google Inc. Query language identification
US8555182B2 (en) * 2006-06-07 2013-10-08 Microsoft Corporation Interface for managing search term importance relationships
US8150827B2 (en) * 2006-06-07 2012-04-03 Renew Data Corp. Methods for enhancing efficiency and cost effectiveness of first pass review of documents
US20080189273A1 (en) * 2006-06-07 2008-08-07 Digital Mandate, Llc System and method for utilizing advanced search and highlighting techniques for isolating subsets of relevant content data
US20100198802A1 (en) * 2006-06-07 2010-08-05 Renew Data Corp. System and method for optimizing search objects submitted to a data resource
JP2008084070A (ja) * 2006-09-28 2008-04-10 Toshiba Corp 構造化文書検索装置およびプログラム
RU2618375C2 (ru) * 2015-07-02 2017-05-03 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Расширение возможностей информационного поиска
US8122026B1 (en) 2006-10-20 2012-02-21 Google Inc. Finding and disambiguating references to entities on web pages
US8798988B1 (en) * 2006-10-24 2014-08-05 Google Inc. Identifying related terms in different languages
US8661012B1 (en) * 2006-12-29 2014-02-25 Google Inc. Ensuring that a synonym for a query phrase does not drop information present in the query phrase
US7890521B1 (en) 2007-02-07 2011-02-15 Google Inc. Document-based synonym generation
US7822763B2 (en) * 2007-02-22 2010-10-26 Microsoft Corporation Synonym and similar word page search
US9411903B2 (en) * 2007-03-05 2016-08-09 Oracle International Corporation Generalized faceted browser decision support tool
US20080218808A1 (en) * 2007-03-07 2008-09-11 Altep, Inc. Method and System For Universal File Types in a Document Review System
US20080222112A1 (en) * 2007-03-07 2008-09-11 Altep, Inc. Method and System for Document Searching and Generating to do List
US8347202B1 (en) 2007-03-14 2013-01-01 Google Inc. Determining geographic locations for place names in a fact repository
CN101281522B (zh) 2007-04-06 2010-11-03 阿里巴巴集团控股有限公司 一种处理相关关键词的方法及系统
US8239350B1 (en) 2007-05-08 2012-08-07 Google Inc. Date ambiguity resolution
US7966291B1 (en) 2007-06-26 2011-06-21 Google Inc. Fact-based object merging
US8037086B1 (en) 2007-07-10 2011-10-11 Google Inc. Identifying common co-occurring elements in lists
US8001136B1 (en) * 2007-07-10 2011-08-16 Google Inc. Longest-common-subsequence detection for common synonyms
US7970766B1 (en) 2007-07-23 2011-06-28 Google Inc. Entity type assignment
US8738643B1 (en) * 2007-08-02 2014-05-27 Google Inc. Learning synonymous object names from anchor texts
US7752285B2 (en) * 2007-09-17 2010-07-06 Yahoo! Inc. Shortcut sets for controlled environments
JP2011501276A (ja) 2007-10-12 2011-01-06 ペイシェンツライクミー, インコーポレイテッド 健康関連の転帰を予測するためのオンラインコミュニティを使用した自己改善方法
US7814115B2 (en) * 2007-10-16 2010-10-12 At&T Intellectual Property I, Lp Multi-dimensional search results adjustment system
US7950631B2 (en) * 2007-10-22 2011-05-31 Lennox Industries Inc. Water distribution tray
AU2008312423B2 (en) 2007-10-17 2013-12-19 Vcvc Iii Llc NLP-based content recommender
US8594996B2 (en) * 2007-10-17 2013-11-26 Evri Inc. NLP-based entity recognition and disambiguation
US20090254540A1 (en) * 2007-11-01 2009-10-08 Textdigger, Inc. Method and apparatus for automated tag generation for digital content
US8561089B2 (en) * 2007-11-08 2013-10-15 International Business Machines Corporation System and method for flexible and deferred service configuration
US8812435B1 (en) 2007-11-16 2014-08-19 Google Inc. Learning objects and facts from documents
US20090138329A1 (en) * 2007-11-26 2009-05-28 William Paul Wanker Application of query weights input to an electronic commerce information system to target advertising
US7945571B2 (en) * 2007-11-26 2011-05-17 Legit Services Corporation Application of weights to online search request
US20090144262A1 (en) 2007-12-04 2009-06-04 Microsoft Corporation Search query transformation using direct manipulation
US8380731B2 (en) * 2007-12-13 2013-02-19 The Boeing Company Methods and apparatus using sets of semantically similar words for text classification
US7962486B2 (en) * 2008-01-10 2011-06-14 International Business Machines Corporation Method and system for discovery and modification of data cluster and synonyms
US8615490B1 (en) 2008-01-31 2013-12-24 Renew Data Corp. Method and system for restoring information from backup storage media
GB2458309A (en) * 2008-03-13 2009-09-16 Business Partners Ltd Search engine
US8266168B2 (en) * 2008-04-24 2012-09-11 Lexisnexis Risk & Information Analytics Group Inc. Database systems and methods for linking records and entity representations with sufficiently high confidence
US8661026B2 (en) 2008-07-02 2014-02-25 Lexisnexis Risk Solutions Fl Inc. Entity representation identification using entity representation level information
US8756213B2 (en) * 2008-07-10 2014-06-17 Mcafee, Inc. System, method, and computer program product for crawling a website based on a scheme of the website
US7730061B2 (en) * 2008-09-12 2010-06-01 International Business Machines Corporation Fast-approximate TFIDF
US20100094856A1 (en) * 2008-10-14 2010-04-15 Eric Rodrick System and method for using a list capable search box to batch process search terms and results from websites providing single line search boxes
US8768852B2 (en) * 2009-01-13 2014-07-01 Amazon Technologies, Inc. Determining phrases related to other phrases
US9569770B1 (en) 2009-01-13 2017-02-14 Amazon Technologies, Inc. Generating constructed phrases
US8233879B1 (en) 2009-04-17 2012-07-31 Sprint Communications Company L.P. Mobile device personalization based on previous mobile device usage
US9552357B1 (en) * 2009-04-17 2017-01-24 Sprint Communications Company L.P. Mobile device search optimizer
CN101872351B (zh) 2009-04-27 2012-10-10 阿里巴巴集团控股有限公司 识别同义词的方法、装置及利用其进行搜索的方法和装置
EP2430574A1 (de) 2009-04-30 2012-03-21 Patientslikeme, Inc. System und verfahren zur unterstützung von datensendungen in online-gemeinschaften
CN101957828B (zh) * 2009-07-20 2013-03-06 阿里巴巴集团控股有限公司 一种对搜索结果进行排序的方法和装置
US9298700B1 (en) * 2009-07-28 2016-03-29 Amazon Technologies, Inc. Determining similar phrases
US10007712B1 (en) 2009-08-20 2018-06-26 Amazon Technologies, Inc. Enforcing user-specified rules
US8515731B1 (en) * 2009-09-28 2013-08-20 Google Inc. Synonym verification
US8645372B2 (en) * 2009-10-30 2014-02-04 Evri, Inc. Keyword-based search engine results using enhanced query strategies
WO2011072172A1 (en) * 2009-12-09 2011-06-16 Renew Data Corp. System and method for quickly determining a subset of irrelevant data from large data content
US9411859B2 (en) 2009-12-14 2016-08-09 Lexisnexis Risk Solutions Fl Inc External linking based on hierarchical level weightings
WO2011075610A1 (en) 2009-12-16 2011-06-23 Renew Data Corp. System and method for creating a de-duplicated data set
US9710556B2 (en) 2010-03-01 2017-07-18 Vcvc Iii Llc Content recommendation based on collections of entities
US8799658B1 (en) 2010-03-02 2014-08-05 Amazon Technologies, Inc. Sharing media items with pass phrases
US8645125B2 (en) 2010-03-30 2014-02-04 Evri, Inc. NLP-based systems and methods for providing quotations
US9189505B2 (en) 2010-08-09 2015-11-17 Lexisnexis Risk Data Management, Inc. System of and method for entity representation splitting without the need for human interaction
US8838633B2 (en) 2010-08-11 2014-09-16 Vcvc Iii Llc NLP-based sentiment analysis
US9405848B2 (en) 2010-09-15 2016-08-02 Vcvc Iii Llc Recommending mobile device activities
US8725739B2 (en) 2010-11-01 2014-05-13 Evri, Inc. Category-based content recommendation
US9639602B2 (en) * 2011-02-02 2017-05-02 Nanoprep Technologies Ltd. Method for matching queries with answer items in a knowledge base
US9116995B2 (en) 2011-03-30 2015-08-25 Vcvc Iii Llc Cluster-based identification of news stories
US10366117B2 (en) * 2011-12-16 2019-07-30 Sas Institute Inc. Computer-implemented systems and methods for taxonomy development
US9524308B2 (en) 2012-03-12 2016-12-20 Oracle International Corporation System and method for providing pluggable security in an enterprise crawl and search framework environment
CN102663111A (zh) * 2012-04-17 2012-09-12 电信科学技术研究院 一种信息获取方法和设备
CN103593343B (zh) * 2012-08-13 2019-05-03 北京京东尚科信息技术有限公司 一种电子商务平台中的信息检索方法和装置
US9280595B2 (en) * 2012-08-30 2016-03-08 Apple Inc. Application query conversion
US8914419B2 (en) 2012-10-30 2014-12-16 International Business Machines Corporation Extracting semantic relationships from table structures in electronic documents
US9576077B2 (en) * 2012-12-28 2017-02-21 Intel Corporation Generating and displaying media content search results on a computing device
WO2015043389A1 (zh) * 2013-09-30 2015-04-02 北京奇虎科技有限公司 一种基于视频搜索的分词信息推送方法和装置
CN103491205B (zh) * 2013-09-30 2016-08-17 北京奇虎科技有限公司 一种基于视频搜索的关联资源地址的推送方法和装置
CN103488787B (zh) * 2013-09-30 2017-12-19 北京奇虎科技有限公司 一种基于视频搜索的在线播放入口对象的推送方法和装置
US9286290B2 (en) 2014-04-25 2016-03-15 International Business Machines Corporation Producing insight information from tables using natural language processing
US10007730B2 (en) 2015-01-30 2018-06-26 Microsoft Technology Licensing, Llc Compensating for bias in search results
US10007719B2 (en) * 2015-01-30 2018-06-26 Microsoft Technology Licensing, Llc Compensating for individualized bias of search users
US10691709B2 (en) * 2015-10-28 2020-06-23 Open Text Sa Ulc System and method for subset searching and associated search operators
US10657136B2 (en) * 2015-12-02 2020-05-19 International Business Machines Corporation Searching data on a synchronization data stream
US10747815B2 (en) 2017-05-11 2020-08-18 Open Text Sa Ulc System and method for searching chains of regions and associated search operators
CN107256258B (zh) * 2017-06-12 2019-09-06 上海智臻智能网络科技股份有限公司 语义表达式生成方法及装置
EP3649566A4 (de) 2017-07-06 2021-04-14 Open Text SA ULC System und verfahren zur wertebasierten bereichssuche und zugehörige suchoperatoren
WO2019129520A1 (en) * 2017-12-28 2019-07-04 Datawalk Spolka Akcyjna Systems and methods for combining data analyses
US10824686B2 (en) 2018-03-05 2020-11-03 Open Text Sa Ulc System and method for searching based on text blocks and associated search operators
US10713329B2 (en) * 2018-10-30 2020-07-14 Longsand Limited Deriving links to online resources based on implicit references
US11894139B1 (en) 2018-12-03 2024-02-06 Patientslikeme Llc Disease spectrum classification
US11416554B2 (en) * 2020-09-10 2022-08-16 Coupang Corp. Generating context relevant search results
US11797612B2 (en) * 2021-09-29 2023-10-24 Glean Technologies, Inc. Identification of permissions-aware enterprise-specific term substitutions

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US88583A (en) * 1869-04-06 Improvement in fire-extinguishers
US6070160A (en) * 1995-05-19 2000-05-30 Artnet Worldwide Corporation Non-linear database set searching apparatus and method
US5963940A (en) * 1995-08-16 1999-10-05 Syracuse University Natural language information retrieval system and method
US5742816A (en) * 1995-09-15 1998-04-21 Infonautics Corporation Method and apparatus for identifying textual documents and multi-mediafiles corresponding to a search topic
US5926811A (en) * 1996-03-15 1999-07-20 Lexis-Nexis Statistical thesaurus, method of forming same, and use thereof in query expansion in automated text searching
WO1997038376A2 (en) * 1996-04-04 1997-10-16 Flair Technologies, Ltd. A system, software and method for locating information in a collection of text-based information sources
US5842206A (en) * 1996-08-20 1998-11-24 Iconovex Corporation Computerized method and system for qualified searching of electronically stored documents
US6078914A (en) * 1996-12-09 2000-06-20 Open Text Corporation Natural language meta-search system and method
US6175829B1 (en) * 1998-04-22 2001-01-16 Nec Usa, Inc. Method and apparatus for facilitating query reformulation
US6259898B1 (en) * 1998-05-05 2001-07-10 Telxon Corporation Multi-communication access point
US6167370A (en) * 1998-09-09 2000-12-26 Invention Machine Corporation Document semantic analysis/selection with knowledge creativity capability utilizing subject-action-object (SAO) structures
US6269364B1 (en) * 1998-09-25 2001-07-31 Intel Corporation Method and apparatus to automatically test and modify a searchable knowledge base
US6353831B1 (en) * 1998-11-02 2002-03-05 Survivors Of The Shoah Visual History Foundation Digital library system
US6523028B1 (en) * 1998-12-03 2003-02-18 Lockhead Martin Corporation Method and system for universal querying of distributed databases
WO2000046701A1 (en) * 1999-02-08 2000-08-10 Huntsman Ici Chemicals Llc Method for retrieving semantically distant analogies
US6651058B1 (en) * 1999-11-15 2003-11-18 International Business Machines Corporation System and method of automatic discovery of terms in a document that are relevant to a given target topic
WO2001082137A1 (en) * 2000-04-25 2001-11-01 Invention Machine Corporation, Inc. Synonym extension of search queries with validation
US6675159B1 (en) * 2000-07-27 2004-01-06 Science Applic Int Corp Concept-based search and retrieval system
US6766316B2 (en) * 2001-01-18 2004-07-20 Science Applications International Corporation Method and system of ranking and clustering for document indexing and retrieval
US6584470B2 (en) * 2001-03-01 2003-06-24 Intelliseek, Inc. Multi-layered semiotic mechanism for answering natural language questions using document retrieval combined with information extraction
JP2003122999A (ja) * 2001-10-11 2003-04-25 Honda Motor Co Ltd 故障に対する対応方法を提供するシステム、プログラムおよび方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017213009A1 (de) 2017-07-27 2019-01-31 Fabian Zagel Verfahren zur simulation von ranking-listen bei sportwetten

Also Published As

Publication number Publication date
GB2393541A (en) 2004-03-31
GB0321479D0 (en) 2003-10-15
US20040064447A1 (en) 2004-04-01

Similar Documents

Publication Publication Date Title
DE10328833A1 (de) System und Verfahren für die Verwaltung einer Synonymsuche
US6751611B2 (en) Method and system for creating improved search queries
Agosti et al. Automatic authoring and construction of hypermedia for information retrieval
US7392238B1 (en) Method and apparatus for concept-based searching across a network
US7185001B1 (en) Systems and methods for document searching and organizing
DE60017727T2 (de) Suchwerkzeug und Prozess zum Suchen unter Benutzung von Kategorien und Schlüsselwörtern
CN102171689B (zh) 用于提供搜索结果的方法、系统
EP1024437B1 (de) Multimodaler Informationzugriff
DE10231161A1 (de) Domain-spezifisches wissensbasiertes Metasuchsystem und Verfahren zum Verwenden desselben
JP2001522496A (ja) データベースのデータを検索するための方法と装置
US20110004829A1 (en) Method for Human-Centric Information Access and Presentation
HANCOCK‐BEAULIEU et al. An evaluation of interactive query expansion in an online library catalogue with a graphical user interface
Lin et al. Imagesieve: Exploratory search of museum archives with named entity‐based faceted browsing
Sridhar Subject searching in the OPAC of a special library: problems and issues
Chau et al. Comparison of two approaches to building a vertical search tool: a case study in the nanotechnology domain
Feuer et al. Evaluation of phrasal query suggestions
Choi Integration ofDocument Index with Perception Index and Its Application to Fuzzy Query on the Internet
Shiri et al. An evaluation of thesaurus-enhanced visual interfaces for multilingual digital libraries
Buzzi et al. Accessibility and usability of search engine interfaces: Preliminary testing
Kanavos et al. Extracting knowledge from web search engine results
Mamoon et al. Interactive visualization of retrieved information
van Zwol et al. Query formulation for XML retrieval with bricks
Rajashekar Web search engines: How to get what you want from the world wide Web
Roussinov et al. Information navigation by clustering and summarizing query results
Xie et al. Incorporating agent based neural network model for adaptive meta-search

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal