DE69812162T2 - Vorrichtung zur Verwendung bei der Identifizierung semantischer Mehrdeutigkeiten - Google Patents

Vorrichtung zur Verwendung bei der Identifizierung semantischer Mehrdeutigkeiten

Info

Publication number
DE69812162T2
DE69812162T2 DE69812162T DE69812162T DE69812162T2 DE 69812162 T2 DE69812162 T2 DE 69812162T2 DE 69812162 T DE69812162 T DE 69812162T DE 69812162 T DE69812162 T DE 69812162T DE 69812162 T2 DE69812162 T2 DE 69812162T2
Authority
DE
Germany
Prior art keywords
data
text
semantically significant
input
identified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69812162T
Other languages
English (en)
Other versions
DE69812162D1 (de
Inventor
Robert Preston
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of DE69812162D1 publication Critical patent/DE69812162D1/de
Publication of DE69812162T2 publication Critical patent/DE69812162T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Description

  • Diese Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung für die Eingabe von Daten in Computer, und in einigen Ausführungen für das anschließende Abrufen derselben. Insbesondere, jedoch nicht ausschließlich, bezieht sich die Erfindung in einer Ausführung auf die Dateneingabe in eine und den Datenabruf aus einer Datenbank, und in einer anderen auf eine Dateneingabe, die die Spezifikationen für ein Computerprogramm definiert.
  • Das Problem, zwischen Mensch und Computer Kommunikation zu ermöglichen, hat die im Bereich der Computerhard- und -software Tätigen seit der Geburt des Computers beschäftigt. Seit Jahrzehnten ist das Ziel gewesen, Computer zur Verfügung zu stellen, die mit einem Menschen auf "natürliche" Weise kommunizieren können, indem sie freies Sprechen oder Texteingabe verstehen. Jedoch wurde dieses Ziel trotz kontinuierlichem Fortschritt noch nicht erreicht.
  • Mensch-Computer-Interaktion wird für viele Dinge verwendet. Zum Beispiel wird sie benutzt, um Instruktionen für unmittelbare Aktionen eines Computers einzugeben (und die derzeit hauptsächlich durch die Kombination eines Gerätes zur Cursorsteuerung, wie zum Beispiel einer Maus, und Piktogramme, die auf dem Bildschirm angezeigt werden, oder durch die Verwendung von Menüs, verfügbar ist). Sie wird auch dafür verwendet, um Instruktionen für spätere Ausführung einzugeben (was derzeit hauptsächlich erreicht wird, indem Menschen dazu gezwungen werden, straff konstruierte Programmiersprachen oder Beschreibungssprachen zu benutzen, die trotz ihrer oberflächlichen Ähnlichkeit zu menschlichen Sprachen wenig Beziehung zu der Art und Weise haben, wie Menschen tatsächlich kommunizieren). Schließlich wird sie für Datenspeicherung und -abruf verwendet (was derzeit typischerweise durch Speichern eines Textdokumentes und Abrufen durch die Suche nach dem Auftreten von Buchstabenketten innerhalb des Dokuments durchgeführt wird).
  • Fachleute auf diesem Gebiet sind dieses Problem durch die Entwicklung von Methoden der künstlichen Intelligenz angegangen, die entweder darauf abzielen, einen ausreichend umfangreichen Befehlssatz zur Verfügung zu stellen, mit dem eine Maschine schließlich natürliche Spracheingabe versteht, oder eine "selbstlernende" Maschine zur Verfügung zu stellen, die in der Lage ist, die selbe Fähigkeit zu entwickeln, indem sie der natürlichen Sprache wiederholt ausgesetzt wird.
  • In einem Aspekt versucht die vorliegende Erfindung, dasselbe technische Problem anzugehen, aber aus einer anderen Richtung. In der vorliegenden Erfindung wird ein einzugebendes Dokument (das gesprochen oder in Textform sein kann, oder in irgendeiner anderen Form, die natürliche Sprache darstellt) in eine Einrichtung zur Eingabe eingegeben (die durch einen Computer für allgemeine Zwecke zur Verfügung gestellt werden können) und analysiert, um die bedeutsamen Konzepte in dem Dokument zu separieren und diese zusammen mit ihren Zwischenbeziehungen aufzuzeichnen. Die vorliegende Erfindung hat dies mit den meisten Systemen künstlicher Intelligenz, die erprobt wurden, gemeinsam.
  • Zum Beispiel veröffentlicht EP-A-0 118187 ein menügesteuertes Eingabesystem für natürliche Sprache, das es dem Benutzer erlaubt, zu jedem Zeitpunkt ein Wort aus einem Menü auszuwählen, das die nächsten möglichen Auswahlen aufruft, die auf dem basieren, was vorher eingegeben wurde.
  • US 5.677.835 veröffentlicht ein Entwicklungssystem für Autoren, bei dem zu übersetzende Dokumente eingegeben und analysiert werden, und wenn Vieldeutigkeiten entdeckt werden, wird der Benutzer aufgefordert, diese aufzulösen.
  • EP 387 226 veröffentlicht die Verwendung eines Visualisierungswerkzeuges, um ein Schema einer Datenbank für ein Analysesystem für natürliche Sprache zu spezifizieren. Das Schema der Datenbank wird später von einem Datenbank-Interface für die Analyse von Anfragen in natürlicher Sprache verwendet, die in das System eingegeben werden. Insbesondere kann ein Benutzer das Visualisierungswerkzeug verwenden, um Tabellen von Datenbanken und Beziehungen zwischen den Tabellen zu spezifizieren, die zusammen das Schema der Datenbank darstellen. Das Visualisierungswerkzeug wird also nur während der Erstellung von Datenabankanwendungen verwendet, und ist eine Alternative zu text- oder formbasierten Methoden, ein Schema und/oder ein Datenbeschreibungsverzeichnis einer Datenbank aufzubauen.
  • Die Fig. 2a und 4 von EP 387.226 zeigen Verbindungselemente zwischen Elementen. Diese Verbindungselemente zeigen Assoziationen zwischen Elementen an, und diese Assoziationen werden durch den Benutzer spezifiziert, wenn er das Schema der Datenbank aufbaut.
  • EP 387 226 verwendet ein Datenbankschema, das so definiert wird, dass es Anfragen interpretiert, die in verschiedenen Formen natürlicher Sprache formuliert sind. Die Anfragen werden unter Verwendung des Visualisierungswerkzeuges gemäß dem erzeugten Schema in eine sprachunabhängige Form übersetzt, und dann gemäß einem festgelegten Protokoll von der sprachunabhängigen Form in eine Abfragesprache für Datenbanken, zum Beispiel SQL. Also wird nach EP 387.226 in eine sprachunabhängige Form und von dort nach SQL übersetzt, statt von der natürlichen Sprache direkt in SQL zu übersetzen.
  • Nach einem ersten Aspekt der Erfindung wird eine Vorrichtung zur Verwendung bei der Identifizierung semantischer Mehrdeutigkeiten angegeben, mit
  • Mittel zur Eingabe, einschließlich einem Mittel zur Texteingabe; Mittel zur Speicherung;
  • Mittel zur Verarbeitung, die für die Analyse des eingegebenen Textes eingerichtet sind, um
  • semantisch bedeutsame Elemente im eingegebenen Text zu identifizieren;
  • Beziehungen zwischen den identifizierten semantisch bedeutsamen Elementen abzuleiten; und
  • eine Gruppe identifizierter semantisch bedeutsamer Elemente und Daten, die die abgeleiteten Beziehungen definieren, in Mitteln zur Speicherung zu speichern;
  • Mittel zur graphischen Anzeige, welche, als Antwort auf besagte Analyse des eingegebenen Textes, eingerichtet sind, um eine visuelle Darstellung des besagten eingegebenen Textes zu erzeugen, in der die identifizierten semantisch bedeutsamen Elemente durch bildhafte Elemente und die dazwischen abgeleiteten Beziehungen durch Verbindungselemente, die die bildhaften Elemente verbinden, dargestellt sind.
  • Also bezeichnen die Verbindungselemente der Ausführungen der vorliegenden Erfindung abgeleitete Beziehungen zwischen Elementen des analysierten eingegebenen Textes, und variieren als Funktion des eingegebenen Textes. Im Vergleich hierzu zwingen die Verbindungselemente in EP 387.226 die eingegebenen Einheiten, sich dem hier spezifizierten Schema anzupassen, und variieren nicht mit dem eingegebenen Text. Wenn also ein Verbindungselement in dem Schema geändert werden soll, wirkt sich dies auf alle anderen Datenbankeinträge in gleicher Weise aus.
  • In Ausführungen der Erfindung werden die bedeutsamen Einheiten (zum Beispiel die durch Hauptwörter beschriebenen Konzepte), die aus dem eingegebenen Dokument extrahiert werden, in graphischer Form in einer Bildschirmanzeige zur Ausgabe dargestellt, die sie als einzelne Piktogramme wiedergibt und ihre Verbindung oder Beziehung in ihrer Bedeutung zeigt.
  • Dieser anscheinend einfache Schritt bringt eine Anzahl von Vorteilen. Der erste ist, dass er dem Menschen, der Daten eingibt, eine sofortige Rückmeldung über das vom Computer erreichte "Verstehen" gibt. Die natürliche menschliche Sprache ist voller Mehrdeutigkeiten, die normalerweise von Menschen ohne bewusstes Denken auf Grund ihrer gemeinsamen Wissensbasis leicht aufgelöst werden können, und die bestenfalls mehrdeutig und im schlechtesten Fall von einem Computer falsch verstanden werden. Um ein englisches Beispiel zu nehmen, "Mary was kissed by the lake" ist mehrdeutig, weil es entweder so interpretiert werden kann, dass der See die aktive Partei (der Küssende), oder der See der Ort ist, an dem Mary von einer (unbekannten) aktiven Partei geküsst wird.
  • Während ein Mensch die richtige Bedeutung sofort versteht, und vielleicht nicht einmal das Vorhandensein einer Mehrdeutigkeit sieht, ist ein Computer hierzu unfähig, außer er ist mit einer Vorschrift programmiert oder durch Erfahrung konditioniert.
  • Durch die graphische Darstellung der verstandenen Konstruktion ermöglicht die vorliegende Erfindung jedoch die Vermeidung solcher Mehrdeutigkeiten, die für den Benutzer sofort erkennbar sind.
  • Außerdem stellt die Erfindung eine graphische Schnittstelle zum Benutzer zur Verfügung, um dem Benutzer zu ermöglichen, die graphische Anzeige zu manipulieren, und Mittel, um das Ergebnis einer solchen Manipulation zu interpretieren. Es wäre im Prinzip tatsächlich möglich, dem Benutzer die direkte graphische Eingabe des Dokuments zu erlauben, ohne vorher das Dokument direkt einzugeben (obwohl dies aus Gründen der Geschwindigkeit für die meisten Anwendungen nicht bevorzugt wird).
  • Also kann der Benutzer dem Rechner erlauben, so viel Bedeutung wie möglich aus dem eingegebenen Dokument zu extrahieren und die Mehrdeutigkeiten oder Fehler dann graphisch zu korrigieren.
  • Die Erfindung wird als verschieden von den so genannten "visuellen Programmiersystemen" verstanden, die zum Beispiel in EP-A-0 473 414 beschrieben sind. Solche visuellen Programmiersysteme stellen eine graphische Umgebung zur Verfügung, in der die zu spezifizierenden Vorgänge visuell dargestellt werden, und der Benutzer eine Abfolge solcher Vorgänge spezifizieren kann, indem er die Anzeige editiert, um Verbindungen zwischen den Elementen zu erzeugen und zu verändern. In der visuellen Programmierung wie in anderen bekannten Methoden zum Erzeugen oder Spezifizieren von Programmen wird der Benutzer jedoch gezwungen, aus einer begrenzten Anzahl vordefinierter Vorgänge und Verbindungen dazwischen auszuwählen. Im Gegensatz dazu akzeptiert die vorliegende Erfindung Dokumente als Eingabe und analysiert diese Dokumente, um eine graphische Anzeige zu erzeugen, die anschließend editiert werden kann.
  • Die sich ergebenden semantischen Strukturen, die der graphischen Darstellung entsprechen (die, wo nötig, korrigiert wird), werden für anschließende Verarbeitung oder Abruf gespeichert. In einer Ausführung wird eine Einrichtung zum Abrufen von Daten zur Verfügung gestellt. In einer anderen Ausführung werden die gespeicherten Daten von einem Codeerzeuger verwendet, um ein Computerprogramm zu erstellen.
  • Die Erfindung wird vorteilhaft für diese letztgenannte Anwendung verwendet, weil die Detektion von Mehrdeutigkeiten eine der Schwierigkeiten in der bestehenden Softwarespezifikation und der automatischen Codeerzeugung aus solchen Spezifikationen beseitigt.
  • In jedem Fall gibt es in der bevorzugten Ausführung eine gespeicherte lexikalische Tabelle, in der die Daten mit Bezug auf die Bedeutungen der Wörter gespeichert sind, die in dem Quelldokument gefunden werden (analog zu einem Eintrag in einem gut strukturierten Wörterbuch).
  • Vorzugsweise wird die Einrichtung in diesem Fall dafür eingerichtet, unter Verwendung dieser semantischen Informationen "logisches Denken" durchzuführen, indem die Bedeutungen von Gruppen von Wörtern (zum Beispiel Klauseln oder Sätze) eines Dokumentes verglichen werden, um Widersprüchlichkeiten zu finden, oder indem der selbe Vorgang mit mehreren verschiedenen Dokumenten durchgeführt wird.
  • Dies ist besonders vorteilhaft in Ausführungen, in denen das Quelldokument eine Spezifikation für die Erzeugung von Computercode darstellen soll, weil es das Auffinden von widersprüchlichen Anforderungen ermöglicht.
  • Weil die vorliegende Erfindung in dieser Ausführung etwas "Verständnis" von der "Bedeutung" der Wörter hat, ist sie in der Lage, die Inhaltsdaten (zum Beispiel in Form semantischer Strukturen, die Gruppen von Wörtern wie Klauseln oder Sätze repräsentieren) mit Bezug auf solche "Wörterbucheinträge" zu speichern - zum Beispiel mit Bezug auf ihre "Bedeutung" statt auf das Wort in der Sprache der Quelle, das eingegeben wurde. Dies ermöglicht die Verwendung der vorliegenden Erfindung in einer mehrsprachigen Ausführung, wobei die lexikalischen Einträge auf entsprechende Wörter in jeder aus einer Vielzahl von Sprachen abgebildet werden, so dass Daten in einer Sprache eingegeben und in einer oder mehreren anderen ausgegeben werden können.
  • In Ausführungen für den Abruf von Daten oder ähnlichen Anwendungen kann jeder lexikalische Eintrag einen assoziierten Code haben, der die "Schwierigkeit", "Unklarheit" oder "Ungewohntheit" des beschriebenen Konzeptes bezeichnet. Konzepte können zum Beispiel als für Kinder und aufwärts vertraut, Erwachsenen vertraut, oder als nur besonderen Spezialisten wie Physikern, Chemikern, Biologen oder Anwälten vertraut bezeichnet werden.
  • Mit Wissen über den Grad an Vertrautheit des Datenabrufers ist die vorliegende Erfindung in dieser Ausführung in der Lage, derartige Einschätzungen zu nutzen, um Daten auszugeben, die dem Verständnis des Abrufers angemessen sind, also etwa keine Informationen auszugeben, die für einen fortgeschrittenen Benutzer zu einfach oder für einen gelegentlichen Benutzer zu komplex sind.
  • Verschiedene semantische Elemente können durch eine Bewertung der Zugangsebene implizit oder explizit miteinander in Beziehung gesetzt werden. Klassifizierte Elemente können also nur für den Zugang durch richtig identifizierte Benutzer verfügbar sein, Elemente "nur für Erwachsene" können als nicht verfügbar für identifizierte Kinder klassifiziert werden; und richtige Namen können unter manchen Umständen unterdrückt werden (zum Beispiel der Name von Parteien in einem Rechtsstreit).
  • Indem eine Klassifizierung mit jedem Element statt mit Dokumenten oder Materialien als ganzem assoziiert wird, erhält man eine viel feinkörnigere Kontrolle der Information.
  • In Ausführungen zum Abrufen umfasst die Einrichtung zum Abrufen der Daten vorzugsweise einen Erzeuger von natürlicher Sprache, um ein Dokument aus semantischen Strukturen wie oben beschrieben zu erzeugen. Dies hat verschiedene Vorteile gegenüber der bloßen Versorgung mit korrespondierenden Teilen des Originaldokumentes.
  • Erstens eröffnet es, wie oben beschrieben, die Möglichkeit mehrsprachiger Ausführungen, weil verschiedene Erzeuger aus der selben semantischen Struktur Text in verschiedenen Sprachen erzeugen können.
  • Zweitens kann der Erzeuger, wenn Zugangscodes wie oben beschrieben eingesetzt werden, in bevorzugten Ausführungen in der Lage sein, lesbaren Text aus einer reduzierten Informationsmenge zu regenerieren (zum Beispiel, indem die passive Stimme statt der aktiven Stimme verwendet wird, wenn ein Name unterdrückt wird). Dieser Aspekt der Erfindung ist ebenso unabhängig von den Methoden zur Dateneingabe nützlich.
  • Die Eingabe und/oder die Ausgabe nach verschiedenen Ausführungen der Erfindung können in Form von Sprache, Text oder Videoanimation sein, wobei in dem Fall die Ein- und Ausgabeeinrichtung, soweit angemessen, Spracherkennungssysteme und/oder Spracherzeuger, Ein- und Ausgabe von Text und Vorrichtungen zur Bildaufnahme und -analyse und Erzeugung von Videos umfasst.
  • Andere Aspekte und bevorzugte Ausführungen werden in der folgenden Beschreibung und den Ansprüchen beschrieben.
  • Nun werden Ausführungen der Erfindung, nur als Beispiel, mit Bezug auf die Zeichnungen im Anhang veranschaulicht:
  • Fig. 1 ist ein Blockdiagramm der Einrichtung nach einer ersten Ausführung;
  • Fig. 2 ist ein Blockdiagramm, das den Prozess in feineren Details zeigt, der sich in einem Client-Terminal abspielt, welches einen Teil der Ausführung in Fig. 1 bildet;
  • Fig. 3 ist ein Blockdiagramm, das den Prozess in feineren Details zeigt, der sich in einem Server abspielt, welcher einen Teil der Ausführung in Fig. 1 bildet;
  • Fig. 4 ist ein Blockdiagramm, das den Prozess in feineren Details zeigt, der sich in einem Server in Fig. 3 abspielt;
  • die Fig. 5a und 5b sind Darstellungen der Anzeige der Ausgabe, die nach der ersten Ausführung erzeugt wurden;
  • Fig. 6a ist ein Flussdiagramm, das den Prozess der Dateneingabe nach der ersten Ausführung zeigt, der vom Terminal in Fig. 1 durchgeführt wird;
  • Fig. 6b ist ein Flussdiagramm, das den Prozess der Dateneingabe zeigt, der vom Server in Fig. 1 durchgeführt wird;
  • Fig. 7 ist ein Diagramm, das die im Terminal in Fig. 1 gespeicherten Daten darstellt;
  • Fig. 8 ist ein Flussdiagramm, das den Prozess der Textanalyse zeigt, der vom Server in der Fig. 1 durchgeführt wird;
  • Fig. 9a ist ein Blockdiagramm, das die gespeicherten Daten zeigt, die für die Analyse in Fig. 8 verwendet werden;
  • Fig. 9b zeigt die Speicherung der Daten, die durch die Analyse in der Fig. 8 erzeugt werden;
  • Fig. 10 ist ein Diagramm, das die Ergebnisse der Analyse in Fig. 8 darstellt;
  • die Fig. 11a und 11b sind Diagramme, die die Anzeige darstellen, die von der ersten Ausführung aus den Daten erzeugt wird, die in einer lexikalischen Datenbank gespeichert sind, welche einen Teil der Fig. 9a bildet;
  • die Fig. 12a und 12b sind Bildschirmanzeigen, die die graphische Wiedergabe der gespeicherten Daten am Terminal der ersten Ausführung und den daraus erzeugten entsprechenden Text zeigen;
  • Fig. 13 ist ein Blockdiagramm, das die hierarchische Anordnung der in der lexikalischen Datenbank gespeicherten Daten illustriert, die einen Teil der Fig. 9a bildet;
  • Fig. 14 ist ein Diagramm, das die Inhalte der Datensätze eines Wortes in einem Speicher zeigt, der einen Teil der Fig. 9b bildet;
  • Fig. 15a ist ein Flussdiagramm, das den Prozess des Datenabrufs zeigt, der vom Terminal in Fig. 1 durchgeführt wird;
  • Fig. 15b ist ein Flussdiagramm, das den Prozess des Datenabrufs zeigt, der vom Server in der Fig. 1 durchgeführt wird;
  • Fig. 16 ist ein Flussdiagramm, das die Stufen der Texterzeugung zeigt, die vom Server in Fig. 1 als Teil des Prozesses in Fig. 15 durchgeführt wird;
  • Fig. 17 ist ein Diagramm, das die Bildschirmanzeige der Ergebnisse des Datenabrufs in Textform zeigt;
  • Fig. 18 zeigt die entsprechende graphische Wiedergabe davon;
  • Fig. 19 entspricht Fig. 9a und zeigt die Daten, die für eine dritte Ausführung der Erfindung unter Verwendung mehrerer Sprachen gespeichert werden;
  • Fig. 20 ist ein Blockdiagramm eines Terminals, das in einer vierten Ausführung der Erfindung verwendet wird und dem in der Fig. 1 gezeigten entspricht;
  • Fig. 21 ist ein Flussdiagramm, das den Prozess der Codeerzeugung nach einer fünften Ausführung der Erfindung zeigt;
  • Fig. 22 zeigt eine Bildschirmanzeige mit gespeichertem Text nach einer sechsten Ausführung;
  • Fig. 23 ist ein Flussdiagramm, das schematisch den Prozess der Texteingabe nach der sechsten Ausführung zeigt;
  • Fig. 24a wiederholt die Anzeige der Fig. 22 mit einem hervorgehobenen Wort;
  • Fig. 24b ist eine Anzeige von mehreren möglichen Bedeutungen des Wortes;
  • Fig. 25 ist ein Flussdiagramm, das schematisch den Prozess des Abrufs von gespeichertem Text zeigt, der mit dem Prozess in Fig. 23 eingegeben wurde; und
  • Fig. 26 (die Fig. 26a und 26b umfasst) zeigt die Transformation von eingegebenem Text (entsprechend einem Teil des in Fig. 22 gezeigten) in gespeicherte Datensätze nach einer sechsten Ausführung der Erfindung.
  • Erste Ausführung
  • Eine erste Ausführung der Erfindung ist ein internetbasiertes System zum Speichern und zum Abrufen von Daten.
  • Bezug nehmend auf Fig. 1 kann die vorliegende Erfindung von einem Client-Terminal 100a umgesetzt werden, das über ein Telekommunikationsnetzwerk 300 wie etwa das Public Switched Telephone Network (PSTN) mit einem Serverrechner 200 verbunden ist. Die Begriffe "Client" und "Server" sind in dieser Ausführung veranschaulichend zu verstehen und nicht auf irgend eine besondere Architektur oder Funktionalität beschränkt. Das Client- Terminal umfasst eine Tastatur 102, eine Einheit für die visuelle Anzeige (Visual display Unit VDU) 104, ein Modem 106 und einen Rechner mit einem Prozessor, einem Massenspeicher, wie etwa eine Festplatte, und Arbeitsspeicher, wie etwa RAM. Zum Beispiel eine SUN (TM) Workstation oder ein auf einem Pentium(TM)-Prozessor basierender PC kann als Client-Terminal 100a eingesetzt werden. Bezug nehmend auf Fig. 2 ist in dem Client-Terminal (zum Beispiel auf dessen Festplatte) ist ein Programm zur Steuerung des Betriebs 110 gespeichert, das ein Betriebssystem 112 (wie etwa Windows (TM)) einen Browser 114 (wie etwa der Windows Explorer (TM) Version 3) und eine Anwendung 116 (wie etwa ein Java(TM)-Applet), die dazu ausgelegt ist, mit dem Browser 114 zusammen zu arbeiten. Die Funktion des Browsers 114 ist es, auf bekannte Weise mit der Hypertext-Information zu interagieren, die von dem Server 200 über das PSTN 300 und das Modem 106 empfangen wird. Der Browser 114 lädt dabei das Applet 116 zu Beginn der Kommunikationssitzung als Teil eines Hypertext-Dokuments von dem Server 200 herunter.
  • Die Funktion des Applets 116 ist es, die Anzeige der empfangenen Informationen zu steuern, und die Eingabe von Informationen zum Hochladen auf den Server 200 durch den Benutzer mittels des Browsers 114 zu erlauben.
  • In dieser Ausführung, die die Dateneingabe und den Datenzugang betrifft, umfasst das Applet zwei separate Applets 116a und 116b;
  • ein erstes Applet 116a für die Dateneingabe und ein zweites 116b für den Datenabruf.
  • Bezug nehmend auf Fig. 3 umfasst der Server 200 einen Kommunikationsport 202 (zum Beispiel ein Modem), eine zentrale Prozessoreinheit 204 (zum Beispiel einen Mainframe-Rechner), und einen Massenspeicher 206 (zum Beispiel ein Festplattenlaufwerk oder eine Reihe von Diskettenlaufwerken).
  • Bezug nehmend auf Fig. 4 umfasst der Server 200 ein Programm für den Betrieb 210, das ein Betriebssystem 212 wie etwa UNIX (TM), ein Serverprogramm 214 und ein Anwendungsprogramm 216 beinhaltet. Das Betriebssystem ist konventionell und wird nicht weiter beschrieben.
  • Die Funktion des Serverprogramms 214 ist es, Anfragen für Hypertext-Dokumente von dem Client-Terminal 104 zu empfangen und als Antwort Hypertext-Dokumente zu liefern. Insbesondere lädt das Serverprogramm ein Dokument, das das Applet 116 enthält, zu dem Client-Terminal herunter. Das Serverprogramm 214 ist ebenso dafür eingerichtet, Daten an das Anwendungsprogramm 216 zu liefern und Daten davon zu über zum Beispiel einen cgi.bin-Mechanismus oder einen Java Remote Method Invocation (RMI)-Mechanismus zu empfangen. Das Anwendungsprogramm 216 umfasst eine erste Anwendung 216a für die Dateneingabe und eine zweite Anwendung 216b für die Datenabfrage. Jede empfängt Daten von einem Client- Terminal 100, führt die Verarbeitung durch und gibt die Daten an den Client zur Anzeige zurück.
  • Dateneingabe Übersicht
  • Bezug nehmend auf die Fig. 6a und 6b wird nun eine Übersicht über den Betrieb bei der Dateneingabe gegeben.
  • Auf ein Signal in Schritt 302 für den Beginn der Dateneingabe vom Benutzer (zum Beispiel durch Anwählen eines Piktogramms auf dem Terminal 100) hin greift der Browser auf den Server 200 über PSTN 300 auf herkömmliche Weise zu.
  • In Schritt 322 empfängt der Server 200 die Zugangsanfrage, die über das Betriebssystem 212 zum Serverprogramm 214 und dann zu der Anwendung 216 zur Bearbeitung weitergegeben wird. Die Anwendung 216 ruft aus dem Speicher 206 eine Kopie des Applets 116 ab und überträgt es in Schritt 324 über das PSTN 300 zum Terminal 100.
  • In Schritt 304 empfängt Terminal 100 das Applet 116 und der Browser 114 lädt das Applet in den Speicher und veranlasst seine Ausführung.
  • Bezug nehmend auf Fig. 5a zeigt das Applet dann einen Bildschirminhalt für den Dateneingang an, der ein Texteingabefenster 402 beinhaltet.
  • In Schritt 306 erlaubt das Applet 116a dann, Text in den Anzeigebereich 402 zu schreiben, und puffert ihn lokal im Terminal 100.
  • Auf ein Signal des Benutzers hin, die Analyse zu beginnen (zum Beispiel indem der Knopf 404 mit den Eingabegerät 102 angewählt wird) sendet das Applet 116 den Text, der in dem Eingabefenster 402 angezeigt wird, zum Server 200.
  • In Schritt 326 empfängt der Server 200 den Text, der an die Anwendung 216 weitergegeben wird. In Schritt 328 führt die Anwendung 216, wie unten detaillierter beschrieben wird, eine semantische Analyse mit dem Text durch, um in dem Text die folgenden Elemente zu finden und zu identifizieren:
  • a) Bedeutungsvolle semantische Einheiten, typischerweise als Hauptwörter bezeichnet. In dem gezeigten Beispiel sind die semantischen Einheiten beispielsweise "satellite", "number" und " transponders".
  • b) Die Form von jeder der Einheiten (zum Beispiel ob es im Singular oder Plural steht) und ob es in bestimmter oder unbestimmter Form vorliegt. In dem in Fig. 5a gezeigten Beispiel steht "The satellite" im Singular und "The" zeigt an, dass es in bestimmter Form vorliegt. "number" steht im Singular und "a" zeigt an, dass es in unbestimmter Form vorliegt. "transponders" steht im Plural, und das Fehlen des Bestimmungswortes nach "of" zeigt an, dass es in unbestimmter Form vorliegt.
  • c) "Zustände von Angelegenheiten" - im Allgemeinen durch Verben angezeigt. Zustände von Angelegenheiten zeigen entweder Handlungen an, wie es die meisten Verben tun, oder Zustände des Seins (zum Beispiel das Verb "sein"). In diesem Beispiel sind "tragen" und "können" Zustände von Angelegenheiten.
  • d) Die Verbformen, die mit jedem Zustand von Angelegenheiten verbunden sind, (zum Beispiel die Zeit, in der das betreffende Verb steht).
  • e) Nähere Bestimmungen (zum Beispiel Adverben oder Adjektive) die Eigenschaften zuschreiben oder eine Einheit oder einen Zustand von Angelegenheiten auf andere Weise modifizieren.
  • f) Die Verbindungen zwischen den verschiedenen Auftritten des Oben genannten (zum Beispiel, auf welche Einheiten sich ein Zustand von Angelegenheiten auswirkt und wie; und welche Einheiten oder Zustand von Angelegenheiten ein eine nähere Bestimmung bestimmt).
  • Alle erfassten Zustände von Angelegenheiten, Einheiten und Näheren Bestimmungen werden durch gespeicherte Einträge (die genauer beschrieben werden) im Speicher 206 dargestellt.
  • Die Anwendung 216 erzeugt dann Anzeigesteuerungsdaten für die Übertragung an das Terminal 100, die eine Liste oder eine Folge von Aufzeichnungen aufweisen, die jeweils einer erkannten Einheit, Zustand von Angelegenheiten oder Näheren Bestimmungen entsprechen und den Namen des Objekts (also den anzuzeigenden Text), der den erkannten Gegenstand angibt (z. B. das eingegebene Wort, etwa "Satellit" oder "Tragen"), zusammen mit Zeigerdaten, die die semantischen Verbindungen dazwischen angeben, und Daten enthalten, die die Verbform derselben (z. B. wie oben angegeben Singular oder Plural oder Ähnliches) angeben.
  • Im Schritt 330 werden diese Daten an das Terminal 100 übertragen und dort im Schritt 310 empfangen. Auf den Empfang hin werden sie an das Applet 116a übergeben, das sie speichert. Das Applet 116 ist üblicherweise ein Objekt-orientiertes Programm, das dazu ausgelegt ist, Klassendaten bezüglich einer Klasse von Zuständen von Angelegenheiten; einer Klasse von näheren Angaben und einer Einheitenklasse zu speichern, wobei die Daten einen Satz von Aufzeichnungen aufweisen, von denen jeder als ein Objekt interpretiert wird, das eine der Klassen realisiert. Jeder der Klassen zugeordnet ist Zeichnungscode, der das Applet 116 in die Lage versetzt, die Zeichnung des entsprechenden Objekts zu veranlassen.
  • Fig. 7 zeigt die Form, in der drei solche Objekte 510, 520, ..., 540 gespeichert sind; jedes weist ein Feld (512, 522) für Zeichenattribute (etwa Position und Größe) auf, die zum Zeichnen des Objekts verwendet werden; ein Feld 524 zur Speicherung der Bedeutung (z. B. ein Wort, das das Substantiv, den Vokal oder die nähere Bezeichnung des gezeigten Objekts darstellt; ein Feld (516, 526), das die Parameter der semantischen Einheit des dargestellten Objekts speichert (beispielsweise ob es Singular oder Plural ist oder Ähnliches); und zwei Zeigerfelder (518, 519; 528, 529), die jeweils Zeiger auf ein oder mehrere Objekte speichern, mit denen das Objekt verknüpft ist, und auf ein oder mehrere Objekte von denen aus das Objekt verknüpft ist. Von diesen Zeigerfeldern werden die Verbindungen zwischen den Objekten abgeleitet und wie in Fig. 5b gezeigt grafisch dargestellt.
  • Mit Bezug auf Fig. 5b wird ein Anzeigebereich für die Analyse zur Verfügung gestellt, in dem das Applet-Programm 116a jedes der vom Server 200 empfangenen Objekte einzeichnet, die in einer Form dargestellt werden (die visuell für Einheiten, Nähere Bestimmungen und Zustände von Angelegenheiten verschieden ist, indem sie zum Beispiel von verschiedener Form und/oder verschiedener Farbe ist) und das in jeder Form den Namen des Objektes wiedergibt (der im Allgemeinen dem eingegebenen Text entspricht). Außerdem zeichnet das Applet 116a graphische Verbindungen (gezeigt als Linien mit Pfeilen), die die semantischen Verbindungen zwischen den Objekten anzeigen, wobei die Zeigerdaten in jedem Objekt und ein Zeichenprogramm für das Zeichnen von Linien mit Pfeilen verwendet werden, um die Zeigerdaten darzustellen.
  • Das Ergebnis ist, wie in Fig. 5b gezeigt, dass die Ergebnisse der Textanalyse, die von der Anwendung 216 durchgeführt wurde, zur Ansicht durch den Benutzer in einer Form graphisch dargestellt werden, die das sofortige Erkennen jeglicher Missverständnisse durch das Analyseprogramm ermöglicht.
  • In der Darstellung der anzuzeigenden Daten des semantischen Diagramms in dem Anzeigefenster 406 erlaubt das Applet 116a dem Benutzer, die graphische Anzeige zu editieren, insbesondere durch die "Auswahl" der Darstellung von verbindenden Zeigern (zum Beispiel mit einer Maus) und sie zu löschen (zum Beispiel durch Betätigen der "Entfernen"-Taste auf der Tastatur 102); und neue Zeiger hinzuzufügen (zum Beispiel, indem ein erstes angezeigtes Objekt ausgewählt wird, der angezeigte Cursor zu einem zweiten bewegt wird, und zu verstehen gegeben wird, dass eine Verbindung gebildet werden soll, indem Maus oder Tastatur betätigt werden).
  • Wo also eine unrichtige Beziehung zwischen angezeigten Objekten von der Anwendung 216 verstanden wurde, kann der Benutzer das Diagramm neu zeichnen, um die richtige Beziehung darzustellen. Das Applet 116 ist dazu eingerichtet, die Zeigerdaten (528, 529; 518, 519), die in jedem gespeicherten semantischen Objekt enthalten sind, zu editieren, um die veränderten Verbindungen zu aktualisieren.
  • Vorzugsweise werden auch Vorkehrungen getroffen, um das Löschen angezeigter Objekte zu ermöglichen, wo der Benutzer dies wünscht.
  • Außerdem stellt das Applet 116a vorzugsweise herkömmliche Optionen für die graphische Benutzerschnittstelle zur Verfügung, um angezeigte Objekte zu verschieben und/oder angezeigten Objekten eine neue Größe zuzuweisen; in diesem Fall verändert das Applet 116a die Werte der lokal gespeicherten Eigenschaften der Anzeige (512; 522) jedes Objektes.
  • Beim Beenden des so beschriebenen Editierungsschrittes 314 gibt der Benutzer zu verstehen, dass die Editierung vollständig ist (zum Beispiel durch Betätigen einer Taste auf der Tastatur 102) und, das Applet 116a sendet als Antwort hierauf die editierten Objektdaten (ohne die oben besprochenen Eigenschaftsdaten für die Anzeige (512; 522)) in Schritt 316 an den Server.
  • Im Schritt 332 empfängt der Server 200 die editierten Daten und speichert die Daten in Schritt 334 im Speicher 206.
  • Analyseprozess
  • Weitere Details der Funktionsweise der Anwendung 216 bei der Durchführung des Analyseschritts 328 werden nun beschrieben. In einem Schritt 602 der Fig. 8 wird der vom Terminal 100 empfangene Text vorverarbeitet, um die Anfänge und Enden der Worte (durch die Anwesenheit eines Leerzeichens), die Anwesenheit von Interpunktionen, die Anwesenheit von Großbuchstaben, (die (im Englischen) entweder einen Eigennamen oder einen Satzbeginn anzeigen) und die Anwesenheit von numerischen oder anderen speziellen Zeichen zu finden. Der vorverarbeitete Text, in dem Worte, Zahlen und so weiter separiert und markiert sind, wird in einem Textpuffer 222 im Arbeitsspeicher 220 gespeichert, der im Speicher 206 wie in Fig. 9b gezeigt zur Verfügung gestellt wird.
  • Wenn ein oder mehrere Einträge gefunden werden, die verschiedenen Bedeutungen entsprechen, werden die Einträge für jede Bedeutung mit einem Zeiger auf den relevanten Eintrag in der lexikalischen Tabelle (als Alternativen) gespeichert.
  • Als nächstes wird in Schritt 604 eine Datenbank der Erweiterungen 232, die in einem festen Speicher (zum Beispiel einem Diskettenlaufwerk) 230 im Gesamtspeicher 206 zur Verfügung gestellt wird, verwendet, um die erweiterte Form des Wortes in die Grundform zu überführen. Zum Beispiel werden Plural, maskuline oder feminine Formen von Wörtern detektiert und durch die Grundform des Wortes und eine Kennzeichnung ersetzt, die die relevante Erweiterung (zum Beispiel Geschlecht, Zeit oder eine andere Form) anzeigt. Das Ergebnis wird im Textpuffer 222 gespeichert.
  • Als nächstes wird in Schritt 606 jedes Wort in der lexikalischen Datenbank 234 nachgeschlagen (um detaillierter beschrieben zu werden). Wenn in der lexikalischen Datenbank kein Eintrag im Wort für ein Wort gefunden wird, wird in Schritt 608 eine Anfrage nach der Bedeutung des Wortes für die spätere Verwendung gespeichert.
  • Als nächstes wird auf einen Satz gespeicherter grammatikalischer Regeln zugegeriffen, die in einer Datenbank für grammatikalische Regeln 236 enthalten sind, und gemäß den grammatikalischen Regeln werden die im Textpuffer enthaltenen Worte grammatikalisch analysiert. Unsere frühere PCT-Anmeldung WO99/08202 veröffentlicht Details einer grammatikalischen Analysemethode, die hier eingesetzt werden kann, und ist hier eingeschlossen durch Verweis auf Informationen zu geeigneten grammatikalischen Analysemethoden, die benutzt und in James Allen, "Natural Language Understanding", Second Edition, Benjamin Cummings Publications Inc. 1995 gefunden werden können.
  • Kurz, jedes der einzeln gespeicherten Elemente im Textpuffer (zum Beispiel jedes, das der Grundform eines Wortes, oder einer Zahl, oder einer anderen semantischen Einheit entspricht) wird verarbeitet, um die grammatikalischen Regeln in der Datenbank der grammatikalischen Regeln auf das Wort anzuwenden.
  • Die Regeln spezifizieren die Art und Weise, in der die Worte in der betreffenden Sprache grammatikalisch verbunden werden können, wenn also zum Beispiel ein Wort ein Hauptwort ist, kann eine Regel festlegen, dass ihm ein bestimmter oder unbestimmter Artikel vorangehen sollte.
  • Dementsprechend werden für jedes Wort die anderen Wörter im Textpuffer erneut durchgesehen, um zu bestimmen, ob sie mit dem Wort gemäß den grammatikalischen Regeln kombiniert werden können, um eine grammatikalisch richtige Struktur zu bilden. Auf jede mögliche so gebildete Substruktur werden die grammatikalischen Regeln wieder angewendet, um die Substruktur mit anderen Worten oder Substrukturen zu kombinieren. Auf diese Weise wird, wie in Fig. 10 gezeigt ist, eine Diagrammstruktur zusammengesetzt, in der die ursprünglichen Worte durch syntaktische Verbindungen aufeinander bezogen sind.
  • Einige mögliche Substrukturen, die temporär so erzeugt wurden, werden verworfen, weil es nicht möglich ist, sie mit den übrigen Worten und Substrukturen zu kombinieren, um einen grammatikalisch richtigen vollständigen Satz oder eine Phrase zu bilden (dargestellt durch einen einzelnen Pfad durch die Knoten des in Fig. 10 gezeigten Diagramms).
  • In Schritt 612 wird bestimmt, ob keine solche einzelne Analyse erzeugt wurde, und in dem Fall wird wie unten beschrieben in Schritt 608 eine Anfrage erzeugt.
  • Wenn eine einzelne erfolgreiche Analyse extrahiert wurde (was einer einzelnen, unzweideutigen Bedeutung des eingegebenen Textes entspricht), dann wird in Schritt 614 ein einzelner Satz von Ausgabedaten als eine Nachricht zur Übertragung an das Terminal 100 erzeugt.
  • Wie schon beschrieben umfassen die Daten eine Liste der detektierten Wortbedeutungen, die zusammen mit den Parameterdaten die Form der Wörter und die Form des Kontextes, in dem sie auftreten, anzeigen (zum Beispiel ob das Wort im Singular oder Plural steht, und ob es im bestimmten oder unbestimmten Fall vorliegt), wie es bestimmt wird durch die Anwendung der grammatikalischen Regeln zusammen mit den Zeigerdaten, die Wörter, die Nähere Bestimmungen sind, Wörter, die Zustände von Angelegenheiten sind, und Wörter, die Einheiten sind, verbinden.
  • Wenn mehr als eine erfolgreiche Analyse (Schritt 612) abgeschlossen wurde, was zwei verschiedenen Bedeutungen des eingegebenen Textes entspricht (was entweder durch eine Mehrdeutigkeit des Sinns eines der Worte, wie etwa die Mehrdeutigkeit zwischen dem Wort "Bank" mit der Bedeutung einer Sitzgelegenheit und dem Wort "Bank" mit der Bedeutung eines Finanzinstituts, oder durch eine Mehrdeutigkeit in der semantischen Beziehung der Worte untereinander (wie etwa im Englischen das oben zitierte Beispiel "Mary was kissed by the lake"), dann werden mehrere separate Datensätze für die Übertragung an das Terminal 100 erzeugt, einer für jede der Analysen.
  • Wenn mehrere solcher Datensätze geliefert werden, ist das Applet 116a dazu eingerichtet, alle diese alternativen Konstruktionen des eingegebenen Textes anzuzeigen; zum Beispiel, indem sie nacheinander dargestellt werden, wenn ein Benutzer zwischen den Bedeutungen hin- und herschaltet, indem er eine Taste auf der Tastatur 102 oder einen Knopf in der Anzeige betätigt (wie in Fig. 5b zu sehen ist).
  • Bearbeitung einer Anfrage
  • Wenn keine Analyse möglich ist, entweder, weil ein oder mehrere Wörter nicht erkannt werden, (Schritt 606), oder, weil die Wörter bei ihrer Erkennung den grammatikalischen Regeln nicht ausreichend entsprechen, um die Analyse (Schritt 612) zu erlauben, wird eine Anfrage als Nachricht zur Übertragung an das Terminal 100 in Schritt 608 erzeugt.
  • Im Falle eines nicht erkannten Wortes kann die Nachricht derartig sein, dass sie das Applet 116a zur Ausgabe eines Textes veranlasst, wie etwa:
  • "Das folgende Wort wurde nicht erkannt. Bitte geben Sie das Wort erneut ein, wenn es falsch buchstabiert war, oder geben Sie die folgenden Daten ein:"
  • Die Nachricht wird als ein editierbares Formular präsentiert, in dem der Benutzer des Terminals 100 entweder eine korrigierte Version des Wortes zur Übertragung eingeben kann, oder es durch ein alternatives Wort ersetzen kann, oder ausreichende Informationen zur Erzeugung eines neuen Eintrags für das Wort in der lexikalischen Datenbank 234 und in der Datenbank der Erweiterungsformen 232 eingeben kann.
  • Solche Daten variieren von Sprache zu Sprache, beinhalten jedoch das Geschlecht (wenn es für die Sprache von Bedeutung ist), Daten der Erweiterungsformen zur Speicherung in der Datenbank 232, die Kategorie (zum Beispiel Nähere Bestimmung, Zustand von Angelegenheiten oder Einheit) und die unten diskutierten Bedeutungsdaten, die Information über die Bedeutung des Wortes liefern.
  • Als vorbereitender Schritt kann das Wort mit einer (herkömmlichen) Rechtschreibeprüfung geprüft werden, und wenn mehrere nahe Treffer gefunden werden, kann jeder geprüft werden, um zu bestimmen, ob er zu einem zulässigen Analyseergebnis führt; wenn eine einzige Möglichkeit zu einem zulässigen Analyseergebnis führt, kann diese ausgewählt werden, oder Alternativen können zur Auswahl einer geeigneten an das Terminal 100 zurück übertragen werden.
  • Auf die Fertigstellung der Antwort durch den Benutzer hin wird entweder das geänderte Wort oder die neue Definition zurück an den Hostrechner 200 übertragen und (nach der Aktualisierung der Datenbank der Erweiterungsformen 232 und der lexikalischen Datenbank 234, wenn erforderlich) der Prozess in Fig. 8 wiederholt.
  • Bei dem Ereignis, dass es nicht möglich war, den eingegebenen Text zu analysieren, kann die Anfrage in dem Formular "der eingegebene Text war ... Es war nicht möglich, die Bedeutung dieses Textes zu verstehen. Bitte überprüfen Sie den Text und verändern Sie ihn, um seine Bedeutung klarzustellen."
  • Der ursprüngliche Text kann von dem Applet 116a in einem editierbaren Fenster präsentiert werden, was dem Benutzer erlaubt, ihn zu editieren, um entweder irgendwelche Fehler zu korrigieren oder die benutzten Wörter durch alternative zu ersetzen.
  • Lexikalische Datenbank
  • Die lexikalische Datenbank 234 enthält einen Eintrag für jede Bedeutung jedes Wortes in der Sprache (oder in allen Sprachen), die vom System verwendet wird. Jeder Eintrag für jede Bedeutung beinhaltet eine Definition der Bedeutung des Wortes in der oder jeder Sprache. Die Einträge sind in hierarchisch geordnet, wie in Fig. 13 gezeigt ist. Die höchste Stufe der Hierarchie besteht aus Einträgen für die drei Kategorien Einheiten, Zustände von Angelegenheiten und Nähere Bestimmungen. Jede Kategorie ist dann weiter unterteilt.
  • Das Applet 116a ist dafür eingerichtet, (zum Beispiel durch Betätigen einer Taste auf der Tastatur 102 oder durch Auswahl eines Bereiches der Anzeige), die Eingabe eines Wortes durch den Benutzer über die Tastatur 102 zur Übertragung an den Rechner 200 zu erlauben, und das Applet 116a ist dazu eingerichtet, als Antwort ein Dokument (zum Beispiel als Text oder Hypertext) von dem Rechner 200 zu empfangen und es in einem Bereich der Wörterbuchanzeige 410 anzuzeigen, wie in den Fig. 11a und 11b gezeigt ist.
  • Fig. 11a stellt die Definitionsdaten dar, die für das Wort "satellite" aus der lexikalischen Datenbank 234 abgefragt und im Bereich der Wörterbuchanzeige 410 angezeigt werden. Einträge in die Datenbank für dasselbe Wort enthalten Daten, die die relative Häufigkeit des Auftretens der betreffenden Definition angeben, und die Anwendung 216 ist dazu eingerichtet, die verschiedenen Bedeutungen in der Reihenfolge ihrer Häufigkeit des Auftretens zu formatieren.
  • Wie in der Fig. 11a gezeigt, ist die am häufigsten auftretende Bedeutung des englischen Wortes "satellite" ein künstlicher Satellit (ein menschengemachtes Objekt, das die Erde umkreist), welches eine Einheit ist (angezeigt durch "n"); das zweithäufigste ist eine Person, die einer anderen folgt (ebenfalls eine Einheit), und die am dritthäufigsten vorkommende Bedeutung ist ein Himmelskörper, der um einen Planeten oder einen Stern umläuft (ebenfalls eine Einheit); und die vierthäufigste ist eine nähere Bestimmung, die anzeigt, dass sich etwas in der Umgebung befindet und von einer zentralen Autorität oder Macht dominiert wird.
  • Die vorliegende Ausführung verwendet die lexikalische Datenbank WorldNet (TM), die bei der Princeton University, Princeton, USA verfügbar ist, und wovon Details unter http://www.cogsci.princeton.edu/-wn/ zu finden sind. Andere bekannte Datenbanken, die so modifiziert sind, dass sie wo nötig die gleiche Struktur haben, können verwendet werden.
  • Jede Bedeutung wird zusammen mit den Bedeutungen der hierarchisch höherstehenden (das heißt weitgefassteren) Worten angezeigt. Nimmt man zum Beispiel die erste Bedeutung von Satellit, dann wird Satellit weitgefasster als Ausrüstung definiert, und noch weitgefasster als Vermittlungsstelle oder Messtechnik definiert, und noch weitgefasster als ein Artefakt (ein menschengemachtes Objekt) und noch weitgefasster als ein Objekt (eine nicht lebende Einheit) und schließlich als eine Einheit.
  • Die hierarchische Speicherung in der lexikalischen Datenbank 234 wird zum Beispiel erreicht, indem jeder Definitionseintrag mit einem Zeigerfeld versehen wird, das auf den Eintrag der nächstweitgefassteren Kategorie zeigt, in das er fällt, und so weiter, und ein Zeigerfeld, das auf die nächstenggefassteren Einträge zeigt, die in seine Kategorie fallen, wie in Fig. 13 gezeigt ist.
  • Im Bereich der Wörterbuchanzeige 410 kann der Benutzer eine der angezeigten Bedeutungen auswählen (zum Beispiel mit der Maus), und um hierauf zu reagieren, ist das Applet 116 dazu eingerichtet, ein neues Objekt zu erzeugen und eine entsprechende bildliche Darstellung davon in dem Zeichnungsrahmen anzuzeigen, der in den Fig. 12a und 12b gezeigt ist, und der auf gleiche Weise funktioniert wie der Anzeigebereich 406, der oben beschrieben ist.
  • Ebenso kann der Benutzer, wenn er verschiedene solcher Objekte ausgewählt hat, diese auf die gleiche Weise wie oben beschrieben durch Zeiger verbinden, und nachdem er eine neue angezeigte Struktur erzeugt hat oder eine bestehende editiert hat, kann er das Applet 116a veranlassen, die Ergebnisse zu dem Rechner 200 hochzuladen, wie oben Bezug nehmend auf Schritt 330 beschrieben ist.
  • Es ist einem Benutzer also auf diese Weise möglich, Daten zu editieren, die mit Bezug auf ein Dokument gespeichert sind, das schon als Text wie oben beschrieben eingegeben wurde, oder ein neues Dokument ohne Texteingabe direkt zu erzeugen.
  • Alternativ kann der Benutzer, wenn das Applet 116a, wie in den Fig. 12a und 12b gezeigt, ein Zeichnungsfenster anzeigt, eines der Objekte auswählen (zum Beispiel mit einer Maus), und das Applet 116a veranlassen, eine Nachricht an den Rechner 200 zu senden, um die Rückgabe eines Dokuments anzufragen, das die in der lexikalischen Datenbank gespeicherten Daten der Bedeutungen enthält, die mit dem Objekt verbunden sind, und zu deren anschließender Anzeige das Applet 116 eingerichtet ist. Ein Benutzer kann dabei die Bedeutung bestimmen, die in Bezug auf einen besonderen Teil des Dokuments, das eingegeben wurde, gespeichert ist, und kann bestimmen, ob es der Bedeutung entspricht, die er gemeint hat.
  • Jeder Eintrag in die lexikalische Tabelle enthält in dieser Ausführung auch einen Code, der (zum Beispiel auf einer Skala von 1 bis 5) die Schwierigkeit, Komplexität oder Unklarheit der betreffenden Bedeutung anzeigt. Zum Beispiel kann ein Code "1" Wörter bezeichnen, deren Bedeutungen Kindern im Alter unter 16 Jahren vertraut sind (und die nicht anstößig sind); ein Code "2" kann ein Wort bezeichnen, dessen Bedeutung den meisten Erwachsenen bekannt ist; ein Code "3" kann ein Wort anzeigen, das nicht im allgemeinen Gebrauch ist; und ein Code "4" kann ein Wort anzeigen, das nur von Fachspezialisten in manchen Bereichen verwendet wird (wie etwa Recht oder Biologie).
  • Datenspeicherung
  • Jede Aussage, die von einem Benutzer eingegeben wird (die typischerweise einem Satz entspricht) wird in Schritt 334 in dem Datenspeicher 240 gespeichert. Wenn eine einzelne Kommunikationssitzung zwischen dem Terminal 100 und dem Rechner 200 die Eingabe mehrerer solcher Aussagen mit sich bringt, was oft der Fall ist, wird im Speicher 240 eine Aufzeichnung der Sitzung oder des Dokuments erzeugt, die verschiedene Einträge für jede der Aussagen enthält.
  • Jeder dieser Einträge besteht aus eine Liste von Datensätzen (zweckmäßigerweise als gespeicherte Objekte implementiert). Jedes Objekt eines solchen Datensatzes einer Aussage umfasst ein Beispiel für eine der Klassen Einheit, Zustand von Angelegenheiten oder nähere Beschreibung, wobei es einen Zeiger 658 auf den relevanten Bedeutungsdatensatz in der lexikalischen Datenbank 234, Parameterdaten 660 und Zeiger 662 und 664 von und zu den anderen Objekten des Datensatzes der Aussage speichert, wie es in Bezug auf Fig. 7 beschrieben ist.
  • Zur selben Zeit wie ein Zeiger von dem Objekt auf den Eintrag in der lexikalischen Datenbank erzeugt wird, wird auch ein Zeiger von dem Eintrag in der lexikalischen Datenbank 234 auf das Objekt erzeugt.
  • Jedes Objekt enthält auch einen Bereich, in dem Zeitstempelinformationen gespeichert werden, die das Datum festhalten, an dem die Sitzung stattgefunden hat (oder an dem die betreffende Information zuletzt verändert wurde). Der Eintrag in diesem Bereich wird von der Datums-/Zeitfunktion der Echtzeituhr des Rechners 200 geliefert, wenn die Daten gespeichert werden.
  • Weiterhin enthält jedes Objekt einen Bereich 652, der den Namen des Autors oder auf jeden Fall die Namensdaten bezeichnet, die der Benutzer des Terminals 100 bei der Eingabe des Textes geliefert hat. Schließlich enthält jedes Objekt einen Zugangsrechtebereich 656, der einen Code enthält, welchen Klassen von Personen die Information verfügbar gemacht werden soll.
  • Zum Beispiel kann der Zugangscode Bits enthalten, die angeben, dass die relevante Information nur an Benutzer mit einem geeigneten Passwort herausgegeben werden soll; Bits, die anzeigen, dass die Information nur an eine Person herausgegeben werden soll, deren Namen dem Autor der Information entsprechen; Bits, die angeben, dass die Information nicht an Personen unter einem festgelegten Alter herausgegeben werden soll (wie etwa 16); und Bits, die angeben, dass es ein persönlicher Name ist. Die Struktur der Daten in einem solchen Objekt ist in Fig. 14 gezeigt.
  • In feineren Details stellt sich die Art und Weise, wie diese Daten in die zusätzlichen Bereiche 652-656 eingegeben werden, wie folgt dar. Zu Beginn einer Kommunikationssitzung am Terminal 100 zeigt das Applet 116a ein editierbares Formular an, in das der Benutzer Zugangsinformationen oder einen Namen des Autors eintragen kann, die auf alle Texteingaben in der Sitzung angewendet werden.
  • Zusätzlich kann der Benutzer während der Sitzung jedes angezeigte Wortobjekt auswählen, und es wird ihm ein Formular für die Eingabe von Zugangscodes präsentiert, die mit dem besonderen Objekt oder der Gruppe von Objekten verknüpft werden. Schließlich ist bei jeder Gelegenheit, bei der ein neues Wort eingegeben wird, neben den anderen einzugebenden Daten ein Zugangscode einzugeben.
  • Weiterhin wird vom Hostrechner 200 bei der Speicherung der Daten nach der grammatikalischen Analyse ein Zeitstempel, der das aktuelle Datum dokumentiert, in den Zeitstempelbereich 654 jedes erzeugten Objektdatensatzes eingetragen, und der Name des Autors, der vom Terminal 100 geliefert wird (oder in seiner Abwesenheit irgend eine Identifikation des Terminals 100 selbst), wird in den Bereich für den Autor 652 eingesetzt.
  • Schließlich können einige Einträge in der lexikalischen Datenbank (die zum Beispiel geheimen militärischen Gegenständen entsprechen) einen assoziierten Zugangscode oder einen Teil eines assoziierten Zugangscode haben, der angibt, wem sie verfügbar gemacht werden sollen, und dieser wird in den Zugangscodebereich 656 des erzeugten Objekts kopiert, der den Eintrag in die lexikalische Datenbank realisiert.
  • Datenabruf
  • Der Prozess des Datenabrufs nach dieser Ausführung besteht aus zwei Phasen; Suche und Erzeugung des Ausgabetextes. Die Stufe der Texterzeugung kann auch unabhängig vom Datenabruf verwendet werden.
  • In Bezug auf die Fig. 15 zeigt die Fig. 15a den Prozess des Datenabrufs, der vom Terminal 100 mit Steuerung durch das Applets 116 durchgeführt wird, und Fig. 15b zeigt den Prozess des Datenabrufs, der von dem Rechner 200 mit Steuerung durch die Anwendung 216 durchgeführt wird.
  • In einem Schritt 702 zeigt das Applet 116a ein Suchformular auf dem Bildschirm an.
  • Das Suchformular enthält ein Feld zur Eingabe des Namens des Suchenden; ein Feld zur Eingabe der Informationen zum Zugangsrecht (wie etwa ein Passwort oder Autorisierungscode); ein Feld oder Felder für die Eingabe des Datenbereichs; ein Feld für die Eingabe eines Grades an Unklarheit (zum Beispiel einer der Grade, auf die oben verwiesen wurde); ein Feld zur Eingabe eines Ausgabeformats und Felder für die Eingabe von Suchbegriffen.
  • Die Anzeige besteht aus einem editierbaren Formular, in dem der Benutzer in den jeweiligen Teilen des Bildschirms die Information in jedes Feld eingibt. Nach Abschluss der Bearbeitung des Formulars mit der Tastatur durch den Benutzer (Schritt 704) überträgt das Applet 116b (Schritt 706) die Suchdaten zu dem Rechner 200.
  • In Schritt 722 (Fig. 15b) empfängt der Rechner 200 die Suchdaten. In Schritt 724 sucht die Anwendung 216 nach den Suchdaten, die eingegeben wurden, und bestimmt, ob die Daten in der lexikalischen Datenbank 234 vorhanden sind, und greift für jeden Begriff auf den Datensatz in der Datenbank 234 zu.
  • Wenn einer oder mehrere Suchbegriffe in der Datenbank nicht vorhanden sind, dann wird der Benutzer (auf die selbe Weise, wie oben in Bezug auf die Dateneingabecodes beschrieben wurde) aufgefordert, eine Definition einzugeben, um den Begriff zu korrigieren.
  • Die Liste von Objekten von jedem relevanten Eintrag in die lexikalische Datenbank 234, auf die der Begriff zeigt, wird verwendet, um jedes gespeicherte Objekt in einer gespeicherten Aussage zu finden, das einem Auftreten oder einem Beispiel des Begriffes entspricht (Schritt 726).
  • Wenn in Schritt 704 mehrere Suchbegriffe vom Benutzer eingegeben wurden, ist das Applet 116 dazu eingerichtet, dem Benutzer zu erlauben, die Beziehungen zwischen den eingegebenen Begriffen anzugeben. Zum Beispiel kann der Benutzer nach gespeicherten Daten suchen, in denen ein Hund einen Mann beißt (oder umgekehrt), in diesem Fall werden die Begriffe "Hund", "beißen" und "Mann" als Suchbegriffe eingegeben, und in Bezug auf den Zustand von Angelegenheiten "beißen" wird der Benutzer aufgefordert, die aktiven und passiven Einheiten anzugeben, die mit dem Zustand von Angelegenheiten verbunden sind (in anderen Worten, anzugeben, dass der Hund den Mann beißt und der Mann gebissen wird). Dies wird zweckmäßig erreicht, indem eine Aussage erzeugt wird, nach der in der selben Weise gesucht werden soll, wie oben in Bezug auf die Dateneingabe beschrieben wurde.
  • Da die Einträge in der lexikalischen Datenbank hierarchisch geordnet sind, kann zum Beispiel der Eintrag für "Hund" auf die hierarchisch niedrigeren Einträge (zum Beispiel Schäferhund, Collie und so weiter) verwiesen werden. In diesem Fall findet die Anwendung 216 auch alle hierarchisch niedrigeren Einträge in der Datenbank 234 und findet in Schritt 726 alle Objekte, die diese Einträge realisieren.
  • Nachdem alle Objekte, die mit den Suchbegriffen zusammenhängen, gefunden wurden, findet die Anwendung 216 die Aussagen heraus, die alle davon enthalten (in diesem Fall zum Beispiel alle Aussagen, die ein "Hund"-Objekt (oder ein Objekt, das mit irgend einem hierarchisch niedrigeren Begriff zusammenhängt); ein "beißen"- Objekt (oder irgend ein hierarchisch niedrigerer Begriff) und ein "Mann"-Objekt (oder irgend ein hierarchisch niedrigerer Begriff). Sie bestimmt dann, ob die Objekte in der vom Benutzer angegebenen Beziehung zueinander stehen, indem sie etwa nur die Aussagen herausfindet, in denen der Hund der Beißer des Mannes ist und nicht die, in denen der Mann der Beißer des Hundes ist oder die Begriffe in einer anderen Verbindung stehen.
  • Wenn keine solchen Aussagen gefunden werden, dann sendet die Anwendung 216 eine Nachricht an das Terminal 100, die besagt, dass die Suche erfolglos war, wie unten detaillierter beschrieben wird.
  • Wenn eine oder mehrere Aussagen die Suchkriterien in Schritt 732 erfüllen, dann erstellt die Anwendung 216 eine Liste aller dieser Aussagen, und in Schritt 734 erzeugt Anwendung 216 aus den gespeicherten Objektdaten Text, der jeder Aussage entspricht, die in Schritt 736 als ein anzeigbares Dokument an das Benutzerterminal 100 gesendet wird (zum Beispiel als ein Hypertext-Dokument).
  • In Schritt 708 wird das Dokument vom Benutzerterminal 100 empfangen und in Schritt 710 zeigt das Applet 116b das empfangene Dokument einschließlich des aus den relevanten Aussagen erzeugten Textes an.
  • Wie unten detaillierter beschrieben wird, erlaubt das Applet 116 In Schritt 711 dem Benutzer, einen oder mehrere Begriffe aus dem angezeigten Dokument auszuwählen (zum Beispiel, indem ein Hypertextlink in dem angezeigten Dokument ausgewählt wird), und auf eine solche Auswahl hin gibt das Applet 116b in Schritt 712 den ausgewählten Hypertextlink an den Rechner 200 zurück.
  • Nach Empfang einer solchen Auswahl kehrt die Anwendung 216 zum Schritt 722 zurück, um die Suche in der oben beschriebenen Weise zu wiederholen.
  • Es ist deshalb einsichtig, dass gemäß dieser Ausführung der Benutzer Teile von Dokumenten abrufen kann, die vorher bestimmte Einheiten mit vorher bestimmten Beziehungen enthalten, anstatt nach jedem gemeinsamen Auftreten von Wörtern zu suchen (wie es bei den aktuellen auf Schlüsselwörtern oder Volltextsuche basierenden Datenbankabfragetechniken der Fall ist).
  • Weil eine lexikalische Datenbank eingesetzt wird, in der mehrere Bedeutungen eines gegebenen Wortes gespeichert sind, kann der Benutzer weiterhin bei der Ausführung einer Suche die richtige und unzweideutige Bedeutung eines Begriffes mit zwei Bedeutungen auswählen, indem er zum Beispiel die oben beschriebene Methode zur Dateneingabe benutzt, um die Suchkriterien zu definieren.
  • Weitere Aspekte des Prozesses des Datenabrufs werden nun beschrieben.
  • Erzeugung von Text
  • Der Prozess der Texterzeugung aus einer semantischen Darstellung ist allgemein bekannt, zum Beispiel durch unsere oben erwähnte frühere Patentanmeldung oder den obigen Verweis auf Allen. Er besteht im Allgemeinen aus dem umgekehrten Prozess zu der Bestimmung der Struktur und der Analyse, jedoch ohne die Mehrdeutigkeit der Analyse.
  • Mit Bezug auf Fig. 16 ist die Anwendung 216 also bei der Erzeugung von Text dazu eingerichtet, die grammatikalischen Regeln, die in der Datenbank gespeichert sind, auf die ausgewählten Objekte anzuwenden (Schritt 752), und dadurch einen Textfluss aufzubauen. Das dem jeweiligen Objekt entsprechende Wort wird dann an die Position des Objektes im Fluss gesetzt (Schritt 754), und die richtige erweiterte Form jedes Wortes wird eingesetzt, indem auf die Datenbank der Erweiterungen 232 zurückgegriffen wird (Schritt 756). Danach wird der Text etwas nachverarbeitet (Schritt 758), um irgendwelche üblichen Verkürzungen (wie etwa im Englischen "I've" für "I have") einzusetzen und die Eigennamen und Formen von Zahlen und Daten richtig zu verwenden.
  • In der vorliegenden Ausführung ist das Applet 116b dazu eingerichtet, die Texterzeugung von einer angezeigten graphischen Darstellung aus an jeder Stelle der Dateneingabe oder -abfrage anfragen zu können, indem eine Liste von Objekten, aus denen Text erzeugt werden soll, an den Rechner 200 übermittelt wird, der den Text erzeugt und als Dokument zur Anzeige durch das Applet zurückschickt. Fig. 12b stellt Text dar, der so aus den in Fig. 12a gezeigten Daten erzeugt wurde.
  • Weitere Details des Datenabrufs
  • Die anderen Daten, die in dieser Ausführung vom Benutzer eingegeben wurden, werden vorteilhaft auch dazu verwendet, den Datenabruf zu unterstützen.
  • Zum Beispiel können Datumsinformationen direkt eingegeben werden, um die Abfrage nur für Aussagen zu spezifizieren, die zwischen angegebenen Zeitpunkten eingegeben wurden, und Informationen über den Autor können verwendet werden, um nur von bestimmten Autoren stammende Informationen zu finden.
  • Informationen über die Komplexität können verwendet werden, um die abgerufenen Information zu filtern. Wenn zum Beispiel für eine bestimmte abgefragte Aussage von der Anwendung 216 festgestellt wird, dass sie ein Objekt enthält, das einem Eintrag in der lexikalischen Datenbank 234 mit einem hohen Grad an Komplexität oder Unklarheit entspricht, kann bei dieses der Erzeugung von Text aus Objekten wie unten beschrieben ausgelassen werden, oder durch einen hierarchisch höherstehenden, also allgemeineren Begriff ersetzt werden (wenn dieser eine geringere Einschätzung seiner Unklarheit in der lexikalischen Datenbank 234 hat).
  • Bevorzugt erzeugt das Applet 116b das Suchformular mit zwei selektierbaren Bereichen für die Anzeige von "höherer Komplexität" und "niedrigerer Komplexität", die dem Benutzer ermöglichen, als Antwort auf ein ausgegebenes Dokument anzugeben, ob die Ausgabe in Zukunft Daten mit einem höherem oder niedrigeren Niveau an Unklarheit verwenden soll.
  • Schließlich können die Zugangs- oder Sicherheitsinformationen verwendet werden, um die Objekte aus dem erzeugten Text auszuschließen, die semantischen Objekten entsprechen, für die die vom Terminal 100 erhaltenen Zugangsinformationen anzeigen, dass der Benutzer keinen Zugriff haben darf.
  • Erzeugung von partieller Information
  • Aus dem vorher gesagten ist offensichtlich, dass ein Satz der Art "Fritz Schmidt sagt, dass der Hund den Mann biß" von drei Einheiten ("Fritz Schmidt", "Hund" und "Mann") und von zwei Zuständen von Angelegenheiten ("sagt" und "biß") dargestellt wird. Ein Merkmal der vorliegenden Ausführung ist, dass die Anwendung 216 nach dem Löschen eines Objekts, zum Beispiel "Fritz Schmidt", aus dem Rest immer noch Text erzeugen kann.
  • Bezug nehmend auf die Fig. 12a und 12b zeigt Fig. 12a die graphische Darstellung von semantischen Objekten, wobei die Anwendung 216 dazu eingerichtet ist, aus Text zu erzeugen, der besagt "Jack Juraco sagt, Hughes hat Aufträge und Anfragen aus allen Regionen der Welt bekommen" (im Englischen "Jack Juraco says, Hughes has received orders ans requests from all regions of the world"), wie in Fig. 12b gezeigt ist.
  • Wenn das "Jack Juraco"-Objekt aus der Liste, aus der der Text erzeugt werden soll, entfernt wird, kann die Anwendung 216 entweder:
  • - die Erwähnung durch einen semantisch höherstehenden Begriff ersetzen (um "Ein Mann sagt, Huhges..." zu erzeugen),
  • - das Objekt auslassen, aber den Zustand von Angelegenheiten "sagt" beibehalten. In diesem Fall wird die Anwendung einen Passiv "Man sagt, dass Hughes..." erzeugen,
  • - den Zustand von Angelegenheiten "sagt" ebenso auslassen. Dann wird die Anwendung 216 "Hughes hat erhalten..." erzeugen.
  • Oft ist es wünschenswert, persönliche Namen in vielen Datenklassen zu unterdrücken, wie etwa "Gericht (Eigenname) berichtet, wenn Zeugen nicht benannt werden können" ("Court reports, where witnesses cannot be named") oder nicht zuordenbare Aussagen von Beamten. Dieser Aspekt der Erfindung erlaubt diese Art von automatischer Unterdrückung ohne Informationsverlust, zum Beispiel als Reaktion auf einen Zugangscode des Benutzers des Terminals 100.
  • Wenn von einem Autor Aussagen eingegeben werden, ist die Anwendung in der vorliegenden Ausführung dafür eingerichtet, bei Speicherung der entsprechenden Daten ein zusätzliches Einheits- Objekt, das den Autor darstellt, und ein Zustand-von-Angelegenheiten-Objekt "sagt" zu erzeugen, um alle von einem Autor eingegebenen Aussagen diesem Autor zuzuordnen. Für solche automatisch erzeugten Objekte wird ein Zugangscode vergeben, der ihren Abruf durch zufällige Benutzer verhindert, die sich gewöhnlich mehr für den Inhalt der Aussagen als für seine Herkunft interessieren.
  • Wenn zum Beispiel eine besonderes Kennzeichen einer Waffe als vertraulich oder geheim in die Datenbank eingetragen ist oder das besondere Beispiel mit diesem Kennzeichen, das von einem Objekt aufgenommen wurde, so klassifiziert ist, kann die Anwendung 216 ebenso einen hierarchisch höherstehenden Begriff einsetzen (zum Beispiel "Rakete" oder "Waffe") oder kann Text erzeugen, bei dem der Begriff ganz ausgelassen und durch eine Satzkonstruktion im Passiv ersetzt wird (wo möglich).
  • Also erlaubt dieser Aspekt der Erfindung den Abruf von so viel Information eines Dokumentes, wie nicht geheim ist oder anderweitig unter Kontrolle gehalten wird, und erlaubt die Darstellung auf verständliche Weise.
  • Hypertext-Ausgabeformat
  • Es ist verständlich, dass diese Ausführung viele verschiedene Ausgabeformate für das von der Anwendung 216 erzeugte Dokument erlaubt, und vorzugsweise zur Verfügung stellt, um die abgefragten Daten darzustellen.
  • Ein bevorzugtes Format ist in Fig. 17 illustriert und stellt die Informationen in Fig. 18 als Antwort auf einen Suchbegriff "HS_601" dar (einen Satellitentyp, der von Hughes hergestellt wird).
  • In dieser Darstellung wird jede abgefragte Aussage, die den Begriff "HS_601" enthält, als erzeugter Text dargestellt. Außerdem ist jede andere Einheit, die in der Aussage vorkommt und für die weitere Aussagen verfügbar sind, einzeln in dem Text unter der Aussage dargestellt, und unter jeder solcher Darstellung sind alle Aussagen wiedergegeben, die diese Einheit enthalten und die in dem gleichen Dokument vorkommen, das im Rechner 200 gespeichert ist.
  • Also wird unter der Aussage "Der HS_601 ist ein Satellit (im Englischen "The HS 601 is a satellite") der Begriff "satellite" dargestellt und die anderen drei Aussagen in dem Dokument, die Satelliten betreffen, werden erzeugt und an das Dokument angehängt. Unter der ersten solchen Aussage, die den englischen Begriff "myriad" enthält, wird dieser Begriff dargestellt. In dem Dokument sind keine weiteren Aussagen vorhanden, die diesen Begriff enthalten.
  • Unter der zweiten Aussage, die den Begriff "module" enthält, werden dieser Begriff und weitere Aussagen dargestellt, die diesen erzeugten Begriff enthalten.
  • Jeder der dargestellten Begriffe kann vom Benutzer in dem angezeigten Dokument, das von der Anwendung 216 erzeugt und am Terminal von dem Applet 116 angezeigt wurde, zum Beispiel mit der Tastatur oder der Maus 106 ausgewählt werden.
  • Auf eine solche Auswahl hin übermittelt das Applet 116 in Schritt 712 dem Rechner 200 und der Anwendung 216 den ausgewählten Begriff als neuen Suchbegriff, der nach dem Empfang in Schritt 738 die Suche in Schritt 732 wiederholt und ein neues Ausgabedokument zurückgibt, mit
  • - wenn vorhanden, Definitionsdaten aus der lexikalischen Datenbank 234 und
  • - jegliche im Rechner 200 gespeicherten Aussagen, die, wie oben diskutiert, den ausgewählten Begriff enthalten, und die in derselben Weise, wie in der Fig. 16 gezeigt, dargestellt werden.
  • Daher kann ein Benutzer von einem ursprünglichen Thema der Suche zu damit zusammenhängenden Themen übergehen und Daten abrufen, die zu diesen damit zusammenhängenden Themen bereitgehalten werden.
  • Überwachungssuche
  • Die Suchkriterien, die vom Benutzer angegeben werden, können eine Angabe enthalten, dass die Suche aktualisiert werden soll, wenn neue Informationen erhalten werden, die das Suchkriterium erfüllen.
  • Die Anwendung 216 ist dazu eingerichtet, eine solche Angabe auf eine der zwei folgenden Weisen auszuführen:
  • - durch periodische Wiederausführung der Suche, aber mit der zusätzlichen Einschränkung, dass nur Aussagen mit Zeitstempeln innerhalb der Aktualisierungsdauer (und deshalb nach der ursprünglichen Suche) gefunden werden sollen, oder
  • - durch Setzen eines Triggers, der dem Benutzer jegliche neue Daten meldet, die das Suchkriterium enthalten.
  • Benutzerprofile
  • Manche der gesuchten Daten, die vom Terminal 100 empfangen werden, können in einem zum Benutzer gehörigen Benutzerdatensatz gespeichert werden, der dazu verwendet wird, zukünftige Suchen zu modifizieren. Insbesondere kann der Grad der Komplexität und Unklarheit von Daten, die vom Benutzer angefordert wurde, verwendet werden, um in zukünftigen Suchen den Grad der Komplexität für die abgerufenen Daten festzulegen.
  • Zweite Ausführung
  • Die zweite Ausführung fügt der ersten die Möglichkeit der Bezugnahme auf Dokumente hinzu, die in anderen Medien als Text vorliegen. Folglich ist das Applet dazu eingerichtet, dem Benutzer bei der Dateneingabe zu erlauben, ein graphisch angezeigtes Element, eine Aussage, oder ein komplettes Dokument, eine verbundene Bilddatei, eine Datei mit akustischen Daten, eine Videodatei oder damit verbundene Dokumente anzugeben.
  • Die erste Ausführung ist dadurch verändert, dass nach der Versorgung des Terminals 100 mit den anzuzeigenden Objektdaten vom Rechner 200 eine der Formen der erlaubten Editierung die Angabe einer Verbindung zu einer Datei ist, die das damit verbundene Dokument enthält, indem die Adresse der Datei eingegeben wird (zum Beispiel in die Bildschirmanzeige eines Browsers).
  • Das Applet 116 ist im Gegenzug dazu eingerichtet, visuell unverwechselbare graphische Elemente zu erzeugen, die das verbundene Element darstellen und seinen Medientyp bestimmen.
  • Auf die Übermittlung der Ergebnisse der Editierung zum Rechner 200 hin wird entweder die Datei selbst zum Rechner 200 hochgeladen oder (wenn das Dokument auf einem anderen Serverrechner verfügbar ist) ein Verweis auf die Adresse des Dokuments (zum Beispiel sein URL) übertragen und in der lexikalischen Datenbank 234 gespeichert. Die lexikalische Datenbank kann auch gespeicherte Multimediadaten enthalten, so wie bestehende mulimediale Enzyklopädien wie etwa Encarta, die von Microsoft Inc. verfügbar ist.
  • Wenn für den Rechner weiterhin andere Daten verfügbar sind (zum Beispiel in Form einer relationalen Datenbank, die diese innerhalb eines oder mehrerer lexikalischer Einträge der lexikalischen Datenbank 234 enthält), speichert die Anwendung 216 einen Verweis zu solchen anderen Daten.
  • Schließlich ist die Anwendung dazu eingerichtet, den ursprünglich eingegebenen Text des Dokuments, so wie er von Benutzer eingetippt und vom Terminal 100 hochgeladen wurde, als archiviertes Dokument zu speichern; und das ausgegebene Dokument enthält eine Verbindung zu dem archivierten Dokument, die erlaubt, dass es als Ganzes abgerufen werden kann, wenn es zum Beispiel als direktes Zitat angefragt wird.
  • Beim Datenabruf ist das an den Benutzer ausgegebene Dokument ein Hypertext-Dokument mit Verbindungen, die das Einschließen solcher anderer Daten in verschiedenen Medien bewirken, soweit diese verfügbar sind.
  • Dritte Ausführung
  • In den oben beschriebenen Ausführungen, geht die Beschreibung davon aus, dass der erzeugte Text in der gleichen Sprache wie der ursprünglich eingegebene Text vorliegt.
  • Die Analyse des eingegebenen Textes und die Erzeugung von Elementen vom Typ semantisch bedeutsamen Einheit, Zustand von Angelegenheiten und Nähere Bestimmung resultiert jedoch in einer Darstellung der eingegebenen Aussagen, die in ihrem Wesen unabhängig von der Sprache ist. Die vorliegende Ausführung nutzt dies zur Erzeugung von Text in einer anderen Sprache als die, in der das Dokument eingegeben wurde. Die frühere Patentanmeldung, auf die wir oben verwiesen haben, veröffentlicht Aspekte von geeigneten Analysen und Methoden der Erzeugung, die in dieser Ausführung genutzt werden können.
  • Kurz gesagt und Bezug nehmend auf Fig. 19 speichert der Rechner 200 eine Vielzahl von Datenbanken grammatikalischer Regeln 236a, 236b, ... und entsprechenden Erweiterungsdatenbanken, 232a, 232b, .... Jedes Paar von Datenbanken 232, 236 bezieht sich auf eine bestimmte Sprache. Nach der Eingabe von Text gibt der Benutzer die Sprache des Textes (die Quellensprache) an, und die Anwendung 216 greift auf die passenden Datenbanken für die Erweiterungen und grammatikalischen Regeln zu, um den Text zu analysieren.
  • Die lexikalische Datenbank 234 in dieser Ausführung beinhaltet eine Vielzahl sprachspezifischer Lexika 235a, 235b, ..., von denen jedes eine Wörterliste für die betreffende Sprache enthält, wobei jedes Wort in der Liste einen Zeiger auf einen oder mehrere Einträge in der lexikalischen Datenbank 234 enthält, die Einträge speichert, die die Bedeutungsdaten für die Bedeutungen jedes Wortes umfassen, und einen Zeiger zurück zu jedem Wort, zu dem der Eintrag eine Bedeutung ist.
  • Da viele Wörter in verschiedenen Sprachen direkt übersetzbar sind (im dem Sinne, dass sie eine gemeinsame Bedeutung miteinander teilen), speichern viele Einträge in der lexikalischen Datenbank 234 Zeiger zu Worten in jeder Sprache. Nicht alle Wörter sind direkt übersetzbar, und wenn die Bedeutungen voneinander abweichen, umfasst die lexikalische Datenbank 234 zusätzliche, sprachspezifische Definitionen mit Zeigern von Worten in nur den Sprachen, in denen sie vorkommen.
  • Bei der Eingabe eines solchen Suchprofils gibt der Benutzer die Sprache des Ausgabetextes (die Zielsprache) an und die Anwendung 216 greift auf die lexikalische Datenbank zu, wählt die Wörter im Zielsprachenlexikon aus, auf die die Einträge in der lexikalischen Datenbank zeigen, wendet die relevanten grammatikalischen Regeln aus der Datenbank der grammatikalischen Regeln der Zielsprache 236 an, um Ausgabetext zu erzeugen, und erweitert die Formen der Wörter unter Verwendung der Erweiterungsdatenbank der Zielsprache 232.
  • Wörter, die nicht direkt übersetzbar sind, können durch eine hierarchisch höhere, direkt übersetzbare Bedeutung ersetzt (zum Beispiel "Hund" statt "Schäferhund") und/oder nicht übersetzt weitergegeben werden. Alternativ können Regeln zur Abstraktion oder für die Übersetzung von einer Sprache in eine andere verwendet werden, wie es in unserer früheren Anmeldung, auf die oben verwiesen wurde, veröffentlicht ist.
  • Vierte Ausführung
  • In den vorhergehenden Ausführungen wird der Eingabetext in das Terminal 100 als Text über die Tastatur 100 eingegeben. In der vorliegenden Ausführung, die sich auf Fig. 20 bezieht, ist das Terminal I00 mit einem Mikrofon 103 ausgestattet, und der Eingabetext wird diktiert und von einem Sprache-Text-Konvertierungsprogamm 115 transliteriert, wie etwa ViaVoice (TM), das von IBM inc. verfügbar ist.
  • Die eingegebene Sprache wird als Text in einem Texteingabebereich des Bildschirms 104 wiedergegeben. Ansonsten arbeitet die vorliegende Ausführung wie oben beschrieben.
  • Es ist vorteilhaft, eine Spracherkennung am Terminal 100 vorzusehen, wo es eher möglich ist, sie auf die Stimme des individuellen Benutzers zu trainieren, als zentral. Weil Text- statt Audiodaten nach oben gegeben werden, wird auch die erforderliche Verbindungsbandbreite geringer gehalten.
  • Auf der anderen Seite vermeidet die Verfügbarkeit einer zentralen Erzeugung das Erfordernis, mehrere Datenbanken für Rechenvorschriften lokal in den Terminals zu speichern.
  • In dieser Ausführung kann das Terminal 100 auch ein Mikrofon und ein Text-zu-Sprache-Konvertierungsprogramm umfassen, das dazu eingerichtet ist, Sprache aus dem Text zu generieren, der vom Rechner 200 empfangen wird, um eine Audioausgabe über den Lautsprecher 105 zu erzeugen.
  • Das Applet 116 kann auch dafür eingerichtet sein, eine visuelle Anzeige zu erzeugen, um die auszugebenden Daten darzustellen; zum Beispiel die Darstellung eines menschlichen Gesichts oder eines ganzen menschlichen Kopfes, der synchron mit der ausgegebenen Sprache animiert wird, wie in unserer früheren Anwendung EP-A-225729 beschrieben ist, oder die Anzeige einer Zeichensprache, die eine animierte Darstellung eines Händepaares, das die Zeichensprache (zum Beispiel Britische oder Amerikanische Zeichensprache) aus einem Text-zu-Zeichensprache-Konvertierungsprogamm heraus ausführt. Die letztgenannte Ausführung ist für Menschen mit Hörschwierigkeiten besonders vorteilhaft.
  • Fünfte Ausführung
  • In dieser Ausführung wird der Aspekt der Dateneingabe (jedoch nicht der Aspekt des Datenabrufs) der ersten oder der vierten Ausführung verwendet, um eine Spezifikation zum Schreiben eines Computerprogramms abzuleiten, aus der ein solches Programm automatisch erzeugt werden kann.
  • Eine Spezifikation sollte aus einem Satz von Aussagen über die Funktionen bestehen, die ein Programm haben soll. Insbesondere hat ein Telekommunikationskontrollprogramm für die Kontrolle des Betriebs intelligenter Netzwerkfunktionen oft die Form einer Anzeige der Aktionen, die als Antwort auf das Auftreten bestimmter Bedingungen ausgeführt werden. Wenn zum Beispiel die Leitung der angerufenen Partei besetzt ist, kann eine "Anrufer wartet"-Hinweisfunktion ausgeführt werden, die den Benutzer auf einen anderen ankommenden Anruf aufmerksam macht.
  • Bezug nehmend auf Fig. 21 verläuft der Prozess der Erzeugung eines Computerprogramms nach dieser Ausführung in drei übergeordneten Stufen; eine Phase der Eingabe der Spezifikationen 1000, eine Validierungsphase 1100 und eine Phase der Codeerzeugung 1200.
  • In der Phase der Eingabe der Spezifikationen wird eine Reihe von Aussagen über die Leistungsfähigkeit, wie in der ersten Ausführung beschrieben, eingegeben, die die Funktionen spezifizieren, die das Programm haben soll. Jegliche Vieldeutigkeit in jeder Aussage wird deshalb entdeckt und auf die Eingabe hin korrigiert. Diese Stufe wird deshalb nicht weiter beschrieben.
  • In der zweiten Stufe ist die durchgeführte Überprüfung der Konsistenz nicht erschöpfend, sondern besteht aus zwei Prüfungen. Als erstes wird eine Kausalitätsprüfung angewendet, indem aus jeder Aussage, die impliziert, dass das Ereignis A das Ereignis B verursacht (zum Beispiel, dass eine besetzte angerufene Leitung eine Rufumleitung hervorruft), ein Diagramm erzeugt wird, das anzeigt, dass A vor B eintreten muss, und die so erzeugten Ergebnisse dann ausgerichtet werden, um zu bestimmen, ob irgend welche unmöglichen Abfolgen angegeben wurden. (zum Beispiel, dass von A erwartet wird, B zu verursachen, aber von B erwartet wird, A zu verursachen).
  • Als zweites kann etwas Konsistenz durch Regeln der Schlussfolgerung geprüft werden, wobei das hierarchische Wörterbuch verwendet wird. Wenn zum Beispiel in einer Aussage spezifiziert wird, dass alle Ereignisse zu einem Ergebnis führen, und doch in einer anderen Aussage für ein bestimmtes Ereignis einer hierarchisch niedrigeren (das heißt enggefassteren) Klasse ausgesagt wird, dass es zu einem anderen Ergebnis führt, wird der Widerspruch entdeckt, indem für jede Aussage, die ein enggefassteres (das heißt hierarchisch niedrigeres) semantisches Element betrifft, alle über dieses Element oder über hierarchisch höhergestellte semantische Elemente gemachten Aussagen untersucht werden, um Widersprüche darin zu markieren.
  • Diese Konsistenz- und Kausalitätsprüfungen werden anlässlich jeder Eingabe einer neuen Aussage ausgeführt. So wird die Wahrscheinlichkeit der Eingabe von widersprüchlichen Aussagen reduziert.
  • Wenn die Spezifikationen eingegeben wurden (Schritt 1202), kann die Codeerzeugung automatisch durchgeführt werden, indem ein geeigneter Compiler verwendet wird, um von dem hohen Niveau zu irgend einer Beschreibungssprache zu kompilieren, oder sie kann von Hand durchgeführt werden.
  • Sechste Ausführung
  • Aus dem vorher gesagten ist klar, dass die Erfindung ein System zum Abrufen von Daten verfügbar macht, in dem viele Autoren angenehm mit dem selben Grundstock an Informationen arbeiten können, indem neue Verbindungen zu Konzepten, die im Rechner 200 gespeichert sind, für den Abruf durch (möglicherweise viele) verschiedene Benutzer hinzugefügt werden.
  • In dieser Ausführung wird die Dateneingabe beschleunigt, indem die Grundzüge der graphischen Anzeige des eingegebenen Textes beibehalten werden, die die Verbindungen zwischen den hierin dargestellten Informationen repräsentieren, und die Möglichkeit eröffnet wird, die Informationen zu analysieren. Die Dateneingabe wird beschleunigt, indem die graphische Eingabe von Text vor der vollen semantischen Analyse ermöglicht wird, um danach die semantische Analyse und Beseitigung von Widersprüchen durchzuführen.
  • In dieser Ausführung, wie in den vorhergehenden Ausführungen, findet die Texteingabe über ein Terminal statt, auf dem ein Programm läuft (das ein "Applet" sein kann, das über ein Hypertext- Browserprogramm läuft).
  • Fig. 22 illustriert die erzeugte Bildschirmanzeige. Sie besteht aus einer Anzahl von Formen, die Text enthalten. Wie in der vorhergehenden Ausführung dienen die Formen der visuellen Unterscheidung der Klassen; so werden Verben oder Zustände von Angelegenheiten als Rechtecke einer besonderen Farbe wie grün dargestellt, Einheiten durch abgerundete Rechtecke vorzugsweise in einer anderen Farbe (wie etwa blau) und nähere Bezeichnungen werden als Rauten dargestellt. In dieser Ausführung werden Präpositionen, die mit Einheiten verbunden sind, wie etwa im Englischen das Wort "of", ebenso graphisch dargestellt, in diesem Fall als Dreieck.
  • Zusätzlich zu diesen Formen wird eine voreingestellte Form für Text (hier als graues Rechteck gezeigt) zur Verfügung gestellt, in die formloser Text eingegeben werden kann. In Fig. 22 stellt der Kasten, der die Worte "a novel approach to managing, publishing and sharing knowledge" enthält, eine solche voreingestellte Form dar.
  • Die Formen werden durch Pfeile verbunden, die graphisch die Verbindungen zwischen den Komponenten im ursprünglichen Text darstellen (Einheiten, Zustände von Angelegenheiten und Nähere Bezeichnungen).
  • Nun mit Bezug auf Fig. 23 gibt ein Benutzer zur Eingabe von neuem gespeichertem Text in einem Schritt 2002 über die Tastatur 102 Text in das Terminal 100 ein. In dieser Ausführung erzeugt der Benutzer, anders als in der vorherigen Ausführung, zuerst einen neuen Kasten (als Voreinstellung einen voreingestellten Kasten), indem er eine geeignete Aktion, wie etwa einen "Mausklick rechts", ausführt, woraufhin der vom Benutzer auf der Tastatur eingetippte Text in den Kasten eingegeben wird.
  • Bereits bestehende Kästen können durch einen "linken Mausklick" ausgewählt und der Text hierin geändert werden.
  • Wenn ein Kasten einmal nicht mehr ausgewählt wird (zum Beispiel, weil ein anderer Kasten ausgewählt wurde) überträgt das Terminal 100 ein Signal zum Server 200, das entweder die Erzeugung einer neuen Box oder die Änderung von Text in einem bestehenden Kasten anzeigt. Jeder Kasten entspricht daher einem Datensatz auf dem Server 200, der anfänglich den in dem Kasten gespeicherten Text enthält.
  • In einem Schritt 2004 kann ein Benutzer mit der Maus Verbindungen zwischen den Kästen erstellen (zum Beispiel mit einer "Ziehfunktion" der Maus). Jede solche Verbindung ist gerichtet, indem sie ein einen Kasten als Ursprung und einen als Ziel hat, und das Terminal 100 ist dazu eingerichtet, die Verbindung durch eine Linie mit einem Pfeil graphisch darzustellen, wobei die Linie zwischen dem Ursprungskasten und dem Ziel verläuft und der Pfeil die Richtung der Verbindung anzeigt.
  • Wie in der vorhergehenden Ausführung wird die Information über jede so erzeugte Verbindung zu dem Server 200 übertragen und eine entsprechende Änderung der der hier gespeicherten Daten durchgeführt, um die Datensätze zu verbinden, die den Ursprungs- und den Zielkasten repräsentieren.
  • Wie in Fig. 22 gezeigt ist, stellt diese graphische Anzeige dem Benutzer eine Methode zur Verfügung, den Text in einer Weise einzugeben, die auch einen Teil der Bedeutung klarstellt. Die Benutzer können ihre Ideen strukturieren und gruppieren, indem sie die Kästen anordnen und gruppieren, und sie mit Verbindungslinien verbinden.
  • Zum Beispiel stellen die Konzepte in der Anzeige, die die Einheit betreffen, die ein Programm darstellt, auf das sich als "FreeFlow" bezogen wird, dieses Programm in all den verschiedenen Aussagen, die über es gemacht wurden, in einem einzelnen Kasten dar. Dieser Kasten, der den Text "FreeFlow" enthält, ist mit vier Kästen verbunden, die Zustände von Angelegenheiten darstellen und die jeweils den Text "is", "overcomes", "uses", und "consists of" beinhalten.
  • Jeder dieser Kästen ist dann mit weiteren Kästen verbunden, einem Kasten, der Text enthält, der beschreibt, was FreeFlow ist, ein Kasten, der beschreibt, was FreeFlow leistet, ein Kasten mit Text, der beschreibt, was FreeFlow benutzt, und vier Kästen, die Text enthalten, der beschreibt, woraus FreeFlow besteht.
  • In mancher Hinsicht erinnert die Bildschirmanzeige von Fig. 22 deshalb an ein Element/Beziehungs-Schaubild, aber es ist in dieser Stufe nicht in formale Logik gezwungen, und ein Benutzer kann einfach wie gewünscht Text eingeben und den Text verbinden.
  • Nach dieser Stufe kann der eingegebene (und im Server 200 gespeicherte) Text dann von entsprechendem freiem Text unterschieden werden, der als ein normales Dokument mit den folgenden Merkmalen eingegeben worden sein kann:
  • 1. Alle Aussagen über eine gegebene Einheit (zum Beispiel "FreeFlow") beziehen sich zurück auf denselben Datensatz, der diese Einheit darstellt.
  • 2. Manche Strukturen sind auf Grund der Verbindungen in den gespeicherten Daten erkennbar.
  • In einem Schritt 2006 werden die in den Kästen enthaltenen Daten auf einen Befehl des Benutzers hin (wie etwa die Auswahl eines auf dem Bildschirm angezeigten Knopfes mit der Maus) mit den im Server 200 schon vorhandenen Daten innerhalb des möglichen Ausmaßes in Einklang gebracht. Dementsprechend wird auf dem Server 200 der Text in jedem Kasten untersucht und mit dem Text in der lexikalischen Datenbank 234 und allen anderen Datenbanken mit existierenden Konzepten verglichen.
  • In manchen Fällen gibt es eine exakte Entsprechung zwischen dem in den Kästen enthaltenen Text und den Datensätzen, die in dem lexikalischen Speicher 234 gespeichert sind. Zum Beispiel wird für "is", "overcomes", "of", und "consists of" erkannt, dass sie alle Einträgen in der lexikalischen Datenbank entsprechen.
  • In solchen Fällen wird der im Datensatz des Servers 200 gespeicherte Text durch einen Zeiger auf den Eintrag in der lexikalischen Datenbank vergrößert, und die angezeigte Form wird ausgewählt, um den erkannten Merkmalen des Textes gerecht zu werden (zum Beispiel, um anzuzeigen, ob sie eine Einheit oder ein Zustand von Angelegenheiten ist).
  • Die Datensätze der verbindenden Zeiger werden verwendet, um die Eigenschaften des erkannten Textobjekts zu interpretieren, wenn zum Beispiel das erkannte Objekt ein Verb ist, können die Verbindungslinien verwendet werden, um das Subjekt und das Objekt des Verbs zu bestimmen.
  • In manchen Fällen ist ein erkanntes Wort mehrdeutig. Zum Beispiel kann in der in der Fig. 23 gezeigten Bildschirmanzeige das Wort "uses" entweder eine Form des Verbs "to use" oder ein Hauptwort im Plural sein. Wenn es eine Mehrdeutigkeit gibt, löst der Server 200 die Anzeige der mehrfachen Einträge in der lexikalischen Datenbank 234, auf die sich das Wort beziehen könnte, auf dem Bildschirm des Terminals 100 aus, wie in Fig. 24 gezeigt ist, und der Benutzer wählt eine der Bedeutungen aus. Die gewählte Bedeutung wird zurück zum Serverrechner 200 übermittelt und anstatt des Textes in dem Datensatz verwendet, der dem Kasten entspricht, der in der Bildschirmanzeige in Fig. 24a dargestellt ist.
  • Daher werden die Kästen durch Verbindungen zu diesen Einheiten im Server 200 ersetzt, die beim Abschluss von Schritt 2006 Text enthalten, bei dem erkannt wird, dass er schon im Server 200 gespeicherten Einheiten entspricht.
  • In Schritt 2008 oder durch Auswahl eines geeigneten Steuerknopfes, der auf dem Bildschirm angezeigt wird, wird dem Benutzer erlaubt, zu der lexikalischen Datenbank neue Objekte hinzuzufügen (oder vorteilhafterweise zu einer weiteren Datenbank mit zusätzlichen Konzepten). Zum Beispiel können in der in Fig. 22 gezeigten Bildschirmanzeige die Konzepte "FreeFlow", FreeFlow language", "FreeFlow client", "FreeFlow generator", FreeFlow server", und "FreeFlow knowledge store" hinzugefügt werden.
  • In jedem Fall fordert der Serverrechner 200 den Benutzer über das Terminal 100 auf, zu markieren, ob der Eintrag eine Einheit, eine nähere Bestimmung oder ein Zustand von Angelegenheiten ist, und erlaubt dem Benutzer, von oben der Hierarchie zu folgen, die von der lexikalischen Datenbank 234 verwendet wird, um die neue Einheit in die dadurch definierte Hierarchie einzubinden.
  • Zusätzlich werden bevorzugt vordefinierte, häufig verwendete Kategorien, wie "Einheit", "Definitionen", "Person", "Produkt" und "Organisation" zur Verfügung gestellt.
  • Nachdem der neue Eintrag in die Datenbank aufgenommen wurde, werden die Datensätze, die vorher Text enthielten, ersetzt oder durch einen Verweis auf den Datensatz in der selben Weise vergrößert, wie oben beschrieben ist.
  • Daher werden am Ende dieses Schrittes alle Kästen, die entweder vom Server 200 erkannt oder vom Benutzer als einem bestimmten Konzept entsprechend gekennzeichnet wurden, mit Zeigern zu und von dem lexikalischen Datensatz dieses Konzeptes verbunden, so dass daraufhin auf alle in im Server 200 verfügbaren Aussagen über ein bestimmtes Konzept zugegriffen werden kann.
  • Wenn der Inhalt eines Kastens mehrere Wörter enthält (zum Beispiel "FreeFlow knowledge store"), kann der Kasten dementsprechend ein besonderes Beispiel (zum Beispiel der FreeFlow Wissensspeicher als eine selbständige Einheit) einer allgemeineren Klasse darstellen (zum Beispiel "Wissensspeicher" im Allgemeinen oder "Speicher" im Allgemeinen). Die vorliegende Ausführung erlaubt, solche Konzepte einzeln in den Ordnungsklassen, zu denen sie gehören, zu identifizieren.
  • In dieser Stufe wurde dann Textinformation in einer Weise eingegeben, die es den Autoren erlaubt, ihre Gedanken logisch zu gruppieren und graphisch darzustellen, und es erlaubt, dass individuelle Ideen oder Konzepte durch die schon auf dem Server vorhandenen identifiziert oder dort für den zukünftigen Gebrauch neu gespeichert werden, wenn sie nichts entsprechen, was dort vorher gespeichert wurde. Dies ist für sich selbst nützlich, weil es sicherstellt, dass hinterher auf alle mehrfachen Aussagen, zum Beispiel über "FreeFlow", zugegriffen werden kann, indem im Server 200 nach dem Datensatz des Konzeptes gesucht wird und man dann den Verbindungen davon zu jedem Datensatz folgt.
  • Darüber hinaus kann der Text der Aussagen aus den im Server enthaltenen Datensätzen regeneriert werden, indem man den Verbindungen, die zwischen den verschiedenen Datensätzen zu jeder Aussage aufgenommen wurden, in der durch die Richtung der Verbindungen angegebenen Reihenfolge folgt, um den ursprünglichen Text wiederherzustellen. Anders als in der ersten Ausführung ist der Text jedoch nicht vollständig sprachunabhängig, weil einige Datensätze Textabschnitte in der Sprache der ursprünglichen Quelle enthalten können.
  • Auf die gezielte Betätigung eines auf dem Bildschirm am Terminal 100 angezeigten Knopfes durch den Benutzer hin wird dementsprechend der in der ersten Ausführung beschriebene Analyseprozess in Schritt 2010 durchgeführt, um die in den Kästen für jede Aussage enthaltenen Texte grammatikalisch zu analysieren und zu versuchen, ihre Bedeutungen vollständig zu analysieren. Dementsprechend wird jedes Wort, das noch nicht vollständig durch einen Verweis auf ein gespeichertes Objekt ersetzt worden ist, wie in der ersten Ausführung analysiert und die Aussagen, die das Wort enthalten, werden grammatikalisch analysiert und die Vieldeutigkeiten dem Benutzer zur Auflösung angezeigt.
  • Vorteilhafterweise wird der ursprüngliche Datensatz für jeden Kasten mit dem Text, den er enthält, gespeichert, um ihn, wenn gewünscht, später anzuzeigen. Durch Anklicken des Kastens (zum Beispiel durch einen "Doppelklick" mit der Maus) wird die interne Struktur angezeigt.
  • In dem Datensatz zu einem Kasten zeigt ein Kennzeichen an, dass es ein zusammengesetzter Datensatz ist, der verschiedene erkannte Konzepte enthält, und ein Zeiger zeigt auf die neu erzeugten Datensätze, jeweils einer für jedes der erkannten Konzepte.
  • Folglich werden in Schritt 2012 neue Datensätze für jedes erkannte Wort gespeichert und Änderungen an bestehenden Datensätzen durchgeführt.
  • Bezug nehmend auf Fig. 25 werden Daten vom Server 200 auf ähnliche Weise abgefragt, wie es in Bezug auf die erste Ausführung beschrieben wurde. Typischerweise fragt der Benutzer über ein Browser-Programm auf dem Terminal 100 beim Server 200 an. Ein oder mehrere Suchbegriffe werden in ein Formular eingegeben, das zum Server 200 hochgeladen wird.
  • Im Schritt 2102 werden die Begriffe im lexikalischen Speicher nachgeschlagen, und in einem Schritt 2104 werden ebenso hierarchisch niedrigere Einträge oder Synonyme für dasselbe Konzept nachgeschlagen. Diese Schritte entsprechen dem Schritt 724 früherer Ausführungen.
  • In Schritt 726 wird wie in der ersten Ausführung auf alle Datensätze zugegriffen, die auf die betreffenden Einträge zeigen.
  • In einem Schritt 2108 wird eine Textsuche in den Datensätzen zu den Objekten durchgeführt, die nicht vollständig durch Verweise auf die lexikalische Datenbank ersetzt wurden. Alle so gefundenen Datensätze, die den eingegebenen Text enthalten, werden zu der Liste der in Schritt 726 gefundenen Objekte hinzugefügt.
  • In Schritt 724 wird wie in der vorherigen Ausführung der Ausgabetext unter Verwendung der Verbindungsdaten entsprechend der Aussagen erzeugt, die die zu ermittelnden Suchbegriffe enthalten. Aller in den Datensätzen gespeicherter Text wird direkt wiedergegeben.
  • In Schritt 736 wird der Text wie in der ersten Ausführung zum Terminal 100 übertragen.
  • Sogar wenn Text in einigen Datensätzen gespeichert wurde, ist es wie in der ersten Ausführung immer noch möglich, die Verbindungen und benachbarte Datensätze zu nutzen, für die erkannt wurde, dass sie Einträgen in die lexikalische Datenbank entsprechen, um mit dem in den Datensätzen gespeicherten Text einige Operationen der Prüfung der Sinnhaftigkeit und der Schlussfolgerung durchzuführen.
  • Zusätzlich oder alternativ zur direkten Erzeugung von Text kann eine graphische Anzeige entsprechend der in Fig. 22 wiedergegeben werden, die die Struktur der abgerufenen Aussagen graphisch darstellt.
  • In diesem Fall veranlasst die Auswahl irgendeines Datensatzes mit der Maus am Terminal 100 die Anzeige weiterer Aussagen, die auf den selben lexikalischen Eintrag wie dieser Datensatz zeigen, um den Datenabruf auf ähnliche Weise wie bei Hypertext zur Verfügung zu stellen.
  • Es wird sich zeigen, dass diese Ausführung die Vorteile früherer Ausführungen mit dem Vorsehen einer graphischen Zwischenform der Eingabe kombiniert, die den Autoren vorteilhaft erscheint, weil sie immer noch etwas grammatikalische Analyse und das Schließen auf die eingegebene Information erlaubt.
  • Andere Modifikationen und Ausführungen
  • Die Merkmale der Konsistenzprüfung der oben beschriebenen fünften Ausführung können natürlich mit irgend einer der vorhergehenden Ausführungen verwendet werden, und im Allgemeinen können, soweit nicht das Gegenteil angezeigt ist, die Merkmale der oben beschriebenen Ausführung frei kombiniert werden.

Claims (24)

1. Vorrichtung zur Verwendung bei der Identifizierung semantischer Mehrdeutigkeiten, mit
(i) Mittel zur Eingabe, einschließlich einem Mittel zur Texteingabe;
(ii) Mittel zur Speicherung;
(iii) Mittel zur Verarbeitung, die für die Analyse des eingegebenen Textes eingerichtet sind, um
a. semantisch bedeutsame Elemente im eingegebenen Text zu identifizieren;
b. Beziehungen zwischen den identifizierten semantisch bedeutsamen Elementen abzuleiten; und
c. eine Gruppe identifizierter semantisch bedeutsamer Elemente und Daten, die die abgeleiteten Beziehungen definieren, in Mitteln zur Speicherung zu speichern;
(iv) Mittel zur graphischen Anzeige, welche, als Antwort auf besagte Analyse des eingegebenen Textes, eingerichtet sind, um eine visuelle Darstellung des besagten eingegebenen Textes zu erzeugen, in der die identifizierten semantisch bedeutsamen Elemente durch bildhafte Elemente und die dazwischen abgeleiteten Beziehungen durch Verbindungselemente, die die bildhaften Elemente verbinden, dargestellt sind.
2. Vorrichtung gemäß Anspruch 1, bei der das Mittel zur Eingabe ferner ein graphisches Mittel zur Eingabe umfasst, welches eingerichtet ist, um mit der visuellen Darstellung zu interagieren, um das Bearbeiten der Verbindungselemente zu ermöglichen, wobei das Mittel zur graphischen Darstellung ferner eingerichtet ist, um die visuelle Darstellung in Übereinstimmung mit der Bearbeitung zu aktualisieren, und wobei das Mittel zur Verarbeitung ferner eingerichtet ist, um Daten zu empfangen und zu speichern, die irgendeines der Verbindungselemente, die so bearbeitet wurden, darstellen.
3. Vorrichtung gemäß Anspruch 1 oder 2, wobei das Mittel zur Verarbeitung fähig ist, eine oder mehrere weitere Gruppen von Daten, die alternative Beziehungen zwischen den identifizierten semantisch bedeutsamen Elementen darstellen, zu speichern.
4. Vorrichtung nach der Ansprüche 1 bis 3, bei der das Mittel zur Speicherung einen lexikalischen Speicher umfasst, der einen Eintrag für jedes mögliche semantisch bedeutsame Element speichert.
5. Vorrichtung gemäß Anspruch 4, bei der jeder Eintrag Bedeutungsdaten, die sich auf die Bedeutung des Eintrags beziehen, beinhaltet.
6. Vorrichtung gemäß Anspruch 5, bei der das Mittel zur Verarbeitung eingerichtet ist, um
a) Einträge im lexikalischen Speicher, die den identifizierten semantisch bedeutsamen Elementen entsprechen, zu identifizieren, und
b) Einträge im lexikalischen Speicher, die den identifizierten semantisch bedeutsamen Elementen entsprechen, zu identifizieren, und die identifizierten semantisch bedeutsamen Elemente gemäß den identifizierten Einträgen zu analysieren, um die dem entsprechenden Bedeutungsdaten zu extrahieren.
7. Vorrichtung gemäß Anspruch 6, in der das Mittel zur Verarbeitung eingerichtet ist, um die Beziehungen, die zwischen den identifizierten semantisch bedeutsamen Elementen abgeleitet wurden, gemäß den extrahierten Bedeutungsdaten zu analysieren, um Widersprüchlichkeiten in der Bedeutung der besagten Beziehungen zu finden.
8. Vorrichtung gemäß einem der Ansprüche 5 bis 7, wobei jeder Eintrag auf eine Vielzahl von Datensätzen abgebildet wird, wobei jeder dieser Datensätze eine Sprache darstellt und eines oder mehrere Worte der Sprache des Datensatzes umfasst, die die Bedeutung des Eintrags haben.
9. Vorrichtung gemäß einem der Ansprüche 5 bis 8, in der der besagte lexikalische Speicher eingerichtet ist, um mit wenigstens einigen der Einträge Daten zum Grad der Vertrautheit zu speichern, die einen Grad der Vertrautheit eines Benutzers mit einem Eintrag darstellen.
10. Vorrichtung gemäß einem der vorhergehenden Ansprüche, in der besagtes Mittel zur Speicherung eingerichtet ist, um mit den semantisch bedeutsamen Elementen, die aus dem Eingabetext identifiziert wurden, Zeitstempel zu speichern, die die Zeit angeben, zu der der Eingabetext in das Mittel zur Eingabe eingegeben wurde.
11. Vorrichtung gemäß einem der vorhergehenden Ansprüche, in der besagtes Mittel zur Speicherung eingerichtet ist, um Daten der Zugriffsebene für semantisch bedeutsame Elemente, die aus dem Eingabetext identifiziert wurden, zu speichern.
12. Vorrichtung gemäß einem der vorhergehenden Ansprüche, in der besagtes Mittel zur Speicherung eingerichtet ist, um zusätzlich zur Speicherung der semantisch bedeutsamen Elemente, die aus dem Eingabetext identifiziert wurden, Daten zu speichern, die ein sich auf den Eingabetext beziehendes Dokument repräsentieren.
13. Vorrichtung gemäß einem der vorhergehenden Ansprüche, in der der Eingabetext Bestandteile des Dokuments auf anderen Medien als das des Eingabetextes und/oder sich darauf beziehender Dokumente beinhaltet oder sich darauf bezieht, und das Mittel zur Speicherung eingerichtet ist, um besagte Bestandteile des Dokuments oder Verweise hierauf mit den semantisch bedeutsamen Elementen, die aus dem Eingabetext identifiziert wurden, zu speichern.
14. Vorrichtung gemäß einem der vorhergehenden Ansprüche, in der das besagte Mittel zur Eingabe mindestens ein Spracherkennungssystem und/oder eine Tastatur umfasst.
15. Vorrichtung gemäß einem der vorhergehenden Ansprüche, in der besagtes Mittel zur Speicherung eingerichtet ist, um Daten, die den Autor des besagten Eingabetextes repräsentieren, zu speichern.
16. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei besagtes Mittel zur Eingabe ferner Mittel zur Eingabe einer Abfrage zur Eingabe von Suchparametern umfasst, dessen Mittel zur Eingabe einer Abfrage in operativer Beziehung mit dem Mittel zur Verarbeitung steht, und eingerichtet ist, um die Suchparameter an die Mittel zur Verarbeitung zur Analyse zu übergeben, wobei das Mittel zur Verarbeitung semantisch bedeutsame Elemente und Beziehungen dazwischen mit den Suchparametern identifiziert, die Vorrichtung ferner Mittel zur Abfrage umfasst, um Daten von dem besagten Mittel zur Speicherung gemäß den zur Analyse verwendeten Suchparametern abzufragen.
17. Vorrichtung gemäß Anspruch 16, die ferner Mittel zu Generierung umfasst, um eine Ausgabe aus den abgefragten Daten zu generieren.
18. Vorrichtung gemäß Anspruch 16 oder 17, wobei das besagte Mittel zur Generierung eingerichtet ist, um die besagte Ausgabe in einer anderen Sprache zu generieren als die Sprache, in der der Text entsprechend den abgefragten Daten eingegeben wurde.
19. Vorrichtung gemäß einem der Ansprüche 16 bis 18, in der das Mittel zur Abfrage eingerichtet ist, um Suchparameter entgegenzunehmen, die mehrfache Suchkriterien definieren, um besagte Beziehungen in Abhängigkeit von besagten Kriterien zu analysieren, und um Daten auszugeben, die Beziehungen, welchen auch immer, entsprechen, für die die Erfüllung der Kriterien als gegeben erachtet wird.
20. Vorrichtung gemäß einem der Ansprüche 17 bis 19, um Daten abzufragen, die von der Vorrichtung gemäß Anspruch 5 gespeichert wurden, in dem besagtes Mittel zur Abfrage eingerichtet ist, um besagte Beziehungen gemäß den Bedeutungsdaten, die mit Einträgen im lexikalischen Speicher gespeichert sind, zu analysieren und Daten für die Ausgabe in Abhängigkeit der besagten Analyse auszuwählen.
21. Vorrichtung gemäß einem der Ansprüche 17 bis 20, um Daten abzufragen, die von der Vorrichtung gemäß Anspruch 9 gespeichert wurden, in der besagtes Mittel zur Abfrage eingerichtet ist, um Daten für die Ausgabe in Abhängigkeit der Daten des Grads der Vertrautheit auszuwählen.
22. Vorrichtung gemäß einem der Ansprüche 17 bis 21, um Daten abzufragen, die von der Vorrichtung gemäß Anspruch 11 gespeichert wurden, in dem besagtes Mittel zur Abfrage eingerichtet ist, um für die Ausgabe semantisch bedeutsame Elemente gemäß besagter Zugriffsebene auszuwählen.
23. Vorrichtung gemäß Anspruch 22, soweit dieser dem Anspruch 17 abhängig ist, in dem besagtes Mittel zur Abfrage eingerichtet ist, um die Ausgabe einiger der ausgewählten semantisch bedeutsamen Elemente gemäß der damit assoziierten Daten der Zugriffsebene zu unterdrücken, und das Mittel zur Generierung eingerichtet ist, um eine Ausgabe zu generieren, die auf nicht ausgewählten semantisch bedeutsamem Elementen basiert.
24. Vorrichtung zur Erzeugung eines Computerprogramms aus einer Spezifikation von dessen Funktionalität in einem Dokument in natürlicher Sprache, die eine Vorrichtung zur Identifizierung semantischer Widersprüchlichkeiten gemäß Anspruch 7 umfasst, worin besagtes Mittel zur Verarbeitung ferner eingerichtet ist, um logische Widersprüchlichkeiten in der Spezifikation zu finden, ferner das Vorrichtung Mittel zur Erzeugung von Code umfasst, um Computercode aus semantisch bedeutsamen Elementen, die in der Spezifikation identifiziert wurden, zu erzeugen.
DE69812162T 1997-12-17 1998-12-16 Vorrichtung zur Verwendung bei der Identifizierung semantischer Mehrdeutigkeiten Expired - Lifetime DE69812162T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9726654.8A GB9726654D0 (en) 1997-12-17 1997-12-17 Data input and retrieval apparatus
PCT/GB1998/003774 WO1999031604A1 (en) 1997-12-17 1998-12-16 Data input and retrieval apparatus

Publications (2)

Publication Number Publication Date
DE69812162D1 DE69812162D1 (de) 2003-04-17
DE69812162T2 true DE69812162T2 (de) 2003-12-11

Family

ID=10823759

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69812162T Expired - Lifetime DE69812162T2 (de) 1997-12-17 1998-12-16 Vorrichtung zur Verwendung bei der Identifizierung semantischer Mehrdeutigkeiten

Country Status (7)

Country Link
US (1) US6446081B1 (de)
EP (1) EP1038238B1 (de)
AU (1) AU753108B2 (de)
CA (1) CA2313201C (de)
DE (1) DE69812162T2 (de)
GB (1) GB9726654D0 (de)
WO (1) WO1999031604A1 (de)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324685B1 (en) * 1998-03-18 2001-11-27 Becomm Corporation Applet server that provides applets in various forms
US6741994B1 (en) * 1998-07-27 2004-05-25 Hewlett-Packard Development Company, L.P. Method and automatic organization of data
US9037451B2 (en) * 1998-09-25 2015-05-19 Rpx Corporation Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for implementing language capabilities using the same
CA2256931A1 (en) * 1998-12-23 2000-06-23 Robert Weisz Source editing in a graphical hierarchical environment
US6901402B1 (en) * 1999-06-18 2005-05-31 Microsoft Corporation System for improving the performance of information retrieval-type tasks by identifying the relations of constituents
US7219073B1 (en) * 1999-08-03 2007-05-15 Brandnamestores.Com Method for extracting information utilizing a user-context-based search engine
US7013300B1 (en) 1999-08-03 2006-03-14 Taylor David C Locating, filtering, matching macro-context from indexed database for searching context where micro-context relevant to textual input by user
US6502112B1 (en) * 1999-08-27 2002-12-31 Unisys Corporation Method in a computing system for comparing XMI-based XML documents for identical contents
US6601026B2 (en) * 1999-09-17 2003-07-29 Discern Communications, Inc. Information retrieval by natural language querying
US6973649B1 (en) * 1999-09-30 2005-12-06 International Business Machines Corporation Utilizing programming object visual representation for state reflection
US6757023B2 (en) * 1999-10-14 2004-06-29 Mustek Systems Inc. Method and apparatus for displaying and adjusting subtitles of multiple languages between human-machine interfaces
US20010047346A1 (en) * 2000-04-10 2001-11-29 Dejian Liu Artificial intelligence and computer interface
US8640017B1 (en) * 2000-05-02 2014-01-28 International Business Machines Corporation Bootstrapping in information access systems
US6704728B1 (en) * 2000-05-02 2004-03-09 Iphase.Com, Inc. Accessing information from a collection of data
US6711561B1 (en) 2000-05-02 2004-03-23 Iphrase.Com, Inc. Prose feedback in information access system
US8478732B1 (en) 2000-05-02 2013-07-02 International Business Machines Corporation Database aliasing in information access system
US20010049602A1 (en) * 2000-05-17 2001-12-06 Walker David L. Method and system for converting text into speech as a function of the context of the text
US8290768B1 (en) 2000-06-21 2012-10-16 International Business Machines Corporation System and method for determining a set of attributes based on content of communications
US9699129B1 (en) 2000-06-21 2017-07-04 International Business Machines Corporation System and method for increasing email productivity
US6408277B1 (en) 2000-06-21 2002-06-18 Banter Limited System and method for automatic task prioritization
US6683624B1 (en) * 2000-08-17 2004-01-27 International Business Machines Corporation System and method for managing programming object visual representations participating in alternative execution paths
US7254531B2 (en) * 2000-09-05 2007-08-07 Nir Einat H In-context analysis and automatic translation
JP3774698B2 (ja) * 2000-10-11 2006-05-17 キヤノン株式会社 情報処理装置、情報処理方法及び記憶媒体
US7013308B1 (en) 2000-11-28 2006-03-14 Semscript Ltd. Knowledge storage and retrieval system and method
KR20020045343A (ko) * 2000-12-08 2002-06-19 오길록 표준화된 문장 구문구조 및 의미구조에 기반한 정보생성/검색 장치 및 그 방법
US7644057B2 (en) 2001-01-03 2010-01-05 International Business Machines Corporation System and method for electronic communication management
US6778994B2 (en) 2001-05-02 2004-08-17 Victor Gogolak Pharmacovigilance database
US7542961B2 (en) 2001-05-02 2009-06-02 Victor Gogolak Method and system for analyzing drug adverse effects
US7925612B2 (en) * 2001-05-02 2011-04-12 Victor Gogolak Method for graphically depicting drug adverse effect risks
EP1274046A1 (de) * 2001-07-03 2003-01-08 FunMail, Inc Verfahren und Apparat zur Herstellung von Animationen aus einem Text
US6741979B1 (en) * 2001-07-24 2004-05-25 Thomas W. Tiahrt System and method for flexible indexing of document content
SE0102648A0 (sv) * 2001-08-02 2003-03-06 Lars Höidahl Arrangemang att utföra objekt-orienterad programmering
US6928640B2 (en) * 2001-08-23 2005-08-09 Qbt Systems, Inc. System and method for building source code for connecting to systems
US7461006B2 (en) * 2001-08-29 2008-12-02 Victor Gogolak Method and system for the analysis and association of patient-specific and population-based genomic data with drug safety adverse event data
US20030046702A1 (en) * 2001-09-03 2003-03-06 Gen Sasaki Program server and a receiver
US20070265834A1 (en) * 2001-09-06 2007-11-15 Einat Melnick In-context analysis
US7165058B2 (en) * 2001-12-27 2007-01-16 The Boeing Company Database analysis tool
US7281218B1 (en) * 2002-04-18 2007-10-09 Sap Ag Manipulating a data source using a graphical user interface
US7548847B2 (en) * 2002-05-10 2009-06-16 Microsoft Corporation System for automatically annotating training data for a natural language understanding system
US20040027379A1 (en) * 2002-08-08 2004-02-12 Hong Huey Anna Onon Integrated visual development system for creating computer-implemented dialog scripts
US20040111255A1 (en) * 2002-12-10 2004-06-10 International Business Machines Corporation Graph-based method for design, representation, and manipulation of NLU parser domains
US20050187913A1 (en) 2003-05-06 2005-08-25 Yoram Nelken Web-based customer service interface
US8495002B2 (en) 2003-05-06 2013-07-23 International Business Machines Corporation Software tool for training and testing a knowledge base
US7676445B2 (en) * 2003-08-20 2010-03-09 International Business Machines Corporation Apparatus, system and method for developing failure prediction software
US7877390B2 (en) * 2003-10-20 2011-01-25 International Business Machines Corporation Systems and methods for providing autonomous persistent storage systems
AU2004285259A1 (en) * 2003-10-29 2005-05-12 Benjamin M. W. Carpenter System and method for managing documents
US8799001B2 (en) * 2003-11-17 2014-08-05 Nuance Communications, Inc. Method and system for defining standard catch styles for speech application code generation
US7440890B2 (en) * 2003-12-19 2008-10-21 Xerox Corporation Systems and methods for normalization of linguisitic structures
US20060074980A1 (en) * 2004-09-29 2006-04-06 Sarkar Pte. Ltd. System for semantically disambiguating text information
US7970600B2 (en) * 2004-11-03 2011-06-28 Microsoft Corporation Using a first natural language parser to train a second parser
JP2006276903A (ja) * 2005-03-25 2006-10-12 Fuji Xerox Co Ltd 文書処理装置
US7353226B2 (en) * 2005-04-22 2008-04-01 The Boeing Company Systems and methods for performing schema matching with data dictionaries
US20060265646A1 (en) * 2005-05-23 2006-11-23 International Business Machines Corporation System, method, and computer program product for detection of potentially-problematic terminology in documents
US20060277028A1 (en) * 2005-06-01 2006-12-07 Microsoft Corporation Training a statistical parser on noisy data by filtering
US8666928B2 (en) * 2005-08-01 2014-03-04 Evi Technologies Limited Knowledge repository
US8027876B2 (en) * 2005-08-08 2011-09-27 Yoogli, Inc. Online advertising valuation apparatus and method
US8429167B2 (en) * 2005-08-08 2013-04-23 Google Inc. User-context-based search engine
US20080221868A1 (en) * 2005-09-05 2008-09-11 Melnick Einat H Digital universal language
US8688673B2 (en) * 2005-09-27 2014-04-01 Sarkar Pte Ltd System for communication and collaboration
US9886478B2 (en) 2005-10-07 2018-02-06 Honeywell International Inc. Aviation field service report natural language processing
US7949444B2 (en) * 2005-10-07 2011-05-24 Honeywell International Inc. Aviation field service report natural language processing
US7966172B2 (en) * 2006-01-06 2011-06-21 Computer Associates Think, Inc. Natural language tool for specifying a subset of dynamic inter-related data
US7979267B2 (en) * 2006-01-06 2011-07-12 Computer Associates Think, Inc. Specifying a subset of dynamic inter-related data
US8602793B1 (en) * 2006-07-11 2013-12-10 Erwin Ernest Sniedzins Real time learning and self improvement educational system and method
US8838659B2 (en) * 2007-10-04 2014-09-16 Amazon Technologies, Inc. Enhanced knowledge repository
US20120101803A1 (en) * 2007-11-14 2012-04-26 Ivaylo Popov Formalization of a natural language
US8219407B1 (en) 2007-12-27 2012-07-10 Great Northern Research, LLC Method for processing the output of a speech recognizer
US9978365B2 (en) * 2008-10-31 2018-05-22 Nokia Technologies Oy Method and system for providing a voice interface
US9805089B2 (en) 2009-02-10 2017-10-31 Amazon Technologies, Inc. Local business and product search system and method
US9110882B2 (en) 2010-05-14 2015-08-18 Amazon Technologies, Inc. Extracting structured knowledge from unstructured text
US20130332450A1 (en) 2012-06-11 2013-12-12 International Business Machines Corporation System and Method for Automatically Detecting and Interactively Displaying Information About Entities, Activities, and Events from Multiple-Modality Natural Language Sources
US8825664B2 (en) * 2012-08-17 2014-09-02 Splunk Inc. Indexing preview
US20140207438A1 (en) * 2013-01-21 2014-07-24 Raanan Liebermann ASL Converter
US9177553B1 (en) * 2013-06-25 2015-11-03 Google Inc. Identifying underserved command inputs
US10515110B2 (en) * 2013-11-12 2019-12-24 Pinterest, Inc. Image based search
US10679269B2 (en) 2015-05-12 2020-06-09 Pinterest, Inc. Item selling on multiple web sites
US10269055B2 (en) 2015-05-12 2019-04-23 Pinterest, Inc. Matching user provided representations of items with sellers of those items
US10402435B2 (en) * 2015-06-30 2019-09-03 Microsoft Technology Licensing, Llc Utilizing semantic hierarchies to process free-form text
US11609946B2 (en) 2015-10-05 2023-03-21 Pinterest, Inc. Dynamic search input selection
US11055343B2 (en) 2015-10-05 2021-07-06 Pinterest, Inc. Dynamic search control invocation and visual search
US11704692B2 (en) 2016-05-12 2023-07-18 Pinterest, Inc. Promoting representations of items to users on behalf of sellers of those items
US10614162B2 (en) * 2016-05-27 2020-04-07 Ricoh Company, Ltd. Apparatus, system, and method of assisting information sharing, and recording medium
US10679008B2 (en) 2016-12-16 2020-06-09 Microsoft Technology Licensing, Llc Knowledge base for analysis of text
US11841735B2 (en) 2017-09-22 2023-12-12 Pinterest, Inc. Object based image search
US10942966B2 (en) 2017-09-22 2021-03-09 Pinterest, Inc. Textual and image based search
US11126653B2 (en) 2017-09-22 2021-09-21 Pinterest, Inc. Mixed type image based search results

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59176823A (ja) * 1983-01-28 1984-10-06 テキサス インスツルメンツ インコ−ポレイテツド 自然言語を用いてコンピュータに入力する方法
US4739477A (en) * 1984-08-30 1988-04-19 International Business Machines Corp. Implicit creation of a superblock data structure
SE466029B (sv) * 1989-03-06 1991-12-02 Ibm Svenska Ab Anordning och foerfarande foer analys av naturligt spraak i ett datorbaserat informationsbehandlingssystem
US5229125A (en) * 1991-11-08 1993-07-20 Garlock Inc. Molluscicidal water distribution system components
DE69333568T2 (de) * 1992-09-04 2004-10-21 Caterpillar Inc Integriertes entwurf- und übersetzungssystem.
US5659764A (en) * 1993-02-25 1997-08-19 Hitachi, Ltd. Sign language generation apparatus and sign language translation apparatus
US5741136A (en) * 1993-09-24 1998-04-21 Readspeak, Inc. Audio-visual work with a series of visual word symbols coordinated with oral word utterances
US5873056A (en) * 1993-10-12 1999-02-16 The Syracuse University Natural language processing system for semantic vector representation which accounts for lexical ambiguity
JP3067966B2 (ja) * 1993-12-06 2000-07-24 松下電器産業株式会社 画像部品を検索する装置及びその方法
JPH07168851A (ja) * 1993-12-16 1995-07-04 Canon Inc 画像表示方法及び装置
JP3161942B2 (ja) * 1995-06-14 2001-04-25 シャープ株式会社 訳振り機械翻訳装置
US6026388A (en) * 1995-08-16 2000-02-15 Textwise, Llc User interface and other enhancements for natural language information retrieval system and method
JPH10232878A (ja) * 1997-02-19 1998-09-02 Hitachi Ltd ドキュメント管理方法および装置
US5991756A (en) * 1997-11-03 1999-11-23 Yahoo, Inc. Information retrieval from hierarchical compound documents

Also Published As

Publication number Publication date
WO1999031604A1 (en) 1999-06-24
US6446081B1 (en) 2002-09-03
GB9726654D0 (en) 1998-02-18
CA2313201A1 (en) 1999-06-24
DE69812162D1 (de) 2003-04-17
AU1571699A (en) 1999-07-05
CA2313201C (en) 2008-12-16
EP1038238B1 (de) 2003-03-12
EP1038238A1 (de) 2000-09-27
AU753108B2 (en) 2002-10-10

Similar Documents

Publication Publication Date Title
DE69812162T2 (de) Vorrichtung zur Verwendung bei der Identifizierung semantischer Mehrdeutigkeiten
DE69710458T2 (de) Verfahren und system für die berechnung von semantischen logischen formen von syntaxbäumen
DE69429866T2 (de) Verfahren und gerät zur modellierung und abfrage von datenbankenstrukturen mit natürlichen sprachartigen konstruktionen
DE69032921T2 (de) Direkte Manipulationsschnittstelle zum Abrufen von logischen Informationen
DE68928775T2 (de) Verfahren und Vorrichtung zur Herstellung einer Zusammenfassung eines Dokumentes
DE69432575T2 (de) Dokumentenerkennungssystem mit verbesserter Wirksamkeit der Dokumentenerkennung
DE69803043T2 (de) Übersetzungssystem
DE3650736T2 (de) Informationswiederauffindungsverfahren
DE60029732T2 (de) Phrasenübersetzungsverfahren und -system
DE69530816T2 (de) Textbearbeitungssystem und Verfahren unter Verwendung einer Wissensbasis
DE60208604T2 (de) Automatisches Verfahren zur Erzeugung von Image-buttons
DE69804495T2 (de) Informationsmanagement und wiedergewinnung von schlüsselbegriffen
DE69923650T2 (de) System für mehrsprachige Informationswiederauffindung
US8370352B2 (en) Contextual searching of electronic records and visual rule construction
DE69734400T2 (de) Verfahren und system zur prüfung der richtigkeit der rechtschreibung und grammatik eines dokuments
EP1014282A1 (de) Suchkanäle zwischen Anfragen zum Gebrauch in einem Informationsgewinnungssystem
US20100169299A1 (en) Method and system for information extraction and modeling
DE102019001267A1 (de) Dialogartiges System zur Beantwortung von Anfragen
DE112020005268T5 (de) Automatisches erzeugen von schema-annotationsdateien zum umwandeln von abfragen in natürlicher sprache in eine strukturierte abfragesprache
DE10124429B4 (de) System und Verfahren für eine verbesserte Rechtschreibprüfung
WO2009030246A1 (de) Erfassung von zusammenhängen zwischen informationen repräsentierenden daten
DE60101668T2 (de) Verfahren und gerät zum erzeugen eines auf einer formatvorlage basierten index für ein strukturiertes dokument
DE69933123T2 (de) Zugriff auf eine semi-strukturierte datenbank
DE69733294T2 (de) Einrichtung und Verfahren zum Zugriff auf eine Datenbank
DE112021006602T5 (de) Verfeinern von abfrage-erzeugungsmustern

Legal Events

Date Code Title Description
8364 No opposition during term of opposition