Die Erfindung betrifft ein Verfahren und eine Anlage zur Verarbeitung oder Übertragung von Text, der mindestens überwiegend aus Wörtern einer natürlichen Sprache besteht, in Datenverarbeitungsanlagen.
Bei der elektronischen Textverarbeitung auf Computern werden bekanntlich jegliche Texte in eine Folge von einzelnen Zeichen "aufgelöst", d.h. jedes Textzeichen (Grossbuchstaben, Kleinbuchstaben, Ziffern, Zwischenraum (Leerschlag, "space"), Satzzeichen usw.) wird digital durch eine Gruppe von Binärzeichen codiert. Diese Zeichen-Codierung leitet sich unmittelbar aus der schriftlichen ("alphabetischen") Wiedergabe von Sprachtexten ab. Allgemein ver-breitet ist dabei der 8-stellige so genannte ASCII--Code- American standard code for Information interchange) oder eine Variante davon. Mit 7 Stellen (Bits) lassen sich 128 Textzeichen sowie eine Anzahl Steuerzeichen, u.a. zur strukturierten Textwiedergabe (Zeilenende, Zeilenvorschub usw.) darstellen, und eine weitere Stelle kann als Prüfbit verwendet werden.
Es können aber auch mit einem (erweiterten) 8-Bit-Code 256 Zeichen dargestellt werden. Für die Gruppen von 8 Bits, die jeweils ein Zeichen darstellen, ist die Bezeichnung "Byte" gebräuchlich.
Mit dieser 8-Bit-Codierung der einzelnen Textzeichen ist die Verarbeitung, Übertragung und Darstellung von Texten an sich ohne wesentliche Probleme möglich. Indessen ist nicht zu übersehen, dass die Einzelzeichen-Codierung sowohl entsprechend hohe Bitmengen bei der Textübertragung und -verarbeitung bedingt wie auch grosse Speicherkapazitäten für die Datenspeicherung in Anspruch nimmt. Charakteristisch ist auch, dass die benötigte Bitmenge direkt von der jeweiligen Text-Wortlänge abhängt; die mittlere Wortlänge ist dabei bekanntlich je nach Sprache verschieden.
Mit der Erfindung sollen die vorerwähnten Nachteile der bekannten Text-Codierung drastisch verringert werden, d.h. es soll eine wesentliche Verminderung der erforderlichen Bitmengen - bzw. eine entsprechende Geschwindigkeitssteigerung bei gegebener Bit-Rate - und eine Herabsetzung der benötigten Speicherplätze für die Speicherung von Sprachtext erreicht werden.
Diese Aufgabe wird erfindungsgemäss dadurch gelöst, dass man - bei gegebener natürlicher Sprache - einen für die betreffende Sprache etablierten, gespeicherten Thesaurus verwendet, der die Mehrzahl bzw. die statistisch am häufigsten vorkommenden Wörter der Sprache und einen jedem Wort eindeutig zugeordneten Binärcode enthält, und dass man, ausgehend vom natürlichen Sprachtext, dessen Wörter im Thesaurus identifiziert und bei der Verarbeitung und/oder Übertragung an Stelle der identifizierten Wörter die ihnen zugeordneten Binärcodes benutzt.
Im Begriff "Verarbeitung" soll stets auch die damit verbundene digitale (binäre) Speicherung eingeschlossen sein, insbesondere die Speicherung von Textdokumenten wie auch Zwischenspeicherungen während der Verarbeitung usw.
Bei der Durchführung des erfindungsgemässen Verfahrens wird man einen Binärcode mit mehr als 8 Stellen benötigen, um die häufigsten und/oder wichtigsten Wörter einer Sprache (in der Regel ein Mehrfaches von 10<4>, allenfalls auch mehr als 10<5>) unterscheidbar zu codieren. Wie weiter unten näher ausgeführt, werden aber die angestrebten Vorteile sowohl hinsichtlich verminderter Datenmengen als auch geringerem Speicherbedarf dadurch erzielt, dass erfindungsgemäss die binären Wort-Codes - also jeweils ein kennzeichnender Binärcode für ein ganzes Textwort - an Stelle der 8-Bit-(ASCII)-Codes für jedes einzelne Zeichen (nach dem Stand der Technik) benutzt werden. Die Einsparung an Speicherplatz wirkt sich im Hauptspeicher (z.B. Plattenspeicher) wie auch bei der Zwischenspeicherung (Arbeitsspeicher usw.) aus.
Geringere zu transportierende Datenmengen und damit kürzere Übertragungszeiten ergeben sich auf dem Systembus eines Computers bei "internen" Textverarbeitungsfunktionen, beim Datenverkehr mit Peripheriegeräten (Drucker, Bildschirm usw.), aber auch bei der Übertragung auf lokalen Netzwerken (LAN), über Daten-Fernverbindungen oder in weiträumigen Netzwerken (WAN, Internet). Als zusätzlicher Vorteil in mancher Hinsicht, beispielsweise bei der Datenübertragung auf dem Internet, erweist sich auch der Umstand, dass die Wort-Codes nach der Erfindung ein einheitliches Format - z.B. 2 Bytes - aufweisen, unabhängig von der Anzahl Zeichen (Buchstaben) der "natürlichen" Textwörter.
Ganz besondere Vorteile können beim Betrieb von Datenbanken erwartet werden, insbesondere wird sich das Auffinden von Suchbegriffen (key words) in grossen Datenbeständen entscheidend beschleunigen.
Unter einem "etablierten Thesaurus" im Sinne der Erfindung ist allgemein eine systematische Sammlung von Wörtern der betreffenden Sprache zu verstehen. Eine solche Sammlung kann von Sprachfachleuten z.B. anhand bestehender Wörterbücher erstellt werden. Dabei können besondere Gesichtspunkte berücksichtigt werden, wie insbesondere die Häufigkeit der Wörter in "normalen" Texten, der Einbezug von Fremdwörtern, usw. Es können neben einem Thesaurus für den Allgemeingebrauch einer natürlichen Sprache auch für bestimmte Anwendungen spezielle Fach-Thesauri geschaffen werden, welche die Terminologie von Sachgebieten wie Wissenschaft, Handel, Militär, Politik usw. besonders berücksichtigen.
Aber auch bewusst eingeschränkte Thesauri können unter Umständen zweckmässig sein, indem deren geringere Zahl von Wörtern die Codierung mit einem Wort-Code von kleinerer Stellenzahl zulässt.
Die "interne Organisation" der Thesauri, d.h. die Reihenfolge der Wörter und die Zuordnung der binären Wortcodes, ist grundsätzlich frei. Beispielsweise können die Wörter in alphabetischer Reihenfolge -gespeichert und die Codices, ähnlich wie beim -ASCII-Standard, nach aufsteigendem Zahlenwert (Binär-Zeichenfolge als Dualzahl aufgefasst) zugeordnet werden.
Bei der Textübertragung zwischen unabhängigen Kommunikationspartnern, z.B. in einem Netzwerk, muss natürlich sichergestellt sein, dass bei den Partnern jeweils derselbe Thesaurus benutzt wird oder, allgemeiner ausgedrückt, dass die benutzten Thesauri kompatibel sind. Im Falle einer Mehrzahl von verfügbaren, etablierten Thesauri (für verschiedene natürliche Sprachen, Fachsprachen usw.) empfiehlt sich deshalb die Einführung einer standardisierten Bezeichnung zwecks eindeutiger Identifikation oder allenfalls automatischen Sperrung einer Übertragung, falls bei den Kommunikationspartnern nicht kompatible Thesauri aktiviert sind. Dasselbe gilt bei Rechner-interner Datenkommunikation über den Systembus, jedenfalls dann, wenn mehrere verschiedene Thesauri gespeichert sind bzw. dem Rechner wahlweise zur Verfügung stehen.
In Sprachtexten kommen neben Wörtern, die aus mehreren Buchstaben bestehen, praktisch immer auch Einzelbuchstaben, Ziffern, Satzzeichen usw. vor. Es wird deshalb zweckmässig sein, im etablierten Thesaurus auch den ASCII-Zeichensatz zu integ-rieren, jedoch mit zugeordnetem (erweitertem) Binärcode vom gleichen Format wie der den Wörtern zugeordnete Code. (Wenn hier von "ASCII" die Rede ist, soll stillschweigend auch eine Variante davon oder ganz generell ein 8-Bit-Zeichencode mit einbezogen sein). Grundsätzlich kann aber auch der 8-Bit-ASCII-Code neben bzw. "ausserhalb" des Thesaurus gespeichert sein und benutzt werden, wobei dann bei der Übertragung nach einem gemischten Modus - nach Bedarf abwechselnd ASCII-Zeichencode und Thesaurus-Wortcode - verfahren wird.
Nachstehend werden anhand mehrerer Rechenbeispiele Überlegungen angestellt bezüglich der Anzahl Stellen des (Thesaurus-)Wortcodes und der jeweils näherungsweise erzielbaren Übertragungs- und Speicher-"Effizienz" im Vergleich mit einer üblichen 8-Bit-(ASCII-)Zeichencodierung. Dabei wird die einfache Tatsache zugrundegelegt, dass sich bei Binärcodierung mit n Codestellen 2<n> verschiedene Kombinationen bilden lassen. Ferner wird - wie z.B. für geschriebenes Englisch zutreffend - angenommen, dass die mittlere Wortlänge etwa 6 Zeichen (5 Buchstaben + Wortzwischenraum) beträgt, also bei 8-Bit-Zeichencodierung pro Wort 6 Bytes = 48 Bits benötigt werden.
Beispiel 1 mit n = 12 Stellen für den Wortcode.
Dies ergibt 2<n> = 4096 mögliche Kombinationen. Praktisch lassen sich damit im Thesaurus etwa N = 3500 Wörter codieren, wenn man die für den -ASCII-Zeichensatz benötigten Code-Kombinationen sowie weitere für die Programmierung des Verfahrens reservierte Kombinationen subtrahiert. Für den Thesaurus wird man diejenigen 3500 Wörter auswählen, die gemäss statistischen Erhebungen in "üblichen" Texten (z.B. Zeitungstext) der betreffenden Sprache am häufigsten vorkommen. Auf Grund anderer sprachwissenschaftlicher Untersuchungen lässt sich abschätzen, dass mit dieser Wortauswahl (wie erwähnt mit Berücksichtigung der Häufigkeit) etwa 80% des Umfangs (Länge) der Texte im Thesaurus "erfasst" sind.
Es lassen sich also im Mittel 80% der Wörter mit dem 12-Bit-Wortcode codieren, während die restlichen 20% der Wörter im Thesaurus "unbekannt" sind und herkömmlich nach ASCII mit 8 Bit/Zeichen codiert werden müssen. Die Codierung mit Verwendung des Thesaurus erfordert demnach insgesamt
80%*12 Bit + 20% (5*8 + 16) Bit;
im vorstehenden Klammerausdruck ist die mittlere Zeichenzahl (5) pro Wort und ferner zur Markierung "unbekannter" Wörter ein 16-Bit-Steuerzeichen enthalten. Eine ASCII-Codierung gemäss dem Stand der Technik erfordert demgegenüber
100%*6*8 Bit.
Daraus resultiert ein "Effizienz"-Quotient
E1 = 1*48 / 0,8*12 + 0,2*56 = 2,3
d.h. die erfindungsgemässe Verwendung des Thesaurus mit 12-stelliger Wortcodierung ist im Mittel etwa 2,3-mal effizienter als die bekannte ASCII-Zeichencodierung.
Beispiel 2 mit n = 16 Stellen für den Wortcode.
Es ergeben sich 2<n> = 65 536 mögliche Kombinationen und ein praktischer Thesaurus-Inhalt N von rund 65 000 Wörtern. Berücksichtigt man bei der Auswahl der Wörter wieder deren Häufigkeit, so werden mit ihnen, gemäss statistischen Erhebungen, etwa 97% der Länge üblicher Texte erfasst und es verbleiben 3% "unbekannte", im Thesaurus nicht enthaltene Wörter. In diesem Fall benötigt die Textcodierung mittels des Thesaurus
97%*16 Bit + 3%(5*8 + 16) Bit
(wieder 16-stelliges Steuerzeichen für die Wortmarkierung "unbekannt"). Es ergibt sich daraus ein ungefährer "Effizienz"-Quotient von
E2 = 1*48 / 0,97*16 + 0,03*56 = 2,79.
Beispiel 3 mit n = 20 Stellen für den Wortcode.
Es ergeben sich 2<n> = 1 048 576 mögliche Kombinationen und ein praktischer Thesaurus-Inhalt N von rund 1 048 000 Wörtern. Mit dieser Zahl von gemäss ihrer Häufigkeit ausgewählten Wörtern werden etwa 99% der Länge üblicher Texte erfasst und es verbleiben 1% "unbekannte" Wörter. Demnach benötigt die Textcodierung mittels des Thesaurus
99%*20 Bit + 1%(5*8 + 16) Bit
Es ergibt sich hier ein ungefährer "Effizienz"-Quotient von
E3 = 1*48 / 0,99*20 + 0,01*56 = 2,36.
Die vorstehenden groben Berechnungen lassen erkennen, dass die Effizienz E je nach der angewendeten Stellenzahl für den Wortcode variiert und bei einer bestimmten Stellenzahl einen Höchstwert erreichen kann. Die Verhältnisse können sich aber je nach Sprache (z.B. unterschiedliche mittlere Zeichenzahl pro Wort!) und den gestellten Ansprüchen ändern. Beispielsweise würde sich bereits mit einer 12-stelligen Codierung eine gegenüber dem Beispiel 1 erheblich grössere Effizienz dann einstellen, wenn man sich von vornherein und bewusst für die Textverarbeitung und -Übertragung mit einer "eingeschränkten" Sprache mit limitiertem Vokabular begnügen würde; die ausgewählten 3500 Wörter des Thesaurus würden dann nämlich einen entsprechend höheren Prozentsatz des (limitierten) Vokabulars abdecken.
Im Allgemeinen wird aber ein 16-Bit-Wortcode (gemäss Beispiel 2) erhebliche praktische Vorteile bei der Maschinen-internen Verarbeitung bieten, da diese Stellenzahl der in der Computertechnik üblichen Maschinenwortlänge von 2 Bytes entspricht (16-Bit- oder 32-Bit-Prozessoren). Die folgenden Ausführungen und die weiter unten beschriebenen Ausführungsbeispiele der Erfindung beziehen sich deshalb durchwegs auf 16-Bit- (2 Bytes-) Wortcodes, obwohl im Lichte des oben Gesagten andere Code-Stellenzahlen grundsätzlich nicht ausgeschlossen sind.
Für das erfindungsgemässe Verfahren soll nachstehend manchmal auch die stark vereinfachte Bezeichnung "direkte Wort-Codierung" oder "DCW" verwendet werden.
Beim Begriff "Text" wird man zwar in erster Linie an schriftlich fixierte bzw. durch Schriftzeichen wiedergegebene Sprache ("Textdokumente") denken, jedoch soll die Erfindung keineswegs darauf beschränkt sein. Sowohl die Texterfassung wie auch die Steuerung von Computern auf Grund gesprochener Sprache sind bereits möglich und werden in Zukunft weiterentwickelt und verbreitet angewendet werden. Die "Spracherkennung" beruht im Prinzip auf automatischer Analyse der akustischen Signale und deren Umwandlung in maschinenverarbeitbare, binär codierte Form; dabei sind auch Verfahren in Betracht zu ziehen, bei denen eine Frequenzanalyse und/oder eine Digitalisierung der akustischen, analogen Signale erfolgt, die dann Wort für Wort digital gespeichert werden.
In Verbindung mit einem "vorgeschalteten" Spracherkennungs- oder -Verarbeitungs-Programm dieser Art kann deshalb die Erfindung auch bei akustischer Texteingabe angewendet werden. Ähnliches kann für den umgekehrten Vorgang - akustische Sprachwiedergabe, ausgehend von maschinenlesbar gespeichertem Text nach Umwandlung in akustische Signale (Sprachsynthese) - gesagt werden. - Aber selbst die Einbeziehung von bildlicher Sprachdarstellung, in Verbindung mit automatischen Bilderkennungs- und Bildverarbeitungstechniken, ist grundsätzlich möglich; man denke insbesondere an die Möglichkeit der bildlichen Wiedergabe von Sprachbegriffen durch typisierte oder stilisierte Bildsymbole ("Herz", "Apfel", "Kreuz" usw.), Piktogramme u. dgl. Derartige Bilder können als Raster von Bildpunkten (Pixels) digital gespeichert werden.
Bei einem solcherart erweiterten Textbegriff geht es grundsätzlich darum, dass Sprachbegriffe in jeglicher Form in den Thesaurus einbezogen werden, indem z.B. der Begriff "Apfel" sowohl als geschriebenes Wort, aber auch als digitales Schallsignal des gesprochenen Wortes und überdies als Pixel-Raster eines (typisierten) Apfel-Bildes im Thesaurus gespeichert und immer dem gleichen binären Wortcode beigeordnet sind. - Bei der Begriffs-Erkennung werden in der Praxis Abweichungen von der im Thesaurus gespeicherten Standardform auftreten, z.B. die individuelle "Färbung" einer Stimme oder Variationen eines Piktogramms. Sollen solche Individualmerkmale z.B. bei einer Übertragung berücksichtigt werden, so kann zweckmässigerweise einerseits die Standardform als im Thesaurus zugeordneter Binärcode und zusätzlich die Abweichung bzw. Differenz von der Standardform übermittelt werden.
Dadurch kann eine drastische Reduktion der zu übertragenden Datenmenge erreicht werden, indem der Hauptanteil der Information (Standardform) durch den Binärcode dargestellt wird.
Dies vorausgeschickt, wird jedoch im Folgenden der Einfachheit halber nur noch auf Text in Schriftform Bezug genommen. Nachstehend wird die Erfindung anhand von Ausführungsbeispielen und in Verbindung mit der Zeichnung näher erläutert.
Fig. 1 zeigt eine beispielsweise Struktur eines Thesaurus;
Fig. 2 veranschaulicht das erfindungsgemässe Verfahren in Verbindung mit einem Thesaurus stark schematisiert und rein funktionell;
Fig. 3 zeigt schematisch eine EDV-Anlage mit Thesaurus und mit Peripheriegeräten zur Texteingabe bzw. zum Empfang von Nachrichten;
Fig. 4 ist die analoge Darstellung der EDV-Anlage mit entsprechenden Geräten zur Textausgabe bzw. zur externen Nachrichtenübertragung;
Fig. 5 ist ein vereinfachtes Flussdiagramm zur Erläuterung der Codierung eines Textes anhand des Thesaurus, und
Fig. 6 zeigt mittels entsprechendem Flussdiagramm den umgekehrten Vorgang der Decodierung eines in Wortcode-Einheiten gespeicherten Textes.
Die Fig. 1 veranschaulicht als Beispiel eine zweckmässige Struktur eines Thesaurus T. Es handelt sich im Prinzip um eine umfangreiche Tabelle, von der nur zwei kurze Abschnitte von je 5 Zeilen dargestellt sind. Jede Zeile besteht aus einem Wortteil w und einem Codeteil c. Für die sachgerechte Verwendung, insbesondere für die Kommunikation von Texten zwischen verschiedenen Partnern, muss der Tabelleninhalt durch eine allgemeine Konvention standardisiert sein ("etablierter Thesaurus"). Der Thesau rus ist in der betreffenden Datenverarbeitungsanlage (Computer) permanent (schreibgeschützt) gespeichert, z.B. auf dem Haupt- oder Festplattenspeicher oder in einem gesonderten Speicherchip.
Insbesondere sind im etablierten Thesaurus die Mehrzahl bzw. die am häufigsten vorkommenden Wörter der betreffenden Sprache enthalten (unten in Fig. 1), ferner ist es zweckmässig, ebenso den so genannten ASCII-Zeichensatz (oder einen anderen, bekannten Zeichencode) im Thesaurus aufzunehmen (oben in Fig. 1), und zwar sowohl die Druckzeichen (Buchstaben, Satzzeichen, "space") als auch die bei der bisher üblichen Textverarbeitung verwendeten Steuerzeichen. Der ASCII-Zeichensatz im Thesaurus dient einerseits dazu, in Texten vorkommende Einzelzeichen, wie einzelne Buchstaben, Zahlen usw. zu verarbeiten und wiederzugeben, andererseits aber auch dazu, im Thesaurus nicht vorhandene, "unbekannte" Wörter (z.B. Personennamen, in einer Sprache neu entstehende Wörter usw.) als eine Folge von einzelnen Buchstaben zu "behandeln", wie weiter unten noch näher ausgeführt wird.
Im Wortteil w sind die Wörter und die Einzelzeichen im bekannten (ASCII-)Zeichencode dargestellt und gespeichert. Im Codeteil c ist ein jedem Wort bzw. Einzelzeichen eindeutig zugeordneter Binärcode enthalten. Sämtliche Binärcodes haben das gleiche Format, im dargestellten Beispiel beträgt die Code-Stellenzahl n = 16 (2 Bytes). Wie ersichtlich, sind die 8-stelligen Standard- (ASCII-) Zeichencodes um 1 Byte auf das 2-Bytes-Format erweitert, wobei das Erweiterungs-Byte ausschliesslich "0" enthält. Im vorliegenden Zusammenhang werden die 16-stelligen Binärcodes im Teil c auch "Wortcodes" oder "DCW-Codes" genannt, gleichgültig, ob sie einem echten Textwort (z.B. "covering") oder einem Einzelzeichen (z.B. "?" oder "B") zugeordnet sind.
Es ist zweckmässig, wenn die Wortcodes der Textwörter in jedem Fall im ersten Byte (erste 8 Stellen von links in Fig. 1) eine "1" enthalten; dadurch kann sogleich zwischen Codes für Einzelzeichen und solchen für Wörter unterschieden werden.
Mit den 16 Stellen im Teil c können 2<16> = 65 536 verschiedene Binärcodes gebildet werden. Ein entsprechender Thesaurus ist typischerweise inhaltlich wie folgt aufgebaut: Ein erster Spei cherbereich mit 128 Zeilen oder "Zellen" enthält den standardisierten ASCII-Zeichensatz (oder eine ähnliche Einzelzeichen-Codierung) mit allen Druckzeichen (Buchstaben, Satzzeichen usw.) sowie den bekannten, allgemein verwendeten ASCII-Steuerzeichen. Ein weiterer Bereich mit 128 Zeilen kann vorgesehen sein, um spezielle Steuerzeichen oder -Befehle mit ihren Binärcodes aufzunehmen, die im Zusammenhang mit dem vorliegenden DCW-Verfahren benötigt werden, wie z.B. "Wort mit Grossbuchstaben am Anfang", "ganzes Wort aus Grossbuchstaben", "Buchstabierbefehl (unbekanntes Wort als Einzelbuchstaben)" usw.
Neben den vorstehend genannten Zellen für Einzelzeichen verbleiben im Thesaurus mehr als 65 000 Zeilen bzw. Speicherzellen für die Codierung der Mehrzahl bzw. der am häufigsten vorkommenden Wörter der betreffenden natürlichen Sprache. Wie weiter oben bereits erwähnt, ist die Zuordnung der Binärcodes c zu den Wörtern w im Thesaurus grundsätzlich frei, d.h. Gegenstand der Standardisierung (Normung); dabei können Gesichtspunkte der Informatik und Computertechnik berücksichtigt werden, ähnlich wie dies auch beim ASCII-Code der Fall ist. Eine alphabetische Auflistung der Wörter wird in sehr vielen Fällen zweckmässig sein.
Ferner kann zwischen Thesauri verschiedener Sprachen eine Querbeziehung hergestellt werden, indem ein zusätzlicher Binärcode als Hilfs-Wortcode eingeführt wird, in welchem so weit wie möglich den verschiedensprachigen Wörtern (Begriffen) von gleicher Bedeutung in allen Thesauri die gleichen Codes oder "Nummern" zugeordnet werden.
Anhand der stark vereinfachten und rein funktionell aufzufassenden Darstellung in Fig. 2 werden einige typische Vorgänge nach dem erfindungsgemässen Verfahren erläutert. Schematisch dargestellt sind eine Programm-(Software-)Einheit DCW und ein von dieser angesteuerter Thesaurus T mit Wortteil w und Codeteil c. Wie angedeutet, erfolgt einerseits die Eingabe von Texten bzw. Nachrichten einer natürlichen Sprache, und andererseits werden Texte bzw. Nachrichten verarbeitet oder übertragen. Mit den Pfeilen ist angedeutet, dass der Daten- und Befehlfluss in beiden Richtungen erfolgen kann, je nachdem, ob es sich um die Texteingabe oder um eine Verarbeitung/Übertragung handelt.
Wird ein Text neu eingegeben, z.B. mittels Tastatur, Scanner o.dgl., so wird von der Programmeinheit DCW im Prinzip Wort für Wort "gesammelt" (ggf. Einzelzeichen), im Wortteil w des Thesaurus identifiziert, der zugeordnete Binärcode aus dem Codeteil c ausgelesen und abgespeichert. Es entsteht so ein in Form der ermittelten Binärcodes gespeichertes Textdokument. Dieser Vorgang wird im Folgenden auch "Codieren" genannt. Soll dagegen ein gespeicherter (codierter) Text verarbeitet oder übertragen werden, so werden hierbei die erwähnten Binär-(Wort-)Codes benutzt, sei es intern in der Datenverarbeitungsanlage selbst oder extern bei der Übermittlung an ein Peripheriegerät oder an einen Kommunikationspartner.
Nur wenn ein codiertes Textdokument wieder in lesbarer Form benötigt wird, z.B. am Bildschirm oder ausgedruckt, so werden die Binärcodes c benutzt, um im Thesaurus die zugeordneten Wörter w (ggf. Einzelzeichen) zu identifizieren und auszulesen. Diese von der Programmeinheit DCW gesteuerte Funktion wird im Folgenden "Decodieren" genannt.
Unter der "Verarbeitung" von Texten mit Benutzung der Wortcodes c werden insbesondere übliche Textverarbeitungsfunktionen - soweit sie ganze Wörter betreffen - verstanden, wie verschieben, kopieren, speichern, löschen, markieren, einfügen, suchen, ersetzen usw.
Aus dem oben im Zusammenhang mit Fig. 2 Gesagten geht hervor, dass im Thesaurus T der Wortteil w und der Codeteil c sich in jeder Zeile zueinander gewissermassen wie Adresse und (Daten-) Zelle verhalten, wobei aber diese Eigenschaften wechseln, je nachdem, ob es sich um einen Codier- oder einen Decodier-Vorgang handelt: Beim Codieren wird jeweils unter der Adresse eines bestimmten Wortes (oder Zeichens) über den Wortteil w der zugehörige Binärcode c identifiziert und ausgelesen, umgekehrt bildet beim Decodieren der Binärcode c die Adresse und führt zum zugeordneten Wort (oder Zeichen) w, das dann als Klartext ausgelesen wird.
Der vorstehende Sachverhalt wird in der Gegen-überstellung der Fig. 3 und 4 noch verdeutlicht. Beide Figuren zeigen schematisch eine Datenverarbeitungsanlage mit der zentralen Recheneinheit CPU (mit zugeordnetem Arbeitsspeicher), dem Hauptspeicher M (z.B. Festplatte) und dem internen Systembus B. Mit dem Bus B ist ausserdem die Schnittstelle S zu den jeweiligen Peripheriegeräten verbunden. Separat dargestellt sind die Programmeinheit DCW mit zugeordnetem Codespeicher MC (einschliesslich für den Programmablauf erforderlicher Zwischenspeicher) sowie der Thesaurus T mit Wortteil w und Codeteil c. In der praktischen Ausführung eines von vornherein für die direkte Wort-Codierung eingerichteten Computers können diese Einheiten DCW, MC und T selbstverständlich zusammen mit anderen Programmen und Daten im Hauptspeicher M integriert sein.
Die Fig. 3 zeigt Beispiele der Texteingabe bzw. von ankommenden Nachrichten nach dem DCW-Verfahren. Ein Text kann z.B. in üblicher Weise auf einer Tastatur 10 Zeichen um Zeichen eingegeben werden. Auch ein Textdokument, das auf einer Diskette oder im Hauptspeicher M auf herkömmliche Art zeichenweise codiert gespeichert ist, kann entsprechend über den Systembus B eingelesen werden. Als Beispiel für eine akustische Texteingabe ist ein Mikrofon 11 mit Spracherkennungs-Programm 12 dargestellt. In allen vorgenannten Fällen wird der eingegebene Text mittels DCW-Software und Thesaurus Wort für Wort (ggf. Einzelzeichen) codiert, indem die Wörter in den Wortteil w (als "Adressen") eingelesen und die zugehörigen Wortcodes aus dem Codeteil c ausgelesen werden. In dieser Weise wird ein Wortcodiertes Textdokument erstellt und gespeichert.
In dieser DCW-Form steht das Dokument zur Textverarbeitung und -Übertragung zur Verfügung. Der Codiervorgang wird weiter unten anhand der Fig. 5 näher beschrieben.
In Fig. 3 ist ferner eine externe, über ein Modem 20 angeschlossene Datenleitung dargestellt. Über diese kann der Computer u.a. Textdokumente empfangen. Sofern es sich um eine DCW-codierte Nachricht handelt, kann sie in dieser Form unmittelbar gespeichert werden oder, wenn sie sogleich in Klartext gewünscht wird, kann sie decodiert werden, wie mit dem gestrichelten Pfeil in Fig. 3 angedeutet. Eine ASCII-Codiert zeichenweise eintreffende Nachricht wird dagegen wie ein z.B. an der Tastatur eingegebener Text decodiert. (An dieser Stelle sei erwähnt, dass auch Spracherkennungsprogramme 12 denkbar sind, die gesprochene Worte als solche erkennen und bereits die zugehörigen DCW-Codes erzeugen.)
Mindestens bei der Nachrichtenübertragung zwischen unabhängigen Kommunikationspartnern muss für die Übermittlung von DCW-Texten ein standardisiertes Protokoll eingehalten werden: Zu Beginn einer Nachricht muss kenntlich gemacht werden, dass ein DCW-codierter Text folgt, und anschliessend muss ein Code zur Kennzeichnung des angewendeten Thesaurus (Sprache und/oder Typ) gesendet werden, bevor die eigentliche Textübertragung beginnt. Eine Thesaurus-Identifikation kann auch bei Computer-intern erstellten und gespeicherten Textdokumenten erforderlich sein, falls verschiedene Thesauri wahlweise zur Verfügung stehen.
Die Fig. 4 zeigt Beispiele von Decodiervorgängen bzw. der Darstellung oder Übertragung von DCW-codierten Texten mittels Peripheriegeräten. Ein DCW-codiertes, gespeichertes Textdokument, das als Klartext am Bildschirm 14 angezeigt oder mittels Drucker 16 ausgedruckt werden soll, wird ausgehend vom Dokumentspeicher MC via Thesaurus decodiert, d.h. die im Wortteil w identifizierten Wörter bzw. einzelne Druckzeichen werden im ASCII-Code ausgelesen und via Schnittstelle S an das Peripheriegerät übermittelt. Der Decodiervorgang wird weiter unten anhand Fig. 6 noch näher beschrieben.
Weitere Beispiele für die Decodierung sind die akustische Sprachwiedergabe via ein Sprachsyntheseprogramm auf der Grundlage von ASCII (es sei denn, ein künftiges Syntheseprogramm sei für die Sprachwiedergabe auf Grund von DCW-codierten Wörtern eingerichtet) oder die Fernübertragung via Modem 20, falls der Kommunikationspartner nicht für das DCW-Verfahren eingerichtet ist. Umgekehrt, im Falle gegenseitiger DCW-Kompatibilität, erfolgt die Übertragung natürlich ohne Decodierung, d.h. mittels DCW-Wortcodes aus dem Speicher MC oder aus dem Codeteil c des Thesaurus T (in Fig. 4 gestrichelt angedeutet).
Zusammenfassend ist zu sagen, dass die Wort-Binärcodes bzw. das DCW-Verfahren mit Thesaurus und DCW-Programm wenn immer möglich bei der Computer-internen Bearbeitung, der Speicherung und der Übertragung von Texten benutzt wird. Wesentliche Vorteile ergeben sich dadurch bei der Einsparung von Speicherkapazität, vor allem aber auch beim Durchsuchen von grossen Datenbeständen (Datenbanken) nach bestimmten Begriffen (Schlüsselwörtern).
Im Flussschema nach Fig. 5 ist ein beispielsweiser Decodier-Algorithmus vereinfacht dargestellt, wobei die schriftlichen Angaben in der Zeichnung weit gehend für sich sprechen. Eine (z.B. mittels Tastatur eingegebene) Zeichenfolge wird - in ASCII-Codierung - so lange in einem Zwischenspeicher M1 gesammelt, als nicht ein Zwischenraum ("space"), ein Satzzeichen oder das Textende vom Programm erkannt wird. Tritt Letzteres ein, so wird die Zeichengruppe (ggf. ein Einzelzeichen) auf einen weiteren Zwischenspeicher M2 überführt. Ein (am Ende der Gruppe) vorhandenes Satzzeichen wird separiert, und die Zeichengruppe wird im Wortteil des Thesaurus aufgesucht. Wird sie gefunden ("bekanntes Wort"), so wird der zugeordnete Binärcode ausgelesen und im Codespeicher MC abgelegt.
Ist die Zeichengruppe im Thesaurus nicht vorhanden, so handelt es sich um ein "unbekanntes" Wort (oder ein Einzelzeichen), das zeichenweise im ASCII-Teil des Thesaurus codiert werden muss. Die zugeordneten Binärcodes - auch von einem vorher separierten Satzzeichen - werden ausgelesen und ebenfalls im Codespeicher MC abgelegt. Im Letzteren werden also die DCW-Codes aneinander gereiht, bis vom Programm das Textende erkannt wird. Der Codespeicher MC enthält dann das Wort-codierte Textdokument.
Die Fig. 6 veranschaulicht in analoger, vereinfachter Darstellung die Decodierung, ausgehend von einem Wort-codierten Textdokument, das im Codespeicher MC vorhanden oder nach dem DCW-Verfahren übertragen und empfangen wird. Die DCW-Codes werden der Reihe nach in einen Zwischenspeicher M3 eingelesen. Es wird unterschieden zwischen "echten" Wortcodes und Codes von Einzeldruck-) zeichen oder Steuerzeichen. Die Wortcodes werden im Thesaurus identifiziert, und das zugehörige Textwort wird in ASCII-Format in einem Dokumentspeicher abgelegt. Codes von Einzelzeichen werden, sofern es keine Steuerzeichen-Codes sind, im Thesaurus identifiziert, und die zugeordneten (ASCII-) Druckzeichen werden in den Dokumentspeicher überführt. Steuerzeichen werden hier eingefügt und beeinflussen das decodierte Textdokument; das eintreffende Textende-Zeichen beendet den Decodiervorgang.
Zum Schluss soll noch anhand des nachstehenden, englischen Satzes ein exemplarischer Vergleich zwischen herkömmlicher ASCII-Codierung und erfindungsgemässer DCW-Codierung vorgenommen werden:
All things are difficult before they are easy.
Der beispielsweise Satz besteht aus 46 Einzelzeichen (Buchstaben, Zwischenräume und Satzende) bzw. aus 8 Wörtern (die alle in einem gegebenen Thesaurus mit 16-Bit-Wortcodes enthalten seien).
Für die ASCII-Codierung des Satzes werden somit 46*8 = 368 Bits = 46 Bytes benötigt.
Die DCW-Codierung erfordert demgegenüber 8 binäre Wortcodes und das Satzende-Zeichen zu je 16 Bit, d.h. 9*16 = 144 Bits = 18 Bytes. Da alle Wortcodes das gleiche Format von 2 Bytes aufweisen, sind "Wort-Zwischenräume" nicht erforderlich.
Daraus berechnet sich im konkreten Fall eine "Effizienz" des DCW-Verfahrens von E = 368/144 = 2.56. Würde es sich um einen Satz mit (durchschnittlich) längeren Wörtern handeln, wäre die Effizienz E wesentlich höher, andererseits kann E infolge von "unbekannten" Wörtern, die "buchstabiert" werden müssen, vermindert werden.
Die vorstehend rein anhand der benötigten Bit-Zahlen errechnete "Effizienz" E zeigt jedoch den grossen Vorteil des DCW-Verfahrens bei Suchvorgängen noch nicht auf: Soll z.B. im vorstehenden Satz das Wort "before" aufgefunden werden, so sind nach herkömmlichem Verfahren mindestens 25 Vergleiche von 1-Byte-ASCII- Symbolen erforderlich. Dagegen werden bei DCW-Wortcodierung nur gerade 5 Vergleiche von 2-Byte-Wortcodes benötigt.
The invention relates to a method and a system for processing or transmitting text, which consists at least predominantly of words of a natural language, in data processing systems.
In electronic word processing on computers, it is known that any text is "resolved" into a sequence of individual characters, i.e. each text character (uppercase, lowercase, digits, space (space), punctuation, etc.) is digitally encoded by a group of binary characters. This character coding is derived directly from the written ("alphabetical") reproduction of language texts. The 8-digit ASCII code (American standard code for information interchange) or a variant thereof is generally used. With 7 digits (bits), 128 text characters and a number of control characters, including for structured text reproduction (line end, line feed, etc.), and another position can be used as a check bit.
However, 256 characters can also be displayed with an (extended) 8-bit code. The term "byte" is used for the groups of 8 bits, each of which represents a character.
With this 8-bit coding of the individual text characters, the processing, transmission and display of texts per se is possible without significant problems. However, it cannot be overlooked that the single-character coding both requires correspondingly high bit quantities in text transmission and processing and also takes up large storage capacities for data storage. It is also characteristic that the amount of bits required depends directly on the respective text word length; as is well known, the mean word length differs depending on the language.
The aim of the invention is to drastically reduce the aforementioned disadvantages of the known text coding, i.e. the aim is to achieve a substantial reduction in the amount of bits required - or a corresponding increase in speed at a given bit rate - and a reduction in the storage spaces required for the storage of speech text.
According to the invention, this object is achieved in that - given a natural language - one uses a stored thesaurus which is established for the language in question and which contains the majority or the statistically most frequently occurring words of the language and a binary code uniquely assigned to each word, and that one starts from the natural language text, whose words are identified in the thesaurus and uses the binary codes assigned to them instead of the identified words during processing and / or transmission.
The term "processing" should always include the associated digital (binary) storage, in particular the storage of text documents as well as intermediate storage during processing, etc.
When carrying out the method according to the invention, a binary code with more than 8 digits will be required to find the most common and / or most important words of a language (usually a multiple of 10 <4>, possibly more than 10 <5>) distinguishable to code. As explained in more detail below, however, the desired advantages in terms of reduced data volumes and less memory requirement are achieved in that, according to the invention, the binary word codes - in other words a characteristic binary code for an entire text word - instead of the 8-bit (ASCII) Codes for each individual character (according to the state of the art) are used. The saving of storage space affects the main storage (e.g. disk storage) as well as the temporary storage (working memory etc.).
Smaller amounts of data to be transported and thus shorter transmission times result on the system bus of a computer for "internal" word processing functions, for data traffic with peripheral devices (printer, monitor, etc.), but also for transmission on local networks (LAN), via remote data connections or in extensive networks (WAN, Internet). An additional advantage in some respects, for example in data transmission on the Internet, is the fact that the word codes according to the invention have a uniform format - e.g. 2 bytes - have, regardless of the number of characters (letters) of the "natural" text words.
Very special advantages can be expected when operating databases, in particular the search for key words in large databases will be significantly accelerated.
An "established thesaurus" in the sense of the invention is generally understood to be a systematic collection of words of the language concerned. Such a collection can be used by language experts e.g. based on existing dictionaries. Special aspects can be taken into account, such as in particular the frequency of words in "normal" texts, the inclusion of foreign words, etc. In addition to a thesaurus for the general use of a natural language, special subject thesauri can also be created for certain applications, which the Pay special attention to the terminology of subject areas such as science, trade, military, politics, etc.
However, deliberately restricted thesauri can also be useful under certain circumstances, since their smaller number of words allows coding with a word code with a smaller number of digits.
The "internal organization" of the thesauri, i.e. the order of the words and the assignment of the binary word codes is basically free. For example, the words can be stored in alphabetical order and the codices, similar to the -ASCII standard, can be assigned according to the ascending numerical value (binary string interpreted as a dual number).
When transferring text between independent communication partners, e.g. in a network, it must of course be ensured that the partners use the same thesaurus or, more generally, that the thesauri used are compatible. In the case of a large number of available, established thesauri (for different natural languages, technical languages, etc.), it is therefore advisable to introduce a standardized name for the purpose of unambiguous identification or automatic blocking of a transmission if incompatible thesauri are activated for the communication partners. The same applies to computer-internal data communication via the system bus, at least when several different thesauri are stored or are optionally available to the computer.
In language texts, in addition to words consisting of several letters, there are practically always single letters, numbers, punctuation marks, etc. It will therefore be useful to also integrate the ASCII character set in the established thesaurus, but with an assigned (expanded) binary code of the same format as the code assigned to the words. (If we are talking about "ASCII", a variant of it or an 8-bit character code in general should also be included tacitly). In principle, however, the 8-bit ASCII code can also be stored next to or "outside" the thesaurus and used, with the transfer then proceeding according to a mixed mode - alternating between ASCII character code and thesaurus word code as required.
In the following, several calculation examples are used to consider the number of digits of the (thesaurus) word code and the approximately achievable transmission and storage "efficiency" in comparison with a conventional 8-bit (ASCII) character coding. This is based on the simple fact that with binary coding with n codes 2 Let <n> form different combinations. Furthermore - as e.g. true for written English - assuming that the mean word length is approximately 6 characters (5 letters + word space), i.e. 6 bytes = 48 bits are required per word with 8-bit character coding.
Example 1 with n = 12 digits for the word code.
This gives 2 <n> = 4096 possible combinations. In practice, about N = 3500 words can be encoded in the thesaurus by subtracting the code combinations required for the ASCII character set and other combinations reserved for programming the method. For the thesaurus, those 3500 words will be selected which, according to statistical surveys, occur most frequently in "usual" texts (e.g. newspaper text) of the language in question. On the basis of other linguistic studies, it can be estimated that with this selection of words (as mentioned, taking into account the frequency) about 80% of the length of the texts is "recorded" in the thesaurus.
On average, 80% of the words can be encoded with the 12-bit word code, while the remaining 20% of the words in the thesaurus are "unknown" and have to be encoded according to ASCII with 8 bits / characters. Coding using the thesaurus therefore requires a total
80% * 12 bit + 20% (5 * 8 + 16) bit;
In the above bracketed expression, the mean number of characters (5) per word and also for marking "unknown" words contain a 16-bit control character. In contrast, an ASCII coding according to the prior art requires
100% * 6 * 8 bit.
This results in an "efficiency" quotient
E1 = 1 * 48 / 0.8 * 12 + 0.2 * 56 = 2.3
i.e. the inventive use of the thesaurus with 12-digit word coding is on average about 2.3 times more efficient than the known ASCII character coding.
Example 2 with n = 16 digits for the word code.
The result is 2 <n> = 65 536 possible combinations and a practical thesaurus content N of around 65 000 words. If the frequency of the words is again taken into account when selecting them, according to statistical surveys, they are used to record about 97% of the length of conventional texts and 3% remain "unknown" words that are not contained in the thesaurus. In this case, text coding using the thesaurus is required
97% * 16 bit + 3% (5 * 8 + 16) bit
(again 16-digit control character for the word marking "unknown"). This gives an approximate "efficiency" quotient of
E2 = 1 * 48 / 0.97 * 16 + 0.03 * 56 = 2.79.
Example 3 with n = 20 digits for the word code.
The result is 2 <n> = 1 048 576 possible combinations and a practical thesaurus content N of around 1 048 000 words. With this number of words selected according to their frequency, approximately 99% of the length of conventional texts is recorded and 1% "unknown" words remain. Accordingly, text coding using the thesaurus is required
99% * 20 bit + 1% (5 * 8 + 16) bit
An approximate "efficiency" quotient of
E3 = 1 * 48 / 0.99 * 20 + 0.01 * 56 = 2.36.
The above rough calculations show that the efficiency E varies depending on the number of digits used for the word code and can reach a maximum at a certain number of digits. The conditions can change depending on the language (e.g. different mean number of characters per word!) And the demands made. For example, even with a 12-digit coding, efficiency would be considerably greater than in Example 1 if one were to be content and consciously prepared for word processing and transmission with a "restricted" language with limited vocabulary; the selected 3500 words of the thesaurus would then cover a correspondingly higher percentage of the (limited) vocabulary.
In general, however, a 16-bit word code (according to Example 2) will offer considerable practical advantages in machine-internal processing, since this number of digits corresponds to the machine word length of 2 bytes customary in computer technology (16-bit or 32-bit processors ). The following statements and the exemplary embodiments of the invention described below therefore relate to 16-bit (2-byte) word codes throughout, although in the light of the above, other code digit numbers are fundamentally not excluded.
The greatly simplified term "direct word coding" or "DCW" will sometimes also be used below for the method according to the invention.
When the term "text" is used, one will primarily think of language fixed in writing or represented by characters ("text documents"), but the invention is in no way intended to be limited to this. Both text entry and the control of computers based on spoken language are already possible and will be further developed and widely used in the future. In principle, "speech recognition" is based on automatic analysis of the acoustic signals and their conversion into machine-processable, binary-coded form; methods are also to be considered in which a frequency analysis and / or digitization of the acoustic, analog signals takes place, which are then stored digitally word for word.
In connection with an "upstream" speech recognition or processing program of this type, the invention can therefore also be used for acoustic text input. The same can be said for the reverse process - acoustic speech reproduction, starting from machine-readable stored text after conversion into acoustic signals (speech synthesis). - But even the inclusion of visual speech, in connection with automatic image recognition and image processing techniques, is fundamentally possible; think in particular of the possibility of the visual representation of language terms through typed or stylized symbols ("heart", "apple", "cross" etc.), pictograms and the like. The like. Such images can be stored digitally as a grid of pixels.
With such an extended text term, it is basically a matter of including language terms in any form in the thesaurus, e.g. by the term "apple" is stored both as a written word, but also as a digital sound signal of the spoken word and, moreover, as a pixel grid of a (typed) apple picture in the thesaurus and is always assigned to the same binary word code. - In terms of term recognition, deviations from the standard form stored in the thesaurus will occur in practice, e.g. the individual "coloring" of a voice or variations of a pictogram. Should such individual characteristics be e.g. are taken into account in a transmission, the standard form can expediently be transmitted on the one hand as a binary code assigned in the thesaurus and in addition the deviation or difference from the standard form.
This enables a drastic reduction in the amount of data to be transmitted by the main part of the information (standard form) being represented by the binary code.
That said, for the sake of simplicity, we will only refer to text in writing. The invention is explained in more detail below on the basis of exemplary embodiments and in conjunction with the drawing.
1 shows an example structure of a thesaurus;
2 illustrates the method according to the invention in connection with a thesaurus in a highly schematic and purely functional manner;
Fig. 3 shows schematically a computer system with thesaurus and with peripheral devices for text input or for receiving messages;
Fig. 4 is the analog representation of the computer system with appropriate devices for text output or for external message transmission;
5 is a simplified flow diagram for explaining the coding of a text using the thesaurus, and
6 shows the reverse process of decoding a text stored in word code units using a corresponding flowchart.
1 illustrates, as an example, an expedient structure of a thesaurus T. It is in principle an extensive table, of which only two short sections of 5 lines each are shown. Each line consists of a word part w and a code part c. For correct use, especially for the communication of texts between different partners, the table content must be standardized by a general convention ("established thesaurus"). The Thesau rus is permanently (read-only) stored in the relevant data processing system (computer), e.g. on the main or hard disk storage or in a separate memory chip.
In particular, the majority or the most frequently occurring words of the language concerned are contained in the established thesaurus (below in FIG. 1), and it is also expedient to also include the so-called ASCII character set (or another known character code) in the thesaurus ( above in Fig. 1), namely both the print characters (letters, punctuation marks, "space") and the control characters used in the usual word processing. The ASCII character set in the thesaurus is used on the one hand to process and reproduce individual characters such as individual letters, numbers, etc. in text, and on the other hand also to use "unknown" words (e.g. personal names, new words that do not exist in the thesaurus) Words, etc.) as a sequence of individual letters, as will be discussed in more detail below.
In the word part w, the words and the individual characters are shown and saved in the known (ASCII) character code. Code part c contains a binary code uniquely assigned to each word or individual character. All binary codes have the same format, in the example shown the number of code digits is n = 16 (2 bytes). As can be seen, the 8-digit standard (ASCII) character codes are expanded by 1 byte to the 2-byte format, the expansion byte only containing "0". In the present context, the 16-digit binary codes in part c are also called "word codes" or "DCW codes", regardless of whether they contain a real text word (eg "covering") or a single character (eg "?" Or "B") assigned.
It is expedient if the word codes of the text words always contain a "1" in the first byte (first 8 digits from the left in FIG. 1); this makes it possible to immediately distinguish between codes for individual characters and codes for words.
With the 16 digits in part c, 2 <16> = 65 536 different binary codes are formed. A corresponding thesaurus is typically structured as follows: A first memory area with 128 lines or "cells" contains the standardized ASCII character set (or a similar single character coding) with all print characters (letters, punctuation marks, etc.) and the known, general ones used ASCII control characters. Another area with 128 lines can be provided to accommodate special control characters or commands with their binary codes, which are required in connection with the present DCW method, such as e.g. "Word with capital letters at the beginning", "whole word from capital letters", "spelling command (unknown word as single letters)" etc.
In addition to the above-mentioned cells for individual characters, more than 65,000 lines or memory cells remain for the coding of the majority or the most frequently occurring words of the natural language in question in the thesaurus. As already mentioned above, the assignment of the binary codes c to the words w in the thesaurus is basically free, i.e. Object of standardization; aspects of computer science and computer technology can be taken into account, similar to the case with the ASCII code. An alphabetical listing of the words will be useful in many cases.
Furthermore, a cross-relationship can be established between thesauri of different languages by introducing an additional binary code as an auxiliary word code, in which as far as possible the same codes or "numbers" are assigned to the different-language words (terms) with the same meaning in all thesauri.
Some typical processes according to the inventive method are explained on the basis of the greatly simplified and purely functional representation in FIG. 2. A program (software) unit DCW and a thesaurus T controlled by it with word part w and code part c are shown schematically. As indicated, texts or messages of a natural language are entered on the one hand, and texts or messages are processed or transmitted on the other hand. The arrows indicate that the data and command flow can take place in both directions, depending on whether it is text input or processing / transmission.
If a new text is entered, e.g. using a keyboard, scanner or the like, the program unit DCW in principle "collects" word for word (possibly individual characters), identifies in the word part w of the thesaurus, reads out and stores the assigned binary code from the code part c. This creates a text document saved in the form of the binary codes determined. This process is also called "coding" in the following. If, on the other hand, a stored (coded) text is to be processed or transmitted, the binary (word) codes mentioned are used here, be it internally in the data processing system itself or externally in the transmission to a peripheral device or to a communication partner.
Only if a coded text document is needed again in a legible form, e.g. on the screen or printed out, the binary codes c are used to identify and read out the assigned words w (possibly individual characters) in the thesaurus. This function, which is controlled by the program unit DCW, is called "decoding" in the following.
The "processing" of texts using the word code c is understood to mean, in particular, conventional word processing functions - insofar as they relate to entire words - such as moving, copying, saving, deleting, marking, inserting, searching, replacing, etc.
From what has been said above in connection with FIG. 2, it can be seen that in thesaurus T the word part w and the code part c in each line behave to a certain extent like address and (data) cell, but these properties change depending on whether it is a coding or a decoding process: When coding, the associated binary code c is identified and read out at the address of a specific word (or character) via the word part w, conversely, when decoding, the binary code c forms the address and leads to the assigned word (or character) w, which is then read out as plain text.
The situation above is clarified in the comparison of FIGS. 3 and 4. Both figures show schematically a data processing system with the central processing unit CPU (with assigned working memory), the main memory M (e.g. hard disk) and the internal system bus B. With the bus B, the interface S is also connected to the respective peripheral devices. The program unit DCW with assigned code memory MC (including the intermediate memory required for the program sequence) and the thesaurus T with word part w and code part c are shown separately. In the practical implementation of a computer set up from the start for direct word coding, these units DCW, MC and T can of course be integrated in the main memory M together with other programs and data.
3 shows examples of text input or of incoming messages using the DCW method. A text can e.g. 10 characters by characters are entered in the usual way on a keyboard. A text document, which is stored coded character by character on a floppy disk or in the main memory M, can also be read in accordingly via the system bus B. A microphone 11 with a speech recognition program 12 is shown as an example of acoustic text input. In all of the above cases, the text entered is coded word for word (possibly individual characters) by means of DCW software and thesaurus by reading the words into the word part w (as "addresses") and reading the associated word codes from the code part c. In this way, a word-encoded text document is created and saved.
The document is available for word processing and transmission in this DCW form. The coding process is described in more detail below with reference to FIG. 5.
3 also shows an external data line connected via a modem 20. The computer can use this to Receive text documents. If it is a DCW-coded message, it can be stored directly in this form or, if it is immediately desired in plain text, it can be decoded, as indicated by the dashed arrow in FIG. 3. In contrast, an ASCII-encoded message arriving character-by-character is Text entered on the keyboard decoded. (At this point it should be mentioned that speech recognition programs 12 are also conceivable that recognize spoken words as such and already generate the associated DCW codes.)
At least in the case of message transmission between independent communication partners, a standardized protocol must be followed for the transmission of DCW texts: At the beginning of a message, it must be made clear that a DCW-coded text follows, and then a code to identify the thesaurus used (language and / or type) are sent before the actual text transmission begins. Thesaurus identification may also be necessary for text documents created and stored internally on the computer, if different thesauri are available.
4 shows examples of decoding processes or the representation or transmission of DCW-coded texts by means of peripheral devices. A DCW-coded, stored text document, which is to be displayed as plain text on the screen 14 or printed out by means of a printer 16, is decoded from the document memory MC via a thesaurus, i.e. the words or individual print characters identified in the word part w are read out in ASCII code and transmitted to the peripheral device via interface S. The decoding process is described in more detail below with reference to FIG. 6.
Further examples of the decoding are acoustic speech reproduction via a speech synthesis program based on ASCII (unless a future synthesis program is set up for speech reproduction based on DCW-coded words) or remote transmission via modem 20 if the communication partner is not for the DCW process is set up. Conversely, in the case of mutual DCW compatibility, the transmission naturally takes place without decoding, i.e. by means of DCW word codes from the memory MC or from the code part c of the thesaurus T (indicated by dashed lines in FIG. 4).
In summary, it can be said that the word binary codes or the DCW method with thesaurus and DCW program are used whenever possible in the computer-internal processing, storage and transmission of texts. This results in significant advantages when saving storage capacity, but above all when searching through large databases (databases) for specific terms (keywords).
An exemplary decoding algorithm is shown in simplified form in the flow diagram according to FIG. 5, the written information in the drawing largely speaking for itself. A character string (e.g. entered using a keyboard) is - in ASCII coding - collected in a buffer M1 as long as the program does not recognize a space, a punctuation mark or the end of the text. If the latter occurs, the group of characters (possibly a single character) is transferred to a further buffer store M2. A punctuation mark (at the end of the group) is separated and the group of characters is searched for in the word part of the thesaurus. If it is found ("known word"), the assigned binary code is read out and stored in the code memory MC.
If the group of characters is not available in the thesaurus, it is an "unknown" word (or a single character) that must be encoded character by character in the ASCII part of the thesaurus. The assigned binary codes - also from a previously separated punctuation mark - are read out and also stored in the code memory MC. In the latter, the DCW codes are strung together until the end of the text is recognized by the program. The code memory MC then contains the word-encoded text document.
6 illustrates in an analog, simplified representation the decoding, starting from a word-coded text document which is present in the code memory MC or is transmitted and received using the DCW method. The DCW codes are read into a buffer M3 in sequence. A distinction is made between "real" word codes and codes of single print characters or control characters. The word codes are identified in the thesaurus and the associated text word is stored in ASCII format in a document memory. Unless they are control character codes, single character codes are identified in the thesaurus and the assigned (ASCII) print characters are transferred to the document memory. Control characters are inserted here and influence the decoded text document; the incoming text end character ends the decoding process.
Finally, an exemplary comparison between conventional ASCII coding and DCW coding according to the invention is to be carried out using the English sentence below:
All things are difficult before they are easy.
The sentence, for example, consists of 46 individual characters (letters, spaces and end of sentence) or 8 words (all of which are contained in a given thesaurus with 16-bit word codes).
46 * 8 = 368 bits = 46 bytes are therefore required for the ASCII coding of the set.
In contrast, the DCW coding requires 8 binary word codes and the end-of-block character of 16 bits each, i.e. 9 * 16 = 144 bits = 18 bytes. Since all word codes have the same format of 2 bytes, "word spaces" are not required.
In this specific case, the "efficiency" of the DCW method is calculated from E = 368/144 = 2.56. If it were a sentence with (on average) longer words, the efficiency E would be significantly higher, on the other hand E can be reduced as a result of "unknown" words that have to be "spelled".
However, the "efficiency" E calculated above purely on the basis of the required number of bits does not yet show the great advantage of the DCW method in searches: should e.g. the word "before" can be found in the preceding sentence, then at least 25 comparisons of 1-byte ASCII symbols are required by conventional methods. In contrast, with DCW word coding only 5 comparisons of 2-byte word codes are required.