DE3407831A1 - Wort-pruef-anordnung - Google Patents
Wort-pruef-anordnungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic 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
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)
- 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. 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. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der erste und der zweite Code jedes Wort eindeutig identifizieren.
- 4. Anordnung nach einem der Ansprüche 1-3, dadurch gekennzeichnet, daß der erste und der zweite Code gleichzeitig erzeugt werden.
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)
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)
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 |
-
1983
- 1983-03-10 GB GB08306665A patent/GB2136612B/en not_active Expired
-
1984
- 1984-03-02 DE DE19843407831 patent/DE3407831A1/de active Granted
- 1984-03-05 NL NL8400712A patent/NL8400712A/nl not_active Application Discontinuation
- 1984-03-08 AU AU25418/84A patent/AU559290B2/en not_active Ceased
- 1984-03-12 BR BR8401177A patent/BR8401177A/pt unknown
Patent Citations (2)
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)
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 |