DE69400869T2 - System zum transkribieren von texteingaben - Google Patents

System zum transkribieren von texteingaben

Info

Publication number
DE69400869T2
DE69400869T2 DE69400869T DE69400869T DE69400869T2 DE 69400869 T2 DE69400869 T2 DE 69400869T2 DE 69400869 T DE69400869 T DE 69400869T DE 69400869 T DE69400869 T DE 69400869T DE 69400869 T2 DE69400869 T2 DE 69400869T2
Authority
DE
Germany
Prior art keywords
transcription
language
characters
character
rules
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 - Fee Related
Application number
DE69400869T
Other languages
English (en)
Other versions
DE69400869D1 (de
Inventor
Mark Davis
Judy Lin
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.)
Object Technology Licensing Corp
Original Assignee
Taligent 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
Application filed by Taligent Inc filed Critical Taligent Inc
Publication of DE69400869D1 publication Critical patent/DE69400869D1/de
Application granted granted Critical
Publication of DE69400869T2 publication Critical patent/DE69400869T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/53Processing of non-Latin text
    • 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
    • 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
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • 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/151Transformation
    • 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/151Transformation
    • G06F40/157Transformation using dictionaries or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Description

    Copyright-Hinweis
  • Diese Patentanmeldung enthält urheberrechtlich geschütztes Material, dessen Reproduktion nur als Teil der Patentanmeldung zu informativen Zwecken gestattet ist. Alle anderen Rechte, insbesondere das Recht zur kommerziellen Verwertung derartigen Materials, sind vorbehalten.
  • Gebiet der Erfindung
  • Diese Erfindung betrifft im allgemeinen Verbesserungen in Computersystemen und insbesondere die intelligente Transkription von Text bei der Eingabe in ein Computersystem.
  • Hintergrund der Erfindung
  • Das US-Patent 5.148.541 offenbart ein mehrsprachiges Datenbanksystem, welches Sortierdaten umfaßt und eine universelle Hauptsortierregel für alle Sprachen verwendet. Das Datenbanksystem kann von einem Anwender durchsucht und abgerufen werden, und zwar unabhängig davon, ob diese Daten in der eigenen Sprache des Anwenders vorliegen. Die in der Datenbank zu speichernden Daten werden zuerst gemäß einer Hauptsortierregel (oder universellen Sortierregel) kodiert. Das US-Patent 4.734.036 offenbart ein Verfahren und ein Gerät zum Erlernen einer Sprache. Das Patent diskutiert eine Lehrhilfe zur Verbesserung der Fähigkeiten eines Lernenden, eine ihm nicht vertraute Sprache zu erlernen, umfassend ein oberes Blatt (12), markiert mit symbolischen Vermerken, die dem Lernenden zu lehren sind, und einem oder mehreren Grundblättern (11), von denen ein jedes mit einer unterschiedlich übersetzten Version der am oberen Blatt befindlichen Vermerke versehen ist. Die Vermerke auf den einzelnen Grundblättern sind im Register mit den entsprechenden Vermerken am oberen Blatt markiert. Eine Kante des Grundblattes ist vorübergehend oder ständig mit einer entsprechenden Kante des oberen Blattes verbunden, damit das obere Blatt vom Grundblatt abgehoben werden kann, um kurzfristig eine am Grundblatt markierte entsprechende Übersetzung, Transkription, Interpretation oder Paraphrase freizulegen und danach wieder gesenkt zu werden, so daß das Lesen des oberen Blattes sofort wieder aufgenommen werden kann. Das US-Patent 4.547.765 offenbart ein Verfahren und eine Schaltungsanordnung für die Transkription von Codewörtern eines Codes mit m-stelligen Codewörtern in entsprechende Codewörter eines anderen Codes, der ebenfalls m- stellige Codewörter besitzt. Einzelne Bits des zu transkribierenden Codewortes werden während der seriellen Eingabe in ein m-stelliges Schieberegister oder während der seriellen Ausgabe daraus weitergeleitet. Diese Bits werden in nicht-verworfener oder verworfener Form von Registerstufe zu Registerstufe über eine entsprechende Weiterleitungsschaltung weitergeleitet, was vom Maß oder dem Kriterium der Übereinstimmung oder Nichtübereinstimmung zwischen dem zu transkribierenden Codewort und den Codewörtern des anderen Codes abhängt. Dies geschieht auf solche Weise, daß die durchziehenden Bits eine entsprechende Negation vor und nach einer Registerstufe erfahren, deren Position innerhalb des Schieberegisters der Position des nicht entsprechenden Bits innerhalb der zwei Codewörter entspricht.
  • Sinha, R.F.K, Journal der Elektronik- und Telekomm- Ingenieure (Journal of the Institution of Electronics and Telecommunication Engineers), India Vol 30, Nr. 6, Seiten 243-245 (1984) (im folgenden Sinha) offenbart ein tabellengesteuertes Maschinentranskriptionssystem für die teilweise Umwandlung zwischen Romanisch und Devanagan. Der Text wird von graphischen Zeichen in phonetische Symbole umgewandelt, mit Hilfe von Heuristik und Ausnahmeregeln und einem Tabellennachschlag transkribiert, und danach wird dem Anwender eine Ausgabe in romanischer Schrift präsentiert. Sinha gibt keine genauen Auskünfte über die Transkription des Textes, wenn er in den Computer eingegeben wird, und es gibt auch keine Offenbarung darüber, welche Logik verwendet wird, um die diskutierten Regeln zu implementieren. Die Bezugnahme bietet nur einen englischen Satz für jede Regel, und es wird dem Leser überlassen, die Regeln zu implementieren. In der Tat lehrt die Bezugnahme, daß eine Vorbearbeitung durch Einfügen von phonetischen Symbolen für eine fehlerfreie Transkription erforderlich ist. Schließlich beschäftigt sich Sinha nur mit einem einzigen Transkriptionsfall, nämlich der Umwandlung von Devanagri in romanische Schrift und umgekehrt.
  • Systeme wie zum Beispiel Apple Macintosh oder Microsoft Windows verfügen über Tottasten, die verwendet werden, um den Bereich einer Tastatur für Zeichen mit Akzenten auszuweiten. Mit diesem Mechanismus kann ein Anwender eine Taste betätigen (z.B. Qption-u für Umlautzeichen), welches die Tastatur in einen besonderen Zustand versetzt, aber kein Zeichen erzeugt oder einen anderen sichtbaren Hinweis darauf liefert, was geschehen ist. Wenn der Anwender dann ein Grundzeichen eintippt - eines, daß sich mit dem Akzent verbinden läßt -, dann erzeugt die Tastatur das sich ergebende akzentuierte Zeichen; so erzeugt zum Beispiel das Tippen von Option-u. e das Zeichen ë) . Diese Methode setzt jedoch voraus, daß der Anwender Kenntnis darüber besitzt, daß bestimmte Sondertasten mit einer bestimmten Aufgabe verbunden sind.
  • Zusammenfassung der Erfindung
  • Demgemäß ist es eine Hauptaufgabe der vorliegenden Erfindung gemäß den beiliegenden Patentansprüchen, eine Reihe von flexibel definierten Regeln zu schaffen, die in Datenstrukturen in einem Computersystem gespeichert werden, um automatisch anwenderfestgelegte Transkriptionen an einem Text anzuwenden, während dieser in ein Computersystem eingegeben wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Figur 1 ist ein Blockdiagramm eines Personal-Computer- Systems gemäß einer bevorzugten Ausführungsform;
  • Figur 2 ist ein Flußdiagramm der Logik, die zum Transkribieren von Text zwischen Anfang und Ende gemäß einer bevorzugten Ausführungsform verwendet wird;
  • Figur 3 ist ein Flußdiagramm der Logik, die zur Identifizierung eines Eintipp-Startpunktes gemäß einer bevorzugten Ausführungsform verwendet wird;
  • Figur 4 ist ein Flußdiagramm der Logik, die verwendet wird, um eine Eintipptranskription gemäß einer bevorzugten Ausführungsform zu schaffen;
  • Figur 5 ist eine Darstellung einer Anzeigevorrichtung gemäß einer bevorzugten Ausführungsform; und
  • Figur 6 ist eine Darstellung eines Transkriptionsvorganges, wie er an der Anzeigevorrichtung des Anwenders gemäß einer bevorzugten Ausführungsform der Erfindung erscheinen würde.
  • Genaue Beschreibung der Erfindung
  • Die Erfindung wird vorzugsweise im Zusammenhang mit einem Betriebssystem ausgeführt, das sich auf einem Personal-Computer, wie zum Beispiel dem IBM PS/2 oder dem Apple Macintosh Computer, befindet. Eine repräsentative Hardwareumgebung wird in Figur 1 dargestellt, welche eine typische Hardware-Konfiguration einer Workstation gemäß der vorliegenden Erfindung darstellt und eine zentrale Recheneinheit 10, wie zum Beispiel einen herkömmlichen Mikroprozessor, und eine Anzahl anderer Einheiten umfaßt, die über einen Systembus 12 miteinander verbunden sind. Die in Figur 1 dargestellte Workstation umfaßt einen Direktzugriffsspeicher (RAM) 14, einen Nur-Lese-Speicher (ROM) 16, einen E/A- Adapter 18 zum Anschluß von Peripheriegeräten, wie zum Beispiel Disketteneinheiten 20, am Bus, einen Benutzerschnittstellenadapter 22 zum Anschluß einer Tastatur 24, einer Maus 26, eines Lautsprechers 28, eines Mikrophons 32 und/oder anderer Benutzerschnittstellengeräte, wie zum Beispiel eines Tast-Bildschirms (nicht dargestellt) am Bus, einen Kommunikationsadapter 34 zum Anschluß der Workstation an einem datenverarbeitenden Netzwerk und einen Anzeigenadapter 36 für den Anschluß eines Anzeigegerätes 38 am Bus. Typischerweise befindet sich auf der Workstation ein Betriebssystems, wie zum Beispiel das Apple System/7 - Betriebssystem.
  • Tastatur-Transkriptoren
  • Am Apple Macintosh Computer werden Tottasten verwendet, um den Bereich der Tastatur für akzentuierte Zeichen zu erweitern. Mit diesem Mechanismus kann ein Anwender eine Taste drücken (z.B. Option-u für ein Umlautzeichen), welches die Tastatur in einen speziellen Zustand versetzt, aber kein Zeichen oder einen anderen sichtbaren Hinweis darauf erzeugt, was gerade geschehen ist. Wenn der Anwender dann ein Grundzeichen eintippt - eines, das sich mit dem Akzent verbinden läßt - erzeugt die Tastatur das sich daraus ergebende akzentuierte Zeichen (z.B. erzeugt Option u. e das Zeichen ë). Beispiele für Tottasten
  • In einer bevorzugten Ausführungsform dieser Erfindung wird der Modalmechanismus ersetzt durch die Verwendung von Transkriptoren. Wenn eine Anwendung Zeichen von einer Tastatur in einen Text eingibt, ruft sie die Liste jener Transkriptoren auf, welche mit der jeweiligen Tastatur und dem Eingabeverfahren der Tastatur verknüpft sind. Ein Akzenttranskriptor kann dieselbe Funktionalität bieten wie Tottasten. Wenn ein Akzent eingetippt wird, wird er nach Möglichkeit mit dem vorangehenden "Grundzeichen" verbunden. Zum Beispiel:
  • Transkriptoren führen auch viele andere Funktionen aus. Zum Beispiel können sie allgemeine Anführungszeichen (",') durch rechte und linke Anführungszeichen (",',") ersetzen. Sie können auch verwendet werden, um allgemeine Schrifttranskriptionen in all jenen Fällen durchzuführen, wo die Transkription einfach und eindeutig ist, wie zum Beispiel beim Konvertieren von Romaji nach Katakana oder Hiragana fürs Japanische, beim Konvertieren von Jamo (Buchstabenkomponenten) nach Hangul (Buchstabensilben) fürs Koreanische, oder beim Umwandeln von Querty ins Hebräische und so weiter. Je nach Festlegung kann ein Apostroph verwendet werden, um zu verhindern, daß Zeichen zusammentranskribiert werden. Um zum Beispiel "ba d" zu bilden, würde man "ba' d" eingeben.
  • EINGABETRANSKRIPTION
  • Die Transkription kann auch verwendet werden, um phonetische Umwandlungen zwischen unterschiedlichen Sprachen auszuführen. Diese Funktion ist besonders wichtig für Sprachen wie zum Beispiel Japanisch, welche eine romanische Tastatur zur Eingabe von Text verwenden, der dann in die eigentlichen japanischen Zeichen transkribiert wird. Diese Zeichen können auch wieder in romanische Zeichen zurückgewandelt werden. Eine spezielle Klasse der Transkriptionen, welche Eingabetranskriptionen genannt werden, erfüllt die beiden unten angeführten Anforderungen.
  • Eindeutigkeit
  • Die Transkription von einer nativen in eine fremde Schrift ist eindeutig. Zwei unterschiedliche native Zeichenketten können nicht ein und derselben fremdsprachigen Zeichenkette entsprechen. Wenn zum Beispiel die native Schrift zwischen einem Retroflex und einem dentalen T unterscheidet, kann eine Transkription nicht beide demselben Symbol "t" zuweisen.
  • Vollständigkeit
  • Die Transkription von einer nativen in eine fremdsprachige Schrift oder von einer fremdsprachigen in eine native Schrift ist vollständig. Jede Folge nativer Symbole wird jeweils einer Kette fremdsprachiger Symbole zugeordnet. Die Transkription von einer fremdsprachigen in eine native Schrift sollte vollständig sein, aber sie ist im allgemeinen nicht eindeutig. Wenn zum Beispiel eine Transkription von einer romanischen Sprache ins Japanische verwendet wird, werden "ra" und "la" demselben japanischen Symbol zugewiesen.
  • Ein TTranslator-Objekt wird verwendet, um Transkriptionen auszuführen. Eingabetranskriptoren werden aus einer Reihe kontextsensitiver Regeln zusammengesetzt. Diese Regeln sind so gestaltet, daß es auch Nichtprogrammierern möglich ist, sie auf vernünftige Weise für die Lokalisierung zu bearbeiten.
  • Beispiele für die Regeln:
  • cho
  • t[t
  • to
  • Mit Hilfe dieser Regeln kann Chotto transkribiert werden in:
  • Die Transkription kann nicht nur von der Schrift, sondem auch von der Sprache abhängig sein. Es ist auch inhärenterweise ein n x n Problem: das Vorhaben, mit Hilfe einer Reihe von cyrillisch-romanischen und romanischhindischen Transkriptionen vom Russischen ins Hindi zu transkribieren, ist zum Scheitern verurteilt, da die Transkriptionen, mit denen nicht-romanische Zeichen dargestellt werden, stark abhängig sind von der dargestellten Schrift: in manchen Fällen repräsentiert th den im englischen Wort thick verwendeten Klang, während es sich in anderen Fällen um ein aspiriertes t handelt.
  • Eine bevorzugte Ausführungsform bietet eine Eingabetranskription vom Romanischen ins Japanische (Hiragana und Katakana), Russische, Griechische, Arabische, Devanagari (Hindi) und Hebräische. Es gibt auch einen "Symbol"- Transkriptor, der es einem Anwender ermöglicht, jedes beliebige Unicode-Symbol mit Namen einzugeben, z.B. "Apple- Logo", und dies in das eigentliche Zeichen zu transkribieren: .
  • Transkriptoren können aneinandergekettet werden. So könnte zum Beispiel der Bedarf bestehen, einen "Smartquote"-Transkriptor als ersten in einer Kette zu haben, gefolgt von einem Eingabetranskriptor. Dieser Mechanismus wird vom TTypingConfiguration-Objekt verwaltet.
  • TEXTUMWANDLUNG DURCH TRANSKRIPTION
  • Die Transkription kann auch für die sprachenspezifische Verarbeitung verwendet werden, wie zum Beispiel für das Umwandeln von Text von Großbuchstaben in Kleinbuchstaben und umgekehrt, um einen Überschriftentext zu erzeugen. So erfordert zum Beispiel der englische Überschriftentext "With the Important Words Capitalized" die Anwendung eines Überschriftenfiltertextdienstes, um Artikel auszunehmen. Andernfalls würde dieser Text folgendermaßen erscheinen: "With The Important Words Capitalized", und das Entfernen diakritischer Markierungen. Man beachte, daß diese Ergebnisse durch direktes Modifizieren der Textobjekte erzielt werden. Wenn die Transkription nur für die Darstellung erwünscht ist und keine Auswirkungen auf die eigentlichen Textobjekte haben soll, wird ein alternatives Verfahren angewandt, welches Umwandlungstabellen im Zeichensatz verwendet.
  • TRANSKRIPTOR-DESKTOPOBJEKTE
  • Transkriptoren sind Desktopobjekte. Ein Anwender würde zum Beispiel seiner Tippkonfiguration einen Transkriptor hinzufügen, indem er diesen vom Desktop auf einen Tippkonfigurationseinkapsler zieht. Das TTransliteratorModel kapselt die Transkriptordaten ein, greift auf sie zu und verwaltet sie. Die TTransliteratorUserInterface ist verantwortlich für die Darstellungen des Ikons und des Daumennagels sowie für die Anwenderschnittstelle zur Bearbeitung der Daten. Ein TModelSurrogate wird als Ersatz für das Modell verwendet und wird typischerweise in das Tippkonfigurationsmodell eingebettet.
  • Programmatischer Zugriff auf alle verfügbaren Transkriptoren:
  • TTransliterator::GetAvailableTransliterators (TCollection&), die eine Sammlung von TModelSurrogate-Objekten zurückgeben. Identifizieren von Transkriptoren: Transkriptor-Objekte werden als TFiles gespeichert. Das Pluto-Attribut wird zur Identifizierung eines Transkriptors verwendet.
  • Hintergrundinformation zur Transkription Hintergrund
  • Die regelbasierte Transkription eignet sich für relativ unerfahrene Anwender und Lokalisierer, damit diese in der Lage sind, zu erstellen und zu modifizieren. Die Regeln sind so zusammengesetzt, daß sie unkompliziert sind und besonders in jenem Fall der Transkription angewandt werden können, wenn der Anwender tippt. Wenngleich die Transkription dafür vorgesehen ist, die besonderen Bedürfnisse beim Transkribieren von Text zwischen unterschiedlichen Schriften zu erfüllen, und zwar entweder während der Anwender Text eintippt oder einen Textabschnitt in einem Dokument umwandelt, verwendet die Transkription doch ein Allzweck- Design, welches für viele unterschiedliche Aufgaben angewandt werden kann.
  • Eine Transkriptionsregel besteht aus zwei Hauptteilen: einer Quelle und einem Ergebnis. Die Quelle kann begleitet sein von zwei Zeichenketten, die den Kontext festlegen, in welchem die Umwandlung zu erfolgen hat. Jede Regel muß über ein Quellfeld verfügen, aber die anderen Felder können leer sein. Zum Beispiel: Einfache Regel
  • Man beachte oben, daß ein c in ein s umgewandelt wird, aber nur dann, wenn danach ein i kommt. Variablen können so verwendet werden, daß sie mehrere Entsprechungen für Zeichen im Kontext aufweisen. Zum Beispiel: Regeln mit Variablen
  • Ein c wird in ein s umgewandelt, aber nur, wenn danach ein e, i oder y kommt. Es gibt auch exklusive Variablen, die dann entsprechen, wenn das Textzeichen nicht in den Inhalten der Variablen vorhanden ist. Eine exklusive Variable mit leeren Inhalten entspricht jedem Zeichen. Wenn im normalen Betrieb einmal eine Zeichenkette ersetzt worden ist, wird keines der Ersetzungszeichen im folgenden auf Entsprechungen überprüft. Ein zusätzliches, nochmals überprüftes Ergebnisfeld kann jedoch festgelegt werden, welches ein weiteres Mal auf Entsprechungen überprüft und möglicherweise modifiziert wird. Ein entsprechendes Beispiel wird unten dargestellt. Regel mit nachgeprüftem Ergebnis
  • In diesem Fall wird die Folge kaa umgewandelt in Σfi. In den indischen Sprachen kann dies verwendet werden, um die Interaktionen zwischen Konsonanten und Vokalen auf allgemeine Weise zu erfassen.
  • Im Text werden Regeln im folgenden Format geschrieben. Die drei übereinstimmenden Felder sind von den zwei Ergebnisfeldern durch einen Pfeil getrennt, wobei die Kontexte und das nachgeprüfte Ergebnis durch einen Durchstrich von den benachbarten Feldern unterschieden werden.
  • Beispiel: x y z a:
  • Beispiel: x y z a b:
  • Eine Transkription ist so aufgebaut, daß sie zwei Regelsätze enthält, so daß sie eine Transkription in beide Richtungen anbieten kann, wie zum Beispiel von Katakana ins Lateinische und zurück.
  • Definitionen
  • Die folgenden Definitionen werden zum Beschreiben des internen Entsprechungsprozesses verwendet, der in einer bevorzugten Ausführungsform angewandt wird. Es gibt zwei verschiedene Möglichkeiten, Transkription anzuwenden: eine besteht darin, sie an einem Textbereich anzuwenden, die andere wird beim Eintippen angewandt. Die Definitionen gelten für beide Fälle.
  • Eine Regel rj besteht aus vorhergehendem Kontext, Quelle, nachfolgendem Kontext, Ergebnis und nachgeprüftem Ergebnis. Der vorhergehende Kontext, die Quelle und der nachfolgende Kontext werden gemeinsam als die Quellfelder bezeichnet, und das Ergebnis sowie das nachgeprüfte Ergebnis werden gemeinsam als die Ergebnisfelder bezeichnet. Im folgenden wird die Länge der einzelnen Teile abgekürzt durch Länge(pc), Länge(s), usw.
  • Ein Zeichen ck im Text entspricht einem Zeichen cr in der Regel, wenn - und nur wenn - entweder:
  • cr keine Variable ist und ck = cr (dies ist eine starke, bitweise Übereinstimmung)
  • cr eine inklusive Variable und ck e der Inhalt [cr] ist
  • cr eine exklusive Variable und ¬ {ck e cr] ist.
  • Eine Regel entspricht dem Text innerhalb eines Bereiches am Ausgleichspunkt i wenn - und nur wenn - alle folgenden zutreffen:
  • die Länge(pc)-Zeichen vor dem i dem vorhergehenden Kontext entsprechen,
  • die Länge(s)-Zeichen nach dem i der Quelle entsprechen,
  • die Länge(sc)-Zeichen ab dem i + Länge(s) dem nachfolgenden Kontext entsprechen.
  • Der oben angeführte Text wird in den folgenden Beispielen verwendet.
  • Beispiel:
  • bcd z entspricht am Ausgleichspunkt 1: und
  • b c d z entspricht am Ausgleichspunkt 2.
  • Eine Regel entspricht dem Text innerhalb eines Bereiches am Ausgleichspunkt i bis zum Ausgleichspunkt j nur - und nur dann -, wenn man (null oder mehr) Zeichen nach dem j hinzufügen könnte, welche die Regel dazu bringen würde, daß sie am Punkt i entsprechen würde.
  • Beispiel: b de z entspricht am Ausgleichspunkt 2 bis zum Ausgleichspunkt 4.
  • Eine Regel umspannt den Ausgleichspunkt i im Text, wenn - und nur wenn - es j < i gibt, so daß die Regel dem Text bei j bis zu i entspricht.
  • Beispiel: ab cd ef gh entspricht am Ausgleichspunkt 2 und erstreckt den Ausgleichspunkt 1 bis nach 5.
  • Beispiel: de fx i umspannt die Ausgleichspunkte 4 und 5.
  • (Die Textzeichen entsprechen der ersten Teil der Regel, so daß die Ausgleichspunkte zwischen diesen Zeichen erstreckt werden, selbst wenn das x nicht entspricht.)
  • Allgemeine Funktionsweise an Bereichen
  • Bei einem Textbereich werden nur die Zeichen innerhalb des Bereiches zugewiesen oder ersetzt: die Zeichen außerhalb des Bereiches werden vollkommen ignoriert. Der Transkriptionsvorgang wird wie folgt durchgeführt: Wiederhole durch die einzelnen Ausgleichspunkte innerhalb des Bereiches. Überprüfe für jeden Ausgleichspunkt i die Regelliste in der Transkription auf die Entsprechungsregeln an den einzelnen Ausgleichspunkten. Wenn es keine Entsprechungsregeln gibt, fahre mit dem Wiederholen fort. Wenn es mehr als eine Entsprechungsregel gibt, wähle die beste Entsprechung wie folgt aus:
  • Figur 2 ist ein Flußdiagramm, welches die detaillierte Logik der Transkription von Text zwischen den Ausgleichspunkten Start und Ende gemäß einer bevorzugten Ausführungsform der Erfindung darstellt. Die Verarbeitung beginnt am Funktionsblock 200, wo der Index i initialisiert wird, um zum Start des zu transkribierenden Textes zu zeigen. Ein Test wird am Entscheidungsblock 210 durchgeführt, um zu bestimmen, ob der Index i das Ende des Textes überschritten hat. Wenn der gesamte Text verarbeitet wurde, wird die Verarbeitung am Punkt 220 beendet. Wenn der Index i größer oder gleich dem Ende am Entscheidungsblock 210 ist, wird die aktuelle Regel (Currentrule) auf Null gesetzt, der Index j wird der ersten gefundenen Regel gleichgesetzt, indem Text(i) als Index verwendet wird, und jmax wird mit der letzten gefundenen Regel gleichgesetzt, indem Text(i) als Index verwendet wird, wie dies im Funktionsblock 230 dargestellt ist.
  • Am Entscheidungsblock 240 wird ein Test durchgeführt, um zu bestimmen, ob der Index j größer als jmax geworden ist. Wenn dies der Fall ist, wird ein Test am Entscheidungsblock 260 durchgeführt, um zu bestimmen, ob die aktuelle Regel (Currentrule) gleich Null ist. Wenn ja, werden am Funktionsblock 270 wie dargestellt Zeichen ersetzt und Indexe zurückgesetzt, bevor die Kontrolle zum Entscheidungsblock 240 weitergeleitet wird. Wenn der Index j am Entscheidungsblock 240 nicht größer als jmax geworden ist, wird die Regel Rule(j) mit dem am Index i befindlichen Zeichen verglichen. Wenn diese beiden übereinstimmen, wird ein weiterer Test am Entscheidungsblock 244 durchgeführt, um zu bestimmen, ob die Regel Rule(j) besser ist als die aktuelle Regel currentRule. Wenn dies der Fall ist, wird die aktuelle Regel currentRule der Regel Rule(j) am Funktionsblock 250 gleichgesetzt, j wird am Funktionsblock 246 erhöht, und die Kontrolle wird zum Entscheidungsblock 240 weitergegeben. Wenn keine Entsprechung am Entscheidungsblock 242 vorhanden ist, wird j am Funktionsblock 240 erhöht, und die Kontrolle wird zum Entscheidungsblock 240 weitergeleitet.
  • Bei der oben beschriebenen Verarbeitung ist eine Entsprechung x auf jeden Fall besser als eine Entsprechung y, wenn - und nur wenn - entweder:
  • der vorhergehende Kontext von x länger ist als der vorhergehende Kontext von y, und die Quelle + der nachfolgende Kontext von x mindestens so lang wie die Quelle + der nachfolgende Kontext von y ist der vorhergehende Kontext von x mindestens so lang wie der vorhergehende Kontext von y ist, und die Quelle + der nachfolgende Kontext von x länger ist als die Quelle + der nachfolgende Kontext von y.
  • Von den Entsprechungsregeln entferne all jene, von denen es eine andere Entsprechungsregel gibt, die auf jeden Fall besser ist. Von den verbleibenden nimm die erste. (Man beachte, daß die Regeln in einer Reihenfolge in eine Transkription eingefügt werden, und daß die Regel von Bedeutung sein kann).
  • Beispiel: abc p ist besser als q; y ab r ist also besser als q; aber weder abc p noch y ab r sind besser als das andere.
  • Um die Entsprechung der Regeln zu beschleunigen, wird die Regelsammlung nach dem ersten Zeichen in der Quelle jeder einzelnen Regel indiziert. Dies hat keine Auswirkungen auf die Reihenfolge der Regeln, da zwei Regeln, die nicht dasselbe erste Zeichen der Quelle verwenden, niemals zur gleichen Zeit eine Entsprechung finden und es somit nie zu einem Konflikt kommen kann. Regeln mit Variablen an der ersten Stelle werden zu jenem Zeitpunkt aufgelöst, wenn sie eine Transkription hinzugefügt werden; das heißt, wenn die Variable n Zeichen in ihrem Inhalt hat, werden n unterschiedliche Regeln mit den unterschiedlichen ersten Buchstaben der Transkription hinzugefügt. Bei der fortlaufenden Verarbeitung (entweder in Bereichen oder beim Eintippen) werden die Regeln nach diesem ersten Zeichen nachgeschlagen, und dann wird der Reihe nach darauf zugegriffen.
  • Wenn eine entsprechende Regel gefunden wurde, wird eine Ersetzung durchgeführt. Die Quelle wird von der entsprechenden Regel durch die Ergebnisfelder (Ergebnis + nachgeprüfte Ergebnisse) ersetzt. Dies kann die Länge des Textes ändern, da die Länge unterschiedlich zur Länge der Quelle sein kann. Nimm das Wiederholen auf und beginne dabei am Ausgleichspunkt i + der Länge des Ergebnisses (length(result)). Dies bedeutet, daß die nachgeprüften Ergebnisse übereingestimmt und modifiziert werden können. (Das einfache Ergebnis kann dem vorhergehenden Kontext einer anderen Regel entsprechen, aber es wird nicht mit der Quelle übereingestimmt, und somit kann es in der Folge nicht modifiziert werden).
  • Funktionsweise beim Eintippen
  • Wenn die Transkription beim Eintippen angewandt wird, ist die Funktionsweise ein wenig anders. Das Ziel ist dabei, dieselben Ergebnisse zu erreichen, die erzielt worden wären, wenn der Anwender den gesamten Text ohne Transkription eingegeben hätte und diesen dann mit der oben beschriebenen Bereichsumwandlung umgewandelt hätte. Zusätzlich dazu wird der Text bereits umgewandelt, während er eingetippt wird.
  • Es ist schwierig, vorherzusagen, welche Zeichen nach einer ersten Texteingabe folgen werden, so daß der Prozeß der Transkription nicht vollständig ausgeführt werden kann, bis der Anwender nicht weitere Zeichen eingegeben hat. Beispiel: angenommen, es gibt die Regeln pH j und p p. Wenn der Anwender gerade ein p eingetippt hat, ist es unmöglich, eine Übereinstimmung fertig auszuführen, weil eine Mehrdeutigkeit zwischen den beiden Regeln vorhanden ist. Wenn der Anwender ein neues Zeichen eingibt, kann dieses Zeichen modifiziert werden, und die vorhergehenden Zeichen können ebenfalls geändert werden, da nun eine eindeutige Regel festgelegt werden kann.
  • Das andere Problem besteht darin, daß es nicht möglich ist, den Startpunkt des Bereiches vorherzusagen, weil der Anwender gerade eben zur aktuellen Transkription gewechselt haben kann, oder gerade auf eine neue Position geklickt haben kann. So wird nur der Text umgewandelt, der nicht ohne zusätzliche Zeichen hätte umgewandelt werden können. Auch wenn der Anwender Text einfügt, werden alle Zeichen nach dem Einfügepunkt stets ignoriert, so daß der Vorgang sich immer so verhält, als befände er sich am Ende des Textes.
  • Figur 3 ist ein Flußdiagramm, welches die detaillierte Logik des Transkriptionsvorganges zwischen zwei Abschnitten eines Textes darstellt, welche begrenzt sind durch textstart und textfinish gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. Die Verarbeitung beginnt am Funktionsblock 300, wo ein Index i initialisiert wird, und es wird imin initialisiert. Danach wird am Entscheidungsblock 310 ein Test durchgeführt, um zu bestimmen, ob i < imin ist. Wenn nicht, wird i+1 am Endblock 320 zurückgegeben. Wenn i kleiner ist als imin, wird am Funktionsblock 330 die Variable der aktuellen Regel currentRule gleich Null gesetzt. j wird jener Regel gleichgesetzt, die mit Hilfe von i als Index in den Text zum Finden der ersten Regel (firstrule) gefunden wurde, und jmax wird jener Regel gleichgesetzt, die mit Hilfe von i als Index in den Text zum Finden der letzten Regel lastrule gefunden wurde. Danach wird am Entscheidungsblock 340 ein Test durchgeführt, um zu bestimmen, ob j größer ist als jmax. Wenn dies der Fall ist, wird i+1 am Endblock 320 zurückgegeben. Wenn nicht, wird ein Test am Entscheidungsblock 350 durchgeführt, um zu bestimmen, ob die Regel rule(j) von i bis zum Start nach dem Zählen der Zeichen übereinstimmt. Wenn dies der Fall ist, wird i hochgezählt, und die Verarbeitung geht zum Entscheidungsblock 310 weiter. Wenn nicht, wird j hochgezählt, und die Kontrolle geht für die weitere Verarbeitung zum Entscheidungsblock 340 weiter.
  • Die Ausführung wird wie folgt fortgesetzt. Angenommen, ein Anwender betätigt eine Taste, die zur Folge hat, daß n Zeichen am Ausgleichspunkt i eingefügt werden. Nach dem Einfügen der Zeichen am Ausgleichspunkt i überprüfe alle Regeln, die i umspannen. Finde den kleinsten Ausgleichspunkt s, der dem Start der Quelle einer dieser Umspannungsregeln entspricht. (Die Indizierung nach dem ersten Buchstaben der Quelle hilft in diesem Fall nicht, da die Suche rückwärts durchgeführt wird, und das aktuelle Zeichen kann jedes beliebige Zeichen in der Quelle oder im nachfolgenden Kontext einer dieser Regeln sein. Um dieses Problem zu lösen, speichert die Transkription eine Zahl maximum-Backup, welche der Länge der längsten (Quelle + nachfolgender Kontext - 1) entspricht. Dies ist der am weitesten zurückliegende Punkt, an dem eine Umspannungsregel beginnen kann. Die Transkription sucht dann ab i - maximumBackup weiter vorwärts, um die erste Regel zu finden, welche den gewünschten Index umspannt, der den Index s bestimmt.)
  • Figur 4 ist ein Flußdiagramm, welches die detaillierte Logik der Eingabe-Transkription gemäß einer bevorzugten Ausführungsform der Erfindung zeigt. Die Verarbeitung beginnt am Funktionsblock 400, wo der Eingabestartpunkt festgelegt wird. Danach wird am Entscheidungsblock 410 ein Test durchgeführt, um zu bestimmen, ob der Index i größer ist oder gleich dem Ende. Wenn dies nicht der Fall ist, wird die Verarbeitung am Punkt 412 abgeschlossen. Wenn dies der Fall ist, wird am Funktionsblock 414 die aktuelle Regel currentrule gleich Null gesetzt, der Index j wird gleich der ersten Regel gesetzt, die vom Index i indiziert ist, und jmax wird gleich der letzten Regel gesetzt, die vom Index i indiziert wird. Danach wird ein weiterer Test am Entscheidungsblock 416 durchgeführt, um zu bestimmen, of j größer ist als jmax. Wenn nicht, wird ein Test am Entscheidungsblock 414 durchgeführt, um zu bestimmen, ob die Regel Rule(j) den Start umspannt. Wenn dies der Fall ist, wird die Verarbeitung abgeschlossen, und die Kontrolle wird zum Punkt 412 weitergeleitet. Wenn dies der Fall ist, wird ein weiterer Test am Entscheidungsblock 430 durchgeführt, um zu bestimmen, ob die aktuelle Regel currentrule gleich Null ist. Wenn dies der Fall ist, wird der Index i hochgezählt, und die Kontrolle wird zum Entscheidungsblock 410 weitergeleitet. Wenn nicht, werden am Funktionsblock 440 die Zeichen gemäß der aktuellen Regel currentrule ersetzt, und die Verarbeitung wird zum Entscheidungsblock 410 weitergeleitet.
  • Nachdem der kleinste Ausgleichspunkt identifiziert wurde, müssen alle übereinstimmenden Regeln von s bis zu i + n identifiziert werden. Wenn eine dieser Regeln auch i + n umspannt, werden keine Umwandlungen durchgeführt. Andernfalls identifiziere die beste Entsprechung innerhalb der Transkriptionsbereiche und führe die Ersetzung durch. Danach setze s gemäß dem Ergebnis zurück und wiederhole diese Verarbeitung bis zum Abschluß.
  • In allen folgenden Beispielen wurde ef am Ausgleichspunkt 4 im obigen Text eingefügt. Beispiel: mit den Regeln (dc x: de y), s = 3: wandle das de um in y, und wandle das cd nicht um.
  • Beispiel: mit den Regeln (cdm x: cd y), s = 2: wandle das cd um in y, und habe keinen Einfluß auf das e.
  • Beispiel: mit den Regeln (a bcdem x: ab y: bc z: bcm w: de v), s = 1: wandle das bc um in z, und das de in v.
  • Menschliche Schnittstelle
  • Ein Beispiel für die Darstellung der Anwenderschnittstelle zur Erstellung der Transkriptionsregeln ist in Figur 5 dargestellt. Diese Figur zeigt eine in der Erstellung befindliche Transkriptionsdarstellung gemäß einer bevorzugten Ausführungsform der Erfindung. Die Regeln befinden sich in der oberen Box, die Kontextvariablen in der Mitte, und die Testmuster unten.
  • Neue Regeln können am Ende hinzugefügt oder in der richtigen Reihenfolge eingefügt werden. Wenn Regeln miteinander nicht im Konflikt stehen, oder wenn irgendeine Regel nach einer "besseren" Regel eingefügt wird, dann kann sie automatisch neu gereiht werden. Wenn zum Beispiel die Regel a x vorhanden ist und der Anwender die Regel ab y hinzufügt, dann wird die eingefügte Regel neu vor die bestehende Regel gereiht, da sie andernfalls keine Auswirkungen haben würde. Neue Kontextvariablen können am Ende hinzugefügt werden, weil hier die Reihenfolge keine Rolle spielt. Die Testquelle wird immer dann in das Ergebnis transkribiert, wenn eine Anderung durchgeführt wird, so daß der Anwender die Richtigkeit seiner Maßnahmen überprüfen kann.
  • Figur 6 ist eine Darstellung eines Transkriptionsvorganges, wie er an einer Anwender-Anzeigevorrichtung gemäß einer bevorzugten Ausführungsform der Erfindung erscheinen würde. Am Label 610 wird ein Satz mit deaktivierter Transkription eingetippt. Label 680 zeigt den Satz, der im Label 610 dargestellt wird, nachdem er ausgewählt und vollständig transkribiert wurde. Die Labels 620 bis 670 zeigen, was der Anwender sieht, wenn er der Reihe nach Zeichen ab Label 610 bei aktivierter Eingabetranskription eintippt. Beim Label 620 hat der Anwender das Zeichen "c" eingegeben. Beim Label 630 hat der Anwender "ch" eingegeben. Beim Label 640 hat der Anwender "cho" eingegeben, und nun ist ausreichend Kontext vorhanden, um die geeignete Regel aufzurufen und den eingegebenen Text in " " zu transkribieren. Ein ähnlicher Vorgang wird an den zusätzlichen Beispielen durchgeführt, die in den Labels 650 bis 680 erscheinen.
  • BESCHREIBUNG DER TRANSKRIPTORKLASSE UND DER METHODE Klasse TTransliterator
  • TTransliterator ist eine abstrakte Grundklasse, welche Text aufgrund gut definierter Regeln oder Algorithmen transkribiert. Sie stammt von TTextModifier ab und kann in Verbindung mit einer Textverarbeitungsmaschine für die Zeilentranskription während des Eintippens verwendet werden. Unterklassen von TTransliterator können verwendet werden, um eine Intraskript-Transkription wie zum Beispiel eine Akzentzusammenstellung oder Groß- oder Kleinschreibung oder eine phonetische Interskript-Transkription durchzuführen. Die Interskript-Transkription bietet eine alternative Methode für die Eingabe von nicht-romanischem Text. Anstelle der Verwendung einer hebräischen Tastatur kann hebräischer Text mit einer amerikanischen Tastatur eingegeben werden, wobei die Transkription vom Romanischen ins Hebräische verwendet wird. Diese Klasse wird auch verwendet, um die Texteingabe durch die Schaffung von intelligenten Anführungszeichen (Smartquotes) und anderen Zeichensetzungsveränderungseinrichtungen zu erleichtern. TTransliterator bietet Verfahren sowohl zum Übersetzen von Text als auch zum Umkehren des Effektes. Diese Verfahren müssen von den konkreten Subklassen außer Kraft gesetzt werden. TTransliterator eignet sich dafür, mehrere Objekte zusammenzuketten. Eines oder mehrere solcher Objekte können innerhalb der bearbeitbaren Textklassen arbeiten, um die Transkription während des Eintippens zu ermöglichen.
  • Der ersetzte Text verfügt auch über den richtigen Schriftstil. Wenn es sich zum Beispiel beim Quelltext um "aeiou" handelt und Ersetzungen "Æ" für "a", "I" für "i", "O" für "o" und "U" für "u" sind, würde der ersetzte Text folgendermaßen aussehen: "ÆIOU". Wenn eine Ersetzung für einige Zeichen aus einer größeren Anzahl an Zeichen besteht, wird der letzte Stil erweitert. Wenn die Quelle zum Beispiel "Why" ist und die Ersetzungen für "W" "VV" sind, würde der Ersatztext so aussehen: "VVhy". Der "C"- Quellcode, der zum Implementieren einer bevorzugten Ausführungsform der Erfindung verwendet wird, ist im folgenden mit der Beschreibung angeführt. Öffentliche Verfahren
  • Diese Verfahren transkribieren das TBaseText-Argument direkt zurück.
  • Subklasse: Dieses Verfahren ruft das geeignte Translate()-Verfahren auf und sollte nicht überschrieben werden.
  • Translate() nimmt einen Quelltext (sourcetext) und einen Bereich innerhalb dieses Textes und modifiziert den Text entweder direkt oder erzeugt den Ersatztext und den zu ersetzenden Zeichenbereich. Im letzteren Fall stellt der Ersatzbereich immer eine Untergruppe des Quellbereiches dar. Es obliegt dem Aufrufer, die geeigneten Textverfahren aufzurufen, um tatsächlich die Ersetzung durchzuführen. Die tatsächliche Umwandlung wird von einer konkreten Unterklasse definiert.
  • /* Dieses Verfahren ist ähnlich wie das obige, wobei der Unterschied darin besteht, daß bei Vorhandensein eines gegebenen Textobjektes und eines Bereiches innerhalb desselben dieses Verfahren das Textobjekt direkt ändert. */
  • TranslateBack() nimmt die selben Argumente, aber übersetzt in die entgegengesetzte Richtung, von den Zielzeichen zurück zu den Quellzeichen, unter Anwendung eines von einer konkreten Unterklasse definierten Übersetzungsmechanismus. Man beachte, daß diese Verfahren nicht für die Tastatureingabe geeignet sind.
  • Die Klasse TRuleBasedTransliterator
  • TRuleBasedTransliterator ist vom Transliterator abgeleitet. Diese Klasse verwendet eine Reihe kontextsensitiver Regeln zur Umwandlung eines Textes sowie eine parallele Reihe zur Umkehrung dieser Maßnahme. Diese Regeln wurden so erstellt, daß ein kenntnisreicher Nichtprogrammierer sie für die Lokalisierung bearbeiten kann. Die auf romanischen Regeln basierende Transkription ist verfügbar für Japanisch (Kana), Hebräisch, Arabisch, Griechisch, Russisch und Devanagan.
  • TRuleBasedTransliterator ist auch in der Lage, eine Bereichsvariable festzulegen. Diese Variablen können dann in den Regeln verwendet werden, um einfache Vergleichsfunktionen durchzuführen. Ein Beispiel für das zuvor Gesagte wird unten angeführt. Öffentliche Verfahren
  • TTransliterator überschreibt. Translate() verwendet eine Reihe kontextsensitiver Regeln für die Durchführung der Übersetzung. Siehe TTransliterateRule für weitere Einzelheiten. Regeln werden gemäß den Prinzipien der teilweisen und mehrfachen Ersetzung angewandt, wie oben diskutiert.
  • TranslateBack() verwendet eine Reihe kontextsensitiver Regeln zur Durchführung der Transkription. Es verwendet dieselben Argumente, übersetzt aber in die entgegengesetzte Richtung, von den Zielzeichen zurück zu den Quellzeichen. Bei einem Romanisch-nach-Hebräisch- Transkriptor arbeitet Translate zum Beispiel vom Romanischen ins Hebräische; Transliterate-Back arbeitet vom Hebräischen ins Romanische.
  • Verfahren für Bereichsvariablen. Diese Variablen können für einen eingeschränkten Grad an "Platzhalterzeichengebrauch" verwendet werden. Jedes Zeichen, das sich weder in der Quellnoch in der Zielreihe befindet, kann als Bereichsvariable bezeichnet werden. Dieses Zeichen stimmt mit jedem anderen Zeichen im angegebenen Bereich überein. Auch umgekehrte Bereiche können festgelegt werden: in diesem Fall stimmt ein Zeichen mit jedem Zeichen überein das sich nicht im festgelegten Bereich befindet. Wenn zum Beispiel $ definiert ist als eine Bereichsvariable gleich "ei", dann verursachen die zwei Regeln:
  • c[$> S
  • c> K
  • daß "c" vor "i" kommt oder "e" in "S" umgewandelt wird, und vor allem anderen in "K" umgewandelt wird.
  • Die Klasse TTransliterateRule
  • TTransliterateRule implementiert eine kontextsensitive Transkriptionsregel. Sie wird innerhalb einer TRuleBasedTransliterator-Klasse verwendet.
  • Öffentliche Verfahren
  • Konstruiere eine Regel mit vier Komponenten. Beachte, daß diese Komponenten aus nicht mehr als 256 Zeichen bestehen können (Dies ist eine willkürliche Begrenzung, um so viel Speicherplatz wie möglich zu sparen).
  • Verwende die vom aktuellen Objekt beschriebene Regel zur Durchführung der Übersetzung. Dieses Verfahren wird von TRuleBasedTransliterator::Translate() aufgerufen.
  • Legt fest, ob die von diesem Objekt definierte Regel für ein gegebenes Textobjekt gilt.
  • Die Klasse TKoreanTransliterator
  • Die Klasse TKoreanTransliterator implementiert die Transkription Koreanisch JamoE> Hangul. Es ist eine Unterklasse von TTransliterator, wobei sich jedoch der verwendete Algorithmus vollkommen von der regelbasierten Transkription unterscheidet, welche von TRuleBasedTransliterator implementiert wird. Hintergrund: Jedes Hangul-Zeichen besteht aus zwei bis drei Komponenten, die als Jamos bezeichnet werden. Die ersten und zweiten Komponenten sind unbedingt erforderlich, während die dritte Komponente nicht unbedingt notwendig, aber möglich ist. Der Transkriptor geht davon aus, daß alle definierten Jamo- und Hangul- Zeichen im Quelltext vorhanden sein können, wenngleich manche komplexe Jamos nicht über bestimmte Tastaturen eingegeben werden können. Dies bedeutet, daß ein anderer Vorprozessor benötigt wird, um die komplexen Jamos aus den "tippbaren" Jamos zusammenzusetzen. Der Grund, warum dieser Schrift von der Jamo-Hangul-Transkription getrennt wird, liegt darin, daß die Jamo-Jamo-Zusammensetzung sehr stark vom Tastatur-Layout abhängt, wohingegen dies beim Jamo-Hangul-Prozeß nicht der Fall ist.
  • Die Klasse THexTransliterator
  • THexTransliterator wird von der TTransliterator-Klasse abgeleitet. Sie wandelt Hexadezimalzahlen zwischen einer und vier Stellen in deren Unicode-Entsprechung um. Wenn THexTransliterator in der Zeile verwendet wird, bietet sie ein einfaches Eingabeverfahren für die Erzeugung von Unicode-Zeichen, die nicht über eine Tastatur eingegeben werden können.
  • Die Klasse TSystemTransliterator
  • TSystemTransliterator ist die Anwenderschnittstelle zu den Transkriptoren des Systems. Diese Klasse kann dazu verwendet werden, die aktuelle Transkription zu erhalten und einzustellen und die verfügbaren Transkriptoren im System abzufragen sowie alle Öffentlichen Protokolle von TTransliterator auszuführen. Es wird eine Meldung erzeugt, wenn eine Änderung im System-Transkriptor vorgenommen wird.
  • Öffentliche Verfahren
  • (TTransliterator überschreibt)
  • Abfrage nach allen verfügbaren Transkriptoren. Gibt eine TCollection von TTokens zurück, wobei eine jede der Name eines Transkriptors ist.
  • Holt den SystemTranskriptor mit Namen und stellt ihn ein. Wenn SetsystemTransliterator() aufgerufen wird, spiegelt der nächste Aufruf für irgendein Öffentliches Verfahren in dieser Klasse die Änderung wider.
  • BEISPIELE GEMÄSS EINER BEVORZUGTEN AUSFÜHRUNGSFORM Erstellen einer TRuleBasedTransliterator-Klasse aus einer Textdatei
  • Das TRuleBasedTransliterator-Objekt kann aus einer Textdatei erstellt werden. Die Datei enthält eine geordnete Folge von Definitionen, Bereichsvariablen, Vorwärtsregeln und Rückwärtsregeln. Das folgende Beispiel besteht aus Fragmenten einer Textdateispezifikation für Devanagan (Hindi). Vor den Kommentaren befindet sich eine Raute (#). Die folgenden Zeichen sind Zeichen identifikationsdefinitionen. (SXXXX stellt ein Unicode-Zeichen dar.) Nachdem eine Identifikationsdefinition verarbeitet wurde, wird jedes in Klammern stehende Vorkommen dieser Identifikation durch die rechte Seite ersetzt. In diesen Textdateibeispielen werden x) der vorhergehende Kontext, y) die Quelle, z) der nachfolgende Kontext, a) das Ergebnis, b) das nachgeprüfte Ergebnis dargestellt als: x]y[z> a b, wie dies in näheren Einzelheiten weiter unten diskutiert wird.
  • Zum Beispiel:
  • ka=$915
  • kha=$916
  • ga=$917
  • Bei den folgenden handelt es sich um Bereichsvariablen:
  • Das folgende wandelt von lateinischen Buchstaben in Devanagan-Buchstaben um.
  • ii> {wii}
  • i> {wi}
  • Die folgenden Regeln wandeln von Devanagan-Buchstaben zurück in lateinische Buchstaben. Man beachte, daß ein Kleiner-Zeichen für die Rückwärtsregeln verwendet wird. Übersetzen von Text mit dem System-Transkriptor Erstellen und Anwenden vordefinierter Transkriptoren

Claims (26)

1. Ein Computersystem zur Transkription einer ersten Zeichenfolge, wie sie in den Computer eingegeben wird, enthaltend Zeichen einer ersten Sprache, in eine zweite Zeichenfolge, die Zeichen einer zweiten Sprache enthält, wobei das System einen Speicher (14, 16, 20) aufweist;
gekennzeichnet durch:
(a) Mittel zur Erzeugung einer Vielzahl von Transkriptionsobjekten, jedes der Transkriptionsobjekte besitzt eine Vielzahl von Transkriptionsregeln, die im Speicher in einer bevorzugten Ordnung angeordnet sind, jede der Vielzahl von Transkriptionsregeln weist eine Zeichenfolge in einer ersten Sprache und eine Zeichenfolge in einer zweiten Sprache auf, das Transkriptionsobjekte besitzt des weiteren eine Objektmethode zum Vergleich der Zeichenfolge der ersten Sprache in jeder Transkriptionsregel mit der Zeichenfolge zur Bestimmung eines Teilsatzes von Transkriptionsregeln, der eine Übereinstimmung ergibt;
(b) eine Anzeigevorrichtung (36, 38) zum Anzeigen von Text, wie er in einen Computer eingegeben wird;
(c) Mittel, die auf die erste Zeichenfolge ansprechen zur Auswahl eines aus einer Vielzahl von Transkriptionsobjekten;
(d) Mittel, die auf die Zeichen der ersten Sprache in der ersten Zeichenfolge ansprechen zum Aufruf der Objektmethode im ausgewählten Transkriptionsobjekt; und
(e) Mittel (244, 270, 422, 440; 36, 38), die auf die bevorzugte Ordnung ansprechen zur Auswahl einer Transkriptionsregel aus dem Teilsatz von Transkriptionsregeln zur ersten Zeichenfolge und zur Anzeige der Zeichenfolge der zweiten Sprache der ausgewählten Transkriptionsregel auf der Anzeigevorrichtung.
2. Das System nach Anspruch 1, worin jedes der Vielzahl von Transkriptionsobjekten eine Methode zur Anzeige eines Transkriptionsikons enthält, das ein Transkriptionsobjekt auf der Anzeigevorrichtung darstellt, und worin die Mittel zur Auswahl eines aus einer Vielzahl von Transkriptionsobjekten Mittel enthalten, die auf eine Auswahl eines angezeigten Transkriptionsikons ansprechen zur Auswahl eines entsprechenden Transkriptionsobjekts.
3. Das System nach Anspruch 2, worin die Mittel zu Einleitung einer Textverarbeitungsoperation Mittel enthalten zur Auswahl eines Transkriptionsobjekts durch Doppelklick auf das angezeigte Transkriptionsikon.
4. Das System nach Anspruch 2, worin die erste Zeichenfolge in einem Dokument enthalten ist, das durch ein Dokument-Ikon dargestellt wird, und die Mittel zur Auswahl eines Transkriptionsobjekts Mittel enthalten zur Auswahl eines Transkriptionsobjekts durch Bewegen eines der Transkriptionsikons und des Dokument-Ikons in den Anzeigebereich.
5. Das System nach Anspruch 1, worin jede Zeichenfolge der ersten Sprache enthält:
(a) wenigstens eine Kennzeichnung für das im Zusammenhang vorausgehende Zeichen;
(b) wenigstens ein Quellenzeichen;
(c) wenigstens eine Kennzeichnung für das im Zusammenhang nachfolgende Zeichen.
6. Das System nach Anspruch 5, worin wenigstens eine Zeichenfolge der zweiten Sprache einen Text zur Nachprüfung enthält.
7. Das System nach Anspruch 5, worin die Zeichenfolge der ersten Sprache wenigstens ein variables Zeichen enthält, worin das variable Zeichen eine Liste von Zeichen und eine Kennzeichnung dafür enthält, ob sich die zugeordnete Transkriptionsregel innerhalb oder außerhalb der Liste befindet.
8. Das System nach Anspruch 5, worin die Mittel zur Erzeugung von Transkriptionsobjekten Mittel enthalten zur Speicherung der Vielzahl von Transkriptionsregeln im Speicher auf der Basis eines Hash-Algorithmus.
9. Das System nach Anspruch 1, worin die Objekt-Methode Mittel steuert zur Berechnung einer optimalen Zahl von Zeichen für einen Vergleich der Zeichenfolge der ersten Sprache zur Ermittlung einer Übereinstimmung.
10. Das System nach Anspruch 1, weiter enthaltend:
Mittel, die auf eine Auswahl von einem der Vielzahl von Transkriptionsobjekten ansprechen zur Anzeige der Vielzahl von Transkriptionsregeln im ausgewählten Transkriptionsobjekt auf der Anzeigevorrichtung;
Mittel, die durch einen Benutzer gesteuert werden zur Bildung einer neuen Transkriptionsregel und zur Hinzufügung zu dem Transkriptionsobjekt;
Mittel, die durch einen Benutzer gesteuert werden zur Änderung einer der Vielzahl von angezeigten Transkriptionsregeln;
Mittel zur Speicherung neuer und geänderter Regeln für eine Benutzung in der Transkriptionsoperation.
11. Das System nach Anspruch 1, weiter enthaltend eine Eingabevorrichtung (22, 24, 26) und Mittel zum Empfang von Zeichen der ersten Sprache von der Eingabevorrichtung und worin die Mittel zum Aufruf der Objektmethode auf jedes der Zeichen in der ersten Sprache ansprechen, das von der Eingabevorrichtung empfangen wird.
12. Das System nach Anspruch 1, worin wenigstens eine der Transkriptionsregeln eine Zeichenfolge einer ersten Sprache enthält, die Vielfach-Zeichen aufweist, und eine Zeichenfolge einer zweiten Sprache eine Einzelzeichen-Darstellung der Vielfach-Zeichen enthält, und worin die Einzelzeichen-Darstellung im Speicher gespeichert wird und als eine Einzelzeichen-Darstellung auf der Anzeigevorrichtung angezeigt wird.
13. Das System nach Anspruch 1, worin jedes der Vielzahl von Transkriptionsobjekten eine Vielzahl von Transkriptionsregeln zur Umsetzung von Zeichenfolgen der ersten Sprache in Zeichenfolgen der zweiten Sprache enthält und eine Vielzahl von Transkriptionsregeln zur Umsetzung von Zeichenfolgen der zweiten Sprache in Zeichenfolgen der ersten Sprache enthält zur Vorwärts- und Rückwärts-Transkription.
14. Ein Verfahren Computersystem zur Transkription einer ersten Zeichenfolge, wie sie in den Computer eingegeben wird, enthaltend Zeichen einer ersten Sprache, in eine zweite Zeichenfolge, die Zeichen einer zweiten Sprache enthält, wobei das System einen Speicher und eine Anzeigevorrichtung aufweist;
gekennzeichnet durch die Schritte:
(a) Erzeugung einer Vielzahl von Transkriptionsobjekten, jedes der Transkriptionsobjekte besitzt eine Vielzahl von Transkriptionsregeln, die im Speicher in einer bevorzugten Ordnung angeordnet sind zur Umsetzung Zeichenfolgen der ersten Sprache in Zeichenfolgen der zweiten Sprache, und eine Objektmethode zum Vergleich der Zeichenfolge der ersten Sprache in jeder Transkriptionsregel mit der Zeichenfolge zur Bestimmung eines Teilsatzes von Transkriptionsregeln, der eine Übereinstimmung ergibt;
(b) eine Anzeigevorrichtung (36, 38) zum Anzeigen von Text, wie er in einen Computer eingegeben wird;
(c) Auswahl eines aus einer Vielzahl von Transkriptionsobjekten als Antwort auf die erste Zeichenfolge, wie sie in den Computer eingegeben wird;
(d) Aufruf der Objektmethode im ausgewählten Transkriptionsobjekt als Antwort auf die Zeichen der ersten Sprache in der ersten Zeichenfolge; und
(e) Auswahl einer Transkriptionsregel aus dem Teilsatz von Transkriptionsregeln und Anwenden der ausgewählten Transkriptionsregel auf die erste Zeichenfolge und Anzeigen der Zeichenfolge der zweiten Sprache der ausgewählten Transkriptionsregel auf der Anzeigevorrichtung.
15. Das Verfahren nach Anspruch 14, worin jedes der Vielzahl von Transkriptionsobjekten eine Methode zur Anzeige eines Transkriptionsikons enthält, das ein Transkriptionsobjekt auf der Anzeigevorrichtung darstellt, und worin Schritt (b) den Schritt der Auswahl eines angezeigten Transkriptionsikons enthält.
16. Das Verfahren nach Anspruch 15, worin Schritt (b) weiter den Schritt der Auswahl eines Transkriptionsobjekts durch Doppelklick auf das angezeigte Transkriptionsikon enthält.
17. Das Verfahren nach Anspruch 15, worin die erste Zeichenfolge in einem Dokument enthalten ist, das durch ein Dokument-Ikon dargestellt wird, und Schritt (b) den Schritt der Auswahl eines Transkriptionsobjekts enthält durch Bewegen eines der Transkriptionsikons und des Dokument-Ikons in den Anzeigebereich.
18. Das Verfahren nach Anspruch 14, worin Schritt (a) die Schritte enthält:
(a1) Bildung einer Transkriptionsregel mit einer Zeichenfolge einer ersten Sprache, wobei die Zeichenfolge wenigstens eine Kennzeichnung für das im Zusammenhang vorausgehende Zeichen enthält;
(a2) Hinzufügen zur Zeichenfolge der ersten Sprache, die in Schritt (a1) gebildet wurde, wenigstens ein Quellenzeichen;
(a3) Hinzufügen zur Zeichenfolge der ersten Sprache, die in Schritt (a1) gebildet wurde, wenigstens eine Kennzeichnung für das im Zusammenhang nachfolgende Zeichen.
19. Das Verfahren nach Anspruch 18, worin Schritt (a) den Schritt der Bildung einer Transkriptionsregel mit einer Zeichenfolge der zweiten Sprache enthält, die einen Text zur Nachprüfung aufweist.
20. Das Verfahren nach Anspruch 17, worin Schritt (a) den Schritt der Bildung einer Transkriptionsregel enthält, in welcher die Zeichenfolge der ersten Sprache wenigstens ein variables Zeichen aufweist, das eine Liste von Zeichen und eine Kennzeichnung dafür enthält, ob sich die zugeordnete Transkriptionsregel innerhalb oder außerhalb der Liste befindet.
21. Das Verfahren nach Anspruch 17, worin Schritt (a) den Schritt der Speicherung der Vielzahl von Transkriptionsregeln im Speicher auf der Basis eines Hash-Algorithmus enthält.
22. Das Verfahren nach Anspruch 14, worin Schritt (c) den Schritt der Berechnung einer optimalen Zahl von Zeichen enthält für einen Vergleich der Zeichenfolge der ersten Sprache zur Ermittlung einer Übereinstimmung.
23. Das Verfahren nach Anspruch 14, weiter enthaltend die Schritte:
(e) Anzeige der Vielzahl von Transkriptionsregeln im ausgewählten Transkriptionsobjekt auf der Anzeigevorrichtung als Antwort auf eine Auswahl von einem der Vielzahl von Transkriptionsobjekten;
(f) Bildung einer neuen Transkriptionsregel und Hinzufügung derselben zu dem Transkriptionsobjekt;
(g) Änderung einer der Vielzahl von angezeigten Transkriptionsregeln; und
(h) Speicherung neuer und geänderter Regeln für eine Benutzung in der Transkriptionsoperation.
24. Das Verfahren nach Anspruch 16, worin das Computersystem weiter eine Eingabevorrichtung und Mittel zum Empfang von Zeichen der ersten Sprache von der Eingabevorrichtung enthält, und worin Schritt (c) den Schritt des Aufrufs der Objektmethode als Antwort auf jedes der Zeichen in der ersten Sprache enthält, das von der Eingabevorrichtung empfangen wird.
25. Das Verfahren nach Anspruch 14, worin Schritt (a) den Schritt der Bildung einer Transkriptionsregel enthält, die eine Zeichenfolge einer ersten Sprache mit Vielfach-Zeichen und eine Zeichenfolge einer zweiten Sprache mit einer Einzelzeichen-Darstellung der Vielfach-Zeichen enthält, und Speicherung der Einzelzeichen-Darstellung im Speicher und Anzeige der Einzelzeichen-Darstellung auf der Anzeigevorrichtung.
26. Das Verfahren nach Anspruch 14, worin Schritt (a) den Schritt der Bildung eines jedens der Vielzahl von Transkriptionsobjekten mit einer Vielzahl von Transkriptionsregeln zur Umsetzung von zeichenfolgen der ersten Sprache in Zeichenfolgen der zweiten Sprache und eine Vielzahl von Transkriptionsregeln zur Umsetzung von Zeichenfolgen der zweiten Sprache in Zeichenfolgen der ersten Sprache enthält zur Vorwärts- und Rückwärts- Transkription.
DE69400869T 1993-04-26 1994-01-03 System zum transkribieren von texteingaben Expired - Fee Related DE69400869T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/053,790 US5432948A (en) 1993-04-26 1993-04-26 Object-oriented rule-based text input transliteration system
PCT/US1994/000081 WO1994025922A1 (en) 1993-04-26 1994-01-03 Text input transliteration system

Publications (2)

Publication Number Publication Date
DE69400869D1 DE69400869D1 (de) 1996-12-12
DE69400869T2 true DE69400869T2 (de) 1997-05-15

Family

ID=21986560

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69400869T Expired - Fee Related DE69400869T2 (de) 1993-04-26 1994-01-03 System zum transkribieren von texteingaben

Country Status (7)

Country Link
US (1) US5432948A (de)
EP (1) EP0686286B1 (de)
JP (1) JPH08509829A (de)
AU (1) AU6019594A (de)
CA (1) CA2145668A1 (de)
DE (1) DE69400869T2 (de)
WO (1) WO1994025922A1 (de)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994025921A1 (en) * 1993-04-26 1994-11-10 Taligent, Inc. Text transliteration system
DE69430421T2 (de) * 1994-01-14 2003-03-06 Sun Microsystems, Inc. Verfahren und Gerät zur Automatisierung der Umgebungsanpassung von Rechnerprogrammen
US5873111A (en) * 1996-05-10 1999-02-16 Apple Computer, Inc. Method and system for collation in a processing system of a variety of distinct sets of information
US6266709B1 (en) 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server failure reporting process
US6038590A (en) 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system
US5987245A (en) 1996-07-01 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework
US6434598B1 (en) 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US6272555B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system
US6304893B1 (en) 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
US5999972A (en) 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US5848246A (en) 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US5802533A (en) * 1996-08-07 1998-09-01 Walker; Randall C. Text processor
US6085162A (en) * 1996-10-18 2000-07-04 Gedanken Corporation Translation system and method in which words are translated by a specialized dictionary and then a general dictionary
US6745381B1 (en) 1997-12-12 2004-06-01 International Business Machines Coroporation Method and apparatus for annotating static object models with business rules
US6016477A (en) * 1997-12-18 2000-01-18 International Business Machines Corporation Method and apparatus for identifying applicable business rules
US6963871B1 (en) * 1998-03-25 2005-11-08 Language Analysis Systems, Inc. System and method for adaptive multi-cultural searching and matching of personal names
US8855998B2 (en) 1998-03-25 2014-10-07 International Business Machines Corporation Parsing culturally diverse names
US8812300B2 (en) 1998-03-25 2014-08-19 International Business Machines Corporation Identifying related names
US6170000B1 (en) * 1998-08-26 2001-01-02 Nokia Mobile Phones Ltd. User interface, and associated method, permitting entry of Hangul sound symbols
US7099876B1 (en) 1998-12-15 2006-08-29 International Business Machines Corporation Method, system and computer program product for storing transliteration and/or phonetic spelling information in a text string class
US6460015B1 (en) * 1998-12-15 2002-10-01 International Business Machines Corporation Method, system and computer program product for automatic character transliteration in a text string object
US6496844B1 (en) 1998-12-15 2002-12-17 International Business Machines Corporation Method, system and computer program product for providing a user interface with alternative display language choices
US6389386B1 (en) 1998-12-15 2002-05-14 International Business Machines Corporation Method, system and computer program product for sorting text strings
US6363342B2 (en) * 1998-12-18 2002-03-26 Matsushita Electric Industrial Co., Ltd. System for developing word-pronunciation pairs
US6493694B1 (en) * 1999-04-01 2002-12-10 Qwest Communications Interational Inc. Method and system for correcting customer service orders
JP2001125915A (ja) * 1999-10-28 2001-05-11 Fujitsu Ltd 情報検索装置
CN1271545C (zh) * 1999-11-17 2006-08-23 联合国 语言翻译系统
IL134328A0 (en) * 2000-02-02 2001-04-30 Cellcom Israel Ltd Cellular telecommunication network for transmitting transliterated text messages and method therefor
TW561360B (en) * 2000-08-22 2003-11-11 Ibm Method and system for case conversion
US6692170B2 (en) 2001-02-21 2004-02-17 Eli Abir Method and apparatus for text input
US7177792B2 (en) * 2001-05-31 2007-02-13 University Of Southern California Integer programming decoder for machine translation
US8214196B2 (en) 2001-07-03 2012-07-03 University Of Southern California Syntax-based statistical translation model
US7136803B2 (en) * 2001-09-25 2006-11-14 Apple Computer, Inc. Japanese virtual dictionary
CA2475857C (en) * 2002-03-11 2008-12-23 University Of Southern California Named entity translation
US20040002850A1 (en) * 2002-03-14 2004-01-01 Shaefer Leonard Arthur System and method for formulating reasonable spelling variations of a proper name
US7620538B2 (en) 2002-03-26 2009-11-17 University Of Southern California Constructing a translation lexicon from comparable, non-parallel corpora
WO2004100016A1 (en) * 2003-05-06 2004-11-18 America Online Incorporated Non-dictionary based japanese language tokenizer
US8548794B2 (en) 2003-07-02 2013-10-01 University Of Southern California Statistical noun phrase translation
US7711545B2 (en) * 2003-07-02 2010-05-04 Language Weaver, Inc. Empirical methods for splitting compound words with application to machine translation
US7369986B2 (en) * 2003-08-21 2008-05-06 International Business Machines Corporation Method, apparatus, and program for transliteration of documents in various Indian languages
US8200475B2 (en) * 2004-02-13 2012-06-12 Microsoft Corporation Phonetic-based text input method
US7698125B2 (en) * 2004-03-15 2010-04-13 Language Weaver, Inc. Training tree transducers for probabilistic operations
US8296127B2 (en) * 2004-03-23 2012-10-23 University Of Southern California Discovery of parallel text portions in comparable collections of corpora and training using comparable texts
US20070005586A1 (en) * 2004-03-30 2007-01-04 Shaefer Leonard A Jr Parsing culturally diverse names
US8666725B2 (en) * 2004-04-16 2014-03-04 University Of Southern California Selection and use of nonstatistical translation components in a statistical machine translation framework
US8600728B2 (en) 2004-10-12 2013-12-03 University Of Southern California Training for a text-to-text application which uses string to tree conversion for training and decoding
US7376648B2 (en) * 2004-10-20 2008-05-20 Oracle International Corporation Computer-implemented methods and systems for entering and searching for non-Roman-alphabet characters and related search systems
US8676563B2 (en) 2009-10-01 2014-03-18 Language Weaver, Inc. Providing human-generated and machine-generated trusted translations
US8886517B2 (en) 2005-06-17 2014-11-11 Language Weaver, Inc. Trust scoring for language translation systems
US7974833B2 (en) 2005-06-21 2011-07-05 Language Weaver, Inc. Weighted system of expressing language information using a compact notation
US7389222B1 (en) 2005-08-02 2008-06-17 Language Weaver, Inc. Task parallelization in a text-to-text system
US7813918B2 (en) * 2005-08-03 2010-10-12 Language Weaver, Inc. Identifying documents which form translated pairs, within a document collection
US7624020B2 (en) * 2005-09-09 2009-11-24 Language Weaver, Inc. Adapter for allowing both online and offline training of a text to text system
CN100483399C (zh) * 2005-10-09 2009-04-29 株式会社东芝 训练音译模型、切分统计模型的方法和装置
US10319252B2 (en) 2005-11-09 2019-06-11 Sdl Inc. Language capability assessment and training apparatus and techniques
US8943080B2 (en) 2006-04-07 2015-01-27 University Of Southern California Systems and methods for identifying parallel documents and sentence fragments in multilingual document collections
US8077974B2 (en) 2006-07-28 2011-12-13 Hewlett-Packard Development Company, L.P. Compact stylus-based input technique for indic scripts
US8886518B1 (en) 2006-08-07 2014-11-11 Language Weaver, Inc. System and method for capitalizing machine translated text
US8433556B2 (en) 2006-11-02 2013-04-30 University Of Southern California Semi-supervised training for statistical word alignment
US9122674B1 (en) 2006-12-15 2015-09-01 Language Weaver, Inc. Use of annotations in statistical machine translation
US8468149B1 (en) 2007-01-26 2013-06-18 Language Weaver, Inc. Multi-lingual online community
US8615389B1 (en) 2007-03-16 2013-12-24 Language Weaver, Inc. Generation and exploitation of an approximate language model
US8831928B2 (en) 2007-04-04 2014-09-09 Language Weaver, Inc. Customizable machine translation service
CN105204617B (zh) * 2007-04-11 2018-12-14 谷歌有限责任公司 用于输入法编辑器集成的方法和系统
US8005664B2 (en) * 2007-04-30 2011-08-23 Tachyon Technologies Pvt. Ltd. System, method to generate transliteration and method for generating decision tree to obtain transliteration
EG25474A (en) * 2007-05-21 2012-01-11 Sherikat Link Letatweer Elbarmaguey At Sae Method for translitering and suggesting arabic replacement for a given user input
US8825466B1 (en) 2007-06-08 2014-09-02 Language Weaver, Inc. Modification of annotated bilingual segment pairs in syntax-based machine translation
WO2009049049A1 (en) * 2007-10-09 2009-04-16 Language Analytics Llc Method and system for adaptive transliteration
US8463597B2 (en) 2008-05-11 2013-06-11 Research In Motion Limited Mobile electronic device and associated method enabling identification of previously entered data for transliteration of an input
JP2010055235A (ja) * 2008-08-27 2010-03-11 Fujitsu Ltd 翻訳支援プログラム、及び該システム
US8990064B2 (en) 2009-07-28 2015-03-24 Language Weaver, Inc. Translating documents based on content
US8380486B2 (en) 2009-10-01 2013-02-19 Language Weaver, Inc. Providing machine-generated translations and corresponding trust levels
US10417646B2 (en) 2010-03-09 2019-09-17 Sdl Inc. Predicting the cost associated with translating textual content
US11003838B2 (en) 2011-04-18 2021-05-11 Sdl Inc. Systems and methods for monitoring post translation editing
US8694303B2 (en) 2011-06-15 2014-04-08 Language Weaver, Inc. Systems and methods for tuning parameters in statistical machine translation
US8886515B2 (en) 2011-10-19 2014-11-11 Language Weaver, Inc. Systems and methods for enhancing machine translation post edit review processes
US9158762B2 (en) 2012-02-16 2015-10-13 Flying Lizard Languages, Llc Deconstruction and construction of words of a polysynthetic language for translation purposes
US8942973B2 (en) 2012-03-09 2015-01-27 Language Weaver, Inc. Content page URL translation
US10261994B2 (en) 2012-05-25 2019-04-16 Sdl Inc. Method and system for automatic management of reputation of translators
US9152622B2 (en) 2012-11-26 2015-10-06 Language Weaver, Inc. Personalized machine translation via online adaptation
US9218341B2 (en) * 2013-08-26 2015-12-22 Lingua Next Technologies Pvt. Ltd. Method and system for language translation
IN2013MU03161A (de) * 2013-10-04 2015-07-03 Deshmukh Rakesh
US9213694B2 (en) 2013-10-10 2015-12-15 Language Weaver, Inc. Efficient online domain adaptation
US20180232598A1 (en) * 2017-02-10 2018-08-16 Microsoft Technology Licensing, Llc Recursive object oriented pattern matching
US11455476B2 (en) * 2017-04-05 2022-09-27 TSTREET Pty Ltd Language translation aid
US20230128406A1 (en) 2021-10-27 2023-04-27 Bank Of America Corporation Recursive Logic Engine for Efficient Transliteration of Machine Interpretable Languages

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1184305A (en) * 1980-12-08 1985-03-19 Russell J. Campbell Error correcting code decoder
GB2125197B (en) * 1982-07-22 1987-03-04 Pingyi Zhi Encoding chinese characters
US5091950A (en) * 1985-03-18 1992-02-25 Ahmed Moustafa E Arabic language translating device with pronunciation capability using language pronunciation rules
US4951202A (en) * 1986-05-19 1990-08-21 Yan Miin J Oriental language processing system
US4821220A (en) * 1986-07-25 1989-04-11 Tektronix, Inc. System for animating program operation and displaying time-based relationships
US4885717A (en) * 1986-09-25 1989-12-05 Tektronix, Inc. System for graphically representing operation of object-oriented programs
US4891630A (en) * 1988-04-22 1990-01-02 Friedman Mark B Computer vision system with improved object orientation technique
EP0347162A3 (de) * 1988-06-14 1990-09-12 Tektronix, Inc. Einrichtung und Verfahren zum Steuern von Datenflussprozessen durch erzeugte Befehlsfolgen
US5041992A (en) * 1988-10-24 1991-08-20 University Of Pittsburgh Interactive method of developing software interfaces
US5133075A (en) * 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
US5050090A (en) * 1989-03-30 1991-09-17 R. J. Reynolds Tobacco Company Object placement method and apparatus
US5113342A (en) * 1989-04-26 1992-05-12 International Business Machines Corporation Computer method for executing transformation rules
US5060276A (en) * 1989-05-31 1991-10-22 At&T Bell Laboratories Technique for object orientation detection using a feed-forward neural network
US5125091A (en) * 1989-06-08 1992-06-23 Hazox Corporation Object oriented control of real-time processing
US5276616A (en) * 1989-10-16 1994-01-04 Sharp Kabushiki Kaisha Apparatus for automatically generating index
US5181162A (en) * 1989-12-06 1993-01-19 Eastman Kodak Company Document management and production system
US5093914A (en) * 1989-12-15 1992-03-03 At&T Bell Laboratories Method of controlling the execution of object-oriented programs
US5075848A (en) * 1989-12-22 1991-12-24 Intel Corporation Object lifetime control in an object-oriented memory protection mechanism
US5329446A (en) * 1990-01-19 1994-07-12 Sharp Kabushiki Kaisha Translation machine
US5151987A (en) * 1990-10-23 1992-09-29 International Business Machines Corporation Recovery objects in an object oriented computing environment
US5224039A (en) * 1990-12-28 1993-06-29 International Business Machines Corporation Method of enabling the translation of machine readable information
US5224040A (en) * 1991-03-12 1993-06-29 Tou Julius T Method for translating chinese sentences
US5119475A (en) * 1991-03-13 1992-06-02 Schlumberger Technology Corporation Object-oriented framework for menu definition

Also Published As

Publication number Publication date
AU6019594A (en) 1994-11-21
JPH08509829A (ja) 1996-10-15
US5432948A (en) 1995-07-11
CA2145668A1 (en) 1994-11-10
EP0686286B1 (de) 1996-11-06
EP0686286A1 (de) 1995-12-13
WO1994025922A1 (en) 1994-11-10
DE69400869D1 (de) 1996-12-12

Similar Documents

Publication Publication Date Title
DE69400869T2 (de) System zum transkribieren von texteingaben
DE69400276T2 (de) Zeichensatzsystem für texteingabe
DE69400207T2 (de) Sprachabhängiges textvergleichssystem
DE3586273T2 (de) Implizite erzeugung einer superblockstruktur in einem vieldaten-edierungsgeraet.
DE69322741T2 (de) Vorrichtung und Methode zur Verwendung im Ausrichten von zweisprachigen Corpora
DE3782447T2 (de) Dokumentverarbeitungsapparat.
DE69607472T2 (de) System zur unterdrückung der vieldeutigkeit in einer verringerten tastatur
DE3688107T2 (de) Verfahren zur Behaltung der Anpassungsfähigkeit von mit verschiedenen Eingabe-/Ausgabearten.
DE68926845T2 (de) Maschinenübersetzungssystem
DE3586274T2 (de) Vieldaten-edierungsgeraet mit gebrauch von attributstroemen fuer textobjekte.
DE69129107T2 (de) Automatisches übersetzungs-und fernübertragungssystem
DE3751716T2 (de) System zur maschinellen Übersetzung
DE68929038T2 (de) Verfahren zur Verarbeitung von digitalen Textdaten
Furuta et al. Document formatting systems: survey, concepts, and issues
DE69807699T2 (de) Vorrichtung und verfahren zur syntaxanalyse und transformation von befehlen
DE3586272T2 (de) Integriertes vieldaten-edierungsgeraet.
DE69424350T2 (de) Kontextsensitive Methode zum Auffinden von Informationen über ein Wort in einem elektronischen Wörterbuch
DE69808498T2 (de) System zur reduzierung der vieldeutigkeit einer eingeschrängten tastatur
DE19709968C2 (de) Verfahren und System zum Übersetzen eines Dokumentes
DE69710458T2 (de) Verfahren und system für die berechnung von semantischen logischen formen von syntaxbäumen
DE10162156B4 (de) Die Benutzernavigation durch Multimedia-Dateiinhalte unterstützendes System und Verfahren
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
DE69807483T2 (de) Verfahren zum darstellen von glyphen unter verwendung einer bibliothek von gestaltungsdiensten
EP1669852B1 (de) Verfahren und Computerprogramm zum Umwandeln eines Eingangs-Dokumentendatenstroms mit einem oder mehreren Dokumenten in eine strukturierte Datendatei
DE69427848T2 (de) Unterstützungssystem zur Herstellung von Wörterbüchern

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: OBJECT TECHNOLOGY LICENSING CORP., CUPERTINO, CALI

8339 Ceased/non-payment of the annual fee