Verfahren und Anlage zur Verarbeitung oder Übertragung von Text
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 verbreitet ist dabei der 8-stellige sogenannte 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 anstelle 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 Zwischenspeicherun- gen 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 , allenfalls auch mehr als 105) 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 - anstelle 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 werde. 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-Zeichen- folge 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 integrieren, 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 Übertragungsund 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 2n 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 2n = 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. Aufgrund 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,3mal effizienter als die bekannte ASCII-Zeichencodierung.
Beispiel 2 mit n = 16 Stellen für den Wortcode.
Es ergeben sich 2n = 65536 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 2n = 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-Prozess- oren) . 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 aufgrund 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" 'Sprach- erkennungs- 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 Bilderken- nungs- 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 funktioneil;
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 Flussdiagra m 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 Hauptoder 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 sogenannten 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 216 = 65536 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 65000 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 funktioneil 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 Progra meinheit 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 eingebener Text decodiert. (An dieser Stelle sei erwähnt, dass auch Sprach- erkennungsprogramme 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 aufgrund 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 weitgehend für sich sprechen. Eine (z.B. mittels Tastatur eingegebene) Zeichenfolge wird - in ASCII-Codierung - solange in einem Zwischenspeicher Ml 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 aneinandergereiht, 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 Einzel- (Druck-) 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.