-
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 101A– 101D 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:
-
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):
-
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 71–79 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 71–79 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.