DE3407831A1 - Wort-pruef-anordnung - Google Patents

Wort-pruef-anordnung

Info

Publication number
DE3407831A1
DE3407831A1 DE19843407831 DE3407831A DE3407831A1 DE 3407831 A1 DE3407831 A1 DE 3407831A1 DE 19843407831 DE19843407831 DE 19843407831 DE 3407831 A DE3407831 A DE 3407831A DE 3407831 A1 DE3407831 A1 DE 3407831A1
Authority
DE
Germany
Prior art keywords
word
code
memory
stored
algorithm
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.)
Granted
Application number
DE19843407831
Other languages
English (en)
Other versions
DE3407831C2 (de
Inventor
John Rigby Cheadle Cheshire Waterworth
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.)
Ferranti International PLC
Original Assignee
Ferranti PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ferranti PLC filed Critical Ferranti PLC
Publication of DE3407831A1 publication Critical patent/DE3407831A1/de
Application granted granted Critical
Publication of DE3407831C2 publication Critical patent/DE3407831C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

J^U/ÖO I
Patentanwälte
Dr. rer. nat. Thomas Berendt Dr.-Ing. Kens Lsyh
ir.'.'f*r; rt-.r-f Tr. ZO - 0 &M H YtMn fif)
Unser Zeichen: A 14 Lh/fi
Ferranti plc
Bridge House, Park Road
Gatley, Cheadie, Cheshire, England
Wort-Prüf-Anordnung
—ί—' Ferranti pic
A 14 755
Beschreibung
Die Erfindung betrifft eine Wort-Prüf-Anordnung, d.h. eine Anordnung oder ein System, das eine Prüfung der Rechtschreibung oder Schreibweise ausführt, wenn ein Text geschrieben oder codiert wird.
Es sind Systeme bekannt, die die Schreibweise prüfen, z.B. Computersysteme. Ein Hauptnachteil ist hierbei die Notwendigkeit, ein sehr umfangreiches Vokabular zu speichern, so daß jedes benutzte Wort geprüft werden kann. Das Vorhandensein eines großen Vokabulars führt außerdem zu langsamen und komplexen Suchprogrammen. Es ist natürlich möglich, kleinere Vokabularien zu verwenden und Regeln für deren Benutzung aufzustellen. Beispielsweise können z.B. nur Worte mit einer bestimmten Anzahl von Buchstaben geprüft werden, oder nur technische Ausdrücke, u.s.w. Diese Regeln oder Bestimmungen sind jedoch komplex zu definieren und benötigen wiederum komplexe Subprogramme. Ferner variieren die Worte beträchtlich in ihrer Länge und ihre Verteilung in einem üblichen Wörterbuch ist sehr ungleich, z.B. beginnen sehr viel mehr Worte mit dem Buchstaben "E" als mit dem Buchstaben "Q". Dies führt zu einem sehr unwirtschaftlichen Gebrauch des Speichers, da es schwierig ist, im voraus zu entscheiden, wieviel Speicherraum für Worte, die mit irgendeinem bestimmten Buchstaben beginnen, bereitzustellen ist. Es ist daher eine Aufgabe der Erfindung, ein Wort-Prüf-System zu schaffen, das ein Vokabular einer gewünschten Größe hat und das mit einfachen und klar definierten Regeln arbeitet.
Nach der Erfindung ist hierzu ein Wort-Prüf-System vorgesehen mit einer ersten Codiereinrichtung, die ein Wort in Übereinstimmung mit einem ersten Algorithmus codiert, um einen ersten Code zu schaffen, der für dieses Wc^t repräsentativ ist, einem Speicher, in dem dieser Code gespeichert werden kann, einer zweiten Codiereinrichtung, die auf das Anlegen eines Wortes anspricht, um dieses entsprechend einem zweiten Algorithmus zu codieren, der verschieden von dem ersten Algorithmus ist, um einen zweiten Code zu schaffen, der die Stelle in dem Speicher definiert, in welchem eine
3 4 U 7 Ö J I .if·.
Anzahl der ersten Codes gespeichert werden kann, einer Prüfschaltung, die beim Empfang eines ersten Codes und eines zweiten Codes tätig wird, die beide einem Wort entsprechen, um den ersten Code mit irgendeinem ersten Code zu vergleichen, der bereits in der Speicherstelle gespeichert ist, die durch den zweiten Code definiert ist, wobei die Prüfschaltung auf das Vorhandensein des ersten Codes in dieser Speicherstelle anspricht, um die erste und die zweite Codiereinrichtung zu veranlassen, ein weiteres Wort anzunehmen, und die auf das Fehlen dieses Codes anspricht und dieses Fehlen anzeigt.
Eine beispielsweise Ausführungsform der Erfindung wird nachfolgend anhand der Zeichnung erläutert, in der
Fig. 1 in Form eines schematischen Blockdiagrammes eine Ausführungsform der Erfindung zeigt.
Fig. 2 zeigt ein Fließdiagramm zur Darstellung der Arbeitsweise der Erfindung.
Fig. 3 zeigt in Form eines Fließdiagrammes die Arbeitsweise eines Codierers,
Die Erfindung wird z.B. angewandt auf einen Wort-Prozessor oder auf einen Computer, der Worte verarbeiten kann und der einen Textspeicher TS und ein Display DP aufweist, auf welchem ausgewählte Teile des Textes dargestellt werden können. Es wird unterstellt, daß der Wort-Prozessor die Fähigkeit hat, sukzessive Worte des Textes anzulegen, der auf dem Display oder einer anderen geeigneten Einrichtung dargestellt ist. Dies ist eine konventionelle Möglichkeit, die z.B. angewendet wird, wenn eine dargestellte Information ausgedruckt wird. Nach der Erfindung wird jedes sukzessive Wort des dargestellten Textes parallel an die beiden Codierer gelegt, die in Fig. 1 als EC1 und EC2 bezeichnet sind.
Jeder der beiden Codierer erzeugt einen Code bezüglich des an ihn gelegten Wortes, bestimmt durch einen Algorithmus, wobei die beiden Algorithmen unterschiedlich sind, so daß die beiden Codes zusammen das in Frage stehende Wort
identifizieren. Der Codeausgang vom Codierer EN2 definiert eine Adresse im Wörterbuchspeicher DS5 in welchem alle Worte, die das Wörterbuch bilden, in einer Form gespeichert sind, die durch den Ausgang des Codierers EN1 bestimmt ist. Der Ausgang vom Codierer EN2 kann benutzt werden, um jedes Wort in der gegebenen Stelle an einen Komparator CM auszulesen, in welchem es mit dem Ausgang vom Codierer EN1 verglichen wird. Derselbe Codiererausgang kann auch den den Speicher gelegt werden.
Fig. 2 zeigt ein Fließdiagramm für die Wirkungsweise der Erfindung. Die Blöcke mit doppelter Randlinie sind diejenigen, die angeben, daß eine Entscheidung gemacht oder eine Operation vom Systemoperator ausgeführt worden ist. Es wird angenommen, daß zunächst eine Seite oder Seiten eines Textes geschrieben worden sind und daß der Text im Textspeicher TS von Fig. gespeichert ist. Die erste Operation besteht darin, wie Block 10 zeigt, das erste Wort des Textes aus dem Textspeicher abzuziehen. Das Wort wird dann den beiden Algorithmus-Operationen gleichzeitig unterzogen, um die beiden erforderlichen Codeausgänge zu erzeugen, wie in Block 11 gezeigt ist. (Die Algorythmus-Technik, auch Hash-Technik genannt ist bekannt und es ist ein überblick dieser Technik gegeben in Kapitel 4 des Buches "Compiling Techniques" von F.R.A. Hopgood, veröffentlicht von Macdonald 1969).
Wie im Block 12 aufgezeigt, wird dann oer Wörterbuchspeicher DS aufgesucht in einer Adresse, die durch den zweiten Code definiert ist, um zu prüfen, ob das durch den ersten Code definierte Wort vorhanden ist oder nicht. Die erste Entscheidung erfolgt im Block 13, abhängig davon, ob oder ob nicht das erforderliche Wort im Speicher an der gesuchten Adresse vorhanden ist. Ist das Wort vorhanden, dann wird das nächste Wort aus dem Textspeicher ausgewählt und die Operation wird wiederholt. Wenn jedoch das Wort nicht vorhanden ist, zeigt der Block 14 die nächste zutreffende Entscheidung an. Diese bestimmt, ob oder ob nicht, die Schreibweise des fraglichen Wortes r'chtig ist und eine Aktion durch einen Operator erforderlich ist. Wenn die Schreibweise nicht richtig ist, muß eine Korrektur ausgeführt werden, wie durch Block 15 gezeigt ist. In diesem Fall wird das korrigierte Wort zurückgeführt und die beiden Algorithmus-Operationen werden wiederholt, worauf der Wörterbuchspeicher aufgesucht wird und die Entscheidungen in den Blöcken und 14 ausgeführt werden.
Wenn die Schreibweise des Wortes richtig war und das Wort nicht bereits im Wörterbuchspeicher ist, muß.eine,neue Entscheidung vom Operator gefällt werden, wie durch Block 16 gezeigt ist. Dieser fragt, ob. das Wort in den Wörterbuchspeicher als neues Wort ,eingegeben werden soll. In .der Praxis brauchen Worte, die Namen-s.ind,: oder selten benutzt werden.,, nicht notwendigerweise-gespeichert werden,1 .während .Wor-.te,..die wahrscheinlich wieder benutzt werden, gespeichert werden können. Wenn das Wort nicht gespeichert wird, wird das nächste.Wort im Textspeicher,.ausgewählt und die oben beschriebene Methode wiederholt.. · .-..-.,_ ..
Wenn das Wort gespeichert wird, wird dies durchgeführt,.wie durch Block angezeigt. Schließlich fragt der letzte Block 18 nach, ob irgendwelche weiteren Worte sich im Tectspeicher befinden. Wenn dies zutrifft, wird das nächste Wort.ausgewählt.. Wenn keine weiteren Worte vorhanden sind, wird die Operation beendet und-etine entsprechende Anzeige.gegeben.
Die Weise, in der Operatorentscheidungen erforderlich sind oder das Ende der Operation angezeigt wird, hängt von der besonderen Wortverarbeitung oder dem Computersystem ab, dem das PrUfsystem angeschlossen ist. Beispielsweise kann die Erfordernis einer Operatorentscheidung angezeigt werden durch Beleuchten oder Hervorheben des fraglichen Wortes und das Ende der Operation kann angezeigt werden durch entsprechende Beleuchtung eines Zeigers am Ende einer Seite des dargestellten Textes. Selbstverständlich gibt es auch andere Wege, um diese Funktionen des Systems anzuzeigen.
Algorithmus-Operationen (Hash-Operations) sind bekannt. Wie bereits erwähnt, werden zwei verschiedene Operationen ausgeführt, die zusammen das spezielle Wort definieren. Fig. 3 zeigt als Beispiel ein Fließdiagramm einer besonderen anwendbaren Operation. Diese Operation erfordert, daß jeder Buchstabe durch eine 5-Bit-Zahl definiert ist, während der letzte Code (hash) eine 16-Bit-Zahl ist.
Die erste Operation, angezeigt durch Block 20, besteht darin, ein 16-Bit-Register von etwaigen Ergebnissen vorheriger Operationen freizumachen. In Block 21 wird der erste Buchstabe des Wortes in eine 5-Bit-Zahl umgeformt.
Der einfachste Weg, dies zu tun, besteht darin, die Position des Buchstabens im Alphabet zu verwenden, so daß beispielsweise der Buchstabe "w" zu 10111 wird. Andere Umformungen können ebenfalls angewandt werden. Die 5-Bit-Zahl wird dann in einer "ausschließ!ich-ODER-Operation" verarbeitet, wobei irgendeine Zahl die fünf niedrigstwertigen Bits des Registers bereits besetzt, und das Ergebnis wird in derselben Position im Register gespeichert, wie durch die Blöcke 22 und 23 angezeigt ist. Der Entscheidungsblock 24 ' prüft, ob das Wort einen weiteren Buchstaben enthält, falls nicht, wird der gesamte 16-Bit-Inhalt des Registers als der gewünschte Code ausgelesen, wie Block 25 zeigt.
Wenn das Wort einen weiteren Buchstaben enthält, werden die Inhalte des Registers periodisch um 5 Bits nach links verschoben. Dadurch werden die vorherigen 5 höchstwertigen Bits zu den 5 niedrigstwertigen Bits und alle anderen Bits steigern ihre Wertigkeit um fünf (siehe Block 26). Der Zyklus wird dann wiederholt und der nächste Buchstabe in eine 5-Bit-Zahl umgewandelt, worauf die "ausschließ!ich-ODER-Operation" folgt u.s.w. Wenn das vollständige Wort verarbeitet worden ist, stellt die 16-Bit-Zahl im Register den fertigen codierten Ausgang dar.
Die beschriebene Methode überwindet eines der Hauptprobleme bekannter Systeme, daß nämlich alle im Wörterbuchspeicher zu speichernden Codes von derselben Länge sind. Dies hat eine beträchtliche Verbesserung in der Nutzung des verfügbaren Speicherraums zur Folge. Ferner sind die gespeicherten Codes in der Regel kurzer als das durchschnittliche Wort.
Die beschriebenen Operationen können von jedem allgemeinen Computer ausgeführt werden.
- Leerseite -

Claims (4)

  1. Ferranti pic - A 14 755 -
    Patentansprüche
    (1.) Wort-Prüf-Anordnung, gekennzeichnet durch einen ersten Codierer, der auf das Anlegen eines Wortes anspricht und dieses in Übereinstimmung mit einem ersten Alorithmus codiert, um einen ersten Code zu erzeugen, der repräsentativ für das Wort ist, einen Speicher, in welchem dieser Code gespeichert werden kann, einen zweiten Codierer, der auf das Anlegen dieses Wortes anspricht, um das Wort in Übereinstimmung mit einem zweiten Algorithmus zu codieren, der verschieden von dem ersten Algorithmus ist, um einen zweiten Code zu erzeugen, der eine Stelle in dem Speicher definiert, in welchem eine Anzahl der ersten Codes gespeichert werden kann, ,eine Prüfschaltung, die beim Empfang eines ersten Codes und eines zweiten Codes, die beide einem Wort entsprechen, tätig wird und den ersten Code mit irgendeinem ersten Code vergleicht, der bereits in der durch den zweiten Code definierten Speicherstelle gespeichert ist, daß ferner die Prüfschaltung auf das Vorhandensein des ersten Codes in dieser Speicherstelle anspricht und den ersten und zweiten Codierer veranlaßt, ein weiteres Wort anzunehmen, und daß sie auf das Fehlen dieses Codes anspricht und eine Fehlanzeige abgibt.
  2. 2. Anordnung nach Anspruch 1, gekennzeichnet durch Einrichtungen zum Speichern des ersten Codes, der sich auf ein Wort bezieht, im Speicher an einer Stelle, die durch den zweiten Code bestimmt ist, der sich auf dieses Wort bezieht.
  3. 3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der erste und der zweite Code jedes Wort eindeutig identifizieren.
  4. 4. Anordnung nach einem der Ansprüche 1-3, dadurch gekennzeichnet, daß der erste und der zweite Code gleichzeitig erzeugt werden.
DE19843407831 1983-03-10 1984-03-02 Wort-pruef-anordnung Granted DE3407831A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB08306665A GB2136612B (en) 1983-03-10 1983-03-10 Word checking system

Publications (2)

Publication Number Publication Date
DE3407831A1 true DE3407831A1 (de) 1984-09-13
DE3407831C2 DE3407831C2 (de) 1988-10-13

Family

ID=10539349

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19843407831 Granted DE3407831A1 (de) 1983-03-10 1984-03-02 Wort-pruef-anordnung

Country Status (5)

Country Link
AU (1) AU559290B2 (de)
BR (1) BR8401177A (de)
DE (1) DE3407831A1 (de)
GB (1) GB2136612B (de)
NL (1) NL8400712A (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0287713B1 (de) * 1987-04-23 1994-06-22 Océ-Nederland B.V. Textverarbeitungssystem und -verfahren zur Prüfung des richtigen und folgerichtigen Gebrauchs von Einheiten und chemischen Formeln in einem Textverarbeitungssystem
US5897637A (en) * 1997-03-07 1999-04-27 Apple Computer, Inc. System and method for rapidly identifying the existence and location of an item in a file

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3214117A1 (de) * 1981-04-17 1982-11-04 Casio Computer Co., Ltd., Tokyo Elektronisches uebersetzungsgeraet mit erweitertem speicher
EP0149067A2 (de) * 1983-12-30 1985-07-24 International Business Machines Corporation Polynomiales Hash-Verfahren

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3214117A1 (de) * 1981-04-17 1982-11-04 Casio Computer Co., Ltd., Tokyo Elektronisches uebersetzungsgeraet mit erweitertem speicher
EP0149067A2 (de) * 1983-12-30 1985-07-24 International Business Machines Corporation Polynomiales Hash-Verfahren

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
F.R.A.Hopgood: Compiting Techniques, MacDonald, 1969, Kapitel 4 *

Also Published As

Publication number Publication date
GB8306665D0 (en) 1983-04-13
BR8401177A (pt) 1984-10-23
AU559290B2 (en) 1987-03-05
DE3407831C2 (de) 1988-10-13
NL8400712A (nl) 1984-10-01
GB2136612A (en) 1984-09-19
AU2541884A (en) 1984-09-13
GB2136612B (en) 1986-04-09

Similar Documents

Publication Publication Date Title
DE3346816C2 (de)
DE2139731C2 (de) Anordnung zur Code-Umsetzung
DE2264090C3 (de) Datenverdichtung
DE2351791C2 (de) Datenverarbeitungsanlage
DE3711200C2 (de)
EP0067244A2 (de) Verfahren zum automatischen Erkennen von Weissblöcken sowie Text-, Graphik- und/oder Graubildbereichen auf Druckvorlagen
DE2448690A1 (de) Kellerspeichereinrichtung fuer eine datenverarbeitungsanlage
DE2735319A1 (de) Schaltungsanordnung zur zusammenhaengenden codierung von zeichen und zur zeichendecodierung der ursprungszeichen
DE3003150C2 (de) Mikrocomputer mit einem zusätzlichen Speicher mit wahlfreiem Zugriff zum Speichern von Paritätsbits
DE2208664A1 (de) Verfahren zur Decodierung eines vorsatzfreien Verdichtungscodes veränderlicher Länge
DE2654815A1 (de) Verfahren zur unterscheidung von gross- und kleinbuchstaben
DE3241673A1 (de) Verfahren zum verdichten von daten eines zwei-wert-bildes
DE2435889A1 (de) Verfahren und einrichtung zum unterscheiden von zeichengruppen
EP0107083B1 (de) Belegverarbeitungseinrichtung mit Korrekturschaltung und Datensichtgerät
DE3150203C2 (de)
DE3407831A1 (de) Wort-pruef-anordnung
DE3709524C2 (de) Verfahren zur Überprüfung der Speicherzelleninhalte eines Programmspeichers
DE3113189C2 (de) Vorrichtung zur Umsetzung von digitalen Zeichencodes, die von einem Datenverarbeitungssystem empfangen oder geliefert werden
DE2244163A1 (de) Verfahren zur verdichtung bzw. dehnung von dateninformationszeichen in einem datenverarbeitungssystem
DE3232248A1 (de) Elektronisches geraet mit einrichtungen zum speichern von zeichenfolgen und zur zeichenwiedergabe
DE1499286B2 (de) Datenbearbeitungsanlage
EP0427884A1 (de) Verfahren und Anordnung zum Komprimieren und Dekomprimieren von Daten
EP0177823A1 (de) Verfahren zur Selektion, insbesondere zur Selektion und Löschung horizontaler und/oder vertikaler linien in digitalsierten Faksimiles
EP0115047B1 (de) Verfahren und Anordnung zum Markieren von Textbereichen an einer Anzeigeeinheit
DE3930889A1 (de) Verfahren zur erkennung von n unterschiedlichen wortketten in einem sprachsignal

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 15/40

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee