DE212017000042U1 - Datenstruktur-Pooling von sprachaktivierten Datenpaketen - Google Patents

Datenstruktur-Pooling von sprachaktivierten Datenpaketen Download PDF

Info

Publication number
DE212017000042U1
DE212017000042U1 DE212017000042.2U DE212017000042U DE212017000042U1 DE 212017000042 U1 DE212017000042 U1 DE 212017000042U1 DE 212017000042 U DE212017000042 U DE 212017000042U DE 212017000042 U1 DE212017000042 U1 DE 212017000042U1
Authority
DE
Germany
Prior art keywords
data structure
action
computing device
parameter
pooling
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
DE212017000042.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 DE212017000042U1 publication Critical patent/DE212017000042U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/245Query processing
    • G06F16/2455Query execution
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • 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/2428Query predicate definition using graphical user interfaces, including menus and forms
    • 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/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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

System zum Verwalten sprachaktivierter Threads in einer auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung, umfassend:eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, um, über eine Schnittstelle des Datenverarbeitungssystems, Datenpakete zu empfangen, die ein durch einen Sensor eines ersten Client-Computergeräts erkanntes erstes Eingabeaudiosignal umfassen;die Prozessorkomponente für natürliche Sprache, um das erste Eingabeaudiosignal zu parsen, um eine erste Anfrage und ein erstes Auslöserschlüsselwort, das der ersten Anfrage entspricht, zu identifizieren;eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) des Datenverarbeitungssystems, um, basierend auf dem ersten Auslöserschlüsselwort und in Reaktion auf die erste Anfrage, eine erste Aktionsdatenstruktur mit einem Parameter zu erzeugen, der eine erste Aktion identifiziert;die Prozessorkomponente für natürliche Sprache, um, über die Schnittstelle des Datenverarbeitungssystems, Datenpakete zu empfangen, die ein zweites Eingabeaudiosignal umfassen, das von einem Sensor eines zweiten Client-Computergeräts erkannt wurde, und das zweite Eingabeaudiosignal zu parsen, um eine zweite Anfrage und ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht;die Direktaktions-API, um, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage, eine zweite Aktionsdatenstruktur mit einem Parameter zu erzeugen, der eine zweite Aktion definiert; undeine Pooling-Komponente des Datenverarbeitungssystems, um:basierend auf einer heuristischen Technik, die auf den Parameter der ersten Datenstruktur und den Parameter der zweite Datenstruktur angewandt wird, einen Pooling-Parameter zu ermitteln, der einen Grad der Überlappung zwischen der ersten Datenstruktur und der zweiten Datenstruktur angibt;basierend auf dem Pooling-Parameter, der ersten Aktionsdatenstruktur und zweiten Aktionsdatenstruktur eine gepoolte Datenstruktur zu erzeugen; undüber ein Computernetzwerk, die gepoolte Datenstruktur an ein Dienstanbieter-Computergerät zu übertragen, um das Dienstanbieter-Computergerät zu veranlassen, einen Vorgang durchzuführen, der durch die gepoolte Datenstruktur definiert wird und der ersten Aktion und der zweiten Aktion entspricht.

Description

  • HINTERGRUND
  • Paketbasierte oder anderweitige überhöhte Netzwerkübertragungen von Netzwerkverkehrsdaten zwischen Computergeräten können ein Computergerät daran hindern, die Netzwerkverkehrsdaten richtig zu verarbeiten, einen Vorgang, der mit den Netzwerkverkehrsdaten verbunden ist, abzuschließen oder zeitgerecht auf die Netzwerkverkehrsdaten zu reagieren. Die überhöhten Netzwerkübertragungen von Netzwerkverkehrsdaten können zudem ein Datenrouting erschweren oder die Qualität der Antwort verschlechtern, falls das reagierende Computergerät an oder über dessen Verarbeitungskapazität gelangt, was eine ineffiziente Bandbreitenauslastung zur Folge haben kann. Die Steuerung von Netzwerkübertragungen, die Inhaltselementobjekten entsprechen, kann durch die große Anzahl von Inhaltselementobjekten erschwert werden, die Netzwerkübertragungen von Netzwerkverkehrsdaten zwischen Computergeräten initiieren können.
  • KURZDARSTELLUNG
  • Mindestens ein Aspekt ist auf ein System zum Verwalten sprachaktivierter Threads in einer auf sprachaktivierten, Datenpaketen basierten Computernetzwerkumgebung gerichtet. Eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, kann, über eine Schnittstelle des Datenverarbeitungssystems, Datenpakete empfangen, die ein durch einen Sensor eines ersten Client-Computergeräts erkanntes erstes Eingabeaudiosignal umfassen. Die Prozessorkomponente für natürliche Sprache kann das erste Eingabeaudiosignal parsen, um eine erste Anfrage und ein erstes Auslöserschlüsselwort zu identifizieren, das der ersten Anfrage entspricht. Eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) des Datenverarbeitungssystems kann, basierend auf dem ersten Auslöserschlüsselwort und in Reaktion auf die erste Anfrage, eine erste Aktionsdatenstruktur mit einem Parameter erzeugen, der eine erste Aktion identifiziert. Die Prozessorkomponente für natürliche Sprache kann, über die Schnittstelle des Datenverarbeitungssystems, Datenpakete empfangen, die ein zweites Eingabeaudiosignal umfassen, das von einem Sensor eines zweiten Client-Computergeräts erkannt wurde, und kann das zweite Eingabeaudiosignal parsen, um eine zweite Anfrage und ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht. Die Direktaktions-Anwendungsprogrammierschnittstelle kann, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage, eine zweite Aktionsdatenstruktur mit einem Parameter erzeugen, der eine zweite Aktion definiert. Die Pooling-Komponente des Datenverarbeitungssystems kann, basierend auf einer heuristischen Technik, die auf den Parameter der ersten Datenstruktur und den Parameter der zweite Datenstruktur angewandt wird, einen Pooling-Parameter ermitteln, der einen Grad der Überlappung zwischen der ersten Datenstruktur und der zweiten Datenstruktur angibt. Die Pooling-Komponente kann, basierend auf dem Pooling-Parameter, die erste Aktionsdatenstruktur mit der zweiten Aktionsdatenstruktur in einer gepoolten Datenstruktur kombinieren. Die Pooling-Komponente kann, über ein Computernetzwerk, die gepoolte Datenstruktur an ein Dienstanbieter-Computergerät übertragen, um das Dienstanbieter-Computergerät zu veranlassen, einen Vorgang durchzuführen, der durch die gepoolte Datenstruktur definiert wird und der ersten Aktion und der zweiten Aktion entspricht.
  • Mindestens ein Aspekt offenbart ein Verfahren, sprachaktivierte Threads in einer auf sprachaktivierten, Datenpaketen basierten Computernetzwerkumgebung zu verwalten. Das Verfahren kann das Empfangen von Datenpaketen, die ein durch einen Sensor eines ersten Client-Computergeräts erkanntes erstes Eingabeaudiosignal umfassen, durch eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, über eine Schnittstelle des Datenverarbeitungssystems, beinhalten. Das Verfahren kann das Parsen des ersten Eingabeaudiosignals zum Identifizieren einer ersten Anfrage und eines ersten Auslöserschlüsselworts, das der ersten Anfrage entspricht, durch die Prozessorkomponente für natürliche Sprache beinhalten. Das Verfahren kann das Erzeugen einer ersten Aktionsdatenstruktur mit einem Parameter, der die erste Aktion definiert, durch eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) des Datenverarbeitungssystems basierend auf dem ersten Auslöserschlüsselwort und in Reaktion auf die erste Anfrage beinhalten. Das Verfahren kann das Empfangen, durch die Prozessorkomponente für natürliche Sprache, über die Schnittstelle des Datenverarbeitungssystems, von Datenpaketen beinhalten, die ein zweites Eingabeaudiosignal umfassen, das von einem Sensor eines zweiten Client-Computergeräts erkannt wurde, und das Parsen, durch die Prozessorkomponente für natürliche Sprache, des zweiten Eingabeaudiosignals, um eine zweite Anfrage und ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht. Das Verfahren kann das Erzeugen einer zweiten Aktionsdatenstruktur mit einem Parameter, der eine zweite Aktion definiert, durch die Direktaktions-API, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage beinhalten. Das Verfahren kann das Ermitteln eines Pooling-Parameters, der einen Grad der Überlappung zwischen der ersten Datenstruktur und der zweiten Datenstruktur angibt, durch die Pooling-Komponente des Datenverarbeitungssystems, basierend auf einer heuristischen Technik, die auf den Parameter der ersten Datenstruktur und den Parameter der zweite Datenstruktur angewandt wird, beinhalten. Das Verfahren kann das Kombinieren, basierend auf dem Pooling-Parameter, der ersten Aktionsdatenstruktur mit der zweiten Aktionsdatenstruktur in einer gepoolten Datenstruktur beinhalten. Das Verfahren kann das Übertragen, über ein Computernetzwerk, der gepoolten Datenstruktur an ein Dienstanbieter-Computergerät beinhalten, um das Dienstanbieter-Computergerät zu veranlassen, einen Vorgang durchzuführen, der durch die gepoolte Datenstruktur definiert wird und der ersten Aktion und der zweiten Aktion entspricht.
  • Mindestens ein Aspekt bezieht sich auf ein computerlesbares Speichermedium, das Anweisungen speichert, die, wenn sie durch einen oder mehrere Datenprozessoren ausgeführt werden, den einen oder die mehreren Datenprozessoren veranlassen, Vorgänge auszuführen, um sprachaktivierte Threads in einer auf sprachaktivierten Datenpakten basierenden Computernetzwerkumgebung zu verwalten. Die Vorgänge können das Empfangen von Datenpaketen, die ein durch einen Sensor eines ersten Client-Computergeräts erkanntes erstes Eingabeaudiosignal umfassen, durch eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, über eine Schnittstelle des Datenverarbeitungssystems, beinhalten. Die Vorgänge können das Parsen des ersten Eingabeaudiosignals zum Identifizieren einer ersten Anfrage und eines ersten Auslöserschlüsselworts, das der ersten Anfrage entspricht, durch die Prozessorkomponente für natürliche Sprache beinhalten. Die Vorgänge können das Erzeugen einer ersten Aktionsdatenstruktur mit einem Parameter, der die erste Aktion definiert, durch eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) des Datenverarbeitungssystems basierend auf dem ersten Auslöserschlüsselwort und in Reaktion auf die erste Anfrage beinhalten. Die Vorgänge können das Empfangen, durch die Prozessorkomponente für natürliche Sprache, über die Schnittstelle des Datenverarbeitungssystems, von Datenpaketen beinhalten, die ein zweites Eingabeaudiosignal umfassen, das von einem Sensor eines zweiten Client-Computergeräts erkannt wurde, sowie das Parsen, durch die Prozessorkomponente für natürliche Sprache, des zweiten Eingabeaudiosignals, um eine zweite Anfrage und ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht. Die Vorgänge können das Erzeugen einer zweiten Aktionsdatenstruktur mit einem Parameter, der eine zweite Aktion definiert, durch die Direktaktions-API, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage beinhalten. Die Vorgänge können das Ermitteln eines Pooling-Parameters, der einen Grad der Überlappung zwischen der ersten Datenstruktur und der zweiten Datenstruktur angibt, durch die Pooling-Komponente des Datenverarbeitungssystems, basierend auf einer heuristischen Technik, die auf den Parameter der ersten Datenstruktur und den Parameter der zweite Datenstruktur angewandt wird, beinhalten. Die Vorgänge können das Kombinieren, basierend auf dem Pooling-Parameter, der ersten Aktionsdatenstruktur mit der zweiten Aktionsdatenstruktur in einer gepoolten Datenstruktur beinhalten. Die Vorgänge können das Übertragen, über ein Computernetzwerk, der gepoolten Datenstruktur an ein Dienstanbieter-Computergerät beinhalten, um das Dienstanbieter-Computergerät zu veranlassen, einen Vorgang durchzuführen, der durch die gepoolte Datenstruktur definiert wird und der ersten Aktion und der zweiten Aktion entspricht.
  • Diese und andere Aspekte und Implementierungen werden nachfolgend näher erläutert. Die vorstehenden Informationen und die folgende ausführliche Beschreibung beinhalten veranschaulichende Beispiele verschiedener Aspekte und Implementierungen und stellen einen Überblick oder einen Rahmen für das Verständnis des Wesens und Charakters der beanspruchten Aspekte und Implementierungen bereit. Die Zeichnungen bieten eine Veranschaulichung und ein weiteres Verständnis der verschiedenen Aspekte und Implementierungen und sind in diese Spezifikation einbezogen und stellen einen Teil derselben dar.
  • Figurenliste
  • Die begleitenden Zeichnungen sollen nicht maßstabsgetreu sein. In den unterschiedlichen Zeichnungen werden gleiche Bezugszeichen und Bezeichnungen für gleiche Elemente verwendet. Aus Gründen der Übersichtlichkeit ist möglicherweise nicht jede Komponente in jeder Zeichnung beschriftet. In den Zeichnungen:
    • 1 stellt ein System zum Verwalten sprachaktivierter Threads in einer auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung dar;
    • 2 stellt ein Funktionsdiagramm einer gepoolten Datenstruktur für eine auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung dar;
    • 3 stellt ein Funktionsdiagramm des Aktionsdatenstruktur-Poolings und der Kommunikation zwischen Remote-Datenverarbeitungssystemen und Dienstanbieter-Computergeräten in einer auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung dar;
    • 4 stellt ein Verfahren zum Verwalten sprachaktivierter Threads in einer auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung dar; und
    • 5 zeigt ein Blockdiagramm, das eine allgemeine Architektur für ein Computersystem veranschaulicht, das zum Implementieren von Elementen der hierin beschriebenen und veranschaulichten Systeme und Verfahren eingesetzt werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nachfolgend finden sich ausführlichere Beschreibungen von verschiedenen Konzepten, die Verfahren, Vorrichtungen und Systeme zum Verwalten von sprachaktivierten Threads in einer auf sprachaktivierten Datenpaketen (oder einem anderen Protokoll) basierenden Computernetzwerkumgebung verbunden sind, und von Implementierungen derselben. Die verschiedenen Konzepte, die vorstehend vorgestellt wurden und nachstehend ausführlicher erläutert werden, können auf beliebige von zahlreichen Weisen implementiert werden.
  • Systeme und Verfahren der vorliegenden Offenbarung betreffen im Allgemeinen ein Datenverarbeitungssystem, das redundante oder überlappende sprachaktivierte Threads in einer sprachaktivierten Computernetzwerkumgebung verwaltet. Die sprachaktivierten Threads können eine oder mehrere Aktionen angeben, die durch mindestens eine Aktionsdatenstruktur repräsentiert werden. Das Datenverarbeitungssystem kann die Effizienz und Effektivität der Datenpaketübertragung über eines oder mehrere Computernetzwerke beispielsweise durch Poolen (z. B. Zusammenführen, Zusammenfassen oder Stapeln) von Aktionsdatenstrukturen aufgrund überlappender Gegenstände oder anderer überlappender oder gemeinsamer Parameter verbessern. Datenpakete oder andere protokollbasierte Signale, die den gepoolten Aktionsdatenstrukturen entsprechen, können durch eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) des Datenverarbeitungssystems verarbeitet werden um responsive Daten (z. B. Audioausgabe) bereitzustellen oder eine Aufgabe oder Aktion in Verbindung mit der gepoolten Aktionsdatenstruktur zu erledigen. Die Datenpakete oder andere protokollbasierte Signale, die den gepoolten Aktionsdatenstrukturen entsprechen, können durch eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) des Datenverarbeitungssystems zu mindestens einem Dienstanbieter-Computergerät geleitet werden, um eine Aufgabe oder Aktion in Verbindung mit der gepoolten Aktionsdatenstruktur zu erledigen.
  • Durch Zusammenführen oder Poolen mehrerer Aktionsdatenstrukturen in einer einzelnen oder gepoolten Aktionsdatenstruktur und Stapelverarbeitung der gepoolten Aktionsdatenstruktur kann das Datenverarbeitungssystem die Prozessornutzung, den Stromverbrauch, die Bandbreitennutzung und die Speichernutzung gegenüber individueller oder nicht gepoolter Evaluierung der individuellen Aktionsdatenstrukturen verringern. Das Bereitstellen der gepoolten Aktionsdatenstruktur für das Dienstanbieter-Computergerät über ein Computernetzwerk kann beispielsweise weniger Bandbreite nutzen als das Bereitstellen mehrerer individueller Aktionsdatenstrukturen für das Dienstanbieter-Computergerät. Die gepoolte Aktionsdatenstruktur kann Redundanzen beseitigen, die in mehreren individuellen Aktionsdatenstrukturen vorhanden sind, was eine verringerte Prozessorauslastung und Stromnutzung durch das Datenverarbeitungssystem beim Ermitteln von Aktionen in Reaktion auf die gepoolte Aktionsdatenstruktur relativ zu dem Ermitteln von Aktionen in Reaktion auf jede individuelle oder nicht gepoolte Aktionsdatenstruktur zur Folge hat.
  • Durch zumindest teilweises Umgehen individueller Aktionsdatenstruktur-Verarbeitung und stattdessen Erzeugen gepoolter Aktionsdatenstrukturen kann das Datenverarbeitungssystem Datenverarbeitung verringern, verzögern oder beseitigen, die mit individuellen Aktionsdatenstrukturvorgängen verknüpft ist. Dies spart Verarbeitungsleistung und andere Rechenressourcen, wie z. B. Speicher, reduziert den Stromverbrauch des Datenverarbeitungssystems, darüber hinaus werden durch die reduzierte Datenübertragung über das Computernetzwerk der Bandbreitenbedarf und die Auslastung des Datenverarbeitungssystems reduziert.
  • Die hierin beschriebenen Systeme und Verfahren können ein Datenverarbeitungssystem beinhalten, das eine Eingabeaudioabfrage empfängt, die auch als ein Eingabeaudiosignal bezeichnet werden kann. Vom Eingabeaudiosignal kann das Datenverarbeitungssystem eine Anfrage und ein Auslöserschlüsselwort gemäß der Anfrage identifizieren. Basierend auf dem Auslöserschlüsselwort oder der Anfrage kann das Datenverarbeitungssystem eine erste Aktionsdatenstruktur ermitteln, die mindestens einen Parameter beinhaltet, der eine erste Aktion definiert. Das Datenverarbeitungssystem kann außerdem ein zweites Eingabeaudiosignal empfangen und von mindestens einer Anfrage oder einem Auslöserschlüsselwort des zweiten Eingabeaudiosignals eine zweite Aktionsdatenstruktur identifizieren, die mindesten einen Parameter beinhaltet, der die zweite Aktion definiert. Das Datenverarbeitungssystem kann aus den Parametern der ersten und zweiten Aktionsdatenstrukturen mindestens einen Pooling-Parameter ermitteln. Der Pooling-Parameter kann einen Grad der Überlappung (z. B. Gemeinsamkeit des Gegenstands) zwischen der ersten Aktionsdatenstruktur und der zweiten Aktionsdatenstruktur angeben.
  • Basierend auf dem Pooling-Parameter kann das Datenverarbeitungssystem die erste Aktionsdatenstruktur und die zweite Datenstruktur kombinieren, um eine gepoolte Datenstruktur zu erzeugen. Die gepoolte Datenstruktur kann mindestens einen Parameter der Aktionen (z. B. der ersten Aktion oder der zweiten Aktion) angeben, der den Client-Computergeräten gemeinsam ist, die die Quellen der Eingabeaudiosignale sind. Das Datenverarbeitungssystem kann die gepoolte Datenstruktur verarbeiten, um Ausgabesignale (z. B. ein Audioinhaltselement für das Wiedergeben auf einem oder mehreren Client-Computergeräten) zu erzeugen oder um Aufgaben in Verbindung mit den ersten und zweiten Aktionen zu erledigen. Das Datenverarbeitungssystem kann außerdem die gepoolte Datenstruktur an mindestens ein Dienstanbieter-Computergerät übertragen, um den Dienstanbieter zu veranlassen, von der gepoolten Datenstruktur definierte Vorgänge durchzuführen. Diese Vorgänge können den ersten oder zweiten Aktionen entsprechen und können Aufgaben in Verbindung mit den ersten oder zweiten Aktionen erledigen. Das Poolen der Aktionsdatenstrukturen bewirkt, dass die Vorgänge oder Aufgaben, die den ersten oder zweiten Aktionen entsprechen, mit weniger Datenverarbeitung oder weniger Stromverbrauch durch das Datenverarbeitungssystem (oder durch das Dienstanbieter-Computergerät) durchgeführt oder erledigt werden, als es ohne den Pooling-Vorgang der Fall wäre.
  • 1 stellt ein exemplarisches System 100 zum Verwalten oder sonstigen Optimieren der Verarbeitung sprachaktivierter Threads in einer auf sprachaktivierten Datenpaketen (oder einem anderen Protokoll) basierenden Computernetzwerkumgebung dar. Das System 100 kann mindestens ein Datenverarbeitungssystem 105 beinhalten. Das Datenverarbeitungssystem 105 kann mindestens einen Server, der mindestens einen Prozessor aufweist, beinhalten. Das Datenverarbeitungssystem 105 kann beispielsweise eine Vielzahl von Servern beinhalten, die sich in mindestens einem Rechenzentrum oder einer Serverfarm befinden. Das Datenverarbeitungssystem 105 kann aus Audioeingabesignalen Anfragen und mit der Anfrage verbundene Auslöserschlüsselwörter ermitteln. Basierend auf den Anfragen und Auslöserschlüsselwörtern kann das Verarbeitungssystem 105 Aktionsdatenstrukturen erzeugen, die jeweils jeweilige Parameter aufweisen, die jeweilige Aktionen angeben oder definieren. Das Datenverarbeitungssystem 105 kann aus den jeweiligen Parametern einen Grad der Gemeinsamkeit oder Überlappung zwischen den Aktionsdatenstrukturen ermitteln. In Reaktion auf das Ermitteln eines ausreichenden Grades der Überlappung durch das Datenverarbeitungssystem kann das Datenverarbeitungssystem 105 mehrere verschiedene Aktionsdatenstrukturen in einer gepoolten Aktionsdatenstruktur poolen (oder anderweitig kombinieren oder zusammenführen).
  • Das Datenverarbeitungssystem 105 kann mehrere, logisch gruppierte Server beinhalten und verteilte Rechenprozesse ermöglichen. Die logische Gruppe von Servern kann als Rechenzentrum, Serverfarm oder Computerfarm bezeichnet werden. Die Server können auf verschiedene Standorte verteilt sein. Ein Rechenzentrum oder eine Computerfarm kann als eine einzelne Entität verwaltet werden oder die Computerfarm kann eine Vielzahl von Computerfarmen beinhalten. Die Server in einer Computerfarm können heterogen sein - ein oder mehrere der Server oder Computer können gemäß einem oder mehreren Arten von Betriebssystemplattformen betrieben werden. Das Datenverarbeitungssystem 105 kann Server in einem Rechenzentrum beinhalten, die in einem oder mehreren Lagersystemen mit hoher Dichte gespeichert sind, zusammen mit verbundenen Speichersystemen, die sich beispielsweise in einem Enterprise-Rechenzentrum befinden. Das Datenverarbeitungssystem 105 mit konsolidierten Servern kann auf diese Weise Systemverwaltung, Datensicherheit, physische Sicherheit des Systems sowie Systemleistung durch das Lokalisieren von Servern und Hochleistungsspeichersystemen in lokalisierten Hochleistungsnetzwerken verbessern. Die Zentralisierung sämtlicher oder einiger Komponenten des Datenverarbeitungssystems 105, einschließlich Server und Speichersysteme, sowie das Koppeln dieser mit verbesserten System-Management-Tools ermöglicht eine effizientere Verwendung von Server-Ressourcen, wodurch Strom- und Verarbeitungsanforderungen eingespart und die Bandbreitenauslastung reduziert werden.
  • Das Datenverarbeitungssystem 105 kann mindestens eine Prozessorkomponente 110 für natürliche Sprache (NLP), mindestens eine Schnittstelle 115, mindestens eine Pooling-Komponente 120, mindestens eine Inhaltsauswahlelementkomponente 125, mindestens eine Audiosignalgeneratorkomponente 130, mindestens eine Direktaktions-Anwendungsprogrammierschnittstelle (API) 135, mindestens eine Sitzungshandhabungskomponente 140 und mindestens ein Datenbehälter 145 beinhalten. Die NLP-Komponente 110, Schnittstelle 115, Pooling-Komponente 120, Inhaltsauswahlelementkomponente 125, Audiosignalgeneratorkomponente 130, Direktaktions-API 135 und Sitzungshandhabungskomponente 140 können jeweils mindestens eine Verarbeitungseinheit, einen Server, virtuellen Server, eine Schaltung, eine Maschine, einen Agenten, eine Vorrichtung oder ein sonstiges Logik-Gerät, wie z. B. programmierbare Arrays beinhalten, die konfiguriert sind, mit dem Datenbehälter 145 und mit sonstigen Computergeräten (z. B. dem Client-Computergerät 150, dem Inhaltsanbieter-Computergerät 155 oder dem Dienstanbieter-Computergerät 160) über das mindestens eine Computernetzwerk 165 kommunizieren zu können. Das Netzwerk 165 kann Computernetzwerke, wie z. B. das Internet, lokale Netzwerke, regionale Netzwerke und Großraumnetzwerke oder sonstige Bereichsnetzwerke, Intranets, Satellitennetzwerke oder sonstige Computernetzwerke, wie z. B. sprach- oder datenbezogene Mobilfunknetze und Kombinationen derselben, beinhalten.
  • Das Netzwerk 165 kann ein Anzeigenetzwerk, wie z. B. eine im Internet verfügbare Untergruppe von Informationsquellen, beinhalten oder bilden, die mit einem sprachaktivierten Assistentensystem, Inhaltsanordnungs- oder Suchmaschinenergebnissystem verknüpft sind, oder die geeignet sind, Drittanbieterinhaltselemente als Teil einer Inhaltselementanordnungskampagne zu beinhalten. Das Netzwerk 165 kann durch das Datenverarbeitungssystem 105 verwendet werden, um auf Informationsressourcen, wie z. B. Webseiten, Internetpräsenzen, Domänennamen oder URL-Adressen zuzugreifen, die durch das Client-Computergerät 150 präsentiert, ausgegeben, wiedergegeben oder angezeigt werden können. Über das Netzwerk 165 kann ein Benutzer des Client-Computergeräts 150 beispielsweise auf Informationen oder Daten zugreifen, die durch das Inhaltsanbieter-Computergerät 155 oder das Dienstanbieter-Computergerät 160 bereitgestellt werden.
  • Das Netzwerk 165 kann beispielsweise ein Point-to-Point-Netzwerk, ein Broadcast-Netzwerk, ein Großraumnetzwerk, ein lokales Netzwerk, ein Telekommunikationsnetzwerk, ein Datenkommunikationsnetzwerk, ein Computernetzwerk, ein ATM (Asynchroner Transfermodus)-Netzwerk, ein SONET (Synchrones Optisches Netzwerk)-Netzwerk, ein SDH (Synchrone Digitale Hierarchie)-Netzwerk, ein Drahtlosnetzwerk oder ein kabelgebundenes Netzwerk, und Kombinationen derselben, beinhalten. Das Netzwerk 165 kann eine Drahtlosverbindung, wie beispielsweise einen Infrarotkanal oder ein Satellitenfrequenzband, beinhalten. Die Topologie des Netzwerks 165 kann eine Bus-, Stern- oder Ringnetzwerktopologie beinhalten. Das Netzwerk 165 kann ein beliebiges Protokoll oder beliebige Protokolle verwendende Mobilfunknetze, die zur Kommunikation zwischen Mobilgeräten verwendet werden, beinhalten, darunter auch Advanced Mobile Phone Protocol („AMPS“), Time Division Multiple Access („TDMA“), Code-Division Multiple Access („CDMA“), Global System for Mobile Communication („GSM“), General Packet Radio Services („GPRS“) und Universal Mobile Telecommunications System („UMTS“). Verschiedene Arten von Daten können über verschiedene Protokolle übertragen werden oder es können gleiche Arten von Daten über verschiedene Protokolle übertragen werden.
  • Das Client-Computergerät 150, das Inhaltsanbieter-Computergerät 155 und das Dienstanbieter-Computergerät 160 können mindestens ein Logikgerät, wie z. B. ein Computergerät mit einem Prozessor, zur Kommunikation miteinander oder mit dem Datenverarbeitungssystem 105 über das Netzwerk 165 beinhalten. Das Client-Computergerät 150, das Inhaltsanbieter-Computergerät 155 und das Dienstanbieter-Computergerät 160 können jeweils mindestens einen Server, Prozessor oder Speicher oder eine Vielzahl von Rechenressourcen oder Servern, die sich in mindestens einem Rechenzentrum befinden, beinhalten. Das Client-Computergerät 150, das Inhaltsanbieter-Computergerät 155 und das Dienstanbieter-Computergerät 160 können jeweils mindestens ein Computergerät, wie z. B. einen Desktop-Computer, Laptop, Tablet, persönlichen digitalen Assistenten, Smartphone, tragbaren Computer, Server, Thin Client-Computer, virtuellen Server, oder ein anderes Computergerät beinhalten.
  • Das Client-Computergerät 150 kann mindestens einen Sensor 151, mindestens einen Wandler 152, mindestens einen Audiotreiber 153 und mindestens einen Lautsprecher 154 beinhalten. Der Sensor 151 kann ein Mikrofon oder einen Audioeingabesensor beinhalten. Der Wandler 152 kann die Audioeingabe in ein elektronisches Signal umwandeln. Der Audiotreiber 153 kann ein Script oder Programm beinhalten, das durch einen oder mehrere Prozessoren des Client-Computergeräts 150 ausgeführt wird, um den Sensor 151, den Wandler 152, den Audiotreiber 153 oder andere Komponenten des Client-Computergeräts 150 zwecks Verarbeitens der Audioeingaben oder Bereitstellens der Audioausgaben zu steuern. Der Lautsprecher 154 kann das Audioausgabesignal übertragen oder wiedergeben.
  • Das Client-Computergerät 150 kann mit einem Endbenutzer verknüpft sein, der Sprachabfragen als Audioeingabe in das Client-Computergerät 150 (über den Sensor 151) eingibt, und eine Audioausgabe in Form einer computergenerierten Stimme empfängt, die von dem Datenverarbeitungssystem 105 (oder dem Inhaltsanbieter-Computergerät 155 oder dem Dienstanbieter-Computergerät 160) für das Client-Computergerät 150 bereitgestellt und von einem Lautsprecher 154 ausgegeben werden kann. Die computergenerierte Stimme kann Aufzeichnungen von einer realen Person oder einer computergenerierten Sprache beinhalten.
  • Das Inhaltsanbieter-Computergerät 155 kann audiobasierte Inhaltselemente zwecks Anzeigens durch das Client-Computergerät 150 als ein Audioausgabeinhaltselement bereitstellen. Das Inhaltselement kann ein Angebot für eine Ware oder eine Dienstleistung beinhalten, wie beispielsweise eine sprachbasierte Nachricht, die besagt: „Möchten Sie, dass ich für Sie ein Taxi bestelle?“ Beispielsweise kann das Inhaltsanbieter-Computergerät 155 einen Speicher zum Speichern einer Reihe von Audioinhaltselementen, die in Reaktion auf eine sprachbasierte Abfrage bereitgestellt werden können, beinhalten. Das Inhaltsanbieter-Computergerät 155 kann ebenfalls audiobasierte Inhaltselemente (oder andere Inhaltselemente) an das Datenverarbeitungssystem 105 bereitstellen, wo diese im Datenbehälter 145 gespeichert werden können. Das Datenverarbeitungssystem 105 kann die Audioinhaltselemente auswählen und die Audioinhaltselemente an das Client-Computergerät 150 bereitstellen (oder das Inhaltsanbieter-Computergerät 155 anweisen, diese bereitzustellen). Die audiobasierten Inhaltselemente können ausschließlich Audio sein oder mit Text-, Bild- oder Videodaten kombiniert sein.
  • Das Datenverarbeitungssystem 105 kann außerdem Umwandlungen durchführen, z. B. Aufgaben in Reaktion auf das Eingabeaudiosignal erledigen. Das Datenverarbeitungssystem 105 kann beispielsweise über die Direktaktions-API 135 ein Taxi anfordern, in Reaktion auf eine Anfrage, dies zu tun, die vom Client-Computergerät 150 empfangen wird. Das Datenverarbeitungssystem 105 kann außerdem eine Umwandlung durchführen, indem es dem Dienstanbieter-Computergerät 160 Daten (z. B. eine gepoolte Datenstruktur) bereitstellt, sodass das Dienstanbieter-Computergerät eine Aufgabe erledigen kann, indem es zum Beispiel ein Taxi anfordert, in Reaktion auf eine Anfrage dies zu tun, die durch das Datenverarbeitungssystem 105 vom Client-Computergerät 150 empfangen wurde. Das Datenverarbeitungssystem 105 kann außerdem Umwandlungsinformationen, die z. B. angeben, dass eine Aufgabe oder Aktion erledigt wurde, von den Client-Computergeräten 150, von den Inhaltsanbieter-Computergeräten 155 oder von den Dienstanbieter-Computergeräten 160 empfangen.
  • Das Dienstanbieter-Computergerät 160 kann mindestens eine Prozessorkomponente für natürliche Sprache (NLP) 161 des Dienstanbieters und mindestens eine Dienstanbieterschnittstelle 162 beinhalten. Die Dienstanbieter-NLP-Komponente 161 (oder andere Komponenten, wie z. B. eine Direktaktions-API des Dienstanbieter-Computergeräts 160) kann das Client-Computergerät 150 (über das Datenverarbeitungssystem 105 oder durch Umgehen des Datenverarbeitungssystems 105) ansteuern, um eine hin und her gehende sprach- oder audiobasierte Konversation in Echtzeit (z. B. eine Sitzung) zwischen dem Client-Computergerät 150 und dem Dienstanbieter-Computergerät 160 zu erzeugen. Die Dienstanbieterschnittstelle 162 kann beispielsweise Datennachrichten empfangen oder diese an die Direktaktions-API 135 des Datenverarbeitungssystems 105 bereitstellen. Das Dienstanbieter-Computergerät 160 und das Inhaltsanbieter-Computergerät 155 können mit der gleichen Entität verknüpft sein. Beispielsweise kann das Dienstanbieter-Computergerät 155 Inhalte für einen Fahrgemeinschaftsdienst erzeugen, speichern oder bereitstellen, und das Dienstanbieter-Computergerät 160 kann eine Sitzung mit dem Client-Computergerät 150 herstellen, um die Bereitstellung eines Taxis oder Autos des Fahrgemeinschaftsdienstes zu veranlassen, den Endbenutzer des Client-Computers 150 abzuholen. Das Datenverarbeitungssystem 105 kann über die Direktaktions-API 135, die NLP-Komponente 110 oder andere Komponenten zudem die Sitzung mit dem Client-Computergerät herstellen, einschließlich oder unter Umgehung des Dienstanbieter-Computergeräts 160, um z. B. die Bereitstellung eines Taxis oder Autos des Fahrgemeinschaftsdienstes zu veranlassen.
  • Der Datenbehälter 145 kann eine oder mehrere lokale oder verteilte Datenbanken sowie ein Datenbankverwaltungssystem beinhalten. Der Datenbehälter 145 kann Computerdatenspeicher oder Arbeitsspeicher beinhalten und kann einen oder mehrere Parameter 146, eine oder mehrere Richtlinien 147, Interaktionsmodi 148 und Vorlagen 149 neben anderen Daten speichern. Die Parameter 146, Richtlinien 147 und Vorlagen 149 können Informationen, wie z. B. Regeln über eine sprachbasierte Sitzung zwischen dem Client-Computergerät 150 und dem Datenverarbeitungssystem 105 (oder dem Dienstanbieter-Computergerät 160) beinhalten. Die Inhaltsdaten 148 können Inhaltselemente zur Audioausgabe oder verknüpfte Metadaten sowie eingegebene Audionachrichten, die Teil von einer oder mehreren Kommunikationssitzungen mit dem Client-Computergerät 150 sein können, beinhalten.
  • Das System 100 kann die Verarbeitung von sprachaktivierten Threads (die z. B. eine oder mehrere Aktionen angeben) in einer auf sprachaktivierten, Datenpaketen (oder einem anderen Protokoll) basierenden Computernetzwerkumgebung optimieren. Beispielsweise kann das Datenverarbeitungssystem 105 einen sprachaktivierten Assistentendienst, ein Sprachbefehlsgerät, einen intelligenten persönlichen Assistenten, einen Wissensnavigator, eine Ereignisplanung oder ein anderes Assistentenprogramm beinhalten oder Teil davon sein. Das Datenverarbeitungssystem 105 kann eine oder mehrere Instanzen der Audioausgabe für die Anzeige von dem Client-Computergerät 150 bereitstellen, um Aufgaben im Zusammenhang mit diesem Eingabeaudiosignal zu erfüllen. Zu den Aufgaben kann z. B. die Kommunikation mit dem Dienstanbieter-Computergerät 160 oder anderen Drittanbieter-Computergeräten gehören, um Abendessen zu reservieren oder Kinokarten zu kaufen. Zum Beispiel kann ein Endbenutzer ein Eingabeaudiosignal in das Client-Computergerät 150 wie folgt eingeben: „OK, ich würde heute Abend gerne aus essen und dann ins Kino gehen.“
  • Das Datenverarbeitungssystem 105 kann eine Anwendung, ein Script oder ein Programm beinhalten, die/das auf dem Client-Computergerät 150 installiert ist, wie beispielsweise eine App eines sprachaktivierten Assistentensystems, um Eingabeaudiosignale an die Schnittstelle 115 des Datenverarbeitungssystems 105 zu kommunizieren, und um Komponenten des Client-Computergeräts anzusteuern, um Ausgabeaudiosignale wiederzugeben. Das Datenverarbeitungssystem 105 kann Datenpakete oder ein anderes Signal empfangen, das ein Audioeingabesignal beinhaltet oder identifiziert. Beispielsweise kann das Datenverarbeitungssystem 105 die NLP-Komponente 110 ausführen oder ausführen lassen, um das Audiosignal zu empfangen.
  • Das Audioeingabesignal kann durch den Sensor 151 (z. B. ein Mikrofon) von dem Client-Computergerät erkannt werden. Über den Wandler 152, den Audiotreiber 153 oder andere Komponenten kann das Client-Computergerät 150 das Audioeingabesignal an das Datenverarbeitungssystem 105 (z. B. über das Netzwerk 165) bereitstellen, wo es (z. B. durch die Schnittstelle 115) empfangen werden kann, und an die NLP-Komponente 110 bereitgestellt, oder in dem Datenbehälter 145 als Inhaltsdaten 148 gespeichert werden kann.
  • Die NLP-Komponente 110 kann das Eingabeaudiosignal erhalten. Aus dem Eingabeaudiosignal kann die NLP-Komponente 110 mindestens eine Anfrage oder mindestens ein der Anfrage entsprechendes Auslöserschlüsselwort identifizieren. Die Anfrage kann Absicht oder Gegenstand des Eingabeaudiosignals anzeigen. Das Auslösersschlüsselwort kann eine Aktionsart anzeigen, die voraussichtlich vorzunehmen ist. Die NLP-Komponente 110 kann beispielsweise das Eingabeaudiosignal parsen, um mindestens eine Anfrage zu identifizieren, am Abend aus essen und ins Kino zu gehen. Das Auslöserschlüsselwort kann mindestens ein Wort, eine Phrase, einen Wortstamm oder ein Wortteil oder eine Ableitung beinhalten, das bzw. die eine vorzunehmende Aktion anzeigen. Das Auslöserschlüsselwort „gehen“ oder „gehen zu“ von dem Eingabeaudiosignal kann beispielsweise eine Notwendigkeit für einen Transport anzeigen. Bei diesem Beispiel drückt das Eingabeaudiosignal (oder die identifizierte Anfrage) nicht direkt eine Absicht für einen Transport aus, das Auslöserschlüsselwort zeigt jedoch an, dass ein Transport eine Zusatz- oder Teilaktion für mindestens eine andere Aktion ist, die durch die Anfrage angezeigt wird.
  • Die NLP-Komponente 110 kann das Audioeingabesignal durch Vergleichen des Eingabesignals mit einer gespeicherten repräsentativen Reihe von Audiowellenformen (z. B. im Datenbehälter 145) und Auswählen der größten Übereinstimmungen in erkannten Text umwandeln. Die repräsentativen Wellenformen werden über eine große Menge von Benutzern erzeugt und können mit Sprachproben erweitert werden. Nachdem das Audiosignal in erkannten Text umgewandelt wurde, kann die NLP-Komponente 110 den Text mit Worten in Übereinstimmung bringen, die beispielsweise via Training über Benutzer oder durch manuelle Beschreibung mit Aktionen verknüpft sind, die das Datenverarbeitungssystem 105 bereitstellen kann.
  • Die Direktaktions-API 135 kann Programme oder Scripts ausführen, z. B. aus der NLP-Komponente 110, der Pooling-Komponente 120 oder der Inhaltsauswahlelementkomponente 125, um Inhaltselemente für eine oder mehrere dieser Aktionen zu identifizieren. Die Direktaktions-API 135 kann eine bestimmte Aktion ausführen, um die von dem Datenverarbeitungssystem 105 bestimmte Absicht des Endbenutzers zu erfüllen. Abhängig von der in ihren Eingaben spezifizierten Aktion, kann die Direktaktions-API 135 einen Code oder ein Dialogscript ausführen, der/das die zur Erfüllung einer Benutzeranfrage erforderlichen Parameter identifiziert. Dieser Code kann zusätzliche Informationen, beispielsweise in dem Datenbehälter 145, suchen, wie z. B. den Namen eines Hausautomatisierungsdienstes, oder kann Audioausgaben zum Wiedergeben auf dem Client-Computergerät 150 bereitstellen, um dem Endbenutzer Fragen, wie beispielsweise nach dem beabsichtigten Ziel eines angeforderten Taxis, zu stellen. Die Direktaktions-API 135 kann erforderliche Parameter bestimmen und die Informationen in eine Aktions-Datenstruktur zusammenfassen, welche sodann an eine andere Komponente, wie beispielsweise die Inhaltsauswahlelementkomponente 125 oder das Dienstanbieter-Computergerät 160, gesendet werden kann, um erfüllt zu werden. Die Direktaktions-API 135 kann auf Hardware des Datenverarbeitungssystems 105 ausgeführt werden oder diese beinhalten, wie z. B. ein oder mehrere Prozessoren von ein oder mehreren Servern in ein oder mehreren Rechenzentren.
  • Die Direktaktions-API 135 des Datenverarbeitungssystems 105 kann, basierend auf der Anfrage oder dem Auslöserschlüsselwort, Datenstrukturen für die Aktionen des Threads erzeugen. Die Aktionsdatenstrukturen können in Reaktion auf die erzeugte Anfrage vorhanden sein. Die Aktionsdatenstruktur kann in den Nachrichten enthalten sein, die an das Dienstanbieter-Computergerät 160 übertragen oder von diesem empfangen werden, z. B. als Teil von oder verknüpft mit gepoolten Datenstrukturen. Basierend auf der Anfrage, die von der NLP-Komponente 110 analysiert wird, kann die Direktaktions-API 135 ermitteln, an welche von mehreren Dienstanbieter-Computergeräten 160 die Nachricht übertragen werden soll. Wenn beispielsweise ein Eingabeaudiosignal „Bestellen Sie ein Taxi“ beinhaltet, kann die NLP-Komponente 110 das Auslöserwort „Bestellen“ und die Anfrage eines Taxis identifizieren. Die Direktaktions-API 135 kann die Anfrage in eine Aktionsdatenstruktur packen und als Nachricht an ein Dienstanbieter-Computergerät 160 eines Taxidienstes übertragen. Die Nachricht kann auch an die Inhaltsauswahlelementkomponente 125 weitergeleitet werden. Die Aktionsdatenstruktur kann Informationen zum Abschließen der Anfrage beinhalten. In diesem Beispiel können die Informationen einen Abholort und einen Zielort beinhalten. Die Direktaktions-API 135 kann eine Vorlage 149 aus dem Behälter 145 abrufen, um zu bestimmen, welche Felder in die Aktionsdatenstruktur aufgenommen werden sollen. Die Direktaktions-API 135 kann Inhalte aus dem Behälter 145 abrufen, um Informationen für die Felder der Datenstruktur zu erhalten. Die Direktaktions-API 135 kann die Felder der Vorlage mit diesen Informationen füllen, um die Datenstruktur zu generieren. Die Direktaktions-API 135 kann die Felder auch mit Daten aus dem Eingabeaudiosignal füllen. Die Vorlagen 149 können für Kategorien von Dienstanbietern standardisiert oder für bestimmte Dienstanbieter standardisiert werden. Beispielsweise können Fahrgemeinschaftsdienstanbieter die folgende standardisierte Vorlage 149 verwenden, um die Datenstruktur zu erzeugen: {client_device_identifier; authentication_credentials; pick_up_location; destination_location; no_passengers; service_level}.
  • Die NLP-Komponente 110 kann das Eingabeaudiosignal als Datenpaket oder andere protokollbasierte Übertragungen vom Client-Computergerät 150 empfangen. Das Eingabeaudiosignal könnte beispielsweise eine Spracheingabe in den Sensor 152 (z. B. ein Mikrofon) „OK, bring mich nach Hause“ sein. Aus diesem Eingabeaudiosignal kann die NLP-Komponente 110 mindestens eine Anfrage oder mindestens ein Auslöserschlüsselwort identifizieren. Die Anfrage kann den Gegenstand des Eingabeaudiosignals, z. B. Reise, angeben. Ein Auslöserschlüsselwort kann eine Aktion angeben, z. B. kann „bringen“ oder „nach Hause“ die Notwendigkeit eines Fahrgemeinschaftsdienstes zu einem Ziel angeben, das mit einem Heimatziel des Client-Computergeräts 150 verknüpft ist, von dem das Eingabeaudiosignal stammt.
  • Die Direktaktions-API 135 kann Anfragen oder Auslöserschlüsselwörter erhalten, die dem Eingabeaudiosignal entsprechen, und kann aus diesen Informationen eine Aktionsdatenstruktur erzeugen. Die Aktionsdatenstruktur kann Informationen beinhalten, die zum Beispiel für die Kommunikation mit dem Dienstanbieter-Computergerät verwendet werden, um ein Auto von einem Fahrgemeinschaftsdienst zu reservieren, das den Endbenutzer (von dem das Eingabeaudiosignal in das Client-Computergerät stammt) zu einem Ziel bringt. Die Aktionsdatenstruktur kann, mit Zustimmung des Endbenutzers, Parameter, wie z. B. das Identifizieren des Standorts des Client-Computergeräts 150 beinhalten, um das Abholen durch den Fahrgemeinschaftsdienst zu vereinbaren, sowie Informationen, die den Zielort identifizieren. Die Parameter können von Komponenten des Datenverarbeitungssystems 105 im Datenbehälter gespeichert und von diesem abgerufen werden (z. B. Parameter 146). Die Direktaktions-API 135 kann außerdem die Aktionsdatenstruktur so erzeugen, dass sie Parameter, wie z. B. Kontoinformationen eines mit dem Fahrgemeinschaftsdienst verbundenen Kontos, beinhaltet oder angibt. Die Direktaktions-API 135 kann beispielsweise, mit Zustimmung des Endbenutzers, diese Kontoinformationen (oder andere Parameter) von einer App oder einem Programm für den Fahrgemeinschaftsdienst, die/das auf dem Client-Computergerät 150 installiert ist, erhalten. Die Parameter können Aktionen angeben oder definieren, die mit Aktionsdatenstrukturen verknüpft sind. Die Direktaktions-API 135 kann auf dem Datenverarbeitungssystem 105 vom Client-Computergerät 150 entfernt installiert sein. Die Direktaktions-API 135 kann eine direkte Umwandlung durchführen, z. B. einen Auftrag bei dem Dienstanbieter-Computergerät 160 für die Fahrt mit dem Fahrgemeinschaftsdienst aufgeben, oder indirekt durch Bereitstellen der Aktionsdatenstruktur für das Dienstanbieter-Computergerät 160, damit das Dienstanbieter-Computergerät 160 die Aktionsdatenstruktur verarbeitet, um die Autoreservierungsaktion abzuschließen.
  • Die NLP-Komponente 110 kann mehrere Eingabeaudiosignale vom selben oder von verschiedenen Client-Computergeräten 150 erhalten. Für jedes Eingabeaudiosignal kann die NLP-Komponente entsprechende Anfragen oder entsprechende Auslöserschlüsselwörter identifizieren oder erstellen. Die Direktaktions-API 135 kann, basierend auf den jeweiligen Anfragen oder Auslöserschlüsselwörtern, Aktionsdatenstrukturen erzeugen, die den jeweiligen Eingabeaudiosignalen entsprechen. Die NLP-Komponente 110 kann beispielsweise ein erstes Eingabeaudiosignal empfangen, das die Spracheingabe „OK, bring mich nach Hause“ angibt. In Reaktion kann die Direktaktions-API 135 eine erste Aktionsdatenstruktur erzeugen, die zum Reservieren eines Autos von einem Fahrgemeinschaftsdienst für den Endbenutzer verwendet werden kann, der mit dem ersten Eingabeaudiosignal verknüpft ist. Die NLP-Komponente 110 kann außerdem ein zweites Eingabeaudiosignal empfangen, das zum Beispiel „OK, kann ich bitte ein Taxi bekommen“ angibt. In Reaktion kann die Direktaktions-API 135 eine zweite Aktionsdatenstruktur für einen Fahrgemeinschaftsdienst für den Endbenutzer erzeugen, der mit dem zweiten Eingabeaudiosignal verknüpft ist.
  • Das erste und das zweite Audioeingabesignal können vom selben Client-Computergerät 150 oder von verschiedenen Client-Computergeräten 150 stammen und können mit demselben oder verschiedenen Endbenutzern verknüpft sein. Die NLP-Komponente 110 kann ein erstes Eingabeaudiosignal von einem ersten Client-Computergerät 150 empfangen und kann ein zweites Eingabeaudiosignal von einem zweiten Client-Computergerät 150 empfangen, die mit verschiedenen Endbenutzern verknüpft sein können. Aus diesen Informationen, die Metadaten oder Header-Informationen paketbasierter Übertragungen neben ergänzenden Informationen beinhalten können, die von anderen Quellen als dem Eingabeaudiosignal erhalten werden können, wie z. B. von Inhaltsdaten 148 des Datenbehälters 145, kann die Direktaktions-API 135 eine erste Datenstruktur für das erste Eingabeaudiosignal und eine zweite Datenstruktur für das zweite Eingabeaudiosignal erzeugen. Die ersten und zweiten Datenstrukturen können beide Anfragen angeben, ein Auto von einem Fahrgemeinschaftsdienst zu reservieren. Jede Aktionsdatenstruktur kann Parameter beinhalten, die ihre eigenen Ursprungs- und Zielorte angeben, oder kann verschiedene Konten, die verschiedene Endbenutzer mit dem Fahrgemeinschaftsdienst haben (oder andere Parameter) angeben. Die Aktionsdatenstruktur kann außerdem einen oder mehrere Parameter beinhalten, die angeben, dass ein Client-Computergerät 150 (oder der verbundene Endbenutzer) kein Konto mit dem Fahrgemeinschaftsdienst oder einer anderen Entität hat.
  • Basierend beispielsweise auf Parametern mehrerer Aktionsdatenstrukturen kann die Pooling-Komponente 120 Überlappung oder Ähnlichkeiten zwischen zwei oder mehreren verschiedenen Aktionsdatenstrukturen identifizieren, die von verschiedenen Eingabeaudiosignalen erzeugt wurden. Einer oder mehrere Prozessoren des Datenverarbeitungssystems 105 können beispielsweise die Pooling-Komponente 120 entfernt vom Client-Computergerät 105 und entfernt vom Dienstanbieter-Computergerät 160 beinhalten oder ausführen, um einen überlappenden oder gemeinsamen Gegenstand von zwei oder mehr verschiedenen Aktionsdatenstrukturen zu identifizieren. Die Pooling-Komponente 120 kann eine heuristische Technik anwenden, um mit einem Schwellenwertgrad der Gewissheit gemeinsame Muster unter den Parametern der verschiedenen Aktionsdatenstrukturen zu identifizieren.
  • Der Grad der Überlappung kann eine Ähnlichkeitsmetrik sein oder beinhalten, die ein gemeinsames Merkmal mehrerer Aktionsdatenstrukturen angibt. Die Pooling-Komponente 120 kann eine Ähnlichkeitsmetrik ermitteln, die mehrere Aktionsdatenstrukturen in Bezug auf Zeitdaten, Standortdaten, Dienstanbieter-Entitätsdaten, Gegenstandsdaten oder geografische Daten angibt. Die Pooling-Komponente 120 kann beispielsweise ermitteln, dass mehrere Aktionsdatenstrukturen Anfragen für Transport von demselben Transportunternehmen oder Reservierungen für verschiedene Zeiten oder Abende für dasselbe Restaurant, Anfragen zur Anfahrt zu oder von einem gemeinsamen Ziel oder geografischen Bereich oder Anfragen zum Bestellen eines oder mehrerer Produkte von einer Entität beinhalten. Die Pooling-Komponente 120 kann die Ähnlichkeitsmetriken oder gemeinsamen Merkmale als mindestens einen Pooling-Parameter identifizieren, woraufhin die Pooling-Komponente die gestapelte oder gepoolte Datenstruktur basierend auf dem Pooling-Parameter erstellen kann. Die Überlappung kann, muss jedoch nicht, mindestens teilweise identischen Code oder teilweise identische Aktionsdatenstrukturen beinhalten. Die Pooling-Komponente 120 kann beispielsweise Überlappung basierend auf Anfragen von Dienstleistungen von derselben Entität oder auf Basis einer Gemeinsamkeit unter Parametern der Aktionsdatenstrukturen wie z. B. ähnliche, jedoch nicht identische, Zeit- oder Standortdaten identifizieren.
  • Parameter der ersten Datenstruktur können beispielsweise eine Anfrage für einen Fahrgemeinschaftsdienst von einem Abholort „Punkt A“ zu einem Ziel „Punkt B“ angeben. Parameter der zweiten Datenstruktur können eine andere Anfrage für einen Fahrgemeinschaftsdienst von einem Abholort „Punkt C“ zu einem Ziel „Punkt D“ angeben. Durch Anwenden einer heuristischen oder anderen statistischen Technik kann das Datenverarbeitungssystem 105 oder eine Komponente davon (z. B. die Pooling-Komponente 120) ermitteln, dass sich Abholort „Punkt C“ zwischen oder innerhalb einer Schwellenwertentfernung (z. B. 1 Meile) von einer Route zwischen „Punkt A“ und „Punkt B“ befindet. Die Pooling-Komponente 120 kann außerdem ermitteln, dass sich „Punkt D“ innerhalb einer Schwellenwertentfernung (z. B. 5 Meilen) vom Ziel „Punkt B“ befindet. Auch wenn die Parameter der verschiedenen Aktionsdatenstrukturen (z. B. Parameter, die verschiedene Punkte A-D angeben oder andere Informationen, wie z. B. verschiedene Konten, die mit verschiedenen Client-Computergeräten 150 verknüpft sind, kann die Pooling-Komponente 120 ermitteln, dass ausreichende Überlappung oder Gemeinsamkeit zwischen den Parametern, z. B. aufgrund von Routenähnlichkeiten bestehen, die Schwellenwertmetriken erfüllen. Die Pooling-Komponente 120 kann außerdem ermitteln, dass die zwei Aktionsdatenstrukturen sich überlappen, da jeweilige Parameter angeben, dass sie mit jeweiligen Eingabeaudiosignalen verknüpft sind, die innerhalb eines Schwellenwertzeitraums, wie z. B. 1 Minute, einer Stunde oder einem anderen Zeitraum voneinander erfolgt sind, oder da ihre jeweiligen Parameter angeben, dass sie beide eine Ware oder eine Dienstleistung von derselben Entität anfordern.
  • Die Pooling-Komponente 120 kann, basierend auf der Analyse von mindestens zwei Aktionsdatenstrukturen, mindestens einen Pooling-Parameter erzeugen. Der Pooling-Parameter kann einen gemeinsamen Gegenstand, gemeinsame Merkmale, Entitäten oder Parameter unter zwei oder mehr Datenstrukturen angeben. Der Pooling-Parameter kann beispielsweise angeben, dass die Anfragen für Fahrgemeinschaftsdienst, die durch Parameter der ersten und zweiten Aktionsdatenstrukturen angegeben werden, ähnliche Orte oder ähnliche Routen zwischen jeweiligen Quellen und Zielen teilen. Die Direktaktions-API 135 (oder das Dienstanbieter-Computergerät 160) kann diese Informationen verwenden, um die Aktionen, die mit den Aktionsdatenstrukturen verknüpft sind oder durch diese angegeben werden, wie z. B. Autodienstfahrten zwischen jeweiligen Quellen und Zielen, bereitzustellen.
  • Wie unter Bezugnahme auf 1 und 2 ersichtlich, kann unter anderem, die Pooling-Komponente 120 basierend auf dem ermittelten Grad der Überlappung mindestens eine gepoolte Datenstruktur 200 erstellen. Die gepoolte Datenstruktur kann eine paketbasierte Architektur (oder ein anderes Format) sowie einen Header 205 beinhalten. Der Header 205 kann ergänzende Daten beinhalten, die das Datenverarbeitungssystem 105 identifizieren, Quell- oder Zieladressinformationen, geltende Protokollinformationen, IP-Adressen, Frame-Synchronisierungsdaten, Größendaten, Auflösungsdaten oder Metadaten, die mit Aktionsdatenstrukturen verknüpft sind. Die Nutzlast oder der Korpus der gepoolten Datenstruktur 200 kann mindestens einen Pooling-Parameter 210 oder andere Informationen, wie z. B. mindestens einen ersten Parameter 215 oder mindestens einen zweiten Parameter 220, beinhalten. Der erste Parameter 215 kann einen Parameter der ersten Aktionsdatenstruktur 225 beinhalten und die zweiten Parameter 220 können einen Parameter der zweiten Aktionsdatenstruktur 230 beinhalten. Der erste Parameter 215, der zweite Parameter 220, die erste Aktionsdatenstruktur 225 und die zweite Aktionsdatenstruktur 230 können, müssen jedoch nicht, in der gepoolten Datenstruktur 200 enthalten sein. Der Korpus der gepoolten Datenstruktur 200 kann beispielsweise nur den ersten Pooling-Parameter 210 beinhalten (und nicht den ersten Parameter 215, den zweiten Parameter 220, die erste Aktionsdatenstruktur 225 oder die zweite Aktionsdatenstruktur 230 beinhalten) oder der Korpus der gepoolten Datenstruktur 200 kann den Pooling-Parameter 210 sowie eine oder mehrere aus dem ersten Parameter 215, dem zweiten Parameter 220, der ersten Aktionsdatenstruktur 225 oder der zweiten Aktionsdatenstruktur 230 beinhalten. Die gepoolte Datenstruktur 200 kann ein oder mehrere individuelle Pakete beinhalten, die getrennt nacheinander oder parallel als Teil von einer oder mehreren Datenübertragungen zwischen dem Datenverarbeitungssystem 105 und dem Dienstanbieter-Computergerät 160 übertragen werden. Der Pooling-Parameter oder Informationen in Header 205 können angeben, dass die getrennten Übertragungen oder getrennten Datenpakete mit derselben Stapelübertragung, z. B. derselben gesamten gepoolten Datenstruktur 200, verknüpft sind.
  • Wie unter Bezugnahme auf 3 ersichtlich, kann unter anderem, das Datenverarbeitungssystem 105 von einem ersten Client-Computergerät 150 das erste Eingabeaudiosignal 305 (z. B. „OK, bring mich nach Hause“) empfangen. Das Datenverarbeitungssystem 105 kann außerdem, von einem zweiten Client-Computergerät 150, das zweite Eingabeaudiosignal 310 (z. B. „OK, kann ich bitte ein Taxi bekommen“) empfangen. Das Datenverarbeitungssystem 105 kann jeweilige Parameter ermitteln, die Aktionen definieren, die mit dem ersten Eingabeaudiosignal 305 und dem zweiten Eingabeaudiosignal 305 verknüpft sind. Komponenten des Datenverarbeitungssystems 105, wie z. B. die Pooling-Komponente 120, können statistische oder heuristische Techniken auf Parameter anwenden, die mit dem ersten Eingabeaudiosignal 305 und dem zweiten Eingabeaudiosignal 310 verknüpft sind, um mindestens einen Pooling-Parameter zu erzeugen, der eine Gegenstandsüberlappung oder Gemeinsamkeit zwischen dem ersten Eingabeaudiosignal 305 und dem zweiten Eingabeaudiosignal 310 angibt. Der Pooling-Parameter kann beispielsweise angeben, dass das erste Eingabeaudiosignal 305 und das zweite Eingabeaudiosignal sich beide auf Anfragen beziehen, ein Auto von einem Fahrgemeinschaftsdienst zu mieten. Das Datenverarbeitungssystem 105 kann die Aktionsdatenstrukturen, die dem ersten Eingabeaudiosignal 305 und dem zweiten Eingabeaudiosignal 310 entsprechen, in Stapeln oder Pools zusammenfassen, um die gestapelte oder gepoolte Datenstruktur 200 zu erstellen. Das Datenverarbeitungssystem 105 kann die gepoolte Datenstruktur 200 zum Dienstanbieter-Computergerät 160 für die Verarbeitung durch das Dienstanbieter-Computergerät 160, mindestens ein Auto zu reservieren, in Reaktion auf die ersten und zweiten Eingabeaudiosignale 305, 310 übertragen oder anderweitig bereitstellen.
  • Die gepoolte Datenstruktur 200 kann Pooling-Parameter beinhalten, die aus mehr als zwei Aktionsdatenstrukturen (oder mehr als zwei Eingabeaudiosignalen) erzeugt wurden. Ein drittes Audioeingabesignal kann beispielsweise das Datenverarbeitungssystem 105 veranlassen, eine dritte Aktionsdatenstruktur für eine dritte Aktion zu erzeugen. Die Pooling-Komponente 120 kann mindestens einen Pooling-Parameter basierend auf Parametern der dritten Aktionsdatenstruktur identifizieren. In Reaktion auf diese Ermittlung kann die Pooling-Komponente 120 die gepoolte Datenstruktur 200 so ändern, dass sie eine Verbindung mit der dritten Datenstruktur beinhaltet oder angibt, oder kann eine neue gepoolte Datenstruktur beinhalten, die mit drei (oder mehr) Eingabeaudiosignalen verknüpft ist.
  • Durch Konsolidieren individueller Aktionsdatenstrukturen in mindestens eine gepoolte Datenstruktur 200 und Übertragen der gepoolte Datenstruktur(en) 200 zum Dienstanbieter-Computergerät 160 anstatt der individuellen Aktionsdatenstrukturen für jedes Eingabeaudiosignal 305, 310 kann das Datenverarbeitungssystem 105 die Anzahl, Größe oder Häufigkeit der Datenübertragungen über das Netzwerk 165 verringern. Dies kann Bandbreitennutzung von Netzwerkübertragungen sowie die Verarbeitungsleistungs- und Speicheranforderungen sowohl des Datenverarbeitungssystems 105 (z. B. Datenbehälter 145) als auch des Dienstanbieter-Computergeräts 160 verringern, die sonst für das Verarbeiten und Übertragen individueller Aktionsdatenstrukturen verwendet werden würden, die einen Grad der Redundanz oder Gegenstandsüberlappung in ihren Daten enthalten können.
  • Die gepoolte Datenstruktur 200 kann, muss jedoch nicht, eine einzelne Datenstruktur sein. Die gepoolte Datenstruktur kann mehrere individuelle Datenstrukturen beinhalten, die vom Datenverarbeitungssystem 105 mit oder ohne die Pooling-Parameter als Teil einer gestapelten oder regelmäßigen Übertragung an ein oder mehrere Dienstanbieter-Computergerät 160 übertragen werden, die von einer Entität, wie z. B. einem Fahrgemeinschaftsdienstanbieter, kontrolliert werden.
  • Das Datenverarbeitungssystem 105 und das Dienstanbieter-Computergerät 160 können verschiedenen Entitäten entsprechen. Das Datenverarbeitungssystem 105 (und Komponenten wie z. B. die Direktaktions-API 135) kann Teil eines sprachbasierten Assistentencomputersystems sein, das für das schnittstellenmäßige Verbinden mit Endbenutzern des Client-Computergeräts 150 gedacht ist, um Audioantworten auf Audioeingabesignale bereitzustellen. Die Audiosignalgeneratorkomponente 130 kann beispielsweise eine Audioantwort „Es gibt ein Taxi in 5 Minuten Entfernung. Möchten Sie es bestellen?“ auf das Audioeingabesignal „OK, bring mich nach Hause.“ erstellen. Die Sitzungshandhabungskomponente 140 kann eine Kommunikationssitzung über das Computernetzwerk 165 zwischen dem Datenverarbeitungssystem 105 und dem Client-Computergerät 150 herstellen, um diese Audioantwort bereitzustellen. Die Audioantwort kann den Audiotreiber 153 des Client-Computergeräts 150 veranlassen, den Lautsprecher 154 zu veranlassen, akustische Wellen auszugeben, um die Audioantwort für den Endbenutzer wiederzugeben.
  • Statt Teil des sprachbasierten Assistentencomputersystems zu sein, kann das Dienstanbieter-Computergerät 160 ein Computergerät der Fahrgemeinschafts- oder Taxidienst-Entität sein. Das Datenverarbeitungssystem 105, und nicht das Dienstanbieter-Computergerät 160, verarbeitet die Eingabeaudiosignale 305, 310, um die gepoolte Datenstruktur 200 zu erzeugen. Somit entsprechen in diesem Beispiel die Audioeingabesignale 305, 310 Aktionen für das Dienstanbieter-Computergerät 160, z. B. Bestellen eines Autos von der Fahrgemeinschafts-Entität, die das Dienstanbieter-Computergerät 160 kontrolliert. Das Datenverarbeitungssystem 105 kann als zwischengeschaltete Vorrichtung oder zwischengeschaltetes Gerät fungieren, das Eingabeaudiosignale, die Anfragen für eine Aktion durch das Dienstanbieter-Computergerät 160 beinhalten, per Hooking erhalten, abfangen oder anderweitig empfangen kann. Das Datenverarbeitungssystem 105 kann diese Anfragen in mindestens eine gepoolte Datenstruktur 200 stapeln oder konsolidieren, die dem Dienstanbieter-Computergerät 160 bereitgestellt wird. In diesem Beispiel empfängt das Dienstanbieter-Computergerät 160, statt Eingabeaudiosignale direkt von Client-Computergeräten 150 zu empfangen (z. B. durch Umgehung des Datenverarbeitungssystems 105), stattdessen eine gepoolte Datenstruktur 200 (z. B. eine gestapelte Übertragung konsolidierter Aktionsdatenstrukturen) vom zwischengeschalteten Datenverarbeitungssystem 105. In diesem Beispiel werden Anfragen von Client-Computergeräten 150 für Waren oder Dienstleistungen des Dienstanbieter-Computergeräts 160 über das Datenverarbeitungssystem 105 geroutet, wo sie in eine gepoolte Datenstruktur 200 konsolidiert werden können, die zum Dienstanbieter-Computergerät 160 übertragen werden kann.
  • In Reaktion auf das Empfangen der gepoolten Datenstruktur 200 kann das Dienstanbieter-Computergerät 160 mindestens einen Vorgang durchführen, der durch die gepoolte Datenstruktur 200 definiert oder angegeben wird. Der Vorgang kann einer oder mehreren der jeweiligen Aktionen der Aktionsdatenstrukturen der ersten oder zweiten Eingabeaudiosignale 305, 310 entsprechen. Die Vorgänge können beispielsweise das Reservieren eines Autos von einem Fahrgemeinschaftsdienst beinhalten. Das Dienstanbieter-Computergerät 160 kann Antworten für Client-Computergeräte 150 bereitstellen. Das Dienstanbieter-Computergerät 160 kann beispielsweise eine erste Antwort 315 für das erste Client-Computergerät 150 bereitstellen und eine zweite Antwort 320 für das zweite Client-Computergerät 150 bereitstellen. Die ersten und zweiten Antworten 315, 320 können das Datenverarbeitungssystem 105 während der Übertragung vom Dienstanbieter-Computergerät 160 zu den ersten und zweiten Client-Computergeräten 150 umgehen. Die Antworten 315 können Text-, Bild- oder andere Datennachrichten (einschl. Audio) beinhalten, die eine Umwandlungsaktion, wie z. B. eine Reservierung für ein Auto von einem Autodienst, bestätigen. Das Datenverarbeitungssystem 105 kann eine Angabe der Umwandlung (oder der Antworten 315, 320) über das Computernetzwerk 165 von dem Dienstanbieter-Computergerät 160 oder den Client-Computergeräten 150 empfangen. Das Datenverarbeitungssystem 105 kann außerdem die Antworten 315, 320 von dem/den Dienstanbieter-Computergerät(en) 160 empfangen.
  • Die Dienstanbieter-Entität, die einem oder mehreren Dienstanbieter-Computergeräten 160 entspricht, kann mehrere Vorgänge durchführen, um verschiedene Aktionen zu erledigen, die durch die gepoolte Datenstruktur 200 angegeben werden. Die Dienstanbieter-Entität kann beispielsweise Lebensmittellieferungen bereitstellen und einen Fahrgemeinschaftsdienst für Personentransport betreiben. Die gepoolte Datenstruktur 200 kann beide dieser Aktionen angeben, die durch eine einzige Dienstanbieter-Entität erledigt werden können, die ein oder mehrere Dienstanbieter-Computergeräte 160 kontrolliert. Die Dienstanbieter-Computergeräte 160 können außerdem Pooling-Richtliniendaten für das Datenverarbeitungssystem 105 bereitstellen. Die Direktaktions-API 135 kann beispielsweise Pooling-Richtliniendaten von Dienstanbieter-Computergeräten 160 empfangen. Die Pooling-Richtliniendaten können Richtlinienvorgaben bereitstellen, die durch die Pooling-Komponente 120 verwendet werden, um die gepoolte Datenstruktur 200 zu erzeugen. Die Pooling-Richtliniendaten können im Datenbehälter 145 (z. B. als Richtlinien 147) gespeichert sein. Die Pooling-Richtliniendaten können ein Format der gepoolten Datenstruktur, Vorlageninformationen (z. B. Vorlage 149) oder Informationsgrößendaten angeben, oder ungefähr wann, wie, wie häufig oder welche Informationen in der gepoolten Datenstruktur enthalten sein sollen. Die Pooling-Komponente 120 kann die gepoolte Datenstruktur 200 in Übereinstimmung mit den Pooling-Richtliniendaten erstellen.
  • In einigen Beispielen können die Antworten 315, 320 inhaltlich dieselbe Antwort beinhalten, die getrennt sowohl an das erste als auch das zweite Client-Computergerät 150 übertragen wird. Das Dienstanbieter-Computergerät 160 kann beispielsweise die ersten und zweiten Aktionen, die durch jeweilige Aktionsdatenstrukturen in der gepoolte Datenstruktur 200 angegeben werden, konsolidieren und kann ein einzelnes Auto bereitstellen, das nacheinander an Abholorten ankommt, die mit den ersten und zweiten Client-Computergeräten 150 verknüpft sind.
  • Die Antworten 315, 320 müssen jedoch nicht gepoolt sein. Die Antworten 315, 320 können sich voneinander unterscheiden oder individuelle Antworten für die erste Aktionsdatenstruktur 225 oder die zweite Aktionsdatenstruktur 230 (oder die ersten und zweiten Parameter 215, 220) der gepoolten Datenstruktur 200 sein. Das Dienstanbieter-Computergerät 160 kann beispielsweise die Antwort 315 mit Informationen über eine erste Fahrgemeinschafts-Reservierung für das erste Client-Computergerät 150 bereitstellen und kann die Antwort 320 mit Informationen über eine andere, zweite Fahrgemeinschafts-Reservierung für das zweite Client-Computergerät 150 bereitstellen.
  • Der von der Pooling-Komponente 120 erstellte und zum Erzeugen der gepoolten Datenstruktur 200 verwendete Pooling-Parameter kann außerdem Zeit-, Ziel- oder Ortsdaten beinhalten. Der Pooling-Parameter kann beispielsweise eine Vielzahl von Aktionsdatenstrukturen angeben, die jeweils Anfragen für Dienstleistungen von einer einzelnen Entität entsprechen, die mit dem Dienstanbieter-Computergerät verknüpft ist (z. B. Zielinformationen), wie z. B. Reservierungsanfragen für ein bestimmtes Restaurant, Bestellungen für eine Ware, die von der Entität hergestellt wird, oder Fahrgemeinschafts-Reservierungsanfragen von einem Fahrgemeinschaftsdienst. Der Pooling-Parameter kann außerdem eine Anzahl von Aktionsdatenstrukturen angeben, die innerhalb eines definierten Zeitraums erfolgen, wie z. B. innerhalb eines 2-Minuten-Intervalls, die jeweils einen Autodienst von derselben Fahrgemeinschafts-Entität anfordern. Der Pooling-Parameter kann Standortinformationen beinhalten, wie z. B. Standortinformationen, die einen definierten geografischen Bereich (z. B. ein Stadtviertel oder eine Nachbarschaft) angeben, von dem eine Vielzahl von Personen Eingabeaudiosignale bereitstellen, die eine Dienstleistung von derselben Entität anfordern, die mit dem Dienstanbieter-Computergerät 160 verknüpft ist. Aus dem Pooling-Parameter kann die Pooling-Komponente 120 die gepoolte Datenstruktur 200 erzeugen und diese dem Dienstanbieter-Computergerät 160 bereitstellen, das Vorgänge in Reaktion auf die gepoolte Datenstruktur durchführen kann, und verbundene Antworten 315, 320 für Client-Computergeräte 150 bereitstellen.
  • Die gepoolte Datenstruktur 200 kann ggf. nur Vorgänge für eine einzige Entität beinhalten, bei der es sich um eine andere Entität handelt als die Entität, die mit dem Datenverarbeitungssystem 105 verknüpft ist. Das Datenverarbeitungssystem 105 (oder Komponenten, wie z. B. die Pooling-Komponente 120) kann eine erste gepoolte Datenstruktur für ein oder mehrere erste Dienstanbieter-Computergeräte 160 bereitstellen, die durch eine erste Entität kontrolliert werden, und kann eine zweite gepoolte Datenstruktur für ein oder mehrere zweite Dienstanbieter-Computergeräte 160 erzeugen und bereitstellen, die durch eine andere, zweite Entität kontrolliert werden, die nicht mit der ersten Entität verbunden ist. Der erste gepoolte Datenstruktur kann beispielsweise mit konsolidierten Anfragen verbunden sein, Tickets für eine lokale Sportveranstaltung von einem Tickethändler zu kaufen, und die zweite gepoolte Datenstruktur kann mit Anfragen verbunden sein, Reisereservierungen für einen Strandurlaub in den Tropen von einem Reiseunternehmen vorzunehmen.
  • Die Inhaltsauswahlelementkomponente 125 kann Angaben mindestens einer Aktion der Aktionsdatenstrukturen der gepoolten Aktionsdatenstruktur 200 erhalten. Aus den von der Inhaltsauswahlelementkomponente 125 empfangenen Informationen, z. B. eine Angabe einer Aktion, kann die Inhaltsauswahlelementkomponente 125 mindestens ein Inhaltselement identifizieren. Das Inhaltselement kann in Reaktion auf die dritte Aktion sein oder mit dieser im Zusammenhang stehen. In Reaktion auf die einen Transportbedarf anzeigende dritte Aktion kann das Inhaltselement zum Beispiel eine Audionachricht beinhalten, die Dienstleistungen eines Fahrgemeinschafts-Unternehmens anbietet. Die Inhaltsauswahlelementkomponente 125 kann den Datenbehälter 145 abfragen, um das Inhaltselement, z. B. aus den Inhaltsdaten 148, auszuwählen oder anderweitig zu identifizieren. Die Inhaltsauswahlelementkomponente 125 kann außerdem das Inhaltselement von dem Inhaltsanbieter-Computergerät 155 auswählen. In Reaktion auf eine von dem Datenverarbeitungssystem 105 empfangene Abfrage kann das Inhaltsanbieter-Computergerät 155 zum Beispiel ein Inhaltselement an das Datenverarbeitungssystem 105 (oder einer Komponente dessen) zwecks letztendlicher Ausgabe durch das Client-Computergerät 150 bereitstellen. Das Inhaltselement kann mit einem Dienstanbieter verbunden sein, der mit der Aktionsdatenstruktur verknüpft ist, z. B. einem identifizierten Fahrgemeinschaftsdienst, oder einem anderen Dienst, wie z. B. einem Konkurrenz- oder Nebendienst.
  • Die Audiosignalgeneratorkomponente 130 kann ein Ausgabesignal erzeugen oder anderweitig erhalten, das das Inhaltselement beinhaltet. Beispielsweise kann das Datenverarbeitungssystem 105 die Audiosignalgeneratorkomponente ausführen, um ein dem Inhaltselement entsprechendes Ausgabesignal zu generieren oder zu erzeugen. Die Schnittstelle 115 des Datenverarbeitungssystems 105 kann ein oder mehrere Datenpakete mit dem Ausgabesignal über das Computernetzwerk 165 an das Client-Computergerät 150 übertragen. Die Schnittstelle 115 kann konzipiert, konfiguriert, aufgebaut oder betriebsfähig sein, Informationen beispielsweise unter Verwendung von Datenpaketen zu empfangen und zu übertragen. Die Schnittstelle 115 kann Informationen unter Verwendung eines oder mehrerer Protokolle, wie z. B. einem Netzwerkprotokoll, senden und empfangen. Die Schnittstelle 115 kann eine Hardwareschnittstelle, eine Softwareschnittstelle, eine drahtgebundene Schnittstelle oder eine drahtlose Schnittstelle beinhalten. Die Schnittstelle 115 kann das Übersetzen oder Formatieren von Daten von einem Format in ein anderes erleichtern. Die Schnittstelle 115 kann beispielsweise eine Anwendungsprogrammierschnittstelle beinhalten, die Definitionen zum Kommunizieren zwischen verschiedenen Komponenten, wie z. B. Softwarekomponenten des Systems 100, beinhaltet.
  • Das Datenverarbeitungssystem 105 kann das Audioausgabesignal (z. B. entsprechend dem Inhaltselement oder in Reaktion auf das Eingabeaudiosignal) von dem Datenbehälter 145 oder von der Audiosignalgeneratorkomponente 130 an das Client-Computergerät 150 bereitstellen. Das Datenverarbeitungssystem 105 kann auch über Datenpaketübertragungen das Inhaltsanbieter-Computergerät 155 oder das Dienstanbieter-Computergerät 160 anweisen, das Ausgabesignal an das Client-Computergerät 150 bereitzustellen. Das Ausgabesignal kann als ein oder mehrere Datenpakete (oder ein anderes Kommunikationsprotokoll) von dem Datenverarbeitungssystem 105 (oder einem anderen Datenverarbeitungsgerät) erhalten, erzeugt, umgewandelt oder an das Client-Computergerät 150 übertragen werden.
  • Die Inhaltsauswahlelementkomponente 125 kann das Inhaltselement als Teil eines Echtzeit-Inhaltsauswahlprozesses auswählen. Das Inhaltselement kann beispielsweise dem Client-Computergerät 150 zur Übertragung als Audioausgabe in gesprochener Weise in unmittelbarer Reaktion auf das Eingabeaudiosignal bereitgestellt werden. Der Echtzeit-Inhaltsauswahlprozess zwecks Identifizierens des Inhaltselements und Bereitstellens des Inhaltselements an das Client-Computergerät 150 kann innerhalb einer Minute oder weniger ab dem Zeitpunkt der Eingabe des Audiosignals erfolgen und als in Echtzeit erfolgend betrachtet werden.
  • Das dem Inhaltselement entsprechende Ausgabesignal, das z. B. von der Audiosignalgeneratorkomponente 130 erhalten oder generiert wird, die über die Schnittstelle 115 und das Computernetzwerk 165 an das Client-Computergerät 150 übertragen wird, kann dazu führen, dass das Client-Computergerät 150 den Audiotreiber 153 ausführt, um den Lautsprecher 154 anzusteuern und eine dem Ausgabesignal entsprechende akustische Welle zu erzeugen. Die akustische Welle kann Wörter des Inhaltselements für die dritte Aktion oder dem Inhaltselement für die dritte Aktion entsprechende Wörter beinhalten. Die akustische Welle kann vom Client-Computergerät 150 ausgegeben werden, z. B. als akustische Welle, die die Audioausgabe „Ihr Taxi wurde bestätigt“ oder „Sie können im Cafe um die Ecke auf Ihr Taxi warten“ beinhaltet.
  • Das Datenverarbeitungssystem 105 kann die Übertragung der gepoolten Datenstruktur an das Dienstanbieter-Computergerät 160 verhindern oder verzögern. Die Schnittstelle 115 oder ein Script, das über die Direktaktions-API 135 oder die Pooling-Komponente 120 ausgeführt wird, kann beispielsweise die Übertragung von Datenpaketen, die die gepoolte Datenstruktur beinhalten, bis zu einem auslösenden Ereignis verhindern. Das auslösende Ereignis kann den Ablauf eines bestimmten Zeitraums, von weniger als einer Stunde bis zu einem Zeitraum von Tagen, beinhalten. Das auslösende Ereignis kann außerdem auf der Verfügbarkeit von Bandbreite, Verarbeitung oder Speicher basieren. Das Dienstanbieter-Computergerät 160 kann beispielsweise vom Datenverarbeitungssystem die gepoolte Datenstruktur anfordern oder abfragen, die das Datenverarbeitungssystem 105 in Reaktion auf die Anforderung überträgt.
  • Das Datenverarbeitungssystem 105 kann auch die Übertragung der gepoolten Datenstruktur verzögern, um die Verarbeitungsauslastung zu optimieren. Beispielsweise kann das Datenverarbeitungssystem 105 die Übertragung von Inhaltselementen bis zu einer Zeitspanne verzögern, in der die Nutzung des Rechenzentrums außerhalb der Spitzenzeiten oder in Nicht-Spitzenzeiten erfolgt, was zu einer effizienteren Auslastung des Rechenzentrums führt, indem die Auslastung der Spitzenbandbreite, die Wärmeleistung oder der Kühlbedarf reduziert wird. Das Datenverarbeitungssystem 105 kann auch eine Umwandlung oder eine andere mit dem Inhaltselement verbundene Aktivität auslösen, wie z. B. die Bestellung eines Autodienstes, basierend auf Datenzentrum-Auslastungsraten oder Bandbreitenmetriken oder Anfragen des Netzwerks 165 oder eines Rechenzentrums, das das Datenverarbeitungssystem 105 beinhaltet. Dadurch können Netzwerkverkehr und Lastanforderungen verringert und Verarbeitungs- und Stromanforderungen gespart werden.
  • Das Datenverarbeitungssystem 105 kann eine Antwort auf das Inhaltselement, wie z. B. ein Angebot für einen Fahrgemeinschaftsdienst, die angibt „Möchten Sie vom Kino nach Hause fahren?“ empfangen. Die Antwort kann ein Eingabeaudiosignal, z. B. „Ja bitte“, beinhalten, das von dem Endbenutzer in das Client-Computergerät 150 eingegeben und von dem Datenverarbeitungssystem 105 empfangen wurde. Basierend auf dieser Antwort kann die Direktaktions-API 135 mit dem Dienstanbieter-Computergerät 160 (das mit dem Inhaltselement, wie z. B. einem Fahrgemeinschafts-Unternehmen, in Verbindung gebracht werden kann) kommunizieren, um ein Taxi oder ein Fahrgemeinschaftsfahrzeug für den Standort des Kinos zu dem Zeitpunkt zu bestellen, an dem der Kinofilm endet. Das Datenverarbeitungssystem 105 kann diese Standort- oder Zeitinformationen als Teil des Datenpakets (oder eines anderen Protokolls) erhalten, das auf der Datennachrichtenkommunikation mit dem Client-Computergerät 150, dem Datenbehälter 145 oder aus anderen Quellen, wie z. B. dem Dienstanbieter-Computergerät 160 oder dem Inhaltsanbieter-Computergerät 155, basiert. Die Bestätigung dieses Auftrags (oder eine andere Umwandlung) kann als Audiokommunikation von dem Datenverarbeitungssystem 105 zu dem Client-Computergerät 150 in Form eines Ausgabesignals von dem Datenverarbeitungssystem 105 erfolgen, das das Client-Computergerät 150 ansteuert, um Audioausgaben, wie z. B. „Bestens, ein Auto wird um 23 Uhr außerhalb des Kinos auf Sie warten“, wiederzugeben. Das Datenverarbeitungssystem 105 kann über die Direktaktions-API 135 mit dem Dienstanbieter-Computergerät 160 kommunizieren, um den Auftrag für das Auto zu bestätigen.
  • Das Datenverarbeitungssystem 105 kann die Antwort (z. B. „Ja bitte“) auf den Inhalt erhalten („Möchten Sie vom Kino nach Hause fahren?“) und eine paketbasierte Datennachricht an die Dienstanbieter-NLP-Komponente 161 (oder eine andere Komponente des Dienstanbieter-Computergeräts) routen. Diese paketbasierte Datennachricht kann dazu führen, dass das Dienstanbieter-Computergerät 160 eine Umwandlung vornimmt, z. B. um eine Reservierung für die Abholung eines Autos außerhalb des Kinos vorzunehmen. Das Datenverarbeitungssystem 105 kann eine Benachrichtigung der Umwandlung, z. B. vom Dienstanbieter-Computergerät 160, dem Inhaltsanbieter-Computergerät 155 oder dem Client-Computergerät 150, empfangen.
  • Basierend auf einer Antwort auf ein Inhaltselement für eine nachfolgende Aktion in dem Thread, wie z. B. die Antwort „Ja bitte“ auf das Inhaltselement „Möchten Sie vom Kino nach Hause fahren“, oder basierend auf den Aktionsdatenstrukturen, die die gepoolte Datenstruktur beinhalten, die eine Anfrage für eine Ware oder eine Dienstleistung direkt angeben kann, kann das Datenverarbeitungssystem 105 eine Umwandlung oder Aktion initiieren. Prozessoren des Datenverarbeitungssystems 105 können beispielsweise die Direktaktions-API 135 aufrufen, um Scripts auszuführen, die ein Auto von einem Fahrgemeinschaftsdienst bestellen. Die Direktaktions-API 135 kann Inhaltsdaten 148 (oder Parameter 146 oder Richtlinien 147) von dem Datenbehälter 145 sowie Daten empfangen, die mit Zustimmung des Endbenutzers von dem Client-Computergerät 150 empfangen werden, um Standort, Zeit, Benutzerkonten, logistische oder andere Informationen zu bestimmen, um ein Auto aus dem Fahrgemeinschaftsdienst zu reservieren. Unter Verwendung der Direktaktions-API 135 kann das Datenverarbeitungssystem 105 auch mit dem Dienstanbieter-Computergerät 160 kommunizieren, um die Umwandlung abzuschließen, indem es in diesem Beispiel die Reservierung für die Abholung für die Fahrgemeinschaft vornimmt. Die Direktaktions-API 135 kann die Umwandlung oder Aktivität initiieren, um eine Aktion zu erledigen, die mit der gepoolten Datenstruktur verbunden ist (z. B. eine Aktion, die durch einen oder mehrere Parameter einer Aktionsdatenstruktur verknüpft ist, die durch die gepoolte Datenstruktur angegeben werden).
  • 4 stellt ein Verfahren 400 zum Verwalten sprachaktivierter Threads in einer auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung dar. Das Verfahren 400 kann mindestens ein erstes Audioeingabesignal empfangen (ACT 405). Die NLP-Komponente kann beispielsweise über die Schnittstelle 115 Datenpakete empfangen (ACT 405). Das Datenverarbeitungssystem 105 kann die NLP-Komponente 110 ausführen, starten oder aufrufen, um paket- oder andere protokollbasierte Übertragungen über das Netzwerk von einem ersten Client-Computergerät 150 zu empfangen. Die Datenpakete können ein von dem Sensor 151 eines ersten Client-Computergeräts 150 erkanntes Eingabeaudiosignal beinhalten oder diesem entsprechen, wie z. B. ein erster Endbenutzer, der in ein Client-Computergerät 150, z. B. ein Smartphone, spricht: „OK, bring mich nach Hause“. Das Verfahren 400 kann das Eingabeaudiosignal parsen, um mindestens eine erste Anfrage oder mindestens ein erstes Auslöserschlüsselwort von dem Eingabeaudiosignal (ACT 410) zu identifizieren. Beispielsweise kann die NLP-Komponente 110 das Eingabeaudiosignal analysieren, um Anfragen (z. B. „nach Hause“) sowie die Schlüsselwörter („bringen“) zu identifizieren, die der Anfrage entsprechen oder sich auf diese beziehen. Das Verfahren 400 kann mindestens eine erste Aktionsdatenstruktur (ACT 415) basierend auf den identifizierten Anfragen oder Schlüsselwörtern erzeugen, die mit dem empfangenen ersten Audioeingabesignal verknüpft sind. Die Direktaktions-API 135 kann beispielsweise eine Aktionsdatenstruktur erzeugen, die mindestens einen Parameter beinhaltet, der eine erste Aktion, wie z. B. einen Standort für eine Taxiabholung, einen angeforderten Dienstleister oder Zeitinformationen, definiert.
  • Das Verfahren 400 kann mindestens ein zweites Audioeingabesignal empfangen (ACT 420). Die NLP-Komponente 110 kann beispielsweise paket- oder andere protokollbasierte Übertragungen über das Netzwerk von einem zweiten Client-Computergerät 150 empfangen. Die Datenpakete können ein von dem Sensor 151 des zweiten Client-Computergeräts 150 erkanntes Eingabeaudiosignal beinhalten oder diesem entsprechen, wie z. B. einem Endbenutzer, der in das zweite Client-Computergerät 150 spricht: „OK, kann ich bitte ein Taxi bekommen“. Das Verfahren 400 kann mindestens eine zweite Anfrage oder mindestens ein zweites Auslöserschlüsselwort von dem zweiten Eingabeaudiosignal (ACT 425) identifizieren. Beispielsweise kann die NLP-Komponente 110 das Eingabeaudiosignal analysieren, um Anfragen zu identifizieren (z. B. „Taxi“) sowie die Schlüsselwörter („bekommen“), die der Anfrage entsprechen oder sich auf diese beziehen. Das Verfahren 400 kann mindestens eine zweite Aktionsdatenstruktur (ACT 430) basierend auf den identifizierten Anfragen oder Schlüsselwörtern erzeugen, die mit dem empfangenen ersten Audioeingabesignal verknüpft sind. Die Direktaktions-API 135 kann beispielsweise eine Aktionsdatenstruktur erzeugen, die mindestens einen Parameter beinhaltet, der eine zweite Aktion definiert, wie z. B. einen Standort für eine Taxiabholung, einen angeforderten Dienstleister oder Zeitinformationen.
  • Das Verfahren 400 kann mindestens einen Pooling-Parameter ermitteln (ACT 435). Basierend auf Parametern der jeweiligen Aktionen, die einen gemeinsamen angeforderten Dienstanbieter oder eine andere Gemeinsamkeit angeben (z. B. einen Grad der Überlappung zwischen Aktionsdatenstrukturen), kann die Pooling-Komponente 120 beispielsweise einen Pooling-Parameter ermitteln, der den gemeinsamen angeforderten Dienstanbieter angibt. Das Verfahren 400 kann eine gepoolte Datenstruktur erzeugen (ACT 440). Basierend auf der Angabe des gemeinsamen angeforderten Dienstanbieters kann die Pooling-Komponente 120 beispielsweise mindestens eine gepoolte Datenstruktur erzeugen, die die ersten und zweiten Aktionsdatenstrukturen oder ihre verbundenen Aktionen oder Parameter angibt (ACT 440). Das Verfahren 400 kann die gepoolte Datenstruktur übertragen (ACT 445). Das Datenverarbeitungssystem 105 kann beispielsweise die gepoolte Datenstruktur für eines oder mehrere Dienstanbieter-Computergeräte 160 bereitstellen, die durch die gemeinsame angeforderte Dienstanbieter-Entität kontrolliert werden.
  • 5 zeigt ein Blockdiagramm eines exemplarischen Computersystems 500. Das Computersystem oder Computergerät 500 kann das System 100 oder dessen Komponenten, wie z. B. das Datenverarbeitungssystem 105, beinhalten oder verwendet werden, um diese zu implementieren. Das Computersystem 500 beinhaltet einen Bus 505 oder eine andere Kommunikationskomponente zur Übertragung von Informationen sowie einen Prozessor 510 oder eine Verarbeitungsschaltung, die mit dem Bus 505 gekoppelt sind und der Verarbeitung von Informationen dienen. Das Computersystem 500 kann außerdem einen oder mehrere Prozessoren 510 oder Verarbeitungsschaltungen beinhalten, die mit dem Bus gekoppelt sind und der Verarbeitung von Informationen dienen. Das Computersystem 500 beinhaltet ferner Hauptspeicher 515, wie z. B. Direktzugriffsspeicher (RAM) oder ein anderes dynamisches Speichergerät, das mit dem Bus 505 gekoppelt ist, um Daten zu speichern, sowie Anweisungen, die vom Prozessor 510 ausgeführt werden sollen. Der Hauptspeicher 515 kann der Datenbehälter 145 sein bzw. denselben beinhalten. Der Hauptspeicher 515 kann bei Ausführung von Anweisungen durch den Prozessor 510 ferner zum Speichern von Positionsdaten, temporären Variablen oder anderen mittelfristigen Informationen verwendet werden. Das Computersystem 500 kann ferner einen Nur-Lese-Speicher (ROM) 520 oder ein anderes statisches Speichergerät beinhalten, das mit dem Bus 505 gekoppelt ist, um statische Informationen und Anweisungen für den Prozessor 510 zu speichern. Ein Speichergerät 525, wie z. B. ein Solid-State-Gerät, eine magnetische oder optische Platte, kann mit dem Bus 505 gekoppelt werden, um Informationen und Anweisungen dauerhaft zu speichern. Das Speichergerät 525 kann den Datenbehälter 145 beinhalten bzw. Teil desselben sein.
  • Das Computersystem 500 kann über den Bus 505 mit einer Anzeige 535, wie z. B. einer Flüssigkristallanzeige (LCD) oder aktiven Matrixanzeige, gekoppelt sein, sodass sich einem Benutzer Informationen anzeigen lassen. Mit dem Bus 505 kann ein Eingabegerät 530, wie z. B. eine Tastatur mit alphanumerischen und anderen Tasten, gekoppelt sein, damit sich ausgewählte Informationen und Befehle an den Prozessor 510 übermitteln lassen. Das Eingabegerät 530 kann eine Touchscreen-Anzeige 535 beinhalten. Das Eingabegerät 530 kann außerdem eine Cursorsteuerung, wie z. B. eine Maus, einen Trackball oder Pfeiltasten auf der Tastatur beinhalten, sodass sich Richtungsdaten und ausgewählte Befehle an den Prozessor 510 übertragen und die Bewegung des Cursors auf der Anzeige 535 steuern lassen. Die Anzeige 535 kann beispielsweise ein Teil des Datenverarbeitungssystems 105, des Client-Computergeräts 150 oder einer anderen Komponente von 1 sein.
  • Die hierin beschriebenen Prozesse, Systeme und Verfahren können vom Computersystem 500 als Folge davon implementiert werden, dass der Prozessor 510 einen im Hauptspeicher 515 enthaltenen Anweisungssatz ausführt. Diese Anweisungen können von einem computerlesbaren Medium (wie z. B. Speichergerät 525) in den Hauptspeicher 515 gelesen werden. Die Ausführung des im Hauptspeicher 515 enthaltenen Anweisungssatzes veranlasst das Computersystem 500, die hierin beschriebenen und dargestellten Prozesse auszuführen. Außerdem können in einer Multi-Prozessor-Anordnung ein oder mehrere Prozessoren dazu genutzt werden, die im Hauptspeicher 515 enthaltenen Anweisungen auszuführen. Festverdrahtete Schaltungen können anstelle von oder in Kombination mit Software-Anweisungen zusammen mit den hierin beschriebenen Systemen und Verfahren verwendet werden. Die hierin beschriebenen Systeme und Verfahren sind nicht auf eine spezifische Kombination aus Hardwareschaltungen und Software beschränkt.
  • Obwohl ein exemplarisches Computersystem in 5 beschrieben worden ist, kann der Gegenstand, einschließlich der in dieser Spezifikation beschriebenen Vorgänge, in anderen Arten von digitalen elektronischen Schaltungen oder in Computersoftware, Firmware oder Hardware, darunter auch in den in dieser Spezifikation offenbarten Strukturen und deren strukturellen Entsprechungen oder in Kombinationen von einer oder mehrerer derselben, implementiert werden.
  • Für Situationen, in denen die hier erläuterten Systeme ggf. persönliche Informationen über Benutzer sammeln, oder persönliche Informationen nutzen, kann für die Benutzer eine Möglichkeit bereitgestellt werden, einzustellen, ob Programme oder Funktionen, die persönliche Informationen (z. B. Informationen über das soziale Netzwerk eines Benutzers, soziale Handlungen oder Aktivitäten, eine Benutzerpräferenz oder den Standort eines Benutzers) sammeln, oder um einzustellen, ob und/oder wie Inhalt von einem Inhaltsserver oder einem anderen Datenverarbeitungssystem empfangen wird, der für den Benutzer ggf. relevanter ist. Zusätzlich können gewisse Daten auf eine oder mehrere Weisen anonymisiert werden, bevor sie gespeichert oder verwendet werden, sodass personenbezogene Daten entfernt werden, wenn Parameter generiert werden. Eine Benutzeridentität kann beispielsweise anonymisiert werden, sodass keine personenbezogenen Informationen für den Benutzer bestimmt werden können, oder ein geografischer Standort des Benutzers verallgemeinert werden kann, wobei Standortinformationen (wie beispielsweise Stadt, Postleitzahl oder Bundesland) entnommen werden, sodass ein bestimmter Standort eines Benutzers nicht festgestellt werden kann. Somit kann der Benutzer die Kontrolle darüber haben, wie Informationen über ihn oder sie gesammelt und von einem Inhaltsserver verwendet werden.
  • Der Gegenstand und die in dieser Spezifikation beschriebenen Vorgänge können in digitalen elektronischen Schaltkreisanordnungen oder in Computersoftware, Firmware oder Hardware, darunter auch in den in dieser Spezifikation offenbarten Strukturen und deren strukturellen Entsprechungen oder in Kombinationen von einer oder mehrerer derselben, implementiert werden. Der in dieser Beschreibung beschriebene Gegenstand kann als ein oder mehrere Computerprogramme implementiert werden, z. B. als eine oder mehrere Schaltungen von Computerprogrammanweisungen, die auf einem oder mehreren Computerspeichermedien codiert sind, um von Datenverarbeitungsvorrichtungen ausgeführt zu werden bzw. den Betrieb derselben zu steuern. Alternativ oder ergänzend dazu können die Programmanweisungen in einem künstlich erzeugten sich ausbreitenden Signal, wie beispielsweise einem maschinell erzeugten elektrischen, optischen oder elektromagnetischen Signal, codiert sein, das erzeugt wird, um Informationen zur Übertragung an eine geeignete Empfängervorrichtung zu codieren, damit diese von einer Datenverarbeitungsvorrichtung ausgeführt werden. Ein Computerspeichermedium kann ein computerlesbares Speichergerät, einen computerlesbaren Speicherträger, ein frei adressierbares oder serielles Speicher-Array oder Speichergerät oder eine Kombination derselben sein bzw. darin enthalten sein. Obwohl ein Computerspeichermedium kein sich ausbreitendes Signal ist, kann ein Computerspeichermedium jedoch eine Quelle oder ein Ziel von Computerprogrammanweisungen sein, die in einem künstlich erzeugten sich ausbreiteten Signal codiert sind. Das Computerspeichermedium kann zudem eine oder mehrere separate Komponenten oder Medien sein (z. B. mehrere CDs, Datenträger oder andere Speichergeräte bzw. darin enthalten sein). Die in dieser Spezifikation beschriebenen Vorgänge können als Vorgänge implementiert werden, die durch eine Datenverarbeitungsvorrichtung an Daten ausgeführt werden, die auf einem oder mehreren computerlesbaren Speichergerät(en) gespeichert oder von anderen Quellen empfangen werden.
  • Die Begriffe „Datenverarbeitungssystem“, „Computergerät, „Komponente“ oder „Datenverarbeitungsvorrichtung“ umfassen verschiedene Geräte, Vorrichtungen und Maschinen zur Verarbeitung von Daten, einschließlich beispielsweise eines programmierbaren Prozessors, eines Computers, eines oder mehrerer Systeme auf einem Chip oder mehrerer derselben oder Kombinationen der vorstehenden. Die Vorrichtung kann eine Spezial-Logikschaltung, wie z. B. eine FPGA (feldprogrammierbare Universalschaltung) oder eine ASIC (anwendungsspezifische integrierte Schaltung), beinhalten. Das Gerät kann zusätzlich zur Hardware auch Code beinhalten, der eine Ausführungsumgebung für das entsprechende Computerprogramm erzeugt, wie zum Beispiel Code, der Prozessorfirmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem, eine plattformübergreifende Laufzeitumgebung, einen virtuellen Computer oder eine Kombination daraus darstellt. Das Gerät und die Ausführungsumgebung können verschiedene Computermodell-Infrastrukturen, wie zum Beispiel Webdienste, sowie verteilte Rechen- und räumlich verteilte Recheninfrastrukturen realisieren. Die Direktaktions-API 135, Inhaltsauswahlkomponente 125, Pooling-Komponente 120 oder NLP-Komponente 110 und andere Komponenten des Datenverarbeitungssystems 105 können eine oder mehrere Datenverarbeitungsvorrichtungen, Systeme, Computergeräte oder Prozessoren beinhalten oder teilen.
  • Ein Computerprogramm (auch als Programm, Software, Softwareanwendung, App, Script oder Code bezeichnet) kann in einer beliebigen Form von Programmiersprache, darunter auch in kompilierten Sprachen oder interpretierten Sprachen, deklarativen oder prozeduralen Sprachen, geschrieben sein, und in beliebiger Form eingesetzt werden, darunter auch als eigenständiges Programm oder als Modul, Komponente, Unterprogramm, Objekt oder eine andere Einheit, die zur Verwendung in einer Computerumgebung geeignet ist. Ein Computerprogramm kann einer Datei in einem Dateisystem entsprechen. Ein Computerprogramm kann in einem Teil einer Datei gespeichert sein, die andere Programme oder Daten enthält (wie z. B. ein oder mehrere Scripts, die in einem Dokument in Auszeichnungssprache gespeichert sind), in einer einzelnen dem betreffenden Programm gewidmeten Datei oder in mehreren koordinierten Dateien (wie beispielsweise Dateien, die ein oder mehrere Module, Teil-Programme oder Code-Abschnitte enthalten). Ein Computerprogramm kann auf einem Computer oder auf mehreren Computern bereitgestellt und ausgeführt werden, die sich an einem Standort oder an mehreren Standorten verteilt befinden und über ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Die in dieser Spezifikation beschriebenen Prozesse und logischen Abläufe können von einem oder mehreren programmierbaren Prozessoren durchgeführt werden, die ein oder mehrere Computerprogramme (z. B. Komponenten des Datenverarbeitungssystems 105) ausführen, um durch Verarbeiten von Eingabedaten und Erzeugen von Ausgaben Vorgänge durchzuführen. Die Prozesse und Logikabläufe können zudem durch eine Spezial-Logikschaltung, wie z. B. einen feldprogrammierbaren Universalschaltkreis (FPGA) oder eine anwendungsspezifische integrierte Schaltung (ASIC), ausgeführt und Vorrichtungen in Form derselben implementiert werden. Zu den zum Speichern von Computerprogrammanweisungen und Daten geeigneten Medien gehören sämtliche Arten von Festspeichern, Medien und Speichergeräten, einschließlich Halbleiterspeicherelementen, darunter auch EPROM, EEPROM und Flash-Speichergeräte; magnetische Festplatten, wie z. B. interne Festplatten oder Wechselplatten; magneto-optische Festplatten; und CD-ROM- und DVD-ROM-Laufwerke. Der Prozessor und der Speicher können durch eine Spezial-Logikschaltung ergänzt oder in dieselbe integriert werden.
  • Der hierin beschriebene Gegenstand kann in einem Computersystem implementiert sein, das eine Backend-Komponente, wie z. B. einen Datenserver, oder eine Middleware-Komponente, wie z. B. einen Anwendungsserver, oder eine Frontend-Komponente, wie z. B. einen Clientcomputer beinhaltet, der eine grafische Benutzeroberfläche oder einen Webbrowser aufweist, durch den ein Benutzer mit einer in dieser Beschreibung beschriebenen Implementierung des Gegenstandes interagieren kann, oder eine Kombination aus einer oder mehreren jener Backend-, Middleware- oder Frontend-Komponenten. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk, miteinander verbunden sein. Beispiele für Kommunikationsnetzwerke beinhalten ein lokales Netzwerk („LAN“) und ein Großraumnetzwerk („WAN“), ein Inter-Netzwerk (z. B. das Internet) und Peer-to-Peer-Netzwerke (z. B. ad hoc Peer-to-Peer-Netzwerke).
  • Das Computersystem, wie z. B. System 100 oder System 500, kann Clients und Server beinhalten. Ein Client und ein Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk (z. B. das Netzwerk 165). Die Beziehung zwischen Client und Server entsteht aufgrund von Computerprogrammen, die auf den jeweiligen Computern ausgeführt werden und die eine Client-Server-Beziehung zueinander aufweisen. In einigen Implementierungen sendet ein Server Daten (z. B. ein Inhaltselement darstellende Datenpakete) an ein Client-Computergerät (z. B. zu Zwecken des Anzeigens von Daten und Empfangens von Benutzereingaben von einem Benutzer, der mit dem Client-Computergerät interagiert). In dem Client-Computergerät erzeugte Daten (z. B. ein Ergebnis der Benutzerinteraktion) können von dem Client-Computergerät an dem Server empfangen werden (z. B. empfangen durch das Datenverarbeitungssystem 105 von dem Computergerät 150 oder dem Inhaltsanbieter-Computergerät 155 oder dem Dienstanbieter-Computergerät 160).
  • Obwohl die Vorgänge in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, ist es nicht erforderlich, dass diese Vorgänge in der dargestellten bestimmten Reihenfolge oder in fortlaufender Reihenfolge durchgeführt werden, zudem ist es nicht erforderlich, dass alle veranschaulichten Vorgänge durchgeführt werden. Hierin beschriebene Aktionen können in einer unterschiedlichen Reihenfolge durchgeführt werden.
  • Die Trennung verschiedener Systemkomponenten erfordert keine Trennung bei sämtlichen Implementierungen und die beschriebenen Programmkomponenten können in einem einzigen Hardware- oder Softwareprodukt enthalten sein. Die NLP-Komponente 110, die Inhaltsauswahlkomponente 125 oder die Pooling-Komponente 120 können beispielsweise eine einzelne Komponente, eine App oder ein Programm oder ein Logikgerät mit einer oder mehreren Verarbeitungsschaltungen oder Teil von einem oder mehreren Servern des Datenverarbeitungssystems 105 sein.
  • Nachdem nunmehr einige veranschaulichende Implementierungen beschrieben wurden, ist es offensichtlich, dass das Vorstehende der Veranschaulichung und nicht als Einschränkung dienen soll, und lediglich auf exemplarische Art und Weise präsentiert wurde. Insbesondere können, obgleich viele der hierin präsentierten Beispiele spezifische Kombinationen von Verfahrensvorgängen oder Systemelementen beinhalten, diese Vorgänge und Elemente auf andere Weisen kombiniert werden, um dieselben Ziele zu erreichen. Vorgänge, Elemente und Merkmale, die im Zusammenhang mit einer Implementierung erläutert werden, sollen nicht von einer ähnlichen Rolle in anderen Ausführungsformen oder Implementierungen ausgeschlossen sein.
  • Die hier verwendete Ausdrucksweise und Terminologie dient dem Zweck der Beschreibung und sollte nicht als Einschränkung betrachtet werden. Die Verwendung der Wörter „einschließlich“, „umfassend“, „aufweisend“, „enthaltend“, „einbeziehend“, „gekennzeichnet durch“, „dadurch gekennzeichnet, dass“ und Variationen derselben, soll hier bedeuten, dass die danach aufgelisteten Gegenstände, Äquivalente derselben und zusätzliche Gegenstände sowie alternative Implementierungen, die ausschließlich aus den danach aufgelisteten Gegenständen bestehen, mit umfasst sind. In einer Implementierung bestehen die hierin beschriebenen Systeme und Verfahren aus einem, aus jeder Kombination von mehr als einem oder aus allen der hierin beschriebenen Elemente, Wirkungsweisen oder Komponenten.
  • Jegliche Bezugnahmen auf Implementierungen oder Elemente oder Wirkungsweisen der Systeme und Verfahren, auf die hierin in der Einzahl verwiesen wird, können auch Implementierungen, einschließlich einer Vielzahl dieser Elemente, umfassen, während jegliche Bezugnahmen auf eine Implementierung oder ein Element oder eine Wirkungsweise beliebiger Art, auf die hierin in der Mehrzahl verwiesen wird, auch Implementierungen, einschließlich eines lediglich einzelnen Elements, umfassen können. Bezugnahmen auf die Singular- oder die Pluralform sind nicht dazu gedacht, die vorliegend offenbarten Systeme und Verfahren, deren Komponenten, Wirkungsweisen oder Elemente auf einzelne oder mehrfache Konfigurationen einzuschränken. Bezugnahmen auf eine Wirkungsweise oder ein Element jeglicher Art, basierend auf Informationen, Wirkungsweisen oder Elementen einer beliebigen Art können Implementierungen beinhalten, deren Wirkungsweise oder deren Element zumindest teilweise auf Informationen, Wirkungsweisen oder Elementen jeglicher Art basiert.
  • Jegliche der hierin offenbarten Implementierungen können mit beliebigen anderen Implementierungen oder Ausführungsformen kombiniert werden, wobei die Bezugnahmen auf „eine Implementierung“, „einige Implementierungen“, „die eine Implementierung“ oder dergleichen einander nicht zwangsläufig ausschließen und angeben sollen, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Charakteristik, die im Zusammenhang mit der Implementierung beschrieben wird, in mindestens einer Implementierung oder Ausführungsform enthalten sein kann. Derartige Begriffe in der hierin verwendeten Form beziehen sich nicht notwendigerweise auf dieselbe Implementierung. Jede Implementierung kann einschließlich oder ausschließlich und auf jede Weise, die mit den hierin offenbarten Aspekten und Implementierungen im Einklang steht, mit jeder anderen Implementierung kombiniert werden.
  • Verweise auf „oder“ können als einschließend ausgelegt werden, sodass alle Begriffe, die mithilfe von „oder“ beschrieben werden, einen beliebigen einzelnen, mehr als einen oder alle beschriebenen Begriffe angeben können. Eine Bezugnahme auf „mindestens eines von ‚A‘ und 'B'“ kann beispielsweise nur ‚A‘, nur ‚B‘ sowie sowohl ‚A‘ und ‚B‘ beinhalten. Diese Bezugnahmen, die in Verbindung mit „umfassend“ oder anderer offener Terminologie verwendet werden, können zusätzliche Elemente einbeziehen.
  • Wenn technische Merkmale in den Zeichnungen, der ausführlichen Beschreibung oder einem beliebigen Anspruch von Bezugszeichen gefolgt werden, wurden die Bezugszeichen eingebunden, um die Verständlichkeit der Zeichnungen, ausführlichen Beschreibung oder Ansprüche zu erhöhen. Dementsprechend haben weder jene Bezugszeichen noch deren Abwesenheit eine einschränkende Wirkung auf den Umfang der Anspruchselemente.
  • Die hierin beschriebenen Systeme und Verfahren können auch durch andere Ausführungsformen realisiert werden, ohne von deren wesentlichen Merkmalen abzuweichen. Das Empfangen mehrerer Audioeingabesignale (oder Identifizieren oder jeweilige Anfragen oder Auslöserschlüsselwörter) durch das Datenverarbeitungssystem 105 kann beispielsweise gleichzeitig oder nacheinander von einer oder mehreren Quellen erfolgen. Die vorhergehenden Implementierungen werden eher als anschaulich denn als einschränkend für die hierin beschriebenen Systeme und Verfahren betrachtet. Der Geltungsbereich der hierin beschriebenen Systeme und Verfahren wird daher eher durch die beigefügten Ansprüche als durch die vorangehende Beschreibung angegeben, wobei Änderungen, welche innerhalb der Bedeutungen und des Bereichs der Äquivalenz der Ansprüche fallen, daher hierin eingeschlossen sind.

Claims (20)

  1. System zum Verwalten sprachaktivierter Threads in einer auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung, umfassend: eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, um, über eine Schnittstelle des Datenverarbeitungssystems, Datenpakete zu empfangen, die ein durch einen Sensor eines ersten Client-Computergeräts erkanntes erstes Eingabeaudiosignal umfassen; die Prozessorkomponente für natürliche Sprache, um das erste Eingabeaudiosignal zu parsen, um eine erste Anfrage und ein erstes Auslöserschlüsselwort, das der ersten Anfrage entspricht, zu identifizieren; eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) des Datenverarbeitungssystems, um, basierend auf dem ersten Auslöserschlüsselwort und in Reaktion auf die erste Anfrage, eine erste Aktionsdatenstruktur mit einem Parameter zu erzeugen, der eine erste Aktion identifiziert; die Prozessorkomponente für natürliche Sprache, um, über die Schnittstelle des Datenverarbeitungssystems, Datenpakete zu empfangen, die ein zweites Eingabeaudiosignal umfassen, das von einem Sensor eines zweiten Client-Computergeräts erkannt wurde, und das zweite Eingabeaudiosignal zu parsen, um eine zweite Anfrage und ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht; die Direktaktions-API, um, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage, eine zweite Aktionsdatenstruktur mit einem Parameter zu erzeugen, der eine zweite Aktion definiert; und eine Pooling-Komponente des Datenverarbeitungssystems, um: basierend auf einer heuristischen Technik, die auf den Parameter der ersten Datenstruktur und den Parameter der zweite Datenstruktur angewandt wird, einen Pooling-Parameter zu ermitteln, der einen Grad der Überlappung zwischen der ersten Datenstruktur und der zweiten Datenstruktur angibt; basierend auf dem Pooling-Parameter, der ersten Aktionsdatenstruktur und zweiten Aktionsdatenstruktur eine gepoolte Datenstruktur zu erzeugen; und über ein Computernetzwerk, die gepoolte Datenstruktur an ein Dienstanbieter-Computergerät zu übertragen, um das Dienstanbieter-Computergerät zu veranlassen, einen Vorgang durchzuführen, der durch die gepoolte Datenstruktur definiert wird und der ersten Aktion und der zweiten Aktion entspricht.
  2. System nach Anspruch 1, wobei das Dienstanbieter-Computergerät ein erstes Dienstanbieter-Computergerät ist, das einer ersten Entität entspricht, umfassend: die Pooling-Komponente des Datenverarbeitungssystems, um, über das Computernetzwerk, eine zweite gepoolte Datenstruktur zu einem zweiten Dienstanbieter-Computergerät zu übertragen, das einer zweiten Entität entspricht, um das zweite Dienstanbieter-Computergerät zu veranlassen, einen Vorgang durchzuführen, der durch die zweite gepoolte Datenstruktur definiert wird.
  3. System nach Anspruch 1, wobei der Pooling-Parameter ein erster Pooling-Parameter ist, die gepoolte Datenstruktur eine erste gepoolte Datenstruktur ist und das Dienstanbieter-Computergerät ein erstes Dienstanbieter-Computergerät ist, umfassend die Pooling-Komponente des Datenverarbeitungssystems, um: einen zweiten Pooling-Parameter zu ermitteln, der einen Grad der Überlappung zwischen einer dritten Aktionsdatenstruktur und einer vierten Aktionsdatenstruktur angibt; basierend auf dem zweiten Pooling-Parameter, der dritten Aktionsdatenstruktur und vierten Aktionsdatenstruktur eine zweite gepoolte Datenstruktur zu erzeugen; und über ein Computernetzwerk, die zweite gepoolte Datenstruktur an ein zweites Dienstanbieter-Computergerät zu übertragen, um das zweite Dienstanbieter-Computergerät zu veranlassen, einen Vorgang durchzuführen, der durch die zweite gepoolte Datenstruktur definiert wird und der dritten Aktion und der vierten Aktion entspricht.
  4. System nach Anspruch 1, wobei der Pooling-Parameter ein erster Pooling-Parameter ist, umfassend: die Prozessorkomponente für natürliche Sprache, um, über die Schnittstelle des Datenverarbeitungssystems, Datenpakete zu empfangen, die ein drittes Eingabeaudiosignal umfassen, das vom Sensor des ersten Client-Computergeräts erkannt wurde, und das zweite Eingabeaudiosignal zu parsen, um eine dritte Anfrage und ein drittes Auslöserschlüsselwort zu identifizieren, das der dritten Anfrage entspricht; die Direktaktions-API, um, basierend auf dem dritten Auslöserschlüsselwort und in Reaktion auf die dritte Anfrage, eine dritte Aktionsdatenstruktur mit einem Parameter zu erzeugen, der eine dritte Aktion definiert; die Pooling-Komponente des Datenverarbeitungssystems, um einen zweiten Pooling-Parameter zu ermitteln, der einen Grad der Überlappung zwischen der dritten Aktionsdatenstruktur und mindestens einer der ersten Aktionsdatenstruktur, der zweiten Aktionsdatenstruktur und des Pooling-Parameters angibt; und die Pooling-Komponente des Datenverarbeitungssystems, um, basierend auf dem Pooling-Parameter, die dritte Aktionsdatenstruktur in der gepoolten Datenstruktur zu kombinieren.
  5. System nach Anspruch 1, wobei der Pooling-Parameter ein erster Pooling-Parameter ist, umfassend: die Pooling-Komponente des Datenverarbeitungssystems, um einen zweiten Pooling-Parameter basierend auf einer dritten Aktionsdatenstruktur zu ermitteln; und die Pooling-Komponente des Datenverarbeitungssystems, um die gepoolte Datenstruktur basierend auf dem zweiten Pooling-Parameter zu ändern.
  6. System nach Anspruch 1, wobei der Grad der Überlappung eine Ähnlichkeitsmetrik zwischen der ersten Datenstruktur und der zweiten Datenstruktur angibt.
  7. System nach Anspruch 1, umfassend: die Pooling-Komponente des Datenverarbeitungssystems, um den Grad der Überlappung zwischen der ersten Datenstruktur und der zweiten Datenstruktur basierend auf dem Gegenstand zu ermitteln, der durch die erste Aktionsdatenstruktur angegeben wird, und dem Gegenstand, der durch die zweite Aktionsdatenstruktur angegeben wird.
  8. System nach Anspruch 1, wobei die erste Aktion eine erste Vielzahl von Teilaktionen beinhaltet und die zweite Aktion eine zweite Vielzahl von Teilaktionen beinhaltet.
  9. System nach Anspruch 1, wobei das Datenverarbeitungssystem, das die Pooling-Komponente beinhaltet, einer ersten Entität entspricht, und das Dienstanbieter-Computergerät einer zweiten Entität entspricht, die sich von der ersten Entität unterscheidet.
  10. System nach Anspruch 1, wobei der erste Parameter und der zweite Parameter jeweils Standortdaten angeben.
  11. System nach Anspruch 1, wobei der erste Parameter und der zweite Parameter jeweils Zeitdaten angeben.
  12. System nach Anspruch 1, wobei der erste Parameter und der zweite Parameter jeweils einen gemeinsamen Gegenstand angeben.
  13. Computerlesbares Speichermedium, das Anweisungen speichert, die, wenn sie durch einen oder mehrere Datenprozessoren ausgeführt werden, den einen oder die mehreren Datenprozessoren veranlassen, Vorgänge zum Verwalten sprachaktivierter Threads in einer auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung auszuführen, die Vorgänge umfassend: Empfangen, durch eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, über eine Schnittstelle des Datenverarbeitungssystems, von Datenpaketen, die ein durch einen Sensor eines ersten Client-Computergeräts erkanntes erstes Eingabeaudiosignal umfassen; Parsen des ersten Eingabeaudiosignals zum Identifizieren einer ersten Anfrage und eines ersten Auslöserschlüsselworts, das der ersten Anfrage entspricht, durch die Prozessorkomponente für natürliche Sprache; Erzeugen, durch eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) des Datenverarbeitungssystems, basierend auf dem ersten Auslöserschlüsselwort und in Reaktion auf die erste Anfrage, einer ersten Aktionsdatenstruktur mit einem Parameter, der eine erste Aktion identifiziert; Empfangen, durch die Prozessorkomponente für natürliche Sprache, über die Schnittstelle des Datenverarbeitungssystems, von Datenpaketen, die ein zweites Eingabeaudiosignal umfassen, das von einem Sensor eines zweiten Client-Computergeräts erkannt wurde, und Parsen, durch die Prozessorkomponente für natürliche Sprache, des zweiten Eingabeaudiosignals, um eine zweite Anfrage und ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht; Erzeugen, durch die Direktaktions-API, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage, einer zweiten Aktionsdatenstruktur mit einem Parameter, der eine zweite Aktion definiert; Ermitteln, durch eine Pooling-Komponente des Datenverarbeitungssystems, basierend auf einer heuristischen Technik, die auf den Parameter der ersten Datenstruktur und den Parameter der zweite Datenstruktur angewandt wird, eines Pooling-Parameters, der einen Grad der Überlappung zwischen der ersten Datenstruktur und der zweiten Datenstruktur angibt; Erzeugen, basierend auf dem Pooling-Parameter, der ersten Aktionsdatenstruktur mit zweiten Aktionsdatenstruktur in einer gepoolten Datenstruktur; und Übertragen, über ein Computernetzwerk, der gepoolten Datenstruktur an ein Dienstanbieter-Computergerät, um das Dienstanbieter-Computergerät zu veranlassen, einen Vorgang durchzuführen, der durch die gepoolte Datenstruktur definiert wird und der ersten Aktion und der zweiten Aktion entspricht.
  14. Computerlesbares Speichermedium nach Anspruch 13, wobei das Dienstanbieter-Computergerät ein erstes Dienstanbieter-Computergerät ist, das einer ersten Entität entspricht, die Vorgänge umfassend: Übertragen, durch die Pooling-Komponente des Datenverarbeitungssystems, über das Computernetzwerk einer zweiten gepoolten Datenstruktur zu einem zweiten Dienstanbieter-Computergerät, das einer zweiten Entität entspricht, um das zweite Dienstanbieter-Computergerät zu veranlassen, einen Vorgang durchzuführen, der durch die zweite gepoolte Datenstruktur definiert wird.
  15. Computerlesbares Speichermedium nach Anspruch 13, wobei der Pooling-Parameter ein erster Pooling-Parameter ist, die gepoolte Datenstruktur eine erste gepoolte Datenstruktur ist und das Dienstanbieter-Computergerät ein erstes Dienstanbieter-Computergerät ist, die Vorgänge umfassend: Ermitteln, durch die Pooling-Komponente des Datenverarbeitungssystems, eines zweiten Pooling-Parameters, der einen Grad der Überlappung zwischen einer dritten Aktionsdatenstruktur und einer vierten Aktionsdatenstruktur angibt; Kombinieren, basierend auf dem zweiten Pooling-Parameter, der dritten Aktionsdatenstruktur mit der vierten Aktionsdatenstruktur in eine zweite gepoolte Datenstruktur; und Übertragen, über ein Computernetzwerk, der zweiten gepoolten Datenstruktur an ein zweites Dienstanbieter-Computergerät, um das zweite Dienstanbieter-Computergerät zu veranlassen, einen Vorgang durchzuführen, der durch die zweite gepoolte Datenstruktur definiert wird und der dritten Aktion und der vierten Aktion entspricht.
  16. Computerlesbares Speichermedium nach Anspruch 13, wobei der Pooling-Parameter ein erster Pooling-Parameter ist, die Vorgänge umfassend: Empfangen, durch die Prozessorkomponente für natürliche Sprache, über die Schnittstelle des Datenverarbeitungssystems, von Datenpaketen, die ein durch den Sensor des ersten Client-Computergeräts erkanntes drittes Eingabeaudiosignal umfassen; und Identifizieren, basierend auf dem dritten Eingabeaudiosignal, einer dritten Anfrage und eines dritten Auslöserschlüsselworts für die dritte Anfrage; Erzeugen, basierend auf dem dritten Auslöserschlüsselwort und in Reaktion auf die dritte Anfrage, einer dritten Aktionsdatenstruktur mit einem Parameter, der eine dritte Aktion definiert; Ermitteln eines zweiten Pooling-Parameters, der einen Grad der Überlappung zwischen der dritten Aktionsdatenstruktur und mindestens einer der ersten Aktionsdatenstruktur, der zweiten Aktionsdatenstruktur und des Pooling-Parameters angibt; und Kombinieren, basierend auf dem Pooling-Parameter, der dritten Aktionsdatenstruktur in der gepoolten Datenstruktur.
  17. Computerlesbares Speichermedium nach Anspruch 13, wobei der Pooling-Parameter ein erster Pooling-Parameter ist, die Vorgänge umfassend: Ermitteln, durch die Pooling-Komponente des Datenverarbeitungssystems, eines zweiten Pooling-Parameters, der einen Grad der Überlappung zwischen einer dritten Aktionsdatenstruktur und mindestens einer der ersten Aktionsdatenstruktur, der zweiten Aktionsdatenstruktur und des Pooling-Parameters angibt; und Kombinieren, basierend auf dem Pooling-Parameter, der dritten Aktionsdatenstruktur in der gepoolten Datenstruktur.
  18. Computerlesbares Speichermedium nach Anspruch 13, die Vorgänge umfassend: Ermitteln des Grades der Überlappung zwischen der ersten Datenstruktur und der zweiten Datenstruktur basierend auf dem Gegenstand, der durch die erste Aktionsdatenstruktur angegeben wird, und des Gegenstands, der durch die zweite Aktionsdatenstruktur angegeben wird.
  19. Computerlesbares Speichermedium nach Anspruch 13, wobei das Datenverarbeitungssystem, das die Pooling-Komponente beinhaltet, einer ersten Entität entspricht, und das Dienstanbieter-Computergerät einer zweiten Entität entspricht, die sich von der ersten Entität unterscheidet.
  20. Computerlesbares Speichermedium nach Anspruch 13, wobei der erste Parameter und der zweite Parameter jeweils mindestens eines aus Standortdaten, Zeitdaten und eines gemeinsamen Gegenstands angeben.
DE212017000042.2U 2016-12-30 2017-08-31 Datenstruktur-Pooling von sprachaktivierten Datenpaketen Active DE212017000042U1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/395,707 US10013986B1 (en) 2016-12-30 2016-12-30 Data structure pooling of voice activated data packets
US15/395,707 2016-12-30
PCT/US2017/049774 WO2018125304A1 (en) 2016-12-30 2017-08-31 Data structure pooling of voice activated data packets

Publications (1)

Publication Number Publication Date
DE212017000042U1 true DE212017000042U1 (de) 2018-07-26

Family

ID=59887393

Family Applications (2)

Application Number Title Priority Date Filing Date
DE112017000202.8T Pending DE112017000202T5 (de) 2016-12-30 2017-08-31 Datenstruktur-Pooling von sprachaktivierten Datenpaketen
DE212017000042.2U Active DE212017000042U1 (de) 2016-12-30 2017-08-31 Datenstruktur-Pooling von sprachaktivierten Datenpaketen

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE112017000202.8T Pending DE112017000202T5 (de) 2016-12-30 2017-08-31 Datenstruktur-Pooling von sprachaktivierten Datenpaketen

Country Status (9)

Country Link
US (4) US10013986B1 (de)
EP (2) EP3360131B1 (de)
JP (3) JP6830444B2 (de)
KR (3) KR102015071B1 (de)
CN (2) CN114399999A (de)
AU (1) AU2017384993B2 (de)
DE (2) DE112017000202T5 (de)
GB (1) GB2572533B (de)
WO (1) WO2018125304A1 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11017428B2 (en) 2008-02-21 2021-05-25 Google Llc System and method of data transmission rate adjustment
US10013986B1 (en) * 2016-12-30 2018-07-03 Google Llc Data structure pooling of voice activated data packets
US10771536B2 (en) * 2009-12-10 2020-09-08 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US9339691B2 (en) 2012-01-05 2016-05-17 Icon Health & Fitness, Inc. System and method for controlling an exercise device
US9254409B2 (en) 2013-03-14 2016-02-09 Icon Health & Fitness, Inc. Strength training apparatus with flywheel and related methods
EP3974036A1 (de) 2013-12-26 2022-03-30 iFIT Inc. Mechanismus des magnetischen widerstands in einer kabelmaschine
US10433612B2 (en) 2014-03-10 2019-10-08 Icon Health & Fitness, Inc. Pressure sensor to quantify work
WO2015191445A1 (en) 2014-06-09 2015-12-17 Icon Health & Fitness, Inc. Cable system incorporated into a treadmill
WO2015195965A1 (en) 2014-06-20 2015-12-23 Icon Health & Fitness, Inc. Post workout massage device
US10391361B2 (en) 2015-02-27 2019-08-27 Icon Health & Fitness, Inc. Simulating real-world terrain on an exercise device
US10625137B2 (en) 2016-03-18 2020-04-21 Icon Health & Fitness, Inc. Coordinated displays in an exercise device
US10493349B2 (en) 2016-03-18 2019-12-03 Icon Health & Fitness, Inc. Display on exercise device
US10272317B2 (en) 2016-03-18 2019-04-30 Icon Health & Fitness, Inc. Lighted pace feature in a treadmill
US10671705B2 (en) 2016-09-28 2020-06-02 Icon Health & Fitness, Inc. Customizing recipe recommendations
KR102389041B1 (ko) * 2017-08-11 2022-04-21 엘지전자 주식회사 이동단말기 및 머신 러닝을 이용한 이동 단말기의 제어방법
KR20200004716A (ko) * 2018-07-04 2020-01-14 에스케이플래닛 주식회사 차량공유서비스장치 및 그 동작 방법
EP3752920A1 (de) * 2019-05-06 2020-12-23 Google LLC Aufrufen von agentenfunktionen über digitale assistentenanwendungen unter verwendung einer adressvorlage
CN110705249B (zh) * 2019-09-03 2023-04-11 东南大学 一种基于重叠度计算的nlp库组合使用方法
US11158308B1 (en) * 2019-11-27 2021-10-26 Amazon Technologies, Inc. Configuring natural language system
CN112614282B (zh) * 2020-12-31 2022-07-15 深圳怡化电脑股份有限公司 业务处理控制方法、装置、电子设备和介质
US20220309175A1 (en) * 2021-03-29 2022-09-29 Aipex Technologies, Inc. Content management techniques for voice assistant

Family Cites Families (156)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2775140B2 (ja) * 1994-03-18 1998-07-16 株式会社エイ・ティ・アール人間情報通信研究所 パターン認識方法、音声認識方法および音声認識装置
US7678023B1 (en) 1995-06-22 2010-03-16 Shea Michael J Method for providing mental activity for an exerciser
US6298218B1 (en) 1996-12-18 2001-10-02 Clubcom, Inc. Combined advertising and entertainment system network
US6574607B1 (en) 1997-08-23 2003-06-03 International Business Machines Corporation Performing computer-based on-line commerce using an intelligent agent to put together a package of related items
US20030154072A1 (en) * 1998-03-31 2003-08-14 Scansoft, Inc., A Delaware Corporation Call analysis
US7628730B1 (en) 1999-07-08 2009-12-08 Icon Ip, Inc. Methods and systems for controlling an exercise apparatus using a USB compatible portable remote device
AU6748900A (en) 1999-07-30 2001-02-19 Accenture Llp A system, method and article of manufacture for e-commerce based performance modeling
US6275806B1 (en) 1999-08-31 2001-08-14 Andersen Consulting, Llp System method and article of manufacture for detecting emotion in voice signals by utilizing statistics for voice signal parameters
US20020046084A1 (en) 1999-10-08 2002-04-18 Scott A. Steele Remotely configurable multimedia entertainment and information system with location based advertising
US8527345B2 (en) 2000-01-06 2013-09-03 Anthony Richard Rothschild System and method for adding an advertisement to a personal communication
US6505161B1 (en) 2000-05-01 2003-01-07 Sprint Communications Company L.P. Speech recognition that adjusts automatically to input devices
JP2003533770A (ja) 2000-05-05 2003-11-11 株式会社メガチップス 繰り延べ閲覧のための情報取得及び記憶用のシステムおよび方法
US6684249B1 (en) 2000-05-26 2004-01-27 Sonicbox, Inc. Method and system for adding advertisements over streaming audio based upon a user profile over a world wide area network of computers
US6647269B2 (en) 2000-08-07 2003-11-11 Telcontar Method and system for analyzing advertisements delivered to a mobile unit
US6857007B1 (en) 2000-08-30 2005-02-15 Bloomfield Enterprises, Llc Personal digital assistant facilitated communication system
US6751475B1 (en) 2000-10-19 2004-06-15 At&T Wireless Services, Inc. Shared-revenue billing system for transmission of wireless data from a vehicle
US20030233278A1 (en) 2000-11-27 2003-12-18 Marshall T. Thaddeus Method and system for tracking and providing incentives for tasks and activities and other behavioral influences related to money, individuals, technology and other assets
US20020107027A1 (en) 2000-12-06 2002-08-08 O'neil Joseph Thomas Targeted advertising for commuters with mobile IP terminals
US20020087401A1 (en) 2000-12-29 2002-07-04 Gateway, Inc. System and method for targeted advertising
US7062469B2 (en) 2001-01-02 2006-06-13 Nokia Corporation System and method for public wireless network access subsidized by dynamic display advertising
US9183571B2 (en) 2007-09-14 2015-11-10 Qualcomm Incorporated System and method for providing advertisement data to a mobile computing device
US20020097193A1 (en) 2001-01-23 2002-07-25 Freecar Media System and method to increase the efficiency of outdoor advertising
US20020147638A1 (en) 2001-04-05 2002-10-10 International Business Machines Corporation Business method for e-commerce through customized activity-based advertising
DE10125909A1 (de) 2001-05-28 2002-12-12 Infineon Technologies Ag Datenübertragungssystem mit hoher Datenübertragungsrate
KR100552468B1 (ko) * 2001-07-19 2006-02-15 삼성전자주식회사 음성인식에 따른 오동작을 방지 및 음성인식율을 향상 할수 있는 전자기기 및 방법
US7024211B1 (en) 2001-12-26 2006-04-04 Bellsouth Intellectual Property Corp. System and method for managing text advertisements to mobile subscribers
JP3870156B2 (ja) 2002-02-07 2007-01-17 キヤノン株式会社 ファイバープレートとその製造方法、放射線撮像装置、及び放射線撮像システム
US7013149B2 (en) 2002-04-11 2006-03-14 Mitsubishi Electric Research Laboratories, Inc. Environment aware services for mobile devices
US20040019654A1 (en) 2002-07-29 2004-01-29 Joseph Powers Method and apparatus for exercise regimen administration
JP2004192264A (ja) * 2002-12-10 2004-07-08 Ntt Docomo Inc 相乗り提供システム、相乗り提供方法、相乗り提供プログラム、及びコンピュータ読取可能な記録媒体
US7136658B2 (en) 2002-12-10 2006-11-14 International Business Machines Corporation High-rate proximity detection with the ability to provide notification
US20040192351A1 (en) 2003-03-31 2004-09-30 Duncan Daniel N. Method and system for mobile display of context-based advertising content
US20060236258A1 (en) 2003-08-11 2006-10-19 Core Mobility, Inc. Scheduling of rendering of location-based content
US20050038698A1 (en) 2003-08-12 2005-02-17 Lukose Rajan M. Targeted advertisement with local consumer profile
US8121898B2 (en) 2003-10-06 2012-02-21 Utbk, Inc. Methods and apparatuses for geographic area selections in pay-per-call advertisement
US7853255B2 (en) 2004-04-16 2010-12-14 Broadcom Corporation Digital personal assistance via a broadband access gateway
US20050245271A1 (en) 2004-04-28 2005-11-03 Sarosh Vesuna System and method using location-aware devices to provide content-rich mobile services in a wireless network
ES2796626T3 (es) 2005-01-12 2020-11-27 Invidi Tech Corp Modelo de impresiones dirigidas para la entrega de recursos de red de difusión
US20060176289A1 (en) 2005-02-05 2006-08-10 Summerbrook Media Incorporated Advertisement comprehension in mobile media
US8768766B2 (en) 2005-03-07 2014-07-01 Turn Inc. Enhanced online advertising system
US7983690B2 (en) 2005-03-24 2011-07-19 General Motors Llc Method and system for geographic boundary time triggering of communication with a mobile vehicle
US20060224447A1 (en) 2005-03-31 2006-10-05 Ross Koningstein Automated offer management using audience segment information
US20060242012A1 (en) 2005-04-22 2006-10-26 Sumit Agarwal Determining or scoring properties to solicit to join ad network using advertiser or aggregated advertiser interest
US7720684B2 (en) * 2005-04-29 2010-05-18 Nuance Communications, Inc. Method, apparatus, and computer program product for one-step correction of voice interaction
US7451041B2 (en) 2005-05-06 2008-11-11 Facet Technology Corporation Network-based navigation system having virtual drive-thru advertisements integrated with actual imagery from along a physical route
US20060286989A1 (en) 2005-05-20 2006-12-21 Illion Brian E B Geographical and calendar based advertising system and method
US8732234B2 (en) 2005-06-07 2014-05-20 Yahoo! Inc. Providing relevant non-requested content to a mobile device
WO2007010611A1 (ja) 2005-07-21 2007-01-25 Cirius Technologies, Inc. 広告情報表示方法、広告情報表示システム、広告情報表示プログラム、及び広告情報送信プログラム
WO2007022104A2 (en) 2005-08-13 2007-02-22 Adstreams Roi, Inc. Enabling an advertiser to measure user viewing to and response to an advertisement
US8195133B2 (en) 2005-09-14 2012-06-05 Jumptap, Inc. Mobile dynamic advertisement creation and placement
WO2007035959A2 (en) 2005-09-23 2007-03-29 Grape Technology Group Inc. Enhanced directory assistance system and method including location and search functions
US7505784B2 (en) 2005-09-26 2009-03-17 Barbera Melvin A Safety features for portable electronic device
US7904505B2 (en) 2005-11-02 2011-03-08 At&T Intellectual Property I, L.P. Service to push author-spoken audio content with targeted audio advertising to users
US7683252B2 (en) 2005-11-23 2010-03-23 Microsoft Corporation Algorithm for providing music to influence a user's exercise performance
US7996228B2 (en) 2005-12-22 2011-08-09 Microsoft Corporation Voice initiated network operations
US20070179359A1 (en) 2006-01-10 2007-08-02 Goodwin Amanda M Healthy city living guide and related functionality for managing health
CA2641853C (en) 2006-02-10 2016-02-02 Spinvox Limited A mass-scale, user-independent, device-independent, voice messaging system
US10803468B2 (en) 2006-04-18 2020-10-13 At&T Intellectual Property I, L.P. Method and apparatus for selecting advertising
JP2009536413A (ja) 2006-05-02 2009-10-08 インビディ テクノロジーズ コーポレイション 対象設定資産配信システムのためのファジイ論理ベースの閲覧者識別
JP4887911B2 (ja) * 2006-05-31 2012-02-29 船井電機株式会社 電子機器
US8571580B2 (en) 2006-06-01 2013-10-29 Loopt Llc. Displaying the location of individuals on an interactive map display on a mobile communication device
US8793066B2 (en) 2006-06-27 2014-07-29 Microsoft Corporation Route monetization
US7610151B2 (en) 2006-06-27 2009-10-27 Microsoft Corporation Collaborative route planning for generating personalized and context-sensitive routing recommendations
US20080004951A1 (en) 2006-06-29 2008-01-03 Microsoft Corporation Web-based targeted advertising in a brick-and-mortar retail establishment using online customer information
US20080005313A1 (en) 2006-06-29 2008-01-03 Microsoft Corporation Using offline activity to enhance online searching
US8725567B2 (en) 2006-06-29 2014-05-13 Microsoft Corporation Targeted advertising in brick-and-mortar establishments
US7617042B2 (en) 2006-06-30 2009-11-10 Microsoft Corporation Computing and harnessing inferences about the timing, duration, and nature of motion and cessation of motion with applications to mobile computing and communications
US20080004953A1 (en) 2006-06-30 2008-01-03 Microsoft Corporation Public Display Network For Online Advertising
US20080027799A1 (en) 2006-07-28 2008-01-31 Verizon Directory Services - West Inc. Location-based advertising
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
JP4188989B2 (ja) * 2006-09-15 2008-12-03 本田技研工業株式会社 音声認識装置、音声認識方法、及び音声認識プログラム
US20080091518A1 (en) 2006-09-28 2008-04-17 Henry Eisenson Adaptive cellular network advertising system
US8165598B2 (en) 2006-10-02 2012-04-24 Mobitv, Inc. Methods and apparatus for providing media on mobile devices
US20080086360A1 (en) 2006-10-06 2008-04-10 Rajesh Kanapur System and method for advertising via mobile devices
US20080097836A1 (en) 2006-10-23 2008-04-24 Samuli Silanto Advertisement presentment in an electronic device
US10567909B2 (en) 2006-10-26 2020-02-18 Samsung Electronics Co., Ltd. Wireless dissemination of environment aware information
US8880402B2 (en) * 2006-10-28 2014-11-04 General Motors Llc Automatically adapting user guidance in automated speech recognition
WO2008054715A2 (en) 2006-10-31 2008-05-08 Solicore, Inc. Powered print advertisements, product packaging, and trading cards
US9600959B2 (en) 2007-01-09 2017-03-21 Cfph, Llp System for managing promotions
US9754444B2 (en) 2006-12-06 2017-09-05 Cfph, Llc Method and apparatus for advertising on a mobile gaming device
US20080139181A1 (en) 2006-12-08 2008-06-12 Magellan Navigation, Inc. Methods and apparatus for measuring the effectiveness of advertisements presented on a mobile navigation device
EP2177010B1 (de) 2006-12-13 2015-10-28 Quickplay Media Inc. Mobile medienplattform
US20080153513A1 (en) 2006-12-20 2008-06-26 Microsoft Corporation Mobile ad selection and filtering
US8078196B2 (en) 2007-01-31 2011-12-13 At&T Intellectual Property I, Lp Methods, systems and computer program products for providing information using an advertising message with a dynamic field
US20080189215A1 (en) 2007-02-01 2008-08-07 Prototype Productions Event driven advertising method and system
US8352980B2 (en) 2007-02-15 2013-01-08 At&T Intellectual Property I, Lp System and method for single sign on targeted advertising
US8073460B1 (en) 2007-03-08 2011-12-06 Amazon Technologies, Inc. System and method for providing advertisement based on mobile device travel patterns
US8010134B2 (en) 2007-03-14 2011-08-30 Sprint Communications Company L.P. Architecture for mobile advertising with location
US20080242271A1 (en) 2007-03-26 2008-10-02 Kurt Schmidt Electronic device with location-based and presence-based user preferences and method of controlling same
US20080242231A1 (en) 2007-03-29 2008-10-02 Sony Ericsson Mobile Communications Ab Updating Presence Based on Detecting User Activity
US9092808B2 (en) 2007-04-03 2015-07-28 International Business Machines Corporation Preferred customer marketing delivery based on dynamic data for a customer
US8229458B2 (en) 2007-04-08 2012-07-24 Enhanced Geographic Llc Systems and methods to determine the name of a location visited by a user of a wireless device
US7861260B2 (en) 2007-04-17 2010-12-28 Almondnet, Inc. Targeted television advertisements based on online behavior
US7914419B2 (en) 2007-05-29 2011-03-29 Microsoft Corporation Physical activity manager
US10210531B2 (en) 2007-06-18 2019-02-19 Yellowpages.Com Llc Systems and methods to facilitate the specification of a complex geographic area
US20080319652A1 (en) 2007-06-20 2008-12-25 Radiofy Llc Navigation system and methods for map navigation
KR101322486B1 (ko) * 2007-06-28 2013-10-25 주식회사 케이티 범용 대화서비스 장치 및 그 방법
US20090005973A1 (en) 2007-06-28 2009-01-01 Salo Juha Heikki Sponsored landmarks in navigation, couponing, parallel route calculation
US8423003B2 (en) 2007-07-11 2013-04-16 Yahoo! Inc. System for serving targeted advertisements over mobile messaging services
US20090043657A1 (en) 2007-08-06 2009-02-12 Palm, Inc. System and methods for selecting advertisements based on caller identifier information
US20090048914A1 (en) 2007-08-13 2009-02-19 Research In Motion Limited System and method for facilitating targeted mobile advertisement using pre-loaded ad content
US8050690B2 (en) 2007-08-14 2011-11-01 Mpanion, Inc. Location based presence and privacy management
US20090055254A1 (en) 2007-08-23 2009-02-26 Yahoo! Inc. Dynamic and interactive advertisements
WO2009035698A1 (en) 2007-09-12 2009-03-19 Airkast, Inc. Wireless device tagging system and method
US20100299615A1 (en) 2007-09-28 2010-11-25 The Trustees Of Dartmouth College System And Method For Injecting Sensed Presence Into Social Networking Applications
US20090089166A1 (en) 2007-10-01 2009-04-02 Happonen Aki P Providing dynamic content to users
US20090132311A1 (en) 2007-11-20 2009-05-21 Theresa Klinger Method and System for Monetizing User-Generated Content
US7941557B2 (en) 2007-11-28 2011-05-10 Yahoo! Inc. Dynamical routing for text messaging
US8307029B2 (en) 2007-12-10 2012-11-06 Yahoo! Inc. System and method for conditional delivery of messages
US20090164299A1 (en) 2007-12-21 2009-06-25 Yahoo! Inc. System for providing a user interface for displaying and creating advertiser defined groups of mobile advertisement campaign information targeted to mobile carriers
US20090164300A1 (en) 2007-12-21 2009-06-25 Yahoo! Inc. Application program interface and graphical user interface for providing a user interface for targeting mobile advertisements in a mobile marketing environment
US20100312646A1 (en) 2007-12-21 2010-12-09 Yahoo! Inc. System for serving advertisements targeted to geographic areas over mobile devices
US20090197616A1 (en) 2008-02-01 2009-08-06 Lewis Robert C Critical mass billboard
US20090198538A1 (en) 2008-02-05 2009-08-06 Yahoo! Inc. Mobile advertisement filtering
US8731582B2 (en) 2008-02-08 2014-05-20 Trimble Navigation Limited Method and system for generating targeted content
US20090210491A1 (en) * 2008-02-20 2009-08-20 Microsoft Corporation Techniques to automatically identify participants for a multimedia conference event
US10013986B1 (en) * 2016-12-30 2018-07-03 Google Llc Data structure pooling of voice activated data packets
US8065185B2 (en) 2008-02-21 2011-11-22 At&T Intellectual Property I, L.P. System and method of providing targeted advertisements from subscribers of directory services
US8504365B2 (en) * 2008-04-11 2013-08-06 At&T Intellectual Property I, L.P. System and method for detecting synthetic speaker verification
US10896426B2 (en) 2008-05-09 2021-01-19 International Business Machines Corporation System and method for delivering distributed sensor based content to consumers
US9305548B2 (en) 2008-05-27 2016-04-05 Voicebox Technologies Corporation System and method for an integrated, multi-modal, multi-device natural language voice services environment
US8589161B2 (en) * 2008-05-27 2013-11-19 Voicebox Technologies, Inc. System and method for an integrated, multi-modal, multi-device natural language voice services environment
US8145561B1 (en) 2009-01-05 2012-03-27 Sprint Communications Company L.P. Phone usage pattern as credit card fraud detection trigger
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10120877B2 (en) * 2011-09-15 2018-11-06 Stephan HEATH Broad and alternative category clustering of the same, similar or different categories in social/geo/promo link promotional data sets for end user display of interactive ad links, coupons, mobile coupons, promotions and sale of products, goods and services integrated with 3D spatial geomapping and mobile mapping and social networking
US8453058B1 (en) * 2012-02-20 2013-05-28 Google Inc. Crowd-sourced audio shortcuts
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10387448B2 (en) * 2012-05-15 2019-08-20 Splunk Inc. Replication of summary data in a clustered computing environment
US10417037B2 (en) * 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US20130325449A1 (en) * 2012-05-31 2013-12-05 Elwha Llc Speech recognition adaptation systems based on adaptation data
US9275637B1 (en) * 2012-11-06 2016-03-01 Amazon Technologies, Inc. Wake word evaluation
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US9842489B2 (en) * 2013-02-14 2017-12-12 Google Llc Waking other devices for additional data
US9538114B2 (en) 2013-02-22 2017-01-03 The Directv Group, Inc. Method and system for improving responsiveness of a voice recognition system
US9026176B2 (en) * 2013-05-12 2015-05-05 Shyh-Jye Wang Message-triggered voice command interface in portable electronic devices
CN103426431B (zh) * 2013-07-24 2016-08-10 阳光凯讯(北京)科技有限公司 卫星网络与地面网系的融合通信系统及动态声码转换方法
US20160255139A1 (en) * 2016-03-12 2016-09-01 Yogesh Chunilal Rathod Structured updated status, requests, user data & programming based presenting & accessing of connections or connectable users or entities and/or link(s)
KR20150031896A (ko) * 2013-09-17 2015-03-25 한국전자통신연구원 음성인식장치 및 그 동작방법
US9245527B2 (en) * 2013-10-11 2016-01-26 Apple Inc. Speech recognition wake-up of a handheld portable electronic device
US10445777B2 (en) 2013-10-29 2019-10-15 Verizon Patent And Licensing Inc. Methods and systems for delivering electronic content to users in population based geographic zones
CN103685504A (zh) * 2013-12-11 2014-03-26 南京大学 基于Android平台的拼车系统及其工作方法
US9589564B2 (en) * 2014-02-05 2017-03-07 Google Inc. Multiple speech locale-specific hotword classifiers for selection of a speech locale
WO2016014026A1 (en) * 2014-07-22 2016-01-28 Nuance Communications, Inc. Systems and methods for speech-based searching of content repositories
US9318107B1 (en) * 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
US9424841B2 (en) * 2014-10-09 2016-08-23 Google Inc. Hotword detection on multiple devices
KR101643560B1 (ko) * 2014-12-17 2016-08-10 현대자동차주식회사 음성 인식 장치, 그를 가지는 차량 및 그 방법
US10095878B2 (en) * 2015-06-02 2018-10-09 ALTR Solutions, Inc. Internal controls engine and reporting of events generated by a network or associated applications
KR20170028628A (ko) * 2015-09-04 2017-03-14 삼성전자주식회사 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체
US20170092278A1 (en) 2015-09-30 2017-03-30 Apple Inc. Speaker recognition
US9542941B1 (en) * 2015-10-01 2017-01-10 Lenovo (Singapore) Pte. Ltd. Situationally suspending wakeup word to enable voice command input
US9928840B2 (en) 2015-10-16 2018-03-27 Google Llc Hotword recognition
US9747926B2 (en) 2015-10-16 2017-08-29 Google Inc. Hotword recognition
US9653075B1 (en) * 2015-11-06 2017-05-16 Google Inc. Voice commands across devices
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech

Also Published As

Publication number Publication date
US11625402B2 (en) 2023-04-11
US10719515B2 (en) 2020-07-21
EP3360131A1 (de) 2018-08-15
GB201803296D0 (en) 2018-04-11
US20200327121A1 (en) 2020-10-15
GB2572533A8 (en) 2019-10-30
CN114399999A (zh) 2022-04-26
US10423621B2 (en) 2019-09-24
KR102015071B1 (ko) 2019-08-27
WO2018125304A1 (en) 2018-07-05
GB2572533B (en) 2022-06-22
JP2020115363A (ja) 2020-07-30
EP3540728A1 (de) 2019-09-18
KR20190099353A (ko) 2019-08-26
US10013986B1 (en) 2018-07-03
KR20180090729A (ko) 2018-08-13
US20180308493A1 (en) 2018-10-25
JP7471333B2 (ja) 2024-04-19
DE112017000202T5 (de) 2018-08-16
KR20210076206A (ko) 2021-06-23
CN108541315A (zh) 2018-09-14
JP2022070905A (ja) 2022-05-13
US20190377732A1 (en) 2019-12-12
KR102268989B1 (ko) 2021-06-24
AU2017384993A1 (en) 2019-05-23
AU2017384993B2 (en) 2020-02-06
US20180190299A1 (en) 2018-07-05
JP6830444B2 (ja) 2021-02-17
JP2019505023A (ja) 2019-02-21
EP3360131B1 (de) 2019-07-24
GB2572533A (en) 2019-10-09
CN108541315B (zh) 2022-01-11

Similar Documents

Publication Publication Date Title
DE212017000042U1 (de) Datenstruktur-Pooling von sprachaktivierten Datenpaketen
DE112017000169T5 (de) Gerätekennungsabhängige vorgangsverarbeitung von paketbasierter datenkommunikation
DE112017000122T5 (de) Natürliche Sprachverarbeitung für den Sitzungsaufbau mit Serviceprovidern
DE112017000092T5 (de) Sequenzabhängige vorgangsverarbeitung von paketbasierten datennachrichtenübertragungen
DE112017000141T5 (de) Selektives sensorabfragen
DE112017000104T5 (de) Sequenzabhängige datennachrichtenkonsolidierung in einer sprachaktivierten computernetzwerkumgebung
DE112017000139T5 (de) Modulation von paketierten Audiosignalen
DE212017000294U1 (de) Authentifizierung von paketierten Audiosignalen
DE112017000131T5 (de) Rückmeldungssteuerung für Datenübertragungen
DE202015009254U1 (de) Automatisch erzeugende ausführungssequenzen für workflows
DE112017000142T5 (de) Multimodale übertragung von paketierten daten
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
DE212017000068U1 (de) Einrichten von audio-basierten Netzwerksitzungen mit nicht registrierten Ressourcen
DE202014010940U1 (de) Dynamische Shuffle-Rekonfiguration
DE202014010924U1 (de) Nichtflüchtiges Shuffle-System
DE112018007578T5 (de) Dialogsystem, das zu Semantik-Verständnis-Mapping zwischen Benutzerabsichten und Maschinenservices fähig ist
DE202014010918U1 (de) Das Clustering von Werbeanzeigen mit organischen Karteninhalten
DE112015005293T5 (de) Präsentation von Informationskarten für Ereignisse, die mit Entitäten verbunden sind
DE102017121780A1 (de) Hierarchische Annotation von Dialogakten
DE112015004704T5 (de) Identifizieren von Lernsituationen für die Kontextsuche
DE102015008607A1 (de) Adaptives Anpassen von Netzwerk-Anforderungen auf Client-Anforderungen in digitalen Netzwerken

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, 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