DE10129634A1 - Direktes Diktat unter Verwendung von Eingabemethoden - Google Patents

Direktes Diktat unter Verwendung von Eingabemethoden

Info

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
Application number
DE10129634A
Other languages
English (en)
Inventor
Erik A Sea
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10129634A1 publication Critical patent/DE10129634A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound 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

HINTERGRUND DER ERFINDUNG Technisches Gebiet
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.
Beschreibung der zugrunde liegenden Technik
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.
ÜBERBLICK ÜBER DIE ERFINDUNG
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.
KURZBESCHREIBUNG DER ZEICHNUNGEN
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.
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
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.
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.
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.
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.
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.
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.
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.
DE10129634A 2000-07-12 2001-06-20 Direktes Diktat unter Verwendung von Eingabemethoden Ceased DE10129634A1 (de)

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)

* Cited by examiner, † Cited by third party
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

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