-
Die
Erfindung bezieht sich auf ein Computer-implementiertes Verfahren
zum Ausführen
einer Übertragung
zwischen einem Benutzer und einer Datenbank, wobei die Datenbank
Elemente aufweist, die an eine Datenbanksprache angepasst sind,
wobei Elemente in der Übertragung
enthalten sein können,
und wobei Hinweise auf eine Anfrage nach Elementen in der Datenbank
an eine Benutzersprache angepasst sind und wobei das Verfahren die
Schritte aufweist, in Antwort auf eine Anfrage an die Datenbank
Elemente von der Datenbank, die in der Anfrage angefordert wurden,
zu liefern, wobei diese Elemente Worte in der Datenbanksprache aufweisen
können,
wobei die Anfrage in einem Benutzergerät erzeugt wurde und die angeforderten
Elemente zu dem Benutzergerät
geliefert werden; und wobei eine Übersetzung in natürlicher
Sprache zwischen Worten in den Elementen in der Datenbanksprache
und in der Benutzersprache ausgeführt wird.
-
Datenbanken
verschiedener Arten sind zentrale Komponenten bei moderner Anwendung
der Informationstechnologie. Datenbanken können von verschiedenen Arten
sein, die für
verschiedene Anwendungen optimiert sind, jedoch können zwei
Haupttypen einerseits Transaktions-Datenbanken sein, die für eine schnelle Speicher- und Zugriffszeit
optimiert sind, und andererseits so genannte Daten-Warenhäuser, die
zur Analyse der in der Datenbank gespeicherten Daten optimiert sind.
Typischerweise enthalten Daten-Warenhäuser mehr redundante Daten
als eine Transaktions-Datenbank.
Die vorliegende Erfindung ist insbesondere auf Daten-Warenhäuser bezogen,
jedoch hierauf nicht beschränkt.
-
Die
weit verbreitete Nutzung des Internet führte mit zu einer verstärkten Entwicklung
von Datenbanken. Zudem haben, in Kombination hierzu, große Organisa tionen
und/oder Firmen in verschiedenen Ländern verstärkt das Bedürfnis nach Datenbanken geäußert, die
mehrere natürliche
Sprachen unterstützen.
-
Ein
wichtiger Punkt in der Technologie von Datenbanken ist es, die Datenbank
zu pflegen und es zu gewährleisten,
dass der Inhalt der Datenbank kohärent und konsistent über verschiedene
Grenzen ist, so zum Beispiel Sprachbarrieren in der Datenbank.
-
Um
den Benutzern der Datenbank einen verbesserten Service zu liefern,
werden die Benutzer mit einer Schnittstelle zu der Datenbank ausgerüstet, von
der es möglich
ist, mit der Datenbank in einer natürlichen Sprache (üblicherweise
ihrer Muttersprache) zu interagieren. Eine erste Grundlösung, um
solch einen verbesserten Service zu liefern, ist es, den Inhalt
der Datenbank in verschiedenen Sprachen anzubieten. Jedoch ist dieses
sehr umständlich
im tatsächlichen
Leben zu handhaben. Daher besteht eine andere Lösung darin, die Daten in der
Datenbank in einer einzigen natürlichen
Sprache bereitzustellen, einer so genanten Datenbanksprache, und
bei der Kommunikation mit der Datenbank Übersetzungen in eine natürlichen
Sprache auszuführen.
Jedoch sind nicht überarbeitete Übersetzungen,
die an sich erwünscht
sind, da sie automatisch und damit schneller ausgeführt werden
können,
nicht geeignet, da das Auftreten von Synonymen in einer Übersetzung die
Widerspruchsfreiheit der Datenbank zerstört oder alternativ fehlerhafte
Anfragen an die Datenbank und/oder Antworten von der Datenbank erzeugt.
-
Wenn
daher mehr als eine mögliche Übersetzung
eines Wortes in einer Anfrage an die Datenbank oder in Antwort von
der Datenbank auftreten kann, können
Widersprüche
oder Fehler in das Verfahren bei der Aufstellung von Anfragen und
bei den erzielten Ergebnissen eingeführt werden.
-
Üblicherweise
werden Wörter
in dem Ergebnis einer ersten ungenauen Anfrage dazu verwendet, das Ergebnis
für eine
spätere
Anfrage zu verbessern. Da üblicherweise
ein Wort mehr als eine Übersetzung
in Wörter
in einer anderen Sprache hat, ist es ein Problem – speziell
bei der Verbesserung von Anfragen -, dass die Übersetzungen nicht widerspruchsfrei
sind.
-
Die
WO 00/26766 beschreibt ein System zum Benutzen einer Datenbank.
Das System empfängt
ein von einem Benutzer eingegebenes Passwort und bearbeitet das
von dem Benutzer eingegebene Passwort in Hinblick auf eine Liste
von so genannten beschränkten
Passwörtern.
Wenn das von dem Benutzer eingegebene Passwort zu einem Passwort
in der Liste der beschränkten
Passwörter
passt, wird das Passwort angenommen, um Daten in die Datenbank einzugeben
oder die Datenbank abzufragen. Wenn hingegen das von dem Benutzer
eingegebene Passwort nicht passend ist, bearbeitet das System das
von dem Benutzer eingegebene Passwort als ein Eingangswort in Hinblick
auf eine Liste von synonymen Worten. In der Liste von Synonymen
werden (mehrere) Eingangsworte auf ein beschränktes Passwort bezogen, wenn
das von dem Benutzer eingegebene Passwort unter den Eingangsworten
gefunden wird, und es wird auf ein beschränktes Passwort bezogen, das
benutzt wird, um je nach der Situation die Datenbank abzufragen
oder Daten einzugeben.
-
Jedoch
müssen
alle Wörter,
die ein Benutzer eingibt, in der Liste von Synonymen enthalten sein,
und es muss ein Zusammenhang mit einem Passwort in der Datenbank
vorliegen. Dies erfordert einen erheblichen Aufwand bei der Definition
der Liste von Synonymen. Obwohl das System Suchen in der Datenbank
anbieten kann, die weniger Passwort-empfindlich sind, wird es gleichzeitig
eine geringe Präzision
beim Erfassen spezieller Teile der Information liefern.
-
Die
obigen Probleme werden gelöst,
wenn das in dem Oberbegriff erwähnte
Verfahren dadurch gekennzeichnet ist, dass es ferner die Schritte
umfasst, zu bestimmen, ob die Übertragung
sich auf eine Anfrage oder eine Antwort von der Datenbank bezieht
und dann, wenn es sich auf eine Anfrage bezieht, die Übersetzung
auf eine Liste von vorbestimmten Übersetzungsrelationen zu beschränken, wobei
eine Übersetzungsrelation
eine Beziehung zwischen einem Wort in der Datenbanksprache und einem
korrespondierenden Wort in der Benutzersprache ist; wenn es sich
auf eine Antwort bezieht, wird die Liste durchsucht, um eine Übersetzungsrelation
für ein
Wort in der Antwort zu finden, und dann, wenn keine solche Übersetzungsbeziehung
für das
Wort in der Liste existiert, das Wort zu einem Übersetzungsdienst zu übermitteln,
um daraufhin eine Übersetzungsrelation
zwischen dem Wort und einem korrespondierenden Wort in der Benutzersprache
zu empfangen, wobei diese Übersetzungsrelation
in der Liste gespeichert wird.
-
Folglich
werden Worte, die zwischen der Datenbank und dem Benutzer übertragen
werden, nur mit Hilfe eines Übersetzungsdienstes übersetzt – wobei
Widersprüche
eingeführt
werden können –, wenn
die Worte von der Datenbank geliefert werden. Das Speichern einer Übersetzungsrelation
zwischen dem Wort aus der Datenbank und einem korrespondierenden
Wort in der Benutzersprache gewährleistest,
dass diese Beziehung gesichert ist, um präzis und widerspruchsfrei auf
die durch das Wort in der Datenbank identifizierten Elemente zuzugreifen.
Die Übersetzung
dieses Wortes wird dabei auch in der Liste für nachfolgenden Gebrauch gespeichert.
Ein solcher nachfolgender Gebrauch kann in einer weiteren Anfrage
verwendet werden.
-
Um
eine Mehrdeutigkeit bei einer Übersetzung
im Falle zu vermeiden, dass mehrere Übersetzungen eines Wortes existieren,
kann so vorgegangen werden, dass zum Beispiel eine erste von solchen
mehreren Übersetzungen
ausgewählt
wird. Dies beeinflusst nicht die Widerspruchsfreiheit in der Datenbank,
solange die Übersetzung
für den
Benutzer geeignet ist, einen gewünschten
Inhalt in der Datenbank zu identifizieren oder zu erkennen.
-
Durch
das Verfahren gemäß der Erfindung
ist es möglich,
die Datenbank in der vom Benutzer bevorzugten Sprache, der Benutzersprache,
abzufragen. Worte im Hinblick auf Elemente, die vorher als Ausgang geliefert
worden sind, werden in der Liste gespeichert. Aus diesem Grund können nach
und nach detailliertere Anfragen abgefragt werden, was im Gegenzug
die Anzahl der Wörter
in der Liste nach und nach erhöht.
-
Darüber hinaus
wird gewährleistet,
dass die Worte in der Datenbanksprache, die aus der Benutzersprache übersetzt
wurden, tatsächlich
in der Datenbank exis tieren. Aus diesem Grund werden Fehler aufgrund von
mehrdeutigen Übersetzungen
vermieden.
-
Es
sei darauf hingewiesen, dass die Benutzersprache die in der Datenbank
verwendete Sprache sein kann, die so genannte Datenbanksprache,
oder dass sie unterschiedlich zu der Datenbanksprache ist.
-
Vorzugsweise
weist das Verfahren den Schritt auf, das korrespondierende Wort
in der Benutzersprache zu dem Benutzergerät als Teil der Antwort von
der Datenbank zu dem Benutzergerät
zu übermitteln.
Hierdurch wird dem Benutzer eine übersetzte Antwort von der Datenbank
geliefert.
-
Das
Verfahren kann den Schritt aufweisen, die Anfrage in der Benutzersprache,
wie sie von dem Benutzergerät übermittelt
wurde, in eine in die Datenbanksprache übersetzte Anfrage neu zu formulieren,
um dadurch die Anfrage in der Datenbanksprache zu behandeln. Das
liefert die Möglichkeit,
dass die Anfrage automatisch Wort für Wort übersetzt werden kann, sodass
gewährleistet
ist, dass die Anfrage in der Benutzersprache in eine entsprechende
Anfrage in der Datenbanksprache übersetzt
wird, wobei die Wörter
in der korrespondierenden Anfrage unzweideutige Übersetzungen von Wörtern in
der Anfrage in der Benutzersprache sind. Zudem können Übersetzungsrelationen zwischen
einzelnen Wörtern,
die schon einmal übersetzt
und in früheren
Anfragen verwendet worden sind und in der Datenbanksprache und für korrespondierende
Wörter
in einer Benutzersprache benutzt worden sind, erneut bei der Behandlung
von Anfragen, die diese einzelnen Wörter enthalten, wieder verwendet
werden. Das resultiert in weniger Übersetzungen und daher in einem
geringeren Zeitaufwand.
-
Es
wird bevorzugt, dass die Übersetzungsbeziehung
zwischen Wörtern
in der Benutzersprache und übersetzten
Wörtern
in der Datenbanksprache eine „Wort-für-Wort" Übersetzungsrelation
ist. Obwohl ein Wort mehrere Übersetzungen
haben kann, wird dieses nicht die Anfrage an die Datenbank beeinflussen,
sondern lediglich die Darstellung der Daten. Auf diese Weise werden
unzweideutige Übersetzungen
keine Fehler bei Anfragen an die Datenbank erzeugen.
-
Die
Anfrage kann erzeugt werden, indem ein Anfangssatz von Wörtern verwendet
wird, die „Wort-für-Wort"-Übersetzungsrelationen von vorbestimmten
Wörtern
der Datenbanksprache sind und vorbestimmte, in der Datenbank existierende
Elemente darstellen. Das hat den Vorteil, dass keine Kenntnis der
Datenbanksprache für
die Erzeugung einer Anfrage erforderlich ist. Aus diesem Grunde
kann ein Benutzer die Datenbank lediglich in seiner eigenen Sprache
oder in irgendeiner anderen bevorzugten Benutzersprache verwenden.
-
Vorzugsweise
repräsentieren
die vorbestimmten Wörter
Elemente, die Kategorien von Elementen in der Datenbank sind. Damit
wird ein relevanter aber typisch beschränkter und damit auch weniger
Speicherplatz erforderlicher Satz von Wörtern, d. h. Übersetzungsbeziehungen
zum Erzeugen einer ersten groben Anfrage an die Datenbank, im Vergleich
mit einer Übersetzung
aller Wörter
in der Datenbank oder aller Kategorien oder anderer weniger beschränkter Sätze von
Wörtern
geliefert.
-
Vorzugsweise
wird der Anfangssatz der Wörter
um eine Übersetzungsrelation
erweitert, wenn eine Antwort von der Datenbank und als Folge des
Schrittes, die Übersetzungsrelation
in der Liste zu speichern, empfangen wird, um dadurch einen erweiterten
Satz aus Worten zu bilden. Damit können die Übersetzungsrelationen, die
in der Liste gespeichert sind und von Übersetzungen aus der Datenbanksprache
in die Benutzersprache herrühren,
verwendet werden, um weitere Anfragen zu verbessern oder zu erweitern.
Wie oben beschrieben, ist der Anfangssatz von Worten ein Satz aus Übersetzungsrelationen
vorbestimmter Worte, wobei die Übersetzungsrelationen
zwischen Worten in der Datenbanksprache und korrespondierenden Worten in
der Benutzersprache bestehen. Der Anfangssatz von Worten ist vorzugsweise
ein Satz von Worten, die Kategorien von Elementen repräsentieren,
für die
Anfragen erzeugt werden können.
Beispiele für
Kategorien können „Finanzen", „Personal", „Firmen", „Geschäftszweige", „Umsatz", „Gewinn", „Zeitperiode", „Produkte", etc. sein. Natürlich hängt der
erweiterte Satz von Worten von der erzeugten Anfrage ab. Wenn die
Anfra ge sich zum Beispiel auf „Umsatz
pro Produkt" bezieht,
kann der erweiterte Satz von Worten die Produktgruppen und/oder
Produktnamen enthalten, zum Beispiel „Molkerei", „Bäckerei", „Verschiedenes", etc. Wenn „Molkerei" gewählt wird,
um die Anfrage zu präzisieren,
kann der erweiterte Satz von Worten zum Beispiel „Milch", „Butter", „Käse", etc. enthalten.
Der erweiterte Satz von Worten kann als neuer Anfangssatz von Worten
für weitere Anfragen
betrachtet und verwendet werden.
-
Vorzugsweise
wird der erweiterte Satz von Worten Wort-für-Wort in Übereinstimmung mit dem Datum des
Gebrauchs oder der Häufigkeit
des Gebrauches des Wortes gekürzt.
Auf diese Weise kann der Anfangssatz von Worten ein statischer Satz
von Worten sein, der zum Beispiel durch den Administrator der Datenbank ausgewählt wird,
und der erweiterte Satz von Worten kann ein dynamischer sein, der
während
der Bearbeitung von Anfragen an die Datenbank in einer anderen Sprache
als der Datenbanksprache erweitert wird. Üblicherweise erzeugt der Administrator
den Anfangssatz von Worten auf der Basis eines Datenbankmodelles
mit dem Inhalt der Datenbank. Üblicherweise
wird der erweiterte Satz von Worten mehrere Übersetzungsrelationen als der
Anfangssatz der Worte enthalten, da eine Kategorie üblicherweise
mehr als ein Element enthält.
Jedoch ist es möglich,
einen erweiterten Satz von Worten zu finden, der weniger Übersetzungsrelationen
als der Anfangssatz der Worte aufweist, zum Beispiel, wenn alle
Ergebnisse von Anfragen lediglich aus Zahlen bestehen. Schließlich kann
der erweiterte Satz von Worten Null-Übersetzungsrelationen enthalten,
zum Beispiel vor der ersten Anfrage an die Datenbank oder dann,
wenn der erweiterte Satz von Worten von der Liste gestrichen worden
ist, was regelmäßig erfolgen
könnte,
um eine exzessive Listengröße und daher
Speicherverbrauch zu vermeiden.
-
Wie
oben erläutert,
ist der Anfangssatz von Worten eine Anzahl von Übersetzungsrelationen von vorbestimmten
Wörtern
und der erweiterte Satz von Worten betrifft weitere Übersetzungsrelationen,
die während der
Benutzung der Datenbank erzeugt werden. Somit wird der Anfangssatz
von Worten vor der ersten Nutzung der Datenbank bestimmt, zum Beispiel
durch den Ersteller oder Administrator der Datenbank. Diese Bestimmung
des Anfangssatzes der Worte kann eine Angabe von Worten lediglich
in der Datenbanksprache sein, wobei diese Worte anschließend in
die Benutzersprachen durch den Übersetzungsdienst übersetzt
werden, oder die Bestimmung des Anfangssatzes von Worten könnte Wörter in
der Datenbanksprache gemeinsam mit Übersetzungsrelationen zu Worten
in den Benutzersprachen enthalten, sodass die Liste vorab mit Übersetzungsrelationen
durch den Administrator der Datenbank geladen wird. Es ist ebenfalls
möglich,
dass der Administrator die Liste vorab mit Übersetzungsrelationen einiger
der Worte in dem Anfangssatz der Worte lädt, und dass der Rest der Worte
in dem Anfangssatz der Worte automatisch in die Benutzersprachen
durch den Übersetzungsdienst übersetzt
wird. Schließlich
könnte
es möglich
sein, dass der Anfangssatz der Worte aufgrund anderer Tatsachen
als der Entscheidung des Administrators geändert werden kann, zum Beispiel
automatisch dann, wenn neue Kategorien in die Datenbank eingeführt werden.
-
Es
ist erkennbar, dass der erweiterte Satz von Worten extrem voluminös wird,
was nachteilig sein könnte.
Zusätzlich
wird die Qualität
der Übersetzungsleistungen
verbessert, was es möglich
macht, dass neue Übersetzungen
genauer als ältere
sind. Diese Probleme können
vorteilhaft verwendet werden, um bereits etablierte Übersetzungsrelationen
in der Liste zu eliminieren und sind an eine bevorzugte Ausführung des
Verfahrens gemäß der Erfindung
gerichtet, bei der der erweiterte Satz von Worten Wort-für-Wort in Übereinstimmung mit
dem Datum der Nutzung oder der Häufigkeit
der Nutzung des Wortes gekürzt
wird. Zum Beispiel kann entschieden werden, aus dem erweiterten
Satz von Worten Worte zu kürzen,
wenn diese Worte nicht in irgendeiner Anfrage oder in einem Ergebnis
einer Anfrage für
eine gewisse Zeitspanne benutzt wurden, zum Beispiel während eines
Monats, einer Woche, etc. Eine weitere Möglichkeit ist es, alle Worte
aus dem erweiterten Satz von Worten zu kürzen, ausgenommen die am Meisten
gebrauchten Teile von Worten, wobei dieses im Wesentlichen ein beliebiger
Prozentsatz des erweiterten Satzes von Worten sein kann. Dieser
Prozentsatz wird typischerweise durch einen Administrator der Datenbank
oder durch den Benutzer festgelegt. Andere Möglichkeiten, wann und in welcher
Weise Worte von der Liste gestrichen werden, sind natürlich auch
möglich.
-
Gemäß einer
bevorzugten Ausführung
des Verfahrens sind folgende Schritte vorgesehen: Liefern von Anfragekomponenten
zur Auswahl durch einen Benutzer, wobei die Anfragekomponenten Teile
einer Anfrage sind; Zusammenstellen ausgewählter Anfragekomponenten, um
eine Anfrage zu erstellen. Auf diese Weise wird eine benutzerfreundliche
Art zum Erstellen von Anfragen geliefert, sodass ein Benutzer sich
auf das Erstellen der Anfrage konzentrieren kann, anstatt durch
geringe jedoch kritische syntaktische Fehler verwirrt zu werden.
Gemäß einer
Ausführung
des Verfahrens gemäß der Erfindung
weisen die Anfragekomponenten Worte aus dem Anfangssatz und/oder
Worte aus dem erweiterten Satz auf.
-
Daher
weiß der
Benutzer exakt, welche Übersetzungen
der Worte in der Datenbanksprache in der Benutzersprache zur Verfügung stehen,
und er kann leicht Anfragen auf der Basis des existierenden Anfangssatzes
der Worte und des erweiterten Satzes der Worte erzeugen.
-
Vorzugsweise
weist das Verfahren die Schritte auf, ein Ausgabeergebnis von der
Datenbank an eine Benutzer-Schnittstelle des Benutzergerätes zu liefern;
und Möglichkeiten
an diese Benutzer-Schnittstelle zu liefern, um neue Fragen zu starten,
indem Ausgangsdaten aus frühren
Anfragen angezeigt und angeklickt und verwendet werden als Eingaben
für eine
folgende Anfrage. Dies ermöglicht
eine speziell benutzerfreundliche und leicht durchzuführende Verbesserung
von Anfragen.
-
Gemäß einer
bevorzugten Ausführung
werden mehrere Listen von vorbestimmten Übersetzungsrelationen zur Verfügung gestellt;
vorzugsweise weist das Verfahren ferner den Schritt auf, eine Liste
in Abhängigkeit
einer Information auszuwählen,
die eine bevorzugte Benutzersprache und/oder die Identität eines
Benutzers identifiziert. Dieses kann unterstützt werden durch eine Vielzahl
von Listen, auf die Benutzer zugreifen können, sodass durch die Identität des Benutzers
oder der bevorzugten Benutzersprachen die zu verwendende Liste bestimmt
wird. Auf diese Weise kann ein Benutzer von der Nutzung der Datenbank
durch andere Benutzer profitieren und auch von der resultierenden
Erweiterung des Anfangssatzes der Worte oder von seiner eige nen
früheren
Benutzung der Datenbank und der damit verbundenen Erweiterung des
Anfangssatzes der Worte.
-
Darüber hinaus
bezieht sich die Erfindung auf ein Computer-lesbares Medium, das
mit einem Programm zum Durchführen
des Verfahrens beim Ablauf auf einem Computer kodiert ist; ebenso
auf ein Computersystem mit einer Datenbank und einem Computer, die
programmiert sind, um das Verfahren auszuführen; und auf ein Ausbreitungssignal,
das Befehle trägt,
um das Verfahren auszuführen,
wenn es auf einem Computer durchgeführt wird.
-
Die
Erfindung wird im Folgenden in Verbindung mit einem bevorzugten
Ausführungsbeispiel
und in Bezug auf die Zeichnung näher
erläutert,
in der:
-
1 ein
Arbeitsdiagramm für
das Verfahren gemäß der Erfindung
ist;
-
2 ein
Flussdiagramm für
das Verfahren gemäß der Erfindung
ist;
-
3 ein
Beispiel für
ein Blockschaltbild und die Benutzer-Schnittstelle zum Erzeugen
und Bearbeiten einer Anfrage gemäß der Erfindung
darstellt;
-
4 ein
Beispiel für
ein Ausgabeergebnis an einer Benutzer-Schnittstelle zeigt;
-
5 ein
Strukturdiagramm für
ein Verfahren gemäß der Erfindung
ist.
-
1 ist
ein Blockschaltbild für
die Erfindung. Ein Benutzer erzeugt Anfragen Q1 10a an
eine Datenbank DB in einer Benutzersprache auf der Basis des Anfangssatzes
von Worten, die an die Benutzer-Schnittstelle (nicht gezeigt) geliefert
wurde. Da die Anfrage 10a auf der Basis des Anfangssatzes
der Worte erzeugt worden ist, existiert eine Übersetzungsrelation zwischen
diesen Worten innerhalb des Anfangssatzes der Worte in der Benutzersprache
und der Datenbanksprache in der Liste, und diese Liste ist bei 20 in
eine Tabelle gefasst, um diese Übersetzungsrelation
zu finden und zu verwenden und damit die Worte in der Datenbanksprache
entsprechend jedem Wort in der Anfrage Q1 in der Benutzersprache
zu verwenden. Damit wird die Anfrage 10a in die Datenbanksprache
mit Hilfe von Übersetzungsrelationen
in der Liste übersetzt.
Diese Übersetzungsrelationen
wurden mit Hilfe eines Übersetzungsdienstes
erstellt und anschließend
in der Liste gespeichert. Welche Worte den Anfangssatz der Worte
bilden, wird üblicherweise
durch den Ersteller oder den Administrator der Datenbank bestimmt.
-
Danach
wird die Anfrage in der Datenbank 30 bearbeitet, wonach
der Prozess bei 40 fortgesetzt wird, wo bestimmt wird,
ob die Antwort von der Datenbank zu übersetzende Worte enthält, d. h.
Worte, für
die eine Übersetzungsrelation
nicht in der Liste existiert. Wenn dieses nicht der Fall ist, läuft der
Prozess direkt zu 70, wo ein Ergebnis der Anfrage an den
Benutzer ausgegeben wird. Im anderen Falle wird ein Übersetzungsdienst TS 50 verwendet,
um eine eindeutige Übersetzung
eines jeden Wortes in dem Ergebnis zu der Anfrage an die Datenbank
zu finden, wobei diese unzweideutige Übersetzung anschließend in
der Liste 60 als Wort-für-Wort-Relation
gespeichert wird. Ein Beispiel eines Teiles einer solchen Liste
ist unten in Tabelle 1 dargestellt.
-
Die
in der Liste 60 gespeicherten Worte liefern einen Beitrag
zu dem erweiterten Satz von Worten, der von einem Benutzer verwendet
werden kann, eine weitere Anfrage Q2 10b zu formulieren.
Das Bearbeiten der Anfrage Q2, 10b bis 70d, ist
analog zu der Bearbeitung der Anfrage Q1, 10–70,
jedoch kann der Satz von Worten, die der Benutzer verwenden kann,
um seine Frage Q2 zu formulieren, größer als der Satz von Worten sein,
auf den bei der Formulierung der ersten Anfrage zugegriffen werden
kann, da das Ergebnis aus der ersten Anfrage neue Worte enthalten
kann, die in die Benutzersprache übersetzt und in dem erweiterten
Satz von Worten gespeichert wurden, wie oben erläutert, um zusätzliche
Worte in dem erweiterten Satz von Worten für nachfolgende Anfragen zur
Verfügung
zu stellen.
-
Es
sei bemerkt, dass es möglich
ist, zu bestimmen, ob die Übertragung
zwischen dem Benutzergerät und
der Datenbank sich auf eine Anfrage oder eine Ant wort von der Datenbank
bezieht, indem der Sender, der Empfänger oder der Inhalt der Übertragung
bestimmt wird. Daher ist es möglich
zu bestimmen, ob der Übersetzungsdienst
eingeschaltet werden soll (vergl. die Entscheidungseinheit 40)
oder ob die Liste durchgesehen werden soll (vergl. CM LU, 20),
um eine Übersetzungsrelation
zu finden.
-
Tabelle
1: Beispiel eines Teiles einer Liste
-
Die
Tabelle 1 zeigt ein Beispiel eines Teiles einer Liste. Bei diesem
Beispiel sind die Datenbanksprache Englisch und die Benutzersprache
Deutsch. Die Übersetzung
wird aus dem Englischen (der Datenbanksprache) in das Deutsche (die
Benutzersprache) ausgeführt.
Wie in Tabelle 1 gezeigt, haben die beiden Worte „Brownies" und „Cookies" die gleiche Übersetzung
in Deutsch. Aus diesem Grunde wird eine Index-Nummer zu der zweiten Übersetzung
hinzugefügt,
um sicherzustellen, dass alle Übersetzungen
1-zu-1-Übersetzungen sind,
d. h. dass keine Worte in der Datenbanksprache die gleiche Übersetzung
in der Benutzersprache haben können.
Die Spalte „Datumsstempel" enthält Informationen
hinsichtlich des Speicherdatums der Übersetzungsrelation, wobei
diese Information in Entscheidungen verwendet werden kann, wie lange
die Übersetzungsrelationen
in der Liste gehalten werden. Zum Beispiel kann entschieden werden,
Worte aus dem erweiterten Satz von Worten zu streichen, wenn diese
Worte nicht in einer Anfrage oder in einem Ergebnis für eine Anfrage
für eine
gewisse Zeitspanne enthalten war, zum Beispiel einen Monat, eine
Woche, etc.
-
Eine
Neuformulierung einer Anfrage in der Benutzersprache, in diesem
Falle Deutsch, in die Datenbanksprache, d. h. Englisch, kann auf
der Basis der Übersetzungsrelation
in der Liste entsprechend Tabelle 1 erfolgen.
-
Eine
weitere Möglichkeit
ist es, eine Information aufzunehmen hinsichtlich der Häufigkeit
der Verwendung von Worten in der Liste und alle Worte aus dem erweiterten
Satz von Worten zu streichen, ausgenommen für die am meisten benutzten
Anteile von Worten, wobei dieser Anteil im Wesentlichen jeden Prozentsatz
des erweiterten Satzes von Worten umfassen kann. Dieser Prozentsatz
wird üblicherweise
durch einen Administrator der Datenbank oder durch den Benutzer
festgesetzt.
-
2 ist
ein Flussdiagramm für
ein Verfahren gemäß der Erfindung,
das im Schritt 100 beginnt. Im Schritt 101 wird
entschieden, ob die Benutzersprache unterschiedlich zu der Datenbanksprache
ist. Wenn dieses der Fall ist, wird zu dem Schritt 102 übergegangen,
indem der Anfangssatz der Worte an den Benutzer 102 geliefert
wird, um ihm bei der Erzeugung einer Anfrage 103 zu unterstützen. Wenn
die Benutzersprache die gleiche wie die Datenbanksprache ist, geht
das Verfahren direkt zu dem Schritt 103 über. Damit
kann die Anfrage in einer für
sich wohlbekannten Art erzeugt werden, wenn die Benutzersprache ähnlich oder
gleich der Datenbanksprache ist. Der Anfangssatz von Worten wird
in der Liste abgespeichert. Im Schritt 104 wird die Anfrage
in einer wohlbekannten Art bearbeitet, um eine Datenbankantwort
zu erzeugen, wonach es wiederum bestimmt wird, Schritt 105,
ob die Datenbanksprache unterschiedlich zu der Benutzersprache ist.
-
Wenn
dieses der Fall ist, wird die Liste im Schritt 106 durchgesehen,
um nach Übersetzungsrelationen für Worte
zu suchen, die in der Datenbankantwort enthalten sind. Wenn eine Übersetzungsrelation
für ein
Wort in der Datenbankantwort existiert, wird diese Übersetzungsrelation
verwendet, um eine unzweideutige Übersetzung dieses Wortes auszuführen. Im
Schritt 107 wird bestimmt, ob die Datenbankantwort Worte
enthält,
für die
keine Übersetzungsrelation
in der Liste gespeichert ist. Wenn dieses der Fall ist, geht das
Verfahren zum Schritt 108 über, in dem ein Übersetzungsdienst
verwendet wird, um eine Übersetzungsrelation
für jedes
der Worte zu erzeugen, für
die keine Übersetzungsrelation
in der Liste gespeichert ist. Dieser Übersetzungsdienst kann ein
lokaler Dienst sein, ein Dienst im Intranet oder im Internet. Die Übersetzungsrelationen,
die in dem Schritt 109 erzeugt wurden, werden in der Liste
im Schritt 109 gespeichert. Dieses Speichern von Übersetzungsrelationen
im Hinblick auf die Datenbankantwort in der Benutzersprache wird
verwendet, um den Anfangssatz von Worten auf einen erweiterten Satz
von Worten zu erweitern, die in wei teren Anfragen wie bei dem Anfangssatz
im Schritt 102 verwendet werden können. Nach dem Schritt 109 kehrt
das Verfahren zum Schritt 107 zurück, um zu bestimmen, ob die
Datenbankantwort weitere Wörter
enthält,
für die
keine Übersetzungsrelation
in der Liste gespeichert ist, und die Schritte 107 bis 109 werden
wiederholt, bis dieses nicht länger
der Fall ist, wonach das Verfahren mit dem Schritt 110 fortfährt, indem
ein Bericht der Datenbankantwort in der Benutzersprache ausgeführt ist,
wonach das Verfahren im Schritt 111 endet. Bei einer alternativen
Ausführung
ist es möglich,
dass ein Benutzer, dessen bevorzugte Benutzersprache gleich der
Datenbanksprache ist, mit einem Anfangssatz von Worten beliefert
wird, um ihm beim Erzeugen einer Anfrage zu unterstützen.
-
Wie
oben erwähnt,
wird eine Übersetzung
angefertigt, indem ein Übersetzungsdienst
verwendet wird, der in dem Intranet, dem Internet oder lokal verfügbar ist.
Ein Beispiel könnte
die Übersetzung
der folgenden Worte sein:
Bakery
Dairy
Miscellaneous
-
Dieses
könnte
ausgeführt
werden, indem eine Anfrage an einen Übersetzungsdienst im Internet
geschickt wird, in dem zum Beispiel angefragt wird:
www.translationservice.com/translate?lng=en_ge&words=bakery +
diary + miscellaneous.
-
Der
Bericht in Anfrage auf diesen hypothetischen Service ist ein Dokument
mit den folgenden Worten
Bäckerei
Molkerei
Verschiedenes
-
Die
Erfindung deckt natürlich
auch andere Verfahren zum Ausführen
von Übersetzungen über einen Übersetzungsdienst
ab.
-
3 zeigt
ein kombiniertes Blockschaltbild und eine Benutzer-Schnittstelle 211 eines
Benutzersystemes. Die Benutzer-Schnittstelle unterstützt das
Erzeugen von strukturierten Anfragen mit Hilfe von Blöcken 212 bis 214.
Als Beispiel kann der Benutzer in dem Block 212 zur Verfügung stehende
Optionen, zum Beispiel Namen, Titel, Einheiten, Zahlen entsprechend
der Art von Information auswählen,
die in der Datenbank vorliegen; einige Optionen basieren auf einer
vorhergehenden Auswahl. Der Block 213 kann zum Beispiel
eine Liste der Anfangssätze
von Worten oder der erweiterten Sätze von Worten enthalten.
-
Während der
Auswahl von Optionen, die Anfragekomponenten der Anfrage bilden
können,
kann der Benutzer die laufende Anfrage in einem Block 214 erstellen.
Gemäß einer
Ausführung
der Erfindung kann die Schnittstelle die Erzeugung der Anfrage in
einer natürlichen
menschlichen Sprache unterstützen.
Dem Benutzer kann ein Satz mit vorbestimmten Teilen eines unvollständigen Satzes
präsentiert
werden, zum Beispiel „Ich möchte gerne
einen Bericht erzeugen ..." wobei
verschiedene Optionen ausgewählt
werden können
oder Satzteile hinzugefügt
werden, bis ein vollständiger
Satz erzeugt ist, der alle Details über die gewünschte Datenbanksuche beschreibt,
wobei dieser Satz in dem Block 214 an der Benutzer-Schnittstelle
angezeigt wird. Die Satzteile können
in einer beliebigen Folge hinzugefügt werden, und der Satz kann
geändert
werden, indem Anfragekomponenten ausgegeben oder entfernt werden.
Andere Beispiele von unvollständigen
auszuwählenden
Sätzen
könnten
sein „ mit
dem Titel ...", „Die Informationen
in dem Bericht sollten gruppiert werden durch ...", „Der Bericht
sollte formatiert werden mit ...".
Es ist selbstverständlich,
dass diese Beispiele nicht beschränkende Beispiele sind, und
dass viele andere Arten verwendet werden können. Es soll bemerkt werden,
dass die Abfolge dieser unvollständigen
Sätze nicht
wichtig ist. Die unvollständigen
Sätze können in
dem Block 212 angezeigt werden, die auszuwählenden
Elemente können
in dem Block 213 angezeigt werden. Das Liefern von Anfragekomponenten
kann in der Benutzer-Schnittstelle mit Hilfe von anzukreuzenden
Kästchen,
Aktionslisten, Anzeige- und Klick-Schaltflächen oder ein Feld bewirkt
werden, um Text einzugeben, oder in jeder beliebigen anderen herkömmlichen
Art. Die Aktivierung eines Feldes an der Benutzer-Schnittstelle
(nicht dargestellt) übermittelt
die angeforderte Datenbanksuche entsprechend zu der in dem Block 216 erzeugten
Anfrage. Dem Benutzer wird mitgeteilt, dass er in einer natürlichen
Sprache schreiben kann, die unterschiedlich zu der Programmiersprache
oder Computersprache oder einer speziellen Anfragesprache der Datenbank
mit Kodierungen und einer speziellen Syntax sein kann. Jedoch wird
die strukturierte Anfrage tatsächlich
im Gegensatz zu einem freien Text formuliert, wenn der Benutzer
zwischen unvollständigen
existierenden Sätzen
auswählt.
-
Im
Vorherigen wurde eine Art der Formulierung einer strukturierten
Anfrage mit Hilfe von Text erläutert. Es
ist auch möglich,
eine strukturierte Anfrage zu formulieren, indem dem Benutzer die
Wahl zwischen unterschiedlichen Darstellungsarten gelassen wird,
zum Beispiel einem Graphen, einer Tabelle, einem Diagramm, einem
Balkendiagramm, und der nachher die Elemente angeben kann, die mit
der gewählten
Präsentationsform
dargestellt werden, zum Beispiel mit Hilfe von Ausklappfenstern
mit Text, und optional mit dem Format oder anderen Anforderungen,
wie die Daten an der Benutzer-Schnittstelle dargestellt werden sollen.
-
Die
Anfrage wird dann zu einem Übersetzungsdienst 216 geleitet,
um Übersetzungen
von Worten in einer Benutzersprache in der Anfrage und entsprechende
Wörter
in der Datenbanksprache zu finden. Dieses Liefern von Übersetzungen
wird durch die Liste 220 unterstützt, die einen Anfangssatz
von Worten 218 und einen erweiterten Satz von Worten 219 enthält. Die
Anfrage wird dann zu der Datenbank 217 geleitet, wird darin
bearbeitet und dann wieder zu dem Übersetzungsdienst geleitet,
um Übersetzungsrelationen
zwischen Worten in der Datenbanksprache in der Datenbankantwort
und entsprechenden Worten in der Benutzersprache zu finden. Wiederum
wird diese Übersetzung
durch die Liste unterstützt,
sodass Übersetzungsrelationen, falls
solche vorliegen, aus der Liste verwendet werden. Wenn keine solchen Übersetzungsrelationen
in der Liste bestehen, werden neue Übersetzungsrelationen für die nicht
in der Liste repräsentierten
Worte mit Hilfe des Übersetzungsdienstes
gefunden, und diese werden in dem erweiterten Satz von Worten gespeichert.
-
Wie
durch den Pfeil 222 dargestellt, wird der Inhalt der Liste
bei der Auflistung in dem Block 213 in der Benutzer-Schnittstelle 211 verwendet.
Die im Schritt 216 ausgeführte Übersetzung wird verwendet,
um eine Antwort 221 an den Benutzer zu erzeugen, wobei
diese Antwort 221 an der Benutzer-Schnittstelle auf verschiedene
Weise angezeigt werden kann. Ein Beispiel ist in 4 gezeigt,
das ein nicht beschränkendes
Beispiel eines Ausgaberesultates an einer Benutzer-Schnittstelle 300 zeigt.
-
Die
Benutzer-Schnittstelle 300 enthält Blöcke 301 und 302a bis
c. Der Block 301 enthält
Textinformation hinsichtlich einer Kategorie, und die Blöcke 302a bis 302c enthalten
Textinformation hinsichtlich Elementen. Beispiele für Kategorien
könnten „Umsatz
pro Produkt", „Gewinn
pro Produkt" etc.
sein; Beispiele für
Elemente könnten „Produktname", „Produktgruppe" etc. sein. In der
Benutzer-Schnittstelle 300 könnte der Block 301 daher
die Worte „Umsatz
pro Produkt" und
die Blöcke 302a bis 302c die
Worte „Molkerei", „Bäckerei", „Verschiedenes" enthalten. Als Verbesserung
dieser Anfrage könnte
ein Benutzer detailliertere Informationen anfordern, indem ein Objekt
an der Benutzer-Schnittstelle angewählt und angeklickt wird. Diese
weitere Anfrage könnte
zum Beispiel beinhalten, den Umsatz pro Produkt in der Produktgruppe „Molkerei" abzufragen, wobei korrespondierende
Beispiele von Elementen zum Beispiel „Milch", „Butter", „Käse" usw. sein könnten. Wiederum
wird diese Anfrage verfeinert; zum Beispiel hinsichtlich unterschiedlicher
Käsearten.
Ein wesentliches Merkmal der Erfindung im Hinblick auf die Benutzer-Schnittstelle
ist, dass der Benutzer lediglich Text in seiner bevorzugten Benutzersprache
sieht, sodass alle Worte in der Ausgabeantwort in die Benutzersprache übersetzt
sind. Ein weiteres wesentliches Merkmal entsprechend der Erfindung
ist, dass die Übersetzungen
der verfeinerten Anfragen auf der Liste basieren, sodass 1-zu-1-Übersetzungen
zwischen Elementen in der Datenbanksprache und korrespondierenden Übersetzungen
in der Benutzersprache stets gewährleistet
sind.
-
Typischerweise
wird der Text in dem Block 301 ein oder mehrere Worte aus
dem Anfangssatz der Worte sein, wohingegen der Text in den Blöcken 302a bis 302c Worte
sein werden, die nach dieser Anfrage als Worte in dem erweiterten
Satz von Worten gespeichert werden.
-
5 zeigt
als nicht beschränkendes
Beispiel ein Strukturdiagramm des Verfahrens gemäß der Erfindung, das mehrere
Benutzer unterstützt.
Aus Gründen
der Klarheit sind lediglich drei Benutzer 210 gezeigt, jedoch
ist es selbstverständlich,
dass im Wesentlichen eine beliebige Anzahl von Benutzern involviert
sein kann. Das Verfahren gemäß der Erfindung
unterstützt
die Nutzung in einer Vielzahl von Benutzersprachen. Ein Benutzer 210 erstellt
eine Anfrage in seiner bevorzugten Sprache, der Benutzersprache.
Diese Anfrage wird zu dem Übersetzungsdienst
TS 216 geleitet, wobei Information hinsichtlich der Benutzersprache
und/oder der Identifizierung des Benutzers in dem Block 223 herangezogen
wird und zu dem Block 224 gesendet wird, in dem eine Wahl
getroffen wird, welche Liste unter einer Vielzahl von Arbeitsspeichern 220 in
der Übersetzung zwischen
einer Benutzersprache und einer Datenbanksprache verwendet werden
soll. Es sei bemerkt, dass die Anzahl von Arbeitsspeichern gleich
der Anzahl beziehungsweise kleiner oder größer als die Anzahl der Benutzer
sein kann. Zum Beispiel könnte
eine Liste 220 jedem Benutzer 210 zugeordnet werden,
oder es kann eine Liste 220 jeder Benutzersprache zugeordnet
werden. Nach Identifizierung der Benutzersprache und Auswahl der
korrespondierenden Liste, wird die Bearbeitung der Anfrage in der
Datenbank in der Datenbanksprache ausgeführt, wie oben erläutert. Die
Anfragen werden wie zu 3 erläutert, erzeugt, wobei die Anfragen, wie
in Bezug auf die 1 und 2 erläutert, bearbeitet
und die Ergebnisse wie in Bezug zu den 3 und 4 erläutert, ausgegeben
werden.
-
Es
sei darauf hingewiesen, dass die Liste von Übersetzungsrelationen auch
einen Cache-Speicher CM angibt. Die Liste oder der Cache-Speicher
können
als Tabelle oder eine ähnliche
Struktur in einer Datenbank integriert sein. Alternativ kann die
Liste als einfache Datei in einem elektronischen Dateisystem integriert sein.
-
Gemäß einer
bevorzugten Ausführung
wird die Erfindung als Mittelschicht-Software-Komponente (wie detailliert
oben beschrieben) auf einem Server-Computer ausgeführt, der mit der Datenbank
verbunden ist und zumindest mit einem Kundencomputer verbunden ist.
Software-Komponenten auf dem Kundencomputer werden installiert,
um eine Interaktion mit dem Benutzer oder den Benutzern oder dem
Administrator beziehungsweise den Administratoren zu liefern, wie
dieses oben eben falls im Detail beschrieben worden ist. Die Datenbank,
der Server-Computer und der Kundencomputer können mit einem Datennetzwerk
untereinander verbunden sein, zum Beispiel einem lokalen Bereichsnetzwerk
oder einem externen Bereichsnetzwerk.
-
Der
Speicher (einschließlich
die Liste) kann ein Magnetband, ein optischer Speicher, ein digitaler
Videospeicher (DVD), ein Kompaktspeicher (CD oder CD-ROM), eine Minidisk,
eine Harddisk, eine Floppydisk, ein ferroelektrischer Speicher,
ein elektrisch löschbarer
programmierbarer Nur-Lesespeicher (EEPROM), ein Flashspeicher, EPROM,
ein Nur-Lesespeicher (ROM), ein statischer Zugriffspeicher (SRAM),
ein dynamischer Zugriffsspeicher (DRAM), ein synchroner dynamischer
Zugriffsspeicher (SDRAM), ein ferromagnetischer Speicher, ein optischer
Speicher, eine ladungsgekoppelte Einrichtung, eine Smart-Card, eine
PCMCIA-Karte etc. sein.
-
Eingabeeinrichtungen
zum Aufnehmen von Eingaben eines Benutzers und/oder eines Administrators können eine
Tastatur, ein Tastenkissen, einen Knopf oder eine Anordnung von
Knöpfen,
einen Berührungsschirm,
ein Zeigergerät
wie zum Beispiel eine Maus, einen Trackball, ein Berührungskissen,
einen digitalen Stift oder dergleichen umfassen. Die Eingabeeinrichtungen
können
ferner andere Formen von Mensch-Maschine-Schnittstellen, so zum
Beispiel eine auf Stimmen reagierende Schnittstelle oder dergleichen
aufweisen.
-
Ausgabeeinrichtungen
zum Liefern von Ausgaben an einen Benutzer und/oder einen Administrator können eine
Anzeigeeinrichtung, wie einen Monitor, eine Flüssigkristallanzeige, eine Kathodenstrahlröhre aufweisen,
um eine Anzeige an eine graphische Benutzer-Schnittstelle oder eine
andere Mensch-Maschinen-Schnittstelle
zu liefern. Alternativ oder zusätzlich
können
die Ausgabeeinrichtungen eine Audio-Ausgabeeinrichtung, zum Beispiel
eine Soundkarte oder einen Lautsprecher aufweisen.
-
Die
Bearbeitungsreinrichtungen zum Ausführen eines Programmes oder
einer Software-Komponente zum Ausführen der Erfindung können einen
Mikroprozessor enthalten, einen anwendungsspezifischen integrierten
Schaltkreis oder einen anderen integrierten Schaltkreis, eine Smart-Card,
einen Universalcomputer mit geeigneter Software oder dergleichen.
-
Ein
Computer-lesbares Medium kann ein Magnetband, eine optische Platte,
eine digitale Videoplatte (DVD), eine Kompaktplatte (CD oder CD-ROM),
eine Minidisk, eine Harddisk, eine Floppydisk, eine Smart-Card,
eine PCMCIA-Karte etc. sein.