[go: up one dir, main page]

DE69130766T2 - Intelligentes hilfssystem - Google Patents

Intelligentes hilfssystem

Info

Publication number
DE69130766T2
DE69130766T2 DE69130766T DE69130766T DE69130766T2 DE 69130766 T2 DE69130766 T2 DE 69130766T2 DE 69130766 T DE69130766 T DE 69130766T DE 69130766 T DE69130766 T DE 69130766T DE 69130766 T2 DE69130766 T2 DE 69130766T2
Authority
DE
Germany
Prior art keywords
user
knowledge base
rules
data
checking
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
DE69130766T
Other languages
English (en)
Other versions
DE69130766D1 (de
Inventor
Charles Lanier
Leticia Villegas
Richard Wolf
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.)
Samsung Electronics Co Ltd
Original Assignee
AST Research Inc
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 AST Research Inc filed Critical AST Research Inc
Publication of DE69130766D1 publication Critical patent/DE69130766D1/de
Application granted granted Critical
Publication of DE69130766T2 publication Critical patent/DE69130766T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • 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
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/911Nonmedical diagnostics
    • 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
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/927Education or instruction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Digital Computer Display Output (AREA)

Description

    GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft Hilfssysteme für Computer; spezifischer betrifft sie Hilfssysteme, die einen Anwender eines Computers durch Bereitstellung kontextsensitiver Hilfe unterstützen.
  • HINTERGRUND DER ERFINDUNG
  • Um einen Computer effektiv zu betreiben, muß ein Anwender eine Anzahl von Befehlen und Datenformaten beherrschen. Man erreicht dies gewöhnlich durch Einsatz von Stunden zum Lesen gedruckter Anwenderdokumentation und/oder durch Anwendung von trial and error-Techniken.
  • Es sind bereits computerunterstützte Hilfssysteme entwickelt worden, die eine on-line Unterstützung für Computeranwender ermöglichen. Als Antwort auf eine Anforderung durch einen Anwender zeigen diese Systeme Hilfsinformation auf dem Anzeigeschirm des Computers an. Einfache Hilfssysteme starten unabhängig von den Umständen stets mit der gleichen Anzeige und der Anwender muß spezifische Informationen eingeben, um Hilfe für seine oder ihre besondere Situation zu finden. Fortgeschrittenere Hilfssysteme zeigen kontextsensitive Hilfe an. Kontextsensitive Hilfssysteme ermitteln, in welchem speziellen Teil eines Anwendungsprogramms sich der Anwender befindet. Es wird dann Hilfsinformation angezeigt, die relevant für diesen Anwenderstandort ist.
  • Während solche kontextsensitiven Hilfssysteme eine Verbesserung gegenüber einfachen Hilfssystemen darstellen, weisen sie zahlreiche Beschränkungen auf. Derartige Systeme sind üblicherweise eng an ein Anwendungsprogramm gekoppelt; sie müssen sich auf das Anwendungsprogramm stützen, um den Kontext zu verfolgen und zu speichern. Da diese Systeme auf die Anzeige von Hilfsinformation auf Basis des Programmstandortes limitiert sind, liefern diese des weiteren stets die gleiche Hilfsinformation für einen gegebenen Standort unabhängig davon, wie der Anwender dorthin gelangte. Während solche Systeme die. Annehmlichkeit einer on-line Hilfe ermöglichen, ist die Hilfsinformation, die sie erbringen, nicht mehr als ein Anwenderhandbuch, welches auf einen gegebenen Programmbildschirm oder eine Funktion bezogen ist. Im Ergebnis neigen diese Hilfssysteme dazu, von begrenzter Nützlichkeit für den Anwender zu sein, der nicht spezifisch das Problem, identifizieren kann oder der "seinen Weg verloren" hat.
  • Die EP-A-0436459 beschreibt ein intelligentes Hilfssystem, welches Hilfsinformation bereitstellt, nachdem ein Anwender ein fehlerhaftes Kommando oder eine Frage eingibt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung erkennt einen Bedarf an einem intelligenten Hilfssystem, welches Informationen, die spezifisch für die Anwendervorgeschichte sind, wie Tasks, die er oder sie erfolgreich ausgeführt hat (und wie oft) oder vorangehend Hilfe dazu hatte, und Informationen, die einen Status einer Maschine und einen Status einer programmierten Anwendung definieren, verarbeitet.
  • Gemäß der Erfindung wird ein intelligentes Hilfssystem zur Unterstützung eines Anwenders eines Computerprogramms mittels Pflege einer historischen Schlange und Verwendung von Techniken der künstlichen Intelligenz vorgeschlagen, um Hilfsinformation, die auf anwendergesteuerten Ereignissen und dem gegenwärtigen Status des Systems basiert, auszuwählen. Insbesondere werden anwendergesteuerte Aktivitäten überwacht und in der historischen Schlange innerhalb einer Wissensbank gespeichert. Systemzustände werden ebenfalls überwacht und gespeichert. Die Wissensbank wird dann von einer Folgerungsmaschine eingesetzt, um die spezifische Art von Hilfe, die der Anwender benötigt, zu isolieren. Somit wird dem Anwender auf Anfrage Unterstützung gegeben, die passend für den Level dieses Anwenders im Verständnis oder der Erfahrung und für die gegenwärtigen Aktivitäten, die er oder sie ausgeführt hat, ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein Blockdiagramm eines Computersystems, in welchem die Erfindung verkörpert sein kann.
  • Fig. 2 ist ein Blockdiagramm eines Computersoftwaresystems, das in der bevorzugten Ausführungsform verwendet wird.
  • Fig. 3a illustriert die Verarbeitung von anwendergesteuerten Ereignissen und Systemzuständen zu Hilfsinformation.
  • Fig. 3b ist ein Flußdiagramm der generellen Verfahren des Hilfssystems.
  • Fig. 4 ist ein Flußdiagramm einer Anfrage durch die Überprüfungseinheit.
  • Fig. 5A-B zeigen ein Flußdiagramm der Verfahren der Ereignisinterpreter.
  • Fig. 6 ist ein Flußdiagramm der Verfahren zum Verarbeiten von Ereignissen.
  • Fig. 7 ist ein Flußdiagramm der Verfahren zur Identifizierung von Tasks.
  • Fig. 8 illustriert die Regeltaxonomie der Erfindung.
  • Fig. 9 illustriert Frames und Slots für die Speicherung von Wissen.
  • Fig. 10A-B zeigen ein Flußdiagramm der Verfahren zum Überprüfen von Regeln.
  • Fig. 11 illustriert den Betrieb der Anzeigemaschine.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Unter Bezugnahme auf Fig. 1 ist die bevorzugte Ausführungsform der Erfindung auf einem Computersystem 100 implementiert, welches einen Zentralprozessor 102, einen Systemspeicher 103, eine Anzeigeeinheit 105, eine Tastatur 106, eine Maus 107, einen Plattenspeicher 108, einen I/O-Controller 101 und Verbindungsmittel 110, wie einen Systembus aufweist. In der bevorzugten Ausführungsform wird ein Tandy 1000 Series Computer (Tandy Corporation of Ft. Worth, Texas) als System 100 verwendet.
  • Unter Bezugnahme auf Fig. 2 wird ein Computersoftwaresystem 200 gezeigt, um das Computersystem gemäß Fig. 1 zu programmieren. Das Softwaresystem 200 ist im Systemspeicher 103 und auf dem Plattenprozessor 108 abgespeichert. Das System 200 programmiert den Zentralprozessor 102, um ein grafisches Anwenderinterface (GUI) auf dem Anzeigemonitor 105 anzuzeigen. In der bevorzugten Ausführungsform ist das Hilfssystem 204 in die Tandy DeskMate Umgebung 203 implementiert, die ein Softwareinterface 205 zwischen einem Anwender 206, einer Computeranwendung 202 und einem Betriebssystem 201 darstellt. Hinsichtlich der DeskMate Umgebung 203 ist hinreichend Detail angefügt, um ein Verständnis der Erfindung zu ermöglichen. (Anhang, DeskMate Systemübersicht und DeskMate Systemarchitektur). Es wird jedoch augenscheinlich, daß ein durch diese Spezifikation informierter Fachmann die Erfindung in anderen Betriebsumgebungen implementieren könnte.
  • In der bevorzugten Ausführungsform wird ein Paradigma künstlicher Intelligenz (Al) verwendet, um mit Wissen umzugehen, welches weitläufig und unbestimmt sein kann und zu mehreren Lösungen für eine gegebene Situation führt. Ein Al Modell besitzt die Fähigkeit, aus dem, was es bereits kennt, mehr Wissen zu erlernen oder zu folgern. Somit kann das System, wenn ein Anwender Hilfe anfordert und das Hilfssystem keine Lösung erhalten kann, weitere Informationen vom Anwender erhalten und sich dann an die Situation erinnern; beim nächsten Mal, wenn diese Situation auftritt, kann eine Lösung ohne erneutes Befragen des Anwenders angegeben werden.
  • Unter Bezugnahme auf Fig. 3A umfaßt das Hilfssystem 300 der bevorzugten Ausführungsform eine Überprüfungseinheit 320 zum Sammeln von Daten, die in Antwort auf anwendergesteuerte Ereignisse und Systemzustände 310 erzeugt werden, eine Wissenbank 330 zum Speichern von Daten 331 zusammen mit einer Hilfsinformationsdatenbank 335, die zur Ermittlung der besten zu gebenden Hilfe verwendet wird, eine Folgerungsmaschine 340 zum Interpretieren von Daten 331 und der Hilfsinformationsdatenbank 335 in der Wissensbank 330, und einer Anzeigemaschine 350 zum. Präsentieren geeigneter Hilfsinformation 360 auf einer Anzeigeeinheit 105. Die Daten 331 umfassen eine historische Schlange 332 und ein Statusdata 333, während die Hilfsinformationsdatenbank 335 eine Vielzahl von Regeln 334 und Text 336 enthält.
  • Fig. 3B ist ein Flußdiagramm, welches die generellen Verfahren des Hilfssystems 300 illustriert. Im Schritt 351 werden anwendergesteuerte Ereignisse und Systemzustände überprüft. Anwendergesteuerte Ereignisse sind die Aktivitäten, die ein Anwender in einem Anwendungsprogramm durchführt, z. B. Speichern einer Datei in einer Zeichenanwendung oder Kopieren eines Textblocks in einer Textverarbeitungsanwendung. Der Systemstatus enthält einen Maschinenstatus und einen anwendungsspezifischen Status. Im Schritt 352 wird die im Schritt 351 gesammelte Information als Fakt oder Daten 331 der Wissensbank 330 gespeichert. Spezifisch werden sequentielle anwendergesteuerte Ereignisse in der historischen Schlange 332 gespeichert und Wissen über das System wird als Statusdaten 333 gespeichert. Falls in Schritt 353 der Anwender Hilfe anfordert (z. B. Drücken der F1 Taste), dann prüft in Schritt 355 die Folgerungsmaschine 340 bekannte Daten 331 gegen Hilfssystemregeln 334. Falls jedoch keine Hilfe im Schritt 353 angefordert wird, springt die Routine zurück zum Überprüfungsschritt 351.
  • Die Wissensbank 330 speichert Heuristik in Form von Regeln. Die Regeln 334, wie die im Schritt 355 verwendeten, sind Prämisse-Ergebnis-Aussagen, die von einem Anwendungsentwickler vordefiniert sind und die Folgerungsmaschine 340 bei der Auswahl einer Ausgabe führen. Zum Beispiel angenommen, ein Anwender befindet sich in einer Text-Listbox (Textverarbeitung) und keine Daten sind ausgewählt. Eine Regel, die dieses prüfen würde, ist:
  • if
  • no files
  • running.listbox TEXT
  • then
  • help running text
  • Diese Regel versucht durch Bestätigen ihrer Prämisse "no files." zu "greifen". Zuerst prüft sie die bekannten Daten 331 in der Wissensbank 330. Falls diese nicht in den Daten 331 enthalten ist, prüft sie nach anderen Regeln mit dieser Prämisse als deren Ergebnis. Falls im Schritt 356 eine Übereinstimmung gefunden wird, greift die entsprechende Regel als nächstes in Schrift 357. Im Schritt 358 wird als Antwort auf die spezielle Regel, die greift, ein Ergebnis angegeben und geeignete Hilfsinformation 360 angezeigt. Das Format der Regeln in dieser Ausführungsform wird nachfolgend unter Bezugnahme auf Fig. 8 beschrieben.
  • Die Überprüfungseinheit 320 und ihre Funktionen werden nun im Detail beschrieben. Da die Überprüfungseinheit 320 Anwendereingaben verfolgt oder überprüft, hat sie Verarbeitungsfähigkeiten. Sie kann Daten in der Wissensbasis 330 nach Indentifizieren einer Sequenz von einem oder mehreren Ergebnissen oder Zuständen angeben. Sie kann Daten betreffend Zustände, die nicht länger wahr sind, entfernen oder widerrufen oder einen neuen Wert für alte Daten erneut angeben. Sie verfolgt die Anzahl, in der eine Aktivität von einem Anwender erfolgreich abgeschlossen worden ist.
  • Die Überprüfungseinheit 320 überprüft verschiedene Typen von Information, einschließlich Maschinenzustände, anwendungsspezifische Zustände und historische Information. Der Maschinenstatus beinhaltet den gegenwärtigen Systemlevel, wie etwa innerhalb einer Anwendung oder Zubehör, Betrieb einer Komponente, oder auf dem Desktopinterface. Ein Zubehör ist eine Anwendung, die über einer anderen Anwendung "aufgeklappt" werden kann. Beispiele von Zubehör beinhalten einen Aufklapp-Rechner, Kalender oder Wecker. Eine Komponente ist ein grafisches Element, das mit einem Anwender zur Anzeige und zur Annahme von Information vom Anwender zusammenwirkt. Zum Beispiel beinhalten die Komponenten in einer Dialogbox Radioknöpfe, Druckknöpfe und Eingabefelder. Die Menüleiste ist ebenfalls eine Komponente.
  • Die Überprüfungseinheit 320 überprüft auch anwendungsspezifische Zustände (application specifics) einschließlich einmalige Information zu einer Anwendung und Komponentenzustände einschließlich Information innerhalb des gegenwärtigen Maschinenstatus, der entweder anwendungsspezifisch oder allgemein ist, aber in der gleichen Weise in jeder Anwendung erzeugt wird. Zum Beispiel werden in allen Anwendungen, die eine Menüleiste aufweisen, Auswahlen durch Selektieren eines Items aus dem Menü getroffen.
  • Die Überprüfungseinheit 320 verfolgt auch historische Information, die den Abschluß eines Tasks, für den Hilfe definiert wurde, indiziert. Diese Daten werden in der historischen Schlange 332 gespeichert. Ein erfolgreicher Abschluß indiziert, daß der Anwendung nicht länger Hilfe bei der Durchführung dieses Tasks benötigt. Es kann spezifischere Hilfsinformation anstelle allgemeiner Information gegeben werden, je mehr Erfahrung der Anwender mit einem Programm erwirbt.
  • Die Struktur der historischen Schlange 332 wird nun im Detail beschrieben. Für jeden Zugang wird ein Zugangstyp gespeichert. Zum Beispiel fügt die Überprüfungseinheit 320, wenn der Anwender eine Dialogbox betreibt, einen Dialogboxzugang (CMP_DLG_BOX) der historischen Schlange 332 hinzu und speichert dann das zugehörige Eingabefeld, Listbox, Radioknopf, Iconknopf und Checkbox-Information. Jeder Zugang in die historische Schlange 332 kann in Abhängigkeit vom Typ des erfolgten Zugangs von variabler Länge sein. Ein einmaliger "return code" wird jeder Komponente zugewiesen, um die Unterscheidung zwischen den Komponenten zu erleichtern. Ein Fernzeiger auf eine Zugangsstruktur (z. B. Dialogbox, Komponente und/oder Menüleistenstrukturen) wird gespeichert, um direkten Zugriff auf diese Struktur zu ermöglichen. Hierauf folgend wird Dialog und Komponenteninformation kopiert. Das verwendete Format kann eine variable Länge aufweisen. Ein Unterzugangsflag wird definiert, um anzuzeigen, ob dort ein Unterzugang vorhanden ist. Zum Beispiel kann eine Komponente nach wie vor laufen, während die Menüleiste verarbeitet wird, so daß die Menüleiste Teil eines einzelnen Zugangs ist. Falls der Flag auf einen Wert wahr gesetzt wird, werden sämtliche Unterzugangsdaten gespeichert. Ein weiteres Flag wird definiert, um Tastendrucke des Anwenders, die während des Zugangs erfolgten, zu indizieren. Dies ermöglicht dem System z. B. zu ermitteln, ob der Anwender begonnen hat, Daten in eine Dialogbox einzugeben oder ob er unverzüglich Hilfe gewählt hat. Der Name der Box und Menüzugänge, wie DLGBOX, MSG BOX, LISTBOX oder MENU wird gespeichert, um eine Box von anderen zu unterscheiden. Ein drittes Flag wird definiert, um Tastendrucke des Anwenders, die vor dem Aufruf von Hilfe erfolgten, zu indizieren. Dies ermöglicht dem System zu ermitteln, was der Anwender in der Anwendung machte.
  • Variablen, die eine historische Schlange 332 manipulieren, sind wie folgt definiert:
  • ihm_HelpQ: Die 500 byte Schlange, eine ist in jedem Task-Datenbereich der Core Service Routine (CSR) vorhanden.
  • ihm_TOP: Der physikalische Start des HelpQ-Puffers.
  • ihm ENDQ: Das physikalische Ende des HelpQ-Puffers.
  • ihm_start_ptr: Zeiger auf den ersten Zugang in die Schlange (welcher historisch der letzte ist).
  • ihm_cur_ptr: Zeiger auf das erste Byte des letzten Zugangs in der HelpQ.
  • ihm_end_ptr: Zeiger auf das letzte Byte der in die HelpQ eingegebenen Daten.
  • ihm_save_ptr: Der ptr Wert des letzten erstellten Zugangs, gespeichert da ein ungültiger ptr in die HelpQ als eine NULL eingegebenen wurde.
  • ihm_menu_ptr1: Doppelwortzeiger auf die gegenwärtige Menüleiste. Aktualisiert jedesmal, wenn mb_draw aufgerufen wird.
  • Die Datenstruktur der Schlange kann wie folgt zusammengefaßt werden:
  • dw - offset des vorangehenden Zugangs
  • dw - typ
  • dw - return code
  • dw - struct ptr-offset
  • dw - struct ptr-Segment
  • db - # Unterzugänge
  • db - Länge des Namens
  • db(?) - Name von dlg box, msg box, Menu, Listbox
  • db - keyflag - irgendwelche Maus- oder Tastenereignisse vor Zugang?
  • db(?) - Unterzugangsdaten
  • db - keyflag - irgendwelche Maus- oder Tastenereignisse während Zugang?
  • dw - Länge der kopierten Information oder 0
  • In der bevorzugten Ausführungsform tritt die Überprüfung von Information an verschiedenen Stellen im Softwaresystem 200 auf. Alle Statusveränderungen, die in einer Ausführung von Dialog und Mitteilungsboxen resultieren, werden überprüft. In der DeskMate Umgebung 203 werden Befehle vom Anwender über eine Menüleiste eingegeben und von Ereignisinterpretern, die auf Menüleistenveränderungen prüfen, verarbeitet. Zusätzlich können die Anwendungsprogramme selber Statusveränderungen in ihren jeweiligen Arbeitsbereichen indizieren.
  • Die DeskMate Umgebung 203 ist in die folgende Hierarchie von Levelveränderungen unterteilt, um die Aufgabe des Überprüfers, Information zu aktualisieren, zu vereinfachen:
  • 1. Top level zu Anwendung/Zubehör oder Menüleiste/Komponente;
  • 2. Anwendung zu Zubehör oder Menüleiste/Komponente oder Rückkehr zu Top level;
  • 3. Zubehör zu Menüleiste/Komponente oder Rückkehr zu Anwendung oder Top level.
  • Zu den folgenden Zuständen wird spezifische Information benötigt: Anwendung läuft oder wurde geschlossen; welche Anwendung läuft; Zubehör läuft oder wurde geschlossen; welches Zubehör läuft; Dialogbox läuft oder wurde geschlossen; Mitteilungsbox läuft oder wurde geschlossen; Komponente läuft oder wurde geschlossen; Menüleiste wurde heruntergezogen oder zurückgegeben; Anwender auf Desktop; falls Anwender nicht im Top level, der erreichte Level vor dem gegenwärtigen. Die Variable; "level" nimmt die Werte von DeskTop, Menüleiste, Dlg_box, Message_box, Info_box oder Komponente an. Die Überprüfung kann die Statusänderung durch Erhalt der Adressaufrufe aus der DeskMate Umgebung 203 erhalten, die einen Funktionsaufruf für ein Anwendungsprogramm oder eine Ressource indizieren.
  • Die Fig. 4 illustriert, wie die Überprüfungseinheit 320 nach der Adresse von Aufrufen, an denen sie interessiert ist, anfragt. In der DeskMate Umgebung 203 rufen Anwendungen Core Service Routinen (CSR) auf, um Komponenten und Dialog-, Informations- und Mitteilungsboxen laufen zu lassen. Ein Menüleisteninterpreter handhabt die Verarbeitung der Menüleiste. Deshalb können unabhängig von einer Anwendung, die Aufrufe, die die Strukturen verändern, welche die Anwendung verwendet, überprüft werden, um Informationsveränderungen zu verfolgen.
  • Somit sind die Schritte wie folgt. Im Schritt 401 wird ein Zugangsaufruf zu einer Core Service Routine getätigt. In Schritt 402 wird der Komponententyp identifiziert und dann mit einer Liste von Komponenten, an denen die Überprüfungseinheit 320 interessiert ist, verglichen. Falls im Schritt 403 die Komponente in der Tafel gelistet ist, nimmt dann im Schritt 404 die Überprüfungseinheit 320 die Anwendungsparameter und ihren Strukturzeiger auf, um Daten aus den Anwendungsstrukturen zu kopieren. Die Strukturen werden nicht modifiziert. Beim Ausstieg des Dienstes und bevor die Steuerung der Anwendung zurückgegeben wird, greift die Überprüfungseinheit 320 im Schritt 405 erneut auf Daten in den Strukturen zu, dieses Mal zum Zweck von Aktualisierungen der historischen Information.
  • Da eine Unterscheidung zwischen Anwendungen und Zubehör gemacht wird, wird eine Variable "program" definiert, um zu indizieren, welches spezielle Programm läuft. Programm nimmt den Wert des Programmnamens, welcher das gleiche Identifizierungsmittel für die Hilfsinformationsdatenbank 335 im Zusammenhang mit der Anwendung oder Zubehör ist, an.
  • Zwei Ereignisinterpreter nehmen Menüleistenveränderungen auf. Das ausgewählte Menü ist wichtig für den Status, während das zurückgegebene Item wichtig für die Historie ist. Ein Ereignisinterpreter hoher Priorität nimmt die Menüleistenveränderungen auf, wenn Hilfe angefordert wird und ein Ereignisinterpreter niedriger Priorität erledigt alle Veränderungen aus dem Menüleisten-Returncode. Der Interpreter hoher Priorität prüft Ereignisse zuerst vor jeglicher weiterer Verarbeitung durch das DeskMate System. Auf der anderen Seite prüft der Interpreter niedriger Priorität Ereignisse, nachdem sie durch das DeskMate System verarbeitet worden sind.
  • Die Figuren 5A-B illustrieren das Verfahren der Ereignisinterpreter. Im Schritt 501 registriert die Anwendung die Menüleiste mit der Überprüfungseinheit 320. Falls der Anwender bei Schritt 502 die F1 (Hilfe) Taste ausgewählt hat, wird dann bei Schritt 503 die Statusinformation gemäß in welchem Level das System betrieben wird (indiziert durch die Variable "level") aktualisiert. Falls level im Schritt SO&sub4; null entspricht, ist dann die Menüleiste das letzte veränderte Element, von daher wird eine Menüleistenaktualisierung benötigt. Bei Schritt 505 führt der Menüleisteninterpreter eine Aktualisierung durch. Jedoch wird, falls "level" nicht null ist, der Schritt 505 übersprungen. Bei Schritt 506 prüft der Interpreter niedriger Priorität den Ereignistyp. Falls dieser im Schritt 507 die Menüleiste ist (level = menubar), dann führt im Schritt 508 der Interpreter niedriger Priorität eine Historie-Aktualisierung durch, die durch Aufnahme des Returncode und Vergleich seines Wertes mit den Menüleisten-Menüs durchgeführt wird. Der mit dem Returncode korrespondierende String ist das interessierende Item. Bei Schritt 509 springt die Routine zurück auf Schritt 501, um einen anderen F1-Tastendruck zu erwarten.
  • Die mit den Funktionen der obigen Komponenten assoziierten Regeln sind in der Weise geschrieben, daß falls eine Komponente einen Titelstring aufweist, dieser String verwendet wird, um ihre Hilfequelle zu identifizieren. Falls eine Komponente keinen Titelstring aufweist, wird dann der Name der Komponente als ihr Identifikationsmerkmal verwendet.
  • Da alle Anwendungen die Merkmale der DeskMate Umgebung 203 nutzen, ist eine Standard-Wiedergabe von Daten 331 und Regeln 334 möglich: Zum Beispiel können die folgenden Variablen verwendet werden, um Ereignisse und Zustände zu indizieren:
  • menu.selected
  • menu.item.selected
  • dlg.box.running
  • dlg.box.focus
  • msg.box.running
  • cmp.running
  • listbox.item.selected
  • checkbox.item.selected
  • Anwendungsspezifische Information wird erhalten, indem die Anwendung Daten in den gegenwärtigen Statusdaten 333 in der Wissensbank 330 angibt. Die Anwendung vollbringt dies durch Durchführen eines Aufrufs zu einer "Assert"-Funktion mit den Parametern "Variable" und "Wert", die Zeiger auf Strings sind. Die Variable sollte eine Variable in der Regelprämisse erfüllen, d. h. die Regel muß im voraus definiert sein. Eine Anwendung sollte jegliche historische Information in Bezug auf ihre einmalige Statuskonfiguration angeben. Anwendungsdaten werden aus den gegenwärtigen Statusdaten 333 von der Anwendung durch Aufrufen einer "Retract"-Funktion entfernt, da diese Daten nicht länger wahr sind. Obwohl die Anwendungen direkt Daten in der Wissensbank 330 angeben können, ermitteln sie nicht, welche Hilfe zu geben ist. Statt dessen liefern sie die Eingaben für diese Ermittlung.
  • Historische Information wird durch Verwendung einer Anwender I. D. zur Identifikation der einmaligen historischen Information des Anwenders erhalten. Diese historische Information wird am Ende eines Taskabschlusses aktualisiert. Wenn der Anwender z. B. erfolgreich eine Kopierfunktion ausgeführt hat, erkennt die Überprüfungseinheit 320 dies durch Überprüfung, daß der Anwender "text" ausgewählt hat und dann "kopieren" aus dem Dateimenü ausgewählt hat. Nachdem sie ermittelt hat, daß der Anwender diesen Task beherrscht, aktualisiert die Überprüfungseinheit 320 die historische Information des Anwenders. Für historische Information, die mit den spezifischen Daten der Anwendung assoziiert sind, aktualisiert die Anwendung selbst die Information durch Aufruf der Funktion UpdateHistory mit einem Parameter, der auf einen die gerade abgeschlossene Aktivität repräsentierenden String zeigt.
  • Fig. 6 faßt das Verfahren zur Verarbeitung der Ereignisse von den Ereignisinterpretern zusammen. Bei Schritt 601 werden Ereignisse durch Prüfung der Mauskoordinaten und des Ereignistyps und Werts verarbeitet. Im Schritt 602 werden Ereignisse durch Versuche, eine Regel, die eine Dateneingabe oder einen Widerruf in der Wissensbank 330 durchführen würde, greifen zu lassen oder auszulösen, identifiziert. Diese Regeln repräsentieren alle Bedingungen, die zum Angeben oder Widerrufen von Daten wahr sein müssen. Falls eine Regel im Schritt 603 greift, dann ist das Ergebnis identifiziert, Schritt 604. Falls die Regel nicht greift, dann ist das Ereignis nicht identifiziert, Schritt 605.
  • Fig. 7 illustriert den in Schritt 602 (Fig. 6) verwendeten Ansatz zum Identifizieren eines Tasks (Sequenz von Ereignissen). In Schritt 701 wird ein Tasten- oder Mausereignis geprüft. Im Schritt 702 wird dann, falls das Ergebnis nicht mit der ersten Prämissenlinie in allen mit dem Systemlevel assoziierten Regeln übereinstimmt, das Ereignis in Schritt 704 verworfen. Andernfalls werden im Schritt 703 alle Regeln, die greifen, auf einer Agenda plaziert, die den/die wahrscheinlichsten Task(s) repräsentiert. Bei Schritt 705 werden die Regeln durch Prüfung der nächsten Tasten oder Mausereignisse, die hereinkommen, bestätigt oder widerlegt. Falls alle Regeln in der Agenda bei Schritt 706 fehlgehen, wird dann die erste analysierte Taste verworfen und die nächste Taste zur Suche nach neuen Regeln verwendet, Schritt 708; anderenfalls wird in Schritt 707 die Agenda gelöscht und die Prozedur springt zurück zu Schritt 701, um das nächste Tasten/Mausereignis zu prüfen.
  • Da die überprüfte Information abhängig vom Maschinenstatuslevel ist, werden die generierten Daten gemäß diesen Levels unterteilt. Die Überprüfungseinheit 320 versucht Daten anzugeben, die für einen gegebenen Level gelten. Jede Anwendung oder jedes Zubehör kann als ein selbständiges Objekt (als ein Level) aufgefaßt werden, das bestimmte Aktivitäten durchführt, von denen einige gleich mit anderen Objekten sind. Daher ist es günstig, die Überprüfungsdatenstruktur in "Frames" zu unterteilen. Ein Frame enthält die Aktivitäten, die jede Anwendung beherrscht, mit gegenwärtigen Werten und historischer Information. Die Frames weisen Slots zum Speichern der von den Regeln verwendeten Daten oder einem Zeiger auf einen anderen Frame auf.
  • In der bevorzugten Ausführungsform werden die Anwendereingabe und der Systemstatus durch, die Überprüfungseinheit 320 zur Weitergabe als Daten an die Wissensbank 330 zwecks Speichern analysiert. Befehle zum Steuern dieses Datenflusses zu und von der Wissensbank 330 sind definiert. Daten werden durch den Befehl Assert in Frames gespeichert. Alte Information wird durch den Befehl Retract gelöscht. Eine Abfrage an die Wissensbank 330, um Information zu erlangen, wird durch einen Befehl Query durchgeführt. Vorangehende Daten werden durch einen Befehl Reassert erneut angegeben.
  • Die Wissensbank 330 enthält formelles (tradionelle Datenbankinformation) und informelles (heuristisches) Wissen, das regelbasiert ist. Fig. 8 demonstriert die Regeltaxonomie. Am unteren Level der Regelhierarchie 800 steht eine einzelne Regel 804, die ein Muster-zu-Handlungs-Ziel definiert. Das Muster ist als die linke Seite einer Regel bekannt, während die Handlung die rechte Seite ist. Die Regeln verwenden die üblichen logischen Operatoren AND, OR und NOT, ebenso wie boolsche Operatoren wie IF, THEN und ELSE. Zusätzlich indiziert das Schlüsselwort TEST, daß ein Vergleich durchzuführen ist. Die rechte Seite einer Regel kann eine ELSE-Bedingung aufweisen, eine Angabe, einen Widerruf, eine andere Regel oder einen Prozeduraufruf. Zum Beispiel könnte in der Regel:
  • IF a THEN b, ELSE c
  • b eine Angabe, die Daten b den Daten 331 hinzufügen würde, sein; mehrfache Datenangaben sind möglich. Ein Widerruf würde Daten b aus den Daten 331 löschen:
  • IF a THEN (RETRACT b).
  • "Eine andere Regel" könnte wie folgt eingebettet sein:
  • IF a THEN b, IF (TEST (= bc)) THEN d.
  • Ein Beispiel eines Prozeduraufrufs würde sein:
  • IF a THEN (CALL HelpTutorial (a)).
  • Verknüpfte-Regeln 803 sind eine Verknüpfung zwischen Regeln, die das gleiche Ergebnis teilen. Dies ist eine Gestaltungsausführung, die dazu gedacht ist, den Folgerungsprozeß durch Kennen von alternativen Lösungswegen einfacher zu machen. Regelgruppen 802 gruppieren Regeln mit einem gemeinsamen Zweck. Regeln z. B. mit einem Ergebnis, das indiziert, welche spezifische Hilfe zu geben ist, sind alle Regeln, die den Zielstatus ermitteln. Eine Gruppe kann ein (optionales) Prioritätsidentifikationsmerkmal aufweisen, so daß die wichtigsten oder spezifischen Regeln bei der Suche zuerst ausprobiert werden können. Dies impliziert nicht, daß eine Regelgruppe bei einer Suche ausgelassen wird. Regelklassen 801 sind eine weitere Konzeptualisierung von Regeln. Sie separieren individuelle Wissensbanken, die jeweils ein eigenes Identifikationsmerkmal aufweisen, durch welches sie unterschieden werden. Dieses Idenfikationsmerkmal kann von einem Satz Steuerungsregeln verwendet werden, die die Maschinenstatusinformationen zum Indizieren von Wissensbankzugriff verwenden.
  • Die Prämisse jeder Regel enthält ebenfalls formelles oder informelles Wissen. Das informelle Wissen wird formell, wenn eine Regel erfolgreich greift. Das formelle Wissen wird in Framestrukturen in der Wissensbank 330 gespeichert und hierauf aus dieser zugegriffen. Frames können aus anderen Frames erstellt werden, die auch geteilt werden können. Mit dieser Datenstruktur ist es möglich, nur auf den mit der gegenwärtigen Statusinformation assoziierten Frame zuzugreifen, wenn die Überprüfungseinheit 320 die historischen Informationen des Anwenders aktualisiert. Die Frameslots sind ähnlich jedweder verknüpfter Liste, ausgenommen sie repräsentieren Handlungen und Attribute eines Objekts oder Konzepte, die die Frames repräsentieren. Da Frames die Beziehung zwischen einer Anwenderaktivität und der assoziierten Heuristik indizieren, die zum interpretieren dieser Aktivität verwendet wird, ist es einfach, nur auf relevante Information zuzugreifen. Fig. 9 illustriert einen Frame 901 mit seinen zugehörigen Slots 902.
  • Regelklassen 801 sind aufgebaut aus Zeigern auf die Variablen und Werte in den Frames. Die Slots, die einen anderen Frame enthalten, stellen tatsächlich eine andere Gruppe innerhalb einer Regelklasse dar. In einem framebasierten Schlußfolgerungssystem wählt man den zu bestätigenden Frame durch Auffüllen von Slotwerten aus: Die Slots enthalten die Regeln. Der erfolgreiche Abschluß eines Frames ergibt eine Lösung.
  • Die Syntax zum Schreiben der Regeln lautet:
  • BEGIN.RULECLASS
  • < id>
  • BEGIN.RULEGROUP
  • < id>
  • IF
  • (< Variable> IS < Wert> )
  • (< Wert> )
  • (NOT (< Variable> IS < Wert> ))
  • (TEST (< Variable> EQ < #> ))
  • THEN
  • (< Wert> )
  • END.RULEGROUP
  • END.RULECLASS
  • Zum Zwecke der Illustration und nicht zur Beschränkung, können die Regeln als Datenstrukturen codiert werden (dargestellt in der Sprache C):
  • Die Eingaben in die Wissensbank 330 sind die von der Überprüfungseinheit 320 gesammelten Daten. Die Ausgaben der Wissensbank 330 sind Daten 331 und Regeln 334, die die Folgerungsmaschine 340 zur Prüfung auswählt und Hilfsinformationstext 336, den die Anzeigemaschine 350 verarbeitet. Die Regeln 334 sind vom Anwendungsentwickler vordefiniert. Die Frames indizieren die Beziehung zwischen der Anwenderaktivität und der assoziierten Heuristik, die zur Interpretation der Aktivität verwendet wird, so daß es einfacher gemacht wird, nur auf die benötigte Information zuzugreifen. Die wissensbasierten Regeln sind so strukturiert, daß offensichtliche Assoziationen zwischen Regeln in der Wissensbank 330 eingebunden werden können, um die Gestaltung und die Folgerungen aus diesen Regeln zu vereinfachen.
  • Die Folgerungsmaschine 340 interpretiert Daten 331 und Regeln 334 in der Wissensbank 330, um dem Anwender eine Hilfslösung zu geben, oder sie fragt intelligent nach weiterer Information, um eine Lösung zu finden. In der bevorzugten Ausführungsform arbeitet die Folgerungsmaschine 340 unter Einsatz eines rückwärtsverkettenden Verfahrens. Dieses Verfahren beginnt mit einem Zielstatus (eine spezielle Art von Hilfe) und versucht, diesen durch Erreichen von ursprünglichen bekannten Daten zu bestätigen.
  • Wie die Fig. 10A-B illustrieren, sind die von der Folgerungsmaschine 340 befolgten Schritte die folgenden. Im Schritt 1001 wird auf die Wissensbank 330 gemäß dem Systemstatuslevel zugegriffen. Im Schritt 1002 wird eine Gruppe von Regeln (Ziel) in Abhängigkeit vom Systemstatus aus der Wissensbank 330 ausgewählt und als eine Hypothese verwendet. Als nächstes wird im Schritt 1003 ein Versuch unternommen, das Ergebnis jeder Regel durch Bestätigung ihrer Prämisse zu bestätigen. Falls im Schritt 1004 die geprüfte Prämisse das Ergebnis einer anderen Regel ist, wird sie auf einen Stack geschoben (last-in first-out Struktur des Systemspeichers 103) und es wird ein Versuch unternommen, die andere Regelprämisse im Schritt 1005 zu belegen. Im Schritt 1006 wird, falls eine Prämisse bestätigt ist, diese in einer Arbeitstatsache oder Datenliste bei Schritt 1007 angegeben. Anderenfalls, falls die Prämisse fehlgeht, wird in Schritt 1008 eine Suche nach einer Regel mit dem gleichen Ergebnis durchgeführt, welche die Folgerungsmaschine 340 dann zu bestätigen versucht. Im Schritt 1009 hat, wenn alle Prämissen in der Regel bestätigt sind, die Regel gegriffen und das Ergebnis kann in Schritt 1010 angegeben werden. In Schritt 1011 wird dieses Verfahren wiederholt, bis dort keine Zielzustände zum Analysieren mehr vorhanden sind oder keine Lösung gefunden wird. Im letzteren Fall ist die Wissensbank 330 unvollständig und von daher fragt die Folgerungsmaschine 340 beim Anwender nach weiteren Informationen an oder erläutert statt dessen dem Anwender, daß für das spezielle Szenario keine Hilfe definiert ist.
  • Die Eingaben in die Folgerungsmaschine 340 sind Daten 331 und Regeln 334, die in der Wissensbank 330 enthalten sind. Einige der Regeln 334 steuern andere Wissensbanken, die ausgewählt werden können. Die Folgerungsmaschine 340 prüft zuerst die Regeln 334, um die passende Regelklasse 801 auszuwählen. Da die Gruppen 802 unter der Klasse 801 indizieren, ob sie Zielzustände sind, kann die Maschine 340 auch indizieren, welche Regeln als Hypothesen eingesetzt werden. Die abschließende Ausgabe aus der Folgerungsmaschine 340 ist ein Hilfs-"Kennzeichen", welches eine spezielle Hilfslösung indiziert. Zusätzlich erstellt die Maschine eine temporäre Ausgabe von Daten, die während der Bestätigung der Regeln angegeben werden.
  • Die Anzeigemaschine 350 ist ein Interface zwischen der Ausgabe der Folgerungsmaschine 340 und dem Hilfstext 336, welche dem Anwender einen einfachen Zugriff auf die hilfreichsten Hilfethemen ermöglicht. Die Anzeigemaschine 350 bietet allgemeine bis in die Tiefe gehende Hilfe für einen Anwender an. Sie verarbeitet das Hilfekennzeichen der Folgerungsmaschine, um kontextsensitive Hilfe anzubieten. Zusätzlich besitzt die Hilfsinformation selbst Kennzeichen, die von der Anzeigemaschine 350 dazu verwendet werden, weitere Hilfsinformation zu lokalisieren. Dies ermöglicht einem Anwender, spezifische Hilfe aus einer Unterauswahl von Hilfsinformation auszuwählen.
  • Die von der Anzeigemaschine 350 genutzte Hilfsinformationsdatenstruktur ist für jede Anwendung/Zubehör und Systemressourceinterfaces definiert. Hilfe, die über mehrere Anwendungen wiederholt wird, ist in Gruppen unterteilt. Die Hilfsinformation, die angegeben wird, ist für novice-, intermediate- und advanced-Anwender individualisiert. Es wird ein Anzeigeformat eingesetzt, welches einem Anwender ermöglicht, ein einzelnes Item an Hilfe aus einer vorgeschlagenen Liste auszuwählen, es dem Anmelder ermöglicht, die Auswahl von Hilfe fortzusetzen, bis er abbrechen möchte und es dem Anwender ermöglicht, die Hilfethemen nach einem speziellen Thema zu durchsuchen.
  • Die Struktur, in welcher auf die Hilfsinformation zugegriffen und diese gespeichert wird, ist nach Anwendung/Zubehör oder Systemkomponente (benötigt spezifische Namensidentifikation, kein Typ), Erfahrungslevel des Anwenders, Art (automatisch ermittelt oder vom Anwender aufgerufen) und Themenidentifikationsmerkmal klassifiziert. Eine Hilfsstruktur (in der Sprache C) kann z. B. sein:
  • struct Help Source {
  • int Subject;
  • int Kind;
  • int HelpLevel;
  • char *pTopicString };
  • die aufgefüllt werden kann durch:
  • Subject gleich TEXT_SUBSTITUTION
  • Kind gleich AUTO
  • HelpLevel gleich NOVICE
  • und pTopicString zeigt auf "Text Subsitution."
  • Unter Bezugnahme auf Fig. 11 wird nun die Verarbeitung der Hilfsinformation in Anzeigemaschine 350 im Detail beschrieben. Die Hilfsinformationsdatenbank 335 ist eine Text 336 und Regeln 334 - Felder enthaltende Datenbank, d. h. Hilfsinformationstext 336 ist mit Hilfsinformationsregeln 334 verknüpft. Zusätzlich ist ein Kennzeichen 1102 zur Wiedergabe der Lösung, die eine Regel erzeugt, vorgesehen. Die Anzeigemaschine 350 verbindet das Kennzeichen 1102 mit einem Lösungskennzeichen 1101 der Folgerungsmaschine 340. Der korrespondierende Text (aus Text 336) ist der aktuelle Text, der als Hilfsinformation 360 zur Anzeigeeinheit 105 geschickt wird.
  • Die Organisation der Regeln 334 ist wie folgt. Sie enthält die folgenden Felder: Grp, Rule#, PorC#, Var#, Var, Val, Bind, KeyW, and Q#. Grp ist eine Regelgruppe. Gruppe 0 ist stets die Gruppe, in der die Regeln plaziert sind, die eine Lösung angeben. Wenn diese Regeln irgendeine andere Regel zum Greifen veranlassen, sind diese Regeln in einer anderen Gruppe. Rule# ist die Nummer der Regel. Die Regeln sind durch eine Regelnummer sortiert, da man wünschen könnte, eine Regel vor einer anderen auf Greifen auszuprobieren. PorC# ist eine Prämissen oder Ergebnisnummer. Die Records auf der Tafel sind ebenfalls nach PorC# sortiert. Das Ergebnis ist Nummer 0, weil es das erste aus der Tafel gezogene Element ist, wenn die Folgerungsmaschine 340 beginnt, Regeln greifen zu lassen. (Dies deshalb, weil sie rückwärts- verkettend vorgeht - Start mit dem Ergebnis und dann Bestätigen der Prämissen). Var# ist ein Identifikationsmerkmal für die Maschine, eine schnellere Suche durchzuführen. Jede neue zur Tafel hinzugefügte Variable besitzt ein einziges Identifikationsmerkmal. Die Variablen sind DeskMate Komponenten, wie eine Dialogbox. Var, das Variablenfeld, ist ein String, der eine Variable repräsentiert, für die ein Wert erwartet wird, wie etwa "running.cmp" (INAKTIVES FELD). Value ist das Stringfeld, welches einen Wert enthält. Falls der Wert der gegenwärtige für die Variable ist, dann trifft die Prämissenlinie zu. Bind ist eine Bindevariable. Falls eine Regel eine Bindung aufweist, wird die Variable an den gegenwärtig bekannten Wert der Variable gebunden. Dies eliminiert die Wiederholung von Regeln, die exakt das Gleiche tun. Nur Prämissen können binden. KeyW ist eine Nummer, die die Negation (NOT) einer Prämisse oder einen TEST oder CALL indiziert. TEST führt Nummernvergleiche aus und setzt voraus, daß das Wertstringfeld ein numerischer Wert ist. CALL wird zum Ausführen einer vordefinierten Funktion verwendet. Die Parameter der Funktion sind im Wertfeld plaziert. Q# ist die Nummer in der Schlange 332, für die ein Prämissentest angewendet wird. Falls die Schlangennummer 0 entspricht, wird angenommen, daß die Prämisse keine vordefinierten Daten verwendet.
  • Obwohl die Erfindung in einigen Details mit spezifischem Bezug zu einer einzelnen bevorzugten Ausführungsform und gewissen Alternativen beschrieben wurde, ist nicht die Absicht vorhanden, die Erfindung auf diese spezielle Ausführungsform oder diese spezifischen Alternativen zu beschränken. Zum Beispiel könnte ein Fachmann ein solches Hilfssystem in einer anderen Interfaceumgebung oder ohne jegliche Interfaceumgebung implementieren. Rückwärts-verkettend ist nur eine von vielen möglichen Al-Techniken, die zur Verarbeitung von Daten und Regeln verwendbar sind, andere mögliche Techniken schließen vorwärts-verkettende und Regel-Wert-Verfahren ein. Die Eingabeeinheit ist nicht auf eine Tastatur und eine Zeigeeinheit beschränkt, sondern erwägt jegliche Mittel, durch die Daten in einen Computer gelangen, wie etwa durch Spracherkennung. Die Hilfsinformation ist nicht auf ein spezifisches Medium beschränkt, sondern schließt statt dessen jegliche Übermittlung von Hilfsinformation, wie grafische Darstellungen, ein. Der tatsächliche Umfang der Erfindung ist nicht durch die vorangegangene Beschreibung, sondern durch die nachfolgenden Ansprüche definiert.

Claims (25)

1. Verfahren zur Unterstützung eines Anwenders eines Computerprogramms in einem Computersystem, wobei das Verfahren unabhängig vom Computerprogramm arbeitet, umfassend die Schritte:
speichern einer Hilfsinformations-Datenbank;
überprüfen einer Reihe von anwendergesteuerten Ereignissen an einer Eingabeeinheit;
erzeugen von Daten, die die Reihe von anwendergesteuerten Daten indizieren;
speichern der erzeugten Daten in einer Wissensbank;
speichern einer Vielzahl von Regeln zum Analysieren der erzeugten Daten, um eine geeignete Hilfsinformation zu ermitteln;
feststellen einer Anforderung von Hilfsinformation durch den Anwender;
prüfen der Regeln gegen die erzeugten Daten unter Verwendung einer Folgerungsmaschine;
auswählen der geeigneten Hilfsinformation aus der Hilfsinformations-Datenbank als Antwort auf den Prüfschritt; und
anzeigen der ausgewählten Hilfsinformation an den Anwender.
2. Verfahren nach Anspruch 1, wobei der Überprüfungsschritt ferner ein Überprüfen eines Systemzustandes umfaßt.
3. Verfahren nach Anspruch 2, wobei der Schritt des Überprüfens eines Systemzustandes ferner ein Überprüfen eines Maschinenzustandes, eines Anwendungszustandes, eines Zubehörzustandes und eines Komponentenzustandes umfaßt.
4. Verfahren nach Anspruch 1, wobei der Überprüfungsschritt ferner die Schritte umfaßt:
registrieren einer Anwendungsmenüleiste;
überprüfen, ob der Anwender Hilfe angefordert hat;
aktualisieren einer Zustandsinformation; und
aktualisieren einer Menüleiste.
5. Verfahren nach Anspruch 1, wobei der Prüfschritt die Schritte umfaßt:
(a) auswählen einer ersten Gruppe von Regeln aus der Vielzahl von Regeln, die mit einer ersten Vielzahl von anwendergesteuerten Ereignissen korrespondieren;
(b) prüfen jeder Regel in der ersten Gruppe von Regeln;
(c) falls eine Regel bestätigt ist, abspeichern der Regel als eine bestätigte Regel zusammen mit einer Vielzahl von bestätigten Regeln; und
(d) wiederholen der Schritte in (a)-(c) für eine nachfolgende Gruppe von Regeln, bis eine Regel bestätigt ist.
6. Verfahren nach Anspruch 5, wobei Schritt (b) ein Vergleichen einer Prämisse aus jeder der ersten Gruppe von Regeln mit den erzeugten Daten umfaßt.
7. Verfahren nach Anspruch 5, wobei Schritt (c) umfaßt: falls eine Regel bestätigt ist, speichern dieser Regel als eine bestätigte Regel zusammen mit einer Vielzahl von verknüpften bestätigten Regeln.
8. Verfahren nach Anspruch 1, wobei der Schritt des Erzeugens der Daten ein Erzeugen einer historischen Schlange der anwendergesteuerten Ereignisse umfaßt.
9. Verfahren nach Anspruch 1, wobei der Schritt des Regelspeicherns ein Speichern von Prämisse-Ergebnis-Aussagen aus der Hilfsinformations-Datenbank umfaßt.
10. Verfahren nach Anspruch 1, wobei der Anzeigeschritt ein Anzeigen von textlichen Hilfsinformationen an den Anwender umfaßt.
11. Verfahren nach Anspruch 1, wobei der Anzeigeschritt ein Anzeigen von grafischen Hilfsinformationen an den Anwender umfaßt.
12. Verfahren nach Anspruch 1, wobei der Prüfschritt ein Prüfen der Regeln gegen die erzeugten Daten unter Verwendung einer rückwärtsverkettenden Folgerungsmaschine umfaßt.
13. Verfahren nach Anspruch 1, wobei der Prüfschritt ein Prüfen der Regeln gegen die erzeugten Daten unter Verwendung einer vorwärts-verkettenden Folgerungsmaschine umfaßt.
14. Verfahren nach Anspruch 1, umfassend die weiteren Schritte: falls die überprüfte Reihe von Ereignissen der Wissensbank unbekannt ist, angeben von Daten in der Wissensbank, um die unbekannte Reihe zu indizieren; falls die überprüfte Reihe von Ereignissen der Wissensbank widerspricht, widerrufen von Daten in der Wissensbank, die der Reihe widersprechen; und, falls die überprüfte Reihe von Ereignissen bereits der Wissensbank bekannt ist, erneutes angeben von Daten in der Wissensbank, um die bereits bekannte Reihe zu indizieren.
15. Hilfsinformationssystem zur Unterstützung eines Anwenders, umfassend:
einen Computer, der einen Prozessor und einen Speicher aufweist;
eine mit dem Computer verbundene Anzeigeeinheit;
eine mit dem Computer verbundene Eingabeeinheit;
mit der Eingabeeinheit verbundene Überprüfungsmittel zum Überprüfen einer Abfolge von anwendergesteuerten Ereignissen und zum Erzeugen von Daten, die die Ereignisse indizieren;
eine Wissensbank, die mit den Überprüfungsmitteln verbunden und im Speicher gespeichert ist, wobei die Wissensbank die erzeugten Daten, eine Vielzahl von Regeln zum Analysieren der erzeugten Daten, um geeignete Hilfsinformation zu ermitteln, und eine Hilfsinformations-Datenbank zum Speichern der geeigneten Hilfsinformation umfaßt;
Folgerungsmaschinenmittel, die mit der Wissensbank verbunden sind, um die Regeln auf die Daten anzuwenden und eine Folgerungsmaschinenausgabe zu erzeugen; und
Anzeigemaschinenmittel, die mit der Folgerungsmaschine und mit der Hilfsinformations-Datenbank verbunden sind, um die Folgerungsmaschinenausgabe zu interpretieren und um geeignete Hilfsinformation zur Anzeige durch die Anzeigeeinheit an den Anwender als Antwort auf eine Anforderung durch den Anwender auszuwählen.
16. System nach Anspruch 15, wobei die Überprüfungsmittel ferner Mittel zum Überprüfen eines Systemzustandes umfassen.
17. System nach Anspruch 16, wobei die Mittel zum Überprüfen eines Systemzustandes Mittel zum Überprüfen eines Maschinenzustandes, eines Anwendungszustandes, eines Zubehörzustandes und eines Komponentenzustandes umfassen.
18. System nach Anspruch 15, wobei die Überprüfungsmittel eine Vielzahl von Ereignisinterpretern umfassen.
19. System nach Anspruch 15, wobei die Wissensbank ferner eine historische Schlange umfaßt.
20. System nach Anspruch 15, wobei die Folgerungsmaschinenmittel rückwärtsverkettende Folgerungsmaschinenmittel umfassen.
21. System nach Anspruch 15, wobei die Folgerungsmaschinenmittel vorwärtsverkettende Folgerungsmaschinenmittel umfassen.
22. System nach Anspruch. 15, wobei die Hilfsinformation textliche Hilfsinformation umfaßt.
23. System nach Anspruch 15, wobei die Hilfsinformation grafische Hilfsinformation umfaßt.
24. System nach Anspruch 15, ferner umfassend: mit dem Speicher verbundene Mittel zum Aktualisieren der Wissensbank mit der überprüften Reihe von Ereignissen.
25. System nach Anspruch 24, wobei die Mittel zum Aktualisieren der Wissensbank Programm-Mittel zum Anweisen des Prozessors umfassen, um die Schritte durchzuführen:
falls die überprüfte Reihe von Ereignissen der Wissensbank unbekannt ist, angeben von Daten in der Wissensbank, um die unbekannte Reihe zu indizieren;
falls die überprüfte Reihe von Ereignissen der Wissensbank widerspricht, widerrufen von Daten in der Wissensbank, die der Reihe widersprechen; und
falls die überprüfte Reihe von Ereignissen bereits der Wissensbank bekannt ist, erneutes angeben von Daten in der Wissensbank; um die bereits bekannte Reihe zu indizieren.
DE69130766T 1990-08-02 1991-07-17 Intelligentes hilfssystem Expired - Lifetime DE69130766T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/562,046 US5103498A (en) 1990-08-02 1990-08-02 Intelligent help system
PCT/US1991/005062 WO1992002880A1 (en) 1990-08-02 1991-07-17 Intelligent help system

Publications (2)

Publication Number Publication Date
DE69130766D1 DE69130766D1 (de) 1999-02-25
DE69130766T2 true DE69130766T2 (de) 1999-09-02

Family

ID=24244558

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69130766T Expired - Lifetime DE69130766T2 (de) 1990-08-02 1991-07-17 Intelligentes hilfssystem

Country Status (6)

Country Link
US (2) US5103498A (de)
EP (1) EP0541712B1 (de)
AU (1) AU8401991A (de)
DE (1) DE69130766T2 (de)
SG (1) SG48223A1 (de)
WO (1) WO1992002880A1 (de)

Families Citing this family (245)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5651100A (en) * 1990-06-28 1997-07-22 Omron Corporation Approximate reasoning apparatus
US5222197A (en) * 1990-06-28 1993-06-22 Digital Equipment Corporation Rule invocation mechanism for inductive learning engine
US5430836A (en) * 1991-03-01 1995-07-04 Ast Research, Inc. Application control module for common user access interface
US5586218A (en) * 1991-03-04 1996-12-17 Inference Corporation Autonomous learning and reasoning agent
DE69230968D1 (de) * 1991-03-04 2000-05-31 Inference Corp Fall-basiertes deduktives system
ATE208067T1 (de) * 1991-03-18 2001-11-15 Echelon Corp Programmiersprachestrukturen für ein netzwerk zur übertragung, abtastung und steuerung von informationen
JPH0520044A (ja) * 1991-07-15 1993-01-29 Personal Joho Kankyo Kyokai ユーザインタフエース装置
US6162060A (en) * 1991-08-09 2000-12-19 Texas Instruments Incorporated System and method for the delivery, authoring, and management of courseware over a computer network
US5455949A (en) * 1991-09-06 1995-10-03 International Business Machines Corporation Method for representing and signaling run-time program conditions
JPH0831041B2 (ja) * 1991-09-06 1996-03-27 インターナショナル・ビジネス・マシーンズ・コーポレイション プログラム条件処理方法およびコンピュータ・システム
US5555346A (en) * 1991-10-04 1996-09-10 Beyond Corporated Event-driven rule-based messaging system
US5283856A (en) * 1991-10-04 1994-02-01 Beyond, Inc. Event-driven rule-based messaging system
US5627764A (en) * 1991-10-04 1997-05-06 Banyan Systems, Inc. Automatic electronic messaging system with feedback and work flow administration
US5903454A (en) * 1991-12-23 1999-05-11 Hoffberg; Linda Irene Human-factored interface corporating adaptive pattern recognition based controller apparatus
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
USRE47908E1 (en) 1991-12-23 2020-03-17 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
USRE48056E1 (en) 1991-12-23 2020-06-16 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US6081750A (en) * 1991-12-23 2000-06-27 Hoffberg; Steven Mark Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
USRE46310E1 (en) 1991-12-23 2017-02-14 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US6400996B1 (en) 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US7242988B1 (en) 1991-12-23 2007-07-10 Linda Irene Hoffberg Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US6418424B1 (en) 1991-12-23 2002-07-09 Steven M. Hoffberg Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US6343991B1 (en) * 1997-10-01 2002-02-05 Brad A. Armstrong Game control with analog pressure sensor
US5317677A (en) * 1992-04-16 1994-05-31 Hughes Aircraft Company Matching technique for context sensitive rule application
JP2939050B2 (ja) * 1992-05-26 1999-08-25 シャープ株式会社 デ−タ通信装置
US5390281A (en) * 1992-05-27 1995-02-14 Apple Computer, Inc. Method and apparatus for deducing user intent and providing computer implemented services
US5434777A (en) * 1992-05-27 1995-07-18 Apple Computer, Inc. Method and apparatus for processing natural language
US5477447A (en) * 1992-05-27 1995-12-19 Apple Computer, Incorporated Method and apparatus for providing computer-implemented assistance
DE4228281A1 (de) * 1992-08-26 1994-03-03 Koenig & Bauer Ag Verfahren zur Anzeige von Maschinenstörungen
US5432940A (en) * 1992-11-02 1995-07-11 Borland International, Inc. System and methods for improved computer-based training
US5598511A (en) * 1992-12-28 1997-01-28 Intel Corporation Method and apparatus for interpreting data and accessing on-line documentation in a computer system
US6049792A (en) * 1993-03-19 2000-04-11 Ricoh Company Limited Automatic invocation of computational resources without user intervention across a network
US5546502A (en) * 1993-03-19 1996-08-13 Ricoh Company, Ltd. Automatic invocation of computational resources without user intervention
US6633861B2 (en) * 1993-03-19 2003-10-14 Ricoh Company Limited Automatic invocation of computational resources without user intervention across a network
US5701399A (en) * 1993-06-09 1997-12-23 Inference Corporation Integration of case-based search engine into help database
JPH0772767A (ja) * 1993-06-15 1995-03-17 Xerox Corp 対話型ユーザ支援システム
US5537590A (en) * 1993-08-05 1996-07-16 Amado; Armando Apparatus for applying analysis rules to data sets in a relational database to generate a database of diagnostic records linked to the data sets
US5504887A (en) * 1993-09-10 1996-04-02 International Business Machines Corporation Storage clustering and packing of objects on the basis of query workload ranking
US5521844A (en) * 1993-09-10 1996-05-28 Beloit Corporation Printing press monitoring and advising system
US5982365A (en) * 1993-11-19 1999-11-09 Apple Computer, Inc. System and methods for interactively generating and testing help systems
US5572670A (en) * 1994-01-10 1996-11-05 Storage Technology Corporation Bi-directional translator for diagnostic sensor data
US5819090A (en) * 1994-03-04 1998-10-06 Ast Research, Inc. Application control module for common user access interface
US5799292A (en) * 1994-04-29 1998-08-25 International Business Machines Corporation Adaptive hypermedia presentation method and system
WO1995034051A1 (en) * 1994-06-06 1995-12-14 Spectragraphics Corporation Method and apparatus for capturing and distributing graphical data
US5563805A (en) * 1994-08-16 1996-10-08 International Business Machines Corporation Multimedia context-sensitive real-time-help mechanism for use in a data processing system
EP0712075A3 (de) * 1994-11-08 1997-10-22 Canon Kk Informationsverarbeitungsverfahren und -anlage, welche die Information versteht und danach handelt
JP3898238B2 (ja) * 1994-12-02 2007-03-28 株式会社バンダイナムコゲームス ビデオゲーム装置及びその画像合成方法
US5701400A (en) * 1995-03-08 1997-12-23 Amado; Carlos Armando Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data
US6182056B1 (en) 1995-05-22 2001-01-30 Gte Data Services Incorporated Method of modeling complex navigational logic in a client/server environment
US5870727A (en) * 1995-05-22 1999-02-09 Gte Data Services Incorporated Rule-based system for the provision of complex navigational logic
US6067525A (en) 1995-10-30 2000-05-23 Clear With Computers Integrated computerized sales force automation system
JP3195226B2 (ja) * 1996-03-14 2001-08-06 株式会社東芝 業務支援システム
US6688888B1 (en) * 1996-03-19 2004-02-10 Chi Fai Ho Computer-aided learning system and method
US5727129A (en) * 1996-06-04 1998-03-10 International Business Machines Corporation Network system for profiling and actively facilitating user activities
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
US20030195846A1 (en) 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US8229844B2 (en) 1996-06-05 2012-07-24 Fraud Control Systems.Com Corporation Method of billing a purchase made over a computer network
JP3698491B2 (ja) * 1996-07-02 2005-09-21 株式会社ドラゴン テレビ型バカラゲーム遊戯装置
US6021403A (en) * 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US5778233A (en) * 1996-10-11 1998-07-07 International Business Machines Corporation Method and apparatus for enabling global compiler optimizations in the presence of exception handlers within a computer program
US8745493B2 (en) * 1996-10-25 2014-06-03 Karen A. McKirchy Method and apparatus for providing instructional help, at multiple levels of sophistication, in a learning application
US7607147B1 (en) * 1996-12-11 2009-10-20 The Nielsen Company (Us), Llc Interactive service device metering systems
GB2324892B (en) * 1997-03-14 1999-12-01 Interactuality Limited Process monitoring system
US6038560A (en) * 1997-05-21 2000-03-14 Oracle Corporation Concept knowledge base search and retrieval system
US6003020A (en) * 1997-10-30 1999-12-14 Sapient Health Network Intelligent profiling system
US6527556B1 (en) 1997-11-12 2003-03-04 Intellishare, Llc Method and system for creating an integrated learning environment with a pattern-generator and course-outlining tool for content authoring, an interactive learning tool, and related administrative tools
US6062862A (en) * 1997-11-12 2000-05-16 Koskinen; Robin S. Financial services product training apparatus and method related thereto
US6002400A (en) * 1997-11-19 1999-12-14 International Business Machines Corporation Method and apparatus for handles to components in graphical windows user interface
JPH11242547A (ja) * 1998-02-26 1999-09-07 Nec Corp コンピュータユーザ支援システム
US6795814B1 (en) * 1998-06-04 2004-09-21 Gateway, Inc. System and method for CMOS integration
US9792659B2 (en) * 1999-04-13 2017-10-17 Iplearn, Llc Computer-aided methods and apparatus to access materials in a network environment
IL125684A0 (en) * 1998-08-06 1999-04-11 Univ Ben Gurion Method for computer operation by an intelligent user adaptive interface
US6134019A (en) * 1998-09-03 2000-10-17 Xerox Corporation Help button service for a user interface in a digital printing scanning or facsimile system
US6219047B1 (en) 1998-09-17 2001-04-17 John Bell Training agent
US6381711B1 (en) 1998-10-20 2002-04-30 International Business Machines Corporation Method and apparatus for unified, pre-addressed, context-sensitive reporting
US6341359B1 (en) 1998-12-14 2002-01-22 International Business Machines Corporation Self-diagnosing and self correcting data entry components
US6964010B1 (en) 1998-12-14 2005-11-08 International Business Machines Corporation Formatted-item list control
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
JP2000262747A (ja) * 1999-03-18 2000-09-26 Sega Enterp Ltd 画像処理装置、電子遊戯装置及びテレビゲーム機用記憶媒体
US6269355B1 (en) * 1999-04-15 2001-07-31 Kadiri, Inc. Automated process guidance system and method using knowledge management system
US6573906B1 (en) 1999-04-26 2003-06-03 International Business Machines Corporation Method and system for delivering integrated user assistance information and traditional help from the same source
US6340977B1 (en) 1999-05-07 2002-01-22 Philip Lui System and method for dynamic assistance in software applications using behavior and host application models
US6421655B1 (en) * 1999-06-04 2002-07-16 Microsoft Corporation Computer-based representations and reasoning methods for engaging users in goal-oriented conversations
US7337159B2 (en) * 1999-09-30 2008-02-26 Topiary Communications, Inc. System and method for sharing of expert knowledge
US6985889B1 (en) 1999-09-30 2006-01-10 Topiary Communications, Inc. System and method for sharing of expert knowledge
GB2359215B (en) * 2000-02-08 2004-02-25 Helpmagic Com Ltd Information service
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
WO2001069573A1 (en) * 2000-03-16 2001-09-20 University Of Southern California Adaptable smart techniques for user interaction
WO2002029759A2 (en) * 2000-10-06 2002-04-11 Charles Wong Virtual training sales and support
US20020095597A1 (en) * 2001-01-13 2002-07-18 Norden Gregory L. Reusable solutions for aircraft servicing
GB2375030B (en) * 2001-04-27 2005-05-11 Ibm Changing user interface following difficulty in use
DE60136052D1 (de) * 2001-05-04 2008-11-20 Microsoft Corp Schnittstellensteuerung
US20030028513A1 (en) * 2001-07-13 2003-02-06 Neal Pawar System and method for providing help services
US7194685B2 (en) * 2001-08-13 2007-03-20 International Business Machines Corporation Method and apparatus for tracking usage of online help systems
US20030059009A1 (en) * 2001-09-24 2003-03-27 Teleware, Inc. Modular multi-media communication management system with context dependent multi-media help functionality
US6871163B2 (en) 2002-05-31 2005-03-22 Sap Aktiengesellschaft Behavior-based adaptation of computer systems
US7239981B2 (en) 2002-07-26 2007-07-03 Arbitron Inc. Systems and methods for gathering audience measurement data
US20040145601A1 (en) * 2003-01-29 2004-07-29 International Business Machines Corporation Method and a device for providing additional functionality to a separate application
US7694223B2 (en) * 2003-06-04 2010-04-06 Sony Computer Entertainment Inc. Methods and systems for recording user actions in computer programs
US20050081153A1 (en) * 2003-08-12 2005-04-14 Gbs Global Business Software And Services Limited Method for providing process-dependent data
JP2007528063A (ja) * 2004-03-01 2007-10-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ チュートリアル生成ユニット
US20060041499A1 (en) * 2004-08-23 2006-02-23 Transaxtions Llc Obtaining A Need With Guiding Information And Credit Worthiness Using A Competitive Process
US7543232B2 (en) * 2004-10-19 2009-06-02 International Business Machines Corporation Intelligent web based help system
US20060095315A1 (en) * 2004-10-29 2006-05-04 Sbc Knowledge Ventures L.P. Method and apparatus for a mechanized attendance management system
US8296162B1 (en) 2005-02-01 2012-10-23 Webmd Llc. Systems, devices, and methods for providing healthcare information
US20060212463A1 (en) * 2005-03-15 2006-09-21 Jensen Jens O Method and apparatus for extracting metadata information from an application
US9183752B2 (en) * 2005-07-14 2015-11-10 Red Hat, Inc. Tutorial generator with automatic capture of screenshots
WO2007017796A2 (en) * 2005-08-11 2007-02-15 Philips Intellectual Property & Standards Gmbh Method for introducing interaction pattern and application functionalities
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7475054B2 (en) * 2005-11-30 2009-01-06 The Boeing Company Integrating multiple information-providing systems
US7533339B2 (en) * 2005-12-29 2009-05-12 Sap Ag System and method for providing user help
US7526722B2 (en) * 2005-12-29 2009-04-28 Sap Ag System and method for providing user help according to user category
US7979798B2 (en) * 2005-12-30 2011-07-12 Sap Ag System and method for providing user help tips
US8166412B2 (en) * 2006-01-13 2012-04-24 Adobe Systems Incorporated Visual cue discernment on scattered data
US8099664B2 (en) * 2006-03-17 2012-01-17 Microsoft Corporation Dynamic help user interface control with secured customization
US9299039B1 (en) * 2006-08-23 2016-03-29 A9.Com, Inc. Managing task lists utilizing integrated information requests
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7711462B2 (en) * 2006-12-15 2010-05-04 International Business Machines Corporation Vehicle help system and method
US8380530B2 (en) 2007-02-02 2013-02-19 Webmd Llc. Personalized health records with associative relationships
US8738606B2 (en) * 2007-03-30 2014-05-27 Microsoft Corporation Query generation using environment configuration
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US9135340B2 (en) * 2007-09-12 2015-09-15 Datalaw, Inc. Research system and method with record builder
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8504599B1 (en) 2008-10-07 2013-08-06 Honda Motor Co., Ltd. Intelligent system for database retrieval
US9124769B2 (en) 2008-10-31 2015-09-01 The Nielsen Company (Us), Llc Methods and apparatus to verify presentation of media content
WO2010067118A1 (en) 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8635584B2 (en) * 2009-10-13 2014-01-21 Yahoo! Inc. Tutorial systems for code creation and provenance tracking
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
CA2691326A1 (en) 2010-01-28 2011-07-28 Ibm Canada Limited - Ibm Canada Limitee Integrated automatic user support and assistance
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8396815B2 (en) * 2010-04-29 2013-03-12 International Business Machines Corporation Adaptive business process automation
CN102238268B (zh) 2010-04-30 2013-10-30 腾讯科技(深圳)有限公司 一种信息提示方法及装置
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US8560305B1 (en) * 2012-05-16 2013-10-15 Hristo Georgiev Logifolg
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US20140115459A1 (en) * 2012-10-24 2014-04-24 Michael Norwood Help system
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
CN105339866B (zh) 2013-03-01 2018-09-07 托比股份公司 延迟扭曲凝视交互
US9864498B2 (en) 2013-03-13 2018-01-09 Tobii Ab Automatic scrolling based on gaze detection
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
AU2014233517B2 (en) 2013-03-15 2017-05-25 Apple Inc. Training an at least partial voice command system
WO2014150518A1 (en) * 2013-03-15 2014-09-25 Legacy Media, Llc Provision of predefined communications
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
DE112014002747T5 (de) 2013-06-09 2016-03-03 Apple Inc. Vorrichtung, Verfahren und grafische Benutzerschnittstelle zum Ermöglichen einer Konversationspersistenz über zwei oder mehr Instanzen eines digitalen Assistenten
AU2014278595B2 (en) 2013-06-13 2017-04-06 Apple Inc. System and method for emergency calls initiated by voice command
DE112014003653B4 (de) 2013-08-06 2024-04-18 Apple Inc. Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
GB2518203A (en) * 2013-09-13 2015-03-18 Ibm GUI configuration
US10317995B2 (en) 2013-11-18 2019-06-11 Tobii Ab Component determination and gaze provoked interaction
US10558262B2 (en) 2013-11-18 2020-02-11 Tobii Ab Component determination and gaze provoked interaction
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
CN110797019B (zh) 2014-05-30 2023-08-29 苹果公司 多命令单一话语输入方法
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9606986B2 (en) 2014-09-29 2017-03-28 Apple Inc. Integrated word N-gram and class M-gram language models
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US11568177B2 (en) * 2015-01-19 2023-01-31 Kabushiki Kaisha Toshiba Sequential data analysis apparatus and program
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
JP6438346B2 (ja) * 2015-05-12 2018-12-12 日本電信電話株式会社 操作支援装置、操作支援プログラムおよび操作支援方法
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10579400B2 (en) * 2016-11-11 2020-03-03 International Business Machines Corporation Path-sensitive contextual help system
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4156284A (en) * 1977-11-21 1979-05-22 General Electric Company Signal processing apparatus
US4648044A (en) 1984-06-06 1987-03-03 Teknowledge, Inc. Basic expert system tool
US4658370A (en) 1984-06-07 1987-04-14 Teknowledge, Inc. Knowledge engineering tool
EP0218218A3 (de) * 1985-10-07 1989-11-08 Sharp Kabushiki Kaisha Eingabe- und Aufbereitungssystem in einem Frage-und-Antwort-System
JPS6398741A (ja) * 1986-10-15 1988-04-30 Fujitsu Ltd 複数エキスパ−トシステムの逐次実行制御方式
JPS63124148A (ja) * 1986-11-13 1988-05-27 Nec Corp 知識ベ−スフアイル管理方式
US4860214A (en) 1987-01-22 1989-08-22 Ricoh Company, Ltd. Inference system
US4885757A (en) * 1987-06-01 1989-12-05 Texas Instruments Incorporated Digital adaptive receiver employing maximum-likelihood sequence estimation with neural networks
US4873661A (en) * 1987-08-27 1989-10-10 Yannis Tsividis Switched neural networks
US4903226A (en) * 1987-08-27 1990-02-20 Yannis Tsividis Switched networks
US4964077A (en) 1987-10-06 1990-10-16 International Business Machines Corporation Method for automatically adjusting help information displayed in an online interactive system
US5023833A (en) * 1987-12-08 1991-06-11 California Institute Of Technology Feed forward neural network for unary associative memory
US5008810A (en) * 1988-09-29 1991-04-16 Process Modeling Investment Corp. System for displaying different subsets of screen views, entering different amount of information, and determining correctness of input dependent upon current user input
JP2690996B2 (ja) 1989-02-17 1997-12-17 株式会社日立製作所 履歴依存ヘルプ制御方式
JPH02287670A (ja) * 1989-04-27 1990-11-27 Mitsubishi Electric Corp 半導体神経回路網
US4962342A (en) * 1989-05-04 1990-10-09 Synaptics, Inc. Dynamic synapse for neural network
US4988891A (en) * 1989-05-09 1991-01-29 Mitsubishi Denki Kabushiki Kaisha Semiconductor neural network including photosensitive coupling elements
US5167010A (en) 1989-08-03 1992-11-24 Westinghouse Electric Corp. Expert advice display processing system
US4942367A (en) * 1989-09-29 1990-07-17 General Electric Company Auto-zeroing switched-capacitance buffer amplifiers with minus-unity voltage gain
US5239617A (en) 1990-01-05 1993-08-24 International Business Machines Corporation Method and apparatus providing an intelligent help explanation paradigm paralleling computer user activity
US5039870A (en) * 1990-05-21 1991-08-13 General Electric Company Weighted summation circuits having different-weight ranks of capacitive structures

Also Published As

Publication number Publication date
DE69130766D1 (de) 1999-02-25
USRE39302E1 (en) 2006-09-19
EP0541712B1 (de) 1999-01-13
AU8401991A (en) 1992-03-02
HK1012102A1 (en) 1999-07-23
WO1992002880A1 (en) 1992-02-20
US5103498A (en) 1992-04-07
EP0541712A1 (de) 1993-05-19
EP0541712A4 (en) 1994-06-15
SG48223A1 (en) 1998-04-17

Similar Documents

Publication Publication Date Title
DE69130766T2 (de) Intelligentes hilfssystem
DE69327318T2 (de) Unterstützung für systementwicklung.
US6009420A (en) Computer-implemented decision management system with dynamically generated questions and answer choices
DE69429866T2 (de) Verfahren und gerät zur modellierung und abfrage von datenbankenstrukturen mit natürlichen sprachartigen konstruktionen
US5835900A (en) Computer-implemented decision management system with dynamically generated questions and answer choices
DE69429247T2 (de) Verfahren zur wissendarstellung in einem rechner
DE69609866T2 (de) Flexibles system und verfahren zum verknüpfen von hyperlinks
DE3650736T2 (de) Informationswiederauffindungsverfahren
DE69022842T2 (de) Verwendung von Befehlsähnlichkeiten in einem intelligenten Hilfssystem.
DE69029983T2 (de) Leistungsverbesserungsgerät für auf Regeln beruhendes Expertensystem
DE69333854T2 (de) Automatisches Aufrufen von Rechnermitteln ohne Bedienereingriff
DE69030664T2 (de) Expertensystem
DE4428060A1 (de) Dokumentations-Schnittstellensystem in einem Informationsverwaltungssystem
USRE37431E1 (en) Intelligent help system
DE69023389T2 (de) &#34;Unbekannt&#34;-Antwortverarbeitung in einem Expertendiagnosesystem.
DE19705955A1 (de) Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung
DE19632854A1 (de) Kontext-Identifizierer verwendendes System und Verfahren für eine individuelle Menüanpassung in einem Fenster
DE3851207T2 (de) Verfahren zur Bedienung eines Rechnergraphiksystems.
DE19960050A1 (de) Grafische Benutzerschnittstelle zur Entwicklung von Anwendungsbeispielen unter Verwendung einer Testobjektbibliothek
DE69428144T2 (de) Menuabfragesystem
DE102008013053A1 (de) Verbesserte Regelausführung in Expertensystemen
DE69232452T2 (de) Expertensystem mit einem Wissenserfassungsunterstützungssystem
DE69715525T2 (de) Verfahren und System um Datenstrukturen zu vereinigen
DE19960048A1 (de) Zeitgesteuerte Startbedingungen für Aktivitäten in Workflow-Management-Systemen
DE69420926T2 (de) Sequentieller informationsintegrationsdienst fuer dateiuebertragungsintegration zwischen mehreren programmodulen und einem speicher in einem computer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: MUELLER-GERBES & WAGNER PATENTANWAELTE, 53225 BONN

8327 Change in the person/name/address of the patent owner

Owner name: SAMSUNG ELECTRONICS CO., LTD., SUWON CITY, KR