DE10129634A1 - Direktes Diktat unter Verwendung von Eingabemethoden - Google Patents
Direktes Diktat unter Verwendung von EingabemethodenInfo
- Publication number
- DE10129634A1 DE10129634A1 DE10129634A DE10129634A DE10129634A1 DE 10129634 A1 DE10129634 A1 DE 10129634A1 DE 10129634 A DE10129634 A DE 10129634A DE 10129634 A DE10129634 A DE 10129634A DE 10129634 A1 DE10129634 A1 DE 10129634A1
- Authority
- DE
- Germany
- Prior art keywords
- text
- client application
- input method
- voice
- application
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Ein Verfahren, um eine Client-Anwendung sprachfähig zu machen, kann folgende Schritte umfassen: Koppeln einer Eingabemethode an die Client-Anwendung; Herstellen einer Interprozesskommunikationsverbindung zwischen der Eingabemethode und der Sprachdiktatanwendung; Umwandeln von Spracheingabe in Text in der Sprachdiktatanwendung und Senden eines Textes über die Interprozesskommunikationsverbindung an die Eingabemethode. Bedeutend ist, dass die Eingabemethode den Text an die Client-Anwendung liefern kann. Infolgedessen wird der Text durch die Eingabemethode, die an die Client-Anwendung gekoppelt ist, an die Client-Anwendung geliefert, ohne dass eine Veränderung der Client-Anwendung erforderlich ist. Vorzugsweise wird der Schritt des Lieferns ohne eine Übertragung simulierter Tastenanschläge an die Client-Anwendung durchgeführt.
Description
Diese Erfindung bezieht sich auf das Gebiet der
Spracherkennung und insbesondere auf ein System, ein
Verfahren und eine Vorrichtung, um unter Verwendung von
Eingabemethoden direktes Sprachdiktat in eine
Client-Anwendung zu ermöglichen.
Gegenwärtig steht ein breites Angebot an Computer-
Softwareprogrammen zur Verfügung, die als Client-Anwendungen
bekannt sind und es PC-Benutzern ermöglichen, verschiedene
spezialisierte Aufgaben (Tasks) auszuführen. Beispielsweise
gibt es Client-Anwendungen, die Textverarbeitung,
Tabellenkalkulation, Terminplanung und eine Menge anderer
üblicher Aufgaben, die mit Wirtschaft und Technik zu tun
haben, ausführen können. Diese Programme sind dafür
entwickelt, bestimmte bekannte Anforderungen einer Gruppe
von Benutzern zu erfüllen, und sind im Allgemeinen so
entworfen, dass sie Möglichkeiten bieten, mit denen alle
Aufgaben, die üblicherweise mit solchen Anforderungen
verbunden sind, erfüllt werden können. Insofern sind die
kommerziellen Client-Anwendungen, die der Öffentlichkeit im
Allgemeinen zur Verfügung stehen, völlig ausreichend.
Gelegentlich kann es jedoch vorkommen, dass bestimmte
Benutzer spezialisierte Bedürfnisse haben, die entweder von
Softwareentwicklern übersehen oder absichtlich ignoriert
worden sind, da die Technologie zur Implementierung solcher
Eigenschaften vorher nicht zur Verfügung stand oder
außerhalb der Sachkenntnis eines bestimmten
Client-Anwendungsentwicklers liegt. Es kann sein, dass
bestimmte funktionale Eigenschaften in vorhandenen
Software-Anwendungsprogrammen nicht vorhanden sind, da die
Implementierung von funktionalen Eigenschaften, die solche
Bedürfnisse ansprechen, unwirtschaftlich erschien, wenn man
die relativ kleine Zahl von Benutzern betrachtet, die Bedarf
an diesen Anforderungen haben. Ein Beispiel einer
funktionalen Eigenschaft, die beide vorhergehenden
Eigenschaften besitzt, ist die Technologie der
Spracherkennung oder die Fähigkeit einer Softwareanwendung,
gesprochene Worte zu erkennen. Spracherkennung ist eine
höchst komplexe Technologie, die eine bedeutende,
spezialisierte Sachkenntnis seitens des Entwicklers
verlangt. Die Integration von Spracherkennungsfunktionalität
in eine Client-Anwendung kann sich als teures Geschäft
herausstellen, besonders im Hinblick auf die kleine Menge
von Anwendungsbenutzern, die das Sprachdiktat als ein Mittel
der Texteingabe in die Client-Anwendung, gegenüber der
herkömmlichen Eingabe über die Tastatur, bevorzugen.
Entscheidet sich ein bestimmter kommerzieller
Softwareentwickler, ein besonderes Produktmerkmal, wie z. B.
Spracherkennung, in einem Anwendungsprogramm nicht zu
implementieren, ist es möglich, dass ein Dritter als
Softwareentwickler gerne unabhängig solche Merkmale bzw.
eine solche Funktionalität zur Verfügung stellen würde. In
solchen Fällen wäre es für den Dritt-Softwareentwickler
wünschenswert, in der Lage zu sein, eine solche
Funktionalität zu entwickeln und nahtlos anzubieten.
Diesbezüglich sollte man verstehen, dass der Begriff
"nahtlose Integration" - wie er im vorliegenden Dokument
verwendet wird - bedeutet, dass die zusätzliche
Funktionalität, die einer bestimmten Anwendung hinzugefügt
werden soll, dem Benutzer so erscheint, als wäre sie ein
integrierter oder zusammenhängender Teil der vorhandenen
Client-Anwendung und nicht eine separate Anwendung.
Bedeutenderweise jedoch bereitet nahtlose Integration von
zusätzlichen Softwarefunktionen und -eigenschaften,
besonders Spracherkennung, innerhalb des Kontextes einer
vorhandenen Client-Anwendung einige Probleme. Genau gesagt,
die Modifizierung einer Client-Anwendung erfordert
üblicherweise Zugang zum Quellcode der Client-Anwendung, um
Spracherkennungsfunktionalität innerhalb des Kontextes der
vorhandenen Client-Anwendung nahtlos zu implementieren.
Dieses Erfordernis kann ein unüberwindliches Hindernis bei
der Implementierung der Spracherkennungsfunktionalität
darstellen, da Softwarebesitzer Dritten häufig nur
widerstrebend den Zugang zum Quellcode einer
Client-Anwendung erlauben. Bereits die Notwendigkeit, Zugang
zum Quellcode der Client-Anwendung zu erhalten, zusammen mit
der Erlaubnis des Besitzers, diesen Code zu verändern, um
Spracherkennung zu unterstützen, wird unvermeidlich
Verzögerungen und zusätzliche Kosten verursachen.
Dementsprechend wäre es wünschenswert, ein Verfahren zur
Verfügung zu stellen, um an einer vorhandenen
Client-Anwendung Spracherkennungsfunktionalität zu geben.
Insbesondere wäre es wünschenswert, ein Verfahren und ein
System für nahtloses Einfügen, Abrufen und Korrigieren von
sprachlichem Text in einer Client-Anwendung zur Verfügung zu
stellen, ohne dass Zugang zum Quellcode einer solchen
vorhandenen Client-Anwendung erforderlich ist oder dieser
geändert werden muss.
Ein Verfahren, das direktes Sprachdiktat in eine
Client-Anwendung unter Verwendung von Eingabemethoden
ermöglicht, stellt ein einheitliches Mittel für das
Einfügen, das Abrufen und das Korrigieren von Texten
sprachlichen Ursprungs in jede beliebige Client-Anwendung
zur Verfügung, welche Eingabemethoden oder Äquivalente davon
unterstützt. Es ist von Bedeutung, dass ein Verfahren gemäß
den erfindungsgemäßen Anordnungen keine Veränderung des
Quellcodes der Client-Anwendung benötigt. Vielmehr kann die
vorliegende Erfindung das direkte Diktat an die
Client-Anwendung liefern, indem es auf transparente Weise
allgemein verfügbare Eingabemethodendienste verwendet.
Ein Verfahren, mit dem eine Client-Anwendung sprachfähig
wird, kann folgende Schritte enthalten: Koppeln einer
Eingabemethode an die Client-Anwendung; Herstellen einer
Interprozesskommunikationsverbindung zwischen der
Eingabemethode und einer Sprachdiktatanwendung; Umformen von
Spracheingabe in Text in der Sprachdiktatanwendung und
Senden des Textes über die
Interprozesskommunikationsverbindung an die Eingabemethode.
Bedeutend ist, dass die Eingabemethode den Text an die
Client-Anwendung liefern kann. Als Konsequenz wird der Text
durch die Eingabemethode, die an die Client-Anwendung
gekoppelt ist, an die Client-Anwendung geliefert, ohne dass
die Client-Anwendung verändert werden muss.
In der bevorzugten Ausführungsart wird der Schritt der
Bereitstellung ohne Übertragung simulierter Tastenanschläge
an die Client-Anwendung ausgeführt. Vielmehr wird der Text
direkt in den Textpuffer der Client-Anwendung eingefügt.
Bedeutenderweise kann das Verfahren darüber hinaus die
Schritte enthalten: Erkennen einer Textauswahl in der
Client-Anwendung durch den Benutzer; Senden des ausgewählten
Textes über die Interprozesskommunikationsverbindung an die
Sprachdiktatanwendung; Bestimmen alternativer Worte für den
ausgewählten Text, Anzeigen der alternativen Worte und
Akzeptieren einer Auswahl eines der alternativen Worte und
Senden des ausgewählten alternativen Wortes über die
Interprozesskommunikationsverbindung an die Eingabemethode.
Anschließend kann die Eingabemethode den ausgewählten Text
durch das ausgewählte alternative Wort ersetzen.
In der bevorzugten Ausführungsart ist die
Interprozesskommunikationsverbindung eine Verbindung des
Typs Apple-Ereignis-Interprozessnachrichtenprotokoll (Apple
Event Interprocess Messaging Protocol link). Jedoch können
andere Interprozesskommunikationsverbindungen, wie zum
Beispiel TCP/IP, genügen. Als solche können die
Eingabemethode und die Client-Anwendung in verschiedenen
Datenverarbeitungssystemen untergebracht sein. Überdies ist
die Eingabemethode vorzugsweise mit einer Systemsoftware
TEXT SERVICE MANAGER® von MACINTOSH® an die Client-Anwendung
gekoppelt.
Eine sprachfähige Client-Anwendung gemäß der vorliegenden
Erfindung kann eine Client-Anwendung, eine Eingabemethode,
die an die Client-Anwendung gekoppelt ist, und eine
Sprachdiktatanwendung einschließen. Die
Sprachdiktatanwendung kann über eine
Interprozesskommunikationsverbindung kommunikativ mit der
Eingabemethode verbunden werden. Die Sprachdiktatanwendung
kann Spracheingabe empfangen und die Spracheingabe in Text
umwandeln. Anschließend kann die Sprachdiktatanwendung den
Text über die Interprozesskommunikationsverbindung an die
Eingabemethode senden. Schließlich kann die Eingabemethode
den gesendeten Text empfangen und den Text in einen
Textpuffer der Client-Anwendung einfügen.
Die sprachfähige Client-Anwendung kann Mittel umfassen, die
in der Client-Anwendung eine Textauswahl des Benutzers
erkennen. In diesem Fall können die Mittel zur Erkennung den
ausgewählten Text an die Eingabemethode übertragen. Die
Eingabemethode wiederum kann den ausgewählten Text über die
Interprozesskommunikationsverbindung an die
Sprachdiktatanwendung senden. Die Sprachdiktatanwendung kann
für den ausgewählten Text alternative Worte bestimmen, die
alternativen Worte anzeigen und eine Auswahl eines der
alternativen Worte akzeptieren. Schließlich kann die
Sprachdiktatanwendung das ausgewählte alternative Wort über
die Interprozesskommunikationsverbindung an die
Eingabemethode senden, wobei die Eingabemethode den
ausgewählten Text durch das ausgewählte alternative Wort
ersetzen kann.
Bemerkenswerterweise kann die Eingabemethode Mittel zum
Einfügen des Textes in den Textpuffer beinhalten, ohne
simulierte Tastenanschläge an die Client-Anwendung zu
übertragen. Auch ist die
Interprozesskommunikationsverbindung in der bevorzugten
Ausführungsart eine Verbindung des Typs Apple-Ereignis-
Interprozessnachrichtenprotokoll. Jedoch ist die Erfindung
diesbezüglich nicht beschränkt. Vielmehr können andere
Interprozesskommunikationsverbindungen, z. B. TCT/IP,
genügen. Als solche können die Eingabemethode und die
Client-Anwendung in verschiedenen Computersystemen
untergebracht sein. Schließlich kann die sprachfähige
Client-Anwendung die Systemsoftware TEXT SERVICES MANAGER
von MACINTOSH enthalten, um die Eingabemethode an die
Client-Anwendung zu koppeln.
Im vorliegenden Dokument werden in den Zeichnungen
Ausführungsarten gezeigt, die gegenwärtig bevorzugt werden,
wobei es sich jedoch versteht, dass die Erfindung nicht auf
genau diese Anordnungen und Mittel, die gezeigt werden,
beschränkt ist.
Fig. 1 ist eine bildliche Darstellung eines
Datenverarbeitungssystems, das für Sprachdiktat konfiguriert
wurde und in dem das Verfahren der vorliegenden Erfindung
ausgeführt werden kann.
Fig. 2 ist eine Veranschaulichung einer
Datenverarbeitungssystem-Architektur für das
Datenverarbeitungssystem von Fig. 1.
Fig. 3 ist eine schematische Darstellung einer sprachfähigen
Client-Anwendung im Datenverarbeitungssystem von Fig. 1
entsprechend den erfindungsgemäßen Anordnungen.
Die vorliegende Erfindung ist ein Verfahren, um
sprachdiktierten Text in eine Client-Anwendung einzufügen.
Insbesondere stellt die vorliegende Erfindung ein
einheitliches Mittel zum Einfügen, Abrufen und Korrigieren
von Texten sprachlichen Ursprungs in jede beliebige
Client-Anwendung zur Verfügung, die Eingabemethode
unterstützt. Bedeutend ist, dass die vorliegende Erfindung
keine Veränderung der Host-Client-Anwendung erfordert. Die
bevorzugte Ausführungsart der vorliegenden Erfindung ist in
das Betriebssystem MacOS® implementiert worden, das von Apple
Computer Corporation of Cupertino, Kalifornien hergestellt
wurde, jedoch ist die Erfindung hinsichtlich des besonderen
Betriebssystems nicht beschränkt. Vielmehr kann die
vorliegende Erfindung für direktes Diktat in eine
Client-Anwendung sorgen, die auf jedem beliebigen
Betriebssystem ausgeführt wird, das Eingabemethoden
unterstützt. Vor allem die Programmiersprache Java stellt
ein Eingabemethodengerüst zur Verfügung. Dementsprechend ist
die vorliegende Erfindung aufgrund der plattformunabhängigen
Natur von Java hinsichtlich eines bestimmten Betriebssystems
nicht beschränkt.
Fig. 1 stellt ein für den Einsatz mit der vorliegenden
Erfindung geeignetes Datenverarbeitungssystem dar. Wie in
Fig. 1 gezeigt, umfasst das Datenverarbeitungssystem 1
vorzugsweise eine Zentraleinheit (central processing unit,
CPU) 2 und interne Speichervorrichtungen 3, wie z. B. einen
Arbeitsspeicher (random access memory, RAM), sowie einen
Festspeicher 4, wie z. B. ein Festplattenlaufwerk (hard disk
drive, HDD). Das Datenverarbeitungssystem 1 kann auch eine
Netzschnittstellenschaltlogik (network interface circuitry,
NIC)(nicht gezeigt) einschließen, um das
Datenverarbeitungssystem 1 kommunikativ mit einem
Computerdatenübertragungsnetz zu verbinden. Das
Datenverarbeitungssystem 1 kann für den Einsatz mit einem
Sprachdiktatsystem konfiguriert werden. Entsprechend kann
das Datenverarbeitungssystem 1 des Weiteren eine
Audio-Schaltlogik 5, z. B. eine Soundkarte, eine
Audioeingabevorrichtung 6, z. B. ein Mikrophon, und eine
Audioausgabevorrichtung 7, z. B. Lautsprecher, enthalten.
Zusätzlich kann das Datenverarbeitungssystem 1 eine Tastatur
10, eine Mauszeigervorrichtung 9 und eine
Benutzerschnittstellen-Anzeigeeinheit 8, wie beispielsweise
eine Datensichtstation (video display terminal, VDT), die
daran funktionsfähig angeschlossen ist, einschließen, um mit
dem Datenverarbeitungssystem 1 einen Dialog führen zu
können.
Dennoch ist die Erfindung hinsichtlich des
Datenverarbeitungssystems 1, das in Fig. 1 dargestellt ist,
nicht beschränkt. Vielmehr kann die vorliegende Erfindung in
jedes Datenverarbeitungssystem implementiert werden, das
geeignete Funktionalität besitzt, um Sprachdiktat zu
unterstützen. Des Weiteren kann das System und das Verfahren
der vorliegenden Erfindung über mehr als ein
Datenverarbeitungssystem verteilt implementiert werden,
wobei diese kommunikativ in einem
Computerdatenübertragungsnetz verbunden sind. Im Falle eines
verteilten direkten Diktatsystems kann das
Sprachdiktatsystem in einem Datenverarbeitungssystem sitzen
und mit einer Eingabemethode unter Verwendung einer
Interprozesskommunikationseinrichtung, zum Beispiel TCP/IP,
über eine entfernte Datenübertragungsverbindung
kommunizieren. Vor allem aufgrund der Verteilung des
direkten Diktatsystems kann das Sprachdiktatsystem in einem
Datenverarbeitungssystem untergebracht sein, das ein anderes
Betriebssystem besitzt, als ein separates
Datenverarbeitungssystem, in welchem sich die Eingabemethode
befinden kann.
Die CPU 2 kann jeden geeigneten Mikroprozessor oder jede
andere elektronische Verarbeitungseinheit umfassen, wie sie
dem Fachmann wohl bekannt sind. Beispiele für geeignete CPUs
sind der Klassenprozessor Motorola PowerPC® oder der
68K-Klassenprozessor. Der Festspeicher 4 kann ein
Betriebssystem, z. B. MacOS, speichern. In der bevorzugten
Ausführungsart kann das Verfahren der Erfindung mittels
Entwicklungswerkzeugen implementiert werden, die für den
Einsatz mit oben genanntem Betriebssystem entworfen wurden.
Besonders die integrierte Entwicklungsumgebung Metrowerks
CodeWarrior® ist die bevorzugte Entwicklungsumgebung, um
Eingabemethoden für den Einsatz im MacOS zu entwickeln.
Fig. 2 stellt eine Datenverarbeitungsarchitektur dar, die
im Datenverarbeitungssystem 1 von Fig. 1 verwendet werden
kann. Wie oben festgestellt, kann die vorliegende Erfindung
ein
Betriebssystem 11, vorzugsweise das MacOS, einschließen.
Wesentlich ist, dass das MacOS das Apple-Ereignis-
Interprozessnachrichtenprotokoll implementiert, dessen
Einsatz vom Apple-Ereignis-Manager (Apple Event Manager,
"AEM") 13 verwaltet werden kann. Bei Verwendung des AEM 13
kann eine Sprachdiktatanwendung 16 mit einem Eingabemodul 15
kommunizieren. Dennoch können, wie oben bemerkt, andere
geeignete Interprozesskommunikationsprotokolle, wie z. B.
TCP/IP, das Apple-Ereignis-Interprozessnachrichtenprotokoll
ersetzen. Ungeachtet dessen schlägt die vorliegende
Erfindung aufgrund des AEM 13 im MacOS aus der Einfachheit
und Leichtigkeit der Bedienung desselben Kapital.
Ein Apple-Ereignis ist ein Ereignis auf hohem Niveau, das
dem Apple-Ereignis-Interprozessnachrichtenprotokoll
entspricht. Der Apple-Ereignis-Manager verwendet den
Ereignismanager, um Apple-Ereignisse zwischen Anwendungen
auf demselben Computer oder zwischen Anwendungen auf
entfernten Computern zu versenden. Als Ergebnis können die
Sprachdiktatanwendung 16 und das Eingabemodul 15 in der
bevorzugten Ausführungsart der vorliegenden Erfindung den
AEM 13 direkt nutzen, um sich gegenseitig Apple-Ereignisse
zu senden. Zusätzlich kann jede Anwendung den AEM 13
benutzen, um auf Apple-Ereignisse entsprechend zu antworten.
Zusätzlich zum AEM 13 integriert das MacOS auch einen
Textdienstmanager (text services manager, "TSM") 12. Der TSM
12 ist die MacOS-Komponente, die für Anwendungen eine
Umgebung zur Verfügung stellt, damit Textdienste, wie z. B.
Eingabemethoden, genutzt werden können. Der TSM 12
bearbeitet die Datenübertragung zwischen Client-Anwendungen,
die Textdienste verlangen, und Softwaremodulen, bekannt als
Textdienstkomponenten, welche die angeforderten Textdienste
liefern. Der TSM 12 übergibt den Funktionen, die er liefert,
zwei getrennte Programmschnittstellen: eine für
Client-Anwendungen und eine andere für
Textdienstkomponenten. Der TSM 12 ist vorhanden, damit diese
beiden Programmtypen zusammenarbeiten können, ohne etwas
über die internen Strukturen oder Identitäten des anderen
wissen zu müssen.
Textdienste können viele unterschiedliche Arten von Aufgaben
einschließen. Eine Art von Textdienst, die Eingabemethode,
bearbeitet Texteingabe. Eingabemethoden sind
Textdienstkomponenten, die Benutzeroperationen, wie z. B.
Tippen der Tasten oder Schreiben mittels einer
Stiftvorrichtung, interpretieren, um Texteingabe für
Client-Anwendungen zu erzeugen. Eine Eingabemethode kann als
eine Reihe sprachspezifischer und/oder gerätespezifischer
Mechanismen für Benutzereingaben definiert werden.
Eingabemethoden liefern Zuordnungen beispielsweise zwischen
Kombinationen von Tasteneingaben und
Mehrbyte-verschlüsselten Zeichencodes für asiatische
Sprachen. Bis heute werden Eingabemethoden überall auf
verschiedenen Systemplattformen genutzt und grenzen
Client-Anwendungen von Eingabedetails ab.
In der bevorzugten Ausführungsart stellt die
Client-Anwendung 14 ein TSM-sensitives
Textverarbeitungsprogramm dar, das den TSM 12 nutzt, um
Textdienste von der Eingabemethode 15 anzufordern. Die
Client-Anwendung 14 kann als TSM-sensitive Client-Anwendung
aktiviert werden, indem ein TSM-Dokument erstellt wird,
unter Verwendung der Funktion NewTSMDocument ("Neues
TSM-Dokument"), die den TSM 12 anweist, das TSM-Dokument zu
erzeugen. Der TSM 12 sendet eine TSM-Dokument-ID zurück -
eine Kennung, die anschließend in Funktionsaufrufen an den
TSM 12 geliefert werden kann. Üblicherweise sollte für jedes
Fenster, das von der Client-Anwendung 14 benutzt wird, ein
TSM-Dokument erzeugt werden. Bedeutend ist, dass die
Funktion NewTSMDokument die
Standardeingabemethode für das gegenwärtige Tastatur-Skript
öffnet, es dem TSM-Dokument zuordnet und die TSM-Dokument-ID
zurücksendet.
Die Eingabemethode 15 kann aufgrund des Funktionsaufrufs
ActivateTSMDocument ("Aktiviere TSM-Dokument") an den TSM 12
automatisch an die Client-Anwendung 14 gekoppelt werden.
Genau gesagt kann die Sprachdiktatanwendung 16, vor der
Aktivierung des TSM-Dokumentes für die Client-Anwendung 14,
das Eingabemodul 15 als die Standardeingabemethode
auswählen. Anschließend kann der TSM 12 bei Erhalt des
Funktionsaufrufs ActivateTSMDocument das neue TSM-Dokument
als das gegenwärtig aktive TSM-Dokument speichern. Außerdem
ist das Eingabemodul 15 aktiviert. Dennoch sind explizite
Aufrufe von NewTSMDocument und ActivateTSMDocument nicht
immer notwendig, besonders, wenn die TSMTE-Erweiterung zum
TSM verwendet wird. Im Falle des TSMTE wird TSMTE - sobald
der TSM initialisiert worden ist - zusätzlich zur
Aktivierung und Deaktivierung des TSM-Dokuments automatisch
ein TSM-Dokument erzeugen.
Fig. 3 ist ein schematisches Diagramm einer sprachfähigen
Client-Anwendung 14 im Datenverarbeitungssystem 1 von Fig.
1, das die Architektur von Fig. 2 entsprechend den
erfindungsgemäßen Anordnungen besitzt. Dargestellt ist ein
Mehrprozess-System im Betriebssystem 11, unter dem zwei
Anwendungen, die Client-Anwendung 14 und die
Sprachdiktatanwendung 16, in getrennten
Prozessadressbereichen ablaufen. Insbesondere um das
Verändern der Client-Anwendung 14, damit sie
Sprachdiktatfunktionalität liefert, zu vermeiden, wird eine
Eingabemethode 15 zwischen der Client-Anwendung 14 und der
Sprachdiktatanwendung 16 angeordnet. Die Eingabemethode 15
kann mittels des TSM 12 mit der Client-Anwendung 14
kommunizieren. Zusätzlich kann die Eingabemethode 15 über
Interprozesskommunikation mit der Sprachdiktatanwendung 16
kommunizieren.
Die Eingabemethode 15 kann durch das Betriebssystem 11 als
Alternative zur Tasteneingabe geladen werden. Die
Eingabemethode 15 der vorliegenden Erfindung unterscheidet
sich von vorhandenen MacOS-Eingabemethoden vor allem
dadurch, dass die Eingabemethode 15 mittels
Interprozesskommunikation Texteingabe von einer separat
ausführenden externen Anwendung (der Sprachdiktatanwendung
16) erhält und diese in den Textpuffer der Client-Anwendung
14 einfügt. In der bevorzugten Ausführungsart kann die
Interprozesskommunikation von dem AEM 13 verwaltet werden.
Dennoch ist die Erfindung hinsichtlich des angewandten
besonderen Interprozesskommunikationsverfahrens nicht
beschränkt.
Im Betrieb kann die Eingabemethode 15 auf die
Standardeingabemethode eingestellt werden, sodass die
Client-Anwendung 14 nachdem sie TSM-aktiviert worden ist, an
die Eingabemethode 15 gekoppelt werden kann. Gleichzeitig
kann die Sprachdiktatanwendung 16 eine
Interprozesskommunikationsverbindung mit der Eingabemethode
15 herstellen. Bedeutend ist, dass die
Interprozesskommunikationsverbindung durch den AEM 13 oder
jede andere geeignete Interprozesskommunikationsprotokoll-
Verwaltungseinrichtung bereitgestellt werden kann.
Anschließend kann ein Benutzer in die Sprachdiktatanwendung
16 diktieren. Die Sprachdiktatanwendung 16 kann das Diktat
empfangen und die diktierte Sprache unter Verwendung von
Sprache-in-Text-Umwandlungsverfahren, die in der
Spracherkennung wohl bekannt sind, in Text umwandeln. Der
Text kann über die hergestellte
Interprozesskommunikationsverbindung an die Eingabemethode
15 übertragen werden. Schließlich kann die Eingabemethode 15
den Text unter Verwendung der Texteinfügeeinrichtungen des
TSM 12 in den Textpuffer der Client-Anwendung 14 einfügen.
Bedeutend ist, dass die Eingabemethode 15 den Text in den
Textpuffer einfügen kann, ohne für jedes Schriftzeichen des
eingefügten Textes einen Tastenanschlag des Benutzers auf
der Tastatur zu simulieren.
Die Eingabemethode 15 kann im Textpuffer der
Client-Anwendung 14 unter Verwendung von
Eingabemethodenhaken (Hooks), die der TSM 12 zur Verfügung
stellt, auch Text verändern oder ersetzen. Genau gesagt,
wenn ein Benutzer Text im Textpuffer der Client-Anwendung 14
auswählt oder Text im Textpuffer der Client-Anwendung 14
verändert, kann das Ereignis von der Eingabemethode 15
mittels der vom TSM 12 bereitgestellten GetText- und
GetEvent-Verfahren, erfasst werden. GetText ist ein
optionales Ereignis, das nur von japanischen Eingabemethoden
verwendet wird. GetText ist in einer Technischen Anmerkung
mit dem Titel "Kotoeri's Privat Apple Event, Get Text" im
März 1994 von Takayuki Mizuno dokumentiert worden. GetText
stellt eine Erweiterung zum TSM-Protokoll als Mechanismus
für eine Eingabemethode dar, um Text, der bereits bestätigt
worden ist, abzurufen. Bedeutend ist, dass TSMTE für das
GetText-Ereignis Unterstützung liefert.
Der ausgewählte oder veränderte Text selbst ist in dem
Ereignis eingebettet. Entsprechend kann die Eingabemethode
15 den ausgewählten oder veränderten Text über die
Interprozesskommunikationsverbindung zur Weiterbearbeitung
an die Sprachdiktatanwendung 16 senden. Vermutlich hat der
Benutzer eine potentielle Falscherkennung festgestellt, wenn
er Text in einem Textpuffer einer sprachfähigen Anwendung
auswählt oder verändert. Als solche kann die
Sprachdiktatanwendung 16, bei Erhalt des Textes über die
Interprozesskommunikationsverbindung, den veränderten Text
mit dem Originaltext, der durch den
Sprache-in-Text-Umwandlungsprozess bereitgestellt wurde,
vergleichen. Anschließend kann eine Liste mit Ersatzwörtern
gemäß Standardsprachkorrekturfunktionen bereitgestellt
werden, die, in wohlbekannten und allgemein verfügbaren
Spracherkennungsmaschinen zur Verfügung stehen.
In der bevorzugten Ausführungsart der vorliegenden Erfindung
kann die Sprachdiktatanwendung dem Benutzer die Liste der
Ersatzwörter auf einer grafischen Benutzeroberfläche
anzeigen. Wählt der Benutzer ein Ersatzwort (oder liefert er
alternativ manuell ein Ersatzwort), kann die
Sprachdiktatanwendung 16 das Ersatzwort über die
Interprozesskommunikationsverbindung an die Eingabemethode
15 senden. Die Eingabemethode 15 wiederum kann den
Substitutionstext mittels Texteinfügeverfahren, die durch
den TSM 12 bereitgestellt werden, in den Textpuffer der
Client-Anwendung 14 einfügen.
Im Gegensatz zu vorhandenen Verfahren,
Spracherkennungsfunktionalität in eine Client-Anwendung zu
integrieren, kann das Verfahren der vorliegenden Erfindung
somit eine Eingabemethode als einen "Vermittler" zwischen
einer separat ausführenden Client-Anwendung und einer
Sprachdiktatanwendung nutzen. Durch Verwendung einer
Eingabemethode muss die Client-Anwendung nicht verändert
werden, damit die Client-Anwendung sprachfähig wird.
Vielmehr muss nur die Eingabemethode verändert werden.
Überdies müssen bei Verwendung von
TSM-Texteinfügeeinrichtungen Tastenanschläge nicht simuliert
werden, um sprachdiktierten Text in den Textpuffer der
Client-Anwendung einzufügen. Schließlich können, bei
Verwendung einer Eingabemethode als Ansatzpunkt in der
Client-Anwendung, die Eingabemethode und der
Sprachdiktatbenutzer in zwei Richtungen kommunizieren, um
eine Sprachdiktatschnittstelle zu steuern, die in der Lage
ist, Substitutionstext für möglicherweise falsch erkannten
Text aufzuzählen und ausgewählte Substitutionen in den
Textpuffer der Client-Anwendung zurückzuschreiben.
Claims (18)
1. Verfahren, um eine Client-Anwendung sprachfähig zu
machen, das folgende Schritte enthält:
Koppeln einer Eingabemethode an die Client-Anwendung;
Herstellen einer Interprozesskommunikationsverbindung zwischen der Eingabemethode und einer Sprachdiktatanwendung;
Umwandeln von Spracheingabe in Text in der Sprachdiktatanwendung; und
Senden des Textes über die Interprozesskommunikationsverbindung an die Eingabemethode; wobei die Eingabemethode den Text in einen Textpuffer der Client-Anwendung einfügt und der Text mit Hilfe der Eingabemethode, die an die Client-Anwendung gekoppelt ist, in den Textpuffer der Client-Anwendung eingefügt wird, ohne dass die Client-Anwendung verändert werden muss.
Koppeln einer Eingabemethode an die Client-Anwendung;
Herstellen einer Interprozesskommunikationsverbindung zwischen der Eingabemethode und einer Sprachdiktatanwendung;
Umwandeln von Spracheingabe in Text in der Sprachdiktatanwendung; und
Senden des Textes über die Interprozesskommunikationsverbindung an die Eingabemethode; wobei die Eingabemethode den Text in einen Textpuffer der Client-Anwendung einfügt und der Text mit Hilfe der Eingabemethode, die an die Client-Anwendung gekoppelt ist, in den Textpuffer der Client-Anwendung eingefügt wird, ohne dass die Client-Anwendung verändert werden muss.
2. Verfahren nach Anspruch 1, bei dem der Schritt des
Einfügens ohne Übertragung simulierter Tastenanschläge
an die Client-Anwendung ausgeführt wird.
3. Verfahren nach Anspruch 1, das des Weiteren folgende
Schritte umfasst:
Erkennen einer Textauswahl des Benutzers in der Client-Anwendung;
Senden des ausgewählten Textes über die Interprozesskommunikationsverbindung an die Sprachdiktatanwendung;
Bestimmen alternativer Worte für den ausgewählten Text, Anzeigen der alternativen Worte und Akzeptieren einer Auswahl eines der alternativen Worte; und
Senden des ausgewählten alternativen Wortes über die Interprozesskommunikationsverbindung an die Eingabemethode; wobei die Eingabemethode den ausgewählten Text durch das ausgewählte alternative Wort ersetzt.
Erkennen einer Textauswahl des Benutzers in der Client-Anwendung;
Senden des ausgewählten Textes über die Interprozesskommunikationsverbindung an die Sprachdiktatanwendung;
Bestimmen alternativer Worte für den ausgewählten Text, Anzeigen der alternativen Worte und Akzeptieren einer Auswahl eines der alternativen Worte; und
Senden des ausgewählten alternativen Wortes über die Interprozesskommunikationsverbindung an die Eingabemethode; wobei die Eingabemethode den ausgewählten Text durch das ausgewählte alternative Wort ersetzt.
4. Verfahren nach Anspruch 1, bei dem die
Interprozesskommunikationsverbindung eine Verbindung
des Typs Apple-Ereignis-
Interprozessnachrichtenprotokoll (Apple Event
Interprocess Messaging Protocol link) ist.
5. Verfahren nach Anspruch 1, bei dem die Eingabemethode
mittels eines Textdienstmanagers an die
Client-Anwendung gekoppelt ist.
6. Verfahren nach Anspruch 1, bei dem die Eingabemethode
und die Client-Anwendung in verschiedenen
Datenverarbeitungssystemen untergebracht sind.
7. Sprachfähige Client-Anwendung, die Folgendes umfasst:
eine Client-Anwendung;
eine Eingabemethode, die an die Client-Anwendung gekoppelt ist; und
eine Sprachdiktatanwendung, wobei die Sprachdiktatanwendung durch eine Interprozesskommunikationsverbindung kommunikativ mit der Eingabemethode verbunden ist;
die Sprachdiktatanwendung Spracheingabe akzeptiert und die Spracheingabe in Text konvertiert;
die Sprachdiktatanwendung den Text über die Interprozesskommunikationsverbindung an die Eingabemethode sendet;
die Eingabemethode den gesendeten Text empfängt und den Text in einen Textpuffer in der Client-Anwendung einfügt.
eine Client-Anwendung;
eine Eingabemethode, die an die Client-Anwendung gekoppelt ist; und
eine Sprachdiktatanwendung, wobei die Sprachdiktatanwendung durch eine Interprozesskommunikationsverbindung kommunikativ mit der Eingabemethode verbunden ist;
die Sprachdiktatanwendung Spracheingabe akzeptiert und die Spracheingabe in Text konvertiert;
die Sprachdiktatanwendung den Text über die Interprozesskommunikationsverbindung an die Eingabemethode sendet;
die Eingabemethode den gesendeten Text empfängt und den Text in einen Textpuffer in der Client-Anwendung einfügt.
8. Sprachfähige Client-Anwendung nach Anspruch 7, bei der
die Eingabemethode Mittel zum Einfügen des Textes in
den Textpuffer umfasst, ohne simulierte Tastenanschläge
an die Client-Anwendung zu übertragen.
9. Sprachfähige Client-Anwendung nach Anspruch 7, die des
Weiteren Folgendes umfasst:
Mittel, die eine Textauswahl des Benutzers in der Client-Anwendung erkennen; wobei
diese erkennenden Mittel den ausgewählten Text an die Eingabemethode senden und die Eingabemethode den ausgewählten Text über die Interprozesskommunikationsverbindung an die Sprachdiktatanwendung sendet;
die Sprachdiktatanwendung alternative Worte für den ausgewählten Text bestimmt, die alternativen Worte anzeigt und eine Auswahl eines der alternativen Worte akzeptiert; und wobei die Sprachdiktatanwendung das ausgewählte alternative Wort über die Interprozesskommunikationsverbindung an die Eingabemethode sendet und die Eingabemethode den ausgewählten Text durch das ausgewählte alternative Wort ersetzt.
Mittel, die eine Textauswahl des Benutzers in der Client-Anwendung erkennen; wobei
diese erkennenden Mittel den ausgewählten Text an die Eingabemethode senden und die Eingabemethode den ausgewählten Text über die Interprozesskommunikationsverbindung an die Sprachdiktatanwendung sendet;
die Sprachdiktatanwendung alternative Worte für den ausgewählten Text bestimmt, die alternativen Worte anzeigt und eine Auswahl eines der alternativen Worte akzeptiert; und wobei die Sprachdiktatanwendung das ausgewählte alternative Wort über die Interprozesskommunikationsverbindung an die Eingabemethode sendet und die Eingabemethode den ausgewählten Text durch das ausgewählte alternative Wort ersetzt.
10. Sprachfähige Client-Anwendung nach Anspruch 7, bei der
die Interprozesskommunikationsverbindung eine Apple-
Ereignis-Interprozessnachrichtenprotokollverbindung
umfasst.
11. Sprachfähige Client-Anwendung nach Anspruch 7, die des
Weiteren einen Textdienstmanager (text services
manager, TSM) umfasst, um die Eingabemethode an die
Client-Anwendung zu koppeln.
12. Sprachfähige Client-Anwendung nach Anspruch 7, bei der
die Eingabemethode und die Sprachdiktatanwendung in
getrennten Datenverarbeitungssystemen untergebracht
sind.
13. Maschinenlesbarer Speicher, auf dem ein
Computerprogramm gespeichert ist, um eine
Client-Anwendung sprachfähig zu machen, ohne die
Client-Anwendung zu verändern, wobei das
Computerprogramm eine Vielzahl von Codeabschnitten
enthält, die von einer Maschine ausführbar sind, um die
Maschine zu veranlassen, folgende Schritte
durchzuführen:
Koppeln einer Eingabemethode an die Client-Anwendung;
Herstellen einer Interprozesskommunikationsverbindung zwischen der Eingabemethode und einer Sprachdiktatanwendung;
Umwandeln von Spracheingabe in Text in der Sprachdiktatanwendung und Senden des Textes über die Interprozesskommunikationsverbindung an die Eingabemethode,
wobei die Eingabemethode den Text in einen Textpuffer in der Client-Anwendung einfügt und der Text durch die Eingabemethode, die an die Client-Anwendung gekoppelt ist, in den Textpuffer in der Client-Anwendung eingegeben wird, ohne dass die Client-Anwendung verändert werden muss.
Koppeln einer Eingabemethode an die Client-Anwendung;
Herstellen einer Interprozesskommunikationsverbindung zwischen der Eingabemethode und einer Sprachdiktatanwendung;
Umwandeln von Spracheingabe in Text in der Sprachdiktatanwendung und Senden des Textes über die Interprozesskommunikationsverbindung an die Eingabemethode,
wobei die Eingabemethode den Text in einen Textpuffer in der Client-Anwendung einfügt und der Text durch die Eingabemethode, die an die Client-Anwendung gekoppelt ist, in den Textpuffer in der Client-Anwendung eingegeben wird, ohne dass die Client-Anwendung verändert werden muss.
14. Maschinenlesbarer Speicher nach Anspruch 13, bei dem
der Schritt der Eingabe ohne Übertragung simulierter
Tastenanschläge in die Client-Anwendung ausgeführt
wird.
15. Maschinenlesbarer Speicher nach Anspruch 13, der des
Weiteren die folgenden Schritte umfasst:
Erkennen einer Textauswahl des Benutzers in der Client-Anwendung;
Senden des ausgewählten Textes über die Interprozesskommunikationsverbindung an die Sprachdiktatanwendung;
Bestimmen alternativer Worte für den ausgewählten Text, Anzeigen der alternativen Worte und Akzeptieren einer Auswahl eines der alternativen Worte und Senden des ausgewählten alternativen Wortes über die Interprozesskommunikationsverbindung an die Eingabemethode,
wobei die Eingabemethode den ausgewählten Text durch das ausgewählte alternative Wort ersetzt.
Erkennen einer Textauswahl des Benutzers in der Client-Anwendung;
Senden des ausgewählten Textes über die Interprozesskommunikationsverbindung an die Sprachdiktatanwendung;
Bestimmen alternativer Worte für den ausgewählten Text, Anzeigen der alternativen Worte und Akzeptieren einer Auswahl eines der alternativen Worte und Senden des ausgewählten alternativen Wortes über die Interprozesskommunikationsverbindung an die Eingabemethode,
wobei die Eingabemethode den ausgewählten Text durch das ausgewählte alternative Wort ersetzt.
16. Maschinenlesbarer Speicher nach Anspruch 13, bei dem
die Interprozesskommunikationsverbindung eine
Verbindung des Typs Apple-Ereignis-
Interprozessnachrichtenprotokoll ist.
17. Maschinenlesbarer Speicher nach Anspruch 13, bei dem
die Eingabemethode mittels eines Textdienstmanagers an
die Client-Anwendung gekoppelt ist.
18. Maschinenlesbarer Speicher nach Anspruch 13, bei dem
sich die Eingabemethode und die Client-Anwendung in
verschiedenen Datenverarbeitungssystemen befinden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US61583500A | 2000-07-12 | 2000-07-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10129634A1 true DE10129634A1 (de) | 2002-01-24 |
Family
ID=24467008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10129634A Ceased DE10129634A1 (de) | 2000-07-12 | 2001-06-20 | Direktes Diktat unter Verwendung von Eingabemethoden |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2002099405A (de) |
DE (1) | DE10129634A1 (de) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7823070B2 (en) * | 2003-12-19 | 2010-10-26 | Fuji Xerox Co., Ltd. | Methods and systems for extending existing user interfaces |
US8635069B2 (en) * | 2007-08-16 | 2014-01-21 | Crimson Corporation | Scripting support for data identifiers, voice recognition and speech in a telnet session |
US10033797B1 (en) | 2014-08-20 | 2018-07-24 | Ivanti, Inc. | Terminal emulation over HTML |
US11100278B2 (en) | 2016-07-28 | 2021-08-24 | Ivanti, Inc. | Systems and methods for presentation of a terminal application screen |
-
2001
- 2001-06-20 DE DE10129634A patent/DE10129634A1/de not_active Ceased
- 2001-07-11 JP JP2001210559A patent/JP2002099405A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2002099405A (ja) | 2002-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60133529T2 (de) | Sprachnavigation in Webanwendungen | |
DE60318021T2 (de) | Sprachgesteuerte dateneingabe | |
DE69838257T2 (de) | Verfahren zum erweitern der hypertext markup sprache (html) zur unterstützung von unternehmungsanwendungsdatenbindung | |
DE60225086T2 (de) | Webfähige Erkennungsarchitektur | |
DE69835718T2 (de) | Verfahren und Gerät zur Sprachinteraktion über ein Netzwerk unter Verwendung von parametrierbaren Interaktionsdefinitionen | |
DE69523229T2 (de) | Benutzeroberfläche für eine Mehrzahl von untergeordneten Fenstern | |
DE69528738T2 (de) | Systeme und Verfahren zur Herstellung und Auffrischung zusammengesetzter Dokumente | |
DE60111481T2 (de) | Handhabung benutzerspezifischer Wortschatzteile in Sprachendienstleistungssystemen | |
DE60015531T2 (de) | Client-server spracherkennungssystem | |
EP1435088B1 (de) | Dynamischer aufbau einer dialogsteuerung aus dialogobjekten | |
DE69833565T2 (de) | Verfahren und vorrichtung zum verbinden eines allzweckrechners mit einem spezialsystem | |
DE69622449T2 (de) | Betriebssystembasiertes Fernkommunikationssystem | |
DE19936314A1 (de) | Verfahren und System zur Inhaltskonvertierung von elektronischen Daten unter Verwendung von Konvertierungspräferenzen | |
WO2003054731A2 (de) | Verfahren zur rechnergestützten transformation strukturierter dokumente | |
DE60123153T2 (de) | Sprachgesteuertes Browsersystem | |
DE60220968T2 (de) | Webfähige Spracherkennung | |
EP1760647B1 (de) | Verfahren und Anordnung zur Handhabung von Dateien mittels mobiler Endgeräte sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium | |
DE69903432T2 (de) | Automatische spracherkennung | |
US8616888B2 (en) | Defining an insertion indicator | |
DE10120867B4 (de) | Computersystem, Verfahren zum Betrieb eines Computersystems, sowie Maschinenlesbare Speichervorrichtung | |
DE10129634A1 (de) | Direktes Diktat unter Verwendung von Eingabemethoden | |
DE69833470T2 (de) | Verfahren und Gerät zur Aktualisierung von Textdaten für eine elektrische Einrichtung | |
DE60112689T2 (de) | Verfahrensbestimmung durch mehrere in einer Markierungssprache definierten Seiten | |
DE69928022T2 (de) | Funktionstaste zur computer-databearbeitung | |
WO2003055189A1 (de) | Verfahren zum austausch von informationen mittels sprache über ein paketorientiertes netzwerk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |