DE60305922T2 - Verfahren und system zur erzeugung und verwendung von daten in chinesischer sprache und benutzerkorrigierten daten - Google Patents

Verfahren und system zur erzeugung und verwendung von daten in chinesischer sprache und benutzerkorrigierten daten Download PDF

Info

Publication number
DE60305922T2
DE60305922T2 DE60305922T DE60305922T DE60305922T2 DE 60305922 T2 DE60305922 T2 DE 60305922T2 DE 60305922 T DE60305922 T DE 60305922T DE 60305922 T DE60305922 T DE 60305922T DE 60305922 T2 DE60305922 T2 DE 60305922T2
Authority
DE
Germany
Prior art keywords
pinyin
syllable
array
index
syllables
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60305922T
Other languages
English (en)
Other versions
DE60305922D1 (de
Inventor
Vadim Waterloo FUX
V. Sergev Waterloo KOLOMIETS
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
2012244 Ontario Inc
Original Assignee
2012244 Ontario Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CA002413055A external-priority patent/CA2413055C/en
Application filed by 2012244 Ontario Inc filed Critical 2012244 Ontario Inc
Application granted granted Critical
Publication of DE60305922D1 publication Critical patent/DE60305922D1/de
Publication of DE60305922T2 publication Critical patent/DE60305922T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding

Landscapes

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

Description

  • HINTERGRUND DER ERFINDUNG
  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft im Allgemeinen eine Sprachdatenspeicherung und eine Texteingabe in elektronischen Vorrichtungen und insbesondere die Erzeugung und Verwendung von chinesischen Sprachdaten zum Zweck einer Textverarbeitung und Texteingabe.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • In Mandarin-Chinesisch wird jedes Schriftzeichen (character) auf eine monosilbische Weise gesprochen. Mandarin-Chinesisch enthält über 10,000 Schriftzeichen, die aus Variationen von 405 grundlegenden „Pinyin"-Zeichen und 5 Tönen bestehen. Das Silbenschriftprinzip ist die Basis für chinesische Schreibsysteme, wie Hung und Tzeng, wobei viele Silben denselben Ton darstellen können und dieselben Töne oft von vielen unterschiedlichen Symbolen dargestellt werden. Zusätzlich werden in der chinesischen Sprache Wörter nicht durch Leerzeichen getrennt, wodurch chinesische linguistische Daten für eine richtige Segmentierung von Wörtern während einer Eingabe eines chinesischen Texts in elektronische Vorrichtungen erforderlich sind. Die Forschung zeigt, dass in den meisten Fällen statische linguistische Daten nicht ausreichend sind, um eine richtige Wortsegmentierung zu liefern. Nur Systeme, die Benutzereingabemuster lernen, liefern einen Grad einer Segmentierungsgenauigkeit für eine effiziente Eingabe von chinesischem Text. Somit sind umfangreiche linguistische Daten erforderlich, die eine sehr hohe Speicherbenutzung durch die meisten Eingabesysteme für chinesischen Text erfordern.
  • Existierende Lösungen für eine Speicherung und Verwendung von linguistischen Daten zum Zweck einer Texteingabe setzen Datenstrukturen wie Hash-Tabellen, Bäume, Datenbanken oder Wörterverzeichnisse ein. Diese Lösungen sind in vielen modernen Systemen nicht möglich, da sie einen signifikanten Speicher- und Coderaum erfordern, um die komplexen Datenstrukturen zu speichern und zu unterstützen, auf die sie angewiesen sind, und sie verbrauchen eine große Menge an Verarbeitungsressourcen. Elektronische Vorrichtungen, wie tragbare elektronische Vorrichtungen, einschließlich zum Beispiel mobile Kommunikationsvorrichtungen, haben begrenzte Verarbeitungs- und Speicherressourcen, was die Verwendung dieser existierenden Lösungen ausschließt.
  • US 6,073,146 offenbart ein System und eine Sprachdatenstruktur zur Verwendung bei der Konvertierung chinesischer Pinyin-Silben in chinesische Hanzi-Schriftzeichen. Ein Prozess bestimmt, dass eine Silbe eingegeben wurde, wenn eine Delimiter- bzw. Begrenzungszeichen-Taste gedrückt wird. Eine eingegebene phonetische Silbe wird dann verglichen mit einer Liste von akzeptablen phonetischen Silben. Wenn die eingegebene Silbe auf der Liste ist, wird die korrekt buchstabierte und akzentuierte Silbe in einem Speicher gespeichert und auf einem phonetischen Teil einer graphischen Anzeige angezeigt. Die Wortfolge, die als die Reihe von Zeichen zwischen zwei Delimitern definiert wird, wird analysiert, um eindeutig die richtigen Hanzi-Schriftzeichen zu bestimmen, welche die Wörter in der Wortfolge darstellen. Eine Datenstruktur weist eine Vielzahl von Hanzi-Zeichen-Kandidatenverzeichnisse auf, die Zeichen-Kandidaten aufweisen, die zu einer Pinyin-Silbe gehören. Ein Wert in einem Sprachdatensatz weist eine Sequenz von Indizes von Hanzi-Zeichen-Kandidaten in dem Verzeichnis von Kandidaten auf, die zu den Pinyin-Silben des Worts gehören.
  • EP 1 985 401 betrifft die Eingabe von Symbolen in ein mobiles Telefon. Zu jeder Taste gehört eine Vielzahl von unterschiedlichen Symbolen. Die Tastatur wird verwendet, um Symbole in der Form von Pinyin-Folgen in die Anzeige einzugeben, die dann verwendet werden, um ein Kandidatenverzeichnis von chinesi schen Schriftzeichen zu bestimmen, die in der Anzeige angezeigt werden. Symbole werden in die Anzeige durch Drücken jeweiliger Tasten eingegeben. Die Auswahl eines Symbols ist nur erlaubt, wenn es einer gültigen Pinyin-Reihe entspricht. Aus dem Kandidatenverzeichnis gewählte Zeichen werden in eine Nachricht in der Anzeige eingegeben.
  • Zusammenfassung
  • Eine Sprachdatenstruktur zur Verwendung bei der Konvertierung von chinesischen Pinyin-Silben in chinesische Hanzi-Schriftzeichen in einem Computersystem weist auf eine Vielzahl von Hanzi-Zeichen-Kandidatenverzeichnisse, wobei jedes Verzeichnis Hanzi-Zeichen-Kandidaten aufweist, die zu einer Pinyin-Silbe gehören, und jeder Hanzi-Zeichen-Kandidat in jedem Verzeichnis einen Index in dem Verzeichnis hat, und eine Vielzahl von Sprachdatensätzen, wobei jeder Sprachdatensatz einem Wort entspricht, das eine Vielzahl von Pinyin-Silben hat und einen Schlüssel und einen Wert aufweist, wobei der Schlüssel in jedem Sprachdatensatz eine Sequenz von Indizes und eine Toninformation für die Pinyin-Silben des Wortes aufweist, das dem Sprachdatensatz entspricht, und wobei der Wert in jedem Sprachdatensatz eine Sequenz von Indizes von Hanzi-Zeichen-Kandidaten in dem Verzeichnis von Kandidaten aufweist, die jeweils zu den Pinyin-Silben des Worts gehören, welche die Pinyin-Silben des Worts darstellen.
  • Ein Verfahren zum Erzeugen von chinesischen Sprachdaten auf einem Computersystem weist die Schritte auf: Erzeugen von Identifikatoren für jede einer Vielzahl von chinesischen Pinyin-Silben, Speichern der erzeugten Identifikatoren in einem Array von Identifikatoren, wobei jeder Identifikator in dem Array von Identifikatoren einen Arrayindex aufweist, Erzeugen einer Vielzahl von Hanzi-Zeichen-Kandidatenverzeichnissen, wobei jedes Verzeichnis zu einer Pinyin-Silbe gehörende Hanzi-Zeichen-Kandidaten aufweist, und jeder Hanzi-Zeichen-Kandidat in jedem Verzeichnis einen Kandidatenindex in dem Verzeichnis hat, und für jedes einer Vielzahl von Wörtern mit mehreren Pinyin-Silben Erzeugen eines Datensat zes, der einen Schlüssel und einen Wert aufweist, wobei der Schlüssel einen Arrayindex des Identifikators in dem Array von Identifikatoren für jede der mehreren Pinyin-Silben und eine Toninformation für jede der mehreren Pinyin-Silben aufweist, und wobei der Wert in dem Verzeichnis von zu jeder der mehrfachen Pinyin-Silben gehörenden Kandidaten einen Kandidatenindex des Kandidaten aufweist, der jede der mehrfachen Pinyin-Silben darstellt.
  • Gemäß einem weiteren Ausführungsbeispiel der Erfindung ist ein System einer Verwendung von chinesischen Sprachdaten zur Konvertierung von chinesischen Pinyin-Silben in chinesische Hanzi-Schriftzeichen vorgesehen. Die Sprachdaten umfassen eine Vielzahl von Hanzi-Zeichen-Kandidatenverzeichnissen, wobei jedes Verzeichnis zu einer Pinyin-Silbe gehörende Hanzi-Zeichen-Kandidaten aufweist, und jeder Hanzi-Zeichen-Kandidat in jedem Verzeichnis einen Index in dem Verzeichnis hat, und eine Vielzahl von Sprachdatensätzen, wobei jeder Sprachdatensatz einem Wort entspricht, das eine Vielzahl von Pinyin-Silben hat und einen Schlüssel und einen Wert aufweist. Der Schlüssel in jedem Sprachdatensatz weist eine Sequenz von Indizes und eine Toninformation für die Pinyin-Silben des Wortes auf, das dem Sprachdatensatz entspricht, und der Wert in jedem Sprachdatensatz weist eine Sequenz von Indizes von Hanzi-Zeichen-Kandidaten in dem Verzeichnis von Kandidaten auf, die jeweils zu den Pinyin-Silben des Worts gehören, welche die Pinyin-Silben des Worts darstellen. Das System weist eine Tastatur mit Tasten auf, die eine Vielzahl von Zeichen zum Zusammensetzen von Pinyin-Silben darstellen, eine Eingangs-Warteschlange, die konfiguriert ist, eingegebene Pinyin-Silben von der Tastatur zu empfangen, einen Speicher, der konfiguriert ist, die Vielzahl von Hanzi-Zeichen-Kandidatenverzeichnissen und die Vielzahl von Datensätzen zu speichern; einen Eingangsprozessor, der betriebsfähig mit dem Speicher und der Eingangs-Warteschlange verbunden ist und konfiguriert ist, die eingegebenen Pinyin-Silben in Eingabewörter zu segmentieren, die Sprachdatensätze nach Sprachdatensätzen zu durchsuchen, die jeweils jedem Eingabewort einschließlich der eingegebenen Pinyin-Silben entsprechen, und jedes eingegebene Wort in die chinesischen Hanzi-Zeichen-Kandidaten unter Ver- wendung der Hanzi-Zeichen-Kandidatenindizes in den entsprechenden Datensatz zu konvertieren, eine Anzeige; und eine Benutzer-Schnittstelle, die zwischen der Anzeige und dem Eingangsprozessor angeordnet ist, um die eingegebenen Pinyin-Silben auf der Anzeige anzuzeigen und die eingegebenen Pinyin-Silben durch die chinesischen Hanzi-Zeichen-Kandidaten zu ersetzen, wenn die eingegebenen Pinyin-Silben von dem Eingangsprozessor konvertiert werden.
  • Weitere Merkmale der Erfindung werden während der folgenden detaillierten Beschreibung beschrieben oder werden offensichtlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Array von eindeutigen Identifikatoren für Bopomofo-Silben;
  • 2 zeigt ein Array von eindeutigen Identifikatoren für Pinyin-Silben;
  • 3 zeigt ein Array von Entsprechungen zwischen Pinyin-Silben und Bopomofo-Silben;
  • 4 zeigt ein Toninformationsarray;
  • 5 ist eine Blockdarstellung, die ein Format eines Sprachdatensatzes für ein Wort mit mehreren Zeichen zeigt;
  • 6 ist eine Blockdarstellung eines beispielhaften Sprachdatensatzes;
  • 7 ist eine Blockdarstellung, die ein Format eines Sprachdatensatzes für ein Wort mit zwei Zeichen zeigt;
  • 8 ist eine Blockdarstellung, die ein Beispiel eines Sprachdatensatzes für ein Wort mit zwei Zeichen zeigt;
  • 9 zeigt eine Blockdarstellung eines lernenden Sprachdaten-Headers;
  • 10 zeigt eine Blockdarstellung eines beispielhaften lernenden Sprachdaten-Headers;
  • 11 ist eine Blockdarstellung, die ein lernendes Sprachdaten-Array zeigt;
  • 12 ist ein Ablaufdiagramm eines Verfahrens zur Verwendung von Sprachdaten; und
  • 13 ist eine Blockdarstellung eines Systems zur Verwendung von Sprachdaten.
  • DETAILLIERTE BESCHREIBUNG
  • Gemäß einem Aspekt der Erfindung basieren ein System und ein Verfahren zur Erzeugung und Verwendung von Sprachdaten auf einer Indizierung von chinesischen Silben und Schriftzeichen. Eine Indizierung ermöglicht eine Sprachdatenspeicherung mit geringerer Speicherverwendung und einer schnelleren Suche von Wörtern und schnellerem Zugriff auf Wörter in Bezug auf bekannte Eingabetechniken für chinesischen Text.
  • In dem Pinyin-System (1981) gibt es 410 Silben (Laute), einschließlich 405 grundlegende Pinyin-Zeichen und 5 Klänge bzw. Töne, die für eine chinesische Eingabe verwendet werden können. Pinyin-Silben werden aus den 26 Buchstaben des lateinischen Alphabets gebildet und werden deswegen im Allgemeinen für die Eingabe eines chinesischen Texts auf Tastaturen verwendet, auf denen lateinische Zeichen dargestellt werden. Jedem der 26 Buchstaben des lateinischen Alphabets kann ein Indexwert zwischen 0 und 25 zugewiesen werden, der dessen Position in dem Alphabet anzeigt. Zum Beispiel befindet sich der Buchstabe „A" an dem Index 0, „B" an dem Index 1 und so weiter, mit „Z" an dem Index 25.
  • Alternativ können die 410 chinesischen Silben aus den 37 „Bopomofo"-Zeichen gebildet werden. Diese Zeichen befinden sich in einem zusammenhängenden Unicode-Bereich, 0x3105 bis 0x3129, und können somit von dezimalen Zahlen von 0 bis 36 indiziert werden. Der Index von 0 entspricht dem ersten Zeichen in dem Unicode-Bereich, 0x3105, der Index von 1 entspricht dem zweiten Zeichen in dem Unicode-Bereich, 0x3106, und so weiter.
  • Unter Verwendung der obigen Indizes kann somit jede Pinyin- und Bopomofo-Silbe von einer eindeutigen Identifikationsnummer dargestellt werden. Gemäß einem Ausführungsbeispiel der Erfindung wird eine eindeutige Identifikationsnummer für jede (n+1)-Zeichen-Silbe unter Verwendung der folgenden Formel berechnet: ID = index0·(N0) + index1·(N1) + ... + indexn·(Nn),wobei:
    index0 der Index des ersten Zeichens in der Silbe ist,
    index1 der Index des zweiten Zeichens in der Silbe ist,
    indexn der Index des (n+1)ten Zeichens in der Silbe ist, und
    N der höchste Index der für einen Silbenaufbau verwendeten Zeichen ist.
  • Zum Beispiel ist in der Bopomofo-Silbe
    Figure 00070001
    der Index des ersten Zeichens
    Figure 00070002
    , das eine Unicode-Zahl 0x310C hat, 0x310C minus die Unicode-Zahl des ersten Bopomofo-Zeichens 0x3105. Somit ist index0 = 0x310C – 0x3105 = 7. Ähnlich ist index1 der Index des zweiten Zeichens „–", was 0x3127 – 0x3105 = 0x0022 = 34, und index1 ist der Index des dritten Zeichens
    Figure 00070003
    das 0x3120 – 0x3105 = 0x001B = 27 ist. Da der höchste Index für ein Bopomofo-Zeichen 36 ist, ist N = 36 für Bopomofo-Silben-Identfikatoren. Folglich ist der Identifikator für diese Silbe gemäß der obigen Formel: ID = 7·(360 + 34·(361) + 27·(362) = 7 + 1224 + 34992 = 36223.
  • Eindeutige Identifikationsnummern können ähnlich für jede der Pinyin-Silben berechnet werden, wobei indexn zwischen 0 und 25 und N = 25 ist.
  • Die obige Formel ermöglicht, dass ein eindeutiger Identifikator jeder Pinyin- und Bopomofo-Silbe zugewiesen wird. Die Pinyin- und Bopomofo-Silben werden dann in jeweiligen Arrays gespeichert, sortiert gemäß einem eindeutigen Identifikator.
  • 1 zeigt ein Array eindeutiger Identifikatoren für Bopomofo-Silben. Das Array von 1 zeigt die eindeutigen Identifikatoren 2, 4, 6, 8, 10, 12 und 14, welche die ersten 6 Identifikatoren und den letzten (410th) Identifikator darstellen. Die Identifikatoren 2 bis 14 und die dazwischenliegenden Identifikatoren zwischen SylBop 6 und SylBop 410 sind vorzugsweise in steigender Reihenfolge sortiert, so dass SylBop 1 der niedrigste Identifikator und SylBop 410 der höchste Identifikator ist. Arrayindizes im Bereich von 0 bis 409 werden ebenfalls in 1 bei 16 gezeigt.
  • 2 zeigt ein Array eindeutiger Identifikatoren für Pinyin-Silben. Die ersten 6 Pinyin-Silben-Identifikatoren 20, 22, 24, 26, 28 und 30 und der letzte Identifikator 32 sind repräsentativ für die 410 eindeutigen Identifikatoren in dem Array von Pinyin-Silben-Identifikatoren. Die Indizes 34 für das Array von Pinyin-Silben-Identifikatoren liegen wie die Indizes 16 im Bereich von 0 bis 409.
  • Wie in den 1 und 2 gezeigt, befinden sich die Identifikatoren für die Bopomofo- und Pinyin-Silben in unterschiedlichen Arrays. Es ist für Fachleute offensichtlich, dass diese Identifikatoren keine strikte Entsprechung bzw. Übereinstimmung durch den Index haben. Die Identifikatoren SylBop a an dem Index a-1 in dem Array von Bopomofo-Silben-Identifikatoren und SylPin a an dem Index a-1 in dem Array von Pinyin-Silben-Identifikatoren identifizieren nicht notwendigerweise eine Bopomofo-Silbe und ihr Pinyin-Silben-Gegenstück. Es gibt folglich ein zusätzliches Array, das eine Information über die Entsprechung zwischen „Bopomofo"- und Pinyin-Silben enthält.
  • 3 zeigt ein Array von Entsprechungen zwischen Pinyin-Silben und Bopomofo-Silben. Die Elemente 40-50 und 52 sowie zwischen den Elementen 50 und 52 liegende Arrayelemente in dem Entsprechungs-Array sind Indizes zu entweder dem Pinyin-Identifikator-Array oder dem Bopomofo-Identifikator-Array. Die Indizes 54 zu dem Entsprechungs-Array entsprechen den Indizes des Pinyin-Identifikator-Arrays und des Bopomofo-Identifikator-Arrays. Wenn zum Beispiel die Indizes 54 zu dem Entsprechungs-Array den Indizes 34 des Pinyin-Identifikator-Arrays entsprechen, sind Elemente des Entsprechungs-Arrays die Indizes 16 des Bopomofo-Identifikator-Arrays. In diesem Fall ist der Array-Element-Index b bei Index b-1 in dem Entsprechungs-Array der Index des Bopomofo-Identifikator-Arrays des Bopomofo-Identifikators für die Bopomofo-Silbe, die der Pinyin-Silbe entspricht, die den Identifikator an Index b-1 in dem Pinyin-Identifikator-Array hat. In anderen Worten, die Pinyin-Silbe, die von SylPin(b-1) identifiziert wird, entspricht der Bopomofo-Silbe, die von SylBop(Index b) identifiziert wird. Somit liefert das Entsprechungs-Array den Index des Bopomofo-Identifikators, der einem Pinyin-Identifikator entspricht. Es sollte offensichtlich sein, dass in dem Entsprechungs-Array die Indizes 54 stattdessen den Bopomofo-Identifikator-Array-Indizes 16 entsprechen können, wobei die Elemente dann Pinyin-Identifikator-Array-Indizes speichern.
  • 4 zeigt ein Toninformationsarray. Das Toninformationsarray ist ein weiteres Array aus Bytes, das aus 410 Elementen besteht mit Indizes 0 bis 409. Das Toninformationsarray umfasst die Elemente 60-70 und das Element 72, wobei dazwischenliegende Elemente in 4 nicht explizit gezeigt werden. Dieses Array enthält eine Toninformation für alle 410 Bopomofo-Silben und hat eine strikte Entsprechung bzw. Übereinstimmung zu dem Array von Bopomofo-Silben. Das Ton informationselement „Tone Info c" bei Index c-1 entspricht dem Bopomofo-Silben- Identifikator SylBop c an demselben Index c-1 des Bopomofo-Identifikator-Arrays. Die ersten fünf Bits in jedem Byte des Toninformationsarrays zeigen, ob die Bopomofo-Silbe, die an demselben Index des Bopomofo-Identifikator-Arrays identifiziert wird, mit einem der 5 chinesischen Sprachtöne verwendet werden kann.
  • Jede Pinyin- und Bopomofo-Silbe hat mehrere entsprechende chinesische „Hanzi"-Schriftzeichen, die ein Verzeichnis von „Kandidaten" bilden, die in jeweiligen entsprechenden Arrays für jede Pinyin- und Bopomofo-Silbe unter Verwendung von 2-Byte-Werten gespeichert werden. Jeder „Kandidat" in einem derartigen Array hat einen eindeutigen Index in dem Array. Somit kann jedes chinesische Wort durch eine Sequenz der Indizes seiner Silben und der Indizes der entsprechenden chinesischen Hanzi-Zeichen dargestellt werden, aus denen das Wort besteht.
  • In einem Beispiel der Erfindung umfassen Sprachdaten Datensätze für chinesische Wörter in der Länge von 2 bis 8 Silben, die in getrennten Arrays organisiert sind, wobei sich Datensätze für Wörter mit derselben Länge in demselben Array befinden ohne Delimiter. 5 ist ein Blockdiagramm, das ein Format eines Sprachdatensatzes für ein Wort mit mehreren Zeichen zeigt.
  • Der Datensatz in 5 entspricht einem Wort mit mehreren Zeichen mit 3 Silben, einschließlich Pinyin 1, Pinyin 2 und Pinyin 3. Für jede Pinyin-Silbe in dem Wort sind der Index der Silbe und eine Anzeige der Töne, die mit der Silbe verwendet werden können, in dem Datensatz gespeichert. Die Silbenindizes, die den Indizes der Silben in dem Pinyin-Array von 2 entsprechen, werden bei 82, 86 und 90 gezeigt und die Töne werden bei 84, 88 und 92 gezeigt. Die Index- und die Toninformation bilden die Einträge 100, 102 und 104 für jede Silbe.
  • Wie oben beschrieben ist ein Verzeichnis von Kandidaten von Hanzi-Schriftzeichen in einem entsprechenden Array für jede Pinyin- und Bopomofo-Silbe gespeichert. Die Indizes 94, 96 und 98 sind Indizes in dem Verzeichnis von Kandidaten von Hanzi-Zeichen, welche die Pinyin-Silben repräsentieren. Der Index 94 ist in dem Verzeichnis von Kandidaten für Pinyin 1 der Index des ersten Hanzi-Zeichens in dem Wort, das dem Datensatz in 5 entspricht. Ähnlich sind die Indizes 96 und 98 in dem Verzeichnis von Kandidaten für Pinyin 2 und Pinyin 3 jeweils die Indizes der zweiten und dritten Hanzi-Zeichen in dem Wort, das dem Datensatz in 5 entspricht.
  • Ein Sprachdatensatz für ein Wort umfasst somit einen Schlüssel 106 und einen Wert 108, wobei der Schlüssel 106 eine Sequenz von Indizes und Toninformation 100, 102 und 104 für Silben ist, die das Wort darstellt, und der Wert 108 ist eine Sequenz von Indizes von Hanzi-Zeichen 94, 96 und 98 ist, welche die Silben darstellt. Um eine effiziente Suche der Sprachdaten zu erleichtern, werden Datensätze vorzugsweise nach dem Index der ersten Silbe sortiert.
  • 6 ist eine Blockdarstellung eines beispielhaften Sprachdatensatzes. Der Sprachdatensatz in 6 weist das in 5 gezeigte Format auf, einschließlich einer Sequenz von Pinyin-Silben-Indizes 110, 114 und 118, und einer Toninformation 112, 116 und 120, sowie einen Schlüssel 122 und einen Wert 124, der eine Sequenz von chinesischen Zeichenindizes repräsentiert.
  • Der Pinyin-Index 110 ist der Index des Pinyin-Identifikators in dem Pinyin-Identifikator-Array des Pinyin „da15". Das „15" in „da15" stellt die ersten und fünften Töne dar. Für Personen, denen Pinyin-Silben bekannt sind, ist offensichtlich, dass der erste Ton der Ton auf hohem Level ist, der zweite Ton ist der ansteigende Ton, der dritte Ton ist der Ton auf niedrigen Level, der vierte Ton ist der fallende Ton und der fünfte Ton ist der neutrale Ton. Jeder Ton gehört vorzugsweise zu einer Bitposition in einem 5-Bit-Toninformationseintrag in einem Sprachdatensatz. Jeder gültige Ton für ein Pinyin-Zeichen wird angezeigt durch Setzen eines Bits in einer entsprechenden Position des Toninformationseintrags zu einem vorgegebenen Wert. In dem Toninformationseintrag 112 werden die ersten und fünften Töne angezeigt durch den hohen Bitwert an den ersten und fünften Bitpositionen. Alternativ kann der vorgegebene Bitwert niedrig sein. Die anderen Index- und Toninformationseinträge 114/116 und 118/120 in 6 sind ähnlich formatiert.
  • Die Minimumlänge eines Sprachdatensatzes ist abhängig von den Minimumlängen der Indizes in einem Datensatz. Wie oben beschrieben gibt es 410 Pinyin-Silben, was eine Minimumlänge von 9 Bits für jeden Pinyin-Index darstellt. Toninformationseinträge umfassen vorzugsweise 1 Bit pro Ton oder 5 Bits pro Eintrag. Obwohl jeder Kandidatenverzeichnis-Index in dem Wert 124 als ein einzelnes Bit gezeigt wird, sollte angemerkt werden, dass die Länge jedes Kandidatenverzeichnis-Indexes abhängig von der Anzahl von Kandidaten in einem Kandidatenverzeichnis ist. Da Indizes mit variabler Länge typischerweise Delimiter zwischen Indizes oder relativ komplexe Verwaltungstechniken erfordern, sind im Allgemeinen Indizes mit fester Länge bevorzugt. Somit ist die Länge aller Kandidatenverzeichnis-Indizes vorzugsweise abhängig von der Anzahl von Kandidaten in dem längsten Kandidatenverzeichnis.
  • Wie für Fachleute offensichtlich ist, unterstützen die meisten Speicherkomponenten einen Zugriff auf Byte-weite Speichersegmente. Somit werden Sprachdatensätze vorzugsweise formatiert, eine Anzahl von ganzen Bytes zu besetzen. Zum Beispiel kann jedes Index- und Toninformations-Paar in einem Sprachdatensatz als ein zwei-Byte-Eintrag gespeichert werden, wobei zumindest das erste Byte und das erste Bit des zweiten Bytes (d.h. zumindest 9 Bits) den Index speichern und die letzten 5 Bits die Toninformation speichern. Ähnlich bilden Byte-weite Kandidatenverzeichnis-Indizes einen 3-Byte-Speicherwert 124 und unterstützen bis zu 256 Kandidaten in jedem der Kandidatenverzeichnisse. Bei diesem Typ einer Byte-Zuweisung weist der Datensatz in 6 einen 6-Byte-Schlüssel 122 und einen 3-Byte-Wert 124 auf.
  • Um die Sprachdaten weiter zu komprimieren, werden zwei-Zeichen-Wörter vorzugsweise in einem zugewiesenen Format gespeichert. Da die Mehrheit der chinesischen Wörter Wörter mit zwei Zeichen sind, führt eine Raumeinsparung für Datensätze, die zu Wörtern mit zwei Zeichen gehören, zu einer signifikanten Reduzierung der gesamten Speicherraumanforderungen. 7 ist eine Blockdarstellung, die ein Format eines Sprachdatensatzes für ein Wort mit zwei Zeichen zeigt.
  • Wie oben erwähnt, gibt es nur 410 Pinyin-Silben, die in einem chinesischen Text verwendet werden. Jede Silbe, die eine Anfangssilbe sein kann, hat ihre eigenen Paare, wobei jedes Paar eine Anfangssilbe plus eine Variante umfasst. Varianten für jede Anfangssilbe sind die Silben, die auf die Anfangssilbe folgen können. Aus diesem Grund ist es nicht erforderlich, eine Anfangssilbe in jedem Paar für eine bestimmte Anfangssilbe zu speichern, da sie immer gleich ist.
  • Ferner sind Indizes von Anfangssilben kompatibel zu den Indizes eines Arrays von Offsets, so dass Anfangssilbe überhaupt nicht gespeichert werden müssen – ihre Indizes sind dieselben wie die Indizes eines Arrays von Offsets. Das Array von Offsets ist ein Array, in dem an jedem Index, der einer bestimmten Anfangssilbe entspricht, ein Offset in einem Array von Datensätzen für zwei-Zeichen-Wörter, wobei ein Index für die erste Variante für diese Anfangssilbe gespeichert ist. Zum Beispiel ist der erste Offset in dem Arrays von Offsets der Offset der ersten Variante für eine erste Anfangssilbe, was für die erste Anfangssilbe 0 ist. In einem bevorzugten Ausführungsbeispiel sind Anfangssilben gemäß einem eindeutigen Identifikator oder Index in einem Array von Identifikatoren derart angeordnet, dass die erste Anfangssilbe die Anfangssilbe mit dem niedrigsten oder alternativ dem höchsten eindeutigen Identifikator ist. Wenn es 2 Varianten für die erste Anfangssilbe gibt, ist der zweite Offset in dem Array von Offsets entsprechend der ersten Variante für die zweite Anfangssilbe 2, da die erste Variante für die zweite Anfangssilbe von dem ersten Datensatz um 2 versetzt (offset) ist. Alterna tiv kann das Array von Offsets Indizes von ersten Varianten für jede entsprechende Anfangssilbe in dem Array von Datensätzen spezifizieren.
  • Jedes Wort mit zwei Zeichen hat vorzugsweise ein Format, das in 7 gezeigt wird, das ein Blockdiagramm ist, das ein Format eines Sprachdatensatzes für ein zwei-Zeichen-Wort ist. Der Datensatz in 7 umfasst den Index der zweiten Silbe 130, eine Toninformation 132 und 134 für die Anfangssilbe und die zweite Silbe und die Indizes 136 und 138 der jeweiligen chinesischen Schriftzeichen, welche die Anfangssilbe und die zweite Silbe darstellen. Indizes und Toninformation wurden oben beschrieben.
  • In einem Sprachdatensatz für ein Wort mit zwei Zeichen umfasst der Schlüssel 140 den Index 130 für die zweite Silbe und die Toninformation 132 und 134 für beide Silben. Wie die in den 5 und 6 gezeigten Sprachdatensätze umfasst der Wert 142 eine Sequenz von Indizes von chinesischen Zeichen 136 und 138. Wie oben beschrieben sind Datensätze für Varianten derselben Anfangssilbe zusammen gruppiert, so dass Varianten für eine Anfangssilbe unter Verwendung eines Arrays von Offsets zu finden sind. Datensätze für Varianten derselben Anfangssilbe können ebenfalls durch den Index 130 der Anfangssilbe sortiert werden.
  • 8 ist eine Blockdarstellung, die einen beispielhaften Sprachdatensatz für ein Wort mit zwei Zeichen zeigt. Der Sprachdatensatz von 8 ist in dem in 7 gezeigten zugewiesenen Format und entspricht dem zweisilbigen Wort „da3" "jia4". Der Datensatz umfasst einen Schlüssel 154 und einen Wert 156. Der Schlüssel 154 umfasst den Index 144 nur der zweiten Silbe "jia4" und die Toninformation 146 und 148 für die erste und zweite Silbe. Auf den Schlüssel 154 folgend umfasst der Wert 156 Hanzi-Zeichen-Indizes in den Kandidatenverzeichnissen für die erste und zweite Silbe.
  • Wie oben beschrieben ist die Minimumlänge eines Silbenindexes 9 Bits, Toninformationseinträge umfassen 1 Bit pro Ton oder 5 Bits pro Eintrag und die Länge jedes Kandidatenverzeichnis-Indexes ist abhängig von der Anzahl von Kandidaten in einem Kandidatenverzeichnis, wobei Indizes mit festen Längen abhängig von der Anzahl von Kandidaten in dem längsten Kandidatenverzeichnis im Allgemeinen bevorzugt sind. Somit hat der Index 144 eine Länge von zumindest 9 Bits, die Toninformationseinträge 146 und 148 sind 5 Bit lang, wie gezeigt, und obwohl die Indizes 150 und 152 mit einer Länge von einem Bit gezeigt werden, können diese Indizes länger als ein Bit sein.
  • Um Sprachdatensätze von Wörtern mit zwei Zeichen mit einer Länge von ganzen Bytes zu liefern, sind der Schlüssel 154 und der Wert 156 vorzugsweise formatiert, eine Anzahl von ganzen Bytes zu besetzen. Da der Index 130 oder 144 eine Länge von zumindest 9 Bytes hat, kann ein Index nicht in einem einzelnen Byte gespeichert werden. Jeder Tonwert 132, 134, 146 und 148 hat vorzugsweise eine Länge von 5 Bits und besetzt somit weniger als ein Byte. Der Schlüssel 140 oder 154 kann deshalb zum Beispiel in drei Bytes gespeichert werden, wobei der Index 130/144 zumindest in dem ersten Byte und dem ersten Bit des zweiten Bytes gespeichert wird und die letzten fünf Bits jeweils der zweiten und dritten Bytes eine Toninformation speichern. Kandidatenverzeichnis-Indizes mit einer Länge von einem Byte, die einen 2-Byte-Datensatzwert 138 oder 156 bilden, unterstützen bis zu 256 Kandidaten in jedem Kandidatenverzeichnis. Obwohl diese Formatierung einen Datensatz mit einer Länge eines ganzen Bytes liefert, sind andere Datensatzlängen auch möglich, wie für Fachleute offensichtlich ist.
  • Im Vergleich zu dem in 5 gezeigten Sprachdatensatzformat spart das in 7 zugewiesene Format einen Silbenindex pro Datensatz. Das Datensatzformat von 5 umfasst einen Index jeder Silbe, während ein erster Silbenindex in dem Datensatzformat von 7 nicht gespeichert wird. Obwohl das Datensatzformat von 7 von dem obigen Array von Offsets unterstützt wird, sind die meisten Wörter Wörter mit zwei Zeichen, was zu signifikanten Gesamtspeichereinsparungen führt, was insbesondere wichtig ist, wenn Speicherressourcen begrenzt sind.
  • Eine elektronische Vorrichtung wird für eine chinesische Texteingabe aktiviert durch Installieren von chinesischen Sprachdaten auf der Vorrichtung. Identifikatoren für jede Silbe werden berechnet, wie oben beschrieben, und verwendet, um die in 1 und 2 gezeigten Identifikator-Arrays, das Entsprechungs-Array in 3 und das in 4 gezeigte Toninformations-Array zu erzeugen. Unter Verwendung der Indizes in den Identifikator-Arrays werden Sprachdatensätze erzeugt. Wörter mit zwei Zeichen werden vorzugsweise dargestellt durch Datensätze, die das in 7 gezeigte Format haben, und auf sie wird unter Verwendung eines Arrays von Offsets zugegriffen. Datensätze, die Wörtern mit mehr als zwei Zeichen entsprechen, haben vorzugsweise das in 5 gezeigte Format. Diese Datensätze werden verwendet, um eingegebene Pinyin-Silben, die von einem Benutzer eingegeben werden, durch entsprechende chinesische Text-Hanzi-Zeichen zu ersetzen. Wie für Fachleute offensichtlich sein dürfte, können Benutzereingaben von Pinyin-Silben durch Bopomofo-Silben auf einer Anzeige ersetzt werden und dann in chinesische Hanzi-Zeichen als Texteingabe konvertiert werden. In den meisten Implementierungen werden die Arrays und Datensätze von einer Sprachdatenquelle, wie einem Hersteller (provider) einer Texteingabesoftwareanwendung oder eines -Moduls, erzeugt und zur Verfügung gestellt und auf einer elektronischen Vorrichtung installiert. Ein Benutzer einer derartigen Vorrichtung installiert somit vorher erzeugte Sprachdaten auf der Vorrichtung, ohne zuerst die Sprachdaten erzeugen zu müssen.
  • Die oben beschriebenen Sprachdaten vereinfachen eine Eingabe von chinesischem Text, für den Datensätze existieren. Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung werden neue Wörter, Phrasen und Sätze gespeichert, die von einem Benutzer hinzugefügt werden. Wenn ein Benutzer eine eingegebene Pinyin-Sequenz einspeichert, wird die Sequenz segmentiert und unter Verwendung der obigen Datensätze in eine Sequenz von chinesischen Text-Hanzi-Silben konvertiert zur Anzeige für einen Benutzer. Wenn der chinesische Text angezeigt wird, kann der Benutzer die Kandidaten ändern, wenn ein anderer Eingabetext beabsichtigt war, zum Beispiel durch Aufrufen einer Verweis(lookup)funktion basierend auf jedem Teil der Sequenz. Wenn der Benutzer die Kandidaten für die Sequenz von Pinyin nach der Umwandlung verändert hat, werden neue Wörter mit den geänderten Kandidaten gebildet und zu den Sprachdaten hinzugefügt, wie im Folgenden detaillierter beschrieben wird.
  • Wenn zum Beispiel der Benutzer die Sequenz „zhu4 ni3 hao3yun4" eingibt, kann die Sequenz als zhu4/ni3/hao3yun4 segmentiert werden, was dem chinesischen Text
    Figure 00170001
    entspricht. Das chinesische Zeichen
    Figure 00170002
    ist der erste Kandidat der Pinyin-Silbe „zhu4". Wenn der Benutzer den Kandidat für die erste Pinyin von
    Figure 00170003
    in
    Figure 00170004
    ändert, wobei
    Figure 00170005
    der vierte Kandidat des Pinyins „zhu4" ist, wird ein neues Wort gebildet und zu den Sprachdaten hinzugefügt.
  • Das bestimmte neue Wort, das gebildet wird, wenn ein Benutzer einen Kandidaten ändert, ist abhängig von der Position des Kandidaten in einer Eingabesequenz. Wenn der von dem Benutzer gewählte Kandidat das erste Wort in einer Sequenz ist, dann wird das nächste Wort in der Sequenz zu dem ersten Wort hinzugefügt und das neue Wort resultiert aus der Vereinigung der beiden. In dem obigen Beispiel wird der Kandidat für die erste Pinyin von dem Benutzer geändert, so dass die zweite Pinyin in der Sequenz zu der ersten Pinyin hinzugefügt wird, um das neue Wort zu bilden, und ein Datensatz für das neue Wort wird zu den Sprachdaten hinzugefügt. Der Kandidat für die erste Pinyin in dem neuen Wort ist der gewählte Kandidat.
  • Ähnlich wird, wenn der von dem Benutzer gewählte Kandidat dem letzten Wort in einer Sequenz entspricht, das vorherige Wort zu dem letzten Wort hinzugefügt und das neue Wort resultiert aus der Vereinigung der beiden. Wenn der von dem Benutzer gewählte Kandidat einem zwischen zwei anderen Wörtern dazwischenliegenden Wort entspricht, werden zwei neue Wörter gebildet durch Hinzufügen des vorhergehenden Wortes zu dem dazwischenliegenden Wort und Hinzufügen des nachfolgenden Wortes zu dem dazwischenliegenden Wort. Die zwei neuen Wörter werden dann zu den Sprachdaten hinzugefügt.
  • Die Benutzereingabemuster werden in lernenden Sprachdaten gespeichert, die vorzugsweise einen lernenden Sprachdaten-Header und ein lernendes Sprachdaten-Array umfassen. 9 zeigt eine Blockdarstellung eines Format eines lernenden Sprachdaten-Headers, 10 zeigt eine Blockdarstellung eines beispielhaften lernenden Sprachdaten-Headers und 11 ist eine Blockdarstellung, die ein lernendes Sprachdaten-Array zeigt.
  • Lernende Sprachdaten können Datensätze für chinesische Wörter variierender Längen umfassen. Der in 9 gezeigte Sprachdaten-Header umfasst eine Information über die Längen von Wörtern, für die Datensätze in den lernenden Sprachdaten gespeichert sind, und die Positionen dieser Datensätze in den lernenden Sprachdaten. Der Header-Längeneintrag 160 ist die Länge des Headers selbst, einschließlich des Header-Längeneintrags. Der nächste Eintrag 162 ist die Anzahl von unterschiedlichen Wortlängen, für die Datensätze in dem lernenden Sprachdaten-Array existieren, die im Folgenden detaillierter beschrieben werden. Wenn zum Beispiel die lernenden Sprachdaten Datensätze für Wörter mit zwei Zeichen und Wörter mit fünf Zeichen umfassen, dann ist der Eintrag 162 2.
  • Der Rest des lernenden Sprachdaten-Headers weist Paare von Wortlängen und Offsets auf. Die Anzahl von Paaren entspricht der Anzahl von unterschiedlichen Wortlängen in dem Header-Eintrag 162. Drei derartige Paare 164/166, 168/170 und 172/174 werden in dem Header von 9 gezeigt. Wenn Datensätze für mehr als drei unterschiedliche Wortlängen in den lernenden Sprachdaten gespeichert sind, umfasst der lernende Sprachdaten-Header weitere Paare, allgemein als 176 bezeichnet. Jedes Paar umfasst einen Wortlängeneintrag 164, 168 oder 172, der eine bestimmte Länge von Wörtern angibt, für die Datensätze in den lernenden Sprachdaten existieren, und einen Offset-Eintrag 166, 170 oder 174, der den Offset des ersten Datensatzes in dem lernenden Sprachdaten-Array für Wörter der Länge anzeigt, die in dem vorhergehenden Wortlängeneintrag angegeben wird.
  • Der beispielhafte lernende Sprachdaten-Header in 10 umfasst einen zwei-Byte-Header-Längeneintrag 180, einen ein-Byte-Wortlängeneintrag 182 und drei Paare von ein-Byte-Wortlängeneinträgen und zwei-Byte-Offset-Einträgen 184/186, 188/190 und 192/194. Die Länge eines lernenden Sprachdaten-Headers und jeder Eintrag darin ist in keinster Weise auf die in 10 gezeigten Längen beschränkt. Die Gesamtlänge eines Headers ist abhängig von dem zugehörigen lernenden Sprachdaten-Array und kann sich ändern, wenn neue Wörter zu dem lernenden Sprachdaten-Array hinzugefügt werden, wenn zum Beispiel ein Datensatz für ein neues Wort, das eine andere Länge hat als die Wörter, für die Datensätze existieren, zu dem lernenden Sprachdaten-Array hinzugefügt wird. Der Inhalt des Headers von 10 wird im Folgenden in Verbindung mit dem in 11 gezeigten lernenden Sprachdaten-Array detaillierter beschrieben.
  • Das lernende Sprachdaten-Array in 11 umfasst ein Array von Wörtern mit zwei Zeichen 218, ein Array von Wörtern mit fünf Zeichen 220 und ein Array von Wörtern mit zehn Zeichen 222. Jedes dieser Arrays in dem lernenden Sprachdaten-Array umfasst eine Serie von Datensätzen 200-204, 206-210 und 212-216. Es sollte angemerkt werden, dass lernende Sprachdaten-Arrays von Benutzereingaben abhängig sind und deswegen für verschiedene Benutzer und elektronische Vorrichtungen unterschiedlich sein können. Ein lernendes Sprachdaten-Array kann Datensätze für geringere, längere oder andere Wortlängen umfassen, als die in 11 gezeigten.
  • Unter Bezugnahme nun auf die beiden 10 und 11 zeigt der Header-Längeneintrag an, dass der Header 12 Bytes lang ist. Wie in dem Wortlängenanzahleintrag 182 gezeigt wird, umfasst das entsprechende Sprachdaten-Array Datensätze für 3 unterschiedliche Wortlängen. Die erste Wortlänge ist zwei Zeichen, wie von dem Wortlängeneintrag 184 angezeigt wird, und der erste Datensatz 200 für ein Wort mit zwei Zeichen hat einen Offset von 12 in dem lernenden Sprachdaten-Array, wie bei 200 gezeigt wird. Obwohl in 11 die lernenden Sprachdaten getrennt gezeigt werden, um eine Überlastung der Zeichnungen zu vermeiden, sollte angemerkt werden, dass der lernende Sprachdaten-Header mit 12 Bytes vorzugsweise dem lernenden Sprachdaten-Array in den lernenden Sprachdaten vorhergeht. Es sollte auch angemerkt werden, dass zum Zweck der Darstellung angenommen wird, dass der lernende Sprachdaten-Header und das Array als eine Vielzahl von ein-Byte-Einträgen in einem Speicher derart gespeichert werden, so dass der Datensatz 200 tatsächlich der dreizehnte Eintrag in den lernenden Sprachdaten ist und von dem ersten Eintrag der lernenden Sprachdaten (d.h. dem ersten Header-Längen-Byte) um 12 Einträge versetzt ist.
  • Das lernende Sprachdaten-Array umfasst auch Datensätze für Wörter mit fünf Zeichen, in dem Wortlängeneintrag 188 angezeigt, beginnend an dem Offset 152 in dem lernenden Sprachdaten-Array. Wenn Wörter mit zwei Zeichen in einem zugewiesenen 5-Byte-Format gespeichert werden, wie oben beschrieben, nehmen die 140 Einträge zwischen dem ersten Datensatz 200 mit einem Wort mit zwei Zeichen bei Offset 12 und dem ersten Datensatz 206 mit einem Wort mit fünf Zeichen bei Offset 152 28 Datensätze auf.
  • Die Wortlängen- und Offseteinträge 192 und 194 zeigen an, dass Datensätze für Wörter mit zehn Zeichen an einem Offset von 625 in dem lernenden Sprachdaten-Array beginnen. Wenn das Datensatzformat in 5 für Wörter mit fünf Zeichen verwendet wird, mit zwei Byte pro Index/Ton-Paar pro Silbe und einem Byte pro Kandidatenindex, dann ist jeder Datensatz 15 Bytes und es gibt 30 solcher Datensätze mit 15 Bytes für Wörter mit fünf Zeichen in dem lernenden Sprachdaten-Array, welche die Offsets 152 bis 601 besetzen. Der Rest des lernenden Sprachdaten-Arrays, der dem Eintrag 212 bei Offset 625 folgt, speichert Datensätze für Wörter mit zehn Zeichen.
  • Die vorhergehende Beschreibung und die Beispiele von lernenden Sprachdaten, die in den 10 und 11 gezeigt werden, nehmen an, dass das Sprachdaten-Array zugänglich ist unter Verwendung von Offsets einer ganzen Anzahl von Bytes. Jedoch sind auch andere Zugriffsmechanismen möglich, wobei der lernende Sprachdaten-Header Indizes, Adressen oder andere Zeiger zu dem lernenden Sprachdaten-Array speichert.
  • Verschiedene Komponenten der Sprachdaten werden oben beschrieben. Eine Verwendung von Sprachdaten während einer Texteingabe wird detaillierter im Folgenden beschrieben. 12 ist ein Ablaufdiagramm eines Verfahrens einer Verwendung von Sprachdaten.
  • Das Verfahren beginnt bei Schritt 230, wo Benutzereingaben empfangen und gepuffert werden. Wie für Fachleute offensichtlich ist, sind Benutzereingaben für einen chinesischen Text typischerweise in der Form von Pinyin-Silben. Die empfangene Benutzereingabesequenz wird in Schritt 232 in Wörter segmentiert und in Schritt 234 in einen entsprechenden chinesischen Text konvertiert. Für Fachleute ist ebenso offensichtlich, dass eingegebene Pinyin-Silben auch mit entsprechenden Bopomofo-Silben auf einer Anzeige ersetzt werden können, bevor die Eingaben in chinesischen Text konvertiert werden. Die Umwandlung in Schritt 234 umfasst ein Durchsuchen der Sprachdaten, einschließlich lernenden Sprachdaten, wenn verfügbar, für jedes Wort und Ersetzen der eingegebenen Pinyin-Sequenz und angezeigten Bopomofo-Sequenz, wenn vorhanden, mit den Hanzi-Kandidaten, die in einem entsprechenden Datensatz in den Sprachdaten identifiziert werden.
  • In Schritt 236 wird der konvertierte chinesische Text, der Hanzi-Kandidaten aufweist, einem Benutzer an einer aktuellen Texteingabeposition auf einem Texteingabebildschirm angezeigt und ersetzt vorzugsweise die eingegebenen Pinyins oder angezeigten Bopomofos. Dann wird in Schritt 238 bestimmt, ob der Benutzer einen der Hanzi-Kandidaten verändert hat, zum Beispiel durch Aufrufen und Wäh len aus einem Verweis-Fenster. Das Verfahren geht zu Schritt 244 weiter, um den konvertierten chinesischen Text in die elektronische Vorrichtung einzugeben, in Verbindung mit der das Verfahren implementiert ist, und um dann weitere Eingaben von dem Benutzer in Schritt 230 zu empfangen, wenn der Benutzer keinen der Kandidaten geändert hat. Die weiteren Benutzereingaben werden dann segmentiert und konvertiert, wie oben beschrieben, um neue Wörter einzugeben.
  • Wenn in Schritt 238 festgestellt wird, dass der Benutzer einen Kandidaten geändert hat, wird die Sequenz von Kandidaten, einschließlich dem gewählten Kandidaten, in die elektronische Vorrichtung eingegeben und ersetzt die aktuell angezeigte Kandidatensequenz, die der eingegebenen Pinyin-Sequenz entspricht, auf dem Eingabebildschirm. Um ein Lernen wie oben beschrieben vorzusehen, werden ein oder mehrere neue Wort/Wörter gebildet, wie oben beschrieben, und lernende Sprachdaten werden in Schritt 242 mit dem neuen Wort oder den neuen Wörtern aktualisiert.
  • 13 ist eine Blockdarstellung eines Systems zur Verwendung von Sprachdaten. Das System von 13 umfasst eine Tastatur 251, eine Eingabe-Warteschlange 252, eine Benutzerschnittstelle 253, einen Eingabeprozessor 254 und eine Anzeige 256, die alle in einer elektronischen Vorrichtung 250 implementiert sind.
  • Die Tastatur 251 umfasst in den meisten Implementierungen Tasten, die Zeichen repräsentieren, die zur Eingabe von Pinyin-Silben verwendet werden, und kann eine vollständig alphanumerische Tastatur, wie eine QWERTY- oder DVORAK-Tastatur, ein Telefontastaturfeld oder ein anderer Typ einer Tastatur oder eines Tastaturfelds sein. Es sollte jedoch angemerkt werden, dass die Tastatur 251 stattdessen eine graphische Schnittstelle sein kann, die zum Beispiel eine Benutzereingabe über einen Touchscreen oder von Hand geschrieben unter Verwendung eines Schreibers unterstützt. In der elektronischen Vorrichtung 250 werden Benutzereingaben von der Tastatur 251 empfangen und durch die Eingabe-Warteschlange 252 gepuffert.
  • Die Benutzerschnittstelle 253 liefert eine Schnittstelle für den Benutzer der elektronischen Vorrichtung 250. Sie akzeptiert Eingaben von dem Benutzer über die Tastatur 251 und liefert über die Anzeige 256 auch Ausgaben an den Benutzer. Die Benutzerschnittstelle 253 zeigt zum Beispiel einen Texteingabebildschirm an zum Erstellen von Text auf dem Anzeigebildschirm 156.
  • Der Eingabeprozessor 254 empfängt über die Benutzerschnittstelle 253 gepufferte Pinyin-Eingaben von der Eingabe-Warteschlange 252. Der Eingabeprozessor 254 segmentiert die Eingaben in Wörter und identifiziert chinesische Text-Kandidaten basierend auf den segmentierten Eingaben. Diese identifizierten Kandidaten werden dann auf der Anzeige 256 angezeigt. Der Eingabeprozessor 254 greift auf die obigen Arrays und Sprachdatensätze zu, wenn erforderlich, wenn chinesischer Text in die elektronische Vorrichtung 250 eingegeben wird. Wenn das System von 13 ein Lernen unterstützt, dann greift der Eingabeprozessor 254 auch auf lernende Sprachdatensätze zu und speichert diese.
  • In 13 werden die Arrays und Datensätze in dem Eingabeprozessor 254 gespeichert, zum Beispiel enthalten als Teil eines Softwarecodes, der den Eingabeprozessor 254 implementiert. Alternativ werden die Arrays und Datensätze in einem Puffer oder Speicher in dem Eingabeprozessor 254 oder zumindest zugänglich für diesen gespeichert. Ein derartiger Speicher weist einen oder mehrere Datenspeicher auf und wird implementiert unter Verwendung eines oder mehrerer Typen von Speicherkomponenten. Elektronische Vorrichtungen, wie 250, umfassen typischerweise sowohl beschreibbaren Speicher, zum Beispiel einen Arbeitsspeicher (RAM – random access memory), als auch einen Festwertspeicher (ROM – read-only memory), aus dem Daten nur gelesen werden können. Beschreibbarer Speicher kann entweder flüchtig oder nicht-flüchtig sein, obwohl ein nicht-flüchtiger Speicher, wie Flash-RAM oder ein Batterie-gestützter RAM, bevorzugt ist, wenn Daten in dem beschreibbaren Speicher im Fall eines Stromausfalls behalten werden sollen. Da die Arrays und Sprachdatensätze typischerweise nicht geändert werden, wenn sie eingerichtet sind, werden sie vorzugsweise in einem nicht-flüchtigen Speicher gespeichert, der kein beschreibbarer Speicher sein muss. Lernende Sprachdatensätze werden vorzugsweise in einem nicht-flüchtigen beschreibbaren Speicher gespeichert, da neue lernende Sprachdatensätze hinzugefügt werden, wenn ein Lernen unterstützt wird.
  • In einer bevorzugten Anordnung wird der Eingabeprozessor 254 als eine Software-Anwendung oder ein Software-Modul implementiert, die/das konfiguriert ist, in Verbindung mit einer oder mehreren Software-Anwendungen auf der elektronischen Vorrichtung 250 zu arbeiten, um eine chinesische Texteingabe zur Verarbeitung durch derartige Software-Anwendungen zu ermöglichen.
  • Die Anzeige 256 liefert eine visuelle Datenausgabe an einen Benutzer der elektronischen Vorrichtung 250. In tragbaren elektronischen Vorrichtungen werden zum Beispiel oft Flüssigkristallanzeigen (LCD – liquid crystal display) verwendet.
  • Benutzereingaben zur Eingabe chinesischen Texts in die elektronische Vorrichtung 250 werden gemacht durch Drücken von Tasten auf der reduzierten Tatstatur 251. Eine Texteingabe kann von dem Benutzer aufgerufen werden zum Beispiel durch Starten einer bestimmten Software-Anwendung, eines Moduls oder einer Utility unter Verwendung einer bestimmten Funktion, die auf der elektronischen Vorrichtung 250 unterstützt wird. Wenn eine Operation oder Funktion eine Eingabe von chinesischem Text erfordert, verarbeitet das chinesische Texteingabesystem Pinyin-Eingaben des Benutzers, um korrekte chinesische Silben vorauszuberechnen. Wenn mehr als eine Software-Anwendung zum Beispiel eine Texteingabe unterstützt, wird das chinesische Texteingabesystem vorzugsweise als ein Software-Modul oder -Utility implementiert, die von jeder der Software-Anwendungen aufgerufen werden kann. Alternativ kann jede derartige Software-Anwendung Software-Anweisungen enthalten, um eine chinesische Texteingabe wie hier beschrieben durchzuführen.
  • Wie offensichtlich ist, zeigt die Benutzerschnittstelle 153 eine Texteingabeanzeige auf der Anzeige 256 an, um die Texteingabe zu unterstützen. Der bestimmte Inhalt und die Formatierung der Texteingabeanzeige bzw. des Texteingabebildschirms ist abhängig zum Beispiel von der Eigenschaft des eingegebenen Texts, der Funktion, für die Text eingegeben wird, oder der aktuell verwendeten Software-Anwendung. Pinyins werden anfangs auf dem Texteingabebildschirm angezeigt und können nachfolgend durch entsprechende Bopomofos ersetzt werden. Wenn die eingegebenen Pinyins segmentiert und in chinesischen Text konvertiert werden, werden Hanzi-Zeichen-Kandidaten, die von dem Texteingabesystem identifiziert oder von dem Benutzer gewählt werden, von Hanzi-Zeichen ersetzt.
  • Wenn Pinyin-Eingaben des Benutzers empfangen wurden, segmentiert der Eingabeprozessor 254 die Pinyin-Eingaben und konvertiert sie in chinesischen Text durch Durchsuchen von Sprachdatensätzen und lernenden Sprachdatensätzen, wenn diese vorhanden sind. Wie oben beschrieben, werden die von dem Benutzer eingegebenen Pinyins auf der Anzeige 256 angezeigt und durch chinesischen Text ersetzt, nachdem die Pinyins segmentiert und konvertiert wurden. Wenn ein Hanzi-Zeichen-Kandidat in dem chinesischen Text von dem Benutzer geändert wird, ersetzt der Eingabeprozessor 254 den Kandidaten mit dem gewählten Kandidaten auf der Texteingabeanzeige auf der Anzeige 256 und fügt ein oder mehrere neue(s) Wort/Wörter zu den lernenden Sprachdaten hinzu, wo ein lernen unterstützt wird. Eine Benutzerauswahl eines Kandidaten kann erreicht werden zum Beispiel durch Aufrufen einer Verweisfunktion basierend auf einer Sequenz von Benutzereingaben und unter Verwendung von Navigationstasten auf der Tastatur 251 oder einer Hilfs-Eingabevorrichtung (nicht gezeigt), wie ein Einstellrad (thumb wheel), um aus einem Verzeichnis von Kandidaten entsprechend der Sequenz von Eingaben auszuwählen. In einem Beispiel werden, wenn die Verweisfunktion aufgerufen wird, die Pinyin-Eingabe durch den Benutzer oder die entsprechenden Bopomofos vorzugsweise entweder in dem Texteingabebildschirm oder in einem Verweisfenster angezeigt und der Benutzer wählt die Eingabesequenz oder einen Teil daraus, auf der/dem die Verweisfunktion basieren soll. Der Benutzer wählt dann aus einer oder mehreren Hanzi-Varianten für die Eingabesequenz und die ausgewählte Variante ersetzt die Eingabesequenz in dem Texteingabebildschirm auf der Anzeige 256.
  • Obwohl die obige Beschreibung Funktionen betrifft, die von dem Eingabeprozessor 254 durchgeführt werden, ist für Fachleute offensichtlich, dass diese Funktionen des Eingabeprozessors 254 von Software-Anweisungen in einer Software-Anwendung, -Modul oder -Utility angewiesen werden, in denen ein chinesisches Texteingabeverfahren implementiert ist.
  • Es sollte angemerkt werden, dass die obige Beschreibung bevorzugte Ausführungsbeispiele nur auf beispielhafte Weise betrifft. Viele Variationen der oben beschriebenen Systeme und Verfahren sind für Fachleute offensichtlich, und derartige offensichtliche Variationen befinden sich in dem Umfang der Erfindung, wie beschrieben und beansprucht, ob ausdrücklich beschrieben oder nicht.

Claims (21)

  1. Sprachdatenstruktur zur Verwendung bei der Konvertierung von chinesischen Pinyin-Silben in chinesische Hanzi-Schriftzeichen in einem System gemäß Anspruch 18, wobei die Datenstruktur aufweist: eine Vielzahl von Hanzi-Zeichen-Kandidatenverzeichnissen, wobei jedes Verzeichnis zu einer Pinyin-Silbe gehörende Hanzi-Zeichen-Kandidaten aufweist, und jeder Hanzi-Zeichen-Kandidat in jedem Verzeichnis einen Index in dem Verzeichnis hat; eine Vielzahl von Sprachdatensätzen, wobei jeder Sprachdatensatz einem Wort entspricht, das eine Vielzahl von Pinyin-Silben hat und einen Wert (108) aufweist, wobei der Wert (108) in jedem Sprachdatensatz aufweist eine Sequenz von Indizes (94, 96, 98) von Hanzi-Zeichen-Kandidaten in dem Verzeichnis von Kandidaten, die jeweils zu den Pinyin-Silben des Worts gehören, welche die Pinyin-Silben des Worts darstellen; dadurch gekennzeichnet, dass jeder Sprachdatensatz weiter einen Schlüssel (106) aufweist, wobei der Schlüssel (106) in jedem Sprachdatensatz eine Sequenz von Indizes (82, 86, 90) und eine Toninformation (84, 88, 92) für die Pinyin-Silben des Wortes aufweist, das dem Sprachdatensatz entspricht; und die Datenstruktur einen oder mehrere lernende(n) Sprachdatensatz/Sprachdatensätze aufweist, wobei jeder lernende Sprachdatensatz von einem Benutzer erzeugt wird durch Ändern eines oder mehrerer der Hanzi-Zeichen-Kandidaten in einem Sprachdatensatz, um ein neues Wort zu bilden.
  2. Sprachdatenstruktur gemäß Anspruch 1, wobei jeder Datensatz eine ganze Anzahl von Bytes lang ist.
  3. Sprachdatenstruktur gemäß Anspruch 1, wobei der Index und die Toninformation für jede Pinyin-Silbe in zwei Bytes in einem Datensatz gespeichert sind.
  4. Sprachdatenstruktur gemäß Anspruch 3, wobei der Index eine Länge von 10 Bit hat und wobei die Toninformation eine Länge von 5 Bit hat.
  5. Sprachdatenstruktur gemäß Anspruch 1, wobei die Vielzahl von Sprachdatensätzen in einer Vielzahl von Arrays gespeichert ist, und wobei jedes Array Sprachdatensätze speichert, die Wörtern mit derselben Anzahl von Pinyin-Silben entsprechen.
  6. Sprachdatenstruktur gemäß Anspruch 5, wobei die Sprachdatensätze in jedem der Vielzahl von Arrays basierend auf einem ersten Index in der Sequenz von Indizes und der Toninformation sortiert sind.
  7. Sprachdatenstruktur gemäß Anspruch 1, die weiter aufweist ein Array von zu Pinyin-Silben gehörenden Pinyin-Silben-Identifikatoren, wobei in dem Array von Pinyin-Silben-Identifikatoren die Indizes der Pinyin-Silben des Worts Indizes der Identifikatoren sind, die zu den Pinyin-Silben des Worts gehören.
  8. Sprachdatenstruktur gemäß Anspruch 7, wobei jede Silbe n+1-Zeichen aus einem Alphabet von N Schriftzeichen aufweist und wobei die Identifikatoren gemäß der folgenden Formel bestimmt werden: ID = index0·(N0) + index1·(N1) + ... + indexn·(Nn),wobei: index0 der Index eines ersten Zeichens in der Silbe ist, index1 der Index eines zweiten Zeichens in der Silbe ist, indexn der Index eines (n+1)-ten Zeichens in der Silbe ist, und N die gesamte Anzahl der Zeichen ist, die für eine Silbenkonstruktion verwendet wird.
  9. Sprachdatenstruktur gemäß Anspruch 7, die weiter ein Array von chinesischen Bopomofo-Silben-Identifikatoren, die zu Bopomofo-Silben gehören, und ein Zugehörigkeits-Array aufweist, das eine Zugehörigkeit zwischen jedem Pinyin-Silben-Identifikator und seinem entsprechenden Bopomofo-Silben-Identifikator anzeigt.
  10. Sprachdatenstruktur gemäß Anspruch 1, wobei die Vielzahl von Datensätzen Sprachdatensätze für zweisilbige Wörter aufweist und wobei jeder Sprachdatensatz für ein zweisilbiges Wort aufweist: einen Schlüssel, der einen Index einer zweiten Pinyin-Silbe in dem zweisilbigen Wort und einen Toninformationseintrag für eine erste Pinyin-Silbe und die zweite Pinyin-Silbe in den zweisilbigen Wörtern aufweist; und einen Wert, der eine Sequenz von Indizes von Hanzi-Zeichen-Kandidaten in den Verzeichnissen von Kandidaten, die jeweils zu den ersten und zweiten Pinyin-Silben gehören, welche die ersten und zweiten Pinyin-Silben darstellen.
  11. Sprachdatenstruktur gemäß Anspruch 10, wobei die Sprachdatensätze für zweisilbige Wörter in einem Datensatzarray gespeichert werden, wobei jeder der Sprachdatensätze für zweisilbige Wörter eine zu der ersten Pinyin-Silbe gehörende Variante ist, wobei zu der selben ersten Pinyin-Silbe gehörende Varianten in dem Datensatzarray gruppiert werden, und wobei die Sprachdatenstruktur weiter ein Array von Offsets aufweist, wobei jeder Offset in dem Datensatzarray einen Offset einer zu einer ersten Pinyin-Silbe gehörenden ersten Variante aufweist.
  12. Verfahren zum Erzeugen von chinesischen Sprachdaten auf einem Computersystem (250), das die Schritte aufweist: Erzeugen von Identifikatoren für jede einer Vielzahl von chinesischen Pinyin-Silben; Speichern der erzeugten Identifikatoren in einem Array von Identifikatoren in einem Speicher des Computersystems (250), wobei jeder Identifikator in dem Array von Identifikatoren einen Arrayindex aufweist; Erzeugen einer Vielzahl von Hanzi-Zeichen-Kandidatenverzeichnissen, wobei jedes Verzeichnis zu einer Pinyin-Silbe gehörende Hanzi-Zeichen-Kandidaten aufweist, und jeder Hanzi-Zeichen-Kandidat in jedem Verzeichnis einen Kandidatenindex in dem Verzeichnis hat; für jedes einer Vielzahl von Wörtern mit mehreren Pinyin-Silben Erzeugen eines Datensatzes, der einen Wert (108) aufweist, wobei der Wert (108) in dem Verzeichnis von zu jeder der mehrfachen Pinyin-Silben gehörenden Kandidaten einen Kandidatenindex des Kandidaten aufweist, der jede der mehrfachen Pinyin-Silben darstellt. dadurch charakterisiert, dass jeder Datensatz ferner einen Schlüssel (106) aufweist, wobei der Schlüssel (106) einen Arrayindex (82, 86, 90) des Identifikators in dem Array von Identifikatoren für jede der mehreren Pinyin-Silben und eine Toninformation (84, 88, 92) für jede der mehreren Pinyin-Silben aufweist; wobei das Verfahren weiter den Schritt aufweist: Erzeugen eines oder mehrerer lernender Sprachdatensatzes/Sprachdatensätze, wobei jeder lernende Sprachdatensatz von einem Benutzer erzeugt wird durch Ändern eines oder mehrerer Kandidaten-Indizes in einem Datensatz, um ein neues Wort zu bilden.
  13. Verfahren gemäß Anspruch 12, das weiter den Schritt eines Sortierens des Arrays von Identifikatoren in aufsteigender Reihenfolge des Identifikators aufweist.
  14. Verfahren gemäß Anspruch 12, wobei der Schritt des Erzeugens eines Datensatzes aufweist den Schritt des Erzeugens eines Datensatzes, der einen Schlüssel und einen Wert für jedes der Vielzahl von zweisilbigen Wörtern aufweist, wobei der Schlüssel einen Arrayindex des Identifikators in dem Array von Identifikatoren für eine zweite Pinyin-Silbe in dem zweisilbigen Wort und eine Toninformation für eine erste Pinyin-Silbe und die zweite Pinyin-Silbe in dem zweisilbigen Wort aufweist, und wobei der Wert in dem Verzeichnis von zu jeder der ersten und zweiten Pinyin-Silben gehörenden Kandidaten einen Kandidatenindex des Kandidaten aufweist, der jede der ersten und zweiten Pinyin-Silben darstellt.
  15. Verfahren gemäß Anspruch 14, das die Schritte aufweist: Speichern der Datensätze für zweisilbige Wörter in einem Datensatzarray, wobei Datensätze für zweisilbige Wörter, welche dieselbe erste Pinyin-Silbe haben, in dem Datensatzarray gruppiert werden; und Erzeugen eines Arrays von Offsets, wobei jeder Offset in dem Datensatzarray einen Offset eines ersten zu einer ersten Pinyin-Silbe gehörenden Datensatzes aufweist.
  16. Verfahren gemäß Anspruch 12, das weiter den Schritt aufweist des Speicherns des Datensatzes in einem der Vielzahl von Datensatzarrays, wobei jedes Array Datensätze entsprechend Wörtern mit einer vorgegebenen Anzahl von Pinyin-Silben speichert.
  17. Verfahren gemäß Anspruch 16, wobei die Datensätze in jedem der Vielzahl von Datensatzarrays basierend auf einem ersten Arrayindex in jedem Datensatz sortiert werden.
  18. System (250) einer Verwendung von chinesischen Sprachdaten zur Konvertierung von chinesischen Pinyin-Silben in chinesische Hanzi-Schriftzeichen, wobei die Sprachdaten umfassen eine Vielzahl von Hanzi-Zeichen-Kandidatenverzeichnissen, wobei jedes Verzeichnis zu einer Pinyin-Silbe gehörende Hanzi-Zeichen-Kandidaten aufweist, und jeder Hanzi-Zeichen-Kandidat in jedem Verzeichnis einen Index in dem Verzeichnis hat, und eine Vielzahl von Sprachdatensätzen, wobei jeder Sprachdatensatz einem Wort entspricht, das eine Vielzahl von Pinyin-Silben (100, 102, 104) hat und einen Wert (108) aufweist; wobei der Wert (108) in jedem Sprachdatensatz aufweist eine Sequenz von Indizes (94, 96, 98) von Hanzi-Zeichen-Kandidaten in dem Verzeichnis von Kandidaten, die jeweils zu den Pinyin-Silben des Worts gehören, welche die Pinyin-Silben des Worts darstellen; wobei das System (250) aufweist: eine Tastatur (251) mit Tasten, die eine Vielzahl von Zeichen zum Zusammensetzen von Pinyin-Silben darstellen; eine Eingangs-Warteschlange (252), die konfiguriert ist, eingegebene Pinyin-Silben von der Tastatur (251) zu empfangen; ein Speicher, der konfiguriert ist, die Vielzahl von Hanzi-Zeichen-Kandidatenverzeichnissen und die Vielzahl von Datensätzen zu speichern; ein Eingangsprozessor (254), der betriebsfähig mit dem Speicher und der Eingangs-Warteschlange (252) verbunden ist und konfiguriert ist, die eingegebenen Pinyin-Silben in Eingabewörter zu segmentieren, die Sprachdatensätze nach Sprachdatensätzen zu durchsuchen, die jeweils jedem Eingabewort einschließlich der eingegebenen Pinyin-Silben entsprechen, und jedes eingegebene Wort in die chinesischen Hanzi-Zeichen-Kandidaten unter Verwendung der Hanzi-Zeichen-Kandidatenindizes in den entsprechenden Datensatz zu konvertieren; eine Anzeige (256); und eine Benutzer-Schnittstelle (253), die zwischen der Anzeige (256) und dem Eingangsprozessor (254) angeordnet ist, um die eingegebenen Pinyin-Silben auf der Anzeige (256) anzuzeigen und die eingegebenen Pinyin-Silben durch die chinesischen Hanzi-Zeichen-Kandidaten zu ersetzen, wenn die eingegebenen Pinyin-Silben von dem Eingangsprozessor (254) konvertiert werden, dadurch gekennzeichnet, dass jeder Sprachdatensatz weiter einen Schlüssel (106) aufweist, wobei der Schlüssel (106) in jedem Sprachdatensatz eine Sequenz von Indizes (82, 86, 90) und eine Toninformation (84, 88, 92) für die Pinyin-Silben des Wortes aufweist, das dem Sprachdatensatz entspricht; und der Sprachdatensatz weiter einen oder mehrere lernende(n) Sprachdatensatz/Sprachdatensätze aufweist, wobei jeder lernende Sprachdatensatz von einem Benutzer erzeugt wird durch Ändern eines oder mehrerer der Hanzi-Zeichen-Kandidaten in einem Sprachdatensatz, um ein neues Wort zu bilden.
  19. System gemäß Anspruch 18, wobei die Eingangs-Warteschlange (252) weiter konfiguriert ist, eine Hanzi-Zeichen-Auswahleingabe zu empfangen, die ein ausgewähltes Hanzi-Zeichen identifiziert, das eine oder mehrere der eingegebenen Pinyin-Silben darstellt, und wobei der Eingangsprozessor (254) weiter konfiguriert ist, zu bestimmen, ob eine Hanzi-Zeichen-Auswahleingabe empfangen wurde, und die eine oder mehrere der eingegebenen Pinyin-Silben-Eingaben in die gewählten Hanzi-Zeichen zu konvertieren, wenn eine Hanzi-Zeichen-Auswahleingabe empfangen wurde.
  20. System gemäß Anspruch 19, wobei der Eingangsprozessor (254) weiter konfiguriert ist, ein neues Wort zu bilden, das die eine oder mehreren eingegebenen Pinyin-Silben umfasst, einen neuen Datensatz zu erzeugen, der dem neuen Wort entspricht, und den neuen Datensatz in dem Speicher zu speichern.
  21. System gemäß Anspruch 20, wobei der Eingangsprozessor (254) weiter konfiguriert ist, die Sprachdatensätze und alle neuen Datensätze nach Datensätzen zu durchsuchen, die jedem eingegebenen Wort entsprechen.
DE60305922T 2002-07-03 2003-07-03 Verfahren und system zur erzeugung und verwendung von daten in chinesischer sprache und benutzerkorrigierten daten Expired - Lifetime DE60305922T2 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US39394802P 2002-07-03 2002-07-03
US393948P 2002-07-03
US305563 2002-11-27
CA002413055A CA2413055C (en) 2002-07-03 2002-11-27 Method and system of creating and using chinese language data and user-corrected data
CA2413055 2002-11-27
US10/305,563 US7228267B2 (en) 2002-07-03 2002-11-27 Method and system of creating and using Chinese language data and user-corrected data
PCT/CA2003/001024 WO2004006123A2 (en) 2002-07-03 2003-07-03 Method and system of creating and using chinese language data and user-corrected data

Publications (2)

Publication Number Publication Date
DE60305922D1 DE60305922D1 (de) 2006-07-20
DE60305922T2 true DE60305922T2 (de) 2007-04-26

Family

ID=30118652

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60305922T Expired - Lifetime DE60305922T2 (de) 2002-07-03 2003-07-03 Verfahren und system zur erzeugung und verwendung von daten in chinesischer sprache und benutzerkorrigierten daten

Country Status (8)

Country Link
EP (1) EP1522027B8 (de)
JP (2) JP2005531858A (de)
KR (1) KR100712001B1 (de)
CN (1) CN100561469C (de)
AT (1) ATE329317T1 (de)
AU (1) AU2003250637A1 (de)
DE (1) DE60305922T2 (de)
WO (1) WO2004006123A2 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2008136376A (ru) * 2006-02-10 2010-03-20 Зи Корпорейшн Оф Канада, Инк. (Ca) Способ и устройство идентифицирования идеографического знака
CN102609455B (zh) * 2012-01-12 2014-12-03 北京中科大洋科技发展股份有限公司 一种实现汉语同音字检索的方法
CN107066104B (zh) * 2016-11-14 2020-12-11 高商展 电脑汉英互读互译键盘最佳键位
CN109901727A (zh) * 2019-03-06 2019-06-18 上海依智医疗技术有限公司 一种获取文字纠错信息的方法和装置
CN111354339B (zh) * 2020-03-05 2023-11-03 深圳前海微众银行股份有限公司 词汇音素表构建方法、装置、设备及存储介质
CN113343639B (zh) * 2021-05-19 2023-10-03 网易(杭州)网络有限公司 产品标识码图生成、基于产品标识码图的信息查询方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893133A (en) * 1995-08-16 1999-04-06 International Business Machines Corporation Keyboard for a system and method for processing Chinese language text
FI112978B (fi) * 1999-09-17 2004-02-13 Nokia Corp Symbolien syöttö

Also Published As

Publication number Publication date
KR100712001B1 (ko) 2007-04-30
EP1522027B1 (de) 2006-06-07
JP2007042146A (ja) 2007-02-15
WO2004006123A2 (en) 2004-01-15
EP1522027B8 (de) 2006-08-16
CN1679023A (zh) 2005-10-05
ATE329317T1 (de) 2006-06-15
KR20050043884A (ko) 2005-05-11
JP2005531858A (ja) 2005-10-20
AU2003250637A1 (en) 2004-01-23
AU2003250637A8 (en) 2004-01-23
EP1522027A2 (de) 2005-04-13
DE60305922D1 (de) 2006-07-20
CN100561469C (zh) 2009-11-18
WO2004006123A3 (en) 2004-09-02

Similar Documents

Publication Publication Date Title
US4760528A (en) Method for entering text using abbreviated word forms
DE112007000854B4 (de) Tragbare elektronische Vorrichtung, die eine Lernfunktion vorsieht zur Erleichterung einer Korrektur einer fehlerhaften Texteingabe in einer Umgebung eines Textes, der mehrere sequentielle Betätigungen derselben Taste erfordert, und zugehöriges Verfahren
DE112006003659T5 (de) Tragbare elektronische Vorrichtung und Verfahren zum Disambiguieren einer Texteingabe und Vorsehen eines Schreibweiseersatzes
US20070203692A1 (en) Method and system of creating and using chinese language data and user-corrected data
DE112007000727T5 (de) Tragbare elektronische Vorrichtung und Verfahren zur Durchführung einer Rechtschreibprüfung während einer Texteingabe und zum Integrieren der Ausgabe der Rechtschreibprüfung in die Ausgabe einer Disambiguierung
DE112007000847T5 (de) Tragbare elektronische Vorrichtung und Verfahren zum Lernen von Kontextdaten während einer Disambiguierung einer Texteingabe
DE112006002315B4 (de) Textdisambiguierung, die eine dynamische Expansion von Tastenzuordnungen ermöglicht
DE112007000855T5 (de) Tragbare elektronische Vorrichtung und Verfahren zur Durchführung einer Rechtschreibprüfung während einer Texteingabe und zum Vorsehen eines Rechtschreibprüfungs-Lern-Merkmals
DE112007000848T5 (de) Tragbare elektronische Vorrichtung und Verfahren zur Durchführung einer optimierten Rechtschreibprüfung während einer Texteingabe durch Vorsehen einer sequentiell angeordneten Reihe von Rechtschreibprüfalgorithmen
DE112006003651T5 (de) Tragbare elektronische Vorrichtung und Verfahren zur Disambiguierung einer Texteingabe zur Unterdrückung von künstlichen Varianten mit geringer Wahrscheinlichkeit
DE112007000728T5 (de) Tragbare elektronische Vorrichtung zum Vorsehen einer vorgeschlagenen korrigierten Eingabe als Reaktion auf eine fehlerhafte Texteingabe in einer Umgebung eines Textes, der mehrere sequentielle Betätigungen derselben Taste erfordert, und zugehöriges Verfahren
DE112006003660T5 (de) Tragbare elektronische Vorrichtung und Verfahren zur Disambiguierung einer Texteingabe, die/das künstliche Varianten vorsieht, die aus Zeichen in einem Kernalphabet bestehen
DE112005001284B4 (de) Tragbare elektronische Vorrichtung mit Textdisambiguierung
DE112005001283T5 (de) Tragbare elektronische Vorrichtung mit Textdisambiguierung
DE60305922T2 (de) Verfahren und system zur erzeugung und verwendung von daten in chinesischer sprache und benutzerkorrigierten daten
DE112007000856B4 (de) Tragbare elektronische Vorrichtung und Verfahren zum Verwenden von Kontextdaten zur Disambiguierung einer Texteingabe
DE102007014405B4 (de) Verfahren zur Worterkennung in Zeichensequenzen
DE112005001282T5 (de) Tragbare elektronische Vorrichtung mit Textdisambiguierung
DE112005001316T5 (de) Tragbare elektronische Vorrichtung mit Textdisambiguierung
DE112005001314T5 (de) Tragbare elektronische Vorrichtung mit Textdisambiguierung
DE112005002060T5 (de) Tragbare elektronische Vorrichtung mit Textdisambiguierung
DE112005001313B4 (de) Tragbare elektronische Vorrichtung mit Textdisambiguierung
EP1691298B1 (de) Verfahren und System zur Erzeugung und Verwendung von Daten in chinesischer Sprache und benutzerkorrigierten Daten
DE112005002096T5 (de) Tragbare elektronische Vorrichtung mit Textdisambiguierung
CN1049416A (zh) 汉字编码新技术

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: MERH-IP, 80336 MUENCHEN