DE69734400T2 - Verfahren und system zur prüfung der richtigkeit der rechtschreibung und grammatik eines dokuments - Google Patents

Verfahren und system zur prüfung der richtigkeit der rechtschreibung und grammatik eines dokuments Download PDF

Info

Publication number
DE69734400T2
DE69734400T2 DE69734400T DE69734400T DE69734400T2 DE 69734400 T2 DE69734400 T2 DE 69734400T2 DE 69734400 T DE69734400 T DE 69734400T DE 69734400 T DE69734400 T DE 69734400T DE 69734400 T2 DE69734400 T2 DE 69734400T2
Authority
DE
Germany
Prior art keywords
grammar
spelling
sentence
module
checker
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
DE69734400T
Other languages
English (en)
Other versions
DE69734400D1 (de
Inventor
A. Maria-Nancy DOMINI
A. Ronald FEIN
D. Anthony KRUEGER
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of DE69734400D1 publication Critical patent/DE69734400D1/de
Application granted granted Critical
Publication of DE69734400T2 publication Critical patent/DE69734400T2/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/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)

Description

  • Technisches Gebiet
  • Die Erfindung betrifft ein System und ein Verfahren zum Prüfen der Richtigkeit der Rechtschreibung von Wörtern in einem elektronischen Dokument und zum Prüfen der Grammatik von Sätzen in einem elektronischen Dokument.
  • Hintergrund der Erfindung
  • Dokumente, die von nicht professionellen Verfassern gefertigt werden, enthalten oft eine Anzahl von Fehlern. Einige dieser Fehler sind einfache Schieibfehler. Andere Fehler können etwas komplexer sein, wie zum Beispiel orthografische Fehler oder Grammatikfehler. Dokumente, die Fehler enthalten, können sich für den Verfasser des Dokuments negativ auswirken. Beispielsweise kann der Empfänger eines Fehler enthaltenden Dokuments annehmen, dass es dem Verfasser an Ausbildung fehlt, dass der Schreiber faul ist, dass der Schreiber das Dokument eilig verfasst hat oder dass der Schreiber negative Eigenschaften hat. Die meisten Schreiber wollen vermeiden, dass man diesen Eindruck von ihnen hat, und versuchen deshalb, ihre Dokumente so richtig wie möglich zu verfassen.
  • Textverarbeitungsprogramm-Module sind effektiv, dem Anwender dabei zu helfen, viele Fehler in ihren Dokumenten zu beseitigen. Beispielsweise stellen die meisten Textverarbeitungsprogramm-Module effektive Werkzeuge zum Korrigieren der Fassung von elektronischen Dokumenten bereit. Die Werkzeuge sind Rechtschreibprüfprogramm-Module und Grammatikprüfprogramm-Module. Diese Werkzeuge helfen dem Verfasser von elektronischen Dokumenten, viele der Fehler in ihren elektronischen Dokumenten zu korrigieren.
  • Die meisten Rechtschreibprüfprogramm-Module enthalten ein Wörterbuch oder eine Liste von Wörtern, um die Rechtschreibprüfungsvorgänge zu unterstützen. Um ein Dokument auf Rechtschreibung zu prüfen, vergleicht das Rechtschreibprüfprogramm-Modul die Wörter in dem Dokument mit dem Wörterbuch, um festzustellen, ob die Wörter in dem Dokument den Wörtern in dem Wörterbuch entsprechen oder mit diesen übereinstimmen. Wenn ein Wort nicht den Wörtern in dem Wörterbuch entspricht oder nicht mit diesen übereinstimmt, dann wird für den Benutzer eine Anzeige bereitgestellt, dass das Wort nicht in dem Wörterbuch ist und infolgedessen falsch geschrieben sein kann. Zusätzlich weisen viele Rechtschreibprüfprogramm-Module weitere Funktionen auf, wie zum Beispiel eine Liste mit Vorschlägen, um das falsch geschriebene Wort zu ersetzen, Anzeigen von Wörtern, die wiederholt wurden, und Anzeigen von Wörtern, die groß zu schreiben sind.
  • Die meisten Grammatikprüfprogramm-Module prüfen Dokumente, die Grammatikfehler oder einen schlechten Schreibstil aufweisen könnten. Wenn das Grammatikprüfprogramm-Modul einen möglichen Fehler erkennt, wird für den Benutzer eine Anzeige bereitgestellt. Die Grammatikprüfprogramm-Module prüfen typischerweise auf Subjekt-Verb-Kongruenz, richtige Zeichensetzung, passive Verben usw. Für Fehler stellt das Grammatikprüfprogramm-Modul Vorschläge dahingehend bereit, wie der Satz zu korrigieren ist oder wie der Schreibstil des Satzes zu verbessern ist.
  • Beispiele für separate Anwenderschnittstellen zum Prüfen der Rechtschreibung und der Grammatik können in folgenden Veröffentlichungen gefunden werden: Interactive Author-Assistance Tool, IBM Technical Disclosure Bulletin, Band 28, Nr. 12, S. 5284-5286, Mai 1986, US-Patent Nr. 5.437.036 an J. Scott Stamps u. a., EP Nr. 513.918 an B. V. Niederlande, Activating Multiple Spelling Dictonaries Concurrently, IBM Technical Disclosure Bulletin, Band 32, Nr. 9A, S. 295-296, Februar 1990, Keiner Kann's Korrekt von M. Vieten, Chip, Zeitschrift für Microcomputertechnik, Nr. 8, S. 236-238, 240 und 242, August 1991. Insbesondere Interactive Author-Assistance Tool legt ein interaktives Hilfswerkzeug für einen Verfasser offen, das einen Rechtschreibprüfer und einen Syntaxanalysator enthält. Sobald ein Fehler festgestellt ist, kann der Verfasser durch Auswählen aus einer Liste von vorgeschlagenen, dem Fehler entsprechenden Alternativen entweder den Rechtschreib- oder Grammatikfehler korrigieren. Das US-Patent 5.437.036 legt separate Anwenderschnittstellen zum Prüfen von Rechtschreib- und Grammatikfehlern offen. Die Rechtschreib- oder Grammatikfehler können dem Anwender getrennt in Form einer Vorschlagsliste angezeigt werden.
  • Als die Rechtschreibprüfprogramm-Module und Grammatikprüfprogramm-Module anfänglich für Computer hergestellt wurden, waren sie „allein operierende" Produkte. Mit anderen Worten, Rechtschreibprüfprogramm-Module oder Grammatikprüfprogramm-Module waren voneinander und von dem Textverarbeitungsprogramm-Modul getrennte Programmmodule. Diese „allein operierenden" Module untersuchten die Dokumente verschiedener Formate, stellten Fehler dar und schlugen, üblicherweise über eine Anwenderschnittstelle oder einen Dialogbereich, Korrekturen vor. In der Folge wurden die Rechtschreibprüfer und die Grammatikprüfer in die Textverarbeitungsprogramm-Module integriert. Beispielsweise würde der Hersteller des Textverarbeitungsprogramm-Moduls das Rechtschreibprüfprogramm-Modul oder Grammatikprüfprogramm-Modul eines unabhängigen Softwarehändlers lizenzieren und für die Rechtschreibung und die Grammatik eine separate Anwenderschnittstelle bereitstellen.
  • Die getrennten Anwenderschnittstellen für das Rechtschreibprüfprogramm-Modul und das Grammatikprüfprogramm-Modul weisen für die Benutzer von Textverarbeitungsprogramm-Modulen verschiedene Nachteile auf. Ein Nachteil von getrennten Anwenderschnittstellen für die Rechtschreibprüfung und die Grammatikprüfung ist, dass das Unterscheiden zwischen Rechtschreibung und Grammatik unnatürlich ist. Getrennte Rechtschreib- und Grammatikprüfung sind bei dem manuellen Vorgang des Korrigierens eines Dokuments nicht nachvollziehbar. Beispielsweise wird es kaum vorkommen, dass ein Verfasser einem Freund sagen wird: „Bitte korrigiere mein Dokument und markiere alle Rechtschreibfehler, jedoch nicht die Grammatikfehler." Stattdessen umfasst der manuelle Vorgang des Korrigierens eines Dokuments üblicherweise das Prüfen des Dokuments auf Rechtschreib- und Grammatikfehler. In vielen Textverarbeitungsprogramm-Modulen werden jedoch das Prüfen der Rechtschreibung und das Prüfen der Grammatik getrennt durchgeführt und die Ergebnisse werden dem Benutzer in getrennten Anwenderschnittstellen dargestellt.
  • Ein zweiter Nachteil von getrennten Anwenderschnittstellen für das Rechtschreibprüfprogramm-Modul und das Grammatikprüfprogramm-Modul ist, dass sich der Benutzer des Textverarbeitungsprogramm-Moduls mit zwei getrennten Anwenderschnittstellen und den beiden getrennten Befehlsgruppen, die mit diesen Anwenderschnittstellen verbunden sind, vertraut machen muss. Die Rechtschreibprüfer-Schnittstelle und die Grammatikprüfer-Schnittstelle sind oft im Betrieb uneinheitlich. Beispielsweise wird in „WORD", Version 7.0, einem von der Microsoft Corporation, Redmond, Washington hergestellten Textverarbeitungsprogramm-Modul, ein falsch geschriebenes Wort in einem Rechtschreibdialog angezeigt, jedoch wird in dem Dialog der Satz, in dem das falsch geschriebene Wort erscheint, nicht angezeigt. Anderseits zeigt der Grammatikdialog in „WORD", Version 7.0 den vollständigen Satz, in dem der Grammatikfehler erscheint.
  • Benutzer von Textverarbeitungsprogramm-Modulen erwarten, dass die Anwenderschnittstellen gleichartige Funktionen für Rechtschreib- und Grammatikfehler aufweisen, und könnten durcheinander kommen oder frustriert sein, wenn dies nicht der Fall ist. Außerdem muss der Benutzer Zeit und Anstrengungen aufwenden, um zu erlernen, wie zwei getrennte Anwenderschnittstellen für Rechtschreibung und Grammatik zu nutzen sind. Oft sind die Benutzer unwillig, die Zeit und die Anstrengung aufzubringen, und prüfen ihre Dokumente nicht vollständig.
  • Ein weiterer Nachteil der getrennten Verfahren zum Prüfen der Rechtschreibung und der Grammatik eines Dokuments ist, dass die Benutzer abgeneigt sind, ein Dokument vollständig zu überprüfen. Um eine vollständige Überprüfung durchzuführen, muss der Benutzer eine Prüfung der Rechtschreibung vornehmen, zum Anfang des Dokuments zurückkehren und dann eine Prüfung der Grammatik ausführen. Dies ist für die Anwender ein sehr unnatürlicher Prozess. Zusätzlich vergessen einige Anwender, an den Anfang des Dokuments zurückzukehren und führen eine Prüfung der Grammatik aus, nachdem sie eine Prüfung der Rechtschreibung ausgeführt haben. Die Anwender, die keine Prüfung der Grammatik ausführen, können Dokumente verfassen, die Fehler, die durch den Grammatikprüfer leicht festgestellt worden wären, enthalten. Einige dieser nicht festgestellten Fehler, sind Fehler von denen der Anwender erwartet, dass sie durch den Rechtschreibprüfer festgestellt werden, was jedoch nicht der Fall ist. Beispielsweise würde kein Rechtschreibprüfer einen Fehler in dem Satz „I think your the greatest" kennzeichnen, ein Grammatikprüfer würde jedoch anzeigen, dass „your" "you're" sein sollte. Die meisten Anwender fassen dies als einen Rechtschreibfehler auf, obwohl es ein Fehler ist, der nur durch eine Prüfung der Grammatik festgestellt werden würde, weil jedes dieser Wörter in dem Rechtschreibwörterbuch gefunden wurde. Infolgedessen leiden die getrennten Verfahren zum Prüfen der Rechtschreibung und der Grammatik unter dem zusätzlichen Nachteil, dass die Anwender von der vollständigen Überprüfung ihres Dokuments abgeschreckt werden.
  • In „WORDPERFECT", Version 6.1, einem von der Novell Inc. hergestellten Textverarbeitungsprogramm, werden die Rechtschreib- und Grammatikfehler in einem kombinierten Rechtschreib- und Grammatik-Dialogbereich des Grammatikprüfmoduls angezeigt. Dieses Modul führt eine Überprüfung der Rechtschreibung der Wörter in einem Satz gefolgt von der Prüfung der Grammatik aus. Außerdem stellt es die Konfigurierbarkeit des Grammatikprüfermoduls bereit, um diese Funktion entsprechend den Wünschen eines Anwenders zu aktivieren oder zu deaktivieren.
  • Aus den genannten Gründen ist in der Technik der Bedarf für ein Textverarbeitungsprogramm-Modul, das den Prozess des Prüfens der Richtigkeit der Rechtschreibung und der Grammatik eines Dokuments vereinfacht, vorhanden.
  • Außerdem besteht Bedarf für ein Textverarbeitungsprogramm-Modul, das die Richtigkeit der Rechtschreibung und der Grammatik eines Dokuments in einer Art und Weise prüft, die für einen Anwender nachvollziehbar ist und die dem manuellen Korrigieren eines Dokuments ähnelt.
  • Des Weiteren besteht ein Bedarf für ein Textverarbeitungsprogramm-Modul, das eine Anwenderschnittstelle für kombinierte Rechtschreib- und Grammatikfunktionen, die im Betrieb konsistent sind, bereitstellt.
  • Ferner besteht ein Bedarf für ein Textverarbeitungsprogramm-Modul, das den Anwender ermutigt, eine Überprüfung der Grammatik und der Rechtschreibung vorzunehmen, so dass die Rechtschreibung und die Grammatik des Dokuments verbessert werden.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung befriedigt die oben beschriebenen Bedürfnisse durch das Bereitstellen eines Verfahrens zum Prüfen der Rechtschreibung und der Grammatik eines elektronischen Dokuments. Ein kombinierter Rechtschreib- und Grammatik-Dialogbereich wird verwendet, um dem Anwender mögliche Rechtschreibfehler und Grammatikfehler anzuzeigen. Der Anwender muss nur einige wenige Befehle lernen, weil die Befehlsschaltflächen für die Rechtschreib- und Grammatikfehler gleichartig sind. Zusätzlich werden die Befehlsschaltflächen in dem kombinierten Rechtschreib- und Grammatik-Dialogbereich in einer logischen Art und Weise angezeigt. Beispielsweise sind die Befehlsschaltflächen für die Funktionen des Ignorierens eines Fehlers zusammen angeordnet und die Befehlsschaltflächen zum Darstellen der Funktion des Ausführens einer Änderung sind zusammen angeordnet. Der Anwender muss sowohl zur Prüfung der Rechtschreibung als auch der Grammatik eines elektronischen Dokuments nur einen Befehl im Gedächtnis behalten und infolgedessen wird der Anwender ermutigt, die vollständige Prüfung ihrer Dokumente auszuführen.
  • Allgemein gesagt, stellt die vorliegende Erfindung ein Verfahren zum Prüfen der Richtigkeit der Rechtschreibung und der Grammatik von Sätzen in einem elektronischen Dokument bereit. Das Verfahren umfasst das Extrahieren von einem der Sätze aus dem Dokument. Die Rechtschreibung der Wörter in dem Dokument wird geprüft. Wenn eines der Wörter falsch geschrieben ist, wird eine Befehlseingabe abgewartet, die anzeigt, ob das Wort geändert oder akzeptiert wird, und während des Wartens wird festgestellt, ob eines der restlichen Wörter in dem Satz des Dokuments ein falsch geschriebenes Wort ist. Als Nächstes wird, wenn festgestellt ist, dass das Grammatikprüfprogramm-Modul aktiviert ist, eine Prüfung der Grammatik des Satzes durchgeführt. Diese Aufgaben werden für jeden Satz in dem Dokument wiederholt, bis alle Sätze in dem Dokument auf Rechtschreibung und Grammatik überprüft sind oder bis der Prozess durch einen Anwender unterbrochen wird. Die Rechtschreib- und Grammatikfehler werden in einem kombinierten Rechtschreib- und Grammatik-Dialogbereich angezeigt.
  • Der Schritt des Extrahierens der Vielzahl von Sätzen aus dem Dokument kann durch das Herausbrechen der Sätze erfolgen. Kurz beschrieben, involviert das Herausbrechen der Sätze das Finden des Anfangs und das Ende eines Satzes in einem Textpuffer. Das Herausbrechen der Sätze ist erforderlich, weil Grammatikprüfprogramm-Module oft einen einzelnen vollständigen Satz erfordern, um die Grammatik effektiv zu prüfen. Der Schritt des Extrahierens kann auch durch das Aufrufen eines Grammatikprüfprogramm-Moduls, das Übertragen eines Puffers von Text zu dem Grammatikprüfprogramm und das Empfangen eines Hinweises auf einen Satz von dem Grammatikprüfprogramm-Modul erfolgen. Diese Hinweise zeigen einen Anfangspunkt und einen Endpunkt für einen Satz an.
  • Der Schritt des Prüfens der Rechtschreibung der Wörter in dem Satz kann den Schritt des Feststellens, ob eines der Wörter ein falsch geschriebenes Wort ist, umfassen. Wenn eines der Wörter ein falsch geschriebenes Wort ist, dann wird die Anzeige des falsch geschriebenen Wortes bereitgestellt. In Reaktion auf diese Anzeige kann der Anwender einen Befehl eingeben, der die Änderungen, die an dem falsch geschriebenen Wort vorzunehmen sind, oder die Änderungen, die an dem Satz vorzunehmen sind, anzeigt.
  • Der Schritt des Prüfens der Rechtschreibung der Wörter in dem Satz kann außerdem das Aufrufen eines Rechtschreibprüfprogramm-Moduls und das Senden eines der Wörter des Satzes an das Rechtschreibprüfprogramm-Modul umfassen. Das Rechtschreibprüfprogramm-Modul prüft das Wort und empfängt in Reaktion darauf Rechtschreibdaten. Die Rechtschreibdaten zeigen an, ob die Rechtschreibung des Wortes befriedigend oder nicht befriedigend ist. Wenn sie nicht befriedigend ist, dann werden die Rechtschreibfehler-Typinformation und Vorschläge von dem Rechtschreibprüfprogramm-Modul abgefordert und empfangen. Die Rechtschreibfehler-Typinformation und die Vorschläge werden dem Anwender in einem kombinierten Rechtschreib- und Grammatik-Dialogbereich angezeigt. Der Anwender kann dann einen Befehl eingeben, um alle Änderungen in dem Dokument anzuzeigen. Die Schritte der Prüfung der Rechtschreibung werden wiederholt, bis jedes Wort in dem Satz auf Rechtschreibung überprüft ist.
  • Spezieller beschrieben, stellt die vorliegende Erfindung ein Verfahren zur Prüfung der Rechtschreibung und der Grammatik eines elektronischen Dokuments bereit. Ein Satz aus dem Dokument wird analysiert. Es wird festgestellt, ob eines der Wörter in dem Satz falsch geschrieben ist, und für das falsch geschriebene Wort wird in einem kombinierten Rechtschreib- und Grammatik-Dialogbereich eine Anzeige, die das falsch geschriebene Wort in roten, fetten Schrifttypen darstellt, angezeigt. In Reaktion darauf kann der Anwender dann eine Befehlseingabe bereitstellen, die die Änderungen, die an dem falsch geschriebenen Wort vorzunehmen sind, wie zum Beispiel Austauschen oder Ignorieren, anzeigt. Diese Schritte werden wiederholt, bis dem Anwender alle falsch geschriebenen Wörter in dem Satz angezeigt worden sind.
  • Anschließend wird festgestellt, ob der Satz des Dokuments, der analysiert wurde, grammatisch richtig ist. Falls nicht, wird eine Anzeige bereitgestellt, die den Teil des Satzes, der unzulässig ist, anzeigt. Beispielsweise können die unzulässigen Wörter in dem kombinierten Rechtschreib- und Grammatik-Dialogbereich mit grünen, fetten Schrifttypen angezeigt werden. Der Anwender kann in Reaktion darauf eine Befehlseingabe bereitstellen, die alle Änderungen des Satzes oder des Dokuments anzeigt. Jeder grammatisch unzulässige Teil des Satzes kann separat angezeigt werden.
  • Diese und weitere Merkmale, Vorteile und Aspekte der vorliegenden Erfindung können nach einer Prüfung der folgenden ausführlichen Beschreibung der offen gelegten Ausführungsbeispiele unter Bezugnahme auf die begleitenden Zeichnungen und Patentansprüche besser verstanden werden.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm eines PCs, der die Betriebsumgebung für die bevorzugten Ausführungsbeispiele der vorliegenden Erfindung bereitstellt.
  • 2 ist ein Blockdiagramm, das die Schnittstellen zwischen den Eingangs-/Ausgangsgeräten eines Computers, eines Betriebssystems und eines Anwendungsprogramms darstellt.
  • 3 ist eine Darstellung des kombinierten Rechtschreib- und Grammatik-Dialogbereichs, der dem Anwender angezeigt wird, wenn ein möglicher Rechtschreibfehler angezeigt wird, gemäß dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung.
  • 4 ist eine Darstellung des kombinierten Rechtschreib- und Grammatik-Dialogbereichs, der dem Anwender angezeigt wird, wenn ein möglicher Grammatikfehler angezeigt wird, gemäß dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung.
  • 5 ist ein Ablaufdiagramm, das das bevorzugte Verfahren zum Prüfen der Richtigkeit der Rechtschreibung und der Grammatik eines Dokuments darstellt.
  • 6 ist ein Ablaufdiagramm, das das bevorzugte Verfahren zum Extrahieren eines Satzes aus einem Dokument darstellt.
  • 7 ist ein Ablaufdiagramm, das das bevorzugte Verfahren zum Prüfen der Rechtschreibung eines Satzes darstellt.
  • 8 ist ein Ablaufdiagramm, das das bevorzugte Verfahren zum Prüfen der Grammatik eines Satzes darstellt.
  • Ausführliche Beschreibung
  • Die vorliegende Erfindung ist auf ein Verfahren und ein System zum Prüfen der Richtigkeit der Rechtschreibung von Wörtern in einem Dokument und der Grammatik von Sätzen in einem Dokument gerichtet. Das bevorzugte Ausführungsbeispiel der vorliegenden Erfindung wird durch "WORD", Version 8.0, welches ein Textverarbeitungsanwendungsprogramm ist, das durch die Microsoft Corporation, Redmond, Washington hergestellt wird, dargestellt. Kurz beschrieben, ermöglicht das bevorzugte Programm den Anwendern durch das Eingeben von Zeichen, Symbolen, grafischen Objekten und Befehlen, elektronische Dokumente zu erzeugen und zu editieren. Das bevorzugte Programm enthält ein Rechtschreibprüfprogramm-Modul und ein Grammatikprüfprogramm-Modul. Nachdem das Dokument erzeugt wurde, kann ein Anwender das Dokument in Reaktion auf das Eingeben eines einzelnen Befehls sowohl durch Rechtschrebprüfoperationen als auch durch Grammatikprüfoperationen prüfen.
  • Obwohl das bevorzugte Ausführungsbeispiel generell in dem Zusammenhang eines Programms und eines Betriebssystems, die auf einem PC betrieben werden, beschrieben wird, wird ein Fachmann in dieser Technik anerkennen, dass die vorliegende Erfindung ebenso in Verbindung mit anderen Programmmodulen für andere Computertypen implementiert werden kann. Darüber hinaus wird ein Fachmann in dieser Technik anerkennen, dass die Erfindung in einer allein operierenden oder in einer verteilten EDV-Umgebung implementiert werden kann. In einer verteilten EDV-Umgebung können die Programmmodule physikalisch in verschiedenen lokalen und dezentralen Speichervorrichtungen angeordnet sein. Das Ausführen der Programmmodule kann entweder lokal in einer allein operierenden Art und Weise oder dezentral in einem Client-/Server-System erfolgen. Beispiele derartiger verteilter EDV-Umgebungen umfassen die lokalen Netzwerke eines Büros, unternehmensweite Computernetze und das Internet.
  • Die folgende ausführliche Beschreibung wird größtenteils vermittels der Prozesse und der symbolischen Darstellungen von Abläufen durch konventionelle Computerkomponenten, einen Prozessor (PU), Datenspeichervorrichtungen für den PU, angeschlossene Anzeigevorrichtungen und Eingabevorrichtungen umfassend, dargestellt. Darüber hinaus können diese Prozesse und Arbeiten konventionelle Computerkomponenten in einer heterogen verteilten EDV-Umgebung, die dezentrale Dateiserver, Computerserver und Datenspeichereinrichtungen umfasst, nutzen. Auf jede dieser konventionell verteilten Computerkomponenten kann durch den PU über ein Kommunikationsnetzwerk zugegriffen werden.
  • Die durch den Computer durchgeführten Prozesse und Operationen können die Bearbeitung von Signalen durch einen PU oder einen Remote-Server und das Erhalten dieser Signale innerhalb der Datenstrukturen, die in einer oder in mehreren der lokalen oder dezentralen Datenspeichervorrichtung(en) resident sind, umfassen. Solche Datenstrukturen legen der Datensammlung innerhalb einer Datenspeichervorrichtung eine physikalische Organisation auf und stellen bestimmte elektrische oder magnetische Elemente dar. Diese symbolischen Darstellungen sind die Mittel, die von den Fachleuten in der Technik des Computerprogrammierens und der Computerkonstruktion genutzt werden, um Lehren und Entdeckungen an andere Fachleute in dieser Technik auf die effektivste Art und Weise weiterzuvermitteln.
  • Für den Zweck dieser Erörterung ist ein Prozess generell als eine Sequenz von rechnerausgeführten Schritten, die zu einem erwünschten Ergebnis führen, zu verstehen. Diese Schritte erfordern generell die physikalische Manipulation von physikalischen Mengen. Üblicherweise, obwohl nicht notwendigerweise, nehmen diese Mengen die Form von elektrischen, magnetischen oder optischen Signalen an, die in der Lage sind, gespeichert, übertragen, kombiniert oder anderweitig manipuliert zu werden. Für die Fachleute in dieser Technik ist es üblich, diese Signale als Bits, Bytes, Wörter, Werte, Elemente, Symbole, Zeichen, Bedingungen, Zahlen, Punkte, Datensätze, Objekte, Bilder, Dateien oder dergleichen zu bezeichnen. Es sollte jedoch nicht vergessen werden, dass diese und ähnliche Ausdrücke angemessenen physikalischen Mengen für Computeroperationen zugehörig sein sollen und dass diese Ausdrücke lediglich konventionelle Kennzeichnungen sind, die auf physikalische Mengen, die innerhalb und während des Betriebs eines Computers vorhanden sind, angewendet werden.
  • Es ist zu verstehen, dass Verarbeitungen innerhalb eines Computers oft durch Ausdrücke wie Hinzufügen, Aufrufen, Vergleichen, Empfangen, Senden, Übertragen, Übermitteln usw. bezeichnet werden, die alle mit manuellen Betätigungen, die durch eine Bedienperson durchgeführt werden, assoziiert werden. Die hierin beschriebenen Arbeitsvorgänge sind Maschinenarbeitsvorgänge, die in Verbindung mit verschiedenen Einga ben, die durch eine Bedienperson oder einen Anwender, der mit dem Computer interagiert, bereitgestellt werden, durchgeführt werden.
  • Zusätzlich ist zu verstehen, dass die Programme, Prozesse, Verfahren usw. hierin weder auf einen bestimmten Computer oder auf eine bestimmte Vorrichtung beschränkt sind, noch sich auf eine bestimmte Kommunikationsnetzwerkarchitektur beziehen oder auf eine solche beschränkt sind. Stattdessen kann eine große Vielzahl von Allzweckmaschinen mit Programmmodulen, die gemäß den hierin beschriebenen Lehren konstruiert sind, verwendet werden. Gleichermaßen kann es sich als vorteilhaft erweisen, eine spezialisierte Vorrichtung zum Durchführen der hierin beschriebenen Verfahrensschritte mittels zweckbestimmter Computersysteme in einer bestimmten Netzwerkarchitektur mit fest verdrahteter Logik oder mit Programmen, die in einem nichtflüchtigen Speicher, wie zum Beispiel einem nur lesbaren Speicher, gespeichert sind, zu konstruieren.
  • Im Folgenden Bezug nehmend auf die Zeichnungen, in denen durchgängig durch die Figuren dieselben Ziffern dieselben Elemente bezeichnen, werden Aspekte der vorliegenden Erfindung und der bevorzugten Betriebsumgebung beschrieben.
  • Die Betriebsumgebung
  • Die 1 und 2 stellen verschiedene Aspekte der bevorzugten EDV-Umgebung, in der zu arbeiten die vorliegende Erfindung ausgelegt ist, dar. Der Fachmann in dieser Technik wird sofort erkennen, dass die 1 und 2 und die damit verbundene Erörterung vorgesehen sind, um eine kurze generelle Beschreibung der bevorzugen Computerhardware und Programmmodule bereitzustellen und dass zusätzliche Informationen in den adäquaten Programmierungshandbüchern und in gleichartigen Veröffentlichungen leicht verfügbar sind.
  • Die 1 stellt einen konventionellen PC 10 dar, der geeignet ist, den Betrieb der bevorzugten Ausführung der Erfindung zu unterstützen. Wie in der 1 gezeigt, wird der PC 10 in einer Netzwerkumgebung mit logischen Verbindungen zu einem dezentralen Computer 11 betrieben. Ein lokales Netz 12 und ein Weitverkehrsnetz 13 stellen die logischen Anschlüsse zwischen dem PC 10 und dem dezentralen Computer 11 dar. Der Fachmann in dieser Technik wird erkennen, dass in dieser Client-/Server-Konfiguration der dezentrale Computer 11 als ein Dateiserver oder Computerserver arbeiten kann.
  • Der PC 10 enthält einen Prozessor (PU) 14, wie zum Beispiel den 80486 oder „PENTIUM"-Mikroprozessor, der von der Intel Corporation, Santa Clara, Kalifornien hergestellt wird. Der PC enthält außerdem einen Systemspeicher 15, einschließlich eines nur lesbaren Speichers (ROM) 16, und einen Direktzugriffsspeicher (RAM) 17, der durch einen Systembus 18 an den PU 14 angeschlossen ist. Der bevorzugte Computer 10 verwendet ein BIOS 19, das in dem ROM 16 gespeichert ist. Der Fachmann in dieser Technik wird anerkennen, dass das BIOS 19 eine Gruppe von Grundroutinen ist, die dabei hilft, die Informationen zwischen Elementen innerhalb des Computers zu übertragen. Die Fachleute in dieser Technik werden ebenso anerkennen, dass die vorliegende Erfindung auf Computern, die eine andere Architektur haben, wie zum Beispiel Computer, die BIOS nicht verwenden, und jene, die andere Mikroprozessoren, wie zum Beispiel „MIPS" oder „POWER PC", jeweils der Mikroprozessorfamilie von Silicon Graphics und Motorola, verwenden, implementiert werden kann.
  • Innerhalb des PCs 10 ist ein Festplattenlaufwerk 20 über eine Festplattenlaufwerk-Schnittstelle 21 an den Systembus 18 angeschlossen. Ein Diskettenlaufwerk 22, das verwendet wird, um eine Diskette 23 zu lesen oder zu beschreiben, ist über die Diskettenlaufwerk-Schnittstelle 24 an den Systembus 18 angeschlossen. Ein CD-ROM-Treiber 25, der verwendet wird, um eine CD-ROM zu lesen, ist über die CD-ROM-Schnittstelle 27 an den Systembus 18 angeschlossen. Ein Anwender gibt unter Verwendung einer Tastatur 28 oder einer Zeigereinrichtung, wie einer Maus 29, die über eine serielle Portschnittstelle 30 an den Systembus 18 angeschlossen ist, Eingaben in den PC 10 ein. Andere Typen von Zeigereinrichtungen (in der 1 nicht gezeigt) umfassen Track-Pads, Kugelführungen und weitere Einrichtungen, die zum Positionieren eines Cursors auf einem Computermonitor 31 geeignet sind. Der Monitor 31 oder eine andere Art von Anzeigevorrichtung ist über einen Videoadapter 32 an den Systembus 18 angeschlossen.
  • Der dezentrale Computer 11 in dieser vernetzten Umgebung ist an eine dezentrale Datenspeichervorrichtung 33 angeschlossen. Diese dezentrale Datenspeichervorrichtung 33 ist typischerweise eine Vorrichtung mit großer Kapazität, wie zum Beispiel ein Fest plattenlaufwerk, ein CD-ROM-Laufwerk, ein magnetoptisches Laufwerk oder dergleichen. Der PC 10 ist durch eine Netzwerkschnittstelle 34, die verwendet wird, um über das lokale Netz 12 zu kommunizieren, an den dezentralen Computer 11 angeschlossen. Wie in der 1 gezeigt, ist der PC 10 außerdem durch ein Modem 35, das zum Kommunizieren über das Weitverkehrsnetz 13, wie das Internet, verwendet wird, an den dezentralen Computer 11 angeschlossen. Das Modem 35 ist über eine serielle Anschlussschnittstelle 30 mit dem Systembus 18 verbunden. Das Modem 35 kann außerdem an das öffentlich geschaltete Telefonnetzwerk (PSTN) oder ein Gemeinschaftsantennen-Fernsehnetzwerk (CATV) angeschlossen sein. Obwohl in der Figur als extern zu dem PC 10 dargestellt, werden die Fachleute in dieser Technik schnell erkennen, dass das Modem 35 ebenso intern zu demPC 10 sein kann und so direkt über den Systembus 18 kommuniziert. Es ist wichtig, zu beachten, dass sowohl das lokale Netz 12 als auch das Weitverkehrsnetz 13 nicht erforderlich sind, sondern lediglich alternative Verfahren zum Bereitstellen eines Kommunikationsweges zwischen dem PC 10 und dem dezentralen Computer 11 darstellen.
  • Obwohl andere interne Komponenten des PCs 10 nicht gezeigt werden, werden die Fachleute in dieser Technik anerkennen, dass solche Komponenten und die Zwischenverbindungen zwischen ihnen wohlbekannt sind. Demzufolge müssen zusätzliche Einzelheiten in Bezug auf den internen Aufbau des PCs 10 nicht in Verbindung mit der vorliegenden Erfindung offen gelegt werden.
  • Die Fachleute in dieser Technik werden verstehen, dass die Programmmodule, wie das Betriebssystem 36, die Anwendungsprogramme 37 und die Daten, über eine der lokalen oder dezentralen Datenspeichereinrichtungen, die das Festplattenlaufwerk 20, das Diskettenlaufwerk 23, die CD-ROM 26, den RAM 17, den ROM 16 und die dezentrale Datenspeichervorrichtung 33 umfassen können, an den PC 10 bereitgestellt werden. Die Anwendungsprogramme 37 können eine Anzahl von verschiedenen Programmen, wie zum Beispiel ein Textverarbeitungsprogramm 37a, ein Rechtschreibprüferprogramm 37b und ein Grammatikprüferprogramm 37c umfassen. In einem bevorzugten PC 10 wird das lokale Festplattenlaufwerk 20 verwendet, um Daten und Programme, einschließlich des Betriebssystems und der Betriebsprogramme, zu speichern.
  • Die 2 ist ein vereinfachtes Blockdiagramm, das die Interaktion zwischen der Computerhardware 200, dem Betriebssystem 36 und einem typischen Anwendungsprogramm 37n darstellt. Im Folgenden Bezug nehmend auf sowohl die 1 als auch die 2, weist, wenn der PC 10 eingeschaltet wird oder im Reset-Modus ist, das BIOS (Basic Input/Output System) 19, das in dem ROM 16 gespeichert ist, den PU 14 an, das Betriebssystem 36 von dem Festplattenlaufwerk 20 in den RAM 17 zu laden. Sobald das Betriebssystem 36 in den RAM 17 geladen ist, führt der PU 14 das Betriebssystem 36 aus und veranlasst, dass die der Anwenderschnittstelle des Betriebssystems 36 zugehörigen visuellen Elemente auf dem Monitor 31 angezeigt werden.
  • Das Betriebssystem 36 stellt in Verbindung mit dem BIOS (1) und den zugehörigen Treibern die Basisschnittstelle zwischen den Ressourcen des Computers, dem Anwender und dem Anwendungsprogramm 37n bereit. Das Betriebssystem 36 interpretiert die von dem Anwender ausgegebenen Befehle und führt diese aus. Wenn der Anwender beispielsweise ein Anwendungsprogramm 37a laden möchte, interpretiert das Betriebssystem 36 den Befehl (beispielsweise Doppelklick auf das Piktogramm des Anwendungsprogramms) und veranlasst den PU 14, den Programmcode entweder aus dem lokalen Festplattenlaufwerk 20, dem Diskettenlaufwerk 23, der CD-ROM 26 oder der dezentralen Datenspeichervorrichtung in den RAM 17 zu laden. Sobald das Anwendungsprogramm 37a in den RAM 17 geladen ist, wird es durch den PU 14 ausgeführt. Im Fall von größeren Programmen lädt der PU 14 nach Bedarf verschiedene Teile der Programmmodule in den RAM 17.
  • Wie zuvor erörtert, ist das bevorzugte Ausführungsbeispiel der vorliegenden Erfindung in dem „WORD"-Programm, Version 8.0 ausgeführt, das ausgelegt ist, um in Verbindung mit Microsofts „WINDOWS 95"- oder „WINDOWS NT"-Betriebssystem oder dem Betriebsystem „MacOs", das in von Apple Computer Inc. hergestellten „Macintosh"-Computern verwendet wird, betrieben zu werden. Jedoch ist zu verstehen, dass die Erfindung in anderen Betriebssystemen, wie zum Beispiel dem „WINDOWS 3.1"-Betriebssystem der Microsoft Corporation oder dem „OS/2"-Betriebssystem der IBM Corporation, einfach implementiert werden kann.
  • Das Betriebssystem 36 stellt eine Vielzahl von Funktionen oder Diensten, die es dem Anwendungsprogramm 37a ermöglichen, mit verschiedenen Arten von I/Os einfach um zugehen, bereit. Dies ermöglicht dem Anwendungsprogramm 37n, relativ einfache Funktionsaufrufe auszugeben, die das Betriebssystem 36 veranlassen, die Schritte, die erforderlich sind, um die verschiedenen Aufgaben auszuführen, durchzuführen, wie beispielsweise das Anzeigen von Text auf dem Monitor 31 (1) oder das Drucken von Text auf einem angeschlossenen Drucker (nicht gezeigt). Allgemein beschrieben (unter Bezugnahme auf die 2), kommuniziert das Anwendungsprogramm 37n durch das Aufrufen vordefinierter Funktionen durch das Betriebssystem 36 mit dem Betriebssystem 36. Das Betriebssystem 36 antwortet durch das Bereitstellen der abgeforderten Informationen in einer Nachricht oder durch das Ausführen der abgeforderten Aufgabe.
  • Nach dieser kurzen Beschreibung sollte anerkannt werden, dass Betriebssysteme, wie zum Beispiel das „WINDOWS 95"- und das „WINDOWS NT"-Betriebssystem, ziemlich komplex sind und eine Vielzahl von Diensten bereitstellen, die einem Anwender und Programmen ermöglichen, die in dem PC verfügbaren Ressourcen zu nutzen. Die Fachleute in dieser Technik werden mit den Betriebssystemen und deren verschiedenen Funktionen vertraut sein. Diese Funktionen umfassen, sind jedoch nicht darauf beschränkt, die oben spezifizierten Nachrichten und Funktionen. Für weitergehendes Verständnis in Bezug auf „WINDOWS 95"- und „WINDOWS NT"-Betriebssysteme und ihre Interaktion mit Programmen kann der Leser auf jede einer Vielzahl von Veröffentlichungen, einschließlich „Win32 Programmer's Reference", veröffentlicht von Microsoft Press, und auf „Advanced Windows", veröffentlicht von Microsoft Press, Bezug nahmen.
  • Die gemeinsame Grammatikanwendung-Programmierschnittstelle
  • Das bevorzugte Programmmodul enthält ein Grammatikprüfprogramm-Modul. In dem Kontext der vorliegenden Erfindung involviert die primäre Interaktion zwischen dem bevorzugten Programm und dem Grammatikprüfprogramm-Modul mit der Prüfung der Grammatik verbundene Aufgaben. Das bevorzugte Grammatikprüfprogramm-Modul ist mit der gemeinsamen Grammatikanwendung-Programmierschnittstelle (CGAPI) kompatibel. Die CGAPI ist ausgelegt, um es Programmierern zu erleichtern, Anwendungen zu schreiben, die das Grammatikprüfprogramm-Modul nutzen können, während sie von dem zu Grunde liegenden Grammatikprüfprogramm-Modul unabhängig sind. Die CGAPI stellt Funktionen bereit, die verwendet werden können, um hoch entwickelte Grammatikprüffunktionen mit einer relativ kleinen Codemenge zu implementieren.
  • Es wird anerkannt werden, dass die CGAPI zusätzlich zu denen, die in der oben stehenden kurzen Beschreibung dargestellt wurden, eine große Vielzahl von Merkmalen und Funktionen bereitstellt. Für weitere Informationen in Bezug auf die CGAPI kann der Leser auf die CGAPI-Dokumentation mit dem Titel Gemeinsame Grammatikanwendung-Programmierschnittstelle (CGAPI), die durch die Microsoft Corporation veröffentlicht wurde und die hierin durch Bezugnahme inkorporiert ist, Bezug nehmen.
  • Die gemeinsame Rechtschreibanwendung-Programmierschnittstelle
  • Das bevorzugte Programmmodul enthält ein Rechtschreibprüfprogramm-Modul. In dem Kontext der vorliegenden Erfindung involviert die primäre Interaktion zwischen dem bevorzugten Programm und dem Rechtschreibprüfprogramm-Modul mit der Prüfung der Rechtschreibung verbundene Aufgaben. Das bevorzugte Rechtschreibprüfprogramm-Modul ist mit der gemeinsamen Rechtschreibanwendung-Programmierschnittstelle (CSAPI) kompatibel. Die CSAPI ist ausgelegt, um es Programmierern zu erleichtern, Anwendungen zu schreiben, die das Rechtschreibprüfprogramm-Modul nutzen können, während sie von dem zu Grunde liegenden Rechtschreibprüfprogramm-Modul unabhängig sind. Die CSAPI stellt Funktionen bereit, die verwendet werden können, um hoch entwickelte Rechtschreibprüffunktionen mit einer relativ kleinen Codemenge zu implementieren.
  • Es wird anerkannt werden, dass die CSAPI zusätzlich zu denen, die in der oben stehenden kurzen Beschreibung dargestellt wurden, eine große Vielzahl von Merkmalen und Funktionen bereitstellt. Für weitere Informationen in Bezug auf die CSAPI kann der Leser auf die CSAPI-Dokumentation mit dem Titel Gemeinsame Rechtschreibanwendung-Programmierschnittstelle (CSAPI), die durch die Microsoft Corporation veröffentlicht wurde und die hierin durch Bezugnahme inkorporiert ist, Bezug nehmen.
  • Prüfung der Rechtschreibung und der Grammatik
  • Die meisten Textverarbeitungsprogramm-Module enthalten ein Rechtschreibprüfprogramm-Modul und ein Grammatikprüfprogramm-Modul. Zu jeder Zeit während des Erstellens oder nach dem Erstellen eines Dokuments kann ein Anwender dieser Textverarbeitungsprogramm-Module seine Dokumente prüfen, d. h., die Richtigkeit der Recht schreibung seines Dokuments durch das Ausführen eines Rechtschreibprüfbefehls prüfen. In den früheren Textverarbeitungsprogramm-Modulen hatte der Anwender jedoch einen separaten Grammatikprüfbefehl auszuführen, um das Dokument auf die Grammatik zu prüfen, d. h., die Richtigkeit der Grammatik des Dokuments zu prüfen. Unter Verwendung dieser Textverarbeitungsprogramm-Module mussten zwei Befehle ausgeführt werden, um ein Dokument auf die Rechtschreibung des Dokuments und die Grammatik des Dokuments zu prüfen. Es versteht sich, dass sich das hierin beschriebene Prüfen der Rechtschreibung und der Grammatik eines Dokuments nur auf das Prüfen der Rechtschreibung und der Grammatik in dem „unreinen Text" in einem Dokument bezieht. Unreine Texte bezeichnen Texte, die nicht auf Rechtschreibung und/oder Grammatik geprüft wurden. Unreine Texte werden durch Flags identifiziert, ein Flag für die Prüfung der Rechtschreibung und ein Flag für die Prüfung der Grammatik. Wenn ein Text beispielsweise auf Rechtschreibung und auf Grammatik geprüft wurde, wird er mit einem Rechtschreib-Flag „rein" und einem Grammatik-Flag „rein" versehen, Die Flags zeigen an, dass der Text nicht nochmals durch die Rechtschreibprüf- und Grammatikprüffunktionen geprüft werden muss. Es ist möglich, dass ein Text für die Prüfung der Rechtschreibung „rein" ist und für die Prüfung der Grammatik „unrein" ist. Nachdem der Text für die Prüfung der Rechtschreibung als „rein" markiert ist, ist das Rechtschreibprüfprogramm-Modul in der Lage, diesen Text beim Prüfen der Rechtschreibung auszulassen. Gleichermaßen ist das Grammatikprüfprogramm-Modul, wenn der Text für die Prüfung der Grammatik als „rein" markiert wurde, in der Lage, diesen Text beim Prüfen der Grammatik auszulassen. Weil der „reine" Text keiner Prüfung bedarf, werden die Geschwindigkeit des Rechtschreibprüfprogramm-Moduls und des Grammatikprüfprogramm-Moduls für die Prüfung eines zuvor geprüften Programms erhöht. Die Algorithmen zum Feststellen, wann ein Text als „rein" oder als „unrein" zu markieren ist, sind in der Technik wohlbekannt und eine vollständige Beschreibung geht über den Schutzumfang dieses Dokuments hinaus.
  • In den meisten Textverarbeitungsprogramm-Modulen haben das Rechtschreibprüfprogramm-Modul und das Grammatikprüfprogramm-Modul separate Anwenderschnittstellen oder Dialoge. Die den meisten Rechtschreibdialogen zugehörigen Befehle entsprechen nicht genau den Befehlen der meisten Grammatikdialoge. Der Anwender muss für den Rechtschreibdialog und den Grammatikdialog zwei verschiedene Befehlsgruppen erlernen. Die Zeit und die Anstrengung, die damit verbunden sind, zwei verschiedene Befehlsgruppen zu erlernen, machen es unwahrscheinlicher, dass der Anwender beim Korrigieren eines Dokuments sowohl eine Prüfung der Rechtschreibung als auch eine Prüfung der Grammatik ausführt. Infolgedessen bleiben Fehler unerkannt, die durch das Ausführen sowohl der Prüfung der Rechtschreibung als auch der Prüfung der Grammatik erkannt worden wären.
  • Kurz beschrieben, stellt die Erfindung ein System zum Prüfen der Richtigkeit der Rechtschreibung und der Grammatik eines elektronischen Dokuments bereit. In dem bevorzugten Programm wählt der Anwender den Befehl „Rechtschreibung und Grammatik" über ein Menü, eine Symbolleiste oder die Tastatur aus. Der erste Satz des Dokuments wird lokalisiert und in Reaktion darauf wird jedes Wort in dem ersten Satz durch ein Rechtschreibprüfprogramm-Modul geprüft. Jeder Rechtschreibfehler enthaltende, falls Fehler vorhanden sind, Satz wird dem Benutzer separat in einer kombinierten Rechtschreib- und Grammatik-Bildschirmanzeige auf dem Monitor angezeigt, wobei der Rechtschreibfehler rot angezeigt wird. Wenn in der kombinierten Rechtschreib- und Grammatik-Bildschirmanzeige ein Rechtschreibfehler angezeigt wird, kann der Anwender Befehle eingeben, um das falsch geschriebene Wort zu ändern, den möglichen Rechtschreibfehler zu ignorieren oder weitere Befehle eingeben, wie im Folgenden beschrieben wird.
  • Nachdem die Wörter in dem ersten Satz auf Rechtschreibung geprüft sind und der Anwender die Befehle in Bezug auf die Rechtschreibfehler eingegeben hat, wird die Grammatik des ersten Satzes durch das Grammatikprüfprogramm-Modul auf Fehler geprüft. Wenn grammatische Fehler festgestellt werden, werden diese dem Anwender separat in dem Rechtschreib- und Grammatik-Dialogbereich angezeigt. Für jeden möglichen grammatischen Fehler gibt der Anwender Befehle, Änderungen an dem Satz vorzunehmen, den Satz unverändert zu belassen, oder weitere Befehle, die im Folgenden beschrieben werden, ein.
  • Der Reihe nach wird der nächste Satz zur Prüfung ausgewählt und die Wörter des nächsten Satzes werden einer Prüfung auf Rechtschreibung unterzogen und anschließend wird die Grammatik des Satzes geprüft. Das bevorzugte Programm kann diese oben beschriebenen Aufgaben wiederholen, um das ganze Dokument Satz für Satz zu prüfen, bis das gesamte Dokument geprüft ist.
  • Nachdem die vorliegende Erfindung kurz beschrieben wurde, wird im Folgenden unter Bezugnahme auf die 3 und 4 eine ausführliche Beschreibung der Anwenderschnittstelle oder kombinierten Rechtschreib- und Grammatik-Bildschirmanzeige folgen. Nach dieser Beschreibung der Anwenderschnittstelle folgt unter Bezugnahme auf die 5 bis 8 eine ausführlichere Darstellung des offen gelegten Ausführungsbeispiels.
  • Die 3 und 4 sind Darstellungen eines kombinierten Rechtschreib- und Grammatik-Dialogbereichs, der angezeigt wird, wenn der Benutzer den Befehl „Rechtschreibung und Grammatik" in dem bevorzugten Anwendungsprogramm wählt und anschließend ein möglicher Fehler in dem zu prüfenden Dokument festgestellt wird. Der in der 3 dargestellte kombinierte Rechtschreib- und Grammatik-Dialogbereich ist ein Beispiel des Layouts des kombinierten Rechtschreib- und Grammatik-Dialogbereichs, der in Reaktion auf das Feststellen eines Fehlers durch das Rechtschreibprüfprogramm-Modul angezeigt wird. Der in der 4 dargestellte kombinierte Rechtschreib- und Grammatik-Dialogbereich ist ein Beispiel des Layouts des kombinierten Rechtschreib- und Grammatik-Dialogbereichs für einen Fehler, der durch das Grammatikprüfprogramm-Modul festgestellt wurde.
  • Bezug nehmend auf die 3 und 4, führt der Anwender, wenn ein Anwender des bevorzugten Anwendungsprogramms ein elektronisches Dokument auf Rechtschreibfehler und Grammatikfehler prüfen will, den Befehl „Rechtschreibung und Grammatik" aus. Der Befehl „Rechtschreibung und Grammatik" kann durch das Auswählen eines Befehls aus einem Menü oder von einer Symbolleiste, die auf dem Monitor angezeigt werden, ausgeführt werden. Der Befehl „Rechtschreibung und Grammatik" kann ebenso durch das Eingeben eines Befehls in eine Tastatur ausgeführt werden. In dem bevorzugten Anwendungsprogramm wird auf dem Monitor 31 eine als kombinierter Rechtschreib- und Grammatik-Dialogbereich bezeichnete Anwenderschnittstelle angezeigt, wenn ein möglicher Rechtschreibfehler oder ein Grammatikfehler festgestellt wurde.
  • Der kombinierte Rechtschreib- und Grammatik-Dialogbereich 300, der für die durch das Rechtschreibprüfprogramm-Modul gefundenen Fehler angezeigt wird, wird in der 3 gezeigt. Der kombinierte Rechtschreib- und Grammatik-Dialogbereich enthält eine Fehlertitelzeile 305, einen Satz 307, ein Fetttextbearbeitungs-Kontrollfeld (RTEC) 310, ein falsch geschriebenes Wort 320, einen Grammatikprüfbereich 322 und die Befehlsschaltflächen 325, 330, 335, 340, 345, 350, 355, 360 und 365. Die Befehlsschaltflächen enthalten eine Befehlsschaltfläche „Ignorieren" 325, eine Befehlsschaltfläche „Alle ignorieren" 330, eine Befehlsschaltfläche „hinzufügen" 335, eine Befehlsschaltfläche „Ändern" 340, eine Befehlsschaltfläche „Alle ändern" 345, eine Befehlsschaltfläche „Autokorrektur" 350, eine Befehlsschaltfläche „Optionen" 355, eine Befehlsschaltfläche "Rückgängig" 360 und eine Befehlsschaltfläche „Abbrechen" 365.
  • Wenn durch das Rechtschreibprüfprogramm-Modul ein Fehler in einem Satz festgestellt wird, wird der Typ des gefundenen Fehlers in der Fehlertitelzeile 305 angezeigt. In dem Beispiel in der 3 ist der Fehlertyp ein Rechtschreibfehler und infolgedessen wird in der Fehlertitelzeile „Rechtschreibfehler" angezeigt. Andere Fehlertypen umfassen, sind jedoch nicht darauf beschränkt, „Unzulässige Großschreibung" und „Wiederholtes Wort".
  • Der Satz 307, in dem ein Rechtschreibfehler festgestellt wurde, wird in dem RTEC-Feld 310 angezeigt. In den meisten früheren Rechtschreibprüfer-Anwenderschnittstellen wurde in der Anwenderschnittstelle nur das falsch geschriebene Wort angezeigt. Durch Anzeigen des Satzes anstelle nur des falsch geschriebenen Wortes stellt das bevorzugte Anwendungsprogramm für den Anwender einen Zusammenhang her, in dem entschieden werden kann, ob das als falsch geschrieben festgestellte Wort tatsächlich falsch geschrieben ist oder richtig geschrieben ist. Die Fachleute in dieser Technik werden verstehen, dass einige Wörter, wie zum Beispiel Eigennamen, nicht durch das Rechtschreibprüfprogramm-Modul erkannt werden und mit einem Flag als Rechtschreibfehler versehen werden, obwohl sie richtig geschrieben sind. Durch das Lesen des vollständigen Satzes 307, in dem das falsch geschriebene Wort erscheint, ist der Anwender besser in der Lage, zu bestimmen, ob das Rechtschreibprüfprogramm-Modul ein richtig geschriebenes Wort unangemessen mit einem Flag versehen hat. Zusätzlich kann der Anwender Modifikationen innerhalb des Satzes 307 vornehmen.
  • Weiterhin Bezug nehmend auf die 3, wird ein falsch geschriebenes Wort 315 in einem Satz 307 angezeigt. In dem bevorzugten Anwendungsprogramm-Modul wird das falsch geschriebene Wort in roten, fett gedruckten Schrifttypen gezeigt. Das falsch geschriebene Wort 315 stimmt nicht mit einem der Wörter in den Wörterbüchern des Rechtschreibprüfprogramm-Moduls überein und ist möglicherweise falsch geschrieben.
  • Das falsch geschriebene Wort 315 kann ebenso ein Wort sein, bei dem das Rechtschreibprüfprogramm-Modul ein Problem feststellt, beispielsweise ein Wort, das wiederholt wurde oder das unangemessene Großschreibung aufweist.
  • In dem bevorzugten Anwendungsprogramm wird rechts von dem falsch geschriebenen Wort 315 ein blinkender Cursor (nicht gezeigt) angezeigt. Der blinkende Cursor ermöglicht dem Anwender durch Eintippen in die Tastatur 28, sofortige Änderungen an dem Satz 307 vorzunehmen, ohne zuerst einen Befehl, wie das Klicken der Maus 29, einzugeben, um mit dem Bearbeiten des Satzes zu beginnen.
  • Ein weiterer wichtiger Aspekt des Fetttextbearbeitungs-Kontrollfeldes 310 ist die Bearbeitung des fett gedruckten Textes. Der Satz 307 in dem Fetttextbearbeitungs-Kontrollfeld 310 kann mittels Bearbeitung des Fetttextes auf verschiedene Arten geändert werden. Beispielsweise können die Farbe, die Formatierung, der Schrifttyp usw. des Satzes 307 in dem RTEC-Feld 310, ohne die Prüfung der Rechtschreibung zu verlassen und zu dem bevorzugten Anwendungsprogramm-Modul zurückzukehren, geändert werden.
  • Weiterhin Bezug nehmend auf die 3, enthält der Rechtschreib- und Grammatik-Dialogbereich 300 ein Vorschlagslistenfeld 317. Das Vorschlagslistenfeld 317 enthält eine Vielzahl von Vorschlägen 320 zum Ersetzen des möglichen Rechtschreibfehlers in dem Satz 307. Beispielsweise enthält die Vorschlagsliste 320 in der 3 „engine" und „ensign", um das falsch geschriebene Wort 315 zu ersetzen.
  • Der Rechtschreib- und Grammatik-Dialogbereich 300 enthält außerdem ein Feld „Grammatik prüfen" 322. Das Feld „Grammatik prüfen" 322 kann durch den Anwender gewählt werden, um das Grammatikprüfprogramm-Modul ein- und auszuschalten. Wenn das Grammatikprüfprogramm-Modul eingeschaltet ist, kann der Anwender das Feld „Grammatik prüfen" 322 wählen, um das Grammatikprüfprogramm-Modul auszuschalten. Wenn das Grammatikprüfprogramm-Modul ausgeschaltet ist, kann der Anwender das Feld „Grammatik prüfen" 322 wählen, um das Grammatikprüfprogramm-Modul einzuschalten. Infolgedessen hat der Anwender die Möglichkeit, das Prüfen der Grammatik wahlweise auszuschließen.
  • Der Rechtschreib- und Grammatik-Dialogbereich 300 enthält außerdem eine Vielzahl von Befehlsschaltflächen 325 bis 365, wie bereits erwähnt. Sobald der Rechtschreib- und Grammatik-Dialogbereich 300 angezeigt wird, kann der Anwender eine der Befehlsschaltflächen 325 bis 365, beispielsweise durch das Klicken der Maus 29, wählen. Die Vorgänge, die in Gang gesetzt werden, wenn jede Befehlsschaltfläche ausgewählt wird, werden im Folgenden beschrieben.
  • Wenn der Benutzer die Befehlsschaltfläche „Ignorieren" 325 für einen Rechtschreibfehler auswählt, wird die aktuelle Instanz des falsch geschriebenen Wortes 315 übersprungen und das falsch geschriebene Wort bleibt unverändert. Wenn der Anwender beispielsweise in der 3 die Befehlsschaltfläche „Ignorieren" wählt, bleibt das Wort „engin" unverändert, jedoch würden zukünftige Erscheinungen des Wortes „engine" durch das Rechtschreibprüfprogramm-Modul mit einem Flag versehen werden. Zusätzlich wird, wenn der Anwender die Befehlsschaltfläche „Ignorieren" wählt, die aktuelle Instanz des falsch geschriebenen Wortes 315 für die Rechtschreibung als „rein" markiert. Weiterhin Bezug nehmend auf die 3, ist die Befehlsschaltfläche „Alle ignorieren" 330 unter der Befehlsschaltfläche „Ignorieren" 325 in dem Rechtschreib- und Grammatik-Dialogbereich 300 angeordnet. Wenn der Anwender für einen Rechtschreibfehler die Befehlsschaltfläche „Alle ignorieren" 330 wählt, werden alle Instanzen des falsch geschriebenen Wortes 315, die im Anschluss in dem Dokument (oder in anderen Dokumenten) gefunden werden, von dem Rechtschreibprüfprogramm-Modul übersprungen, bis das Rechtschreibprüfprogramm-Modul verlassen wird. Mit anderen Worten, wird das Rechtschreibprüfprogramm-Modul das Wort „engin" in jedem Dokument, das, solange das Rechtschreibprüfprogramm-Modul in Betrieb bleibt, geprüft wird, nicht als ein falsch geschriebenes Wort mit einem Flag versehen. Jedoch wird das Rechtschreibprüfprogramm-Modul dieses Wort auf andere Fehler, wie zum Beispiel „Wiederholtes Wort" prüfen.
  • Die Befehlsschaltfläche „Hinzufügen" ist in dem Rechtschreib- und Grammatik-Dialogbereich 300 unter der Befehlsschaltfläche „Alle ignorieren" angeordnet. Wenn der Anwender für einen Rechtschreibfehler die Befehlsschaltfläche „Hinzufügen" wählt, dann wird das falsch geschriebene Wort zu dem anwenderspezifischen Wörterbuch hinzugefügt. Das Rechtschreibprüfprogramm-Modul wird dann jede Instanz des falsch geschriebenen Wortes, sogar in anderen Dokumenten als dem vorliegenden Dokument, das auf Rechtschreibung geprüft wird, und selbst dann, wenn das Rechtschreibprüfprogramm-Modul verlassen und neu gestartet wurde, überspringen.
  • Weiterhin Bezug nehmend auf die 3, ist die Befehlsschaltfläche „Ändern" 340 in dem Rechtschreib- und Grammatik-Dialogbereich 300 unter der Befehlsschaltfläche „Hinzufügen" abgeordnet. Wenn der Anwender die Befehlsschaltfläche „Ändern" wählt, wird das falsch geschriebene Wort 315 durch ein Wort, das von dem Anwender aus den Vorschlägen 320 des Vorschlagslistenfeldes 317 ausgewählt wurde, ersetzt. Wenn der Anwender in dem bevorzugten Anwendungsprogramm jedoch in dem Fetttextbearbeitungs-Kontrollfeld Änderungen an dem Satz 307 vorgenommen hat, dann wird das Wählen der Befehlsschaltfläche „Ändern" diese Änderungen in das Dokument einbeziehen. Wenn der Anwender beispielsweise in der 3 den Vorschlag „engine" aus dem Vorschlagslistenfeld 317 gewählt hat und dann die Befehlsschaltfläche „Ändern" wählt, ohne den Satz in dem Fetttextbearbeitungs-Kontrollfeld zu bearbeiten, dann wird das falsch geschriebene Wort „engin" durch den Vorschlag „engine" ersetzt. Wenn jedoch, wieder Bezug nehmend auf die 3, der Anwender den Satz 307 in dem Fetttextverarbeitungs-Kontrollfeld bearbeitet hat, dann wird das Wählen der Befehlsschaltfläche „Ändern" 340 diese Änderungen in das Dokument einbeziehen.
  • Die Befehlsschaltfläche „Alle ändern" ist unter der Befehlsschaltfläche „Ändern" angeordnet. Wenn ein Anwender die Befehlsschaltfläche „Alle ändern" 345 wählt, dann wird jede Erscheinung des falsch geschriebenen Wortes in dem Dokument in den von dem Anwender aus dem Vorschlagslistenfeld 317 ausgewählten Vorschlag 320 geändert. Wenn der Anwender beispielsweise in der 3 „engine" aus dem Vorschlagslistenfeld 317 wählt und die Befehlsschaltfläche „Alle ändern" wählt, dann werden alle Instanzen des Wortes „engin" in dem Dokument in „engine" geändert.
  • Weiterhin Bezug nehmend auf die 3, ist die Befehlsschaltfläche „Autokorrektur" 350 in dem Rechtschreib- und Grammatik-Dialogbereich 300 unter der Befehlsschaltfläche „Alle ändern" 345 angeordnet. Wenn der Benutzer die Befehlsschaltfläche „Autokorrektur" wählt, dann wird jedes Mal, wenn der Anwender ein falsch geschriebenes Wort 315 in das Dokument eintippt (oder in jedes andere Dokument, bis der Anwender die Autokorrektur-Eingabe löscht), das falsch geschriebene Wort automatisch in den Vorschlag 320, den der Anwender aus dem Vorschlagslistenfeld 317 ausgewählt hat, geän dert. Wenn der Anwender beispielsweise in der 3 „engine" aus dem Vorschlagslistenfeld 317 auswählt und anschließend die Befehlsschaltfläche „Autokorrektur" wählt, dann wird jedes Mal, wenn der Anwender das Wort „engin" eintippt, das Wort „engin" automatisch durch „engine" ersetzt, ohne das eine weitere Handlung von Seiten des Anwenders erforderlich ist.
  • Am untersten Ende des Rechtschreib- und Grammatik-Dialogbereichs 300 sind die Befehlsschaltfläche „Optionen", die Befehlsschaltfläche „Rückgängig" und die Befehlsschaltfläche „Abbrechen" angeordnet. Wenn der Anwender die Befehlsschaltfläche „Optionen" 355 wählt, wird ein Optionsdialog angezeigt, so dass der Anwender bestimmte Rechtschreibprüfoptionen, wie zum Beispiel die Prüfung der Rechtschreibung des Dokuments mit dem Hauptwörterbuch, mit dem anwenderspezifischen Wörterbuch oder unter Vernachlässigung von Wörtern mit Großschreibung, auswählen kann. Wenn der Anwender die Befehlsschaltfläche „Rückgängig" 360 wählt, dann wird die letzte durch den Anwender ausgeführte Änderung rückgängig gemacht. Wenn der Anwender die Befehlsschaltfläche „Abbrechen" 365 wählt, dann wird die Korrektursitzung beendet.
  • Wie oben erwähnt, wird, wenn ein Rechtschreibprüfprogramm-Modul einen Fehler feststellt, der Rechtschreib- und Grammatik-Dialogbereich 300 in der 3 angezeigt. Wenn durch das Grammatikprüfprogramm-Modul ein Grammatikfehler festgestellt wird, ändert sich der Rechtschreib- und Grammatik-Dialogbereich geringfügig, wie in der 4 gezeigt. Das Layout des Rechtschreib- und Grammatik-Dialogbereichs ist für die Rechtschreibfehler dasselbe wie für die Grammatikfehler, mit der Ausnahme der Befehlsschaltflächen. Vor der Erörterung der Änderungen der Befehlsschaltflächen, wird der Rest des Rechtschreib- und Grammatik-Dialogbereichs 400 kurz beschrieben, um die Gleichartigkeit der Funktion und des Layouts des Dialogs für Rechtschreibfehler und für Grammatikfehler zu beschreiben.
  • Im Folgenden Bezug nehmend auf die 4, enthält der Rechtschreib- und Grammatik-Dialogbereich 400 eine Fehlertitelzeile 405, die den Typ des grammatischen Fehlers, der durch das Grammatikprüfprogramm-Modul festgestellt wurde, wie zum Beispiel „Subjekt-Verb-Kongruenz", angezeigt. Der Satz 407, in dem ein grammatischer Fehler gefunden wurde, wird in einem RTEC-Feld 410 angezeigt. Das grammatisch falsche Wort oder die grammatisch falschen Wörter 415 wird bzw. werden durch das bevorzugte Anwendungsprogramm in grünen, fettgedruckten Schrifttypen angezeigt.
  • Der Rechtschreib- und Grammatik-Dialogbereich 400 enthält ein Vorschlagslistenfeld 417, das Vorschläge zum Ersetzen des grammatisch falschen Wortes 415 enthält. Der Rechtschreib- und Grammatik-Dialogbereich 400 enthält außerdem ein Feld „Grammatik prüfen" 422 und die Befehlsschaltflächen 455, 460 und 465, die auf die gleiche Art und Weise arbeiten, wie die gleichartigen Elemente 322, 355, 360 und 365, die unter Bezugnahme auf die 3 beschrieben wurden.
  • Wie leicht erkennbar ist, hat der Rechtschreib- und Grammatik-Dialogbereich unabhängig davon, ob der Fehler ein Rechtschreibfehler (3) ist oder ein Grammatikfehler (4) ist, ein gleichartiges Layout. Jedoch sind in den Befehlsschaltflächen in Abhängigkeit davon, ob es sich um einen Rechtschreibfehler oder einen Grammatikfehler handelt, einige geringfügige Unterschiede vorhanden. Für Grammatikfehler enthält der dem Benutzer angezeigte Rechtschreib- und Grammatik-Dialogbereich 400 eine Befehlsschaltfläche „Ignorieren" 425, eine Befehlsschaltfläche „Alle ignorieren" 430 und eine Befehlsschaltfläche „Ändern" 440 in derselben Anordnung wie für Rechtschreibfehler. Jedoch enthält der Rechtschreib- und Grammatik-Dialogbereich 400 für Grammatikfehler keine Befehlsschaltfläche „Alle ändern" und keine Befehlsschaltfläche „Autokorrektur". Zusätzlich ist die Befehlsschaltfläche „Hinzufügen", die für Rechtschreibfehler angezeigt wird, durch eine Befehlsschaltfläche „Nächster Satz" 470 zur Prüfung der Grammatik ersetzt. Die Funktionen der Befehlsschaltfläche „Ignorieren" 425, der Befehlsschaltfläche „Alle ignorieren", der Befehlsschaltfläche „Ändern" 440 und der Befehlsschaltfläche „Nächster Satz" 470 für Grammatikfehler werden im Folgenden unter Bezugnahme auf die 4 beschrieben.
  • Wenn der Anwender die Befehlsschaltfläche „Ignorieren" 425 wählt, dann wird die aktuelle Instanz des Grammatikfehlers übersprungen. In der 4 wird beispielsweise der Subjekt-Verb-Kongruenz-Grammatikfehler „have" übersprungen, wenn durch den Anwender die Befehlsschaltfläche „Ignorieren" 425 ausgewählt wurde. Es sollte eindeutig verstanden werden, dass die der Befehlsschaltfläche „Ignorieren" 425 zugehörige Funktion gleichartig der Funktion für die Befehlsschaltfläche „Ignorieren" 325 ist, die, wenn gewählt, verursacht, dass das Rechtschreibprüfprogramm-Modul die aktuelle Instanz des Rechtschreibfehlers überspringt.
  • Wenn der Anwender die Befehlsschaltfläche „Alle ignorieren" 430 wählt, dann wird jede Instanz des durch die vorhandene Grammatikregel erzeugten grammatischen Fehlers durch das Grammatikprüfprogramm-Modul ignoriert. Wenn der Anwender beispielsweise in der 4 die Befehlsschaltfläche „Alle ignorieren" wählt, dann wird jede Instanz des grammatischen Fehlers, die dieselbe bestimmte Subjekt-Verb-Kongruenz involviert, für dieses Dokument von dem Grammatikprüfprogramm-Modul übersprungen werden. Die mit der Befehlsschaltfläche „Alle ignorieren" 430 verbundene Funktion, ist der Funktion der Befehlsschaltfläche „Alle ignorieren" für die Rechtschreibfehler gleichartig.
  • Wenn ein Anwender die Befehlsschaltfläche „Ändern" 440 wählt, dann wird der grammatische Fehler durch das Wort, das durch den Anwender aus den Vorschlägen in dem Vorschlagslistenfeld 417 ausgewählt wurde, ersetzt. Wenn ein Anwender bei dem bevorzugten Anwendungsprogramm jedoch Änderungen an dem Satz 407 in dem RTEC-Feld 410 vorgenommen hat, dann wird das Auswählen der Befehlsschaltfläche „Ändern" diese Änderungen in das Dokument einbeziehen. Wenn der Anwender in der 4 beispielsweise den Vorschlag „has" aus dem Vorschlagslistenfeld 417 gewählt hat und anschließend die Befehlsschaltfläche „Ändern" 440 wählt, ohne den Satz in dem RTEC-Feld 410 zu bearbeiten, dann wird die aktuelle Instanz des grammatischen Fehlers „have" durch den Vorschlag „has" ersetzt. Wenn jedoch der Anwender, wieder Bezug nehmend auf die 4, den Satz 407 in dem RTEC-Feld 410 bearbeitet hat, dann wird das Auswählen der Befehlsschaltfläche „Ändern" 440 diese Änderungen in das Dokument einbeziehen. Es wird anerkannt werden, dass die mit der Befehlsschaltfläche „Ändern" 440 verbundene Funktion der Funktion für die Befehlsschaltfläche „Ändern" 340 gleichartig ist.
  • Wenn der Anwender die Befehlsschaltfläche „Nächster Satz" 470 wählt, dann ignoriert das Grammatikprüfprogramm-Modul jeden grammatischen Fehler in dem Satz 407. Vorzugsweise werden alle Änderungen, die an dem Satz 407 in dem RTEC-Feld vorgenommen wurden, ebenso in das Dokument einbezogen, wenn der Anwender die Befehlsschaltfläche „Nächster Satz" 470 wählt, weil dies der Vorgang ist, den der Anwender erwartet, wenn er Änderungen an dem Satz in dem RTEC-Feld 410 vornimmt.
  • Wie der vorstehenden Beschreibung entnommen werden kann, muss der Anwender nur einige wenige verschiedene Befehle erlernen, um die Funktionen, die durch den Rechtschreib- und Grammatik-Dialogbereich geboten werden, zu beherrschen, weil die Befehlsschaltflächen für die Rechtschreibfehler und die Grammatikfehler gleichartig sind. Zusätzlich wird anerkannt werden, dass das Layout der Befehlsschaltflächen für den Rechtschreib- und Grammatik-Dialogbereich logisch auf der Gruppierung von Befehlsschaltflächen mit gleichartigen Funktionen basiert. Beispielsweise werden Befehlsschaltflächen, die einen Fehler ignorieren, wie die Befehlsschaltflächen „Ignorieren" 325 und 425, die Befehlsschaltflächen „Alle ignorieren" 330 und 430, die Befehlsschaltfläche „Hinzufügen" 335 und die Befehlsschaltfläche „Nächster Satz" 470, zusammen in dem Rechtschreib- und Grammatik-Dialogbereich angezeigt. Ebenso werden die Befehlsschaltflächen, die den Satz ändern, wie die Befehlsschaltflächen „Ändern" 340 und 440, die Befehlsschaltfläche „Alle ändern" 345 und die Befehlsschaltfläche „Autokorrektur" 350, zusammen in dem Rechtschreib- und Grammatik-Dialogbereich angezeigt.
  • Es wird verstanden werden, dass der Rechtschreib- und Grammatik-Dialogbereich, basierend darauf, ob der angezeigte Fehler ein sich auf die Rechtschreibung beziehender Fehler oder ein sich auf die Grammatik beziehender Fehler ist, automatisch zwischen dem in der 3 gezeigten Layout und dem in der 4 gezeigten Layout wechselt.
  • Die 5 ist ein Ablaufdiagramm, das das bevorzugte Verfahren 550 durch das die Richtigkeit der Rechtschreibung und der Grammatik eines Dokuments geprüft wird, darstellt. Die Fachleute in dieser Technik werden anerkennen, dass die vorliegende Erfindung ein computerimplementierter Prozess ist, der durch den Computer in Reaktion auf eine Eingabe von dem Anwender und von Befehlen, die durch das bevorzugte Anwendungsprogramm-Modul, das bevorzugte Rechtschreibprüfprogramm-Modul und das bevorzugte Grammatikprüfprogramm-Modul bereitgestellt werden, ausgeführt wird.
  • Das Verfahren 50 beginnt mit dem Anfangsschritt 505 und geht zu dem Schritt 510 weiter, wenn der Anwender den Befehl „Rechtschreibung und Grammatik" wählt. Wie oben beschrieben, wählt der Anwender den Befehl „Rechtschreibung und Grammatik", wenn der Anwender ein elektronisches Dokument auf Rechtschreibfehler und auf Grammatikfehler prüfen will. In dem bevorzugten Anwendungsprogramm kann der Befehl "Rechtschreibung und Grammatik" aus einem Menü oder aus einer Symbolleiste der Anwen derschnittstelle, die auf dem Monitor 31 angezeigt werden, ausgewählt werden. Üblicherweise kann der Anwender den Cursor über der erwünschten Befehlsschaltfläche oder dem Menüelement positionieren und anschließend durch das Klicken der Maus auswählen. Der Befehl „Rechtschreibung und Grammatik" kann ebenso durch das Eingeben eines Befehls auf der Tastatur 28 ausgeführt werden.
  • In dem Schritt 510 wird ein Satz aus dem Dokument extrahiert. Vorzugsweise wird der Satz durch das Unterteilen des Dokuments in Sätze extrahiert. Die Fachleute in dieser Technik werden diesen Vorgang als Herausbrechen der Sätze kennen. Kurz beschrieben, involviert das Herausbrechen der Sätze das Finden des Anfangs und des Endes eines Satzes in einem Textpuffer. Das Herausbrechen von Sätzen ist oft erforderlich, weil Grammatikprüfprogramm-Module oft einen einzelnen vollständigen Satz zum Prüfen der Grammatik benötigen. Die meisten Textverarbeitungsprogramm-Module enthalten die Funktion ein Dokument durch Herausbrechen von Sätzen in Sätze zu unterteilen. Vorzugsweise wird jedoch das Herausbrechen von Sätzen durch das Rechtschreibprüfprogramm-Modul durchgeführt, wie unter Bezugnahme auf die 6 zur Gänze beschrieben werden wird.
  • Nachdem der Satz in dem Schritt 510 extrahiert wurde, wird der Satz in dem Schritt 515 auf Rechtschreibung geprüft. Nachdem der Satz in dem Schritt 515 auf Rechtschreibung geprüft wurde, wird in einem Entscheidungsschritt 517 festgestellt, ob der Satz auf Grammatik geprüft wird. Wenn der Anwender das Feld „Grammatik prüfen" 322 gelöscht hat, so dass kein „X" in dem Feld „Grammatik prüfen" sichtbar ist, dann hat der Anwender die Grammatikprüffunktion deaktiviert und der Satz wird nicht auf Grammatik geprüft. Das Verfahren geht von dem Entscheidungsschritt 517 zu dem Schritt 525 weiter. Infolgedessen ist der Anwender mit der Fähigkeit versehen, das Prüfen der Grammatik, falls erwünscht, auszuschließen.
  • Wenn der Benutzer jedoch das Feld „Grammatik prüfen" 322 kontrolliert hat und in dem Entscheidungsschritt 517 in dem Feld „Grammatik prüfen" ein „X" sichtbar ist, dann wird der Satz in dem Schritt 520 auf Grammatik geprüft. Sobald der Satz in dem Schritt 520 auf Grammatik geprüft wurde, wird in dem Entscheidungsschritt 525 festgestellt, ob mehr Text in dem Dokument ist, der zu prüfen ist. Wenn mehr Text in dem Dokument ist, der zu prüfen ist, dann geht das Verfahren zu dem Schritt 510 zurück und ein weite rer Satz wird extrahiert. Wenn kein weiterer Text, der zu prüfen ist, vorhanden ist, dann endet das Verfahren in dem Schritt 530. Eine ausführlichere Darstellung der Schritte des bevorzugten Verfahrens wird unten unter Bezugnahme auf die 6 bis 8 erfolgen.
  • Die 6 ist ein Ablaufdiagramm, das den bevorzugten Prozess zum Ausführen des Schrittes 510 in der 5 darstellt, d. h. das Extrahieren eines Satzes aus dem Dokument. Bezug nehmend auf die 6, beginnt das Verfahren mit dem Schritt 605, wenn der Anwender den Befehl „Rechtschreibung und Grammatik" wählt und das Grammatikprüfprogramm-Modul aufgerufen wird, um die Grammatikprüfsitzung zu initiieren. Das Grammatikprüfprogramm-Modul wird vorzugsweise durch das bevorzugte Anwendungsprogramm aufgerufen. Wie oben erörtert, werden die Befehle an das Grammatikprüfprogramm-Modul vorzugsweise durch die Verwendung von Funktionen erteilt, die in der gemeinsamen Grammatikanwendung-Programmierschnittstelle (CGAPI), von der Microsoft Corporation, Redmond Washington veröffentlicht, beschrieben werden. Die bevorzugte CGAPI-Funktion zum initiieren einer Grammatikprüfsitzung ist Gramlnit.
  • Nachdem das Rechtschreibprüfprogramm-Modul in dem Schritt 605 aufgerufen ist und eine Grammatikprüfsitzung initiiert ist, wird in dem Schritt 610 ein Textpuffer des Dokuments, das korrigiert wird, zu dem Grammatikprüfprogramm-Modul übertragen.
  • In dem Schritt 651 stellt das Grammatikprüfprogramm-Modul den Anfang und das Ende eines Satzes aus dem Textpuffer, der in dem Schritt 610 an das Grammatikprüfprogramm-Modul übertragen wurde, fest. Der Satz, der durch das Grammatikprüfprogramm-Modul lokalisiert ist, ist der Satz, der auf Rechtschreibung und auf Grammatik geprüft wird. Die Fachleute in dieser Technik werden verstehen, dass zum Lokalisieren die CGAPI-Funktion GramCheck initiiert wird. Anschließend wird ein Argument, das als „Grammatikprüfungs-Befehlscode" bezeichnet wird, aufgerufen oder gcc wird initialisiert, welches das Anwendungsprogrammmodul zwischen Aufgaben, wie Puffer prüfen, Satzgrenzen berichten, Statistiken erzeugen usw., wählen lässt. In Reaktion auf den Grammatikprüfungs-Programmcode sendet das Grammatikprüfprogramm-Modul in dem Schritt 620 Satzindizes, die den Anfangspunkt und den Endpunkt des Satzes anzeigen, an das bevorzugte Anwendungsprogrammmodul.
  • Die Fachleute in dieser Technik werden selbstverständlich verstehen, dass der oben unter Bezugnahme auf die Schritte 605 bis 620 beschriebene Prozess ein Prozess des Herausbrechens von Sätzen ist. Vorzugsweise wird das Herausbrechen von Sätzen durch das Grammatikprüfprogramm-Modul durchgeführt, wie oben beschrieben. Jedoch kann das Herausbrechen von Sätzen in einer anderen Art und Weise durchgeführt werden, so zum Beispiel von dem bevorzugten Anwendungsprogramm-Modul.
  • Bezug nehmend auf die 5, wird der Satz, nachdem der Satz aus dem Dokument extrahiert ist, in einem Schritt 515 auf Rechtschreibung überprüft. Die bevorzugten Schritte für den Prozess 515 des Prüfens der Rechtschreibung sind in dem Ablaufdiagramm der 7 dargestellt.
  • Bezug nehmend auf die 7, wird in dem Schritt 705 das Rechtschreibprüfprogramm-Modul aufgerufen und eine Rechtschreibprüfsitzung wird initiiert. Vorzugsweise wird das Rechtschreibprüfprogramm-Modul durch das bevorzugte Anwendungsprogramm-Modul aufgerufen. Wie oben erörtert, werden die Befehle an das Rechtschreibprüfprogramm-Modul vorzugsweise durch die Verwendung von Funktionen erteilt, die in der gemeinsamen Rechtschreibanwendung-Programmierschnittstelle (CSAPI), von der Microsoft Corporation, Redmond Washington veröffentlicht, beschrieben werden. Die bevorzugte CSAPI-Funktion zum initiieren einer Rechtschreibprüfsitzung ist Spelllnit.
  • Weiter Bezug nehmend auf die 7, wird in dem Schritt 710 ein Wort in dem Satz an das Rechtschreibprüfprogramm-Modul gesendet. Die Fachleute in dieser Technik werden verstehen, dass das bevorzugte Anwendungsprogramm-Modul in der Lage ist, die Wörter in einem Satz basierend auf den Leerzeichen und anderen Zeichensetzungen (beispielsweise Trennstrichen, Bindestrichen usw.) zwischen den Wörtern in einem Satz festzustellen. Das bevorzugte Anwendungsprogramm-Modul sendet dann ein Wort des Satzes an das Rechtschreibprüfprogramm-Modul. Das erste Wort des Satzes wird an das Rechtschreibprüfprogramm-Modul gesendet und nachdem das vorhergehende Wort geprüft wurde, wird der Reihe nach jedes darauf folgende Wort in dem Satz an das Rechtschreibprüfprogramm-Modul gesendet. Es wird von den Fachleuten in dieser Technik anerkannt werden, dass es in einigen Fällen vorzuziehen ist, den gesamten Satz zum Prüfen der Rechtschreibung der Wörter in dem Satz an das Rechtschreibprüfprogramm-Modul zu senden. In dem Fall, in dem der ganze Satz zu dem Rechtschreib prüfprogramm-Modul gesendet wird, kann das Rechtschreibprüfprogramm-Modul den Satz, basierend auf den Leerzeichen und anderen Zeichensetzungen zwischen den Wörtern in dem Satz, in Wörter brechen.
  • In dem Schritt 715 prüft das Rechtschreibprüfprogramm-Modul die Richtigkeit der Rechtschreibung des Wortes. Ein Rechschreibprüferprogramm enthält ein Standardwörterbuch mit einem Verzeichnis von Wörtern, die in einem Standardwörterbuch gefunden werden. Zusätzlich enthalten Rechtschreibprüfprogramm-Module typischerweise anwenderspezifische Wörterbücher. Diese anwenderspezifischen Wörterbücher enthalten Ausdrücke, die durch den Anwender eines Rechtschreibprüfprogramm-Moduls eingegeben wurden, wie Spezialausdrücke, Akronyme, Abkürzungen und andere durch den Anwender eingegebene Ausdrücke. Wie in der Technik wohlbekannt, prüft das Rechtschreibprüfprogramm-Modul das Wort durch das Vergleichen des Wortes mit dem Verzeichnis des Standardwörterbuches und des anwenderspezifischen Wörterbuches. Wenn eines der Wörter nicht den Wörtern in dem Standardwörterbuch oder dem anwenderspezifischen Wörterbuch entspricht, kennzeichnet das Rechtschreibprüfprogramm-Modul dieses Wort mit einem Flag als ein mögliches falsch geschriebenes Wort. Zusätzlich zu dem Prüfen der Rechtschreibung des Wortes in dem Schritt 715 prüfen die meisten Rechtschreibprüfprogramm-Module ebenso auf Richtigkeit des Wortes, wie zum Beispiel, ob ein Wort wiederholt wurde, oder, ob ein Wort eine unangemessene Großschreibung aufweist.
  • Vorzugsweise prüft das Rechtschreibprüfprogramm-Modul die Richtigkeit der Rechtschreibung des Wortes in dem Schritt 715 in Reaktion auf eine CSAPI-Funktion aus dem bevorzugten Anwendungsprogramm-Modul. Die bevorzugte CSAPI-Funktion zum Prüfen der Rechtschreibung eines Wortes oder mehrerer Wörter ist SpellCheck.
  • Nachdem das Rechtschreibprüfprogramm-Modul die Richtigkeit der Rechtschreibung des Wortes geprüft hat, sendet das Rechtschreibprüfprogramm-Modul in dem Schritt 720 Rechtschreibdaten an das bevorzugte Anwendungsprogramm-Modul. Die Rechtschreibdaten zeigen an, ob das Wort, das in dem Schritt 710 zu dem Rechtschreibprüfer gesendet wurde, einem Wort in einem Wörterbuch des Rechtschreibprüfprogramm-Moduls entspricht. Das bevorzugte Anwendungsprogramm-Modul empfängt die Rechtschreibdaten von dem Rechtschreibprüfprogramm-Modul.
  • Bei der Entscheidung in dem Schritt 725 überprüft das bevorzugte Anwendungsprogramm-Modul die Rechtschreibdaten, um festzustellen, ob das Wort befriedigend ist. Vorzugsweise sind die Rechtschreibdaten Binärdaten, die entweder anzeigen, dass das Wort befriedigend ist oder nicht befriedigend ist. Wenn die Rechtschreibdaten anzeigen, dass das Wort nicht befriedigend ist, dann geht das Verfahren zu dem Schritt 730 weiter.
  • In dem Schritt 730 konsultiert das bevorzugte Anwendungsprogramm-Modul eine Struktur, die als Rechtschreibprüfungs-Antwortstatusfeld bezeichnet wird, in einem Rechtschreibungs-Antwortpuffer (SRB), um den Typ des Rechtschreibfehlers festzustellen. Wenn die CSAPI-Funktion SpellCheck aufgerufen ist, kehrt das Rechtschreibprüfprogramm-Modul zu dem SRB zurück. Der SRB enthält ein Feld, das als Rechtschreibprüfungs-Antwortstatus (SCRS) bezeichnet wird. Der SCRS ist ein ganzzahliger Code, den das Anwendungsprogramm-Modul konsultiert, um die Fehlertypinformation festzustellen. Die Fehlertypinformation zeigt den Typ des Rechtschreibfehlers, der durch das Rechtschreibprüfprogramm-Modul festgestellt wurde, an. Die meisten Rechtschreibprüfprogramm-Module sind in der Lage, mögliche Fehler, wie zum Beispiel „Wort nicht im Wörterbuch", „Wiederholtes Wort" und „Großschreibung°, festzustellen. Nach dem Empfangen der Fehlertypinformation in dem Schritt 730 konsultiert das Rechtschreibprüfprogramm-Modul in dem Schritt 735 einen weiteren Teil des SRBs, um einen String-Puffer, der Vorschläge aus dem Rechtschreibprüfprogramm-Modul enthält, zu lokalisieren. Die Vorschläge sind die Informationen, die in dem Vorschlagslistenfeld 317 angezeigt werden, wie in der 3 gezeigt.
  • Nach dem Empfangen der Vorschläge aus dem Rechtschreibprüfprogramm-Modul in dem Schritt 735 zeigt das Rechtschreibprüfprogramm-Modul den Rechtschreib- und Grammatik-Dialogbereich, wie in der 3 gezeigt, an. Der gesamte Satz, in dem der mögliche Rechtschreibfehler erscheint, wird in dem Rechtschreibprüfprogramm-Modul in roten, fett gedruckten Schrifttypen angezeigt. Die in dem Schritt 735 empfangenen Vorschläge werden in dem Vorschlagslistenfeld 317 angezeigt, wie in der 3 gezeigt.
  • Die in dem Schritt 730 empfangene Fehlertypinformation wird in der Fehlertitelzeile 305 angezeigt, wie in der 3 gezeigt.
  • In dem Schritt 745 wird die Eingabe des Anwenders empfangen. Der Anwender gibt durch das Auswählen einer der Befehlsschaltflächen 325, 330, 335, 340, 345, 350, 355, 360 oder 365, die unter Bezugnahme auf die 3 beschrieben wurden, einen Befehl ein. Das bevorzugte Anwendungsprogramm-Modul führt in Reaktion auf das Wählen des Anwenders einer dieser Befehlsschaltflächen die angemessenen Schritte aus.
  • Nachdem der Anwender in Schritt 745 einen Befehl eingegeben hat und das bevorzugte Anwendungsprogramm-Modul in Reaktion darauf die angemessenen Schritte ausführt, geht das Verfahren weiter zu dem Entscheidungsschritt 750. Zurückkehrend zu dem Schritt 725, geht das Verfahren weiter zu dem Schritt 750, wenn das Wort als befriedigend festgestellt wurde.
  • Es sollte verstanden werden, dass nachdem in dem Schritt 745 die Eingabe des Anwenders empfangen wurde, das Wort nochmals unter Verwendung der Methode, die in den Schritten 705 bis 745 dargelegt wurde, geprüft werden kann. Dies ermöglicht dem Rechtschreibprüfprogramm-Modul, wiederholte Wörter mit einem Flag zu versehen oder ein durch den Anwender eingegebenes Wort nochmals zu prüfen.
  • In dem Entscheidungsschritt 750 wird festgestellt, ob ein weiteres Wort in dem Satz ist, das auf Rechtschreibung zu prüfen ist. Wenn das bevorzugte Anwendungsprogramm-Modul feststellt, dass in dem Satz ein weiteres Wort, das auf Rechtschreibung zu prüfen ist, vorhanden ist, dann kehrt das Verfahren zu dem Schritt 710 zurück. Wenn festgestellt ist, dass keine weiteren Wörter in dem Satz auf Rechtschreibung zu prüfen sind, dann geht das Verfahren weiter zu dem Schritt 520 in der 5, um den Satz auf Grammatik zu prüfen. Es ist wichtig, zu beachten, dass das Prüfen auf Rechtschreibung vorzugsweise abgeschlossen ist, bevor ein Satz auf Grammatik geprüft wird. Dies deshalb, weil die meisten Grammatikprüfprogramm-Module einen Satz mit richtig geschriebenen Wörtern benötigen, um die Wörter zu erkennen und um zu bestimmen, ob diese Wörter Substantive, Verbe, Adjektive, Adverbien usw. sind.
  • Bezug nehmend auf die 5, wird der Satz in dem Schritt 520 auf Grammatik geprüft. Der bevorzugte Prozess zum Prüfen der Grammatik eines Satzes ist in dem Ablaufdiagramm der 8 dargestellt. Bezug nehmend auf die 8, wird das Grammatikprüfprogramm-Modul in dem Schritt 808 aufgerufen und eine Grammatikprüfsitzung wird initiiert. Vorzugsweise wird das Grammatikprüfprogramm-Modul durch das bevorzugte Anwendungsprogramm-Modul aufgerufen. Wie oben erörtert, werden die Befehle an das Grammatikprüfprogramm-Modul vorzugsweise durch die Verwendung von Funktionen erteilt, die in der gemeinsamen Grammatikanwendung-Programmierschnittstelle (CGA-PI), von der Microsoft Corporation, Redmond, Washington veröffentlicht, beschrieben werden. Die bevorzugte CGAPI-Funktion zum Initiieren einer Grammatikprüfsitzung ist Gramlnit.
  • In dem Schritt 810 wird der Satz an das Grammatikprüfprogramm-Modul gesendet. Es ist wichtig zu beachten, dass der an das Grammatikprüfprogramm-Modul gesendete Satz alle Änderungen, die an dem Satz in dem Rechtschreibprüfvorgang, der unter Bezugnahme auf die 7 beschrieben wurde, vorgenommen wurden, enthält. Wenn der Satz beispielsweise ursprünglich „The boy is sikc." war und in dem Rechtschreibprüfvorgang in „The boy is sick." geändert wurde, dann würde in dem Schritt 810 der korrigierte Satz „The boy is sick." an das Grammatikprüfprogramm-Modul gesendet werden.
  • In dem Schritt 815 prüft das Grammatikprüfprogramm-Modul die Richtigkeit der Grammatik des Satzes. Wie in der Technik wohlbekannt, prüft ein Grammatikprüfprogramm-Modul die Richtigkeit der Grammatik eines Satzes durch das Anwenden üblicher Grammatikregeln, wie zum Beispiel der Subjekt-Verb-Kongruenz. Wenn der Satz gegen eine der Regeln in dem Grammatikprüfprogramm-Modul verstößt, dann versieht das Grammatikprüfprogramm-Modul diesen Satz mit einem Flag als einen Satz, der möglicherweise grammatisch falsch ist.
  • Vorzugsweise prüft das Grammatikprüfprogramm-Modul in dem Schritt 815 die Richtigkeit der Grammatik des Satzes in Reaktion auf eine CGAPI-Funktion aus dem bevorzugten Anwendungsprogramm-Modul. Die CGAPI-Funktion zum Prüfen der Grammatik eines Satzes ist GramCheck.
  • Nachdem das Grammatikprüfprogramm-Modul die Richtigkeit der Grammatik des Satzes geprüft hat, sendet das Grammatikprüfprogramm-Modul in dem Schritt 820 Grammatikdaten an das bevorzugte Anwendungsprogramm-Modul. Die Grammatikdaten zeigen an, ob einer der in dem Schritt 810 an den Grammatikprüfer gesendeten Sätze gegen eine Grammatikregel des Grammatikprüfers verstößt oder nicht verstößt. Das be vorzugte Anwendungsprogramm-Modul empfängt die Grammatikdaten von dem Grammatikprüfprogramm-Modul.
  • Weiterhin Bezug nehmend auf die 8, überprüft das bevorzugte Anwendungsprogramm-Modul in dem Entscheidungsschritt 825 die Grammatikdaten, um festzustellen, ob der Satz befriedigend ist. Das bevorzugte Anwendungsprogramm-Modul stellt fest, ob während der Grammatikprüfsitzung Fehler gefunden wurden. Wenn in der Grammatikprüfsitzung grammatische Fehler gefunden worden sind, dann geht das Verfahren zu dem Schritt 830 weiter.
  • In dem Schritt 830 fordert das bevorzugte Anwendungsprogramm-Modul von dem Grammatikprüfprogramm-Modul die Grammatikfehler-Typinformation ab und empfängt diese. Die CGAPI-Funktion zum Abfordern von Information über den Typ des Grammatikfehlers ist GramGetError. Vorzugsweise sendet die GramGetError-Funktion einen Fehlerpuffer (GEB), der die Grammatikfehler-Typinformation und Vorschläge enthält, zurück. Die Grammatikfehler-Typinformation wird durch das Lesen eines Feldes, das durch das Grammatikprüfprogramm-Modul eingerichtet ist, um den Typ des Fehlers, der durch das Grammatikprüfprogramm-Modul gefunden wurde, zu entsprechen, bestimmt. Beispielsweise stellen die meisten Grammatikprüfprogramm-Module mögliche Fehler, wie zum Beispiel eine „Subjekt-Verb-Kongruenz" fest. Um dem Typ des grammatischen Fehlers in dem Dokument zu bestimmen, wird durch das Grammatikprüfprogramm-Modul ein Feld zur Werteunterscheidung eingerichtet.
  • Nach dem Empfangen der Information über den Typ des Grammatikfehlers in dem Schritt 830 konsultiert das bevorzugte Anwendungsprogramm-Modul in einem Schritt 835 die Grammatikvorschläge in dem GEB. Die Grammatikvorschläge sind die Informationen, die in dem Vorschlagslistenfeld 417, das in der 4 gezeigt ist, angezeigt werden.
  • Nach dem Empfangen der Grammatikvorschläge aus dem Grammatikprüfprogramm-Modul zeigt in dem Schritt 840 das bevorzugte Anwendungsprogramm-Modul den Rechtschreib- und Grammatik-Dialogbereich, wie in der 4 gezeigt, an. Der gesamte Satz, in dem der Grammatikfehler erscheint, wird angezeigt. Das Wort, in dem der mögliche Grammatikfehler erscheint, wird durch das bevorzugte Anwendungspro gramm-Modul in grünen, fett gedruckten Schrifttypen angezeigt. Die in dem Schritt 835 empfangenen Vorschläge 420, werden in dem Vorschlagslistenfeld 417 angezeigt.
  • In dem Schritt 845 werden von dem Anwender eingegebene Befehle empfangen. Die Eingabe ist ein Befehl einer der Befehlsschaltflächen 425, 430, 440, 455, 460, 465 oder 470, die unter Bezugnahme auf die 4 beschrieben wurden. Das bevorzugte Anwendungsprogramm-Modul führt in Reaktion auf das Wählen einer der Befehlsschaltflächen die angemessenen Schritte aus, wie im Zusammenhang mit der 4 beschrieben.
  • In dem Entscheidungsschritt 850 wird festgestellt, ob in dem Satz weitere grammatische Fehler vorhanden sind. Wenn weitere grammatische Fehler in dem Satz vorhanden sind, dann kehrt das Verfahren zu dem Schritt 830 zurück. Wenn keine weiteren grammatischen Fehler in dem Satz sind, dann geht das Verfahren zu dem Schritt 525 der 5 weiter.
  • Die vorliegende Erfindung nutzt Leerlaufzeit-Rechtschreibprüfen. Gemäß einem besonderen Ausführungsbeispiel nutzt sie ebenso Leerlaufzeit-Grammatikprüfen. Leerlaufzeit-Prüfen bezieht sich auf den Vorgang des Prüfens eines Dokuments auf Fehler während des Wartens auf die Befehlseingabe eines Anwenders. Wenn das Rechtschreibprüfprogramm-Modul beispielsweise einen Rechtschreibfehler feststellt, wird dem Anwender der Rechtschreib- und Grammatik-Dialogbereich angezeigt. Während des Wartens auf eine Reaktion von dem Anwender, d. h. eine Befehlseingabe, wird das Rechtschreibprüfprogramm-Modul den Rest des Satzes auf Fehler überprüfen. Während dieser Leerlaufzeit können weitere Teile des Satzes überprüft werden und der Vorgang des Prüfens des Dokuments nimmt weniger Zeit in Anspruch.
  • Für den Fachmann in dieser Technik wird aus der vorhergehenden Beschreibung offensichtlich, dass die Erfindung ein verbessertes System zum Prüfen der Rechtschreibung und der Grammatik eines elektronischen Dokuments bereitstellt. Um das Dokument zu prüfen, hat der Anwender einfach nur einen Befehl auszuführen. Zusätzlich stellt die vorliegende Erfindung eine verbesserte Anwenderschnittstelle (den Rechtschreib- und Grammatik-Dialogbereich) bereit. Der Anwender hat sich lediglich mit wenigen Befehlen in dem Rechtschreib- und Grammatik-Dialogbereich vertraut zu machen, um Recht schreib- und Grammatikfehler zu finden und diese zu korrigieren. Zusätzlich ist das Layout der Befehlsschaltfläche für den Rechtschreib- und Grammatik-Dialogbereich, durch Gruppieren von Befehlen, basierend auf gemeinsam genutzten Funktionen, logisch angeordnet.
  • Obwohl die vorliegende Erfindung in Zusammenhang mit einem Rechtschreibprüfprogramm-Modul und einem Grammatikprüfprogramm-Modul beschrieben wurde, sollte verstanden werden, dass die Erfindung mit anderen „Dokumentprüfwerkzeugen", wie zum Beispiel einem Konsistenzprüfprogramm-Modul oder einem Schreibstilprüfprogramm-Modul, implementiert werden kann. Beispielsweise könnten das Rechtschreibprüfprogramm-Modul und das Schreibstilprüfprogramm-Modul so implementiert werden, dass auf Rechtschreib- und die Stilfehler geprüft wird und die durch diese Programmmodule festgestellten Fehler in einem kombinierten Dialogbereich angezeigt werden.

Claims (10)

  1. Verfahren zum Prüfen der Richtigkeit der Rechtschreibung und der Grammatik einer Vielzahl von Sätzen in einem Dokument in einem elektronischen Textverarbeitungssystem (10, 37A) zum Erzeugen und zum Editieren des Dokuments, das Verfahren umfasst die folgenden Schritte: (a) Extrahieren (510) eines der Vielzahl von Sätzen aus dem Dokument, wobei der eine der Vielzahl von Sätzen aus dem Dokument eine Vielzahl von Wörtern umfasst, (b) Feststellen (715-725), ob eines der Vielzahl von Wörtern ein falsch geschriebenes Wort (315) ist, (c) wenn eines der Vielzahl von Wörtern ein falsch geschriebenes Wort ist, Warten auf eine Befehlseingabe, die eine Änderung des falsch geschriebenen Wortes oder eine Akzeptierung des falsch geschriebenen Wortes anzeigt, (d) während des Wartens auf eine Befehlseingabe, Feststellen, ob eines der restlichen von der Vielzahl von Wörtern in dem einen der Vielzahl von Sätzen ein falsch geschriebenes Wort ist, (e) Feststellen (517), ob ein Grammatikprüfprogramm-Modul aktiviert ist, und (f) wenn das Grammatikprüfprogramm-Modul aktiviert ist, Prüfen (520) der Grammatik des einen der Vielzahl von Sätzen in dem Grammatikprüfprogramm-Modul in Reaktion auf die Prüfung der Rechtschreibung der Vielzahl von Wörtern und Anzeigen sowohl der Rechtschreib- als auch der Grammatikfehler in einem kombinierten Rechtschreib- und Grammatik-Dialogbereich (300, 400).
  2. Verfahren nach Anspruch 1, des Weiteren den Schritt des Wiederholens der Aufgaben (a)-(f) umfassend, bis die Rechtschreibung und die Grammatik jeder der Vielzahl von Sätzen in dem Dokument geprüft sind.
  3. Verfahren nach Anspruch 1, des Weiteren die folgenden Schritte umfassend: wenn eines der Vielzahl von Wörtern ein falsch Beschriebenes Wort ist, dann Bereitstellen (740) einer Anzeige des falsch geschriebenen Wortes (315) in dem kombinierten Rechtschreib- und Grammatik-Dialogbereich (300) und Empfangen (745) einer Befehlseingabe, die eine Änderung des falsch geschriebenen Wortes oder eine Akzeptierung des falsch geschriebenen Wortes anzeigt.
  4. Verfahren nach Anspruch 1, des Weiteren die folgenden Schritte umfassend: (g) Aufrufen (705) eines Rechtschreibprüfprogramm-Moduls, (h) Übertragen (710) eines der Vielzahl von Wörtern zu dem Rechtschreibprüfprogramm-Modul, (i) Empfangen (720) der Rechtschreibdaten von dem Rechtschreibprüfprogramm-Modul, wobei die Rechtschreibdaten anzeigen, ob die Rechtschreibung des einen der Vielzahl von Wörtern zufriedenstellend ist, (j) wenn die Rechtschreibdaten anzeigen, dass das eine der Vielzahl von Wörtern nicht zufriedenstellend ist, dann: Empfangen (730) einer Rechtschreibfehler-Typinformation von dem Rechtschreibprüfprogramm-Modul, Anzeigen (740) der Rechtschreibfehler-Typinformation in dem kombinierten Rechtschreib- und Grammatik-Dialogbereich, Empfangen (745) einer Befehlseingabe, die eine Änderung des falsch geschriebenen Wortes oder eine Akzeptierung des falsch geschriebenen Wortes anzeigt, (k) Wiederholen der Schritte (g)-(j), bis alle der Vielzahl von Wörtern in dem einen der Vielzahl von Sätzen auf Rechtschreibung geprüft sind.
  5. Verfahren nach Anspruch 1, des Weiteren die folgenden Schritte umfassend: (g) Aufrufen (705) eines Rechtschreibprüfprogramm-Moduls, (h) Übertragen (710) wenigstens eines der Vielzahl von Wörtern zu dem Rechtschreibprüfprogramm-Modul, (i) Empfangen (720) der Rechtschreibdaten von dem Rechtschreibprüfprogramm-Modul, wobei die Rechtschreibdaten anzeigen, ob die Rechtschreibung des wenigstens einen der Vielzahl von Wörtern zufriedenstellend ist, (j) wenn die Rechtschreibdaten anzeigen, dass das wenigstens eine der Vielzahl von Wörtern nicht zufriedenstellend ist, dann: Empfangen (730) einer Rechtschreibfehler-Typinformation von dem Rechtschreibprüfprogramm-Modul, Empfangen (735) wenigstens eines Vorschlags von dem Rechtschreibprüfprogramm-Modul, Anzeigen (740) der Rechtschreibfehler-Typinformation und des wenigstens einen Vorschlags in dem kombinierten Rechtschreib- und Grammatik-Dialogbereich, Empfangen (745) einer Befehlseingabe, die eine Änderung des falsch geschriebenen Wortes oder eine Akzeptierung des falsch geschriebenen Wortes anzeigt und (k) Wiederholen der Schritte (g)-(j), bis alle der Vielzahl von Wörtern in dem einen der Vielzahl von Sätzen auf Rechtschreibung geprüft sind.
  6. Verfahren nach Anspruch 1, wobei der Schritt des Prüfens (520) der Grammatik des einen der Vielzahl von Sätzen die folgenden Schritte umfasst: Feststellen (815-825), ob der eine der Vielzahl von Sätzen (407) grammatisch richtig ist, wenn der Satz grammatisch nicht richtig ist, dann Bereitstellen (840) einer Anzeige eines Teils (415) des Satzes, der grammatisch nicht richtig ist, in dem kombinierten Rechtschreib- und Grammatik-Dialogbereich, wenn der Satz grammatisch nicht richtig ist, dann Warten auf eine Befehlseingabe, die eine Akzeptierung des Teils des Satzes oder eine an diesem Teil des Satzes vorzunehmende Änderung anzeigt, während des Wartens auf eine Befehlseingabe, Feststellen, ob ein weiterer Teil des einen der Vielzahl von Sätzen grammatisch nicht richtig ist, und Empfangen (845) einer Befehlseingabe, über den kombinierten Rechtschreib- und Grammatik-Dialogbereich, die eine Akzeptierung des Teils des Satzes oder eine an diesem Teil des Satzes vorzunehmende Änderung anzeigt.
  7. Verfahren nach Anspruch 1, wobei der Schritt des Prüfens (520) der Grammatik des einen der Vielzahl von Sätzen, die folgenden Schritte umfasst: (g) Aufrufen (805) des Grammatikprüfprogramm-Moduls, (h) Übertragen (810) des einen einer Vielzahl von Sätzen zu dem Grammatikprüfprogramm-Modul, (i) Empfangen (820) der Grammatikdaten von dem Grammatikprüfprogramm-Modul, wobei die Grammatikdaten anzeigen, ob die Grammatik des einen der Vielzahl von Sätzen zufriedenstellend ist, (j) wenn die Grammatikdaten anzeigen, dass die Grammatik des einen der Vielzahl von Sätzen nicht zufriedenstellend ist, dann: Empfangen (830) einer Grammatikfehler-Typinformation von dem Grammatikprüfprogramm-Modul, Empfangen (835) wenigstens eines Vorschlags oder einer Anzeige keines Vorschlags von dem Grammatikprüfprogramm-Modul, Anzeigen (840) der Grammatikfehler-Typinformation und jedes Vorschlags in dem kombinierten Rechtschreib- und Grammatik-Dialogbereich (400), Empfangen (845) einer Befehlseingabe über den kombinierten Rechtschreib- und Grammatik-Dialogbereich, die eine Akzeptierung des einen der Vielzahl von Sätzen anzeigt oder eine vorzunehmende Änderung an einem der Vielzahl von Sätzen anzeigt, (k) Wiederholen des Schrittes (j), bis alle Grammatikfehler-Typinformationen und jeder Vorschlag für den einen der Vielzahl von Sätzen angezeigt sind.
  8. Verfahren nach Anspruch 7, wobei der kombinierte Rechtschreib- und Grammatik-Dialogbereich (300, 400) Befehlsschaltflächen (325-350, 425-470) umfasst, die Befehlsschaltflächen eine Schaltfläche „Ignorieren" (325-425), eine Schaltfläche „Alles Ignorieren" (330, 430) und eine Schaltfläche „Ändern" (340, 440) enthalten und die Befehlsschaltflächen sowohl für die Rechtschreibfehler in dem Dokument als auch für die Grammatikfehler in dem Dokument betriebsfähig sind.
  9. Computerprogrammartikel, umfassend ein computerlesbares Medium, das darauf Computerprogrammcode-Einrichtungen hat, die eingerichtet sind, um den Computer jeden der Schritte des Verfahrens der Ansprüche 1 bis 8 ausführen zu lassen, wenn das Programm auf einem Computer geladen wird.
  10. Computerprogramm, durch elektronische Datenübertragung verteilbar, umfassend Computerprogrammcode-Einrichtungen, die eingerichtet sind, um den Computer jeden der Schritte des Verfahrens der Ansprüche 1 bis 8 ausführen zu lassen, wenn das Programm auf einem Computer geladen wird.
DE69734400T 1996-06-20 1997-06-20 Verfahren und system zur prüfung der richtigkeit der rechtschreibung und grammatik eines dokuments Expired - Lifetime DE69734400T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/666,227 US6085206A (en) 1996-06-20 1996-06-20 Method and system for verifying accuracy of spelling and grammatical composition of a document
US666227 1996-06-20
PCT/US1997/010635 WO1997049043A1 (en) 1996-06-20 1997-06-20 Method and system for verifying accuracy of spelling and grammatical composition of a document

Publications (2)

Publication Number Publication Date
DE69734400D1 DE69734400D1 (de) 2005-11-24
DE69734400T2 true DE69734400T2 (de) 2006-04-27

Family

ID=24673333

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69734400T Expired - Lifetime DE69734400T2 (de) 1996-06-20 1997-06-20 Verfahren und system zur prüfung der richtigkeit der rechtschreibung und grammatik eines dokuments
DE69739451T Expired - Lifetime DE69739451D1 (de) 1996-06-20 1997-06-20 Verfahren und System zur Prüfung der Richtigkeit der Rechtschreibung und Grammatik eines Dokuments

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69739451T Expired - Lifetime DE69739451D1 (de) 1996-06-20 1997-06-20 Verfahren und System zur Prüfung der Richtigkeit der Rechtschreibung und Grammatik eines Dokuments

Country Status (6)

Country Link
US (1) US6085206A (de)
EP (2) EP0978054B1 (de)
AT (2) ATE307357T1 (de)
CA (1) CA2258711C (de)
DE (2) DE69734400T2 (de)
WO (1) WO1997049043A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015011911A1 (de) 2015-09-11 2017-03-16 eStatik Software GmbH Verfahren und System zur Identifizierung und Kennzeichnung eines mathematischen Ausdrucks in einem elektronischen Textdokument
WO2017050305A1 (de) 2015-09-21 2017-03-30 eStatik Software GmbH Verfahren und system zur zweckbestimmten verarbeitung eines mathematischen ausdrucks in einem elektronischen dokument
DE202015006393U1 (de) 2015-09-11 2017-03-31 eStatik Software GmbH System zur Identifizierung und Kennzeichnung eines mathematischen Ausdrucks in einem elektronischen Text-Dokument

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026416A (en) * 1996-05-30 2000-02-15 Microsoft Corp. System and method for storing, viewing, editing, and processing ordered sections having different file formats
US7297856B2 (en) 1996-07-10 2007-11-20 Sitrick David H System and methodology for coordinating musical communication and display
DE19735278A1 (de) * 1997-08-14 1999-02-18 Rolf Wadewitz Elektronisches Datenerfassungsverfahren und Datenverarbeitungssystem
US6782510B1 (en) * 1998-01-27 2004-08-24 John N. Gross Word checking tool for controlling the language content in documents using dictionaries with modifyable status fields
US6424983B1 (en) * 1998-05-26 2002-07-23 Global Information Research And Technologies, Llc Spelling and grammar checking system
GB2340263A (en) 1998-07-30 2000-02-16 Ibm User interface having entry filters to modify data input to structured entry fields
US7272604B1 (en) 1999-09-03 2007-09-18 Atle Hedloy Method, system and computer readable medium for addressing handling from an operating system
US6785869B1 (en) * 1999-06-17 2004-08-31 International Business Machines Corporation Method and apparatus for providing a central dictionary and glossary server
GB0006721D0 (en) * 2000-03-20 2000-05-10 Mitchell Thomas A Assessment methods and systems
US6889361B1 (en) * 2000-06-13 2005-05-03 International Business Machines Corporation Educational spell checker
US6662157B1 (en) * 2000-06-19 2003-12-09 International Business Machines Corporation Speech recognition system for database access through the use of data domain overloading of grammars
US6583798B1 (en) * 2000-07-21 2003-06-24 Microsoft Corporation On-object user interface
US7254773B2 (en) * 2000-12-29 2007-08-07 International Business Machines Corporation Automated spell analysis
US20020087604A1 (en) * 2001-01-04 2002-07-04 International Business Machines Corporation Method and system for intelligent spellchecking
US6732333B2 (en) 2001-01-16 2004-05-04 Scott Selby System and method for managing statistical data regarding corrections to word processing documents
US7076731B2 (en) * 2001-06-02 2006-07-11 Microsoft Corporation Spelling correction system and method for phrasal strings using dictionary looping
US6978275B2 (en) * 2001-08-31 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system for mining a document containing dirty text
AU2002365162A1 (en) * 2001-11-14 2003-07-09 Northwestern University Self-assembly and mineralization of peptide-amphiphile nanofibers
US20030101046A1 (en) * 2001-11-28 2003-05-29 Mark Krasnov Word, expression, and sentence translation management tool
US7371719B2 (en) * 2002-02-15 2008-05-13 Northwestern University Self-assembly of peptide-amphiphile nanofibers under physiological conditions
US20040076930A1 (en) 2002-02-22 2004-04-22 Steinberg Linda S. Partal assessment design system for educational testing
US7689431B1 (en) * 2002-04-17 2010-03-30 Winway Corporation Context specific analysis
SE0201177L (sv) * 2002-04-18 2003-10-19 Interactive Inst Kontroll av textsträng
EP1376394A1 (de) * 2002-06-20 2004-01-02 Sun Microsystems, Inc. Verfahren und Systeme zur Verarbeitung von Textelementen
US7534761B1 (en) 2002-08-21 2009-05-19 North Western University Charged peptide-amphiphile solutions and self-assembled peptide nanofiber networks formed therefrom
US7554021B2 (en) * 2002-11-12 2009-06-30 Northwestern University Composition and method for self-assembly and mineralization of peptide amphiphiles
JP4668621B2 (ja) * 2002-11-14 2011-04-13 エデュケーショナル テスティング サービス エッセイ中の過度の反復語使用の自動評価
AU2003298647A1 (en) 2002-11-14 2004-06-15 Claussen, Randal, C. Synthesis and self-assembly of abc triblock bola peptide
US7783486B2 (en) * 2002-11-22 2010-08-24 Roy Jonathan Rosser Response generator for mimicking human-computer natural language conversation
KR20050100397A (ko) * 2003-02-11 2005-10-18 노오쓰웨스턴 유니버시티 나노결정질 표면 코팅을 위한 방법 및 물질, 및 이의상부로의 펩티드 양친매성 나노섬유의 부착
US20050175242A1 (en) * 2003-04-24 2005-08-11 Fujitsu Limited Online handwritten character input device and method
US20040250209A1 (en) * 2003-06-05 2004-12-09 Gail Norcross Automated composition assistant
US7890852B2 (en) 2003-06-26 2011-02-15 International Business Machines Corporation Rich text handling for a web application
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
US7716593B2 (en) * 2003-07-01 2010-05-11 Microsoft Corporation Conversation grouping of electronic mail records
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US7657832B1 (en) * 2003-09-18 2010-02-02 Adobe Systems Incorporated Correcting validation errors in structured documents
EP1678707B1 (de) 2003-10-21 2008-07-30 Philips Intellectual Property & Standards GmbH Intelligente spracherkennung mit benutzeroberflächen
US10437964B2 (en) 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
US20050125217A1 (en) * 2003-10-29 2005-06-09 Gadi Mazor Server-based spell check engine for wireless hand-held devices
US8190419B1 (en) 2006-09-11 2012-05-29 WordRake Holdings, LLC Computer processes for analyzing and improving document readability
WO2005056576A2 (en) * 2003-12-05 2005-06-23 Northwestern University Branched peptide amphiphiles, related epitope compounds and self assembled structures thereof
EP1696945B1 (de) * 2003-12-05 2012-01-18 Northwestern University Selbst anordnende peptid-amphiphile und relevante verfahren für die abgabe von wachstumsfaktor
US7761794B1 (en) * 2004-01-22 2010-07-20 Cisco Technology, Inc. Integrated audit and configuration techniques
US7269621B2 (en) 2004-03-31 2007-09-11 Google Inc. Method system and graphical user interface for dynamically updating transmission characteristics in a web mail reply
US7814155B2 (en) * 2004-03-31 2010-10-12 Google Inc. Email conversation management system
US7912904B2 (en) * 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US9819624B2 (en) 2004-03-31 2017-11-14 Google Inc. Displaying conversations in a conversation-based email system
US20050221266A1 (en) * 2004-04-02 2005-10-06 Mislevy Robert J System and method for assessment design
US7464022B2 (en) * 2004-05-19 2008-12-09 Sap Ag Word processing with artificial language validation
US7664748B2 (en) * 2004-07-12 2010-02-16 John Eric Harrity Systems and methods for changing symbol sequences in documents
US7979501B1 (en) 2004-08-06 2011-07-12 Google Inc. Enhanced message display
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US7895531B2 (en) 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US20060074909A1 (en) * 2004-09-28 2006-04-06 Bradley Fredericks Automated resume evaluation system
US7747966B2 (en) 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US7694222B2 (en) * 2004-12-08 2010-04-06 Steen David A Document composition system and method
US7788085B2 (en) * 2004-12-17 2010-08-31 Xerox Corporation Smart string replacement
NZ555294A (en) * 2005-01-21 2010-07-30 Univ Northwestern Methods and amphiphilic compositions for treating damaged nerve cells
US7693705B1 (en) 2005-02-16 2010-04-06 Patrick William Jamieson Process for improving the quality of documents using semantic analysis
US8122354B1 (en) * 2005-02-25 2012-02-21 The Mathworks, Inc. Systems and methods for providing an indicator of detection of input related to an element of a user interface
US8202098B2 (en) 2005-02-28 2012-06-19 Educational Testing Service Method of model scaling for an automated essay scoring system
MX2007010771A (es) * 2005-03-04 2008-03-10 Univ Northwestern Anfifilos peptidicos para union a heparina angiogenicos.
US20060224994A1 (en) * 2005-04-01 2006-10-05 International Business Machines Corporation Method, system and computer program product for preventing inadvertent selection within a graphical user interface
US9002725B1 (en) 2005-04-20 2015-04-07 Google Inc. System and method for targeting information based on message content
US7584093B2 (en) 2005-04-25 2009-09-01 Microsoft Corporation Method and system for generating spelling suggestions
US7886290B2 (en) 2005-06-16 2011-02-08 Microsoft Corporation Cross version and cross product user interface
US8239882B2 (en) 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US7739259B2 (en) 2005-09-12 2010-06-15 Microsoft Corporation Integrated search and find user interface
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US7949714B1 (en) 2005-12-05 2011-05-24 Google Inc. System and method for targeting advertisements or other information using user geographical information
US8601004B1 (en) 2005-12-06 2013-12-03 Google Inc. System and method for targeting information items based on popularities of the information items
US8006180B2 (en) * 2006-01-10 2011-08-23 Mircrosoft Corporation Spell checking in network browser based applications
US7831911B2 (en) 2006-03-08 2010-11-09 Microsoft Corporation Spell checking system including a phonetic speller
US7562811B2 (en) 2007-01-18 2009-07-21 Varcode Ltd. System and method for improved quality management in a product logistic chain
JP2009537038A (ja) 2006-05-07 2009-10-22 バーコード リミティド 製品ロジスティックチェーンにおける品質管理を改善するためのシステムおよび方法
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US7627562B2 (en) * 2006-06-13 2009-12-01 Microsoft Corporation Obfuscating document stylometry
US8201086B2 (en) * 2007-01-18 2012-06-12 International Business Machines Corporation Spellchecking electronic documents
US7991609B2 (en) * 2007-02-28 2011-08-02 Microsoft Corporation Web-based proofing and usage guidance
US8881004B2 (en) * 2007-03-30 2014-11-04 Blackberry Limited Use of multiple data sources for spell check function, and associated handheld electronic device
US8076295B2 (en) * 2007-04-17 2011-12-13 Nanotope, Inc. Peptide amphiphiles having improved solubility and methods of using same
JP2010526386A (ja) 2007-05-06 2010-07-29 バーコード リミティド バーコード標識を利用する品質管理のシステムと方法
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
WO2009016631A2 (en) * 2007-08-01 2009-02-05 Ginger Software, Inc. Automatic context sensitive language correction and enhancement using an internet corpus
US7949516B2 (en) * 2007-08-31 2011-05-24 Research In Motion Limited Handheld electronic device and method employing logical proximity of characters in spell checking
EP2218055B1 (de) 2007-11-14 2014-07-16 Varcode Ltd. System und verfahren für qualitätsmanagement anhand von strichcodeindikatoren
US20090148073A1 (en) * 2007-12-07 2009-06-11 International Business Machines Corporation Allowing users to automatically change typographical letter case using application independent functionality
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US20090326938A1 (en) * 2008-05-28 2009-12-31 Nokia Corporation Multiword text correction
US20090300126A1 (en) * 2008-05-30 2009-12-03 International Business Machines Corporation Message Handling
US11704526B2 (en) 2008-06-10 2023-07-18 Varcode Ltd. Barcoded indicators for quality management
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
KR20100041136A (ko) * 2008-10-13 2010-04-22 삼성전자주식회사 인쇄제어장치 및 프린트 티켓 제어방법
US8543913B2 (en) * 2008-10-16 2013-09-24 International Business Machines Corporation Identifying and using textual widgets
US8799353B2 (en) 2009-03-30 2014-08-05 Josef Larsson Scope-based extensibility for control surfaces
WO2010120830A1 (en) * 2009-04-13 2010-10-21 Northwestern University Novel peptide-based scaffolds for cartilage regeneration and methods for their use
US8473443B2 (en) * 2009-04-20 2013-06-25 International Business Machines Corporation Inappropriate content detection method for senders
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US9298697B2 (en) * 2010-01-26 2016-03-29 Apollo Education Group, Inc. Techniques for grammar rule composition and testing
EP2531930A1 (de) * 2010-02-01 2012-12-12 Ginger Software, Inc. Automatische kontextbewusste sprachkorrektur mit einem internet-korpus speziell für geräte mit kleinen tastaturen
US20110239111A1 (en) * 2010-03-24 2011-09-29 Avaya Inc. Spell checker interface
US9002700B2 (en) 2010-05-13 2015-04-07 Grammarly, Inc. Systems and methods for advanced grammar checking
US8302014B2 (en) 2010-06-11 2012-10-30 Microsoft Corporation Merging modifications to user interface components while preserving user customizations
US9069580B2 (en) * 2011-06-13 2015-06-30 International Business Machines Corporation Application documentation effectiveness monitoring and feedback
US9037601B2 (en) 2011-07-27 2015-05-19 Google Inc. Conversation system and method for performing both conversation-based queries and message-based queries
US9176937B2 (en) * 2012-04-05 2015-11-03 International Business Machines Corporation Ensuring user interface specification accurately describes user interface after updates to user interface
WO2013191662A1 (en) * 2012-06-22 2013-12-27 National University Of Singapore Method for correcting grammatical errors of an input sentence
US8807422B2 (en) 2012-10-22 2014-08-19 Varcode Ltd. Tamper-proof quality management barcode indicators
US10878179B2 (en) * 2014-07-30 2020-12-29 Lenovo (Singapore) Pte. Ltd. Simplified text correction on a touch screen
CA2985160C (en) 2015-05-18 2023-09-05 Varcode Ltd. Thermochromic ink indicia for activatable quality labels
EP3320315B1 (de) 2015-07-07 2020-03-04 Varcode Ltd. Elektronischer qualitätsindikator
US11727198B2 (en) 2016-02-01 2023-08-15 Microsoft Technology Licensing, Llc Enterprise writing assistance
JP2018067159A (ja) * 2016-10-19 2018-04-26 京セラドキュメントソリューションズ株式会社 画像処理装置及び画像形成装置
US10089297B2 (en) * 2016-12-15 2018-10-02 Microsoft Technology Licensing, Llc Word order suggestion processing
US10419312B2 (en) 2017-03-21 2019-09-17 Motorola Solutions, Inc. System, device, and method for real-time conflict identification and resolution, and information corroboration, during interrogations
US10394344B2 (en) 2017-11-07 2019-08-27 International Business Machines Corporation Character input error correction
US10339192B1 (en) 2017-11-30 2019-07-02 Growpath, Inc. Systems and methods for matching buzzwords in a client management system
CN108595410B (zh) * 2018-03-19 2023-03-24 小船出海教育科技(北京)有限公司 手写作文的自动批改方法及装置
US11386266B2 (en) * 2018-06-01 2022-07-12 Apple Inc. Text correction
JP2020026086A (ja) * 2018-08-10 2020-02-20 京セラドキュメントソリューションズ株式会社 画像形成装置
KR20210089347A (ko) * 2020-01-08 2021-07-16 엘지전자 주식회사 음성 인식 장치 및 음성데이터를 학습하는 방법
US11636274B2 (en) * 2020-05-14 2023-04-25 Google Llc Systems and methods to identify most suitable grammar suggestions among suggestions from a machine translation model

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL9100849A (nl) * 1991-05-16 1992-12-16 Oce Nederland Bv Werkwijze voor het met behulp van een computersysteem corrigeren van een fout in een, in een natuurlijke taal gestelde zin, alsmede een inrichting geschikt voor het uitvoeren van deze werkwijze.
US5437036A (en) * 1992-09-03 1995-07-25 Microsoft Corporation Text checking application programming interface
US5706502A (en) * 1996-03-25 1998-01-06 Sun Microsystems, Inc. Internet-enabled portfolio manager system and method
US6012075A (en) * 1996-11-14 2000-01-04 Microsoft Corporation Method and system for background grammar checking an electronic document

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015011911A1 (de) 2015-09-11 2017-03-16 eStatik Software GmbH Verfahren und System zur Identifizierung und Kennzeichnung eines mathematischen Ausdrucks in einem elektronischen Textdokument
DE202015006393U1 (de) 2015-09-11 2017-03-31 eStatik Software GmbH System zur Identifizierung und Kennzeichnung eines mathematischen Ausdrucks in einem elektronischen Text-Dokument
WO2017050305A1 (de) 2015-09-21 2017-03-30 eStatik Software GmbH Verfahren und system zur zweckbestimmten verarbeitung eines mathematischen ausdrucks in einem elektronischen dokument

Also Published As

Publication number Publication date
CA2258711C (en) 2006-10-17
DE69734400D1 (de) 2005-11-24
WO1997049043A1 (en) 1997-12-24
CA2258711A1 (en) 1997-12-24
ATE307357T1 (de) 2005-11-15
DE69739451D1 (de) 2009-07-23
ATE433585T1 (de) 2009-06-15
US6085206A (en) 2000-07-04
EP1645973A3 (de) 2006-07-19
EP1645973A2 (de) 2006-04-12
EP0978054A1 (de) 2000-02-09
EP0978054B1 (de) 2005-10-19
EP1645973B1 (de) 2009-06-10

Similar Documents

Publication Publication Date Title
DE69734400T2 (de) Verfahren und system zur prüfung der richtigkeit der rechtschreibung und grammatik eines dokuments
DE60308952T2 (de) Verfahren und System zur Anzeige und Verknüpfung von Gegenständen aus elektronischer Tinte mit erkanntem Text und Objekten
DE19709968C2 (de) Verfahren und System zum Übersetzen eines Dokumentes
DE69736655T2 (de) Vorrichtung und Verfahren zur Texteingabe
DE69728282T2 (de) System und verfahren zur extraktion und kodierung von medizinischer fachsprache
DE60012655T2 (de) Audiowiedergabe von einem geschriebenen Dokument aus mehreren Quellen
DE69725883T2 (de) Parser für natürliche sprache mit wörterbuch-basierten teilwahrscheinlichkeiten
Alexa et al. A review of software for text analysis
DE3616751A1 (de) Uebersetzungssystem
DE112012001750T5 (de) Automatisierte Selbstbedienungs-Benutzerunterstützung auf der Grundlage der Ontologieanalyse
DE69628374T2 (de) Datenverwaltungssystem
DE102019001267A1 (de) Dialogartiges System zur Beantwortung von Anfragen
DE10321944A1 (de) Vorrichtungen und Verfahren zum Verarbeiten von textbasierten elektronischen Dokumenten
DE60319586T2 (de) Elektronisches wörterbuch mit beispielsätzen
DE10124429B4 (de) System und Verfahren für eine verbesserte Rechtschreibprüfung
US20020067502A1 (en) Methods for digitally printing composite documents
Ramsay et al. Designing minimal computer manuals from scratch
DE112019000648T5 (de) Touchscreen-benutzeroberfläche mit mehrsprachenunterstützung
DE4002036A1 (de) Textverarbeitungsgeraet
DE602004011041T2 (de) Hinzufügen von Fragezeichen zu elektronischen Nachrichten
DE4311211C2 (de) Computersystem und Verfahren zur automatisierten Analyse eines Textes
Schanze Writing, literacy and word-processing: Changes in the concept of literature in the framework of New Media
AU783979B2 (en) A data collection method
WO2001031610A1 (en) A data collection method
Treischl Practice R: An interactive textbook

Legal Events

Date Code Title Description
8364 No opposition during term of opposition