DE202017105852U1 - Aufgaben-Initiierung unter Verwendung von langen Sprachbefehlen - Google Patents

Aufgaben-Initiierung unter Verwendung von langen Sprachbefehlen Download PDF

Info

Publication number
DE202017105852U1
DE202017105852U1 DE202017105852.2U DE202017105852U DE202017105852U1 DE 202017105852 U1 DE202017105852 U1 DE 202017105852U1 DE 202017105852 U DE202017105852 U DE 202017105852U DE 202017105852 U1 DE202017105852 U1 DE 202017105852U1
Authority
DE
Germany
Prior art keywords
voice
user
response actions
response
trigger
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.)
Active
Application number
DE202017105852.2U
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE202017105852U1 publication Critical patent/DE202017105852U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/26Speech to text systems
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3608Destination input or retrieval using speech input, e.g. using speech recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • 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/08Speech classification or search
    • G10L2015/088Word spotting
    • 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/223Execution procedure of a spoken command
    • 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/225Feedback of the input speech
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

System, das einen oder mehrere Prozessoren und einen Datenspeicher, der betriebstechnisch mit dem einen oder den mehreren Prozessoren gekoppelt ist, umfasst, wobei der Datenspeicher Anweisungen speichert, die in Reaktion auf das Ausführen der Anweisungen durch den einen oder die mehreren Prozessoren bewirken, dass der eine oder die mehreren Prozessoren ein interaktives Assistenzmodul betreiben, das konfiguriert ist zum:Empfangen eines gegeben Sprachbefehls von einem Anwender;Auswählen aus einer Bibliothek sprachbasierter Trigger, die vorher über eine Population von Anwendern verwendet wurden, eines ausgewählten sprachbasierten Triggers, wobei die Bibliothek eine oder mehrere Zuordnungen zwischen jedem sprachbasierten Trigger und einer oder mehreren Antwortaktionen, die früher in Reaktion auf den sprachbasierten Trigger ausführt wurden, enthält, und wobei das Auswählen wenigstens teilweise auf einem Maß der Ähnlichkeit zwischen dem gegebenen Sprachbefehl und dem ausgewählten sprachbasierten Trigger basiert;Bestimmen einer oder mehrerer Antwortaktionen, die dem ausgewählten sprachbasierten Trigger in der Bibliothek zugeordnet sind;Auswählen einer oder mehrerer aktueller Antwortaktionen, die durch den einen oder die mehreren Prozessoren ausgeführt werden sollen, basierend auf der einen oder den mehreren Antwortaktionen;Ausführen der einen oder mehreren aktuellen Antwortaktionen;Empfangen von dem Anwender einer Rückmeldung, die dem einen oder den mehreren Prozessoren, die die eine oder die mehreren aktuellen Antwortaktionen ausführen, zugeordnet ist; undÄndern einer Stärke einer Zuordnung zwischen dem ausgewählten sprachbasierten Trigger und der einen oder den mehreren Antwortaktionen basierend auf der Rückmeldung.

Description

  • Hintergrund
  • Interaktive Assistenzmodule sind Software-Prozesse, die auf Rechenvorrichtungen wie z. B. Smartphones, Tablets, Fahrzeug-Navigationssystemen, eigenständigen sprachaktivierten Einrichtungen und Smartwatches installiert sind, um anwenderfreundliche Schnittstellen bereitzustellen, damit Anwender Befehle in natürlicher Sprache ausgeben und/oder sich am Dialog mit dem interaktiven Assistenzmodul, Gesten, Gesichtsausdrücken usw. beteiligen können. Anwender geben häufig Befehle in natürlicher Sprache unter Verwendung ihrer Stimme aus, aber interaktive Assistenzmodule können auch auf andere Modalitäten reagieren, wie z. B. verschiedene Formen von Texteingaben. Grammatiken, die durch existierende interaktive Assistenzmodule eingesetzt werden, neigen dazu, in Herangehensweisen mit sogenannter „präskriptiver Linguistik“ entwickelt zu werden, die sich damit beschäftigen, wie eine Sprache verwendet werden sollte, anstatt damit, wie sie tatsächlich verwendet wird. Infolgedessen stellen existierende Grammatiken nur eingeschränkte Flexibilität zum Ausgeben sprachbasierter Befehle für Anwender bereit. Falls die Stimme eines Anwenders zu weit von existierenden Grammatiken abweicht - z. B. weil der Anwender einen sogenannten „langen“ Sprachbefehl ausgibt - wird der Sprachbefehl möglicherweise nicht erkannt. Es kann möglich sein, Zuordnungen zwischen beliebigen sprachbasierten Triggern (d. h. sprachbasierten Triggern) und Antwortaktionen zu erzeugen, das kann jedoch erfordern, dass Anwender solche Zuordnungen manuell erzeugen, z. B. unter Verwendung einer grafischen Anwenderschnittstelle oder durch Teilnehmen an einem extensiven Dialog mit dem interaktiven Assistenzmodul. Kleine Abweichungen zwischen einem ausgegebenen Sprachbefehl und einem sprachbasierten Trigger können jedoch dazu führen, dass der sprachbasierte Trigger nicht erkannt wird.
  • Zusammenfassung
  • Zu schützen durch das Gebrauchsmuster und Gegenstand des Gebrauchsmusters sind in Übereinstimmung mit den Anforderungen des Gebrauchsmustergesetzes nur Einrichtungen, wie sie in den beigefügten Ansprüchen definiert sind, jedoch keine Verfahren. In dem Fall, in dem die Beschreibung sich auf Verfahren bezieht, dienen diese Bezugnahmen lediglich dazu, die Einrichtung oder Einrichtungen zu veranschaulichen, für die Schutz mit den beigefügten Ansprüchen gesucht wird. Diese Spezifikation richtet sich allgemein auf verschiedene Techniken zum Unterstützen von Zuordnungen zwischen existierenden sprachbasierten Triggern und Antwortaktionen, die über eine Population von Anwendern verwendet werden, um automatisch zu bestimmen, welche Antwortaktion(en) in Reaktion auf einen gegebenen Sprachbefehl (z. B. einen langen Sprachbefehl), der an einer Clientvorrichtung von einem Anwender empfangen wird, durchgeführt werden sollen. In verschiedenen Implementierungen kann ein Sprachbefehl eines Anwenders an einer Audio-Eingabevorrichtung (z. B. einem Mikrofon) in einer Clientvorrichtung wie z. B. einem Smartphone, einer Smartwatch, einem Fahrzeug-Berechnungssystem (z. B. Navigationssystem, Fahrzeug-Mediensteuersystem usw.) empfangen werden. In einigen Implementierungen kann der gegebene Sprachbefehl in Text umgesetzt werden, der ein oder mehrere Token umfasst, z. B. unter Verwendung verschiedener Verarbeitungstechniken für natürliche Sprache. Für die Zwecke dieser Offenbarung wird diese Umsetzung jedoch nicht im Einzelnen diskutiert.
  • In verschiedenen Implementierungen kann eine sogenannte „Bibliothek beschreibender Linguistik“ sprachbasierter Trigger, die vorher durch einen oder mehrere andere Anwender verwendet wurden, nach einem sprachbasierten Trigger durchsucht werden, der der gegebenen Spracheingabe (syntaktisch und/oder semantisch) ähnlich ist. Wie hier und an anderer Stelle verwendet bezieht sich „beschreibende Linguistik“ auf das Studium der Grammatik, Klassifizierung und Anordnung der Merkmale einer Sprache, wie die Sprache tatsächlich zu einer gegebenen Zeit verwendet wird, im Gegensatz zur „präskriptiven Linguistik“, die sich darauf bezieht, wie eine Sprache verwendet werden sollte. Somit kann die Bibliothek beschreibender Linguistik in Wirklichkeit eine oder mehrere Grammatiken definieren, die sich mit der Sprache entwickeln, um umgangssprachliche Ausdrücke, Slang und/oder verschiedene Dialekte zu handhaben, die ansonsten nicht durch eine unter Verwendung von Herangehensweisen mit präskriptiver Linguistik erzeugte Grammatik erfasst würden.
  • In verschiedenen Implementierungen kann die Bibliothek beschreibender Linguistik eine oder mehrere Zuordnungen zwischen jedem sprachbasierten Trigger und einer oder mehrerer Antwortaktionen, die in Reaktion auf den sprachbasierten Trigger ausführbar sind, enthalten. Beispielsweise können ein oder mehrere frühere Anwender eine Zuordnung zwischen einem sprachbasierten Trigger wie z. B. „zurück zu den Minen“ und eine Antwortaktion wie z. B. Starten einer Navigations-App, um die schnellste Route (z. B. den geringsten Verkehr, die kürzeste Distanz usw.) zu dem Büro des Anwenders zu finden, erzeugt haben. In verschiedenen Implementierungen können diese Zuordnungen zwischen existierenden sprachbasierten Triggern und Antwortaktionen Stärken oder Gewichte aufweisen, die unter anderem auf der Anzahl von Anwendern, die solche Zuordnungen erzeugt und/oder genutzt haben, basieren. Somit kann beispielsweise ein einzelner sprachbasierter Trigger wie z. B. „Ich brauche einen Muntermacher“ mehreren Antwortaktionen zugeordnet sein, wie z. B. Streamen inspirierender Musik, Sprechen (durch ein interaktives Assistenzmodul) eines Witzes des Tages, Finden des nächstgelegenen Cafes und so weiter. Jede dieser Zuordnungen kann eine Stärke aufweisen, die beispielsweise auf einer Anzahl der Fälle, in der denen die Phrase verwendet wurde, um die jeweiligen Antwortaktionen zu triggern, einem prozentualen Anteil der Fälle, in denen der sprachbasierte Trigger verwendet wurde, um eine spezielle Antwortaktion im Vergleich zu einer weiteren zu triggern, und so weiter basiert.
  • Basierend auf dem gegebenen Sprachbefehl, der von dem Anwender empfangen wurde (und möglicherweise anderen nachstehend beschriebenen Signalen) kann ein sprachbasierter Trigger aus der Bibliothek beschreibender Linguistik ausgewählt werden. In einigen Implementierungen kann diese Auswahl auf einem semantischen und/oder syntaktischen Ähnlichkeitsmaß basieren, das basierend auf dem gegebenen Sprachbefehl und dem ausgewählten sprachbasierten Trigger berechnet wird. Dann können eine oder mehrere aktuelle Antwortaktionen, die dem ausgewählten sprachbasierten Trigger zugeordnet sind, durch die Clientvorrichtung des Anwenders ausgewählt und ausgeführt werden. Die Auswahl des sprachbasierten Triggers basierend auf dem Ähnlichkeitsmaß kann es einem Berechnungssystem ermöglichen, Anwenderbefehle, die andernfalls nicht erkannt worden wären, zu erkennen und darauf zu reagieren. Der Auswahlprozess kann somit vermeiden, dass das System Berechnungsbetriebsmittel verwenden muss, um Klärung der Bedeutung eines initialen Sprachbefehls zu erfragen, und verkürzt dadurch auch die Gesamtreaktionszeit. Die eingesparten Berechnungsbetriebsmittel können Verarbeitungsbetriebsmittel, die der vermiedenen Klärungsanforderung zugeordnet sind, und/oder Netzverkehr enthalten, der beispielsweise dem Kommunizieren einer solchen Klärungsanforderung zwischen unterschiedlichen Berechnungseinrichtungen auf einem Netz wie z. B. einer Clientvorrichtung, in der Sprachbefehle von einem Anwender empfangen werden, und einem Netz-Server, an dem geeignete Reaktionen auf die Befehle ausgewählt werden, zugeordnet ist.
  • In einigen Implementierungen kann/können auf der Clientvorrichtung des Anwenders genau die gleiche(n) Anwendung(en) installiert sein (oder sogar eine andere Version der gleichen Anwendung), wie sie auf einer weiteren Clientvorrichtung verwendet wurde(n), um Antwortaktionen, die dem ausgewählten sprachbasierten Trigger zugeordnet sind, auszuführen. In einem solchen Fall kann/können die gleiche(n) Anwendung(en) gestartet werden, um die Antwortaktion(en) auszuführen. In anderen Implementierungen kann/können jedoch auf der Clientvorrichtung des Anwenders nicht genau die gleiche(n) Anwendung(en)n installiert sein. In einem solchen Szenario kann die Clientvorrichtung mehrere Anwendungen analysieren, die auf der Clientvorrichtung installiert sind, um eine oder mehrere „analoge“ Anwendungen zu identifizieren, um die Antwortaktion(en) auszuführen. „Analoge“ Anwendungen können Anwendungen sein, die die gleiche oder eine ähnliche Funktionalität ausführen, jedoch durch unterschiedliche Entwickler veröffentlicht sein können, usw. Beispielsweise können unterschiedliche Kartenanwendungen Echtzeit-Navigation bereitstellen. Unterschiedliche E-Mail-Anwendungen können es dem Anwender ermöglichen, E-Mails zu lesen, zu senden und zu empfangen. Unterschiedliche Anwender können unterschiedliche Kalenderanwendungen (lokal oder Internet-basiert) verwenden. Unterschiedliche Medienanwendungen können lokal gespeicherte und/oder aus Internet-Quellen gestreamte Musik und/oder Videos abspielen. Und so weiter.
  • Ähnlich können in einigen Implementierungen ein oder mehrere Begriffe/Token in einem ausgegebenen Sprachbefehl nicht exakt für einen speziellen Anwender und/oder Kontext anwendbar sein. In solchen Fällen können „analoge“ Begriffe bestimmt werden, z. B. durch das Parsermodul 68, die direkter anwendbar sind. Beispielsweise ist angenommen, dass sich die Clientvorrichtung, in der der Sprachbefehl ausgegeben wird, in einem anderen geographischen Gebiet befindet als es die Clientvorrichtungen waren, an denen die existierenden sprachbasierten Trigger vorher verwendet wurden. In einem solchen Szenario können ein oder mehrere Begriffe eines sprachbasierten Befehls, die an der Clientvorrichtung ausgegeben werden, auf andere, „analoge“ Begriffe/Token abgebildet/abgestimmt werden, als in Reaktion auf existierende sprachbasierte Trigger zurückgegeben wurden. Es ist angenommen, dass ein Anwender sagt „Ich könnte eigentlich Waffeln essen gehen“. Falls sich der Anwender in einem Gebiet eines Landes befindet, ist es wahrscheinlicher, dass der Anwender diesen Befehl mit einer speziellen Grammatik spricht (die z. B. dem speziellen Gebiet zugeordnet ist), als wie es der Fall wäre für Anwender, die sich in anderen Gebieten des Landes befinden. Der empfangene Befehl kann auf andere ähnliche Befehle abgebildet werden, die mit unterschiedlichen regionalen oder landesspezifischen Grammatiken ausgesprochen werden, so dass die Antwortaktionen, die diesen anderen ähnlichen Befehlen zugeordnet sind, benutzt werden können, um die am besten geeignete Antwortaktion für den empfangenen Befehl auszuwählen. Zusätzlich oder als eine Alternative für dieses Szenario kann es sein, dass in dem ersten Gebiet des Landes eine erste Waffel-Restaurantkette vorherrschend sein kann und deshalb als ein Parameter für die ausgegebene Anforderung verwendet werden und/oder in Reaktion darauf zurückgegeben werden kann. Falls sich jedoch der Anwender in einem anderen Gebiet des Landes befindet, in dem eine zweite Waffel-Restaurantkette vorherrschend ist, dann kann stattdessen die zweite Waffel-Restaurantkette verwendet werden. Ähnliche Techniken können für Zeiten (z. B. Anwender in unterschiedlichen Zeitzonen), Menschen, Aktivitäten und so weiter eingesetzt werden. Beispielsweise kann sich ein/e spezielle/r Begriff und/oder Phrase auf eine erste Aktivität in einem Gebiet und eine zweite Aktivität in einem anderen Gebiet beziehen. Es ist wird angenommen, dass ein Anwender zu seiner oder ihrer sprachaktivierten eigenständigen Vorrichtung sagt „Ich möchte Fußball sehen“. In den Vereinigten Staaten kann der Begriff „Fußball“, z. B. durch das Parsermodul 68, abgeglichen werden mit sprachbasierten Triggern, die dem „American Football“ zugeordnet sind. Falls jedoch dieser Befehl anderswo in der Welt ausgegeben wird, kann der Begriff „Fußball“ auf sprachbasierte Trigger abgestimmt werden, die dem Sport zugeordnet sind, der in den Vereinigten Staaten als „Soccer“ bezeichnet wird, anderswo jedoch als „Fußball“ bezeichnet wird.
  • In verschiedenen Implementierungen kann die Rückmeldung, die der Clientvorrichtung, die die eine oder die mehreren aktuellen Antwortaktionen ausführt, zugeordnet ist, durch einen Anwender bereitgestellt werden. Diese Rückmeldung kann verwendet werden, um Zuordnungen zwischen existierenden sprachbasierten Triggern und Antwortaktion(en) lokal in der Clientvorrichtung des Anwenders und/oder in der Bibliothek beschreibender Linguistik zu stärken und/oder zu schwächen. Auf diese Weise kann das System mit der Zeit „lernen“, welche umgangssprachlichen Ausdrücke, Dialekte und/oder Slang-Begriffe/Phrasen durch unterschiedliche Anwender in unterschiedlichen Gebieten verwendet werden, um verschiedene Antwortaktionen zu triggern. Je mehr das System lernt, desto robuster wird seine Grammatik und desto besser kann das System ausgerüstet sein, um auf einen langen Sprachbefehl eines speziellen Anwenders zu reagieren, um eine Antwortaktion zu initiieren, und dadurch die vorstehend genannte Berechnungs- und Netzeffizienz bereitzustellen.
  • Es ist angenommen, dass der Anwender sagt „Ich brauche einen Muntermacher“. Basierend auf früheren Antwortaktionen, die in Reaktion auf einen am besten passenden sprachbasierten Trigger der Bibliothek beschreibender Linguistik ausgeführt wird, kann die Clientvorrichtung eines Anwenders eine Musikabspielanwendung zu einer Streaming-Station für Musik öffnen, die inspirierende und/oder leichte Musik spielt. Der Anwender kann jedoch eine negative Rückmeldung geben, entweder durch Schließen der Musikabspielanwendung oder durch explizites Bereitstellen von negativer Rückmeldung (z. B. in Reaktion auf eine Aufforderung wie z. B. „Ist es das, was du wolltest, als du sagtest, du bräuchtest einen Muntermacher?“). Basierend auf einer solchen Rückmeldung kann die Zuordnung zwischen dem ausgewählten sprachbasierten Trigger und der/den Antwortaktion(en) geschwächt werden. Das kann lokal auf der Clientvorrichtung und/oder entfernt z. B. in der Bibliothek beschreibender Linguistik stattfinden. In einigen Implementierungen kann, welche alternative Antwortaktion(en) auch immer der Anwender stattdessen initiiert (z. B. Finden der Wegbeschreibung zu dem nächsten Cafe), verwendet werden, um eine neue Zuordnung zwischen dem sprachbasierten Trigger „Ich brauche einen Muntermacher“ und der/den alternativ(en) Antwortaktion(en) zu erzeugen (oder um eine existierende Zuordnung zu verstärken).
  • In einigen Implementierungen können andere Signale zusätzlich zu dem und/oder anstelle des semantischen/syntaktischen Ähnlichkeitsmaßes verwendet werden, um einen gegebenen Sprachbefehl, der durch eine Person verwendet wird, mit einem oder mehreren sprachbasierten Triggern und/oder Antwortaktionen abzugleichen. In einigen Implementierungen können ein oder mehrere Attribute des Anwenders und/oder einer Clientvorrichtung, die durch den Anwender betrieben wird (z. B. der „Kontext“ des Anwenders) berücksichtigt werden. Beispielsweise können mehrere Zuordnungen in der Bibliothek beschreibender Linguistik zwischen der Phrase „Wirf die Luft an“ und verschiedenen Antwortaktionen vorhanden sein. Es können jedoch ein oder mehrere Signale aus einer Clientvorrichtung eines Anwenders verwendet werden, um zwischen den verschiedenen Zuordnungen Eindeutigkeit herzustellen. Es ist angenommen, dass ein oder mehrere Sensoren eines Smartphone eines Anwenders detektieren, dass der Anwender in einem Fahrzeug fährt oder ob der Anwender den Befehl zu einem interaktiven Assistenzmodul ausgibt, das auf einem Fahrzeugcomputersystem arbeitet. In einem solchen Szenario kann der sprachbasierte Trigger „Wirf die Luft an“ auf Antwortaktionen wie z. B. Aufdrehen der Klimaanlage des Fahrzeugs abgeglichen werden. Im Gegensatz dazu kann, falls einer oder mehrere Sensoren des Smartphone des Anwenders detektieren, dass der Anwender zu Hause ist, kann der sprachbasierte Trigger „Wirf die Luft an“ auf Antwortaktionen wie z. B. Einstellen eines intelligenten Thermostats im Haus des Anwenders, um die Klimaanlage des Hauses aufzudrehen, abgeglichen werden. Es ist aus diesen Beispielen zu erkennen, dass hier beschriebene Techniken zusätzliche technische Effekte in (z. B. Klimaanlagen-) Ausrüstungen wie z. B. in dem Fahrzeug oder in dem Haus bereitstellen können, die sich außerhalb des Berechnungssystems/Netzes, auf dem die Techniken implementiert werden, befinden.
  • Deshalb kann in einigen Implementierungen ein Verfahren enthalten: Empfangen an einer Clientvorrichtung eines gegebenen Sprachbefehls von einem Anwender; Auswählen aus einer Bibliothek sprachbasierter Trigger, die vorher über eine Population von Anwendern verwendet wurden, eines ausgewählten sprachbasierten Triggers, wobei die Bibliothek eine oder mehrere Zuordnungen zwischen jedem sprachbasierten Trigger und einer oder mehreren Antwortaktionen, die früher in Reaktion auf den sprachbasierten Trigger ausführt wurden, enthält, und wobei das Auswählen wenigstens teilweise auf einem Maß der Ähnlichkeit zwischen dem gegebenen Sprachbefehl und dem ausgewählten sprachbasierten Trigger basiert; Bestimmen einer oder mehrerer Antwortaktionen, die dem ausgewählten sprachbasierten Trigger in der Bibliothek zugeordnet sind; Auswählen durch die Clientvorrichtung einer oder mehrerer aktueller Antwortaktionen, die durch die Clientvorrichtung basierend auf der einen oder den mehreren Antwortaktionen ausgeführt werden sollen; Ausführen durch die Clientvorrichtung der einen oder mehreren aktuellen Antwortaktionen; Empfangen durch die Clientvorrichtung von dem Anwender einer Rückmeldung, die der Clientvorrichtung, die die eine oder mehreren aktuellen Antwortaktionen ausführt, zugeordnet ist; und Ändern einer Stärke einer Zuordnung zwischen dem ausgewählten sprachbasierten Trigger und der einen oder den mehreren Antwortaktionen basierend auf der Rückmeldung.
  • In verschiedenen Implementierungen können die eine oder die mehreren aktuellen Antwortaktionen die gleichen sein wie die eine oder die mehreren Antwortaktionen. In verschiedenen Implementierungen können die eine oder die mehreren aktuellen Antwortaktionen zu der einen oder den mehreren Antwortaktionen analog sein. In verschiedenen Implementierungen enthält der ausgewählte sprachbasierte Trigger einen oder mehrere Begriffe oder Token, die zu einem oder mehreren Begriffen oder Token in dem gegebenen Sprachbefehl analog sind. In verschiedenen Implementierungen kann das Verfahren ferner Analysieren von mehreren Anwendungen, die auf der Clientvorrichtung installiert sind, um eine oder mehrere Anwendungen zu identifizieren, um die eine oder die mehreren aktuellen Antwortaktionen auszuführen, enthalten.
  • In verschiedenen Implementierungen kann das Ändern Schwächen der Zuordnung zwischen dem ausgewählten sprachbasierten Trigger und der einen oder den mehreren Antwortaktionen basierend auf der Rückmeldung enthalten. In verschiedenen Implementierungen kann das Ändern Stärken der Zuordnung zwischen dem ausgewählten sprachbasierten Trigger und der einen oder den mehreren Antwortaktionen basierend auf der Rückmeldung enthalten.
  • In verschiedenen Implementierungen kann das Maß der Ähnlichkeit ein Maß der syntaktischen Ähnlichkeit sein. In verschiedenen Implementierungen kann das Maß der Ähnlichkeit ein Maß der semantischen Ähnlichkeit sein. In verschiedenen Implementierungen kann der ausgewählte sprachbasierte Trigger ferner basierend auf einem Kontext des Anwenders, der unter Verwendung eines oder mehrerer Sensoren der Clientvorrichtung detektiert wird, aus der Bibliothek sprachbasierter Trigger ausgewählt werden.
  • In verschiedenen Implementierungen kann das Bestimmen der einen oder mehreren Antwortaktionen, die dem ausgewählten sprachbasierten Trigger in der Bibliothek zugeordnet sind, Auswählen wenigstens einer Antwortaktion aus mehreren Kandidaten-Antwortaktionen, die dem ausgewählten sprachbasierten Trigger in der Bibliothek zugeordnet sind, enthalten. In verschiedenen Implementierungen kann die wenigstens eine Antwortaktion basierend auf einem Kontext des Anwenders, der unter Verwendung eines oder mehrerer Sensoren der Clientvorrichtung detektiert wird, ausgewählt werden.
  • In verschiedenen Implementierungen kann der gegebene Sprachbefehl nicht wenigstens einen Parameter, der für die eine oder die mehreren aktuellen Antwortaktionen erforderlich ist, spezifizieren, und das Verfahren enthält ferner Identifizieren basierend auf einem Kontext des Anwenders, der durch einen oder mehrere Sensoren der Clientvorrichtung detektiert wird, eines Werts, der als der wenigstens eine Parameter verwendet werden soll. In verschiedenen Implementierungen kann der gegebene Sprachbefehl nicht wenigstens einen Parameter, der für die eine oder die mehreren aktuellen Antwortaktionen erforderlich ist, spezifizieren, und das Verfahren enthält ferner Identifizieren basierend auf einer persönlichen Bibliothek, die dem Anwender zugeordnet ist, eines Werts, der als der wenigstens eine Parameter verwendet werden soll.
  • In einem weiteren Aspekt kann das Verfahren enthalten: Empfangen von einer Population von Anwendern mehrerer sprachbasierter Trigger und aktueller Antwortaktionen, die in Clientvorrichtungen ausgeführt werden, die durch Anwender aus der Population von Anwendern in Reaktion auf die sprachbasierten Trigger ausgeführt werden; Speichern von Zuordnungen zwischen den sprachbasierten Triggern und den Antwortaktionen in einer Bibliothek, wobei die Zuordnungen durch eine Population von Anwendern bestätigt werden; Empfangen eines neuen Sprachbefehls, der durch einen gegebenen Anwender an einer gegebenen Clientvorrichtung bereitgestellt wird; Auswählen aus der Bibliothek sprachbasierter Trigger eines ausgewählten sprachbasierten Triggers, wobei das Auswählen wenigstens teilweise auf einem Maß der Ähnlichkeit zwischen dem neuen Sprachbefehl und dem ausgewählten sprachbasierten Trigger basiert; Bestimmen einer oder mehrerer Antwortaktionen, die dem ausgewählten sprachbasierten Trigger in der Bibliothek zugeordnet sind; Auswählen einer oder mehrerer aktueller Antwortaktionen, die durch die Clientvorrichtung ausgeführt werden sollen, basierend auf der einen oder den mehreren Antwortaktionen; Empfangen durch die Clientvorrichtung von dem Anwender einer Rückmeldung, die der gegebenen Clientvorrichtung zugeordnet ist, die die eine oder mehreren aktuellen Antwortaktionen ausführt; und Ändern einer Stärke einer Zuordnung zwischen dem ausgewählten sprachbasierten Trigger und der einen oder den mehreren Antwortaktionen basierend auf der Rückmeldung.
  • Zusätzlich enthalten einige Implementierungen eine Einrichtung, die einen Datenspeicher und einen oder mehrere Prozessoren, die arbeiten, um in dem Datenspeicher gespeicherte Anweisungen durchzuführen, enthält, wobei die Anweisungen konfiguriert sind, irgendeines aus den vorstehend genannten Verfahren auszuführen. Einige Implementierungen enthalten außerdem ein nichttransitorisches computerlesbares Speichermedium, das Computeranweisungen speichert, die durch einen oder mehrere Prozessoren ausführbar sind, um irgendeines aus den vorstehend genannten Verfahren auszuführen.
  • Es wird darauf hingewiesen, dass alle Kombinationen des vorstehenden Konzepts und zusätzlicher Konzepte, die hier genauer beschrieben sind, als Teil des hier offenbarten Gegenstands betrachtet sind. Beispielsweise sind alle Kombinationen des beanspruchten Gegenstands, der an Ende dieser Offenbarung erscheint, als Teil des hier offenbarten Gegenstands betrachtet.
  • Figurenliste
    • 1 stellt eine Beispielarchitektur eines Computersystems dar.
    • 2 ist ein Blockdiagramm einer beispielhaften verteilten Spracheingabeverarbeitungsumgebung.
    • 3 ist ein Ablaufplan, der ein Beispielverfahren zum Verarbeiten einer Spracheingabe unter Verwendung der Umgebung von 2 darstellt.
    • 4 stellt ein Beispiel dafür da, wie hier beschriebene Techniken in einem speziellen Szenario implementiert sein können.
    • 5 ist ein Ablaufplan, der ein Beispielverfahren zum Praktizieren hier beschriebener Techniken darstellt.
  • Ausführliche Beschreibung
  • Nun zu den Zeichnungen, wobei gleiche Bezugszeichen gleiche Teile durchgehend für die mehreren Ansichten bezeichnen, ist 1 ein Blockdiagramm aus elektronischen Komponenten in einem beispielhaften Computersystem 10. Das System 10 enthält typischerweise wenigstens einen Prozessor 12, der mit einer Anzahl peripherer Vorrichtungen über das Busteilsystem 14 kommuniziert. Die peripheren Vorrichtungen können ein Speicherteilsystem 16, das beispielsweise ein Datenspeicherteilsystem 18 und ein Dateispeicherteilsystem 20 enthält, Anwenderschnittstelleneingabevorrichtungen 22, Anwenderschnittstellenausgabevorrichtungen 24 und ein Netzschnittstellenteilsystem 16 enthalten. Die Eingabe- und Ausgabevorrichtungen ermöglichen Anwenderinteraktion mit dem System 10. Das Netzschnittstellenteilsystem 26 stellt eine Schnittstelle zu äußeren Netzen bereit und ist mit entsprechenden Schnittstellenvorrichtungen in anderen Computersystemen gekoppelt.
  • In einigen Implementierungen können die Anwenderschnittstelleneingabevorrichtungen 22 eine Tastatur, Zeigevorrichtungen wie z. B. eine Maus, einen Trackball, ein Touchpad oder Grafiktablet, einen Scanner, einen in die Anzeigevorrichtung integrierten berührungssensitiven Bildschirm, Audio-Eingabevorrichtungen wie z. B. ein Spracherkennungssystem, Mikrofone und/oder andere Typen von Eingabevorrichtungen enthalten. Im Allgemeinen soll der Gebrauch des Begriffs „Eingabevorrichtung“ alle möglichen Typen von Vorrichtungen und Arten enthalten, um Informationen in das Computersystem 10 oder auf ein Kommunikationsnetz einzugeben.
  • Die Anwenderschnittstellenausgabevorrichtungen 24 können ein Anzeigeteilsystem, einen Drucker, ein Faxgerät oder nicht-visuelle Anzeigevorrichtungen wie z. B. eine Audio-Ausgabevorrichtung enthalten. Das Anzeigeteilsystem kann eine Kathodenstrahlröhre (CRT), eine Flachbildschirmvorrichtung wie z. B. eine Flüssigkristallanzeigevorrichtung (LCD), eine Projektionsvorrichtung oder einen anderen Mechanismus zum Erzeugen eines sichtbaren Bilds enthalten. Das Anzeigeteilsystem kann außerdem eine nicht-visuelle Anzeige wie z. B. über Audio-Ausgabevorrichtungen bereitstellen. Im Allgemeinen soll der Gebrauch des Begriffs „Ausgabevorrichtung“ alle möglichen Typen von Vorrichtungen und Arten enthalten, um Informationen aus dem Computersystem 10 für den Anwender oder ein/e weitere/s Maschine oder Computersystem auszugeben.
  • Das Speicherteilsystem 16 speichert Programme und Datenkonstrukte, die die Funktionalität einiger der oder aller hier beschriebener Module bereitstellen. Beispielsweise kann das Speicherteilsystem 16 die Logik enthalten, um ausgewählte Aspekte der hier nachstehend offenbarten Verfahren auszuführen.
  • Diese Software-Module werden allgemein durch den Prozessor 12 allein oder in Kombination mit anderen Prozessoren ausgeführt. Das Datenspeicherteilsystem 18, das in dem Speicherteilsystem 16 verwendet ist, kann eine Anzahl von Datenspeichern enthalten, die einen Haupt-Direktzugriffsspeicher (Haupt-RAM) 28 zum Speichern von Anweisungen und Daten während der Programmausführung und einen Festwertspeicher (ROM) 30, in dem feste Anweisungen gespeichert sind, enthalten. Ein Dateispeicherteilsystem 20 kann persistenten Speicher für Programm- und Datendateien bereitstellen und kann ein Festplattenlaufwerk, ein Diskettenlaufwerk zusammen mit zugeordneten herausnehmbaren Medien, ein CD-ROM-Laufwerk, ein optisches Laufwerk oder herausnehmbare Medienkassetten enthalten. Die Module, die die Funktionalität spezieller Implementierungen implementieren, können durch das Dateispeicherteilsystem 20 in dem Speicherteilsystem 16 oder in anderen Maschinen, die durch den/die Prozessoren) 12 zugreifbar sind, gespeichert sein.
  • Das Busteilsystem 14 stellt einen Mechanismus bereit zum Ermöglichen, dass die verschiedenen Komponenten und Teilsysteme des Systems 10 bei Bedarf miteinander kommunizieren. Obwohl das Busteilsystem 14 schematisch als ein einzelner Bus gezeigt ist, können alternative Implementierungen des Busteilsystems mehrere Busse verwenden.
  • Das System 10 kann von verschiedenen Typen sein, die mobile Vorrichtungen, eine tragbare elektronische Vorrichtung, eine eingebettete Vorrichtung, ein Desktop-Computer, ein Laptop-Computer, ein Tablet-Computer, eine „wearable“ Vorrichtung, eine Workstation, ein Server, ein Berechnungs-Cluster, ein Blade-Server, eine Server-Farm oder irgendein/e andere/s Verarbeitungssystem oder Berechnungsvorrichtung enthalten. Zusätzlich kann die durch das System 10 implementierte Funktionalität unter mehreren Systemen verteilt sein, die miteinander über ein oder mehrere Netze zusammengeschaltet sind, z. B. in einer Client-Server-, Peer-to-Peer- oder anderen Vernetzungsanordnung. Aufgrund der sich ständig ändernden Beschaffenheit von Computern und Netzen ist die Beschreibung des in 1 abgebildeten Systems 10 nur als ein spezifisches Beispiel zum Zweck der Erläuterung einiger Implementierungen vorgesehen. Viele andere Konfigurationen des Systems 10, die weniger oder mehr Komponenten als das in 1 abgebildete Computersystem aufweisen, sind möglich.
  • Hier nachstehend diskutierte Implementierungen können ein oder mehrere Verfahren enthalten, die verschiedene Kombinationen der hier offenbarten Funktionalität implementieren. Andere Implementierungen können ein nichttransitorisches computerlesbares Speichermedium enthalten, das Anweisungen speichert, die durch einen Prozessor ausführbar sind, um ein Verfahren wie z. B. eines oder mehrere aus den hier beschriebenen Verfahren auszuführen. Noch andere Implementierungen können eine Einrichtung enthalten, die einen Datenspeicher und einen oder mehrere Prozessoren enthält, die arbeiten, um in dem Datenspeicher gespeicherte Anweisungen auszuführen, um ein Verfahren wie z. B. eines oder mehrere aus den hier beschriebenen Verfahren auszuführen.
  • Verschiedener Programmcode, der hier nachstehend beschrieben ist, kann basierend auf der Anwendung, innerhalb der er in einer spezifischen Implementierung implementiert ist, identifiziert werden. Es wird jedoch darauf hingewiesen, dass irgendeine spezielle Programm-Terminologie, die folgt, lediglich zur Vereinfachung verwendet ist. Darüber hinaus wird angesichts sowohl der unendlichen Zahl von Arten, in denen Computerprogramme in Routinen, Prozeduren, Verfahren, Module, Objekte und dergleichen organisiert sein können, als auch der verschiedenen Arten, in denen eine Programmfunktionalität unter verschiedenen Software-Schichten, die innerhalb eines typischen Computers resident sind (z. B. Betriebssysteme, Bibliotheken, APIs, Anwendungen, Applets usw.), zugewiesen sein können, darauf hingewiesen, dass einige Implementierungen nicht auf die spezifische Organisation und Zuweisung der hier beschriebenen Programmfunktionalität beschränkt sein können.
  • Darüber hinaus wird darauf hingewiesen, dass die verschiedenen hier beschriebenen Operationen, die durch irgendeinen Programmcode ausgeführt werden können oder in irgendwelchen Routinen, Abläufen oder dergleichen ausgeführt werden können, kombiniert, aufgeteilt, umgeordnet, weggelassen, der Reihe nach oder parallel ausgeführt und/oder durch andere Techniken ergänzt sein können, und dass deshalb einige Implementierungen nicht auf die speziellen Folgen von Operationen, die hier beschrieben sind, beschränkt sind.
  • 2 stellt eine beispielhafte verteilte Spracheingabeverarbeitungsumgebung 50 dar, z. B. zum Gebrauch mit einer sprachgestützten Vorrichtung 52 in Kommunikation mit einem Internet-basierten Dienst wie z. B. einen Internetgestützten Semantikprozessor 54. In den hier nachstehend diskutierten Implementierungen ist beispielsweise die sprachgestützte Vorrichtung 52 als eine mobile Vorrichtung wie z. B. ein Mobiltelefon oder ein Tablet-Computer beschrieben. Andere Implementierungen können jedoch eine große Vielzahl anderer sprachgestützter Vorrichtungen verwenden, und somit dienen die nachstehenden Referenzen auf mobile Vorrichtungen lediglich dem Zweck der Vereinfachung der nachstehenden Diskussion. Unzählige andere Typen sprachgestützter Vorrichtungen können die hier beschriebene Funktionalität verwenden, die beispielsweise Laptop-Computer, Uhren, „Head-mounted“ Vorrichtungen, Vorrichtungen für virtuelle oder erweiterte Realität, andere „wearable“ Vorrichtungen, Audio/Video-Systeme, Navigationssysteme, Automobil- und andere Fahrzeugsysteme, eigenständige sprachaktivierte Vorrichtungen usw. enthalten. Außerdem können viele solche sprachgestützten Vorrichtungen insoweit so betrachtet werden, dass sie über begrenzte Betriebsmittel verfügen, als der Datenspeicher und/oder Verarbeitungskapazitäten solcher Vorrichtungen basierend auf technologischen oder anderen Gründen beschränkt sein können, insbesondere im Vergleich zu den Kapazitäten Internet-basierter oder Cloud-basierter Dienste, die einzelnen Aufgaben praktisch unbegrenzte Berechnungsbetriebsmittel widmen können. Einige solche Vorrichtungen können auch so betrachtet werden, dass sie Offline-Vorrichtungen sind in dem Umfang, dass solche Vorrichtungen fähig sein können, „offline“ und nicht mit einem Internet-basierten Dienst verbunden für wenigstens einen Teil der Zeit zu arbeiten, z. B. basierend auf einer Erwartung, dass solche Vorrichtungen bei gewöhnlicher Nutzung von Zeit zu Zeit temporäre Netzkonnektivitätsunterbrechungen erfahren können.
  • Der Semantikprozessor 54 kann in einigen Implementierungen als ein Cloud-basierter Dienst implementiert sein, der eine Cloud-Infrastruktur einsetzt, z. B. unter Verwendung einer Server-Farm oder eines Clusters von Hochleistungscomputern, auf denen Software läuft, die zum Handhaben großer Volumina von Anforderungen von mehreren Anwendern geeignet ist. Der Semantikprozessor 54 kann nicht auf sprachbasierte Anforderungen beschränkt sein und kann auch zum Handhaben anderer Typen von Anforderungen, z. B. textbasierter Anforderungen, bildbasierter Anforderungen usw. fähig sein. In einigen Implementierungen kann der Semantikprozessor 54 sprachbasierte Anforderungen wie z. B. Einstellen von Alarmen oder Erinnerungen, Managen von Listen, Initiieren von Kommunikation mit anderen Anwendern über Telefon, Text, E-Mail usw. oder Ausführen anderer Aktionen, die über Spracheingabe initiiert sein können, handhaben. Für die Zwecke dieser Offenbarung können sprachbasierte Anforderungen und andere Formen von Spracheingaben gemeinsam als Sprachbefehle bezeichnet sein, unabhängig davon, ob die Sprachbefehle eine Suche initiieren, eine Frage stellen, einen Befehl ausgeben möchten usw. Im Allgemeinen kann deshalb irgendeine Spracheingabe, die z. B. ein oder mehrere Worte oder Phrasen enthält, als ein Sprachbefehl in dem Kontext der dargestellten Implementierungen betrachtet werden.
  • In der Implementierung von 2 wird eine Spracheingabe, die durch die sprachgestützte Vorrichtung 52 empfangen wird, durch eine sprachgestützte Anwendung (oder „App“) verarbeitet, die in 2 die Form eines interaktiven Assistenzmoduls 56 annimmt. In anderen Implementierungen kann eine Spracheingabe innerhalb eines Betriebssystems oder Firmware der sprachgestützten Vorrichtung 52 behandelt werden. Das interaktive Assistenzmodul 56 in der dargestellten Implementierung enthält ein Sprachaktionsmodul 58, ein Internet-gestütztes Schnittstellenmodul 50 und ein Wiedergabe/Synchronisationsmodul 62. Das Sprachaktionsmodul 58 empfängt die Spracheingabe, die für das interaktive Assistenzmodul 56 bestimmt ist, und koordiniert die Analyse der Spracheingabe und Ausführung einer oder mehrerer Aktionen für einen Anwender der sprachgestützten Vorrichtung 52. Das Schnittstellenmodul 60 stellt eine Schnittstelle mit dem Semantikprozessor 54 bereit, die Weiterleiten von Spracheingabe zu dem Semantikprozessor 54 und Empfangen von Antworten darauf enthält. Das Wiedergabe/Synchronisationsmodul 62 managt das Wiedergeben einer Antwort für einen Anwender, z. B. über eine visuelle Anzeige, gesprochenes Audio oder eine andere Rückmeldungsschnittstelle, die für eine spezielle sprachgestützte Vorrichtung geeignet ist. Zusätzlich handhabt in einigen Implementierungen das Modul 62 außerdem die Synchronisation mit dem Semantikprozessor 54, z. B. wann immer eine Antwort oder Aktion die Daten betrifft, die für den Anwender in dem Internet-basierten Suchdienst gehalten werden (z. B. wo eine Spracheingabe das Erzeugen eines Termins anfordert, der in einem Cloud-basierten Kalender gehalten wird).
  • Das interaktive Assistenzmodul 56 kann auf verschiedenen Middleware-, Framework-, Betriebssystem- und/oder Firmware-Modulen beruhen, um Spracheingabe zu handhaben, die beispielsweise ein Modul 64 zum Streamen von Sprache zu Text und ein Semantikprozessormodul 66 enthält, das ein Parsermodul 68, ein Dialogmanangermodul 70 und ein Aktionsaufbaumodul 72 enthält.
  • Das Modul 64 zum Streamen von Sprache zu Text empfängt eine Audioaufnahme der Spracheingabe, z. B. in der Form digitaler Audiodaten, und setzt die digitalen Audiodaten in ein oder mehrere Textworte oder Phrasen (hier auch als „Token“ bezeichnet) um. In der dargestellten Implementierung ist das Modul 64 außerdem ein Streaming-Modul, so dass die Spracheingabe auf der Basis von Token für Token in Text und in Echtzeit oder nahezu Echtzeit umgesetzt wird, so dass die Token aus dem Modul 64 effektiv gleichzeitig mit der Sprache eines Anwenders und somit bevor ein Anwender eine vollständige gesprochene Anforderung formuliert ausgegeben werden können. Das Modul 64 kann auf einem oder mehreren lokal gespeicherten Akustik- und/oder Sprachmodellen 74 beruhen, die zusammen eine Beziehung zwischen einem Audiosignal und phonetischen Einheiten in einer Sprache gemeinsam mit Wortfolgen in der Sprache modellieren. In einigen Implementierungen kann ein einzelnes Modell 74 verwendet werden, während in anderen Implementierungen mehrere Modelle unterstützt werden können, z. B. um mehrere Sprachen, mehrere Sprecher usw. zu unterstützen.
  • Während das Modul 64 die Sprache in Text umsetzt, versucht das Modul 66, die Semantik oder Bedeutung des Texts, der durch das Modul 64 ausgegeben wird, zum Zweck der Formulierung einer geeigneten Antwort zu erkennen. Das Parsermodul 68 beruht beispielsweise auf einem oder mehreren Offline-Grammatikmodellen 76, um Text auf spezielle Aktionen abzubilden und Attribute zu identifizieren, die die Ausführung solcher Aktionen beschränken, z. B. Eingangsvariablen oder Parameter für solche Aktionen. In einigen Implementierungen kann ein einzelnes Modell verwendet werden, während in anderen Implementierungen mehrere Modelle unterstützt werden können, z. B. um unterschiedliche Aktionen oder Aktionsdomänen (d. h. Sammlungen zugehöriger Aktionen wie z. B. kommunikationsbezogene Aktionen, suchbezogene Aktionen, audio/visuellbezogene Aktionen, kalenderbezogene Aktionen, vorrichtungssteuerungsbezogene Aktionen usw.) zu unterstützen. Wie nachstehend weiter diskutiert wird, kann eine „persönliche Bibliothek beschreibender Linguistik“ 77 mit dem Modell 76 enthalten sein zum Gebrauch durch das interaktive Assistenzmodul 56, um hier beschriebene Techniken auszuführen. Zusätzlich können in einigen Implementierungen „analoge“ Antwortaktionen und/oder Sprachbefehlsparameter durch das Parsermodul 68 bestimmt werden, z. B. unter Verwendung eines oder mehrerer Modelle 76 und/oder der persönlichen Bibliothek beschreibender Linguistik 77.
  • Als ein Beispiel kann ein Offline-Grammatikmodell 76 eine Aktion wie z. B. „Einstellen einer Erinnerung“ unterstützen, die einen Parameter für den Typ der Erinnerung, der spezifiziert, welcher Typ der Erinnerung eingestellt werden soll, einen Elementparameter, der ein oder mehrere der Erinnerung zugeordnete Elemente spezifiziert, und einen Zeitparameter, der eine Zeit spezifiziert, um die Erinnerung zu aktivieren und den Anwender zu informieren, aufweist. Das Parsermodul 64 kann eine Folge von Token wie z. B. „erinnere mich“, „kaufen“, „Brot“ und „wenn ich im Büro fertig bin“ empfangen und die Folge von Token auf die Aktion zum Einstellen einer Erinnerung, wobei der Typ der Erinnerung auf „Lebensmittelerinnerung“ eingestellt ist, der Elementparameter auf „Brot“ eingestellt ist und der Zeitparameter auf „17:00“ eingestellt ist, so dass der Anwender um 17:00 an diesem Tag eine Meldung „Brot kaufen“ empfängt.
  • Das Parsermodul 68 kann auch zusammen mit einem Dialogmanangermodul 70, das einen Dialog mit einem Anwender managt, arbeiten. Ein Dialog bezieht sich in diesem Kontext auf eine Menge von Spracheingaben und Antworten ähnlich einer Konversation zwischen zwei Personen. Das Modul 70 hält deshalb einen „Zustand“ eines Dialogs, um zu ermöglichen, dass Informationen, die von einem Anwender in einer vorherigen Spracheingabe erhalten werden, verwendet werden, wenn nachfolgende Spracheingaben behandelt werden. Somit könnte beispielsweise, wenn ein Anwender „erinnere mich, Brot zu kaufen“ sagen würde, eine Antwort erzeugt werden, um „ok, wann möchtest du erinnert werden?“ zu sagen, so dass eine nachfolgende Spracheingabe „wenn ich im Büro fertig bin“ zurück zu der ursprünglichen Anforderung, eine Erinnerung zu erzeugen, verbunden würde. In einigen Implementierungen kann das Modul 70 als Teil des interaktiven Assistenzmoduls implementiert sein.
  • Das Aktionsaufbaumodul 72 empfängt den analysierten Text von dem Parsermodul 68, der eine Spracheingabeinterpretation repräsentiert, und erzeugt eine oder mehrere Antwortaktionen oder „Aufgaben“ zusammen mit irgendwelchen zugeordneten Parametern zum Verarbeiten durch das Modul 62 des interaktiven Assistenzmoduls 56. Das Aktionsaufbaumodul 72 kann auf einem oder mehreren Offline-Aktionsmodellen 78 beruhen, die verschiedene Regeln zum Erzeugen von Aktionen aus analysiertem Text beinhalten. Es wird darauf hingewiesen, dass einige Parameter direkt als Spracheingabe empfangen werden können, während einige Parameter auf andere Arten bestimmt werden können, z. B. basierend auf dem Aufenthaltsort des Anwenders, demografischen Informationen oder basierend auf anderen Informationen speziell für einen Anwender. Beispielsweise falls ein Anwender „erinnere mich, Brot in dem Lebensmittelgeschäft zu kaufen“ sagen würde, kann ein Ortsparameter nicht bestimmbar sein ohne zusätzliche Informationen wie z. B. den derzeitigen Aufenthaltsort des Anwenders, den bekannten Weg des Anwenders zwischen seinem Büro und Zuhause, dem üblichen Lebensmittelgeschäft des Anwenders usw.
  • Wie vorstehend erwähnt kann in einigen Implementierungen das interaktive Assistenzmodul 56 Sprachbefehle von einem Anwender empfangen und verschiedene Offline- und Internet-basierte Betriebsmittel verwenden, um eine oder mehrere Antwortaktionen zu initiieren. Wenn ein Anwender einen langen Sprachbefehl für das interaktive Assistenzmodul 56 bereitstellt, um eine Aufgabe zu initiieren, kann das Aktionsaufbaumodul 72 den langen Sprachbefehl mit einem oder mehreren sprachbasierten Triggern (semantisch oder syntaktisch) abgleichen und kann eine oder mehrere Antwortaktionen auswählen und ausführen (oder bewirken, dass sie ausgeführt werden).
  • Es wird darauf hingewiesen, dass in einigen Implementierungen die Modelle 74, 76 und 78 in weniger Modelle kombiniert oder in zusätzliche Modelle aufgeteilt sein können, ebenso wie die Funktionalität der Module 64, 68, 70 und 72. Außerdem werden die Modelle 74-78 hier insofern als Offline-Modelle bezeichnet, als die Modelle lokal auf der sprachgestützten Vorrichtung 52 gespeichert sind und somit offline zugreifbar sind, wenn die Vorrichtung 52 nicht in Kommunikation mit dem Semantikprozessor 54 ist. Außerdem soll, obwohl das Modul 56 hier so beschrieben ist, dass es ein interaktives Assistenzmodul ist, das nicht bedeuten, dass es einschränkend ist. In verschiedenen Implementierungen kann irgendein Typ einer App, die auf einer sprachgestützten Vorrichtung 52 arbeitet, hier beschriebene Techniken ausführen, um in Reaktion auf einen durch einen Anwender ausgegebenen langen Sprachbefehl Antwortaktionen auszuführen.
  • In verschiedenen Implementierungen kann der Semantikprozessor 54 eine komplementäre Funktionalität zum Handhaben von Spracheingabe enthalten, z. B. unter Verwendung eines Prozessors 80 für sprachbasierte Abfragen, der auf verschiedenen Akustik/Sprach-, Grammatik- und/oder Aktions-Modellen 82 beruht, der die sogenannte „Bibliothek beschreibender Linguistik“ 84 enthält, die hier an anderer Stelle genauer beschrieben ist. Es wird darauf hingewiesen, dass in einigen Implementierungen, insbesondere wenn die sprachgestützte Vorrichtung 52 eine Vorrichtung mit beschränkten Betriebsmitteln ist, der Prozessor 80 für sprachbasierte Abfragen und die Modelle 82, die dadurch verwendet werden, komplexere und berechnungsbetriebsmittelintensive Sprachverarbeitungsfunktionalität implementieren können, als lokal in der sprachgestützten Vorrichtung 52 vorhanden ist.
  • In einigen Implementierungen können mehrere Prozessoren 80 für sprachbasierte Abfragen eingesetzt werden, von denen jeder als ein Internetbasiertes Gegenstück für ein oder mehrere individuelle persönliche Assistenzmodule 56 agiert. Beispielsweise kann in einigen Implementierungen jede Vorrichtung in einem Ökosystem eines Anwenders konfiguriert sein, eine Instanz eines interaktiven Assistenzmoduls zu betreiben, die dem Anwender zugeordnet ist (z. B. mit den Vorlieben des Anwenders konfiguriert ist, dem gleichen Interaktionsverlauf zugeordnet ist, usw.). Eine einzige anwenderzentrische Internet-basierte Instanz des Prozessors 80 für sprachbasierte Abfragen kann für jede dieser mehreren Instanzen des interaktiven Assistenzmoduls 56 zugänglich sein, abhängig davon, welche Vorrichtung der Anwender zu dieser Zeit betreibt.
  • In einigen Implementierungen können sowohl Internet-basierte Funktionalität als auch Offline-Funktionalität unterstützt werden, so z. B. dass die Internet-basierte Funktionalität verwendet wird, wann immer eine Vorrichtung in Kommunikation mit einem Internet-basierten Dienst ist, während die Offline-Funktionalität verwendet wird, wenn keine Konnektivität existiert. In anderen Implementierungen können der Internet-basierten Funktionalität und der Offline-Funktionalität unterschiedlichen Aktionen oder Aktionsdomänen zugewiesen sein, während in noch anderen Implementierungen die Internet-basierte Funktionalität nur verwendet werden kann, wenn die Offline-Funktionalität eine spezielle Spracheingabe nicht angemessen handhaben kann. In anderen Implementierungen kann jedoch keine komplementäre Internet-basierte Funktionalität verwendet werden.
  • 3 stellt beispielsweise eine Sprachverarbeitungsroutine 100 dar, die durch die sprachgestützte Vorrichtung 52 ausgeführt werden kann, um eine Spracheingabe zu behandeln. Die Routine 100 beginnt in Block 102 durch Empfangen einer Spracheingabe, z. B. in der Form eines digitalen Audiosignals. In dieser Implementierung wird ein initialer Versuch unternommen, die Spracheingabe zu dem Internet-basierten Suchdienst weiterzuleiten (Block 104). Falls das nicht erfolgreich ist, z. B. aufgrund eines Fehlens der Konnektivität oder eines Fehlens einer Antwort von dem Suchdienst, übergibt der Block 106 die Steuerung an Block 108, um die Spracheingabe in Text-Token umzusetzen (Block 108, z. B. unter Verwendung des Moduls 64 von 2), die Text-Token zu analysieren (Block 110, z. B. unter Verwendung des Moduls 68 von 8) und eine Aktion aus dem analysierten Text aufzubauen (Block 112, z. B. unter Verwendung von Modul 72 von 2). Die resultierende Aktion wird dann verwendet, um Client-seitiges Wiedergeben und Synchronisation (Block 114, z. B. unter Verwendung des Moduls 62 von 2) auszuführen, und die Verarbeitung der Spracheingabe ist vollständig.
  • Zurück zu Block 106 umgeht, falls der Versuch, die Spracheingabe zu dem Internet-basierten Suchdienst weiterzuleiten, erfolgreich ist, der Block 106 die Blöcke 108-112 und übergibt die Steuerung direkt an Block 114, um Client-seitiges Wiedergeben und Synchronisation auszuführen. Die Verarbeitung der Spracheingabe ist dann vollständig. Es wird darauf hingewiesen, dass in anderen Implementierungen, wie vorstehend erwähnt, vor der Internet-basierten Verarbeitung eine Offline-Verarbeitung versucht werden kann, z. B. um unnötige Datenkommunikation zu vermeiden, wenn eine Spracheingabe lokal behandelt werden kann.
  • 4 zeigt schematisch ein Beispielszenario 420 dafür, wie das interaktive Assistenzmodul 56, allein oder gemeinsam mit einem Gegenstück des Internet-basierten sprachbasierten Prozessors 80, bestimmen kann, welche Aktion(en) in Reaktion auf einen langen Sprachbefehl 422 „Ich könnte eine Stärkung gebrauchen“ ausgeführt werden soll(en). Der Sprachbefehl 422 kann zuerst mit mehreren existierenden sprachbasierten Triggern verglichen werden, die z. B. früher über eine Population von Anwendern verwendet wurden, die in der Bibliothek beschreibender Linguistik 84 gespeichert sein können oder nicht, die einen Teil der Akustik/Sprach-Grammatik bildet, und Aktionsmodellen 82, die in einem oder mehreren Internet-basierten Computerdatenspeichern gespeichert sind, um einen oder mehrere sprachbasierte Trigger auszuwählen, die mit dem Sprachbefehl 422 am besten übereinstimmen. Beispielsweise sind in 4 die drei ähnlichsten sprachbasierten Trigger „Ich brauche einen Muntermacher“ (4241), „Ich brauche Motivierung“ (4242) und “Weck mich auf (4243). Die Bibliothek 84 kann zahlreiche andere sprachbasierte Trigger enthalten, aber diese drei sind in 4 zu anschaulichen Zwecken abgebildet.
  • Jeder sprachbasierte Trigger 424 ist durch eine Kante mit dem Sprachbefehl 422 verbunden, und jede Kante ist mit einem entsprechenden Ähnlichkeitsmaß abgebildet. Beispielsweise weist der erste sprachbasierte Trigger 4241 eine Ähnlichkeitsbewertung von 0,8 mit dem Sprachbefehl 422 auf, der zweiten sprachbasierte Trigger 4242 weist eine Ähnlichkeitsbewertung von 0,7 mit dem Sprachbefehl 422 auf, und der dritte sprachbasierte Trigger 4243 weist eine Ähnlichkeitsbewertung von 0,6 mit dem Sprachbefehl 422 auf. Wie vorstehend erwähnt können diese Ähnlichkeitsmaße auf verschiedene Weisen berechnet werden und können semantische und/oder syntaktische Ähnlichkeit zwischen dem Sprachbefehl 422 und den sprachbasierten Triggern 4241-3 widerspiegeln.
  • Unterhalb der sprachbasierten Trigger 4241-3 sind zugeordnete Kandidaten-Antwortaktionen 426. Die Zuordnungen zwischen den sprachbasierten Triggern 4241-3 und den Antwortaktionen 4261-7 können in der vorstehend genannten Bibliothek beschreibender Linguistik 84 gespeichert sei, z. B. als verbindende Datenbankfelder, als unterscheidbare Zeilen (z. B. eine Zeile für jede Kandidaten-Antwortaktion), und/oder unter Verwendung anderer Techniken. Der erste sprachbasierte Trigger 4241 enthält drei Kandidaten-Antwortaktionen: Finde ein Cafe (z. B. durch Starten einer Navigationsanwendung) 4261; Spiele Musik (z. B. inspirierende Musik streamen, die Lieblingslieder des Anwenders spielen, usw.) 4262; und Erzähle einen Witz (z. B. „spricht“ das interaktive Assistenzmodul einen zufällig ausgewählten Witz oder den Witz des Tages) 4263. Der zweite sprachbasierte Trigger 4242 enthält zwei Kandidaten-Antwortaktionen: Sage ein inspirierendes oder motivierendes Zitat an (z. B. „spricht“ das interaktive Assistenzmodul ein zufällig ausgewähltes Zitat oder ein Zitat des Tages) 4264; und Spiele Musik 4265. Der dritte sprachbasierte Trigger 4243 enthält zwei Kandidaten-Antwortaktionen: Finde ein Cafe 4266; und Spiele Musik 4267.
  • In einigen Implementierungen, wenn der Anwender einen Sprachbefehl 422 ausgibt, kann der sprachbasierte Trigger 424, der dem Sprachbefehl 422 am ähnlichsten ist (d. h. das größte Ähnlichkeitsmaß aufweist) ohne weitere Erwägungen ausgewählt werden. Falls eine solche Technik auf das Szenario 420 von 4 angewandt wird, kann der erste sprachbasierte Trigger 4241 ausgewählt werden, weil er die höchste Ähnlichkeitsbewertung (0,8) aufweist. Dann kann die zugeordnete Antwortaktion 426 aus den Kandidaten-Antwortaktionen 4261-3 ausgewählt werden.
  • In einigen Implementierungen kann die Antwortaktion auswählt werden, die vorher durch die größte Anzahl früherer Anwender oder durch den größten prozentualen Anteil früherer Anwender ausgeführt wurde. In anderen Implementierungen kann ein Kontext eines Anwenders detektiert werden, z. B. unter Verwendung eines oder mehrerer Sensoren der sprachgestützten Vorrichtung 52, und verwendet werden, um auszuwählen, welche Kandidaten-Antwortaktion 426 ausgeführt werden soll. Beispielsweise falls die Clientvorrichtung detektiert, dass der Anwender den Sprachbefehl 422 früh am Morgen ausgegeben hat, während der Anwender zu seinem Büro pendelt, kann das interaktive Assistenzmodul 56 am wahrscheinlichsten die Aktion zum Finden eines Cafes ausführen (4261). Falls jedoch der Anwender bereits in seinem Büro ist (und es somit weniger wahrscheinlich ist, dass er es verlässt, um Kaffee zu erhalten), kann das interaktive Assistenzmodul 56 die Antwortaktion zum Abspielen von Musik ausführen (4262). Falls der Anwender den Sprachbefehl 422 spätabends ausführt, z. B. wenn es unwahrscheinlich ist, dass der Anwender Kaffee möchte oder Musik gespielt werden soll, kann das interaktive Assistenzmodul 56 die Antwortaktion zum Erzählen eines Witzes ausführen (4263). Als ein weiteres Beispiel, falls die Clientvorrichtung des Anwenders detektiert (z. B. unter Verwendung eines Positionskoordinatensensors, einer öffentlichen Wi-Fi-Verbindung, des Verlaufs kürzlicher Aktivitäten usw.), dass der Anwender gerade eben Kaffee konsumiert hat oder in einem oder gerade außerhalb eines Cafe ist, kann das interaktive Assistenzmodul 56 die Antwortaktion zum Finden eines Cafes (4261) aus der Erwägung eliminieren.
  • In einigen Implementierungen kann der Einfluss, den ein Kontext des Anwenders darauf hat, welche Antwortaktion ausgeführt wird, basierend wenigstens teilweise auf Ähnlichkeiten mit Kontexten früherer Anwender, wenn sie die Antwortaktionen 426 in Reaktion auf sprachbasierte Trigger 424 ausgelöst haben, bestimmt werden. Somit beispielsweise haben sie dann, wenn frühere Anwender am Morgen “Ich brauche einen Muntermacher sagten “, am häufigsten gemeint, dass sie Kaffee möchten, während frühere Anwender, wenn sie das gleiche am Abend sagten, am häufigsten meinten, dass sie aufgeheitert werden möchten (z. B. mit einem Witz).
  • Zusätzlich oder alternativ kann in einigen Implementierungen der Kontext eines Anwenders (wie er beispielsweise durch den einen oder die mehreren Sensoren einer Clientvorrichtung bestimmt wird) verwendet werden, um aus mehreren sprachbasierten Triggern 424 auszuwählen. Es ist angenommen, dass keine Kandidaten-Antwortaktionen, die einem ersten sprachbasierten Trigger zugeordnet sind, angesichts eines aktuellen Kontextes eines Anwenders einen Sinn ergibt. In einem solchen Szenario kann stattdessen ein zweiter sprachbasierter Trigger ausgewählt werden, selbst wenn der erste sprachbasierte Trigger ein größeres Ähnlichkeitsmaß für den ausgegebenen Sprachbefehl des Anwenders ergeben haben kann als der zweite sprachbasierte Trigger.
  • 5 stellt eine Routine 55 dar, die zum Einsetzen existierender Zuordnungen zwischen sprachbasierten Triggern und Antwortaktionen, die über eine Population von Anwendern verwendet wurden, geeignet ist, um automatisch zu bestimmen, welche Antwortaktion(en) in Reaktion auf einen gegebenen Sprachbefehl, der an einer Clientvorrichtung von einem Anwender empfangen wird, ausgeführt werden sollen. Die Routine 550 kann durch den gleichen Dienst, der sprachbasierte Abfragen verarbeitet, ausgeführt werden, oder es kann ein völlig unterschiedlicher Dienst sein.
  • Die Blöcke 552-556 der Routine 550 sind ähnlich zu verschiedenen Blöcken der in 3 abgebildeten Routine 100. Bei Block 552 wird ein Sprachbefehl empfangen, z. B. in Form eines digitalen Audiosignals. Bei Block 554 wird die Spracheingabe in Text-Token umgesetzt (z. B. unter Verwendung des Moduls 64 und/oder des Modells 82 von 2). Bei Block 556 können die Text-Token analysiert werden (z. B. unter Verwendung des Moduls 68 und/oder des Modells 82 von 2).
  • Bei Block 558 kann ein existierender sprachbasierter Trigger aus der Bibliothek beschreibender Linguistik 84 basierend wenigstens teilweise auf einem Maß der Ähnlichkeit zwischen dem bei Block 552 empfangenen Sprachbefehl und dem ausgewählten sprachbasierten Trigger ausgewählt werden. Wie hier an anderer Stelle bemerkt, kann dieses Maß der Ähnlichkeit semantische und/oder syntaktische Ähnlichkeit angeben. In einigen Implementierungen kann ein Kontext des Anwenders, der den Sprachbefehl ausgegeben hat, ebenfalls berücksichtigt werden, wenn der sprachbasierte Trigger ausgewählt wird.
  • Bei Block 560 können eine oder mehrere Antwortaktionen, die dem bei Block 558 ausgewählten sprachbasierten Trigger zugeordnet sind, bestimmt werden. In einigen Implementierungen kann ein sprachbasierter Trigger mehreren unterscheidbaren Kandidaten-Antwortaktionen zugeordnet sein (wie es in 4 der Fall war). In einigen solchen Implementierungen kann ein Kontext eines Anwenders verwendet werden, um eine Kandidaten-Antwortaktion aus den mehreren Kandidaten-Antwortaktionen auszuwählen. In anderen Implementierungen kann/können die am häufigsten ausgeführten Antwortaktion(en) (z. B. diejenigen, die durch die größte Anzahl von Clientvorrichtungen in Reaktion auf den sprachbasierten Trigger ausgeführt werden, oder diejenigen, die durch den größten prozentualen Anteil aller Clientvorrichtungen in Reaktion auf den sprachbasierten Trigger ausgeführt werden) ausgewählt werden.
  • Bei Block 562 können eine oder mehrere aktuelle Antwortaktionen, die durch die Clientvorrichtung, an der der Sprachbefehl bei Block 552 empfangen wurden, ausgeführt werden sollen, basierend auf den bei Block 560 bestimmten Antwortaktionen ausgewählt werden. Beispielsweise können mehrere Anwendungen, die auf der Clientvorrichtung, an der der Sprachbefehl ausgegeben wurde, installiert sind, analysiert werden, um eine oder mehrere Anwendungen zu identifizieren, um die eine oder die mehreren aktuellen Antwortaktionen auszuführen. In einigen Implementierungen können, falls die gleichen Anwendungen installiert sind, die eine oder die mehreren aktuellen Antwortaktionen gleich den einen oder mehreren Antwortaktionen sein. Andererseits falls nicht die gleichen Anwendungen auf der Clientvorrichtung, an der der Sprachbefehl ausgegeben wurde, installiert sind, können dann in einigen Implementierungen die eine oder die mehreren aktuellen Antwortaktionen zu der einen oder den mehreren Antwortaktionen, die bei Block 560 bestimmt wurden, analog sein. „Analoge“ Antwortaktionen können diejenigen Antwortaktionen enthalten, die unter Verwendung „analoger“ Anwendungen anstatt der exakt gleichen Anwendungen wie frühere Antwortaktionen ausgeführt werden.
  • In einigen Implementierungen können Antwortaktionen einen oder mehrere Parameter erfordern. Bei dem optionalen Block 563 können diese Parameter durch das interaktive Assistenzmodul ausgewählt werden. In einigen Fällen können diese Parameter explizit durch den Anwender bereitgestellt werden (z. B. „Ich hätte gerne eine große Wurst-Pizza mit dünner Kruste von Hypothetischer Pizza“). In einigen Implementierungen kann der Anwender sogar aufgefordert werden, Parameter anzugeben. Beispielsweise können sprachbasierte Trigger mit der Zeit zu der Bibliothek beschreibender Linguistik 84 hinzugefügt werden, die Begriffe und Phrasen, die gewöhnlich von den Anwendern verwendet werden (sogenannter „fester Inhalt“), in Kombination mit spezifischen Parametern, die sich auf eine spezielle Entität/Datum beziehen (sogenannter „transienter Inhalt“) enthalten. Beispielsweise kann ein gewöhnlicher sprachbasierter Trigger sein „Liefere mir eine <Größe> <Krustentyp> <Belag> Pizza von <Ort>“. Wenn ein Anwender einen Befehl „Liefere mir eine Pizza“ ausgibt, dann kann dieser Befehl mit dem vorstehend genannten anwendersprachbasierten Trigger abgeglichen werden, und der Anwender kann aufgefordert werden, z. B. durch das interaktive Assistenzmodul, die fehlenden Parameter bereitzustellen (z. B. „welche Art von Kruste?“, „welche Größe?“, „welcher Belag“, usw.).
  • In anderen Fällen können Parameter, die für eine oder mehrere Antwortaktionen erforderlich sind, automatisch durch das interaktive Assistenzmodul ausgewählt werden, z. B. basierend auf dem Kontext des Anwenders, früheren Anwendersprachbefehlen usw. Beispielsweise ist angenommen, dass der Anwender einen Sprachbefehl „Liefe mir eine Pizza“ ausgibt. Das interaktive Assistenzmodul kann den Verlauf der Pizzalieferung des Anwenders durchsuchen (z. B. unter Verwendung elektronischer Empfangsbestätigungen, die über E-Mail gesendet werden, oder vergangener Sprachbefehle, die spezifischer waren), um automatisch einen Typ der Pizza auszuwählen, der zur Lieferung arrangiert werden soll. In einigen Fällen können ähnliche Techniken verwendet werden, um ein Pizza-Restaurant zu identifizieren, von dem die Pizza kommen soll. In anderen Implementierungen kann das interaktive Assistenzmodul den aktuellen Aufenthaltsort des Anwenders bestimmen (z. B. aus einem Positionskoordinatensensor, der in das Telefon oder die Uhr des Anwenders eingebaut ist) und kann das nächstgelegene Pizza-Restaurant, das nächstgelegene Pizza-Restaurant, von dem der Anwender vorher bestellt hat, das Pizza-Restaurant, von dem der Anwender am häufigsten Pizza erhält, und so weiter auswählen.
  • Bei Block 564 kann das interaktive Assistenzmodul die eine oder mehreren bei Block 562 ausgewählten aktuellen Antwortaktionen ausführen (mit bei Bock 563 ausgewählten Parametern, wie jeweils anwendbar). Bei Block 566 kann die Anwenderrückmeldung bezüglich der Ausführung der aktuellen Antwortaktion(en) bei Block 564 empfangen werden. Die Rückmeldung kann als positiv, negativ oder in einigen Fällen neutral angesehen werden, abhängig von den Umständen. Beispielsweise falls die aktuellen Antwortaktionen Erbitten einer Art von Eingabe von dem Anwender, die sich auf die aktuellen Antwortaktionen bezieht (z. B. eines Parameters, der erforderlich ist, um die aktuellen Antwortaktionen fertigzustellen), enthalten und der Anwender die erbetene Eingabe bereitstellt, kann das als positive Rückmeldung angesehen werden. Falls die aktuellen Antwortaktionen Wiedergeben einer Art von Medieninhalt enthalten (z. B. Abspielen eines Videos, Abspielen von Musik usw.) und der Anwender den Inhalt konsumiert (z. B. wie dadurch detektiert wird, dass der Anwender den Mediaplayer nicht schließt oder minimiert), kann das ebenfalls als positive Rückmeldung oder in einigen Fällen als neutrale Rückmeldung angesehen werden. In einigen Implementierungen kann das interaktive Assistenzmodul den Anwender auffordern, eine Rückmeldung zu geben, z. B. bevor es die Antwortaktionen ausführt, als eine Anforderung der Erlaubnis oder danach als eine Anforderung einer Rückmeldung. Falls der Anwender die Erlaubnis erteilt, die Antwortaktionen auszuführen, oder eine zustimmende Rückmeldung bereitstellt, kann das als positive Rückmeldung angesehen werden.
  • Im Gegensatz dazu, falls die aktuellen Antwortaktionen Erbitten einer Art von Eingabe von dem Anwender, die sich auf die Antwortaktionen beziehen (z. B. eines Parameters, der erforderlich ist, um die aktuellen Antwortaktionen fertigzustellen), enthalten und der Anwender ablehnt, die erbetene Eingabe bereitzustellen, kann das als negative Rückmeldung angesehen werden. Falls die aktuellen Antwortaktionen Wiedergeben einer Art von Medieninhalt enthalten (z. B. Abspielen eines Videos, Abspielen von Musik usw.) und der Anwender den Mediaplayer schnell schließt oder minimiert, kann das ebenfalls als negative Rückmeldung angesehen werden. Wie vorstehend erwähnt kann in einigen Implementierungen das interaktive Assistenzmodul den Anwender auffordern, eine Rückmeldung zu geben, z. B. bevor es die Antwortaktionen ausführt oder danach. Falls der Anwender die Erlaubnis verweigert, die Antwortaktionen auszuführen, oder eine negative Rückmeldung bereitstellt, kann das als negative Rückmeldung angesehen werden.
  • Bei Block 568 kann das interaktive Assistenzmodul bestimmen, ob der bei Block 552 empfangene Sprachbefehl ein neuer Sprachbefehl ist (d. h. nicht mit einem in der Bibliothek beschreibender Linguistik 84 gespeicherten sprachbasierten Trigger präzise übereinstimmt). Falls die Antwort nein ist, kann das Verfahren 550 dann mit Block 570 fortfahren. Bei Block 570 kann eine Stärke einer Zuordnung zwischen dem sprachbasierten Trigger, der bei Block 558 ausgewählt wurde, und den bei Block 560 bestimmten Antwortaktionen basierend auf der bei Block 566 empfangenen Rückmeldung geändert werden. Beispielsweise falls der Anwender eine positive Rückmeldung in Reaktion auf die Ausführung der aktuellen Antwortaktionen bereitstellt, kann ein Zählwert, der der Zuordnung entspricht, inkrementiert werden, z. B. um eins. Ähnlich kann, falls der Anwender eine negative Rückmeldung in Reaktion auf die Ausführung der aktuellen Antwortaktionen bereitstellt, ein Zählwert, der der Zuordnung entspricht, dekrementiert werden, z. B. um eins. In anderen Implementierungen kann eine weitere Instanz des sprachbasierten Triggers, der verwendet wird, um die zugeordneten Sprachbefehle zu triggern, einer Datenbank hinzugefügt werden, z. B. als ein neuer Datensatz. Zusätzlich oder alternativ kann ein Gewicht, das der Zuordnung zwischen dem sprachbasierten Trigger und den Antwortaktionen, die bei Block 560 bestimmt werden, erhöht bzw. verringert werden, basierend darauf, ob die bei Block 566 empfangene Rückmeldung positiv oder negativ ist.
  • Bei Block 572 kann bestimmt werden, ob die bei Block 562 ausgewählten und bei Block 564 ausgeführten aktuellen Antwortaktionen analoge Antwortaktionen waren, wie z. B. Aktionen, die zu den bei Block 560 bestimmten Antwortaktionen „analog“ sind, im Gegensatz zu den gleichen Antwortaktionen, die bei Block 560 bestimmt wurden. Beispielsweise falls auf der Clientvorrichtung die gleichen Anwendung(en) installiert sind und sie deshalb fähig ist, die exakt gleichen Antwortaktionen auszuführen, die dem bei Block 558 ausgewählten sprachbasierten Trigger zugeordnet waren, dann kann die Antwort bei Block 572 nein sein. Falls jedoch auf der Clientvorrichtung nicht die gleichen Anwendungen installiert sind und sie stattdessen die Antwortaktionen unter Verwendung analoger Anwendungen ausgeführt hat, die ähnliche Funktionalität bereitstellen, kann die Antwort bei Block 572 nein sein.
  • Falls die Antwort bei Block 572 nein ist, kann das Verfahren 550 enden. Falls jedoch die Antwort bei Block 572 ja ist, kann das Verfahren 550 zu Block 574 weitergehen. Bei Block 574 kann eine neue Zuordnung zwischen dem sprachbasierten Trigger und den bei Block 564 unter Verwendung einer analogen Anwendung(en) ausgeführten Antwortaktionen zu der Bibliothek beschreibender Linguistik 84 hinzugefügt werden. In einigen Implementierungen kann das zusätzlich zu der Änderung der existierenden Zuordnung zwischen dem sprachbasierten Trigger und den bei Block 570 ausgeführten existierenden Antwortaktionen stattfinden. In anderen Implementierungen kann, falls die aktuellen Antwortaktionen, die durch die Clientvorrichtung ausgeführt werden, nicht exakt (oder ausreichend) gleich denjenigen sind, die bereits dem ausgewählten sprachbasierten Trigger zugeordnet sind, der Block 570 weggelassen werden.
  • Zurück zu Block 568 kann das Verfahren, falls der Sprachbefehl, der durch den Anwender ausgegeben wird, nicht präzise mit einem existierenden sprachbasierten Trigger in der Bibliothek beschreibender Linguistik 84 übereinstimmt, zu Bock 576 weitergehen. Bei Block 576 kann der bei Block 552 empfangene Sprachbefehl als ein neuer sprachbasierter Trigger der Bibliothek beschreibender Linguistik 84 hinzugefügt werden. Das Verfahren 550 kann dann zu Block 574 weitergehen, wobei an diesem Punkt eine Zuordnung zwischen dem neu hinzugefügten sprachbasierten Trigger und den bei Block 564 ausgeführten aktuellen Antwortaktionen zu der Bibliothek beschreibender Linguistik hinzugefügt werden kann.
  • Obwohl sich die vorstehend beschriebenen Implementierungen auf eine sich weiterentwickelnde Bibliothek beschreibender Linguistik 84, die für eine Population von Anwendern verfügbar ist, bezogen haben, ist das nicht als einschränkend gemeint. In einigen Implementierungen kann, wie vorstehend erwähnt, eine „persönliche“ Bibliothek beschreibender Linguistik 77 für einen speziellen Anwender (oder eine Gruppe von Anwendern wie z. B. Kollegen, Familie, Freunde usw.) gepflegt werden. Die „persönliche“ Bibliothek beschreibender Linguistik 77 kann lokal in einer oder mehreren Clientvorrichtungen, die durch einen Anwender, für den die Bibliothek gepflegt wird, betrieben werden, gespeichert sein, was jedoch nicht erforderlich ist. In einigen Implementierungen kann die persönliche Bibliothek beschreibender Linguistik 77 an anderer Stelle gespeichert sein (z. B. in der Cloud), beispielsweise als ein Abschnitt der Bibliothek beschreibender Linguistik 84, der nur für diesen Anwender verfügbar ist.
  • In einigen Implementierungen kann die persönliche Bibliothek beschreibender Linguistik 77 auf eine Weise ähnlich derjenigen, wie sie vorstehend mit der „globalen“ Bibliothek beschreibender Linguistik 84 beschrieben ist, verwendet werden, kann jedoch auch zusätzliche Funktionalität bereitstellen, die für einen speziellen Anwender (oder Gruppe von Anwendern) spezifisch ist. Der Anwender kann (manuell oder aus unterschiedlichen Sprachbefehlen mit der Zeit gelernt) spezielle Begriffe definieren, die eine spezifische Meinung aufweisen, wenn sie durch den Anwender als Teil eines Sprachbefehls verwendet werden.
  • Beispielsweise kann ein Anwender einen Sprachbefehl ausgeben wie z. B. „Sende die folgende Nachricht an das Team: xxxxx.“ Das „Team“ in diesem Kontext kann als eine spezielle Menge anderer Anwender identifiziert werden, die der Anwender vorher definiert hat (z. B. manuell oder automatisch durch vorherige Sprachbefehle), und kann in einigen Fällen spezielle Bezeichner (E-Mail-Adressen, Telefonnummern, um Textnachrichten zu empfangen, Spitznamen usw.) enthalten, die verwendet werden können, um mit den Mitgliedern des Teams zu korrespondieren.
  • Als ein weiteres Beispiel können Kontakte eines Anwenders automatisch verschiedenen Begriffen zugeordnet werden, basierend auf ihrer Beziehung zu dem Anwender und/oder miteinander. Beispielsweise können Kontakte, die auch Familienmitglieder des Anwenders sind, automatisch dem gesprochenen Wort „Familie“ zugeordnet werden. Kontakte, die auch Kollegen des Anwenders sind, können automatisch dem gesprochenen Wort „Kollegen“ des Anwenders zugeordnet werden. Somit kann, wenn ein Anwender einen Befehl „Sende mein Profilbild an meine Familie“ ausgibt, das interaktive Assistenzmodul automatisch den Begriff „Familie“ den Kontakten des Anwenders, die Familienmitglieder des Anwenders sind, zuordnen.
  • Die „persönliche“ Bibliothek beschreibender Linguistik 77 kann zusätzlich oder alternativ verwendet werden, um verschiedene Parameter (d. h. transienten Inhalt) einer oder mehrerer Antwortaktionen zu besetzen, wie vorstehend mit Bezug auf Block 563 von 5 beschrieben wurde. Es ist angenommen, dass ein Anwender den Befehl „bringe mich zu dem Cafe“ ausgibt. Der generischere Befehl „bringe mich zu dem Cafe“ kann Antwortaktionen triggern wie z. B. Öffnen einer Navigationsanwendung mit der Wegbeschreibung zu dem nächstgelegenen Cafe. Jedoch erwähnt der durch den Anwender ausgegebene Befehl „das Cafe“, was suggeriert, dass der Anwender an ein spezielles Cafe denkt. In einem solchen Fall kann das interaktive Assistenzmodul sprachbasierte Trigger in der persönlichen Bibliothek beschreibender Linguistik 77 des Anwenders und/oder einen speziellen Kontext des Anwenders durchsuchen, um zu identifizieren, auf welches Cafe sich der Anwender bezog, wenn der Anwender „das Cafe“ sagte. Eine Navigationsanwendung kann dann mit einer Wegbeschreibung zu diesem spezifischen Cafe getriggert werden, unabhängig davon, ob andere näher gelegene Cafes vorhanden sind.
  • In verschiedenen Implementierungen kann nach dem Empfangen eines gegebenen Sprachbefehls von einem Anwender ein sprachbasierter Trigger aus einer Bibliothek sprachbasierter Trigger ausgewählt werden, der über eine Population von Anwendern vorher verwendet worden ist. Die Bibliothek kann (eine) Zuordnung(en) zwischen jedem sprachbasierten Trigger und Antwortaktion(en), die früher in Reaktion auf den sprachbasierten Trigger ausgeführt wurden, enthalten. Das Auswählen kann auf einem Maß der Ähnlichkeit zwischen dem gegebenen Sprachbefehl und dem ausgewählten sprachbasierten Trigger basieren. Eine oder mehrere Antwortaktionen, die dem ausgewählten sprachbasierten Trigger in der Bibliothek zugeordnet sind, können bestimmt werden. Basierend auf der einen oder den mehreren Antwortaktionen kann/können (eine) aktuelle Antwortaktion(en) durch die Clientvorrichtung ausgeführt werden. Eine Rückmeldung, die dem Ausführen der aktuellen Antwortaktion(en) zugeordnet ist, kann von dem Anwender empfangen werden und verwendet werden, um eine Stärke einer Zuordnung zwischen dem ausgewählten sprachbasierten Trigger und der einen oder den mehreren Antwortaktionen zu ändern.
  • Es wird darauf hingewiesen, dass die verbesserte Leistung der Vorrichtung ein Aspekt der vorstehenden Beschreibung ist. Beispielsweise wird durch Erlauben der Erkennung von ansonsten mehrdeutigen Anwendersprachbefehlen die Menge von Sprachbefehlen, die durch einen Anwender neu ausgegeben werden, und/oder klärender Fragen, die durch ein System ausgegeben werden, reduziert. Das reduziert die Bandbreiten- und Datennutzung in einem Client-Server-Modell und reduziert die Anforderungen an Berechnungsbetriebsmittel, Datenspeichernutzung und Batterieverbrauch in einem Client oder einer lokalen Vorrichtung. Darüber hinaus kann, sobald ein langer Sprachbefehl erfolgreich einer Aktion zugeordnet ist, dieser Befehl in Zukunft (für diesen Anwender und/oder andere Anwender) schnell ausgeführt werden, was die Berechnungs- und Kommunikationsanforderungen auf einer Servervorrichtung reduziert.
  • Obwohl verschiedene Implementierungen hier beschrieben und dargestellt worden sind, können eine Vielzahl anderer Mittel und/oder Strukturen zum Ausführen der Funktion und/oder Erhalten der Ergebnisse und/oder eines oder mehrerer der Vorteile, die hier beschrieben sind, benutzt werden, und jede solcher Variationen und/oder Modifikationen ist als innerhalb des Schutzbereichs der hier beschriebenen Implementierungen anzusehen. Allgemeiner sind alle Parameter, Dimensionen, Materialien und Konfigurationen, die hier beschrieben sind, als beispielhaft gemeint, und dass die tatsächlichen Parameter, Dimensionen, Materialien und/oder Konfigurationen von der spezifischen Anwendungen oder Anwendungen, für die die Lehren verwendet werden, abhängen. Fachleute werden viele Äquivalente der spezifischen hier beschriebenen Implementierungen erkennen oder imstande sein, sie unter Verwendung von nicht mehr als Routineexperimenten herauszufinden. Es ist deshalb zu verstehen, dass die vorstehenden Implementierungen nur als Beispiel präsentiert sind und dass Implementierungen innerhalb des Schutzbereichs der beigefügten Ansprüche und ihrer Äquivalente auf andere Weise als die spezifisch beschriebene und beanspruchte praktiziert werden können. Implementierungen der vorliegenden Offenbarung richten sich auf jedes einzelne hier beschriebene Merkmal, System, Artikel, Material, Ausrüstung und/oder Verfahren. Zusätzlich ist jede Kombination aus zwei oder mehreren solcher Merkmale, Artikel, Materialien, Ausrüstungen und/oder Verfahren, falls solche Merkmale, Artikel, Materialien, Ausrüstungen und/oder Verfahren nicht wechselseitig inkonsistent sind, in dem Schutzbereich der vorliegenden Offenbarung enthalten.

Claims (6)

  1. System, das einen oder mehrere Prozessoren und einen Datenspeicher, der betriebstechnisch mit dem einen oder den mehreren Prozessoren gekoppelt ist, umfasst, wobei der Datenspeicher Anweisungen speichert, die in Reaktion auf das Ausführen der Anweisungen durch den einen oder die mehreren Prozessoren bewirken, dass der eine oder die mehreren Prozessoren ein interaktives Assistenzmodul betreiben, das konfiguriert ist zum: Empfangen eines gegeben Sprachbefehls von einem Anwender; Auswählen aus einer Bibliothek sprachbasierter Trigger, die vorher über eine Population von Anwendern verwendet wurden, eines ausgewählten sprachbasierten Triggers, wobei die Bibliothek eine oder mehrere Zuordnungen zwischen jedem sprachbasierten Trigger und einer oder mehreren Antwortaktionen, die früher in Reaktion auf den sprachbasierten Trigger ausführt wurden, enthält, und wobei das Auswählen wenigstens teilweise auf einem Maß der Ähnlichkeit zwischen dem gegebenen Sprachbefehl und dem ausgewählten sprachbasierten Trigger basiert; Bestimmen einer oder mehrerer Antwortaktionen, die dem ausgewählten sprachbasierten Trigger in der Bibliothek zugeordnet sind; Auswählen einer oder mehrerer aktueller Antwortaktionen, die durch den einen oder die mehreren Prozessoren ausgeführt werden sollen, basierend auf der einen oder den mehreren Antwortaktionen; Ausführen der einen oder mehreren aktuellen Antwortaktionen; Empfangen von dem Anwender einer Rückmeldung, die dem einen oder den mehreren Prozessoren, die die eine oder die mehreren aktuellen Antwortaktionen ausführen, zugeordnet ist; und Ändern einer Stärke einer Zuordnung zwischen dem ausgewählten sprachbasierten Trigger und der einen oder den mehreren Antwortaktionen basierend auf der Rückmeldung.
  2. System nach Anspruch 1, wobei die eine oder die mehreren aktuellen Antwortaktionen gleich der einen oder den mehreren Antwortaktionen sind.
  3. System nach Anspruch 1, wobei die eine oder die mehreren aktuellen Antwortaktionen zu der einen oder den mehreren Antwortaktionen analog sind.
  4. System nach einem der Ansprüche 1 bis 3, das ferner Analysieren von mehreren Anwendungen, die auf dem System installiert sind, um eine oder mehrere Anwendungen zu identifizieren, um die eine oder die mehreren aktuellen Antwortaktionen auszuführen, umfasst.
  5. System nach einem der Ansprüche 1 bis 4, wobei das interaktive Assistenzmodul ferner konfiguriert ist, die Zuordnung zwischen dem ausgewählten sprachbasierten Trigger und der einen oder den mehreren Antwortaktionen basierend auf der Rückmeldung zu schwächen.
  6. System nach einem der Ansprüche 1 bis 5, wobei der gegebene Sprachbefehl nicht wenigstens einen Parameter spezifiziert, der für die eine oder die mehreren aktuellen Antwortaktionen erforderlich ist, und das Verfahren ferner Identifizieren basierend auf einem Kontext des Anwenders, der durch einen oder mehrere Sensoren dem System detektiert wird, oder basierend auf einer persönlichen Bibliothek, die dem Anwender zugeordnet ist, eines Werts, der als der wenigstens eine Parameter verwendet werden soll, enthält.
DE202017105852.2U 2016-10-03 2017-09-26 Aufgaben-Initiierung unter Verwendung von langen Sprachbefehlen Active DE202017105852U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/284,473 US10297254B2 (en) 2016-10-03 2016-10-03 Task initiation using long-tail voice commands by weighting strength of association of the tasks and their respective commands based on user feedback
US15/284,473 2016-10-03

Publications (1)

Publication Number Publication Date
DE202017105852U1 true DE202017105852U1 (de) 2018-04-13

Family

ID=60050782

Family Applications (2)

Application Number Title Priority Date Filing Date
DE202017105852.2U Active DE202017105852U1 (de) 2016-10-03 2017-09-26 Aufgaben-Initiierung unter Verwendung von langen Sprachbefehlen
DE102017122515.3A Pending DE102017122515A1 (de) 2016-10-03 2017-09-27 Aufgaben-Initiierung unter Verwendung von langen Sprachbefehlen

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE102017122515.3A Pending DE102017122515A1 (de) 2016-10-03 2017-09-27 Aufgaben-Initiierung unter Verwendung von langen Sprachbefehlen

Country Status (6)

Country Link
US (2) US10297254B2 (de)
EP (2) EP4224468A3 (de)
CN (1) CN107895577A (de)
DE (2) DE202017105852U1 (de)
GB (1) GB2555217A (de)
WO (1) WO2018067260A1 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10950229B2 (en) * 2016-08-26 2021-03-16 Harman International Industries, Incorporated Configurable speech interface for vehicle infotainment systems
CN107564532A (zh) * 2017-07-05 2018-01-09 百度在线网络技术(北京)有限公司 电子设备的唤醒方法、装置、设备及计算机可读存储介质
KR20190008663A (ko) * 2017-07-17 2019-01-25 삼성전자주식회사 음성 데이터 처리 방법 및 이를 지원하는 시스템
WO2019070230A1 (en) * 2017-10-03 2019-04-11 Google Llc COORDINATION OF MULTIPLE DIGITAL ASSISTANT IN VEHICULAR ENVIRONMENTS
JP2019086903A (ja) * 2017-11-02 2019-06-06 東芝映像ソリューション株式会社 音声対話端末、および音声対話端末制御方法
CN110168636B (zh) 2017-12-08 2023-08-01 谷歌有限责任公司 对重复的分组化数据传输的检测
CN108363556A (zh) * 2018-01-30 2018-08-03 百度在线网络技术(北京)有限公司 一种基于语音与增强现实环境交互的方法和系统
US10144346B1 (en) * 2018-03-31 2018-12-04 Jewel L. Dohan Voice-recognition/voice-activated vehicle signal system
US10887351B2 (en) 2018-05-02 2021-01-05 NortonLifeLock Inc. Security for IoT home voice assistants
CN110741362B (zh) * 2018-05-03 2024-05-14 谷歌有限责任公司 音频查询的重叠处理的协调
US11704533B2 (en) * 2018-05-23 2023-07-18 Ford Global Technologies, Llc Always listening and active voice assistant and vehicle operation
US10979242B2 (en) * 2018-06-05 2021-04-13 Sap Se Intelligent personal assistant controller where a voice command specifies a target appliance based on a confidence score without requiring uttering of a wake-word
US10698500B2 (en) * 2018-07-24 2020-06-30 Bank Of America Corporation Touch-based and audio-responsive user interface for elimination of a query's component terms
KR102527107B1 (ko) 2018-08-08 2023-05-02 삼성전자주식회사 음성에 기반하여 기능을 실행하기 위한 방법 및 이를 지원하는 사용자 전자 장치
CN113168336A (zh) * 2018-08-27 2021-07-23 谷歌有限责任公司 基于实验参数适配功能电话的客户端应用
US11151986B1 (en) * 2018-09-21 2021-10-19 Amazon Technologies, Inc. Learning how to rewrite user-specific input for natural language understanding
CN109360559A (zh) * 2018-10-23 2019-02-19 三星电子(中国)研发中心 多智能设备同时存在时处理语音指令的方法和系统
EP3698224A1 (de) * 2018-12-03 2020-08-26 Google LLC. Effiziente steuerung und/oder verknüpfung intelligenter vorrichtungen
US11100925B2 (en) * 2018-12-06 2021-08-24 Comcast Cable Communications, Llc Voice command trigger words
KR20200072020A (ko) * 2018-12-12 2020-06-22 현대자동차주식회사 음성인식시스템의 대화 안내 방법
KR20200072021A (ko) * 2018-12-12 2020-06-22 현대자동차주식회사 음성인식시스템의 도메인 관리 방법
CN110211576B (zh) * 2019-04-28 2021-07-30 北京蓦然认知科技有限公司 一种语音识别的方法、装置和系统
CN110377676B (zh) * 2019-06-25 2022-05-27 北京百度网讯科技有限公司 一种语音指令的处理方法、装置、设备和计算机存储介质
US10839060B1 (en) * 2019-08-27 2020-11-17 Capital One Services, Llc Techniques for multi-voice speech recognition commands
CN111739506B (zh) * 2019-11-21 2023-08-04 北京汇钧科技有限公司 一种应答方法、终端及存储介质
US11842731B2 (en) * 2020-01-06 2023-12-12 Salesforce, Inc. Method and system for executing an action for a user based on audio input
CN112382279B (zh) * 2020-11-24 2021-09-14 北京百度网讯科技有限公司 语音识别方法、装置、电子设备和存储介质
CN112565663B (zh) * 2020-11-26 2022-11-18 平安普惠企业管理有限公司 需求问题回复方法、装置、终端设备及存储介质
US11514894B2 (en) * 2021-02-24 2022-11-29 Conversenowai Adaptively modifying dialog output by an artificial intelligence engine during a conversation with a customer based on changing the customer's negative emotional state to a positive one

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070136068A1 (en) * 2005-12-09 2007-06-14 Microsoft Corporation Multimodal multilingual devices and applications for enhanced goal-interpretation and translation for service providers
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8224313B2 (en) * 2008-09-24 2012-07-17 Centurylink Intellectual Property Llc System and method for controlling vehicle systems from a cell phone
EP2629211A1 (de) * 2009-08-21 2013-08-21 Mikko Kalervo Väänänen Verfahren und Mittel zur Datensuche und Sprachübersetzung
US8719871B2 (en) * 2009-10-06 2014-05-06 Verizon Patent And Licensing Inc. Method and apparatus for utilizing dynamic bandwidth allocation for recording content
US8738377B2 (en) * 2010-06-07 2014-05-27 Google Inc. Predicting and learning carrier phrases for speech input
JP2013003664A (ja) * 2011-06-13 2013-01-07 Sony Corp 情報処理装置および方法
CA2747153A1 (en) 2011-07-19 2013-01-19 Suleman Kaheer Natural language processing dialog system for obtaining goods, services or information
KR101262700B1 (ko) * 2011-08-05 2013-05-08 삼성전자주식회사 음성 인식 및 모션 인식을 이용하는 전자 장치의 제어 방법 및 이를 적용한 전자 장치
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
KR101944414B1 (ko) * 2012-06-04 2019-01-31 삼성전자주식회사 음성 인식 서비스를 제공하기 위한 방법 및 그 전자 장치
CN103593230B (zh) * 2012-08-13 2017-05-10 百度在线网络技术(北京)有限公司 移动终端的后台任务控制方法及移动终端
US9230560B2 (en) 2012-10-08 2016-01-05 Nant Holdings Ip, Llc Smart home automation systems and methods
CN103778915A (zh) 2012-10-17 2014-05-07 三星电子(中国)研发中心 语音识别方法和移动终端
EP3709293A1 (de) * 2013-03-12 2020-09-16 Nuance Communications, Inc. Verfahren und vorrichtung zur erkennung eines sprachbefehls
WO2014144949A2 (en) * 2013-03-15 2014-09-18 Apple Inc. Training an at least partial voice command system
CN104424290A (zh) * 2013-09-02 2015-03-18 佳能株式会社 基于语音的问答系统和用于交互式语音系统的方法
KR101491843B1 (ko) * 2013-11-13 2015-02-11 네이버 주식회사 대화 기반 검색 도우미 시스템 및 그 방법
WO2015196063A1 (en) * 2014-06-19 2015-12-23 Robert Bosch Gmbh System and method for speech-enabled personalized operation of devices and services in multiple operating environments
CN104182545A (zh) * 2014-09-05 2014-12-03 北京金山安全软件有限公司 一种应用程序推荐方法及装置
CN104317649B (zh) * 2014-09-30 2018-03-06 北京金山安全软件有限公司 终端应用程序app的处理方法、装置及终端

Also Published As

Publication number Publication date
WO2018067260A1 (en) 2018-04-12
EP3510593A1 (de) 2019-07-17
GB201713938D0 (en) 2017-10-18
US20180096681A1 (en) 2018-04-05
EP4224468A3 (de) 2023-09-13
CN107895577A (zh) 2018-04-10
US10297254B2 (en) 2019-05-21
GB2555217A (en) 2018-04-25
US10490190B2 (en) 2019-11-26
EP3510593B1 (de) 2023-06-07
EP4224468A2 (de) 2023-08-09
US20190096406A1 (en) 2019-03-28
EP3510593A4 (de) 2020-05-06
DE102017122515A1 (de) 2018-05-24

Similar Documents

Publication Publication Date Title
DE202017105852U1 (de) Aufgaben-Initiierung unter Verwendung von langen Sprachbefehlen
DE102017122357B4 (de) Kontextbezogener mensch-computer-dialog
US11222030B2 (en) Automatically augmenting message exchange threads based on tone of message
DE102016125801A1 (de) Nichtdeterministische Aufgabeninitiierung durch ein persönliches Assistenzmodul
DE102017122200A1 (de) Bilden einer Chatbot-Ausgabe auf der Grundlage eines Anwenderzustandes
DE112016004863T5 (de) Parametersammlung und automatische Dialogerzeugung in Dialogsystemen
DE102017122358A1 (de) Bedingte Bereitstellung von Zugriff durch interaktive Assistentenmodul
US20190019077A1 (en) Automatic configuration of cognitive assistant
DE102016125823B4 (de) Unterstützung bei der semantischen offline-bearbeitung durch ein gerät mit begrenzten möglichkeiten
DE202017106514U1 (de) Proaktive Aufnahme von nicht angefordertem Inhalt in Mensch-Computer-Dialoge
DE102017119601A1 (de) Verwenden einer Anwendereingabe, um Suchergebnisse, die für die Darstellung für den Anwender bereitgestellt werden, anzupassen
DE202016008173U1 (de) Einbindung von auswählbaren Anwendungsverknüpfungen in Nachrichtenaustausch-Threads
DE202016008241U1 (de) Bereitstellen von Vorschlägen für die Interaktion mit einem automatisierten Assistenten in einem Multi-User Nachrichtenaustausch-Thread
DE202017105844U1 (de) Bereitstellen einer Eingabeaufforderung in einer automatisierten Dialogsitzung basierend auf ausgewähltem Inhalt von vorherigen automatisierten Dialogsitzungen
CN106845624A (zh) 与智能机器人的应用程序有关的多模态交互方法及系统
DE112016002370T5 (de) Lokales persistent machen von daten für eine selektiv offline taugliche sprachaktion in einer sprachfähigen elektronischen vorrichtung
DE202017105865U1 (de) Umwandlung von Sprache in Text basierend auf Agenteninhalt Dritter
DE202016008323U1 (de) Das Einbeziehen auswählbarer Anwendungslinks in Konversationen mit persönlichen Assistenz-Modulen
DE202017104019U1 (de) System zum Steuern eines Computers zum Initiieren der Ausführung einer computerbasierten Aktion
DE102017122547A1 (de) Autonomes liefern von suchergebnissen rückwirkend; auch im kontext eines dialogassistenten
DE102016125513A1 (de) Erweitern von Nachrichtenaustausch-Threads
CN111159344A (zh) 机器人应答方法、装置、设备及存储介质
CN111046151A (zh) 一种消息处理方法及装置
DE102023133024A1 (de) Bestimmen von absichten und antworten unter verwendung von maschinellem lernen in konversationellen ki-systemen und -anwendungen
EP3291090B1 (de) Verfahren und system zum bilden einer digitalen schnittstelle zwischen endgerät und applikationslogik via deep learning und cloud

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years