DE69400869T2 - System zum transkribieren von texteingaben - Google Patents
System zum transkribieren von texteingabenInfo
- 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
Links
- 238000013518 transcription Methods 0.000 claims description 143
- 230000035897 transcription Effects 0.000 claims description 143
- 238000000034 method Methods 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims 4
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012552 review Methods 0.000 claims 1
- 238000012795 verification Methods 0.000 claims 1
- 238000013515 script Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000012360 testing method Methods 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 241001323321 Pluto Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/53—Processing of non-Latin text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
- G06F40/129—Handling non-Latin characters, e.g. kana-to-kanji conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/157—Transformation using dictionaries or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-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
- 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.
- Diese Erfindung betrifft im allgemeinen Verbesserungen in Computersystemen und insbesondere die intelligente Transkription von Text bei der Eingabe in ein Computersystem.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.)
- 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).
- 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.
- 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.
- 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.
- 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.
- 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 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1993
- 1993-04-26 US US08/053,790 patent/US5432948A/en not_active Expired - Lifetime
-
1994
- 1994-01-03 AU AU60195/94A patent/AU6019594A/en not_active Abandoned
- 1994-01-03 DE DE69400869T patent/DE69400869T2/de not_active Expired - Fee Related
- 1994-01-03 JP JP6524219A patent/JPH08509829A/ja not_active Ceased
- 1994-01-03 WO PCT/US1994/000081 patent/WO1994025922A1/en active IP Right Grant
- 1994-01-03 EP EP94906507A patent/EP0686286B1/de not_active Expired - Lifetime
- 1994-01-03 CA CA002145668A patent/CA2145668A1/en not_active Abandoned
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 |