DE20321559U1 - Sprachgesteuerte Dateneingabe - Google Patents

Sprachgesteuerte Dateneingabe Download PDF

Info

Publication number
DE20321559U1
DE20321559U1 DE20321559U DE20321559U DE20321559U1 DE 20321559 U1 DE20321559 U1 DE 20321559U1 DE 20321559 U DE20321559 U DE 20321559U DE 20321559 U DE20321559 U DE 20321559U DE 20321559 U1 DE20321559 U1 DE 20321559U1
Authority
DE
Germany
Prior art keywords
user interface
voice
user
based user
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE20321559U
Other languages
English (en)
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.)
SAP SE
Original Assignee
SAP SE
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27761359&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE20321559(U1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US10/184,072 external-priority patent/US7246063B2/en
Application filed by SAP SE filed Critical SAP SE
Publication of DE20321559U1 publication Critical patent/DE20321559U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Selective Calling Equipment (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

Sprachbasierte bzw. voice-enabled Benutzerschnittstelle (100), umfassend:
Benutzerschnittstellenelemente (400–416), die dem Benutzer angezeigt werden; und
eine Spracherkennungsmaschine, die Spracheingabe empfängt, welche ein Zielbenutzerschnittstellenelement identifiziert,
dadurch gekennzeichnet, daß die sprachbasierte Benutzerschnittstelle Zielmehrdeutigkeiten auflöst, indem sie die empfangene Spracheingabe unter Verwendung von implizitem Scoping bzw. einer impliziten Definition des Gültigkeitsraums mit dem Zielbenutzerschnittstellenelement (400–416) verknüpft, wobei die Benutzerschnittstellenelemente (400–416) in eine oder mehrere Gruppen unterteilt werden und das implizierte Scoping das Priorisieren der einen oder mehreren Gruppen umfaßt.

Description

  • TECHNISCHES GEBIET
  • Die Erfindung betrifft eine sprachgesteuerte oder sprachbasierte bzw. voice-assisted Benutzerschnittstelle zur Dateneingabe.
  • HINTERGRUND
  • Die meiste Software, die heutzutage im Geschäftsbereich verwendet wird, hat die Form von komplexen grafischen Benutzerschnittstellen (GUIs; GUI = graphical user interface). Komplexe GUIs ermöglichen Benutzern, viele Aufgaben bzw. Tasks gleichzeitig auszuführen, während der Kontext ihrer restlichen Arbeit erhalten bleibt; solche Systeme sind jedoch häufig Maus- und Tastatur-intensiv, deren Verwendung für viele Leute, einschließlich körperbehinderter Menschen, problematisch oder sogar unmöglich sein kann. Sprachschnittstellen können eine zugängliche Lösung für körperbehinderte Benutzer bereitstellen, wenn Schritte unternommen werden, um inhärente Verwendbarkeitsprobleme anzugehen, wie beispielsweise Benutzereffizienz und Mehrdeutigkeitshandhabung. Zusätzlich können Sprachschnittstellen die Effizienz der Ausführung bestimmter Tasks erhöhen.
  • Es wurden erhebliche Mittel aufgewendet, um webbasierte Anwendungen zu entwickeln, um tragbare, platformunabhängige Frontends für komplexe Geschäftsanwendungen unter Verwendung beispielsweise der Hypertext Markup Language (HTML) und/oder JavaScript bereitzustellen.
  • Da Softwareanwendungen typischerweise nur vor dem Hintergrund der visuellen Präsentation entwickelt wurden, wurde Details, welche die Entwicklung von Sprachschnittstellen vereinfachen würden, wenig. Aufmerksamkeit geschenkt.
  • Bei den meisten Computer- oder Datenverarbeitungssystemen wird eine Benutzerkommunikation bzw. -interaktion nur durch Verwendung einer Videoanzeige, einer Tastatur und einer Maus bereitgestellt. Zusätzliche Eingabe- und Ausgabeperipheriegeräte werden manchmal verwendet, beispielsweise Drucker, Plotter, Lichtstifte, Kontaktbildschirme bzw. Touchscreens und Strichcodescanner; die größte Mehrheit von Computerinteraktionen erfolgt jedoch nur mit der Videoanzeige, der Tastatur und der Maus. Somit wird eine primäre Mensch-Computer-Kommunikation bzw. -Interaktion durch eine visuelle Anzeige und mechanische Betätigung bereitgestellt. Im Gegensatz dazu ist ein erheblicher Teil der menschlichen Interaktion verbal. Es ist wünschenswert, die verbale Mensch-Computer-Interaktion zu vereinfachen, um den Zugriff für behinderte Benutzer zu verbessern und die Effizienz von Benutzerschnittstellen zu erhöhen.
  • Verschiedene Technologien wurden entwickelt, um eine Form von Mensch-Computer-Interaktion bereitzustellen, die von einfachen Text-zu-Sprache-Sprachsyntheseanwendungen zu komplexeren Diktat- und Befehl-und-Steuer- bzw. Regelanwendungen reichen. Die verschiedenen Arten von verbalen Mensch-Computer-Interaktionsanwendungen können durch zwei Faktoren beschrieben werden: (1) das Vorhandensein oder Nichtvorhandensein einer visuellen Komponente; und (2) das Ausmaß, in dem die zu Grunde liegende Anwendung und Interaktion verändert wird, wenn eine Sprachschnittstelle hinzugefügt wird.
  • Viele Forschungsorganisationen, die verbale Mensch-Computer-Interaktionssysteme herstellen bzw. schaffen, konzentrieren sich auf den zweiten Faktor: Erzeugen neuer Interaktionsstile, die zusammen mit oder anstelle von einer visuellen Anzeige verwendet werden können. Verschiedene Organisationen haben beispielsweise die folgenden Systeme entwickelt: CommandTalk; ATIS; TOOT und ELVIS. Jedes dieser Systeme konzentriert sich darauf, verbesserte Modelle zur verbalen Mensch-Computer-Interaktion bereitzustellen, die den Interaktionsstil grundlegend ändern. Beispielsweise behält CommandTalk eine traditionelle GUI bei, während es den Interaktionsstil grundlegend ändert, um eine Verwendbarkeit zu verbessern. ATIS, ein Luftfahrtinformationssystem, behält eine traditionelle visuelle Komponente bei, indem es Antworten auf Benutzeranfragen in einem visuellen Tabellenformat präsentiert; ATIS modifiziert jedoch herkömmliche Interaktionsstile, indem es von einer Datenbankanfragenschnittstelle zu einer natürlichen Sprachanfragenschnittstelle übergeht. Gleichermaßen versucht TOOT, ein Zugfahrplaninformationssystem, dem Benutzer tabellarische Daten zu präsentieren; TOOT stellt die tabellarischen Daten jedoch durch Sprache bereit, was den Bedarf an einer visuellen Komponente eliminiert. Schließlich wurde das System ELVIS zum Zugreifen auf Email-Nachrichten durch Sprache mit mehreren Interaktionsstilen getestet, die sich von der visuellen Interaktion in verschiedenem Maße unterscheiden. Der systeminitiative Stil macht von vielen der gleichen Befehlsnamen Gebrauch, die bei der visuellen Schnittstelle gefunden werden, während das Bereitstellen eines gemischtinitiativen Stils herkömmliche Interaktionen wesentlich verändert.
  • Viele kommerzielle Systeme tendieren dazu, herkömmliche Interaktionsstile mit verschiedenen Ausmaßen von visuellen Komponenten beizubehalten. Zugriffstools bzw. Zugriffswerkzeuge von Windows, wie beispielsweise ViaVoice und SUITEKeys spiegeln die Tastatur/Mausinteraktion in einem größeren Maß als eines bzw. irgendeines der oben erwähnten Dialogsysteme wieder. SUITEKeys geht sogar so weit, die Interaktion des Bewegens der Maus mit der Hand und des Drückens einzelner Tasten direkt nachzuahmen. Gleichermaßen ahmen viele Telefonanwendungen die Tastaturinteraktion direkt mit Interaktionen nach, welche die Form von „Drücken oder Eins sagen" annehmen.
  • „DRAGON NATURALLY SPEAKING 5" DRAGON NATURALLY SPEAKING USER'S GUIDE, LERNOUT AND HAUSPIE, BE, Oktober 2000 (2000-10), Seite I-VI, 1, XP001233871, beschreibt Verfahren zum Navigieren innerhalb eines Dokuments mittels Sprachbefehlen, z. B. zu einem Textbox- bzw. Textfeldobjekt – mit Blick auf ein folgendes Diktieren eines Texts, der darin eingegeben werden soll. Seiten 123–127 betreffen das Navigieren innerhalb einer Webseite (mit einem Standardbrowser wie dem Internet Explorer) und Seiten 125–126 lehren ein Verfahren zum sprachauswählen eines Textfelds innerhalb einer solchen Webseite, um Text durch Sprache darin einzugeben. Dieses Dokument offenbart eine sprachbasierte Benutzerschnittstelle (Internet Explorer under Dragon Naturally Speaking, siehe S. 123), umfassend: Benutzerschnittstellenelemente (siehe die Widgets bzw. Hilfsprogramme auf den Webseiten, vgl. die Figuren auf Seite 124 und 127-129); und eine Spracherkennungsmaschine, die eine Spracheingabe empfängt, die ein Zielbenutzerschnittstellenelement (Seite 126, Zeilen 1–3) identifiziert, wobei die sprachbasierte Benutzerschnittstelle nonverbale Mehrdeutigkeiten auflöst, indem sie die empfangene Spracheingabe mit dem Zielbenutzerschnittstellenelement verknüpft bzw. assoziiert, indem sie eine aufgezählte Darstellungsbezeichnung anzeigt, die positionesmäßig mit dem Zielbenutzerschnittstellenelement verknüpft wird bzw. ist, nachdem die Spracheingabe empfangen wurde (siehe Seite 126–129, insbesondere Seite 126, Zeilen 3–7 und die Fig. auf Seite 127–129).
  • Enorme Mittel wurden aufgewendet, um Geschäftsanwendungen zu entwickeln, die komplexe GUIs erfordern, um große Mengen an Informationen zu präsentieren, komplizierte Interaktionen innerhalb der Informationen anzuzeigen und die Komplexität einer Maximierung der Benutzerfähigkeit, -konfiguration und -steuerung bzw. -regelung handzuhaben. Existierende Anwendungen liefern einen begrenzten Support zum Steuern einer Anwendung unter Verwendung von Sprache. Einige existierende Systeme ermöglichen Diktat- oder begrenzte Zugriffsbefehle; es besteht jedoch ein Bedarf an Systemen und Verfahren, um das Maß an verbaler Mensch-Computer-Interaktion in einer herkömmlichen Altanwendung zu erhöhen, um eine verbesserte Zugreifbarkeit für behinderte Benutzer und eine erhöhte Interaktionseffizienz für alle Benutzer bereitzustellen.
  • In einem allgemeinen Aspekt ist eine sprachbasierte Benutzerschnittstelle vorgesehen, umfassend:
    Benutzerschnittstellenelemente, die dem Benutzer angezeigt werden; und
    eine Spracherkennungsmaschine, die eine Spracheingabe empfängt, welche ein Zielbenutzerschnittstellenelement identifiziert,
    wobei die sprachbasierte Benutzerschnittstelle Zielmehrdeutigkeiten auflöst, indem sie die empfangene Spracheingabe unter Verwendung von implizitem Scoping bzw. einer impliziten Definition des Gültigkeitsraums mit dem Zielbenutzerschnittstellenelement verknüpft, wobei die Benutzerschnittstelle in Bereiche unterteilt wird, die dann priorisiert werden, und eine empfangene Spracheingabe zunächst nur bezüglich derjenigen Benutzerschnittstellenelemente in dem Bereich interpretiert wird, der höchste Priorität hat.
  • Hierbei kann ein Verfahren zum Auflösen von Zielmehrdeutigkeit in einer sprachbasierten Benutzerschnittstelle verwendet werden, umfassend:
    Empfangen der ersten Spracheingabe, die mehr als ein mögliches Zielbenutzerschnittstellenelement identifiziert, das dem Benutzer basierend auf einer Mehrdeutigkeit der Benutzerschnittstelle angezeigt wird, um eine Zielmehrdeutigkeit darzustellen;
    Auflösen der Zielmehrdeutigkeiten umfaßt, indem es die empfangene Spracheingabe unter Verwendung von implizitem Scoping mit dem Zielbenutzerschnittstellenelement verknüpft, wobei die Benutzerschnittstelle in Bereiche unterteilt wird, die dann priorisiert werden, und eine empfangene Spracheingabe zunächst nur bezüglich derjenigen Benutzerschnittstellenelemente in dem Bereich interpretiert wird, der höchste Priorität hat.
  • Die sprachbasierte Benutzerschnittstelle enthält vorzugsweise Benutzerschnittstellenelemente und eine Spracherkennungsmaschine, die eine Spracheingabe empfängt, die ein Zielbenutzerschnittstellenelement identifiziert. Die sprachbasierte Benutzerschnittstelle löst Mehrdeutikgeiten auf, indem sie die empfangene Spracheingabe unter Verwendung aufgezählter Darstellungsbezeichnungen mit dem Zielbenutzerschnittstellenelement verknüpft. Die Benutzerschnittstellenelemente enthalten beispielsweise eines oder mehrere der Folgenden: eine Combobox bzw. Kombinationsfeld (aus Text- und Listenfeld), ein Textfeld, eine Auswahlliste bzw. Listenbox, einen Button bzw. Schaltfläche, einen Textbereich, eine Checkbox bzw. Ankreuzfeld oder Radiobuttons bzw. Optionsfelder (nur eine Option kann aktiviert werden). Die Spracherkennungsmaschine kann eine Spracheingabe empfangen, die eine Klasse bzw. Kategorie von Benutzerschnittstellenelementen identifiziert.
  • Bei einigen Implementierungen können die aufgezählten Darstellungsbezeichnungen halbdurchsichtig oder undurchsichtig bzw. opak sein. Zusätzlich kann die sprachbasierte Benutzerschnittstelle Mehrdeutigkeiten bei der empfangenden Spracheingabe unter Verwendung von implizitem Scoping bzw. einer impliziten Definition und/oder visueller Hinweise auflösen. Die Benutzerschnittstellenelemente können in eine oder mehrere Gruppen unterteilt sein, wie beispielsweise Bereiche des Bildschirms. Implizites Scoping kann durch Priorisieren der Gruppen von Benutzerschnittstellenelementen implementiert werden. Visuelle Hinweise können farbige Hervorhebungen, wie beispielsweise einen Farbrand, enthalten, der ein Benutzerschnittstellenelement umgibt.
  • Vorzugsweise enthält eine aufgezählte Darstellungsbezeichnung zum Auflösen von Mehrdeutigkeiten in einer sprachbasierten Schnittstelle eine eindeutige Kennung bzw. Identifier, ein entsprechendes Benutzerschnittstellenelement und eine grafische Darstellung. Die grafische Darstellung wird in der grafischen Benutzerschnittstelle dargestellt, um ihre Beziehung zu dem entsprechenden Benutzerschnittstellenelement zu zeigen. Die eindeutige Kennung kann verwendet werden, um Mehrdeutigkeiten in der sprachbasierten Schnittstelle aufzulösen. Die eindeutige Kennung kann beispielsweise ein Buchstabe, eine Zahl oder ein Schriftzeichen sein.
  • Vorzugsweise umfasst ein Verfahren zum Auflösen einer Zielmehrdeutigkeit in einer sprachbasierten Benutzerschnittstelle Empfangen einer Spracheingabe, die ein Zielbenutzerschnittstellenelement auf mehrdeutige Weise identifiziert, Anzeigen von aufgezählten Darstellungsbezeichnungen, die jedem möglichen Zielbenutzerschnittstellenelement entsprechen, wobei jede aufgezählte Darstellungsbezeichnung eine eindeutige Kennung enthält, und Empfangen einer Benutzerspracheingabe einschließlich der eindeutigen Kennung einer aufgezählten Darstellungsbezeichnung, um die Zielmehrdeutigkeiten aufzulösen.
  • Zudem enthält die sprachbasierte Benutzerschnittstelle vorzugsweise Benutzerschnittstellenelemente, einen Datenspeicher und eine Spracherkennungsmaschine. Der Datenspeicher zeichnet Verknüpfungen bzw. Assoziationen zwischen Benutzerschnittstellenelementen und Grammatiken auf. Die Spracherkennungsmaschine empfängt eine Spracheingabe, die ein Zielbenutzerschnittstellenelement identifiziert, fragt den Datenspeicher ab, um eine Grammatik zu bestimmen, die mit dem Zielbenutzerschnittstellenelement verknüpft ist, und verarbeitet eingegebene Daten unter Verwendung der bestimmten Grammatik. Der Datenspeicher kann für einen einzelnen Benutzer oder für mehrere Benutzer zugreifbar sein. Ein einzelner Benutzer kann ein Dateneingabefeld mit einer Grammatik in einem Datenspeicher, der für mehrere Benutzer zugreifbar ist, verknüpfen. Visuelle Hinweise können verwendet werden, um einen Datentyp oder eine Grammatik zu identifizieren, der bzw. die mit dem Zielbenutzerschnittstellenelement verknüpft ist.
  • Die Details einer oder mehrerer Implementierungen sind in den beiliegenden Zeichnungen und der nachfolgenden Beschreibung dargelegt. Andere Merkmale und Vorteile werden anhand der Beschreibung und der Zeichnungen sowie anhand der Ansprüche ersichtlich.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm einer sprachbasierten Computeranwendung unter Verwendung eines Voice-Extension-Moduls bzw. Spracherweiterungsmoduls.
  • 2 ist ein Blockdiagramm eines Spracherweiterungsmoduls, das einen Vorprozessor, eine Spracherkennungsmaschine und eine Eingabehandhabeeinrichtung bzw. -handler aufweist.
  • 3 ist ein Flussdiagramm, das ein Verfahren zum Verarbeiten von Benutzerschnittstelleninformationen in einem Spracherweiterungsmodul zeigt.
  • 4 ist ein Bildschirmausdruck, der eine Gehen-Anforderungsanwendung bzw. leave-request-Anwendung zeigt.
  • 5 ist ein Bildschirmausdruck, der eine Gehen-Anforderungsanwendung zeigt, die eine Listenauswahl illustriert.
  • 6 ist ein Flussdiagramm, das die Verwendung von implizitem Scoping zum Auflösen von Zielmehrdeutigkeiten in einer Sprachschnittstelle zeigt.
  • 718 sind Bildschirmausdrucke eines sprachbasierten Zeiterfassungssystems, das implizites Scoping, visuelle Hinweise und aufgezählte Darstellungsbezeichnungen verwendet, um Zielmehrdeutigkeiten aufzulösen.
  • DETAILLIERTE BESCHREIBUNG
  • Eine Benutzerschnittstelle zu einer Softwareanwendung oder einer elektronischen Vorrichtung kann durch Sprachbasieren bzw. Voice-enablen von Benutzerinteraktionen und Dateneingabe verbessert werden. Sprachbasierte Softwareanwendungen können eine bessere Verwendbarkeit und Effizienz für einen Benutzer bereitstellen. Zusätzlich können sprachbasierte Softwareanwendungen eine bessere Zugänglichkeit für körperbehinderte Benutzer bereitstellen.
  • Die unten beschriebene Implementierung stellt Verfahren zum Sprachbasieren eines elektronischen Zeiterfassungssystems dar. Bei dieser Implementierung ist das elektronische Zeiterfassungssystem auf einer webbasierten Client-Server-Architektur aufgebaut. Fachleute werden erkennen, dass die beschriebenen Verfahren nicht auf diese Implementierung begrenzt sind und bei einer beliebigen Benutzerschnittstelle verwendet werden können.
  • Mit Bezug auf 1 enthält eine sprachbasierte Computerschnittstelle (100) ein Voice-Extension-Modul bzw. Spracherweiterungsmodul 102 und einen Browser 104. Der Browser implementiert die Benutzereingabe und -ausgabefunktionalität beispielsweise unter Verwendung der folgenden Vorrichtungen: einem Videoanzeigemonitor 106; einer Maus 107; einer Tastatur 108; und einem Lautsprecher 109. Das Spracherweiterungsmodul 102 kann eine Eingabe von einem Mikrofon empfangen 110. Der Browser 104 und/oder das VoicSpracherweiterungsmodul 102 können Benutzerschnittstellendaten über ein Netzwerk 120 (z. B. das Internet) von einem Anwendungsserver 130 empfangen.
  • Bei der in 1 gezeigten Implementierung stellt der Anwendungsserver 130 eine webbasierte Benutzerschnittstelle unter Verwendung eines Hypertext Markup Language(HTML)-Codes bereit, um den Browser 104 anzuweisen, Informationen anzuzeigen und Benutzereingaben und Befehle zu akzeptieren. Der Browser 104 kann unter Verwendung eines herkömmlichen Webbrowsers implementiert sein, wie beispielsweise dem Microsoft Internet Explorer. Der Anwendungsserver 130 sendet HTML-Codes, die verschiedene Text-, Bild- und Benuzterschnittstellenwidgets bzw. -hilfsprogramme beschreiben, zur Anzeige an den Benutzer. Der HTML-Code wird jedoch zunächst von dem VoicSpracherweiterungsmodul 102 empfangen und verarbeitet, um die Anwendung sprachbasiert zu machen.
  • Ein Spracherweiterungsmodul 102 kann als ein Microsoft Internet Explorer Browser Helper Object (BHO) implementiert sein. Ein BHO wirkt als eine Erweiterung der Funktionalität zu einem Browser und wird verwendet, um Seiten- und Browserereignisse abzufangen, bevor eine Handlung ausgeführt wird. Dies ermöglicht dem Spracherweiterungsmodul 102, das Verhalten der Browser 104-Umgebung und die Art, auf die Ereignisse (z. B. Mausklicks, Tastendrücke) gehandhabt werden, zu definieren und zu steuern bzw. zu regeln. Zudem erlaubt ein BHO dem Spracherweiterungsmodul 102, auf externe Ereignisse anzusprechen, beispielsweise wenn ein Wort gesprochen wird, dadurch dass eine Spracherkennungsmaschine in dem BHO eingebettet ist. Bei dieser Implementierung kann eine beliebige Spracherkennungsmaschine (z. B. eine SAPI-konforme Spracherkennungsmaschine) verwendet werden, um Spracherkennungsereignisse zu erzeugen.
  • Wie in 2 gezeigt enthält eine Implementierung des Spracherweiterungsmoduls 102 einen Browser 104 (mit einem Vorprozessor 200), der Benutzerschnittstelleninformationen von einem Anwendungsserver 130 beispielsweise als HTML- oder Java Script-Code empfängt und die Benutzerschnittstelleninformationen vorverarbeitet, um eine Sprachinteraktion zu ermöglichen, bevor die Seite dem Benutzer angezeigt wird. Der Vorprozessor 200 enthält einen Parser 202 und einen Übersetzer 204. Der Parser 202 identifiziert Benutzerschnittstellenelemente in dem Code unter Verwendung beliebiger, herkömmlicher Parsingverfahren, wie beispielsweise einer finiten Zustandsmaschine.
  • Benutzerschnittstelleninformationen in Form einer HTML-Webseite können beispielsweise verschiedene Widgets in Form von Textfeldern, Passwortfeldern, Checkboxen bzw. Ankreuzfeldern, Radiobuttons bzw. Optionsfeldern und Steuerbuttons bzw. Steuerschaltflächen (z. B. Senden und Zurücksetzen) enthalten. Der Parser 202 empfängt die Benutzerschnittstelleninformationen und leitet sie an den Übersetzter 204 weiter, um das relevante Vokabular ordnungsgemäß bei der Spracherkennungsmaschine 210 und der Eingabehandhabeeinrichtung 220 zu registrieren.
  • Der Übersetzer 204 bestimmt, welche der identifizierten Benutzerschnittstellenelemente „sprechbar" sind. Ein Vokabular sprechbarer Elemente wird bei der Spracherkennungsmaschine 210 registriert, so dass geeignete Ereignisse erzeugt werden, wenn die Elemente gesprochen werden. Zusätzliche Änderungen können an dem in dem Browser 104 laufenden HTML oder JavaScript vorgenommen werden, bevor es dem Benutzer präsentiert wird, um die Seiten „sprachfreundlicher" zu machen. Beispielsweise kann der Übersetzer 204 den Elementen Kennungen bzw. Identifier hinzufügen. Einige Elemente können XML-Daten oder Metadaten enthalten, die eine geeignete Sprachkennung für das Element bezeichnen. Diese Metadaten können eine geeignete Kennung bestimmen, die dem Element hinzugefügt werden kann, um es sprachfreundlicher zu machen. Zusätzlich können einige Kennungen abgekürzt werden. Bei Elementen, die abgekürzte Kennungen enthalten, kann der Übersetzer 204 die abgekürzte Kennung, die Langform der Kennung oder beides bei der Spracherkennungsmaschine 210 registrieren. Schließlich kann der Übersetzter 204 versuchen, die langen Kennungen zu kürzen. Eine Art, Kennungen zu kürzen, besteht darin, nur einen Teil der langen Kennung zu registrieren. Wenn die Kennung beispielsweise lautet „Änderungen zur Verarbeitung senden", kann sie zu „Senden" oder „Änderungen senden" verkürzt werden.
  • Sobald ein registriertes Vokabularelement gesprochen und erkannt wurde, wird der Ausruck an die Eingabehandhabeeinrichtung 220 gesendet, welche die notwendigen Schritte einleitet, um die Aktion zu vervollständigen, jeden erforderlichen Zustand zu speichern und zusätzliche Aufgaben bzw. Tasks auszuführen, die definiert sind durch das Verhalten der Sprachbenutzerschnittstelle oder die visuelle Fokussierung, die bei der Gesamtsprachschnittstellenstrategie verwendet werden. Die Eingabehandhabeeinrichtung 220 hilft sicherzustellen, dass die gleiche Aktion ausgeführt wird, unabhängig davon, ob die Quelle die Maus oder die Tastatur, oder ein äquivalenter Sprachbefehl war.
  • Mit Bezug auf 3 macht das Spracherweiterungsmodul 102 eine Benutzerschnittstelle durch Empfangen von Benutzerschnittstelleninformationen 3010 sprachbasiert, welche die Komponenten der durch einen Benutzer manipulierbaren Schnittstelle beschreiben (Schritt 3015). Bei dieser Implementierung werden die Benutzerschnittstelleninformationen 3010 als ein HTML-Dokument dargestellt, das verschiedene Benutzerschnittstellenelemente oder -widgets enthalten kann, die von einem Benutzer gesteuert werden können. Die Benutzerschnittstelleninformationen 3010 können ebenfalls einen JavaScript-Code oder einen beliebigen anderen Steuermechanismus enthalten, der herkömmlicherweise von Webbrowsern verwendet wird.
  • Die Benutzerschnittstelleninformationen 3010 werden von dem Spracherweiterungsmodul 102 empfangen und dann von dem Vorprozessor 200 verarbeitet. Der Vorprozessor 200 parst die empfangenen Benutzerschnittstelleninformationen 3010 unter Verwendung des Parsers 202 (Schritt 3020). Bei jedem von dem Parser 202 identifizierten Benutzerschnittstellenelement verarbeitet der Übersetzter 204 das Element, um es sprachbasiert zu machen. Solange Benutzerschnittstellenelemente übrig sind (Schritt 3030), verarbeitet das System das nächste Element (Schritt 3050). Sobald jedes Benutzerschnittstellenelement verarbeitet wurde, wird die Benutzerschnittstelle von dem Browser 104 angezeigt. Der Übersetzter 204 verarbeitet jedes Benutzerschnittstellenelement durch Registrieren eines geeigneten Vokabulars bei der Spracherkennungsmaschine 210 und durch Registrieren der Benutzerschnittstellenelemente bei der Eingabehandhabeeinrichtung 220.
  • Beispielsweise kann das folgende Benutzerschnittstellenelement von dem Spracherweiterungsmodul 102 empfangen werden: „< INPUT TYPE = 'button' NAME = 'but_xyz 'VALUE = 'save changes'>". Dieses Benutzerschnittstellenelement zeigt einen Button an, der es einem Benutzer erlaubt, das Speichern von Änderungen zu initiieren. Der Übersetzer 204 verarbeitet dieses Element, indem er „SAVE CHANGES" (Änderungen Speichern) bei der Spracherkennungsmaschine 210 registriert. Dies würde ebenfalls bei der Eingabehandhabeeinrichtung 220 als ein Buttonfeld registriert werden, so dass ein Benutzer durch Sprechen von „BUTTON" auf das Feld zugreifen kann. Die Eingabehandhabeeinrichtung, die einen Buttonbefehl empfängt, identifiziert alle aktiven Buttons, was dem Benutzer ermöglicht, den gewünschten Button durch eine Zahl zu wählen. Dies erlaubt ein alternatives Verfahren, um auf einen benannten Button zuzugreifen; dieses Verfahren kann jedoch die einzige Möglichkeit sein, auf nicht benannte Buttonelemente zuzugreifen.
  • Dateneingabetasks beinhalten viele Elemente (oder Widgets), die eine Benutzersteuerung erfordern. Eine Dateneingabe findet üblicherweise unter Verwendung einer Maus und/oder einer Tastatur statt, und das beabsichtigte Ziel kann allgemein leicht durch die physische Interaktionskomponente der Zeigevorrichtung bestimmt werden. Bei einer Sprachschnittstelle müssen typischerweise andere Fokussierungs- und Auswahlverfahren verwendet werden, um potentielle Ziele zu bestimmen.
  • Viele Datenwidgets innerhalb von Anwendungen, wie beispielsweise Bildlaufleisten bzw. Scrollbars, Buttons und Textfelder, haben entweder keine Namen (ebenfalls als nicht benannte Elemente bezeichnet, z. B. da sie einer bestimmten, nicht benannten Tabelle oder Reihe zugeordnet sind), haben mehrdeutige Namen (z. B. da mehr als ein Feld als „ID-Nummer" bezeichnet ist), oder scheinen Namen auf einer visuellen Anzeige zu haben, sind aber durch den Code nicht leicht mit diesen Namen zu verknüpfen, da der Text in einem von dem Widget völlig unterschiedlichen Modul erscheint.
  • Ein Verfahren besteht darin, eine implizite Navigation in Verbindung mit einem gattungsgemäßen bzw. allgemeinen Verfahren zum Adressieren von Dateneingabewidgets zu verwenden. Eine implizite Navigation ist in der folgenden Veröffentlichung beschrieben: James, F. und Roelands, J., Voice over Workplace (VoWP): Voice Navigation in a Complex Business GUI. ASSETS 2002, (Edinburgh, Schottland, 2002). Kurz gesagt priorisiert eine implizite Navigation Bildschirmbereiche, um die Möglichkeit einer Mehrdeutigkeit zu minimieren. Ein Benutzerschnittstellenbildschirm kann in mehrere Bereiche unterteilt werden, die priorisiert werden bzw. sind. Benutzerinteraktionen und Bildschirmupdates modifizieren die Priorisierung, um die Benutzerschnittstellen sprachfreundlicher zu machen.
  • Ein allgemeiner Zugriff auf Schnittstellenelemente wird durch Adressieren von Elementen nach Typ bereitgestellt. Um beispielsweise ein Textfeld in einer gegebenen Anwendung zu erreichen, sagt ein Benutzer einfach „Textfeld". Wenn es mehr als ein Textfeld in dem aktuellen Fokusbereich gibt, wird diese wie jede andere Mehrdeutigkeit behandelt; überlagerte Bezeichnungen werden präsentiert, um dem Benutzer zu ermöglichen, das beabsichtigte Ziel auszuwählen. Obwohl bei diesem Ansatz eine Elementauswahl meistens in zwei Schritten erfolgt, erlaubt er dem Benutzer, jedes Element auf dem Bildschirm effizient anzunavigieren. Wenn der Benutzer keines der überlagerten Elemente auswählen möchte, kann der Benutzer die Icons auch verwerfen, indem er „Abbrechen" sagt. Auf Elemente, auf die durch einen Namen zugegriffen werden kann (beispielsweise Buttons), kann ebenfalls unter Verwendung dieses gattungsgemäßen bzw. allgemeinen Verfahrens zugegriffen werden, um eine Schnittstellenkonsistenz sicherzustellen und Alternativen im Fall einer verschlechterten Erkennungsleistung zu ermöglichen.
  • Sobald ein Element ausgewählt wurde, wenn es ein Icon, Button, Radiobutton oder eine Checkbox ist, verhält sich die Schnittstelle so, als ob das Element mit der Maus angeklickt worden wäre. Bei Comboboxen bzw. Kombinationsfeldern werden die Optionen in der Liste angezeigt, so dass der Benutzer eine Auswahl treffen kann. Textfelder werden durch einen farbigen Rahmen hervorgehoben und der aktive Cursor wird in diese plaziert, um zu signalisieren, dass der Benutzer in den Dateneingabemodus für das Feld übergegangen ist.
  • Eine alternative Lösung zum Handhaben unbenannter Elemente besteht darin, allen Elementen eindeutige Namen hinzuzufügen, wenn die Seite dem Benutzer das erste Mal präsentiert wird, anstatt von dem Benutzer zu verlangen, zunächst den Elementtyp zu nennen, um zu bewirken, dass die numerierten überlagerten Bezeichnungen erscheinen.
  • Ein Problem, das mit Sprachschnittstellen verbunden ist, besteht darin, eine Dateneingabe von Befehlen zu unterscheiden. Wenn ein Benutzer beispielsweise ein mehrzeiliges Textfeld auswählt, kann angenommen werden, dass der Benutzer in einen Dateneingabemodus übergehen und einen Text eingeben möchte. Jedoch ist ein Verfahren zum Bestimmen, wann die Eingabe beendet ist und der Benutzer die Navigation wieder aufnehmen kann, erforderlich. Dies kann auf mehrere Arten erreicht werden.
  • Beispielsweise besteht eine Option darin, einen expliziten Befehl zum Beenden der Dateneingabe zu verwenden. Dies erfordert die Verwendung eines Codeworts oder Ausdrucks, wie beispielsweise „Dateneingabe beenden". Bei mehrzeiligen Textfeldern, wo der Benutzer über die volle Bearbeitungskontrolle verfügen möchte, kann dies die beste Lösung sein, da große Dateneingabetasks dieser Art dann als ein separater Modus behandelt würden, der manuell bearbeitet werden muss.
  • Eine Variante dieser Idee ist es, dass das System auf mehrere Schlüsselwörter hört, wie beispielsweise die Namen anderer Ziele in der Schnittstelle. Eine Art, dies zu erreichen, besteht darin, mehrere parallele Erkenner einzusetzen, wobei jeder Erkenner auf unterschiedliche Schlüsselwörter hört. Dieses Verfahren erhöht jedoch die Wahrscheinlichkeit, dass eine Dateneingabe falsch als Befehl interpretiert wird und der Dateneingabemodus zu früh verlassen wird.
  • Gleichermaßen kann eine Pause oder Auszeit zum Beenden der Dateneingabe verwendet werden. Leider ist dieses Verfahren häufig schwierig für Benutzer, da das Ende der Dateneingabe leicht durch eine Denkpause, was man als nächstes sagen möchte, ausgelöst werden kann. Dieses Verfahren kann nutzbarer gemacht werden, indem dem Benutzer visuelle Hinweise bereitgestellt werden.
  • Eine weitere Option besteht darin, Feldern geeignete Grammatiken zuzuordnen, um den Bedarf eines Diktats wann immer möglich zu eliminieren. Dieses Verfahren ist in Situationen nützlich, in denen das Feld etwas Bestimmtes erwartet, beispielsweise ein Datum. Es erfordert jedoch eine Möglichkeit, den vom Feld erwarteten Datentyp und das Format, für welches die Anwendung die zu präsentierenden Daten erwartet, zu bestimmen. Es muss dann eine geeignete Grammatik zuordnen, möglicherweise aus einem Pool gängiger Grammatiken, und zudem die geeignete, anzuwendende Formatierung bestimmen, bevor die Daten in das Element eingegeben werden. Dann kann das System die Schnittstelle automatisch darauf einstellen, zu erwarten, eine bestimmte Art von Dateneingabe zu hören, sobald das Feld ausgewählt ist, und in den standardmäßigen Steuermodus zurückzukehren, sobald eine Eingabe erfolgt ist.
  • Eine Erkennungsgrammatik für ein Textfeld kann ebenfalls während der Laufzeit von einem Benutzer unter Verwendung eines Verfahrens von „klebrigen Grammatik-Vorgaben bzw. sticky grammar defaults" verwendet werden. Wenn ein Benutzer beispielsweise das erste Mal auf ein Feld trifft, kann er angeben, dass eine Datumsgrammatik verwendet werden soll. Bei einem darauffolgenden Zugriff auf das Feld (selbst während unterschiedlicher Sitzungen) kann das System dann auf die Datumsgrammatik zurückgreifen, wenn der Benutzer mit dem gleichen Benutzerschnittstellenelement interagiert. Bei einigen Implementierungen werden sticky grammar defaults als eine Datei auf dem lokalen Computer unabhängig von dem Quelldokument gespeichert, und zwar auf im Wesentlichen die gleiche Art und Weise, wie ein Browser besuchte Webseiten, Benutzernamen, Passwörter und andere Daten speichern kann. Bei einer exemplarischen Implementierung kann die Datei an andere Benutzer verteilt werden.
  • Das oben beschriebene klebrige Grammatik- bzw. sticky grammar-Verfahren stützt sich auf die Verwendung vordefinierter Grammatiken, um eine Spracherkennung zu verbessern. Eine Grammatik ist eine Spezifikation von Wörtern und/oder erwarteten Mustern von Wörtern, auf die ein Spracherkenner hört. Eine Datumsgrammatik kann beispielsweise einen Monat gefolgt von einem Tag gefolgt von einem Jahr angeben. Eine Grammatik für die Combobox kann die in der Combobox auswählbaren Optionen und eventuell einige Steuerausdrücke enthalten. Durch die Verwendung von Grammatiken erhöht sich die Genauigkeit und Effizienz der Spracheingabe erheblich. Dies ist darauf zurückzuführen, dass es viel leichter ist zu erkennen, welches von zehn Wörtern gesprochen wurde, anstatt zu bestimmen, welches von tausend (oder Zehntausenden von) Wörtern gesprochen wurde.
  • Sticky grammar defaults können von einem Benutzer ausgewählt und auf eine Art und Weise gespeichert werden, die für das Spracherweiterungsmodul oder den Browser zugänglich ist. Klebrige Grammatiken bzw. sticky grammars können auch auf Supportgruppen-, Orts- oder Globalvorgaben für einen bestimmten Satz von Anwendungen ausgeweitet werden. Beispielsweise könnte ein Benutzer an einem Ort jede Webseite besuchen, die regelmäßig an dem Ort verwendet wird, indem er die entsprechenden Grammatiken für die Benutzerschnittstellenelemente auswählt. Die ausgewählten Grammatiken können dann als sticky grammar defaults für zukünftige Benutzer dienen.
  • Die klebrige, vorgegebene Grammatik bzw. sticky default grammar für ein Schnittstellenelement kann auch basierend auf Daten ausgewählt werden, die in das Benutzerschnittstellenelement eingegeben werden. Dies kann für Benutzer die Last verringern, jeden Bildschirm individuell anpassen zu müssen. Wenn eine bestimmte Anwendung beispielsweise erfordert, dass ein gewisses Textfeld „Kundenname" lauten soll, dann kann eine spezifische Eingabegrammatik für dieses Feld festgelegt und als eine klebrige Vorgabe bzw. sticky default bereitgestellt werden. Unabhängig von dem Verfahren, das zum Bestimmen verwendet wird, wann eine Eingabe endet, können visuelle Hinweise verwendet werden, um dem Benutzer anzuzeigen, in welchem Modus er oder sie sich befindet, und vielleicht die erwartete Grammatik anzuzeigen. Beispielsweise kann ein blauer Rahmen um das Textfeld gelegt werden, sobald es ausgewählt wurde, um dem Benutzer anzuzeigen, dass das System eine Eingabe für das Feld erwartet. Dies bestätigt nicht nur die Auswahl eines bestimmten Felds durch den Benutzer, sondern es erinnert den Benutzer auch daran, dass er oder sie als nächste Aktion Daten für das Feld eingeben muss.
  • Es können auch unterschiedliche visuelle Hinweise verwendet werden, um dem Benutzer eine zusätzliche Anzeige zu liefern, dass das Datenfeld ein bestimmter bekannter Typ ist. Wenn ein Benutzer beispielsweise mit einer Textbox bzw. Textfeld interagiert, kann die Rahmenfarbe um das Datenfeld herum blau sein, wenn er auf das Datenfeld trifft, oder grau sein, wenn auf ein freies Textdiktatfeld gegangen wird. Dies kann dem Benutzer durch Anzeigen des erwarteten Datentyps oder -formats helfen, wenn sticky defaults verwendet werden. Zusätzliche Befehle können dem Benutzer zur Verfügung stehen, um die sticky default für ein gegebenes Feld zu ändern. Eine Dialogbox bzw. Dialogfeld oder andere Interaktionsverfahren können dann verwendet werden, um den Benutzer darüber zu informieren, welche Datentypen zur Verfügung stehen und ihm zu erlauben, den geeignetsten auszuwählen.
  • 4 stellt eine exemplarische Geschäftsanwendungsbenutzerschnittstelle für eine Gehen-Anforderungsanwendung unter Verwendung der oben beschriebenen Verfahren dar. Die Buttons auf dem Bildschirm 400 (help button bzw. Hilfebutton 402, vacation balance button bzw. Urlaubskontobutton 404, replace button bzw. Ersetzenbutton 406 und send button bzw. Sendenbutton 408) können durch Sprechen ihrer Namen aktiviert werden. Idealerweise sind auch die übrigen Benutzerschnittstellenelemente durch Nennen ihrer Namen zugreifbar; es ist jedoch häufig schwierig oder unmöglich, den geeigneten Text mit dem Schnittstellenelement zu verknüpfen. Die übrigen Felder (absence type-Feld bzw. Abwesenheitsgrund-Feld 410, absent from-Feld bzw. Abwesend-von-Feld 412, absent to-Feld bzw. Abwesend-bis-Feld 414 und note-Feld bzw. Anmerkungsfeld 416) können eingebettete Bezeichnungen oder Namen enthalten, die sich von Text unterscheiden, der nahe den Feldern plaziert wird. Das note-Feld 416 kann beispielsweise unter Verwendung des folgenden HTML-Codes definiert werden: „< TEXTAREA NAME = 'ABNOTE' ROWS = 4 COLS = 20 >". Manchmal ist es nicht möglich, ein Feld mit einer Bezeichnung auf dem Bildschirm nur durch Parsen eines HTML-Codes zu verknüpfen. Es wäre beispielsweise schwierig für das System, den „Note"-Text mit dem note-Feld 416 zu verknüpfen. In solchen Fällen kann der Ersteller der Webseite XML oder andere Daten einbeziehen, so dass das System eine geeignete Spracherkennung für das Feld bestimmen kann.
  • Das absence type-Feld 410 verwendet eine Dropdown-Liste (Combobox) zur Dateneingabe. Um dieses spezielle Element zu fokussieren, sagt der Benutzer „Combobox". Dies wird allgemein alle Comboboxen mit durchsichtigen Überlagerungen numerieren, um eine Benutzerauswahl zu ermöglichen. Da es auf diesem Bildschirm nur eine Combobox gibt, wird der Fokus automatisch darauf gerichtet bzw. verschoben. Die Liste ist bzw. wird hervorgehoben und die zur Verfügung stehenden Auswahlen werden angezeigt. Die Vorgabe für das System ist es bzw. wird es sein, den nächsten Befehl als eine Option aus der Liste zu interpretieren.
  • Das absent from-Feld 412 und absent to-Feld 414 sind beide im Grunde genommen Textfelder mit verknüpften Infobuttons, welche die Auswahl aus einem anderen Widget, in diesem Fall einem Kalender, erlauben. Wenn der Benutzer Text in diese Felder eingeben möchte, kann er „Textfeld" sagen. Dies bewirkt, dass durchsichtige Überlagerungen (die einen identifizierbaren Buchstaben oder eine Zahl enthalten) für alle drei Textfelder angezeigt werden: die beiden Textfelder, die sich auf Datumsangaben beziehen, und auch das Textfeld für Anmerkungen. Der Benutzer wählt eine Nummer aus, um das gewünschte Feld zu wählen. An diesem Punkt liegt der Fokus auf dem Textfeld und der Benutzer kann das entsprechende Datum, in dieses diktieren.
  • Das note-Feld 416 kann gleichermaßen unter Verwendung von Sprachbefehlen aktiviert werden; der Textbereich enthält jedoch auch eine Scrollbar. Wenn somit das note-Feld 416 aktiviert wird, steht ein Scrollbar-Sprachbefehl zur Verfügung, der dem Benutzer ermöglicht, innerhalb des aktivierten note-Felds 416 hoch und runter zu scrollen.
  • 5 stellt einen Bildschirm 400 dar, nachdem der Benutzer „Combobox" gesagt hat. Das Feld wird mit einem visuellen Hinweis aktiviert, in diesem Fall einer blauen Box, die das Feld umrahmt, und die verfügbaren Optionen werden dem Benutzer angezeigt. Der Benutzer kann dann eine Option auswählen, indem der den angezeigten Text liest. Beispielsweise kann der Benutzer „wedding day" bzw. „Hochzeitstag" oder „sick day" bzw. „Krankheitstag" sagen, um die entsprechende Option auszuwählen.
  • Der Benutzer kann dann Datumsangaben in das absent from-Feld 412 und das absent to-Feld 414 eingeben, indem er „Textfeld" sagt. Dies bewirkt, dass die drei Textfelder numeriert oder anderweitig auf dem Bildschirm hervorgehoben werden, so dass der Benutzer dann das gewünschte Textfeld auswählen kann. Das System kann beispielsweise eine durchsichtige Überlagerung auf die drei Textfelder legen, wobei jede Überlagerung eine Nummer angibt. Der Benutzer kann dann die Nummer vorlesen, um das gewünschte Feld auszuwählen.
  • Der Benutzer kann zum Eingeben eines Datums mit dem System interagieren, indem er „Textfeld" und „Eins" sagt, um den Fokus auf das „absent from"-Feld 412 zu verschieben. Dann kann der Benutzer das Datum angeben, indem er „Oktober Vier Zwei Tausend Eins" sagt. Die Spracherkennungsmaschine 210 kann eine Datumserkennungsgrammatik verwenden, die durch den Übersetzer 204 registriert ist, um eine Spracheingabe zu erkennen. Der Übersetzer 204 formatiert dann die erkannten Zahlen in das geeignete Datumsformat zur Verwendung durch die Anwendung.
  • 6 stellt ein sprachbasiertes System dar. Komplexe sprachbasierte Anwendungen haben manchmal Schwierigkeiten, Mehrdeutigkeiten von Benutzeraktionen aufzulösen. Bei einer physischen Interaktion mit einer Maus oder anderen Zeigevorrichtung geben Benutzer den Fokus ihrer Aktionen direkt durch Klicken auf das interessierende Element an. Bei einer sprachbasierten Anwendung ist es nicht immer einfach, jedes Benutzerschnittstellenelement eindeutig zu identifizieren. Beispielsweise kann eine Benutzerschnittstelle mehrere Buttons mit der Bezeichnung „Suchen" oder mehrere Textfelder mit keinen einfachen Kennungen enthalten. Diese Mehrdeutigkeit wird manchmal als Zielmehrdeutigkeit bezeichnet, da das Ziel einer Benutzeraktion mehrdeutig ist und aufgelöst werden muss.
  • Das sprachbasierte System verwendet drei Verfahren, um Zielmehrdeutigkeiten aufzulösen: (1) visuelle Hinweise identifizieren den aktuellen Fokusbereich; (2) implizites Scoping bzw. eine implizite Definition priorisiert Bildschirmbereiche, um die Wahrscheinlichkeit von Mehrdeutigkeiten zu minimieren; und (3) aufgezählte Darstellungsbezeichnungen ermöglichen Benutzern, Mehrdeutigkeiten explizit aufzulösen. Einzeln oder in Kombination können diese Verfahren, die unten detaillierter beschrieben werden, Zielmehrdeutigkeiten bei sprachbasierten Schnittstellen reduzieren oder eliminieren.
  • Visuelle Hinweise enthalten einen beliebigen Indikator, der zum Reduzieren einer Zielmehrdeutigkeit verwendet wird. Beispielsweise können ein Bildschirmbereich oder ein Benutzerschnittstellenelement hervorgehoben, umrahmt oder anderweitig als das bevorzugte oder erwartete Ziel visuell identifiziert werden. Zielmehrdeutigkeiten können dann zu Gunsten des durch einen visuellen Hinweis angezeigten Bildschirmbereichs oder Benutzerschnittstellenelements aufgelöst werden.
  • Ein implizites Scoping reduziert Zielmehrdeutigkeiten durch Unterteilen und Priorisieren von Abschnitten der Benutzerschnittstelle. Eine komplexe Benutzerschnittstelle kann mehrere Komponenten, einschließlich einer Navigationsleiste, einer Headerleiste und einen oder mehrere Anwendungsbildschirmbereiche enthalten. Beispielsweise kann eine Portalwebseite eine Navigationsleiste auf der linken Seite des Bildschirms, eine Headerleiste oben und mehrere Anwendungsbildschirmbereiche enthalten, von denen jeder Anwendungsbildschirmbereich eine Schnittstelle zum Ausführen unterschiedlicher Tasks bereitstellt. Die verschiedenen Bildschirmbereiche können durch Priorisieren jedes Bereichs implizit gescopt werden.
  • Bildschirmbereichprioritäten können von dem Entwickler der Benutzerschnittstelle explizit angegeben werden oder sie können automatisch basierend auf Heuristik bzw. irgendeiner Heuristik ausgewählt werden. Bildschirmbereiche können beispielsweise in der folgenden Reihenfolge priorisiert werden: (1) die Anwendungsbildschirmbereiche, von oben nach unten, links nach rechts priorisiert; (2) die Navigationsleiste; und (3) die Headerleiste. Somit werden Zielmehrdeutigkeiten zwischen der Navigationsleiste und der Headerleiste zu Gunsten der Navigationsleiste aufgelöst. Gleichermaßen werden Mehrdeutigkeiten zwischen der Navigationsleiste und dem Anwendungsbildschirmbereich zu Gunsten des Anwendungsbildschirmbereichs aufgelöst.
  • Schließlich können aufgezählte Darstellungsbezeichnungen zum Auflösen von Mehrdeutigkeiten verwendet werden, die nicht anderweitig aufgelöst werden können. Unter Verwendung dieses Verfahrens identifiziert die sprachbasierte Schnittstelle jedes mögliche Ziel auf eine Benutzerspracheingabe hin. Die möglichen Ziele werden aufgezählt und dem Benutzer gegenüber identifiziert, so dass der Benutzer das gewünschte Ziel auswählen kann. Wenn beispielsweise drei Textfelder mögliche Ziele sind, können die Ziele mit „1 ", „2" und „3" numeriert werden. Die Zahlen werden in der Schnittstelle angezeigt, so dass der Benutzer dann wählen kann, welches Textfeld das gewünschte Ziel ist.
  • Die aufgezählten Darstellungsbezeichnungen können halbdurchsichtige Überlagerungen sein, die über die entsprechenden Benutzerschnittstellenelemente gelegt werden. Die Verwendung halbdurchsichtiger Überlagerungen ermöglicht der sprachbasierten Schnittstelle, die möglichen Ziele zu identifizieren, ohne die präsentierte Schnittstelle wesentlich zu beeinträchtigen, da Benutzer die darunterliegenden Schnittstelleninformationen durch die halbdurchsichtigen Überlagerungen sehen können.
  • Mit Bezug auf 6 kann ein implizites Scoping implementiert werden, indem Benutzerschnittstellenelemente in eine oder mehrere Gruppen, wie beispielsweise Bildschirmbereiche, unterteilt werden (Schritt 602). Jeder Gruppe wird eine relative Priorität zugewiesen, die zum Auflösen von Mehrdeutigkeiten verwendet wird (Schritt 604). Jeder Gruppe kann beispielsweise eine Zahl von Eins bis Zehn zugewiesen werden, wobei Eins am höchsten ist. Nur die Benutzerschnittstellenelemente aus der höchstmöglichen Gruppe werden verwendet.
  • Somit können Mehrdeutigkeiten zumindest teilweise durch Ignorieren von Gruppen von Benutzerschnittstellenelementen mit niedrigerer Priorität aufgelöst werden.
  • Die Sprachschnittstelle empfängt eine Spracheingabe (Schritt 606) und bestimmt die Gruppe mit der höchsten Priorität mit Zielen, die mit der Spracheingabe (Schritt 608) übereinstimmen. Wenn es immer noch Mehrdeutigkeiten in der Gruppe mit der höchsten Priorität und einer Übereinstimmung gibt (Schritt 610), markiert das System mögliche Zielbenutzerschnittstellenelemente (Schritt 612). Es können immer noch Mehrdeutigkeiten bestehen, wenn beispielsweise die Spracheingabe „Textfeld" lautet und es mehrere Textfelder in der Gruppe mit der höchsten Priorität gibt. Eine zusätzliche Spracheingabe wird von dem System empfangen (Schritt 614). Wenn die Spracheingabe mit einem der markierten möglichen Zielbenutzerschnittstellenelemente übereinstimmt (Schritt 616), dann wird das Ziel identifiziert (Schritt 618) und der Vorgang endet.
  • Wenn die zusätzliche Spracheingabe mit keinem der markierten Zielbenutzerschnittstellenelemente übereinstimmt (Schritt 616), dann überprüft das System, ob die Eingabe mit einem anderen Benutzerschnittstellenelement übereinstimmt (Schritt 608). Wenn die Eingabe nicht mehrdeutig ist (d. h. wenn sie ein Benutzerschnittstellenelement in der Gruppe mit der höchsten Priorität und einer Übereinstimmung eindeutig identifiziert), dann wird das Zielbenutzerschnittstellenelement identifiziert (Schritt 618) und der Vorgang endet.
  • 717 beschreiben eine sprachbasierte, elektronische Zeiterfassungsanwendung, die visuelle Hinweise, implizites Scopen und aufgezählte Darstellungsbezeichnungen verwendet, um Zielmehrdeutigkeiten aufzulösen. In 7 ermöglicht ein Webportal einem Benutzer, verschiedene Anwendungen auszuwählen. Das Anwendungsfenster 700 enthält zwei Bildschirmbereiche: einen Menübereich 702, der die verschiedenen Anwendungen auflistet, und einen Anzeigebereich 704. Das Menü 702 ist in mehrere Bereich unterteilt, einschließlich „Roles” bzw. Rollen, die dem Benutzer erlauben, Tasks basierend auf mehreren angegebenen Rollen auszuwählen. Die Anwendung beginnt damit, dass der Fokusbereich auf das „Rotes"-Menü gerichtet ist. Der Fokusbereich kann durch einen visuellen Hinweis, wie beispielsweise einer farbigen, den Fokusbereich umrandenden Linie angezeigt werden. Der Benutzer kann wählen, die elektronische Zeiterfassungsanwendung („CATW” genannt) zu starten, indem er „CATW" sagt. Dieser Befehl initiiert die Anwendung unter Verwendung eines Anzeigebereichs 704, wie in 8 gezeigt.
  • Mit Bezug auf 8 enthält die elektronische Zeiterfassungsanwendung drei allgemeine Komponenten, die in dem Anzeigebereich 704 angezeigt werden. Diese Komponenten enthalten folgendes: eine Benutzeridentifikationskomponente 802, eine Zeitraumkomponente 804 und eine Zeiteingabekomponente 806. Die Benutzeridentifikationskomponente 802 führt den Namen und die Personalnummer des Benutzers auf. Die Zeitraumkomponente 804 führt den angezeigten Zeitraum auf und ermöglicht dem Benutzer, zu anderen Zeiträumen zu wechseln. Die Zeiteingabekomponente 806 ermöglicht einem Benutzer, eine Zeit für den Zeitraum, der durch die Zeitraumkomponente 804 angezeigt wird, zu modifizieren und/oder einzugeben. Der visuelle Hinweis wird zu dem Anzeigebereich 704 bewegt, der anzeigt, dass dieser Bereich nun eine Priorität für die Mehrdeutigkeitsauflösung und Befehlsinterpretation hat.
  • Die Zeiteingabekomponente 806 enthält etwas, das aussieht wie ein Spreadsheet bzw. eine Tabellenkalkulation mit Spalten, die die Tage in dem Zeitraum anzeigen, und Reihen bzw. Zeilen, die verschiedene Kategorien von Zeiteingaben anzeigen, wie beispielsweise Jahresurlaub, Anwesenheitsstunden, Geschäftsreise, Gleitzeitausgleich, Überstundenausgleich, Ausbildung/Fortbildung, medizinisch bedingter Familienurlaub, Feiertag, Geschworenenamt, langfristige Arbeitsunfähigkeit, Besprechung, Privatzeit bzw. Personalzeit, Abfindung oder kurzfristige Arbeitsunfähigkeit. Verschiedene Textfelder, die jeder Zeilen/Spaltenkombination entsprechen, stehen zur Dateneingabe zur Verfügung; es steht Benutzern jedoch kein offensichtlicher Mechanismus zur Verfügung, um ein gewünschtes Zieltextfeld einfach zu identifizieren.
  • Mit Bezug auf 9 kann ein Benutzer, der Text in das obere linke Textfeld der Zeiteingabekomponente 806 eingeben möchte, „Textfeld" sagen. Das System kann ein Priorisierungsschema verwenden, um beispielsweise den Rahmen auf der linken Seite von dem Rahmen auf der rechten Seite zu trennen und nur die aufgezählten Darstellungsbezeichnungen an dem Rahmen auf der rechten Seite anbringen bzw. anwenden, der mögliche Zieltextfelder beinhaltet. Da das System nicht in der Lage ist, die Mehrdeutigkeit unter Verwendung einer Priorisierung allein aufzulösen, wird jedes mögliche Textfeld innerhalb des priorisierten Rahmens durch eine aufgezählte Darstellungsbezeichnung 902 angegeben (durch Zeigen auf eine der 21 angezeigten, aufgezählten Darstellungsbezeichnungen). Die Bezeichnung „1" wird in dem Textfeld in der Zeitraumkomponente 804 plaziert. Die übrigen Bezeichnungen „2–21" werden in den Textfeldern der Zeiteingabekomponente 806 plaziert. Der Benutzer kann das Zieltextfeld identifizieren, indem er dessen entsprechende Nummer sagt.
  • Mit Bezug auf 10 wählt der Benutzer das obere linke Texteingabefeld 1002 in der Zeiteingabekomponente 806 aus, indem er „Zwei" sagt. Nach Empfangen der Benutzereingabe verschwinden die aufgezählten Darstellungsbezeichnungen und das System bereitet sich eine Dateneingabe in das Textfeld 1002 vor, indem es in einen Dateneingabemodus übergeht. Ein blauer Rahmen dient als visueller Hinweis, um dem Benutzer anzuzeigen, dass das System im Dateneingabemodus ist und alle Daten in das Textfeld mit dem blauen Rahmen eingeben werden.
  • Mit Bezug auf 11 kann ein System im Dateneingabemodus eine zugeordnete Grammatik verwenden, um die Spracherkennungsleistung zu verbessern. Die elektronische Zeiterfassungsanwendung erwartet, dass Benutzer die Anzahl gearbeiteter Stunden in jedes Textfeld der Zeiteingabekomponente 806 eingeben, so dass eine Grammatik denjenigen Textfeldern zugeordnet werden kann, die Zahlen erkennt. Der Benutzer kann dann den Inhalt des Textfelds diktieren, indem er die gewünschte Zahl sagt. Bei diesem Beispiel sagt der Benutzer „Acht" und das System gibt die Zahl Acht in das Textfeld 1002 ein und verlässt den Dateneingabemodus.
  • Mit Bezug auf 12 kann ein ähnliches Verfahren verwendet werden, um mit den Comboboxen zu interagieren, die verwendet werden, um Zeitkategorien in der Zeiteingabekomponente 806 auszuwählen. Ein Benutzer, der eine Kategorie von „Anwesenheitsstunden" zu „Urlaub" wechseln möchte, kann dies tun, indem er „Combobox" sagt. Die Anfrage ist mehrdeutig, da vier mögliche Comboboxen zur Dateneingabe zur Verfügung stehen, so dass das System aufgezählte Darstellungsbezeichnungen 902 anzeigt, um dem Benutzer zu ermöglichen, die Mehrdeutigkeit aufzulösen. Die Comboboxen sind mit Eins bis Vier bezeichnet, um dem Benutzer zu ermöglichen, das gewünschte Ziel zu identifizieren.
  • Mit Bezug auf 13 wählt der Benutzer eine Combobox aus, indem er die Zahl der entsprechenden aufgezählten Darstellungsbezeichnung 902 nennt. Bei diesem Beispiel sagt der Benutzer „Zwei", die Bezeichnungen werden entfernt und die zweite Combobox wird zur Dateneingabe geöffnet, wobei sie die Liste mit Auswahlmöglichkeiten anzeigt, die durch die Combobox gewählt werden können. Der Benutzer kann dann die gewünschte Auswahl auswählen, indem er die gewünschte Auswahl vorliest.
  • Mit Bezug auf 14 trifft der Benutzer eine Auswahl, indem er „Urlaub" sagt, und das System aktualisiert den Comboboxwert entsprechend. Dann schließt sich die Combobox und der Fokus wird zurück auf den Anzeigebereich 704 gerichtet. Der Benutzer kann dann eine Zeit entsprechend der neu gewählten Zeitkategorie eingeben, indem er das oben mit Bezug auf 911 beschriebene Verfahren verwendet.
  • Mit Bezug auf 15 sagt der Benutzer „Textfeld" um eine Zeit in die Zeiteingabekomponente 806 einzugeben. Da das Ziel mehrdeutig ist, werden aufgezählte Darstellungsbezeichnungen 902 angezeigt, um dem Benutzer zu ermöglichen, jegliche Mehrdeutigkeit explizit aufzulösen. Bei diesem Beispiel möchte der Benutzer eine Zeit in die Urlaubskategorie für den zweiten Tag eingeben.
  • Mit Bezug auf 16 sagt der Benutzer „Acht", um das gewünschte Textfeld 1602 zur Dateneingabe zu identifizieren. Die aufgezählten Darstellungsbezeichnungen werden entfernt und der Fokus wird auf das ausgewählte Textfeld 1602 gelenkt bzw. verschoben. Das System geht in den Dateneingabemodus über und zeigt einen visuellen Hinweise an, so dass der Benutzer weiß, dass die Dateneingabe beginnen kann.
  • Mit Bezug auf 17 sagt der Benutzer dann „Acht", um am zweiten Tag des Zeitraums acht Stunden Urlaubszeit einzugeben. Nach Eingabe der Daten verlässt das System den Dateneingabemodus und der Fokus wird zurück auf den Anzeigebereich 704 gerichtet.
  • Mit Bezug auf 18 kann der Benutzer Buttons auswählen, indem er ihre gedruckten Bezeichnungen vorliest. Beispielsweise kann der Benutzer „Alle Details anzeigen" sagen, um den entsprechenden Button 1702 im unteren Teil des Anzeigebereichs 704 zu aktivieren. Das System zeigt dann detaillierte Informationen an, wie es in 18 gezeigt ist. Der Benutzer kann dann zu dem vorherigen Bildschirm zurückkehren, indem er „Alle Details verbergen" sagt.
  • 718 stellen eine Sprachschnittstelle für ein elektronisches Zeiterfassungssystem dar, das visuelle Hinweise, implizites Scoping und aufgezählte Darstellungsicons verwendet, um Benutzerinteraktionen mit dem System zu verbessern. Die gleichen Methoden können verwendet werden, um eine Spracheingabe und -steuerung bei einer beliebigen grafischen Benutzerschnittstelle bereitzustellen.
  • Eine Anzahl von Implementierungen wurden beschrieben. Es versteht sich jedoch, dass verschiedene Modifikationen vorgenommen werden können, ohne von dem Schutzbereich der Erfindung abzuweichen. Dementsprechend liegen andere Implementierungen innerhalb des Schutzbereichs der folgenden Ansprüche.

Claims (24)

  1. Sprachbasierte bzw. voice-enabled Benutzerschnittstelle (100), umfassend: Benutzerschnittstellenelemente (400416), die dem Benutzer angezeigt werden; und eine Spracherkennungsmaschine, die Spracheingabe empfängt, welche ein Zielbenutzerschnittstellenelement identifiziert, dadurch gekennzeichnet, daß die sprachbasierte Benutzerschnittstelle Zielmehrdeutigkeiten auflöst, indem sie die empfangene Spracheingabe unter Verwendung von implizitem Scoping bzw. einer impliziten Definition des Gültigkeitsraums mit dem Zielbenutzerschnittstellenelement (400416) verknüpft, wobei die Benutzerschnittstellenelemente (400416) in eine oder mehrere Gruppen unterteilt werden und das implizierte Scoping das Priorisieren der einen oder mehreren Gruppen umfaßt.
  2. Sprachbasierte Benutzerschnittstelle (100) nach Anspruch 1, die Zielmehrdeutigkeiten ferner auflöst, indem sie die empfangene Spracheingabe mit dem Zielbenutzerschnittstellenelement (400416) verknüpft bzw. assoziiert, indem sie aufgezählte Darstellungsbezeichnungen, die jedem möglichen Zielbenutzerschnittstellenelement (400416) entsprechen, anzeigt, wobei jede aufgezählte Darstellungsbezeichnung (902) eine eindeutige Kennung bzw. Identifier umfaßt.
  3. Sprachbasierte Benutzerschnittstelle (100) nach Anspruch 2, wobei die aufgezählten Darstellungsbezeichnungen (902) halbdurchsichtig oder undurchsichtig bzw. opak sind.
  4. Sprachbasierte Benutzerschnittstelle (100) nach einem der Ansprüche 1 bis 3, wobei die Benutzerschnittstellenelemente (400416) eines oder mehrere aus der Liste umfassen, die besteht aus: Combobox bzw. Kombinationsfeld (aus Text- und Listenfeld); Textfeld; Auswahlliste bzw. Listenbox; Button bzw. Schaltfläche; Textbereich; Checkbox bzw. Ankreuzfeld; und Radiobuttons bzw. Optionsfelder (nur eine Option kann aktiviert werden).
  5. Sprachbasierte Benutzerschnittstelle (100) nach einem der Ansprüche 1 bis 4, wobei die Spracherkennungsmaschine die Spracheingabe empfängt, die eine Klasse bzw. Kategorie von Benutzerschnittstellenelementen (400416) identifiziert.
  6. Sprachbasierte Benutzerschnittstelle (100) nach einem der Ansprüche 1 bis 5, wobei jede der einen oder mehreren Gruppen einen Bildschirmbereich (702, 204) darstellt.
  7. Sprachbasierte Benutzerschnittstelle (100) nach einem der vorangehenden Ansprüche, wobei die sprachbasierte Benutzerschnittstelle die Zielmehrdeutigkeiten in der empfangenen Spracheingabe unter Verwendung von visuellen Hinweisen bzw. Suchläufen bzw. Aufrufbefehlen bzw. visival cues auflöst.
  8. Sprachbasierte Benutzerschnittstelle (100) nach Anspruch 7, wobei die visuellen Hinweise eine farbige Hervorhebung umfassen.
  9. Sprachbasierte Benutzerschnittstelle (100) nach Anspruch 8, wobei die farbige Hervorhebung ein Benutzerschnittstellenelement (400416) umschließt.
  10. Sprachbasierte Benutzerschnittstelle (100) nach einem der Ansprüche 1 bis 9, ferner umfassend: einen Datenspeicher, der für das Speichern von Verknüpfungen zwischen den Benutzerschnittstellenelementen und Grammatiken konfiguriert ist; wobei die Spracherkennungsmaschine, die die Spracheingabe empfängt, welche das Benutzerschnittstellenelement identifiziert, den Datenspeicher abfragt, um die zu dem Benutzerschnittstellenelement (400416) gehörende Grammatik zu bestimmen, und die Dateneingabe unter Verwendung der bestimmten Grammatik verarbeitet.
  11. Sprachbasierte Benutzerschnittstelle (100) nach Anspruch 10, wobei der Datenspeicher durch einen einzigen Benutzer oder durch mehrere Benutzer zugreifbar ist.
  12. Sprachbasierte Benutzerschnittstelle (100) nach Anspruch 11, wobei ein einziger Benutzer ein Eingabesteuerungsprogramm verwenden kann, um ein Dateneingabefeld des Benutzerschnittstellenelements mit der Grammatik in dem Datenspeicher für den Zugriff durch die mehreren Benutzer zu verknüpfen.
  13. Sprachbasierte Benutzerschnittstelle (100) nach einem der Ansprüche 10 bis 12, wobei die sprachbasierte Benutzerschnittstelle (100) visuelle Hinweise auf einen zu dem Benutzerschnittstellenelement (400416) gehörenden bzw. assoziierten Datentyp anzeigt.
  14. Sprachbasierte Benutzerschnittstelle (100) nach einem der Ansprüche 10 bis 13, wobei die sprachbasierte Benutzerschnittstelle (100) visuelle Hinweise auf eine zu dem Benutzerschnittstellenelement (400416) gehörenden Grammatik anzeigt.
  15. Sprachbasierte bzw. voice-enabled Benutzerschnittstelle, umfassend: Benutzerschnittstellenelemente; einen Datenspeicher, der Verknüpfungen zwischen Benutzerschnittstellenelementen und Grammatiken umfaßt; und eine Spracherkennungsmaschine, die eine Spracheingabe empfängt, welche ein Zielbenutzerschnittstellenelement identifiziert, den Datenspeicher abfragt, um die zu dem Benutzerschnittstellenelement gehörende bzw. assoziierte Grammatik zu bestimmen, und die Dateneingabe unter Verwendung der bestimmten Grammatik verarbeitet.
  16. Sprachbasierte Benutzerschnittstelle nach Anspruch 15, wobei der Datenspeicher von einem einzigen bzw. einzelnen Benutzer zugreifbar ist.
  17. Sprachbasierte Benutzerschnittstelle nach Anspruch 15, wobei der Datenspeicher von mehreren Benutzern zugreif bar ist.
  18. Sprachbasierte Benutzerschnittstelle nach Anspruch 17, wobei ein einziger bzw. einzelner Benutzer ein Dateneingabefeld für den Zugriff durch die mehreren Benutzer mit einer Grammatik in dem Datenspeicher verknüpfen kann.
  19. Sprachbasierte Benutzerschnittstelle nach Anspruch 15, wobei die sprachbasierte Benutzerschnittstelle visuelle Hinweise bzw. visual cues mit dem Zielbenutzerschnittstellenelement anzeigt.
  20. Sprachbasierte Benutzerschnittstelle nach Anspruch 19, wobei die visuellen Hinweise einen Datentyp identifizieren, der zu dem Zielbenutzerschnittstellenelement gehört bzw. mit ihm assoziiert ist.
  21. Sprachbasierte Benutzerschnittstelle nach Anspruch 19, wobei die visuellen Hinweise eine Grammatik identifizieren, die zu dem Zielbenutzerschnittsteilenelement gehört bzw. mit ihm assoziiert ist.
  22. Sprachbasierte bzw. voice-enabled Benutzerschnittstelle, umfassend: Benutzerschnittstellenelemente; und eine Spracherkennungsmaschine, die eine Spracheingabe empfängt, welche ein Zielbenutzerschnittstellenelement identifiziert, wobei die sprachbasierte Benutzerschnittstelle Mehrdeutigkeiten auflöst, indem sie die empfangene Spracheingabe unter Verwendung von implizitem Scoping mit dem Zielbenutzerschnittstellenelement verknüpft.
  23. Sprachbasierte Benutzerschnittstelle nach Anspruch 22, wobei die Benutzerschnittstellenelemente in eine oder mehrere Gruppen unterteilt werden und das implizite Scoping das Priorisieren der einen oder mehreren Gruppen umfaßt.
  24. Sprachbasierte Benutzerschnittstelle nach Anspruch 23, wobei jede der einen oder mehreren Gruppen einen Bildschirmbereich darstellt.
DE20321559U 2002-02-15 2003-02-14 Sprachgesteuerte Dateneingabe Expired - Lifetime DE20321559U1 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US35674602P 2002-02-15 2002-02-15
US60/356,746 2002-02-15
US10/184,072 2002-06-28
US10/184,072 US7246063B2 (en) 2002-02-15 2002-06-28 Adapting a user interface for voice control
US10/229,266 2002-08-28
US10/229,266 US6882974B2 (en) 2002-02-15 2002-08-28 Voice-control for a user interface
PCT/US2003/004479 WO2003071519A2 (en) 2002-02-15 2003-02-14 Voice-controlled data entry

Publications (1)

Publication Number Publication Date
DE20321559U1 true DE20321559U1 (de) 2008-02-14

Family

ID=27761359

Family Applications (2)

Application Number Title Priority Date Filing Date
DE20321559U Expired - Lifetime DE20321559U1 (de) 2002-02-15 2003-02-14 Sprachgesteuerte Dateneingabe
DE60318021T Expired - Lifetime DE60318021T2 (de) 2002-02-15 2003-02-14 Sprachgesteuerte dateneingabe

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60318021T Expired - Lifetime DE60318021T2 (de) 2002-02-15 2003-02-14 Sprachgesteuerte dateneingabe

Country Status (7)

Country Link
US (1) US6882974B2 (de)
EP (1) EP1485790B1 (de)
CN (1) CN1647023B (de)
AT (1) ATE381055T1 (de)
AU (1) AU2003215226A1 (de)
DE (2) DE20321559U1 (de)
WO (1) WO2003071519A2 (de)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447637B1 (en) 1998-12-23 2008-11-04 Eastern Investments, Llc System and method of processing speech within a graphic user interface
ATE391986T1 (de) * 2000-11-23 2008-04-15 Ibm Sprachnavigation in webanwendungen
US7406658B2 (en) * 2002-05-13 2008-07-29 International Business Machines Corporation Deriving menu-based voice markup from visual markup
US20030222898A1 (en) * 2002-06-03 2003-12-04 International Business Machines Corporation Integrated wizard user interface
ATE403286T1 (de) * 2002-06-21 2008-08-15 Qualcomm Inc Zwischenverstärker für drahtlose lokale netzwerke
EP1576769A4 (de) * 2002-11-13 2011-08-31 Intel Corp Multimodale web-interaktion über ein drahtloses netzwerk
US7809565B2 (en) * 2003-03-01 2010-10-05 Coifman Robert E Method and apparatus for improving the transcription accuracy of speech recognition software
US8311835B2 (en) * 2003-08-29 2012-11-13 Microsoft Corporation Assisted multi-modal dialogue
US8768711B2 (en) * 2004-06-17 2014-07-01 Nuance Communications, Inc. Method and apparatus for voice-enabling an application
US9083798B2 (en) * 2004-12-22 2015-07-14 Nuance Communications, Inc. Enabling voice selection of user preferences
US20060136220A1 (en) * 2004-12-22 2006-06-22 Rama Gurram Controlling user interfaces with voice commands from multiple languages
US20060155547A1 (en) * 2005-01-07 2006-07-13 Browne Alan L Voice activated lighting of control interfaces
US7409344B2 (en) 2005-03-08 2008-08-05 Sap Aktiengesellschaft XML based architecture for controlling user interfaces with contextual voice commands
US20070033571A1 (en) * 2005-08-02 2007-02-08 Sap Ag Dynamic work center
US8694322B2 (en) * 2005-08-05 2014-04-08 Microsoft Corporation Selective confirmation for execution of a voice activated user interface
US7904300B2 (en) * 2005-08-10 2011-03-08 Nuance Communications, Inc. Supporting multiple speech enabled user interface consoles within a motor vehicle
US7707501B2 (en) * 2005-08-10 2010-04-27 International Business Machines Corporation Visual marker for speech enabled links
US9456068B2 (en) * 2005-09-01 2016-09-27 Xtone, Inc. System and method for connecting a user to business services
US20100166161A1 (en) * 2005-09-01 2010-07-01 Vishal Dhawan System and methods for providing voice messaging services
US9799039B2 (en) 2005-09-01 2017-10-24 Xtone, Inc. System and method for providing television programming recommendations and for automated tuning and recordation of television programs
US9426269B2 (en) * 2005-09-01 2016-08-23 Xtone Networks, Inc. System and method for performing certain actions based upon a dialed telephone number
WO2007028128A2 (en) * 2005-09-01 2007-03-08 Vishal Dhawan Voice application network platform
US11102342B2 (en) 2005-09-01 2021-08-24 Xtone, Inc. System and method for displaying the history of a user's interaction with a voice application
US20100158217A1 (en) 2005-09-01 2010-06-24 Vishal Dhawan System and method for placing telephone calls using a distributed voice application execution system architecture
US9253301B2 (en) * 2005-09-01 2016-02-02 Xtone Networks, Inc. System and method for announcing and routing incoming telephone calls using a distributed voice application execution system architecture
US11153425B2 (en) * 2005-09-01 2021-10-19 Xtone, Inc. System and method for providing interactive services
US9313307B2 (en) * 2005-09-01 2016-04-12 Xtone Networks, Inc. System and method for verifying the identity of a user by voiceprint analysis
US8964960B2 (en) * 2005-09-01 2015-02-24 Xtone Networks, Inc. System and method for interacting with a user via a variable volume and variable tone audio prompt
US7949444B2 (en) * 2005-10-07 2011-05-24 Honeywell International Inc. Aviation field service report natural language processing
US9886478B2 (en) 2005-10-07 2018-02-06 Honeywell International Inc. Aviation field service report natural language processing
US7624019B2 (en) * 2005-10-17 2009-11-24 Microsoft Corporation Raising the visibility of a voice-activated user interface
US20070147355A1 (en) * 2005-12-08 2007-06-28 International Business Machines Corporation Composite services generation tool
CA2634032A1 (en) * 2005-12-15 2007-06-21 Josef Berger System and methods for initiating, maintaining, and delivering personalized information by communication server
US8311836B2 (en) * 2006-03-13 2012-11-13 Nuance Communications, Inc. Dynamic help including available speech commands from content contained within speech grammars
DE102006051440A1 (de) * 2006-10-31 2008-05-15 Siemens Ag Verfahren zur Verarbeitung von Diensten in einem Datennetz
US7742922B2 (en) * 2006-11-09 2010-06-22 Goller Michael D Speech interface for search engines
US8417529B2 (en) * 2006-12-27 2013-04-09 Nuance Communications, Inc. System and methods for prompting user speech in multimodal devices
US8635069B2 (en) 2007-08-16 2014-01-21 Crimson Corporation Scripting support for data identifiers, voice recognition and speech in a telnet session
US8203577B2 (en) * 2007-09-25 2012-06-19 Microsoft Corporation Proximity based computer display
US8595642B1 (en) 2007-10-04 2013-11-26 Great Northern Research, LLC Multiple shell multi faceted graphical user interface
WO2010013369A1 (ja) 2008-07-30 2010-02-04 三菱電機株式会社 音声認識装置
US20100100821A1 (en) * 2008-10-17 2010-04-22 Aibelive Co., Ltd. Window detection system and method for operating the same
US20120110456A1 (en) * 2010-11-01 2012-05-03 Microsoft Corporation Integrated voice command modal user interface
US9081550B2 (en) * 2011-02-18 2015-07-14 Nuance Communications, Inc. Adding speech capabilities to existing computer applications with complex graphical user interfaces
US8909536B2 (en) * 2012-04-20 2014-12-09 Nuance Communications, Inc. Methods and systems for speech-enabling a human-to-machine interface
US9552130B2 (en) * 2012-05-07 2017-01-24 Citrix Systems, Inc. Speech recognition support for remote applications and desktops
US9263059B2 (en) 2012-09-28 2016-02-16 International Business Machines Corporation Deep tagging background noises
US20140095167A1 (en) * 2012-10-01 2014-04-03 Nuance Communication, Inc. Systems and methods for providing a voice agent user interface
US10276157B2 (en) 2012-10-01 2019-04-30 Nuance Communications, Inc. Systems and methods for providing a voice agent user interface
CN103869931B (zh) * 2012-12-10 2017-02-08 三星电子(中国)研发中心 语音控制用户界面的方法及装置
CN103869948B (zh) * 2012-12-14 2019-01-15 联想(北京)有限公司 语音命令处理方法和电子设备
US9734819B2 (en) 2013-02-21 2017-08-15 Google Technology Holdings LLC Recognizing accented speech
US9123345B2 (en) * 2013-03-14 2015-09-01 Honda Motor Co., Ltd. Voice interface systems and methods
US20140350928A1 (en) * 2013-05-21 2014-11-27 Microsoft Corporation Method For Finding Elements In A Webpage Suitable For Use In A Voice User Interface
US20140350941A1 (en) * 2013-05-21 2014-11-27 Microsoft Corporation Method For Finding Elements In A Webpage Suitable For Use In A Voice User Interface (Disambiguation)
JP6102588B2 (ja) * 2013-07-10 2017-03-29 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US11138971B2 (en) 2013-12-05 2021-10-05 Lenovo (Singapore) Pte. Ltd. Using context to interpret natural language speech recognition commands
US9548049B2 (en) * 2014-02-19 2017-01-17 Honeywell International Inc. Methods and systems for integration of speech into systems
US10033797B1 (en) 2014-08-20 2018-07-24 Ivanti, Inc. Terminal emulation over HTML
CN104182124B (zh) * 2014-08-25 2017-11-03 广东欧珀移动通信有限公司 移动终端的操作方法和装置
US9582498B2 (en) * 2014-09-12 2017-02-28 Microsoft Technology Licensing, Llc Actions on digital document elements from voice
US20160232897A1 (en) * 2015-02-06 2016-08-11 Microsoft Technology Licensing, Llc Adapting timeout values based on input scopes
EP3279790B1 (de) * 2015-03-31 2020-11-11 Sony Corporation Informationsverarbeitungsvorrichtung, steuerungsverfahren und programm
JP6609994B2 (ja) * 2015-05-22 2019-11-27 富士通株式会社 表示制御方法、情報処理装置及び表示制御プログラム
US9934782B2 (en) * 2015-09-22 2018-04-03 Meshrose Ltd. Automatic performance of user interaction operations on a computing device
WO2017078686A1 (en) * 2015-11-03 2017-05-11 Observepoint, Inc. Translation of natural language into user interface actions
US9996517B2 (en) * 2015-11-05 2018-06-12 Lenovo (Singapore) Pte. Ltd. Audio input of field entries
US20170315849A1 (en) * 2016-04-29 2017-11-02 Microsoft Technology Licensing, Llc Application target event synthesis
WO2017201041A1 (en) 2016-05-17 2017-11-23 Hassel Bruce Interactive audio validation/assistance system and methodologies
US11100278B2 (en) 2016-07-28 2021-08-24 Ivanti, Inc. Systems and methods for presentation of a terminal application screen
US11099716B2 (en) 2016-12-23 2021-08-24 Realwear, Inc. Context based content navigation for wearable display
US10620910B2 (en) * 2016-12-23 2020-04-14 Realwear, Inc. Hands-free navigation of touch-based operating systems
US11507216B2 (en) 2016-12-23 2022-11-22 Realwear, Inc. Customizing user interfaces of binary applications
CN108279839A (zh) 2017-01-05 2018-07-13 阿里巴巴集团控股有限公司 基于语音的交互方法、装置、电子设备及操作系统
US11650791B2 (en) * 2017-01-11 2023-05-16 Microsoft Technology Licensing, Llc Relative narration
CN107147776A (zh) * 2017-04-14 2017-09-08 努比亚技术有限公司 一种语音控制的实现方法和移动终端
CN111857635A (zh) * 2019-04-30 2020-10-30 阿里巴巴集团控股有限公司 交互方法、存储介质、操作系统和设备
CN115145529B (zh) * 2019-08-09 2023-05-09 华为技术有限公司 语音控制设备的方法及电子设备
WO2021216679A1 (en) * 2020-04-21 2021-10-28 Saint Louis University Verbal interface systems and methods for verbal control of digital devices
USD1008290S1 (en) * 2021-04-30 2023-12-19 Siemens Energy Global GmbH & Co. KG Display screen or portion thereof with a graphical user interface
USD1008291S1 (en) * 2021-04-30 2023-12-19 Siemens Energy Global GmbH & Co. KG Display screen or portion thereof with a graphical user interface

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH644246B (fr) * 1981-05-15 1900-01-01 Asulab Sa Dispositif d'introduction de mots a commande par la parole.
US4783803A (en) * 1985-11-12 1988-11-08 Dragon Systems, Inc. Speech recognition apparatus and method
US4829576A (en) * 1986-10-21 1989-05-09 Dragon Systems, Inc. Voice recognition system
US5289375A (en) * 1990-01-22 1994-02-22 Sharp Kabushiki Kaisha Translation machine
US5619708A (en) * 1994-10-25 1997-04-08 Korteam International, Inc. System and method for generating database input forms
US5828991A (en) * 1995-06-30 1998-10-27 The Research Foundation Of The State University Of New York Sentence reconstruction using word ambiguity resolution
US5799279A (en) * 1995-11-13 1998-08-25 Dragon Systems, Inc. Continuous speech recognition of text and commands
US5805775A (en) * 1996-02-02 1998-09-08 Digital Equipment Corporation Application user interface
US5812977A (en) * 1996-08-13 1998-09-22 Applied Voice Recognition L.P. Voice control computer interface enabling implementation of common subroutines
US5893063A (en) * 1997-03-10 1999-04-06 International Business Machines Corporation Data processing system and method for dynamically accessing an application using a voice command
US6192343B1 (en) * 1998-12-17 2001-02-20 International Business Machines Corporation Speech command input recognition system for interactive computer display with term weighting means used in interpreting potential commands from relevant speech terms
US6615176B2 (en) * 1999-07-13 2003-09-02 International Business Machines Corporation Speech enabling labeless controls in an existing graphical user interface
US20010043234A1 (en) * 2000-01-03 2001-11-22 Mallik Kotamarti Incorporating non-native user interface mechanisms into a user interface
US7359861B2 (en) * 2002-04-24 2008-04-15 Polyglot Systems, Inc. Inter-language translation device

Also Published As

Publication number Publication date
CN1647023A (zh) 2005-07-27
ATE381055T1 (de) 2007-12-15
WO2003071519A2 (en) 2003-08-28
EP1485790B1 (de) 2007-12-12
EP1485790A2 (de) 2004-12-15
CN1647023B (zh) 2012-06-27
EP1485790A4 (de) 2007-02-28
WO2003071519A3 (en) 2004-03-11
WO2003071519A8 (en) 2005-03-03
AU2003215226A1 (en) 2003-09-09
DE60318021D1 (de) 2008-01-24
DE60318021T2 (de) 2008-11-20
US20030158736A1 (en) 2003-08-21
US6882974B2 (en) 2005-04-19
AU2003215226A8 (en) 2003-09-09

Similar Documents

Publication Publication Date Title
DE60318021T2 (de) Sprachgesteuerte dateneingabe
US7246063B2 (en) Adapting a user interface for voice control
DE60133529T2 (de) Sprachnavigation in Webanwendungen
US7389236B2 (en) Navigation and data entry for open interaction elements
DE102004012839B4 (de) System und Verfahren zur Bereitstellung von Hilfeinformation
US7409344B2 (en) XML based architecture for controlling user interfaces with contextual voice commands
US8788271B2 (en) Controlling user interfaces with contextual voice commands
US8028003B2 (en) System and method for presenting survey data over a network
DE60111481T2 (de) Handhabung benutzerspezifischer Wortschatzteile in Sprachendienstleistungssystemen
EA006280B1 (ru) Сетевой справочно-обучающий модуль
DE102010046439A1 (de) System und Verfahren für relevanzbasiertes Kategorisieren und zeitnahes Lernen von Vokabeln
WO2003054731A2 (de) Verfahren zur rechnergestützten transformation strukturierter dokumente
EP1239460B1 (de) Bereitstellen von Hilfe-Informationen in einem Sprachdialogsystem
US10789053B2 (en) Facilitated user interaction
Simons et al. Building an open language archives community on the OAI foundation
DE102019008981A1 (de) Erleichtertes Auffinden von Verbalbefehlen unter Nutzung multimodaler Schnittstellen
EP2267615A1 (de) Verfahren zur Analyse und Verarbeitung von Suchworteingaben
DE69928022T2 (de) Funktionstaste zur computer-databearbeitung
DE10132591B4 (de) Verfahren zur Unterstützung von Lernvorgängen bei computergestützten Informationssystemen
EP1691274B1 (de) Verfahren und Vorrichtung zum rechnergestützten Erzeugen einer graphischen Benutzeroberfläche auf einem Anzeigemittel
Alsaedi Evaluation Usability of the Saudi Arabian Cultural Mission Student Managment System (SACM-SMS)
DE19914242A1 (de) Computersystem mit sprachanaloger Benutzerschnittstelle

Legal Events

Date Code Title Description
R207 Utility model specification

Effective date: 20080320

R150 Utility model maintained after payment of first maintenance fee after three years

Effective date: 20080214

R151 Utility model maintained after payment of second maintenance fee after six years

Effective date: 20090309

R152 Utility model maintained after payment of third maintenance fee after eight years

Effective date: 20110225

R071 Expiry of right
R071 Expiry of right