DE112017000104T5 - Sequenzabhängige datennachrichtenkonsolidierung in einer sprachaktivierten computernetzwerkumgebung - Google Patents
Sequenzabhängige datennachrichtenkonsolidierung in einer sprachaktivierten computernetzwerkumgebung Download PDFInfo
- Publication number
- DE112017000104T5 DE112017000104T5 DE112017000104.8T DE112017000104T DE112017000104T5 DE 112017000104 T5 DE112017000104 T5 DE 112017000104T5 DE 112017000104 T DE112017000104 T DE 112017000104T DE 112017000104 T5 DE112017000104 T5 DE 112017000104T5
- Authority
- DE
- Germany
- Prior art keywords
- action
- data
- computing device
- processing system
- data processing
- 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.)
- Pending
Links
- 230000001419 dependent effect Effects 0.000 title claims abstract description 36
- 238000007596 consolidation process Methods 0.000 title description 3
- 230000009471 action Effects 0.000 claims abstract description 502
- 238000012546 transfer Methods 0.000 claims abstract description 86
- 238000000034 method Methods 0.000 claims abstract description 76
- 230000005540 biological transmission Effects 0.000 claims abstract description 65
- 238000005457 optimization Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims description 222
- 230000005236 sound signal Effects 0.000 claims description 113
- 238000004891 communication Methods 0.000 claims description 75
- 230000004044 response Effects 0.000 claims description 43
- 230000000903 blocking effect Effects 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 43
- 230000008569 process Effects 0.000 description 24
- 230000000694 effects Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 12
- 238000013515 script Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 9
- 230000009466 transformation Effects 0.000 description 7
- 230000009850 completed effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000002730 additional effect Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000009189 diving Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000012913 prioritisation Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- IRLPACMLTUPBCL-KQYNXXCUSA-N 5'-adenylyl sulfate Chemical compound C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(=O)OS(O)(=O)=O)[C@@H](O)[C@H]1O IRLPACMLTUPBCL-KQYNXXCUSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000002910 structure generation Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/162—Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3343—Query execution using phonetics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
- HINTERGRUND
- Die vorliegende Anmeldung beansprucht den Vorteil und die Priorität der
US-Patentanmeldung Nr. 15/395,725 - 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, eine Operation, die 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, wenn das ansprechende Computergerät an oder über dessen Verarbeitungskapazität gelangt, was eine ineffiziente Bandbreitennutzung 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 DER OFFENBARUNG
- Mindestens ein Aspekt ist auf ein System zum Kombinieren mehrerer sprachaktivierter Audioeingabedatenpakete gerichtet, die sequenzabhängige Vorgänge angeben. 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 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 Auslöserschlüsselwort und in Reaktion auf die erste Anfrage, eine erste Aktionsdatenstruktur erzeugen. Die Direktaktions-API kann eine erste Datenübertragung konstruieren, die die erste Aktionsdatenstruktur beinhaltet, um eine erste Kommunikationssitzung zwischen einem ersten Dienstanbieter-Computergerät und dem Client-Computergerät aufzubauen, wobei Datenpakete der ersten Kommunikationssitzung vom Client-Computergerät zum ersten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden. Die Prozessorkomponente für natürliche Sprache kann, über die Schnittstelle des Datenverarbeitungssystems, Datenpakete empfangen, die ein zweites Eingabeaudiosignal umfassen, das vom Sensor der 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 („API“) kann, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage, eine zweite Aktionsdatenstruktur erzeugen. Die Direktaktions-API kann eine zweite Datenübertragung konstruieren, die die zweite Aktionsdatenstruktur beinhaltet, um eine zweite Kommunikationssitzung zwischen einem zweiten Dienstanbieter-Computergerät und dem Client-Computergerät aufzubauen, wobei Datenpakete der zweiten Kommunikationssitzung vom Client-Computergerät zum zweiten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden. Eine Thread-Optimierungskomponente, die vom Datenverarbeitungssystem ausgeführt wird, kann Datenpakete der ersten Datenübertragung sowie Datenpakete der zweiten Datenübertragung erhalten. Die Thread-Optimierungskomponente kann, auf Basis einer heuristischen Technik, die auf die Datenpakete der ersten Datenstruktur und die Datenpakete, die auf die zweite Datenstruktur angewandt wird, einen Sequenzabhängigkeitsparameter ermitteln. Die Thread-Optimierungskomponente kann, auf Basis eines Vergleichs des Sequenzabhängigkeitsparameters mit einem Schwellenwert, die erste Datenübertragung mit der zweiten Aktionsdatenübertragung in einem Einzelthread zusammenführen.
- Mindestens ein Aspekt ist auf ein Verfahren zum Verwalten mehrerer sprachaktivierter Audioeingabedatenkommunikationen gerichtet, die sequenzabhängige Vorgänge angeben. Das Verfahren kann das Empfangen von Datenpaketen, die ein durch einen Sensor eines 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 Identifizieren einer ersten Anfrage und eines ersten Auslöserschlüsselworts, das der ersten Anfrage entspricht, durch die Prozessorkomponente für natürliche Sprache, aus dem ersten Eingabeaudiosignal, beinhalten. Das Verfahren kann das Erzeugen einer ersten Aktionsdatenstruktur 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 Konstruieren einer ersten Datenübertragung, die die erste Aktionsdatenstruktur beinhaltet, für eine erste Kommunikationssitzung zwischen einem ersten Dienstanbieter-Computergerät und dem Client-Computergerät beinhalten, wobei Datenpakete der ersten Kommunikationssitzung vom Client-Computergerät zum ersten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden. 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 vom Sensor des 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, durch die Direktaktions-API, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage, einer zweiten Aktionsdatenstruktur beinhalten. Das Verfahren kann das Konstruieren einer zweiten Datenübertragung, die die zweite Aktionsdatenstruktur beinhaltet, für eine zweite Kommunikationssitzung zwischen einem zweiten Dienstanbieter-Computergerät und dem Client-Computergerät beinhalten, wobei Datenpakete der zweiten Kommunikationssitzung vom Client-Computergerät zum zweiten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden. Das Verfahren kann das Erhalten, durch die Thread-Optimierungskomponente, die durch das Datenverarbeitungssystem ausgeführt wird, von Daten der ersten Datenübertragung und Daten der zweiten Datenübertragung beinhalten. Das Verfahren kann das Ermitteln, auf Basis einer heuristischen Technik, die auf die Daten der ersten Datenübertragung angewandt wird und auf die Daten der zweiten Datenübertragung angewandt wird, eines Sequenzabhängigkeitsparameters beinhalten. Das Verfahren kann das Verknüpfen, auf Basis eines Vergleichs des Sequenzabhängigkeitsparameters mit einem Schwellenwert, der ersten Aktionsdatenstruktur und der zweiten Aktionsdatenstruktur mit einem Einzelthread beinhalten.
- 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 mehrere sprachaktivierte Audioeingabedatenkommunikationen zu verwalten, die sequenzabhängige Vorgänge angeben. Die Vorgänge können das Empfangen von Datenpaketen, die ein durch einen Sensor eines 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 Identifizieren einer ersten Anfrage und eines ersten Auslöserschlüsselworts, das der ersten Anfrage entspricht, durch die Prozessorkomponente für natürliche Sprache, aus dem ersten Eingabeaudiosignal, beinhalten. Die Vorgänge können das Erzeugen einer ersten Aktionsdatenstruktur 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 Konstruieren einer ersten Datenübertragung, die die erste Aktionsdatenstruktur beinhaltet, für eine erste Kommunikationssitzung zwischen einem ersten Dienstanbieter-Computergerät und dem Client-Computergerät beinhalten, wobei Datenpakete der ersten Kommunikationssitzung vom Client-Computergerät zum ersten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden. 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 vom Sensor der 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. Die Vorgänge können das Erzeugen, durch die Direktaktions-API, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage, einer zweite Aktionsdatenstruktur beinhalten. Die Vorgänge können das Konstruieren einer zweiten Datenübertragung, die die zweite Aktionsdatenstruktur beinhaltet, für eine zweite Kommunikationssitzung zwischen einem zweiten Dienstanbieter-Computergerät und dem Client-Computergerät beinhalten, wobei Datenpakete der zweiten Kommunikationssitzung vom Client-Computergerät zum zweiten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden. Die Vorgänge können das Erhalten, durch die Thread-Optimierungskomponente, die durch das Datenverarbeitungssystem ausgeführt wird, von Datenpaketen der ersten Datenübertragung und Datenpaketen der zweiten Datenübertragung beinhalten. Die Vorgänge können das Ermitteln, auf Basis einer heuristischen Technik, die auf die Datenpakete der ersten Datenstruktur und die Datenpakete der zweiten Datenstruktur angewandt wird, eines Sequenzabhängigkeitsparameter beinhalten. Die Vorgänge können das Verknüpfen, auf Basis des Sequenzabhängigkeitsparameters, der ersten Aktionsdatenstruktur und der zweiten Aktionsdatenstruktur mit einem Einzelthread beinhalten.
- 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. Gleiche Bezugsnummern und Bezeichnungen in den verschiedenen Zeichnungen verweisen auf ähnliche Elemente. Aus Gründen der Übersichtlichkeit ist möglicherweise nicht jede Komponente in jeder Zeichnung beschriftet. In den Zeichnungen:
-
1 stellt ein System zum Kombinieren mehrerer sprachaktivierter Eingabedatenpakete dar, die sequenzabhängige Vorgänge in einer sprachaktivierten Computernetzwerkumgebung angegeben haben; -
2 stellt ein Funktionsdiagramm einer Einzelthreadstruktur für eine auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung dar; -
3 stellt ein Funktionsdiagramm der Thread-Datenstrukturerzeugung und Kommunikation zwischen Remote-Datenverarbeitungssystemen und Dienstanbieter-Computergeräten in einer auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung dar; -
4 stellt Verfahren zum Verwalten mehrerer sprachaktivierter Audioeingabedatenkommunikationen dar, die sequenzabhängige Vorgänge angeben; 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 Optimieren der Verarbeitung mehrerer sprachaktivierter Audioeingabedatenpakete in einer sprachaktivierten Computernetzwerkumgebung betreffen, und von Implementierungen derselben. Die verschiedenen Konzepte, die vorstehend vorgestellt wurden und nachstehend ausführlicher erläutert werden, können auf eine beliebige von zahlreichen Weisen implementiert werden.
- Systeme und Verfahren der vorliegenden Offenbarung beziehen sich allgemein auf ein Datenverarbeitungssystem, das mehrere auf sprachaktivierten Paketen (oder einem anderen Protokoll) basierende Eingabeaudiosignale über paketbasierte Übertragungen in einer sprachaktivierten Computernetzwerkumgebung optimiert oder dynamisch anpasst. Das Datenverarbeitungssystem kann die Effizienz und Effektivität der Datenpaketübertragung über eines oder mehrere Computernetzwerke beispielsweise durch Extrahieren von Informationen aus Eingabeaudiosignalen zum Erzeugen mehrerer entsprechender Aktionsdatenstrukturen verbessern. Die Aktionsdatenstrukturen können für die Übertragung während Kommunikationssitzungen zwischen dem Datenverarbeitungssystem und mehreren verschiedenen Dienstanbieter-Computergeräten konstruiert sein. Aus den Datenpaketen verschiedener Aktionsdatenstrukturen kann das Datenverarbeitungssystem beispielsweise mindestens einen Sequenzabhängigkeitsparameter ermitteln. Die Sequenzabhängigkeitsparameter können eine Reihenfolge der Aktionsvorgänge angeben, die durch die Aktionsdatenstrukturen oder ihre entsprechenden Datenübertragungen angegeben werden. Auf Basis der Sequenzabhängigkeitsparameter kann das Datenverarbeitungssystem mehrere Aktionsdatenübertragungen in einem Einzelthread zusammenführen oder kombinieren.
- Der Einzelthread kann sequenzabhängige Vorgänge von mehreren Aktionsdatenstrukturen beinhalten. Das Datenverarbeitungssystem kann den Einzelthread oder Teile davon (z. B. mindestens eine paketbasierte Datenstruktur) mehreren Dienstanbieter-Computergeräten bereitstellen, um Aktionen durchzuführen, die durch den Einzelthread angegeben werden. Das Datenverarbeitungssystem kann außerdem den Einzelthread oder Teile davon für mindestens ein Inhaltsanbieter-Computergerät bereitstellen, um Inhaltselemente zu erhalten, die mit dem Einzelthread verknüpft sind. Die Dienstanbieter-Computergeräte und die Inhaltsanbieter-Computergeräte können, über das oder unter Umgehung des Datenverarbeitungssystems, mit mindestens einem Client-Computergerät (z. B. einer Quelle der Audioeingabesignale) kommunizieren, um Audioausgaben wiederzugeben, um die Aktionen durchzuführen, die durch den Thread angegeben werden, oder um Inhaltselemente am Client-Computergerät wiederzugeben.
- Durch Zusammenführen oder sonstiges Konsolidieren mehrerer Aktionsdatenstrukturen in einem Einzelthread und durch Identifizieren sequenzabhängiger Vorgänge, die durch den Einzelthread angegeben werden, werden die Verarbeitungs-, Energie- und Speichernutzungsanforderungen des Datenverarbeitungssystem im Vergleich zur individuellen Verarbeitung mehrerer Aktionsdatenstrukturen ohne solche Konsolidierung und Sequenzabhängigkeitsidentifizierung verringert. Asynchrone Verarbeitung oder Verarbeitung in falscher Reihenfolge der Vorgänge individueller Aktionsdatenstrukturen kann beispielsweise unpassende, vorzeitige oder unnötige Datenpaketkommunikationen über aufgebaute Kommunikationssitzungen zwischen dem Datenverarbeitungssystem und den Dienstanbieter- oder Inhaltsanbieter-Computergeräten verursachen. Dies verschwendet Bandbreite und kann unnötige Verarbeitungsvorgänge durch das Datenverarbeitungssystem sowie durch die Dienstanbieter- und Inhaltsanbieter-Computergeräte verursachen, wodurch die Rechenressourcen mehrerer Computergeräte verschwendet werden.
- Basierend auf identifizierten sequenzabhängigen Vorgängen im Einzelthread kann das Datenverarbeitungssystem vorübergehend oder dauerhaft die Anfangsvorgänge eines Satzes von sequenzabhängigen Vorgängen überspringen und stattdessen zu einem Vorgang übergehen, der einem späteren oder endgültigen Vorgang entspricht. Indem paket- oder anderen protokollbasierte Datenübertragungen, die einem frühen Betrieb einer Vielzahl von sequenzabhängigen Vorgängen entsprechen, umgangen werden und stattdessen direkt zu paketbasierten Datenübertragungen für spätere Vorgänge in einer Folge von Vorgängen übergegangen wird, kann das Datenverarbeitungssystem die Datenverarbeitung, die mit den Vorgängen in der Frühphase verbunden ist, reduzieren, verzögern oder beseitigen. Dies spart Verarbeitungsleistung und andere Rechenressourcen wie Speicher, reduziert den Stromverbrauch des Datenverarbeitungssystems, darüber hinaus werden durch die reduzierte Datenübertragung über das Computernetzwerk der Bandbreitenbedarf und die Nutzung des Datenverarbeitungssystems reduziert.
- Die hier beschriebenen Systeme und Verfahren können ein Datenverarbeitungssystem beinhalten, das ein erstes Eingabeaudiosignal empfängt. Vom ersten Eingabeaudiosignal kann das Datenverarbeitungssystem eine erste Anfrage und ein erstes Auslöserschlüsselwort identifizieren, das der Anfrage entspricht. Auf Basis des ersten Auslöserschlüsselworts oder der ersten Anfrage kann das Datenverarbeitungssystem eine erste Aktionsdatenstruktur erzeugen und kann eine erste Datenübertragung konstruieren oder vorbereiten, die die erste Aktionsdatenstruktur beinhaltet. Die erste Datenübertragung kann als ein Datenpaket oder andere protokollbasierte Übertragung vom Client-Computergerät zu mindestens einem ersten Dienstanbieter-Computergerät als Teil der ersten Kommunikationssitzung geroutet werden.
- Das Datenverarbeitungssystem kann ein zweites Eingabeaudiosignal empfangen. Vom zweiten Eingabeaudiosignal kann das Datenverarbeitungssystem eine zweite Anfrage und ein zweites Auslöserschlüsselwort identifizieren, das der Anfrage entspricht. Auf Basis des zweiten Auslöserschlüsselworts oder der zweiten Anfrage kann das Datenverarbeitungssystem eine zweite Aktionsdatenstruktur erzeugen und eine zweite Datenübertragung konstruieren oder vorbereiten, die die zweite Aktionsdatenstruktur beinhaltet. Die zweite Datenübertragung kann als ein Datenpaket oder andere protokollbasierte Übertragung vom Client-Computergerät zu mindestens einem zweiten Dienstanbieter-Computergerät als Teil der zweiten Kommunikationssitzung geroutet werden. Die ersten und zweiten Dienstanbieter-Computergeräte können verschiedenen Entitäten entsprechen, die nicht über das Datenverarbeitungssystem miteinander kommunizieren.
- Das Datenverarbeitungssystem kann Datenpakete der ersten und zweiten Übertragungen (z. B. von den ersten und zweiten Datenstrukturen) erhalten und Informationen aus den Datenpaketen extrahieren, um mindestens einen Sequenzabhängigkeitsparameter zu ermitteln. Der Sequenzabhängigkeitsparameter kann eine Sequenz der Vorgänge für Aktionen der ersten und zweiten Datenstrukturen angeben. Das Datenverarbeitungssystem kann die Sequenzabhängigkeitsparameter mit einem Schwellenwert (z. B. einer Regel, einer Richtlinie oder einem Wert) vergleichen und auf Basis des Vergleichs kann das Datenverarbeitungssystem die ersten und zweiten Datenübertragungen (oder verknüpfte Aktionsdatenstrukturen) in einem Einzelthread zusammenführen. Der Einzelthread kann Aktionen der ersten und zweiten (oder mehr) Aktionsdatenstrukturen angeben und eine Sequenz oder Reihenfolge dieser Aktionen sowie Sequenzabhängigkeiten angeben, wobei zum Beispiel eine zweite Aktion nicht beginnen (oder für das Beginnen geplant werden) kann, bis die erste Aktion abgeschlossen ist.
- Das Datenverarbeitungssystem kann Vorgänge in Verbindung mit einigen Aktionen des Einzelthread, zum Beispiel auf Basis von Sequenzabhängigkeiten oder auf Basis von Eingaben, die vom Client-Computergerät empfangen werden, neu ordnen, überspringen oder zumindest vorübergehend umgehen. Dies kann vor oder ohne Ausführen von mindestens einem Teil der Datenverarbeitungsvorgänge erfolgen, die auf der umgangenen Aktion basieren. Das Umgehen der Verarbeitungsvorgänge für eine erste Aktion kann dazu führen, dass Daten in Verbindung mit einer zweiten Aktion mit weniger Datenverarbeitung und weniger Stromverbrauch identifiziert, übertragen oder wiedergegeben werden als ohne die Umgehung der Fall wäre.
-
1 stellt ein exemplarisches System100 zur Optimierung der Verarbeitung von mehreren Aktionsdatenstrukturen mit sequenzabhängigen Vorgängen in einer sprachaktivierten (oder anderen protokoll-) basierten Computernetzwerkumgebung dar. Das System100 kann mindestens ein Datenverarbeitungssystem105 , beispielsweise als Teil eines sprachaktivierten Kommunikations- oder Planungssystems, beinhalten. Das Datenverarbeitungssystem 105 kann mindestens einen Server beinhalten, der mindestens einen Prozessor aufweist. Das Datenverarbeitungssystem105 kann zum Beispiel eine Vielzahl von Servern beinhalten, die sich in mindestens einem Rechenzentrum oder in einer Serverfarm befinden. Das Datenverarbeitungssystem105 kann aus einem Audioeingabesignal eine Anfrage und ein mit der Anfrage verknüpftes Auslöserschlüsselwort bestimmen. Auf Basis der Anfrage und des Auslöserschlüsselworts kann das Verarbeitungssystem105 eine Aktionsdatenstruktur erzeugen. Die Aktionsdatenstruktur kann mindestens eine Aktion angeben, die dem Eingabeaudiosignal entspricht. Das Datenverarbeitungssystem105 kann mehrere getrennte Eingabeaudiosignale empfangen und für jedes Eingabeaudiosignal eine jeweilige Datenstruktur erstellen. Das Datenverarbeitungssystem105 kann Datenübertragungen für jede Datenstruktur konstruieren oder anderweitig vorbereiten, um die Datenstrukturen während jeweiliger Kommunikationssitzungen in Bezug auf andere Computergeräte (z. B. Dienstanbieter-Computergeräte oder Inhaltsanbieter-Computergeräte) zu übertragen. Das Datenverarbeitungssystem105 kann, aus den Aktionsdatenstrukturen oder entsprechenden Datenübertragungen, einen oder mehrere Sequenzabhängigkeitsparameter ermitteln. Auf Basis der Sequenzabhängigkeitsparameter kann das Datenverarbeitungssystem105 mehrere Datenübertragungen (oder entsprechende Aktionsdatenstrukturen) in einem Einzelthread zusammenführen. Ein Einzelthread kann Aktionen von mindestens zwei Aktionsdatenstrukturen sowie Reihenfolgen von Vorgängen oder Sequenzabhängigkeiten der Aktionen angeben. - Das Datenverarbeitungssystem
105 kann mehrere, logisch gruppierte Server beinhalten und verteilte Rechenprozesse unterstützen. Die logische Gruppe von Servern kann als ein Rechenzentrum, eine Serverfarm oder eine 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äß einer oder mehreren Arten von Betriebssystemplattformen betrieben werden. Das Datenverarbeitungssystem105 kann Server in einem Rechenzentrum beinhalten, die in einem oder mehreren High-Density-Racksystemen gespeichert sind, sowie zugehörige Speichersysteme, die beispielsweise in einem Unternehmensrechenzentrum positioniert sind. Das Datenverarbeitungssystem105 mit konsolidierten Servern kann auf diese Weise Systemverwaltung, Datensicherheit, physische Sicherheit des Systems sowie Systemleistung verbessern, indem in lokalisierten Hochleistungsnetzwerken nach Servern und Hochleistungsspeichersystemen gesucht wird. Die Zentralisierung aller oder einiger der Komponenten des Datenverarbeitungssystems105 , 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 gespart und die Bandbreitennutzung reduziert werden. - Das Datenverarbeitungssystem
105 kann mindestens eine Prozessorkomponente für natürliche Sprache (NLP)110 , mindestens eine Schnittstelle115 , mindestens eine Thread-Optimierungskomponente120 , mindestens eine Inhaltsauswahlelementkomponente125 , mindestens eine Audiosignalgeneratorkomponente130 , mindestens eine Direktaktions-Anwendungsprogrammierschnittstelle (API)135 , mindestens eine Sitzungshandhabungselementkomponente140 und mindestens einen Datenbehälter 145 beinhalten. Die NLP-Komponente110 , Schnittstelle115 , Thread-Optimierungskomponente120 , Inhaltsauswahlelementkomponente125 , Audiosignalgeneratorkomponente130 , Direktaktions-API135 und Sitzungshandhabungselementkomponente140 können jeweils mindestens eine Verarbeitungseinheit, einen Server, virtuellen Server, eine Schaltung, eine Maschine, einen Agenten, eine Vorrichtung oder ein sonstiges Logikgerät, wie z. B. programmierbare Arrays beinhalten, die konfiguriert sind, mit dem Datenbehälter145 und mit sonstigen Computergeräten (z. B. dem Client-Computergerät150 , dem Inhaltsanbieter-Computergerät155 oder dem Dienstanbieter-Computergerät160 ) über das mindestens eine Computernetzwerk165 kommunizieren zu können. Das Netzwerk165 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 Inhaltsanordnungs- oder Suchmaschinenergebnissystem verknüpft sind, oder die auswählbar sind, sodass sie Drittanbieterinhaltselemente als Teil einer Inhaltselementanordnungskampagne beinhalten. Das Netzwerk165 kann durch das Datenverarbeitungssystem105 verwendet werden, um auf Informationsressourcen wie Webseiten, Internetpräsenzen, Domänennamen oder URL-Adressen zuzugreifen, die durch das Client-Computergerät150 präsentiert, ausgegeben, wiedergegeben oder angezeigt werden können. Über das Netzwerk165 kann ein Benutzer des Client-Computergeräts150 beispielsweise auf Informationen oder Daten zugreifen, die durch das Inhaltsanbieter-Computergerät155 oder das Dienstanbieter-Computergerät160 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-Netzwerk (Asynchroner Transfermodus), ein SONET-Netzwerk (Synchrones Optisches Netzwerk), ein SDH-Netzwerk (Synchrone Digitale Hierarchie), ein Drahtlosnetzwerk oder ein kabelgebundenes Netzwerk beinhalten und Kombinationen derselben sein. Das Netzwerk165 kann eine Drahtlosverbindung, wie z. B. einen Infrarotkanal oder ein Satellitenfrequenzband, beinhalten. Die Topologie des Netzwerks165 kann eine Bus-, Stern- oder Ringnetzwerktopologie beinhalten. Das Netzwerk165 kann mobile Telefonnetzwerke unter Verwendung eines beliebigen Protokolls oder beliebigen Protokollen beinhalten, die zur Kommunikation mit Mobilgeräten geeignet sind, darunter 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ät155 und das Dienstanbieter-Computergerät160 können mindestens ein Logikgerät, wie z. B. ein Computergerät mit einem Prozessor, zur Kommunikation miteinander oder mit dem Datenverarbeitungssystem105 über das Netzwerk165 beinhalten. Das Client-Computergerät150 , das Inhaltsanbieter-Computergerät155 und das Dienstanbieter-Computergerät160 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ät150 , das Inhaltsanbieter-Computergerät155 und das Dienstanbieter-Computergerät160 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 Sensor151 , mindestens einen Wandler152 , mindestens einen Audiotreiber153 und mindestens einen Lautsprecher154 beinhalten. Der Sensor151 kann ein Mikrofon oder einen Audioeingabesensor beinhalten. Der Wandler152 kann das Audioeingabesignal in ein elektronisches Signal umwandeln. Der Audiotreiber153 kann ein Script oder Programm beinhalten, das von einem oder mehreren Prozessoren des Client-Computergeräts150 ausgeführt wird, um den Sensor151 , den Wandler152 oder den Audiotreiber153 neben anderen Komponenten des Client-Computergeräts150 zu steuern, um Audioeingaben zu verarbeiten oder Audioausgaben bereitzustellen. Der Lautsprecher154 kann das Audioausgabesignal übertragen. - Das Client-Computergerät
150 kann mit einem Endbenutzer verknüpft sein, der Sprachabfragen als Audioeingabe in das Client-Computergerät150 (über den Sensor151 ) eingibt, und eine Audioausgabe in Form einer computergenerierten Stimme empfängt, die von dem Datenverarbeitungssystem105 (oder dem Inhaltsanbieter-Computergerät155 oder dem Dienstanbieter-Computergerät160 ) für das Client-Computergerät150 bereitgestellt und von einem Lautsprecher154 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 zum Anzeigen durch das Client-Computergerät150 als ein Audioausgangsinhaltselement bereitstellen. Das Inhaltselement kann ein Angebot für eine Ware oder eine Dienstleistung, wie z. B. eine sprachbasierte Nachricht wie folgt beinhalten: „Möchten Sie, dass ich für Sie ein Taxi bestelle?“ Das Inhaltsanbieter-Computergerät155 kann beispielsweise einen Arbeitsspeicher beinhalten, um eine Reihe von Audioinhaltselementen zu speichern, die in Reaktion auf eine sprachbasierte Abfrage bereitgestellt werden. Das Inhaltsanbieter-Computergerät155 kann auch audiobasierte Inhaltselemente (oder andere Inhaltselemente) an das Datenverarbeitungssystem105 bereitstellen, wo diese im Datenbehälter145 gespeichert werden können. Das Datenverarbeitungssystem105 kann die Inhaltselemente auswählen, die eine Audiokomponente beinhalten, und die Inhaltselemente für das Client-Computergerät155 bereitstellen (oder das Inhaltsanbieter-Computergerät150 anweisen, diese bereitzustellen). Die audiobasierten Inhaltselemente können ausschließlich Audio sein oder mit Text-, Bild- oder Videodaten kombiniert sein. Die Inhaltselemente können eine oder mehrere Audiodateien beinhalten, die beim Wiedergeben eine Audioausgabe oder eine akustische Welle bereitstellen. Die Inhaltselemente können neben oder anstelle von Audioinhalten auch andere Inhalte (z. B. Text-, Video- oder Bildinhalte) beinhalten. Beispielsweise können die Inhaltselemente Text- oder Bilddateien oder Kombinationen derselben beinhalten, die keine Audiodateien beinhalten und die keine Audioausgabe wiedergeben. - Das Dienstanbieter-Computergerät
160 kann mindestens eine Prozessorkomponente für natürliche Sprache (NLP)161 des Dienstanbieters und mindestens eine Dienstanbieterschnittstelle162 beinhalten. Die Dienstanbieter-NLP-Komponente161 (oder andere Komponenten, wie z. B. eine Direktaktions-API des Dienstanbieter-Computergeräts160 ) kann das Client-Computergerät150 (über das Datenverarbeitungssystem105 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ät150 und dem Dienstanbieter-Computergerät160 zu erzeugen. Die Dienstanbieterschnittstelle162 kann beispielsweise Datennachrichten von der Direktaktions-API135 des Datenverarbeitungssystems105 empfangen oder für diese bereitstellen. Das Dienstanbieter-Computergerät160 und das Inhaltsanbieter-Computergerät155 können mit der gleichen Entität verknüpft sein. Das Dienstanbieter-Computergerät 155 kann beispielsweise Inhalte für einen Fahrgemeinschaftsdienst erzeugen, speichern oder bereitstellen, und das Dienstanbieter-Computergerät160 kann eine Sitzung mit dem Client-Computergerät150 aufbauen, um die Bereitstellung eines Taxis oder Autos des Fahrgemeinschaftsdienstes zu veranlassen, den Endbenutzer des Client-Computers150 abzuholen. Das Datenverarbeitungssystem105 kann über die Direktaktions-API135 , die NLP-Komponente110 oder andere Komponenten auch die Sitzung mit dem Client-Computergerät150 aufbauen, einschließlich oder unter Umgehung des Computergeräts160 des Dienstanbieters, 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 und ein Datenbankmanagementsystem beinhalten. Der Datenbehälter 145 kann Computerdatenspeicher oder Arbeitsspeicher beinhalten und kann einen oder mehrere Parameter146 , eine oder mehrere Richtlinien147 , Interaktionsmodi148 und Vorlagen149 neben anderen Daten speichern. Die Parameter146 , Richtlinien 147 und Vorlagen149 können Informationen, wie z. B. Regeln über eine sprachbasierte Sitzung zwischen dem Client-Computergerät150 (oder dem Dienstanbieter-Computergerät160 ) und dem Datenverarbeitungssystem105 beinhalten. Die Inhaltsdaten148 können Inhaltselemente für eine Audioausgabe oder verknüpfte Metadaten sowie eingegebene Audionachrichten, die Teil von einer oder mehreren Kommunikationssitzungen mit dem Client-Computergerät150 sein können, beinhalten. - Das Datenverarbeitungssystem
105 kann eine Anwendung, ein Script oder ein Programm beinhalten, die/das auf dem Client-Computergerät150 installiert ist, wie beispielsweise eine Anwendung, um Eingabeaudiosignale an die Schnittstelle 115 des Datenverarbeitungssystems105 zu kommunizieren, und um Komponenten des Client-Computergeräts anzusteuern, um Ausgabeaudiosignale wiederzugeben. Das Datenverarbeitungssystem105 kann Datenpakete oder ein anderes Signal empfangen, das ein Audioeingabesignal beinhaltet oder identifiziert. Beispielsweise kann das Datenverarbeitungssystem105 zumindest einen Teil der NLP-Komponente 110 ausführen oder ausführen lassen, um das Audioeingabesignal zu empfangen. - Die NLP-Komponente
110 kann das Audioeingabesignal durch Vergleichen des Eingabesignals mit einer gespeicherten repräsentativen Reihe von Audiowellenformen (z. B. im Datenbehälter145 ) 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-Komponente110 den Text mit Worten in Übereinstimmung bringen, die beispielsweise via Training über Benutzer oder durch manuelle Beschreibung mit Aktionen verknüpft sind, die das Datenverarbeitungssystem105 bereitstellen kann. - Das Audioeingabesignal kann durch den Sensor
151 (z. B. ein Mikrofon) von dem Client-Computergerät erkannt werden. Über den Wandler152 , den Audiotreiber153 oder andere Komponenten kann das Client-Computergerät150 das Audioeingangssignal dem Datenverarbeitungssystem105 (z. B. über das Netzwerk165 ) bereitstellen, wo es (z. B. über die Schnittstelle115 ) empfangen werden kann, und der NLP-Komponente110 bereitgestellt oder in dem Datenbehälter 145 als Inhaltsdaten148 gespeichert werden kann. - Das System
100 kann die Verarbeitung von Aktionsdatenstrukturen, die sequenzabhängige Vorgänge beinhalten, in einer sprachaktivierten (oder anderen protokoll-) basierten Computernetzwerkumgebung optimieren. Beispielsweise kann das Datenverarbeitungssystem105 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 Datenverarbeitungssystem105 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ät160 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ät150 wie folgt eingeben: „OK, ich würde gerne heute Abend essen gehen.“ Das Eingabeaudiosignal kann durch den Sensor151 (z. B. ein Mikrofon) des Client-Computergeräts150 erkannt und in ein Datenpaket oder eine andere protokollbasierte Struktur für die Übertragung zum Datenverarbeitungssystem105 umgewandelt werden (z. B. durch den Wandler152 ). - Die NLP-Komponente
110 kann mindestens ein erstes Eingabeaudiosignal empfangen oder anderweitig erhalten. Die NLP-Komponente110 kann beispielsweise über die Schnittstelle115 und das Computernetzwerk165 das erste Eingabeaudiosignal von dem Client-Computergerät150 erhalten. Die NLP-Komponente110 kann Daten vom ersten Eingabeaudiosignal extrahieren oder anderweitig parsen, um mindestens eine erste Anfrage oder mindestens ein erstes Auslöserschlüsselwort zu identifizieren, das der ersten Anfrage entspricht. Die erste Anfrage kann Absicht oder Gegenstand des ersten Eingabeaudiosignals, z. B. eine Absicht zum Abendessen, anzeigen. Das erste Auslöserschlüsselwort kann eine Art von Aktion anzeigen, die wahrscheinlich vorzunehmen ist. Die NLP-Komponente110 kann beispielsweise das erste Eingabeaudiosignal parsen, um mindestens eine Anfrage zu identifizieren, am Abend für ein Abendessen wegzugehen. Das erste Auslöserschlüsselwort kann mindestens ein Wort, einen Ausdruck, einen Wortstamm oder ein Teilwort 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 ein zweites Eingabeaudiosignal empfangen. Das erste Audioeingabesignal kann beispielsweise sein „OK, ich würde gerne heute Abend essen gehen“ und das zweite Audioeingabesignal kann sein „OK, ich würde gerne später einen Kinofilm ansehen“. Die NLP-Komponente110 kann das zweite Eingabeaudiosignal von beliebigem Client-Computergerät150 analog zu der Weise, wie das erste Eingabeaudiosignal erhalten wurde, z. B. über das Netzwerk 165, empfangen oder anderweitig erhalten. Die NLP-Komponente110 kann Daten vom zweiten Eingabeaudiosignal extrahieren oder anderweitig parsen, um mindestens eine zweite Anfrage oder mindestens ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht. Die zweite Anfrage kann Absicht oder Gegenstand des zweiten Eingabeaudiosignals anzeigen, z. B. einen Kinofilm in einem Kino anzusehen. Das zweite Auslöserschlüsselwort kann eine Art von Aktion anzeigen, die wahrscheinlich vorzunehmen ist. Die NLP-Komponente110 kann beispielsweise das Eingabeaudiosignal parsen, um mindestens eine Anfrage zu identifizieren, am Abend für einen Kinofilm wegzugehen. Das zweite Auslöserschlüsselwort kann mindestens ein Wort, eine Phrase, einen Wortstamm oder ein Teilwort oder eine Ableitung beinhalten, das bzw. die eine vorzunehmende Aktion anzeigen. Das Auslöserschlüsselwort „ansehen“ vom zweiten Eingabeaudiosignal kann beispielsweise eine Notwendigkeit für Transport angeben, z. B. als Zusatz- oder Teilaktion zu mindestens einer anderen Aktion, die durch die Anfrage angegeben wird. - Die Direktaktions-API
135 kann Programme oder Scripts, zum Beispiel von der NLP-Komponente110 , der Thread-Optimierungskomponente120 oder der Inhaltsauswahlkomponente125 ausführen, um Aufgaben oder Aktionen durchzuführen oder um Inhaltselemente in Reaktion auf Eingabeaudiosignale zu identifizieren. Die Direktaktions-API135 kann eine bestimmte Aktion ausführen, um die von dem Datenverarbeitungssystem105 bestimmte Absicht des Endbenutzers zu erfüllen. In Abhängigkeit von der Aktion, die in deren Eingaben spezifiziert ist, kann die Direktaktions-API135 einen Code oder ein Dialogscript ausführen, das die Parameter identifiziert, die erforderlich sind, um eine Benutzeranfrage zu erfüllen. Dieser Code kann zusätzliche Informationen z. B. in dem Datenbehälter145 nachschlagen, wie z. B. den Namen eines Hausautomatisierungsdienstes, oder kann Audioausgaben zum Wiedergeben auf dem Client-Computergerät150 bereitstellen, um dem Endbenutzer Fragen zu stellen, wie z. B. nach dem beabsichtigten Ziel eines angeforderten Taxis, dem Genre eines anzusehenden Kinofilms oder die Art des Restaurants für das Abendessen. Die Direktaktions-API135 kann die notwendigen Parameter ermitteln und die Informationen in eine Aktionsdatenstruktur packen, die dann an eine andere Komponente, wie z. B. die Inhaltsauswahlkomponente125 oder an das zu erfüllende Dienstanbieter-Computergerät160 (oder Inhaltsanbieter-Computergerät155 ) gesendet werden kann. - Die Direktaktions-API
135 des Datenverarbeitungssystems105 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ät160 übertragen oder von diesem empfangen werden. Basierend auf der Anfrage, die von der NLP-Komponente110 analysiert wird, kann die Direktaktions-API135 ermitteln, an welche von mehreren Dienstanbieter-Computergeräten160 die Nachricht übertragen werden soll. - Die Direktaktions-API
135 kann eine erste Aktionsdatenstruktur auf Basis des ersten Auslöserschlüsselworts und in Reaktion auf die erste Anfrage erzeugen und sie kann eine zweite Aktionsdatenstruktur auf Basis des zweiten Auslöserschlüsselworts und in Reaktion auf die zweite Anfrage erzeugen. Wenn das erste Eingabeaudiosignal beispielsweise „heute Abend essen gehen“ beinhaltet, kann die NLP-Komponente110 das Auslöserschlüsselwort „heute Abend“ und die Anfrage für einen Vorschlag oder eine Reservierung zum Abendessen identifizieren. Die Direktaktions-API135 kann die Anfrage in eine erste Aktionsdatenstruktur für die Übertragung als eine Nachricht an ein Dienstanbieter-Computergerät160 (oder Inhaltsanbieter-Computergerät155 ) eines Restaurants verpacken. Das erste Eingabeaudiosignal kann andere Anfragen oder Auslöserschlüsselwörter beinhalten, die andere Aktionen, zusätzlich zur Abendessen-Aktion, angeben. Diese Aktionen können in der ersten Aktionsdatenstruktur enthalten sein. Die NLP-Komponente110 kann beispielsweise erste Anfragen oder erste Auslöserschlüsselwörter für Transport oder Abendessen (zusätzliche Aktionen) aus dem ersten Eingabeaudiosignal „OK, ich würde gerne heute Abend essen gehen“ identifizieren. - Falls das zweite Eingabeaudiosignal beispielsweise „später einen Kinofilm ansehen“ enthält, kann die NLP-Komponente
110 die Anfrage zum Ansehen eines Kinofilms mit den Auslöserschlüsselwörtern „ansehen“ oder „später“ identifizieren. Die Direktaktions-API135 kann die Anfrage in eine zweite Aktionsdatenstruktur für die Übertragung als eine Nachricht an ein Dienstanbieter-Computergerät160 (oder Inhaltsanbieter-Computergerät155 ) eines Kinofilmunternehmens oder Kinos verpacken. Das zweite Eingabeaudiosignal kann andere zweite Anfragen oder Auslöserschlüsselwörter beinhalten, die andere Aktionen, zusätzlich zur Kinofilm-Aktion, angeben. Diese Aktionen können in der zweiten Aktionsdatenstruktur enthalten sein. Die NLP-Komponente110 kann beispielsweise erste Anfragen oder erste Auslöserschlüsselwörter für Transport zu oder von einem Kino (zusätzliche Aktionen) aus dem zweiten Eingabeaudiosignal „OK, ich würde gerne später einen Kinofilm ansehen“ identifizieren. - Die ersten und zweiten oder jedwede anderen Datenstrukturen können auch zur Inhaltsauswahlkomponente
125 weitergegeben werden. Die Aktionsdatenstrukturen können Informationen zum Abschließen einer oder mehrerer Aktionen beinhalten, die mit der Anfrage verknüpft sind. In diesem Beispiel können die Informationen Restaurant- oder Kinofilm-Interessenangaben, Ortsinformationen, eine Identifizierung oder einen Ort eines Restaurants oder eine Art von Restaurant, Restaurant-Reservierungsinformationen, Kinofilmanfangszeiten, Kino-Standortinformationen oder einen Abholort und einen Zielort beinhalten. Die Direktaktions-API135 kann eine Vorlage149 aus dem Behälter145 abrufen, um zu bestimmen, welche Felder in die Aktionsdatenstruktur aufgenommen werden sollen. Die Direktaktions-API135 kann Inhalte aus dem Behälter145 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-API135 kann die Felder auch mit Daten aus dem Eingabeaudiosignal oder von Drittanbieterquellen füllen. Die Vorlagen149 können für Kategorien von Dienstanbietern standardisiert oder für bestimmte Dienstanbieter standardisiert werden. Beispielsweise können Fahrgemeinschaftsdienstanbieter die folgende standardisierte Vorlage149 verwenden, um die Datenstruktur zu erzeugen: {client_device_identifier;
authentication_credentials; pick_up_location; destination_location; no_passengers; service_level}. Die Datenstruktur kann variable Felder beinhalten. Die variablen Felder können beispielsweise eine Sequenz oder Reihenfolge der Vorgänge mehrerer Aktionen angeben, die identifiziert, angegeben oder mit mindestens einer Aktion einer Datenstruktur verbunden sind. Die Direktaktions-API135 kann Felder der Datenstruktur, einschließlich variabler Felder, ausfüllen. Die Direktaktions-API135 kann Daten in einem oder mehreren variablen Feldern einer Datenstruktur auf Basis einer Sequenzabhängigkeit zwischen Aktionen ausfüllen oder eingeben, wie z. B. eine zweite Aktion, die nach Ende der ersten Aktion beginnt. - Die Direktaktions-API
135 kann Datenübertragungen konstruieren, die Datenpakete beinhalten, die Aktionsdatenstrukturen entsprechen. Die Datenübertragungen können beispielsweise paketierte Versionen der Aktionsdatenstrukturen beinhalten, z. B. Datenpakete mit Header- und Nutzlastregionen, die Informationen angeben, die durch die Datenstrukturen dargestellt werden. Die Datenübertragungen können verwendet werden, um mindestens eine Kommunikationssitzung zwischen dem Dienstanbieter-Computergerät160 und dem Client-Computergerät150 über das Datenverarbeitungssystem105 herzustellen (z. B. daran teilzunehmen). Die Sitzungshandhabungselementkomponente140 kann die Kommunikationssitzung über die Schnittstelle115 herstellen oder identifizieren. Nach der Zusammenführungs- oder Verknüpfungsaktion erster und zweiter Datenstrukturen (oder ihrer entsprechenden paketierten Datenübertragungen) in einen Einzelthread kann das Datenverarbeitungssystem105 die Datenübertragungen beispielsweise dem Dienstanbieter-Computergerät160 bereitstellen. Als Teil der Kommunikation der Kommunikationssitzung kann das Dienstanbieter-Computergerät160 außerdem über das Datenverarbeitungssystem105 Datenpakete (oder andere Datennachrichten) vom Client-Computergerät105 empfangen. Das Datenverarbeitungssystem105 kann beispielsweise als Teil der Kommunikationssitzung eingehende Datennachrichten vom Client-Computergerät150 empfangen und zu dem Dienstanbieter-Computergerät 160 routen. - Die Thread-Optimierungskomponente
120 kann Datenpakete der ersten und zweiten (und jedweden anderen) Datenübertragungen erhalten oder auf diese zugreifen. Die Direktaktions-API135 kann die Übertragungen (z. B. die entsprechenden Datenpakete) beispielsweise dem Datenbehälter145 zur Speicherung bereitstellen, wobei diese durch die Thread-Optimierungskomponente120 abgerufen werden können. Die Thread-Optimierungskomponente120 kann außerdem die Datenpakete (oder andere protokollbasierte Strukturen) der Datenübertragungen von der Direktaktions-API135 (oder anderen Komponente des Datenverarbeitungssystems105 ) unter Umgehung des Datenbehälters145 empfangen. - Die Thread-Optimierungskomponente
120 kann Informationen von Datenpaketen mehrerer Datenübertragungen, die jeweils mehreren Aktionsdatenstrukturen entsprechen, parsen oder anderweitig extrahieren. Die Thread-Optimierungskomponente120 kann beispielsweise eine heuristische Technik auf Datenpakete einer ersten Übertragung (oder auf die entsprechende erste Datenstruktur) und auf Datenpakete einer zweiten Übertragung (oder der entsprechenden zweiten Datenstruktur) anwenden, um mindestens einen Sequenzabhängigkeitsparameter zu ermitteln. Die heuristische oder andere statistische Technik kann einen Schwellenwertgrad von Gewissheitsmustern unter den ersten und zweiten Datenübertragungen (oder entsprechenden Datenstrukturen) identifizieren, die eine Sequenzabhängigkeit von Aktionen angeben, die durch die Datenübertragungen angegeben werden. - Der Sequenzabhängigkeitsparameter kann das Vorhandensein oder die Wahrscheinlichkeit (z. B. in Bezug auf einen Schwellenwert oder einen anderen Vergleichswert) von Aktionen angeben, die durch die Datenübertragungen (oder entsprechenden Aktionsdatenstrukturen) dargestellt werden, die eine Reihenfolge von Vorgängen, Zeit oder Sequenzabhängigkeit voneinander haben. Die sequenzabhängigen Vorgänge oder Aktionen, die durch die Sequenzabhängigkeitsparameter angegeben werden, können eine Reihe von Aktionen beinhalten, die in einer bekannten, vorgeschlagenen, erforderlichen oder bestimmten Reihenfolge stattfinden. Wenn man beispielsweise von zu Hause aus in ein Kino geht, kann man zu Hause drei sequenzabhängige Vorgänge oder Aktionen ausführen. Die erste Aktion in diesem Beispiel ist die Fahrt von zu Hause zum Kino. Die zweite Aktion beinhaltet Ansehen des Kinofilms im Kino. Die dritte Aktion beinhaltet Zurückkehren vom Kino.
- Diese drei (oder vielleicht weiteren) Aktionen können durch die Direktaktions-API
135 aus Anfragen oder Auslöserschlüsselwörtern ermittelt werden, die dem Eingabeaudiosignal „OK, ich würde gerne später einen Kinofilm ansehen“ entsprechen. In diesem Beispiel ist die zweite Aktion in der Sequenz (der Kinofilm wird angesehen) folgend auf und abhängig von der ersten Aktion (die Wohnung verlassen, um zum Kino zu gehen), und die dritte Aktion (Heimkehr) ist folgend auf und abhängig von der ersten Aktion und der zweiten Aktion. Die dritte Aktion kann als folgend auf und abhängig von der zweiten Aktion betrachtet werden, da eine Absicht geäußert wurde, dies zu tun, wobei das Datenverarbeitungssystem105 ermittelt oder voraussagt, dass der Endbenutzer den Kinofilm im Kino ansehen würde, bevor er ebenfalls nach Hause zurückkehrt. - Auf Basis der Sequenzabhängigkeitsparameter kann die Thread-Optimierungskomponente
120 zwei oder mehrere Datenübertragungen (oder entsprechende Aktionsdatenstrukturen) in einem Einzelthread zusammenführen. Der Einzelthread kann datenidentifizierende Aktionen sowie andere Daten (z. B. Metadaten oder Drittanbieterdaten) aus mehreren Datenaktionsstrukturen identifizieren. Der Einzelthread kann in paketierter (oder anderer protokollbasierter) Form, z. B. im selben Format wie die ersten und zweiten Datenübertragungen, sein. Der Einzelthread kann auch in einem Datenstrukturformat, z. B. durch die Direktaktions-API135 erzeugt, sein oder einem Format mindestens einer Vorlage 149, einer Richtlinie147 oder einem Parameter146 folgen. Der Einzelthread kann eine Zuordnung oder Verknüpfung von Aktionen von einer oder mehreren Datenübertragungen oder von einer oder mehreren Aktionsdatenstrukturen beinhalten oder angeben. - Die Datenübertragungen oder Aktionsdatenstrukturen können miteinander durch die Thread-Optimierungskomponente
120 zusammengeführt oder anderweitig verknüpft werden, um den Einzelthread vor Übertragung der Daten, die durch die Aktionsdatenstrukturen angegeben werden, über die Kommunikationssitzung zum Dienstanbieter-Computergerät160 zu erzeugen. In diesem Beispiel kann die Direktaktions-API135 oder eine andere Komponente des Datenverarbeitungssystems105 (z. B. die Schnittstelle115 ) mindestens einen Teil der Daten, die durch den Einzelthread angegeben werden, nach der Zusammenführung oder Erstellung des Einzelthreads, zum ersten Mal an das Dienstanbieter-Computergerät160 übertragen. Es kann beispielsweise sein, dass das Datenverarbeitungssystem105 vor Erstellung des Einzelthreads Daten, die mit der ersten oder zweiten (oder jedweden anderen) Datenstruktur verknüpft sind, verzögert, verhindert, zurückgehalten oder nicht übertragen hat. In einigen Beispielen können zumindest einige der Daten, die durch individuelle Datenstrukturen angegeben werden, durch und vom Datenverarbeitungssystem105 dem Dienstanbieter-Computergerät160 vor Erstellung des Einzelthreads bereitgestellt werden. - Die Thread-Optimierungskomponente
120 kann die Datenübertragungen (oder entsprechende Aktionsdatenstrukturen) in den Einzelthread auf Basis des Sequenzabhängigkeitsparameters zusammenführen oder anderweitig konsolidieren oder verknüpfen. Die erste Datenübertragung (und erste Datenstruktur) kann beispielsweise Aktionen darstellen, die mit dem ersten Audioeingabesignal „OK, ich würde gerne heute Abend essen gehen“ verknüpft sind, die zweite Datenübertragung (und zweite Datenstruktur) kann Aktionen darstellen, die mit dem zweiten Eingabeaudiosignal „OK, ich würde gerne später einen Kinofilm ansehen“ verknüpft sind. Die ersten und zweiten (und jedweden anderen) Eingabeaudiosignale können aufeinanderfolgend (mit einem Abstand von weniger als einer Minute), durch Zeit voneinander (z. B. mehr als eine Minute) getrennt sein und sie können vom selben oder von anderen Client-Computergeräten150 stammen. Die Thread-Optimierungskomponente 120 kann Datenpakete (oder andere Daten) erhalten, die diese Informationen darstellen, und kann mindestens einen Sequenzabhängigkeitsparameter ermitteln. Der Sequenzabhängigkeitsparameter kann beispielsweise angeben, dass die Aktion des Zurückkehrens vom Kino nach der Aktion des Ansehens des Kinofilms erfolgt, oder dass die Aktion des Ansehens des Kinofilms nach der Aktion des Abendessens erfolgt oder vorausgesagt ist. - Der Einzelthread (in einer beliebigen Datenstruktur oder einem beliebigen Format) kann einen Satz von sequenzabhängigen Vorgängen angeben, die einem oder mehreren Eingabeaudiosignalen (oder entsprechenden Datenstrukturen oder Datenübertragungen), wie z. B. einer Reihe von Aktionen, entsprechen. Der Thread kann zwei oder mehr beliebige Aktionen beinhalten, wie z. B. eine erste Aktion, eine zweite Aktion und eine dritte Aktion. Zum Beispiel kann ein Zusammenführen des ersten Eingabeaudiosignals „OK, ich würde gerne heute Abend essen gehen“ und des zweiten Eingabeaudiosignals „OK, ich würde gerne später einen Kinofilm ansehen“ mindestens eine Anfrage beinhalten, die ein Interesse an einem Abendessen und einem Kinofilm signalisiert, und mindestens ein Auslöserschlüsselwort, z. B. „Gehen“, das auf einen Transportbedarf hinweist. Die Thread-Optimierungskomponente
120 kann mindestens einen Sequenzabhängigkeitsparameter identifizieren, der mindestens eine Sequenz-, zeitliche oder Vorgangsreihenfolgeabhängigkeit zwischen den Aktionen angibt, und kann den Einzelthread erzeugen, um die mehreren Eingabeaudiosignale (der entsprechende vorlagenbasierte Datenstrukturen oder paket-/protokollbasierte Datenübertragungen) zu kombinieren. Die Thread-Optimierungskomponente120 kann den Einzelthread erstellen, der mindestens drei Aktionen angibt, wie z. B. eine Abendessen-Aktion (erste Aktion), eine Kino-Aktion (zweite Aktion) und eine Heimtransport-Aktion (dritte Aktion). In diesem Beispiel erzeugt die Thread-Optimierungskomponente120 aus den Anfragen oder den Auslöserschlüsselwörtern einen Einzelthread aus mehreren getrennten Eingaben, die die drei Aktionen angeben. Der Einzelthread kann auch andere Aktionen, wie z. B. einen ersten Transport zum Abendessen, beinhalten. - Das Datenverarbeitungssystem
105 oder eine Komponente davon, wie z. B. die Thread-Optimierungskomponente120 , kann bestimmen, dass die Aktionen des Threads sequenzabhängige Vorgänge sind. Beispielsweise kann die Thread-Optimierungskomponente bestimmen, dass die zweite Aktion, den Kinofilm ansehen, auf die erste Aktion des Abendessens folgt, und dass die dritte Aktion, vom Kino aus nach Hause zu fahren, nach der zweiten Aktion, den Kinofilm ansehen, erfolgt. Die Thread-Optimierungskomponente120 kann auf die Parameter146 oder Richtlinien 147 in dem Datenbehälter145 zugreifen, um die Reihenfolge der sequenzabhängigen Aktionen zu bestimmen oder anderweitig abzuschätzen. Beispielsweise könnten die Parameter146 oder Richtlinien147 darauf hinweisen, dass eine Transportaktion (z. B. ein Taxi nach Hause) nach einer Ereignisaktion (z. B. Ansehen eines Kinofilms) stattfinden kann. - Die Inhaltsauswahlelementkomponente
125 kann Hinweise auf alle Aktionen des Einzelthreads erhalten. Beispielsweise kann die Thread-Optimierungskomponente120 direkt oder indirekt (z. B. über den Datenbehälter145 ) mindestens einen Teil des Einzelthreads bereitstellen, der die dritte (oder jede andere) Aktion der Inhaltsauswahlelementkomponente125 angibt. Die Inhaltsauswahlelementkomponente125 kann diese Informationen aus dem Datenbehälter145 erhalten, wo sie als Teil der Inhaltsdaten148 gespeichert werden können. Die Angabe der dritten Aktion kann die Inhaltsauswahlelementkomponente 125 über einen Transportbedarf vom Standort des Kinos zu einem Ort informieren, der durch das Client-Computergerät150 bestimmt oder angezeigt wird, wie z. B. eine Fahrt zu einem Endziel. - Die Inhaltsauswahlelementkomponente
125 kann Hinweise auf eine spätere Aktion in dem Thread vor dem Auftreten mindestens einer früheren Aktion erhalten. Beispielsweise kann die Inhaltsauswahlelementkomponente125 eine Angabe der dritte Aktion empfangen (z. B. Notwendigkeit einer Fahrt vom Kino), bevor der Kinofilm im Kino läuft (zweite Aktion), oder bevor die Person, die das Eingabeaudiosignal in das Client-Computergerät150 eingibt, im Restaurant zu Abend isst (erste Aktion). Die Inhaltsauswahlelementkomponente125 kann Hinweise auf mindestens eine Aktion des Threads erhalten, bevor mindestens eine Aktion des Threads abgeschlossen ist. - Aus den Informationen, die von der Inhaltsauswahlelementkomponente
125 empfangen werden, z. B. eine Angabe der dritten Aktion vor dem Auftreten von mindestens einer vorherigen Aktion in dem sequenzabhängigen Thread, kann die Inhaltsauswahlelementkomponente125 mindestens ein Inhaltselement identifizieren. Das Inhaltselement kann auf die dritte (oder jede andere) Aktion reagieren oder damit in Zusammenhang steht. Beispielsweise kann das Inhaltselement eine Audionachricht beinhalten, die Dienste eines Fahrgemeinschaftsunternehmens anbietet, das auf die dritte Aktion reagiert, die auf einen Transportbedarf hinweist. Die Inhaltsauswahlelementkomponente125 kann den Datenbehälter145 abfragen, um das Inhaltselement, z. B. aus den Inhaltsdaten 148, auszuwählen oder anderweitig zu identifizieren. Die Inhaltsauswahlelementkomponente125 kann auch das Inhaltselement aus dem Inhaltsanbieter-Computergerät155 auswählen. Beispielsweise kann das Inhaltsanbieter-Computergerät155 , das auf eine Anfrage des Datenverarbeitungssystems105 reagiert, dem Datenverarbeitungssystem105 (oder einer Komponente davon) ein Inhaltselement für eine spätere Ausgabe durch das Client-Computergerät150 bereitstellen. - Die Audiosignalgeneratorkomponente
130 kann ein Ausgabesignal erzeugen oder anderweitig erhalten, welches das Inhaltselement beinhaltet, das auf die dritte (oder jede andere) Aktion reagiert. Beispielsweise kann das Datenverarbeitungssystem105 die Audiosignalgeneratorkomponente ausführen, um ein dem Inhaltselement entsprechendes Ausgabesignal zu generieren oder zu erzeugen. Die Schnittstelle115 des Datenverarbeitungssystems105 kann ein oder mehrere Datenpakete mit dem Ausgabesignal über das Computernetzwerk165 an das Client-Computergerät150 , z. B. als Teil der Kommunikationssitzung, bereitstellen oder übertragen. Die Schnittstelle115 kann konzipiert, konfiguriert, aufgebaut oder betriebsfähig sein, Informationen beispielsweise unter Verwendung von Datenpaketen zu empfangen und zu übertragen. Die Schnittstelle115 kann Informationen unter Verwendung eines oder mehrerer Protokolle, wie z. B. einem Netzwerkprotokoll senden und empfangen. Die Schnittstelle115 kann eine Hardwareschnittstelle, eine Softwareschnittstelle, eine drahtgebundene Schnittstelle oder eine drahtlose Schnittstelle beinhalten. Die Schnittstelle115 kann das Übersetzen oder Formatieren von Daten von einem Format in ein anderes erleichtern. Die Schnittstelle115 kann beispielsweise eine Anwendungsprogrammierschnittstelle beinhalten, die Definitionen zum Kommunizieren zwischen verschiedenen Komponenten, wie z. B. Softwarekomponenten des Systems100 , beinhaltet. - Beispielsweise kann das Datenverarbeitungssystem
105 das Ausgabesignal aus dem Datenbehälter145 oder aus der Audiosignalgeneratorkomponente130 an das Client-Computergerät150 bereitstellen. Das Datenverarbeitungssystem105 kann auch über Datenpaketübertragungen das Inhaltsanbieter-Computergerät155 oder das Dienstanbieter-Computergerät160 anweisen, das Ausgabesignal an das Client-Computergerät150 bereitzustellen. Das Ausgabesignal kann als ein oder mehrere Datenpakete (oder ein anderes Kommunikationsprotokoll) von dem Datenverarbeitungssystem105 (oder einem anderen Datenverarbeitungsgerät) erhalten, erzeugt, umgewandelt oder an das Client-Computergerät150 übertragen werden. - Die Inhaltsauswahlelementkomponente
125 kann zu einer späteren Aktion in einer Reihe von sequenzabhängigen Vorgängen springen, die vom Einzelthread angegeben werden, um ein Inhaltselement für die spätere Aktion vor dem Auftreten (und vor einem unmittelbaren Bedarf) für eine Aktivität auszuwählen, die der späteren Aktion entspricht. Durch Springen zu einer späteren sequenziellen Aktion, z. B. einem Inhaltselement für eine zweite nachfolgende Aktion vor Auswählen eines Inhaltselements für eine erste vorherige Aktion, ist das Datenverarbeitungssystem105 nicht verpflichtet, erste Prozessinformationen zu verarbeiten, die sich auf die vorherige Aktion beziehen, um Inhaltselemente für nachfolgende Aktionen auszuwählen. Dies reduziert Prozessorauslastung, Stromverbrauch und Bandbreite von Datenübertragungen, die ansonsten mit der Auswahl eines Inhaltselements (für die erste Aktion) verbunden wären, bevor das Inhaltselement für die zweite Aktion ausgewählt wird. - Die Inhaltsauswahlelementkomponente
125 kann das Inhaltselement für die (nachfolgende oder spätere) Aktion im Rahmen eines Echtzeit-Inhaltsauswahlprozesses auswählen. Beispielsweise kann das Inhaltselement dem Client-Computergerät zum Übertragen als Audioausgabe in Klartext als direkte Reaktion auf das Eingabeaudiosignal bereitgestellt werden. Der Echtzeit-Inhaltsauswahlprozess zum Identifizieren des Inhaltselements und zum Bereitstellen des Inhaltselements an das Client-Computergerät150 kann innerhalb einer Minute oder weniger ab dem Zeitpunkt des Eingabeaudiosignals erfolgen und als Echtzeit betrachtet werden. - Das dem Inhaltselement entsprechende Ausgabesignal, das dem Inhaltsanbieter-Computergerät
155 entspricht (oder Daten, die dem Dienstanbieter-Computergerät160 entsprechen), das z. B. von der Audiosignalgeneratorkomponente 130 erhalten oder generiert wird, die über die Schnittstelle115 und das Computernetzwerk165 an das Client-Computergerät150 übertragen wird, kann dazu führen, dass das Client-Computergerät150 den Audiotreiber153 ausführt, um den Lautsprecher154 anzusteuern und eine dem Ausgabesignal entsprechende akustische Welle zu erzeugen. Die akustische Welle kann Wörter beinhalten, die dem Inhaltselement oder anderen Daten für die spätere (z. B. zweite oder dritte) Aktion entsprechen. Das Ausgabesignal, das dem Inhaltselement entspricht, kann auch Nichtaudio-Inhaltselemente beinhalten, die auf dem Client-Computergerät150 , das die Quelle des Eingabeaudiosignals ist, oder auf einem anderen Client-Computergerät 150 (z. B. einem tragbaren Computergerät) als Text- oder Bildnachrichten wiedergeben, die ohne Audioelemente wiedergegeben werden können. - Das Datenverarbeitungssystem
105 kann das Ausgabesignal bereitstellen, das das Inhaltselement oder andere Daten in Reaktion auf eine Aktion in direkter oder Echtzeitantwort auf das Eingabeaudiosignal beinhaltet, sodass die paketbasierten Datenübertragungen über das Computernetzwerk165 , die Teil einer Kommunikationssitzung zwischen dem Datenverarbeitungssystem105 und dem Client-Computer150 sind, den Ablauf und das Empfinden einer Echtzeitkonversation von Mensch zu Mensch haben. Diese paketbasierte Datenübertragungskommunikationssitzung kann auch das Inhaltsanbieter-Computergerät155 oder das Dienstanbieter-Computergerät160 beinhalten. - Die Inhaltsauswahlelementkomponente
125 kann Inhaltselemente auswählen, die in Reaktion auf die zweite (oder jede nicht erste) Aktion in der sequenzabhängigen Reihe von Aktionen bereitgestellt werden, bevor sie ein Inhaltselement für eine vorherige Aktion in der Sequenz auswählt. Dadurch entfällt die Notwendigkeit, zumindest einen Teil der Daten, die den vorherigen Aktionen entsprechen, zu verarbeiten, was dazu führt, dass das zweite Inhaltselement mit einer reduzierten Anzahl von Verarbeitungsvorgängen ausgewählt wird, als wenn die Inhaltselemente in einer Reihenfolge ausgewählt würden, die der Reihenfolge der Sequenz von Aktionen entspricht. Inhaltselemente für die vorangegangenen (z. B. erste und zweite) Aktionen können ausgewählt werden oder auch nicht, z. B. nach Auswahl des Inhaltselements für die zweite Aktion. - Die Inhaltsauswahlelementkomponente
125 kann das Inhaltselement (z. B. für die zweite Aktion) basierend auf mindestens einem Auslöserschlüsselwort des Threads auswählen, das einen anderen Gegenstand als den Gegenstand der einen oder mehreren Anfragen desselben Threads angibt. Beispielsweise können die Anfragen des Einzelthreads den Gegenstand einer Anfrage zum Abendessen (erste Aktion) und den Gegenstand einer Anfrage zum Kinofilm (zweite Aktion) angeben. Dieser Gegenstand gibt keine Transportanfrage an. Die NLP-Komponente110 oder die Thread-Optimierungskomponente120 (oder andere Komponenten des Datenverarbeitungssystems105 , die im Rahmen der Direktaktions-API135 ausgeführt werden) können jedoch das Auslöserschlüsselwort „gehen“, „gehen zu“ oder „um zu gehen“ identifizieren und einen Transportauftrag bestimmen, der zumindest teilweise auf dem Auslöserschlüsselwort basiert. So kann das Datenverarbeitungssystem105 aus dem Eingabeaudiosignal Aktionen ableiten, die sekundäre Anfragen sind, die nicht die primäre Anfrage oder Gegenstand des Eingabeaudiosignals sind. - Das Datenverarbeitungssystem
105 kann die Übertragung des Ausgabesignals, das das Inhaltselement beinhaltet, verhindern oder verzögern. So kann z. B. die Schnittstelle115 oder ein Script, das über die Direktaktions-API135 ausgeführt wird, die Übertragung von Datenpaketen, die das einem Inhaltselement oder einer Aktion des Einzelthreads entsprechende Ausgabesignal beinhalten, bis zu einem auslösenden Ereignis verhindern. Das auslösende Ereignis kann den Ablauf eines bestimmten Zeitraums beinhalten, wie z. B. zwei Stunden oder ein Zeitpunkt, der mit dem Auftreten einer früheren Aktion in dem Thread, wie z. B. einer geplanten Endzeit eines Kinofilms, zusammenfällt. Das auslösende Ereignis kann auch eine Berechtigungsanzeige beinhalten, die das Datenverarbeitungssystem105 von dem Client-Computer150 empfängt. Die Berechtigungsanzeige kann als nachfolgende Audioeingabe beginnen, die dem Thread zugeordnet ist, jedoch von dem Datenverarbeitungssystem105 im Anschluss an das Eingabeaudiosignal, ein textbasiertes oder anderes nicht hörbares Signal empfangen wird, oder sie kann einen Hinweis auf eine Einstellung des Client-Computers150 beinhalten, der das Empfangen von Inhaltselementen durch das Client-Computergerät150 autorisiert. - Das Datenverarbeitungssystem
105 kann auch die Übertragung des Inhaltselements verzögern, das mit einer zweiten oder nachfolgenden Aktion des Threads verbunden ist, um die Verarbeitungsauslastung zu optimieren. Beispielsweise kann das Datenverarbeitungssystem105 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 Datenverarbeitungssystem105 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 Netzwerks165 oder eines Rechenzentrums, das das Datenverarbeitungssystem105 beinhaltet. - Die Inhaltselemente können den Aktionen des Threads entsprechen, und die Inhaltsauswahlelementkomponente
125 kann ein Inhaltselement für eine, mehrere oder alle Aktionen des Threads auswählen. Die Thread-Optimierungskomponente120 kann den sequenzabhängigen Thread von Aktionen identifizieren, z. B. „Abendessen“ (erste Aktion) „Kinofilm“ (zweite Aktion) und „Transport vom Kino“ (dritte Aktion). - So kann beispielsweise, auf Basis des Einzelthreads, das Inhaltselement für die dritte Aktion zum Wiedergeben auf dem Client-Computergerät 150 als Audioantwort bereitgestellt werden, die in Reaktion auf das Audioeingabesignal aussagt: „Möchten Sie vom Kino nach Hause fahren?“ Das Datenverarbeitungssystem
105 kann im Anschluss oder vor diesem Wiedergeben ein Inhaltselement, z. B. „Das italienische Restaurant in der Innenstadt heute Abend um 19 Uhr geöffnet - haben Sie Interesse?“ für die erste Aktion (Abendessen) auswählen oder bereitstellen, und kann einen anderen Inhalt, z. B. „Möchten Sie Karten für den Kinofilm um 21 Uhr im Stadtkino?“ für die zweite Aktion (Kinofilm) auswählen oder bereitstellen. Das Datenverarbeitungssystem105 kann diese auf das Eingabeaudiosignal reagierenden Inhaltselemente für die Wiedergabe durch das Client-Computergerät150 als Audioausgabeinhaltselemente bereitstellen (dazu gehört auch die Anweisung an das Inhaltsanbietercomputergerät155 ). Das Datenverarbeitungssystem105 kann über die Schnittstelle115 diese Inhalte in beliebiger Reihenfolge auswählen oder dem Client-Computer150 bereitstellen. So kann z. B. das Inhaltselement für die dritte (z. B. letzte) Aktion zuerst, vor Inhaltselementen, die anderen früheren Aktionen des Threads entsprechen, ausgewählt oder bereitgestellt werden. - Das Datenverarbeitungssystem
105 kann eine Antwort auf das Inhaltselement „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ät150 eingegeben und von dem Datenverarbeitungssystem105 empfangen wurde. Das Datenverarbeitungssystem105 oder eine Komponente davon (z. B. die Thread-Optimierungskomponente) kann die Antwort als Teil des Einzelthreads beinhalten. Basierend auf dieser Antwort kann die Direktaktions-API135 mit dem Dienstanbieter-Computergerät160 (das mit dem Inhaltselement, wie z. B. einem Fahrgemeinschaftsunternehmen, 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 Datenverarbeitungssystem105 kann diese Standort- oder Zeitinformationen als Teil des Datenpakets (oder eines anderen Protokolls) erhalten, das auf Datennachrichtenkommunikation mit dem Client-Computergerät 150, dem Datenbehälter145 oder aus anderen Quellen, wie z. B. dem Dienstanbieter-Computergerät160 oder dem Inhaltsanbieter-Computergerät155 , basiert. Die Bestätigung dieses Auftrags (oder eine andere Umwandlung) kann als Audiokommunikation von dem Datenverarbeitungssystem105 zu dem Client-Computergerät150 in Form eines Ausgabesignals von dem Datenverarbeitungssystem 105 erfolgen, das das Client-Computergerät150 ansteuert, um Audioausgaben, wie z. B. „großartig, Sie haben ein Auto, das um 23 Uhr außerhalb des Kinos auf Sie wartet“, wiederzugeben. Das Datenverarbeitungssystem105 kann über die Direktaktions-API135 mit dem Dienstanbieter-Computergerät160 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-Komponente161 (oder eine andere Komponente des Dienstanbieter-Computergeräts) routen. Diese paketbasierte Datennachricht kann dazu führen, dass das Dienstanbieter-Computergerät160 eine Umwandlung vornimmt, z. B. um eine Reservierung für die Abholung eines Autos außerhalb des Kinos vorzunehmen. Diese Umwandlung - oder bestätigte Bestellung - (oder jede andere Umwandlung einer anderen Aktion des Threads) kann vor Abschluss einer oder mehrerer Aktionen des Threads, wie z. B. vor Abschluss des Kinofilms, sowie nach Abschluss einer oder mehrerer Aktionen des Threads, wie z. B. nach dem Abendessen, erfolgen. - 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“ für die dritte und letzte Aktion in einem sequenzabhängigen Thread, kann das Datenverarbeitungssystem
105 eine Umwandlung oder Aktion initiieren. Dies kann erfolgen, bevor der Endbenutzer mit den mit dem Thema verbundenen Aktivitäten begonnen hat, z. B. vor dem Abendessen oder vor dem Ende des Kinofilms. Prozessoren des Datenverarbeitungssystems105 können die Direktaktions-API135 aufrufen, um Scripts auszuführen, die ein Auto von einem Fahrgemeinschaftsdienst bestellen. Die Direktaktions-API135 kann Inhaltsdaten148 (oder Parameter146 oder Richtlinien 147) von dem Datenbehälter145 sowie Daten empfangen, die mit Zustimmung des Endbenutzers von dem Client-Computergerät150 empfangen werden, um Standort, Zeit, Benutzerkonten, logistische oder andere Informationen zu bestimmen, um ein Auto aus dem Fahrgemeinschaftsdienst zu reservieren. Unter Verwendung der Direktaktions-API135 kann das Datenverarbeitungssystem105 auch mit dem Dienstanbieter-Computergerät160 kommunizieren, um die Umwandlung abzuschließen, indem es in diesem Beispiel die Reservierung für die Abholung der Fahrgemeinschaft vornimmt. - Die Direktaktions-API
135 kann die Umwandlung oder Aktivität zur Durchführung einer Aktion des Threads jederzeit während eines Zeitraums vom Empfangen des ersten, dem Thread zugeordneten Eingabeaudiosignals durch das Datenverarbeitungssystem105 auslösen (z. B. „OK, ich möchte heute Abend zum Abendessen aus gehen und dann ins Kino gehen“) bis zu einer Schwellenwertzeit nach Abschluss einer der Aktionen des Threads (z. B. bis 15 Minuten nach dem Ende der zweiten Aktion, den Kinofilm anzusehen). Das Datenverarbeitungssystem110 kann das Ende dieses Zeitraums auch aufgrund anderer Faktoren bestimmen, wie z. B. aufgrund der Angabe, dass der Endbenutzer die Aktionen des Threads abgeschlossen hat, z. B. nach Hause zurückgekehrt ist oder sich nicht mehr im Kino befindet. Das Datenverarbeitungssystem105 kann auch von dem Client-Computergerät150 (eine Datennachricht, die über das Netzwerk165 übertragen wird) eine Angabe erhalten, dass der Thread abgebrochen oder inaktiv ist, oder dass der Endbenutzer Aktionen des Threads abgebrochen oder abgeschlossen hat. - Die Direktaktions-API
135 kann das Umwandeln oder die Aktivität initiieren, um eine Aktion des Threads basierend auf dem Abschluss oder dem Zeitpunkt des Abschlusses anderer Aktionen des Threads durchzuführen. So kann z. B. das Datenverarbeitungssystem105 eine Ware oder Dienstleistung (Fahrgemeinschaftsabholung) direkt oder durch Kommunikation mit dem Dienstanbieter-Computergerät160 innerhalb eines Schwellwertzeitraums nach Abschluss einer vorherigen Aktion in dem Thread bestellen. Innerhalb von 5 Minuten (oder einer anderen Zeitspanne) vor oder nach dem geplanten oder tatsächlichen Abschluss des Kinofilms (zweite Aktion) kann das Datenverarbeitungssystem105 einen Fahrgemeinschaftsdienst bestätigen oder beauftragen, ein Auto zur Abholung des Endbenutzers zum Kino zu schicken (nachfolgende, dritte Aktion). Dies kann auftreten, wenn keine Eingaben von dem Endbenutzer-Computergerät150 während dieses Zeitraums empfangen wurden, oder wenn auf eine Aufforderung des Endbenutzercomputergeräts150 während dieses Zeitraums reagiert wird. - Die Direktaktions-API
135 kann die Umwandlungen oder andere Aktivitäten, die mit den sequenzabhängigen Vorgängen des Threads verbunden sind, in beliebiger Reihenfolge initiieren. Beispielsweise kann die Direktaktions-API135 (oder eine andere Komponente des Datenverarbeitungssystems105 ) eine Aktivität initiieren, die einer abschließenden Aktion entspricht (z. B. die dritte Aktion in einem Drei-Aktions-Thread, z. B. die Bestellung eines Taxis), bevor sie eine Aktivität auslöst, die einem früheren Thread in der Sequenz (z. B. vor der Reservierung eines Abendessens oder vor der Bestellung von Kinokarten) entspricht. In diesem Beispiel initiiert das Datenverarbeitungssystem105 die Aktivität für eine frühere (z. B. zweite) Aktion nach Initiieren der Aktivität für die spätere (z. B. dritte) Aktion. - Die Inhaltsauswahlelementkomponente
125 kann mehrere Inhaltselemente identifizieren, auswählen oder erhalten, die aus mehreren Inhaltsauswahlprozessen resultieren. Die Inhaltsauswahlprozesse können in Echtzeit erfolgen, z. B. als Teil derselben Konversation, Kommunikationssitzung oder Reihe von Kommunikationssitzungen zwischen dem Datenverarbeitungssystem105 und dem Client-Computergerät150 , die einen Thread beinhalten. Die Konversation kann z. B. asynchrone Kommunikationen beinhalten, die durch einen Zeitraum von Stunden oder Tagen voneinander getrennt sind. Die Konversation oder die Kommunikationssitzung kann für einen Zeitraum vom Empfangen des ersten Eingabeaudiosignals bis zu einem geschätzten oder bekannten Abschluss einer abschließenden Handlung des Threads, dem Empfangen eines Hinweises auf eine Beendigung des Threads durch das Datenverarbeitungssystem105 dauern. Dies kann als die aktive Zeitdauer des Threads bezeichnet werden. Bei einem Thread mit drei Aktionen (z. B. Abendessen, Kinofilm und Heimtransport) kann die Inhaltsauswahlelementkomponente125 für jede Aktion mindestens ein Inhaltselement auswählen. Die Inhaltselementauswahlkomponente125 kann für jede Aktion einen anderen Inhaltsauswahlprozess durchlaufen oder Ergebnisse erhalten. In den Inhaltsauswahlprozessen kann das Inhaltsanbieter-Computergerät150 Inhaltselemente zur Auswahl durch die Inhaltsauswahlelementkomponente125 festlegen. Für einen Thread mit mindestens drei Aktionen kann die Inhaltselementauswahlkomponente über einen ersten Inhaltsauswahlprozess ein erstes Inhaltselement für die erste Aktion, ein zweites Inhaltselement für die zweite Aktion über einen zweiten Inhaltsauswahlprozess und ein drittes Inhaltselement für die dritte Aktion über einen dritten Inhaltsauswahlprozess auswählen oder anderweitig identifizieren. Das Datenverarbeitungssystem105 , das diese Inhalte zum Wiedergeben durch das Client-Computergerät150 während des aktiven Zeitraums des Threads bereitstellt, kann als in Echtzeit betrieben betrachtet werden. In diesem Beispiel erfolgen die Inhaltsauswahlprozesse und das Wiedergeben der Inhaltselemente in Echtzeit. - Das Datenverarbeitungssystem
105 kann Aktionen, die mit Inhaltselementen verknüpft sind, abbrechen. Beispielsweise kann der Endbenutzer nach der Bestellung des Autodienstes den Kinofilm anschauen, sich dann aber entscheiden, zu Fuß nach Hause zu gehen oder sich nach dem Kinofilm die Zeit anderweitig zu vertreiben, anstatt eine Mitfahrgelegenheit nach Hause in Anspruch zu nehmen. Eine App oder ein anderes Programm, das auf dem Client-Computergerät 150 als Teil des Datenverarbeitungssystems105 ausgeführt wird, kann ein Eingabeaudiosignal von „Stornieren meiner Fahrt nach Hause“ empfangen. Die NLP-Komponente110 kann dieses Eingabeaudiosignal, z. B. als eine oder mehrere paketbasierte Datennachrichten, empfangen und kann ermitteln, dass sich dieses Eingabeaudiosignal auf einen bereits bestehenden Thread (z. B. Abendessen, Kinofilm, Heimfahrt) bezieht und Teil derselben Konversation oder Kommunikation ist. Beispielsweise kann die NLP-Komponente110 (oder eine andere Komponente des Datenverarbeitungssystems105 ) Zeitdaten, Standortdaten und bereits vorhandene Thread-Daten, wie z. B. vergangene, gegenwärtige oder geplante Aktionen eines Threads, aus den Inhaltsdaten148 des Datenbehälters145 auswerten, um zu ermitteln, dass sich ein Eingabeaudiosignal auf einen bereits vorhandenen Thread bezieht. Basierend auf der Anfrage „Fahrt“ oder dem Auslöserschlüsselwort „Abbrechen“ kann die NLP-Komponente110 beispielsweise ermitteln, dass sich das Eingabeaudiosignal „Fahrt stornieren“ auf das Inhaltselement „Möchten Sie eine Fahrt vom Kino nach Hause?“ bezieht, das der dritten Aktion eines zuvor bestehenden Threads entspricht. Die Direktaktions-API135 (oder eine andere Komponente) kann das Datenverarbeitungssystem105 veranlassen, über die Schnittstelle115 mit dem Dienstanbieter-Computergerät160 zu kommunizieren, um den Auftrag für den Taxi- oder Fahrgemeinschaftsdienst, mit einem Auto nach Abschluss des Kinofilms außerhalb des Kinos auf den Endbenutzer zu warten, zu stornieren. - Die NLP-Komponente
135 kann das Datenpaket oder eine andere protokollbasierte Nachricht empfangen, um eine Aktion des Threads vor oder nach Abschluss einer beliebigen Aktion des Threads abzubrechen. Die NLP-Komponente 135 kann von dem Client-Computergerät150 (oder von dem Datenbehälter145 ) eine Datennachricht (eingehendes Audiosignal) empfangen, um eine Aktion des Threads innerhalb eines Zeitintervalls abzubrechen, das durch eine frühere Aktion des Threads ausgelöst wurde. Das Datenverarbeitungssystem105 kann beispielsweise in einem sequenzabhängigen Thread mit drei Aktionen, Abendessen, Kinofilm, Transport, die Nachricht über die Transportstornierung innerhalb von 5 Minuten (oder einem anderen Zeitraum) nach Abschluss des Kinofilms empfangen. Das Datenverarbeitungssystem105 kann zur Bestätigung eines Produktes oder einer Dienstleistung im Zusammenhang mit einer Aktion des Threads auffordern. Das Datenverarbeitungssystem105 kann beispielsweise während eines Zeitraums zwischen der ersten Aktion und der zweiten Aktion (z. B. nach dem Abendessen und vor dem Kinofilm) eine Datennachricht an das Client-Computergerät150 übertragen, die bei Wiedergabe auf dem Client-Computergerät150 die Audio- oder Textnachricht mit der Aufschrift „Nur bestätigen, dass Sie immer noch möchten, dass nach dem Kinofilm ein Auto auf Sie wartet“, ausgibt. Das Datenverarbeitungssystem105 kann eine Rückmeldung empfangen, z. B. „Ja, bestätigt“ oder „Nein, das Fahrzeug stornieren“. Diese Antwort kann als Teil des Threads enthalten sein. Die Direktaktions-API135 kann Scripts ausführen, um diese Informationen zu verarbeiten, und mit dem Dienstanbieter-Computergerät160 kommunizieren, um die Bestätigung oder Stornierung anzuzeigen. - Bezugnehmend auf
1 und2 , unter anderem, kann die Thread-Optimierungskomponente120 auf Basis des Sequenzabhängigkeitsparameters mindestens eine Einzelthread-Datenstruktur200 erstellen. Die Einzelthread-Datenstruktur200 kann eine paketbasierte Architektur (oder ein anderes Format) beinhalten und kann mindestens einen Header205 beinhalten. Der Header205 kann ergänzende Daten beinhalten, die das Datenverarbeitungssystem105 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 Einzelthread-Datenstruktur200 kann mindestens einen Sequenzabhängigkeitsparameter210 oder andere Informationen, wie z. B. mindestens eine erste Datenübertragung215 oder mindestens eine zweite Datenübertragung220 , beinhalten. Die Einzelthread-Datenstruktur200 kann eine oder mehr als eine Struktur, z. B. mehrere Pakete mit jeweiligen Headern205 und Nutzlasten, beinhalten, die mindestens einen Teil der ersten Datenübertragung215 oder der zweiten Datenübertragung220 angeben. Der Sequenzabhängigkeitsparameter215 kann eine Sequenzabhängigkeit der Aktionen aus der Vielzahl von Aktionen angeben, die durch die erste Datenübertragung215 oder die zweite Datenübertragung220 angegeben werden. - Der Header
205 , der Sequenzabhängigkeitsparameter210 , die erste Datenübertragung215 und die zweite Datenübertragung220 können, müssen jedoch nicht, in der Einzelthread-Datenstruktur200 enthalten sein. Der Korpus einer Einzelthread-Datenstruktur200 kann beispielsweise nur die erste Datenübertragung 215 (oder Teile davon) beinhalten und keine der Sequenzabhängigkeitsparameter210 oder die zweite Datenübertragung220 beinhalten oder der Korpus der Einzelthread-Datenstruktur200 kann den Sequenzabhängigkeitsparameter210 sowie eine oder mehrere der ersten Datenübertragung215 und der zweiten Datenübertragung220 beinhalten. Die Einzelthread-Datenstruktur200 kann eines oder mehrere individuelle Pakete beinhalten, die getrennt nacheinander oder parallel als Teil von einer oder mehreren Datenübertragungen zwischen dem Datenverarbeitungssystem105 und dem Dienstanbieter-Computergerät160 oder dem Inhaltsanbieter-Computergerät155 übertragen werden. Der Header205 oder der Sequenzabhängigkeitsparameter210 kann angeben, dass die getrennten Übertragungen oder getrennten Datenpakete mit derselben Batch-Übertragung verknüpft sind, z. B. derselben gesamten Einzelthread-Datenstruktur200 . Die Direktaktions-API135 kann mehrere verschiedene Einzelthread-Datenstrukturen in einer Einzelthread-Datenstruktur200 zusammenführen oder anderweitig verbinden. Die Einzelthread-Datenstruktur200 kann mehrere Pakete oder mehrere verschiedene Strukturen beinhalten, die getrennt, jedoch miteinander verknüpft sind. - Die Thread-Optimierungskomponente
120 kann eine Aktion der Einzelthread-Datenstruktur200 gegenüber einer anderen Aktion priorisieren. Die Priorisierung kann durch den Sequenzabhängigkeitsparameter210 angegeben oder anderweitig der Direktaktions-API135 oder der Inhaltsauswahlkomponente125 bereitgestellt werden. Die Thread-Optimierungskomponente120 kann beispielsweise eine zeitlich erste Aktion priorisieren, die durch die Einzelthread-Datenstruktur200 angegeben wird. In Reaktion auf die Priorisierung kann die Direktaktions-API135 oder andere Komponente, wie z. B. die Inhaltsauswahlkomponente125 , Datenübertragungen (z. B. mindestens einen Teil der ersten Datenübertragung215 oder der zweiten Datenübertragung220 ) dem Inhaltsanbieter-Computergerät155 oder dem Dienstanbieter-Computergerät160 bereitstellen, um eine Umwandlung vorzunehmen, die mit der zeitlich ersten Aktion verbunden ist. - Bezugnehmend auf
3 , unter anderem, kann das Datenverarbeitungssystem105 von einem ersten Client-Computergerät150 das erste Eingabeaudiosignal305 (z. B. „OK, ich würde gerne heute Abend essen gehen“) empfangen. Das Datenverarbeitungssystem105 kann außerdem, vom selben oder einem anderen Client-Computergerät150 , das zweite Eingabeaudiosignal310 (z. B. „OK, ich würde gerne später einen Kinofilm ansehen“) empfangen. Das Datenverarbeitungssystem105 kann jeweilige Aktionsdatenstrukturen und entsprechende Datenübertragungen für die ersten und zweiten Audioeingabesignale 305, 310 erzeugen. Komponenten des Datenverarbeitungssystems105 , wie z. B. die Thread-Optimierungskomponente120 , können statistische oder heuristische Techniken auf das erste Eingabeaudiosignal305 und das zweite Eingabeaudiosignal 310 anwenden, um mindestens einen Sequenzabhängigkeitsparameter zu erzeugen, der sequenzabhängige Aktionen aus den Aktionen des ersten Eingabeaudiosignals305 und des zweiten Eingabeaudiosignals310 angibt. Das Datenverarbeitungssystem105 kann die Datenübertragung (z. B. Pakete) oder die Aktionsdatenstrukturen, die dem ersten Eingabeaudiosignal305 und dem zweiten Eingabeaudiosignal310 entsprechen, in Stapeln oder Pools zusammenfassen, um gestapelte oder gepoolte Einzelthread-Datenstrukturen200 zu erstellen. Das Datenverarbeitungssystem105 kann die Einzelthread-Datenstruktur200 zum Dienstanbieter-Computergerät160 für die Verarbeitung durch das Dienstanbieter-Computergerät160 , zum Beispiel mindestens ein Auto zu reservieren, Kinokarten zu kaufen, eine Reservierung für das Abendessen vorzunehmen, in Reaktion auf die ersten und zweiten Eingabeaudiosignale305 ,310 übertragen oder anderweitig bereitstellen. - Verschiedene Instanzen der Teile derselben Einzelthread-Datenstruktur können verschiedenen Computergeräten bereitgestellt werden. Alle oder einige des Einzelthreads
200 können beispielsweise einem Dienstanbieter-Computergerät160 bereitgestellt werden, um eine Umwandlung vorzunehmen, z. B. ein Auto von einem Fahrgemeinschaftsdienst bestellen, und dieselben oder unterschiedliche Teile des Einzelthreads200 können (gleichzeitig oder nacheinander) einem Inhaltsanbieter-Computergerät155 bereitgestellt werden, um eine weitere Umwandlung vorzunehmen, z. B. ein Inhaltselement für ein Restaurant zu erhalten. - In Reaktion auf das Empfangen der Einzelthread-Datenstruktur
200 kann das Inhaltsanbieter-Computergerät155 oder das Dienstanbieter-Computergerät 160 mindestens einen Vorgang durchführen, der durch die Einzelthread-Datenstruktur 200 definiert oder angegeben wird. Der Vorgang kann einer oder mehreren der jeweiligen Aktionen der Aktionsdatenstrukturen (oder Datenübertragungen) der ersten oder zweiten Eingabeaudiosignale305 ,310 entsprechen. Die Vorgänge können beispielsweise das Reservieren eines Autos von einem Fahrgemeinschaftsdienst vom Dienstanbieter-Computergerät160 oder das Bereitstellen eines Inhaltselements für einen Kinofilm beinhalten. Das Inhaltsanbieter-Computergerät155 kann beispielsweise eine erste Antwort315 (z. B. ein Inhaltselement für einen Kinofilm) für das Client-Computergerät150 bereitstellen, und das Dienstanbieter-Computergerät160 kann eine zweite Antwort320 (z. B. ein Auto reservieren) demselben oder einem anderen Client-Computergerät150 bereitstellen. Die ersten und zweiten Antworten315 ,320 können das Datenverarbeitungssystem105 während der Übertragung vom Inhaltsanbieter-Computergerät155 oder dem Dienstanbieter-Computergerät160 zum Client-Computergerät150 umgehen. Die Antworten315 , 320 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 oder das Mieten eines Inhaltselements, bestätigen. Das Datenverarbeitungssystem105 kann eine Angabe der Umwandlung (oder der Antworten315 ,320 ) über das Computernetzwerk165 von dem Dienstanbieter-Computergerät160 , dem Inhaltsanbieter-Computergerät155 oder dem Client-Computergerät150 empfangen. - Der durch das Datenverarbeitungssystem
105 (z. B. durch die Thread-Optimierungskomponente120 oder die Direktaktions-API135 ) erstellte Einzelthread 200 kann eine tatsächliche, bekannte, geplante oder geschätzte Zeit von Aktionen angeben, die dem Thread entsprechen. Diese Zeiten können u. a. Kinofilmanfangszeiten, Transportabholzeiten, Abendessen-Reservierungszeiten oder Veranstaltungszeiten beinhalten. Die Zeiten können diskrete Zeitpunkte, z. B. 20 Uhr Abendessen-Reservierungen, oder relative Zeitpunkte zu anderen Aktionen sein, z. B. der Beginn der Aktion „B“ ist 15 Minuten nach der bekannten oder geschätzten Abschlusszeit von Aktion „A“ geplant. Der Thread200 kann beispielsweise angeben, dass eine erste Aktion (z. B. Abendessen) planmäßig vor einer zweiten Aktion (z. B. Kinofilm ansehen) stattfinden soll. Diese Aktionen können Datenstruktur- (oder Datenübertragungs-)Aktionen entsprechen, die aus Eingabeaudiosignalen identifiziert wurden. Die Direktaktions-API135 kann den Abschluss einer ersten Aktion erkennen. Das Computergerät150 kann beispielsweise ein Script ausführen, um die Rechnung im Restaurant zu bezahlen, oder die Direktaktions-API135 kann schätzen, dass das Abendessen90 Minuten dauern wird, oder der Endbenutzer kann ein Audioeingabesignal oder eine andere Datennachricht bereitstellen, um anzugeben, dass die erste Aktion zu einem Zeitpunkt oder innerhalb eines Zeitfensters abgeschlossen oder für den Abschluss geplant ist. In Reaktion auf die Erkennung des Abschlusses (z. B. bekannte oder geschätzte Endzeit) einer ersten Aktion kann die Direktaktions-API135 die Übertragung von Datenpakten des Einzelthreads zu einem Dienstanbieter-Computergerät160 oder einem Inhaltsanbieter-Computergerät155 fortsetzen. Diese Übertragung kann nach dem bekannten oder geschätzten Abschluss der ersten Aktion oder während eines Zeitfensters (z. B. innerhalb einer Stunde) nach dem bekannten oder geschätzten Abschluss der ersten Aktion erfolgen. Nach Abschluss des Abendessens kann die Direktaktions-API135 beispielsweise zumindest einen Teil des Einzelthreads200 für ein Dienstanbieter-Computergerät160 bereitstellen, um Kinokarten zu kaufen, oder für ein Inhaltsanbieter-Computergerät 155, um ein Inhaltselement für einen Kinofilm zu erhalten. Angaben der Umwandlungen (z. B. Kauf der Karten oder Wiedergabe des Inhaltselements am Client-Computergerät150 ) können dem Datenverarbeitungssystem105 vom Client-Computergerät150 , dem Inhaltsanbieter-Computergerät155 oder dem Dienstanbieter-Computergerät160 bereitgestellt werden. Der Sequenzabhängigkeitsparameter210 kann die Reihenfolge angeben, in der Aktionen des Einzelthreads200 planmäßig stattfinden sollen, er kann z. B. angeben, dass eine erste Aktion planmäßig vor einer zweiten Aktion stattfinden soll. - Die Direktaktions-API
135 kann mindestens eine Deadlock-Bedingung mindestens einer Aktion des Einzelthreads200 identifizieren. Eine Deadlock-Bedingung kann angeben, dass eine zweite Aktion erst fortfahren kann, nachdem eine erste, vorherige Aktion abgeschlossen ist. Die Direktaktions-API135 kann beispielsweise eine Deadlock-Bedingung identifizieren, wenn die erste Aktion eine Kinofilmaktion (Ansehen eines Kinofilms in einem Kino) ist und eine zweite Aktion der Heimtransport über einen Fahrgemeinschaftsdienst, wenn der Kinofilm zu Ende ist. Die Direktaktions-API135 kann eine Deadlock-Bedingung für die zweite Aktion (z. B. die Fahrt nach Hause) ermitteln, die bis zu einem Zeitpunkt dauert, der mit der ersten Aktion verknüpft ist, wie z. B. eine geplante Endzeit des Kinofilms. Die Direktaktions-API135 oder andere Komponente, wie z. B. die Schnittstelle115 , kann die Übertragung der Datenübertragung zu einem Dienstanbieter-Computergerät (z. B. einem Fahrgemeinschaftsdienst) in Reaktion auf die Deadlock-Bedingung verhindern. Das Datenverarbeitungssystem105 oder eine Komponente davon kann beispielsweise die Übertragung von Datenpaketen der Datenübertragung (oder Datenstruktur) für die Aktion (z. B. Reservieren eines Autos) an ein Dienstanbieter-Computergerät160 (z. B. eines Fahrgemeinschaftsdienstes) während des Zeitraums der Deadlock-Bedingung verhindern. Dies verhindert, dass das Dienstanbieter-Computergerät160 die Anfrage für ein Auto (oder den anderen Dienst) empfängt. - Die Direktaktions-API
135 kann eine Angabe empfangen oder anderweitig ermitteln, dass die Deadlock-Bedingung beendet oder nicht länger vorhanden ist. Die Direktaktions-API135 kann beispielsweise das Dienstanbieter-Computergerät160 oder andere Drittanbieter-Computergerät abfragen, um eine geplante Endzeit eines Kinofilms oder einer anderen Aktion zu ermitteln. Bei Eintreffen dieser Zeit oder innerhalb eines Schwellenwertzeitraums (z. B. 30 Minuten oder 5 Minuten) vor dieser Zeit kann die Direktaktions-API die Deadlock-Bedingung unterbrechen, freigeben oder beenden. Nach Ablauf der Deadlock-Bedingung kann das Datenverarbeitungssystem105 an das Dienstanbieter-Computergerät160 Daten der Datenübertragung oder Datenstruktur, die einer nachfolgenden Aktion entsprechen, z. B. einer Fahrt nach dem Kinofilm nach Hause, (z. B. über die Schnittstelle105 ) übertragen. - Die Direktaktions-API
135 kann eine Angabe vom Client-Computergerät150 empfangen, die Deadlock-Bedingung zu beenden. Der Endbenutzer kann sich beispielsweise entscheiden, das Kino vorzeitig zu verlassen, bevor der Kinofilm zu Ende ist, und kann ein Eingabeaudiosignal in das Client-Computergerät eingeben, z. B. „OK, dieser Film ist schlecht, ich möchte bitte nach Hause fahren“. Das Datenverarbeitungssystem105 (z. B. die NLP-Komponente110 oder die Direktaktions-API135 ) kann aus diesem Eingabeaudiosignal ermitteln, dass die Deadlock-Bedingung abgelaufen ist, und kann Daten für die nachfolgende Aktion an das Dienstanbieter-Computergerät160 übertragen. Nach der Freigabe der Deadlock-Bedingung kann die Direktaktions-API135 außerdem Daten für eine Aktion (z. B. Daten einer Datenübertragung oder Aktionsdatenstruktur des Einzelthreads200 ) für das Inhaltsanbieter-Computergerät155 bereitstellen, um ein Inhaltselement zu erhalten, das mit der Aktion nach dem Deadlock verbunden ist. Das Inhaltselement kann durch das Datenverarbeitungssystem105 oder durch das Inhaltsanbieter-Computergerät155 dem Client-Computergerät150 für die Wiedergabe bereitgestellt werden. Das Inhaltselement kann beispielsweise angeben „Es tut mir leid wegen des Kinofilms, möchten sie ein Auto von einem Fahrgemeinschaftsunternehmen bestellen?“. Die Inhaltsauswahlkomponente125 (oder andere Komponente, wie z. B. die Schnittstelle115 oder die Direktaktions-API 135) kann die Auswahl des Inhaltselements oder die Übertragung des ausgewählten Inhaltselements an das Client-Computergerät150 in Reaktion auf eine Deadlock-Bedingung oder bis zur Freigabe der Deadlock-Bedingung blockieren. - Die Direktaktions-API
135 kann fortlaufende Reihenfolgen von Aktionen ändern, die durch den Einzelthread200 angegeben werden. Die Direktaktions-API kann beispielsweise eine Angabe der ersten fortlaufenden Reihenfolge, z. B. eine erste Aktion, eine zweite Aktion nach der ersten Aktion und eine dritte Aktion nach der zweiten Aktion (Abendessen, dann ein Kinofilm, dann eine Fahrt nach Hause) ermitteln. Die Direktaktions-API135 und andere Komponenten, wie z. B. die NLP-Komponente110 und die Schnittstelle115 , können eine Anfrage zum Ändern der fortlaufenden Reihenfolge empfangen. Das Datenverarbeitungssystem105 kann beispielsweise ein Eingabeaudiosignal vom Client-Computergerät empfangen „OK, ich möchte nach dem Kinofilm zum Abendessen ausgehen“. Die Direktaktions-API135 (oder NLP-Komponente110 ) kann aus diesem Audioeingabesignal eine Anfrage zum Ändern der fortlaufenden Reihenfolge der Aktionen zu, beispielsweise, ein Kinofilm, dann Abendessen, dann eine Fahrt nach Hause ändern. Aus diesen Informationen kann die Direktaktions-API 135 eine geänderte fortlaufende Reihenfolge erzeugen, sodass die zweite Aktion (Ansehen des Kinofilms) jetzt planmäßig vor der ersten Aktion (Abendessen) stattfinden soll. Die Direktaktions-API135 oder Inhaltsauswahlkomponente125 (oder andere Komponenten) kann demgemäß damit fortfahren, die Datenübertragung der Kinofilmaktion vor den Datenübertragungen der Abendessenaktion an das Inhaltsanbieter-Computergerät155 oder das Dienstanbieter-Computergerät160 zu übertragen. Die Direktaktions-API135 kann außerdem eine Deadlock-Bedingung identifizieren oder ändern, um Vorgänge, die mit der Abendessen-Aktion verbunden sind, auf Basis einer Endzeit der ersten Kinofilmaktion zu verzögern. Die Aktionen Abendessen, Kinofilm und Transport dienen als Beispiele, tatsächlich kann jede beliebige Anzahl von Endbenutzeraktivitäten oder Anfragen Aktionen darstellen. Die Änderungen können in Reaktion auf andere Eingaben als das Eingabeaudiosignal erfolgen. Wenn beispielsweise Eintrittskarten für den Kinofilm um 21 Uhr (nach dem Abendessen) ausverkauft sind, kann das Datenverarbeitungssystem105 eine Audioausgabe für die Wiedergabe am Client-Computergerät150 bereitstellen, um das Ansehen eines Kinofilms (z. B. die Vorführung um 17 Uhr) vor dem Abendessen vorzuschlagen. - Das Datenverarbeitungssystem
105 kann eine Offline-Aktion durchführen. Dadurch können Verarbeitungs- und Stromanforderungen gespart und der Netzwerkverkehr verringert oder auf Nebenzeiten verschoben werden. Der Einzelthread200 kann beispielsweise eine erste Aktion und eine zweite nachfolgende Aktion angeben, die von der Auflösung der ersten Aktion abhängt. Diese Aktionen können Tage oder Wochen (oder mehr) voneinander entfernt sein, wie z. B. Kaufen eines Flugtickets (erste Aktion, heute) für einen dreiwöchigen Strandurlaub in den Tropen, der in sechs Wochen stattfindet, und Buchen von Tauchunterricht für den letzten Urlaubstag (zweite Aktion, mehr als sechs Wochen entfernt). Die Direktaktions-API135 kann in Echtzeit mit dem Dienstanbieter-Computergerät160 , das einer Fluglinien-Entität entspricht, in Reaktion auf das Eingabeaudiosignal kommunizieren, um die Flugtickets in einer Online-Aktion zu kaufen, um eine Umwandlung - den Kauf der Flugtickets - vorzunehmen. Die zweite Aktion in diesem Beispiel bleibt sechs Monate entfernt. Über diesen sechsmonatigen Zeitraum oder ein anderes Zeitfenster kann die Direktaktions-API135 oder andere Komponente, wie z. B. die Inhaltsauswahlkomponente125 , Inhaltselemente auswählen oder andere Vorgänge in Reaktion auf die zweite Aktion (Tauchunterricht) durchführen. Die Direktaktions-API kann dies beispielsweise offline erhalten, indem sie diese Informationen vom Datenbehälter145 oder einem Drittanbieter-Datenbehälter in Verbindung mit Tauchunterricht erhält. Die Offline-Aktion kann in Echtzeit erfolgen oder auch nicht, zudem erfordert eine Offline-Aktion keine zeitliche Trennung (z. B. sechs Monate) zwischen Aktionen. Das Datenverarbeitungssystem 105 kann beispielsweise Informationen in Reaktion auf Aktionen vom Datenbehälter 145 oder einer Drittanbieter-Datenbank in Echtzeit als Teil einer Kommunikationssitzung oder synchronen oder asynchronen Konversation mit dem Client-Computergerät erhalten. -
4 stellt ein Verfahren400 zum Verwalten sprachaktivierter Eingabedatenkommunikationen dar, die sequenzabhängige Vorgänge in einer sprachaktivierten, datenpaketbasierten Computernetzwerkumgebung angeben. Das Verfahren400 kann mindestens ein erstes Audioeingabesignal empfangen (ACT405 ). Die NLP-Komponente kann beispielsweise über die Schnittstelle115 Datenpakete empfangen (ACT405 ). Das Datenverarbeitungssystem105 kann die NLP-Komponente110 ausführen, starten oder aufrufen, um paket- oder andere protokollbasierte Übertragungen über das Netzwerk von mindestens einem Client-Computergerät150 zu empfangen. Die Datenpakete können ein von dem Sensor151 eines ersten Client-Computergeräts150 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, ich würde gerne heute Abend essen gehen“. Das Verfahren400 kann das Eingabeaudiosignal parsen, um mindestens eine erste Anfrage oder mindestens ein erstes Auslöserschlüsselwort von dem Eingabeaudiosignal (ACT410 ) zu identifizieren. Beispielsweise kann die NLP-Komponente110 das Eingabeaudiosignal analysieren, um Anfragen zu identifizieren (eine Einladungsanfrage für „Abendessen“) sowie die Schlüsselwörter („gehen zu“), die der Anfrage entsprechen oder sich auf diese beziehen. Das Verfahren400 kann mindestens eine erste Aktionsdatenstruktur (ACT415 ) auf Basis der identifizierten Anfragen oder Schlüsselwörter erzeugen, die mit dem empfangenen ersten Audioeingabesignal verknüpft sind. Die Direktaktions-API135 kann beispielsweise eine Aktionsdatenstruktur erzeugen, die eine erste Aktion angibt, wie z. B. einen Standort für eine Taxiabholung, einen angeforderten Dienstleister oder eine Restaurantempfehlung. - Das Verfahren
400 kann mindestens ein zweites Audioeingabesignal empfangen (ACT420 ). Die NLP-Komponente110 kann beispielsweise paket- oder andere protokollbasierte Übertragungen über das Netzwerk165 vom selben oder einem anderen Client-Computergerät150 empfangen, von dem das erste Eingabeaudiosignal stammt. Die Datenpakete können ein von dem Sensor151 des zweiten Client-Computergeräts150 erkanntes Eingabeaudiosignal beinhalten oder diesem entsprechen, wie z. B. einem Endbenutzer, der in ein Client-Computergerät 150 spricht: „OK, ich würde mir später gerne einen Film ansehen“. Das Verfahren 400 kann mindestens eine zweite Anfrage oder mindestens ein zweites Auslöserschlüsselwort von dem zweiten Eingabeaudiosignal (ACT425 ) identifizieren. Beispielsweise kann die NLP-Komponente110 das Eingabeaudiosignal analysieren, um Anfragen zu identifizieren (eine Einladungsanfrage für „Film“) sowie die Schlüsselwörter („ansehen“), die der Anfrage entsprechen oder sich auf sie beziehen. Das Verfahren400 kann mindestens eine zweite Aktionsdatenstruktur (ACT430 ) auf Basis der identifizierten Anfragen oder Schlüsselwörter erzeugen, die mit dem empfangenen ersten Audioeingabesignal verknüpft sind. Die Direktaktions-API135 kann beispielsweise eine Aktionsdatenstruktur erzeugen, die eine zweite Aktion angibt, wie z. B. einen Standort für eine Taxiabholung, einen angeforderten Dienstleister oder Kinofilminformationen. - Das Verfahren
400 kann Datenübertragungen aus den Aktionsdatenstrukturen konstruieren (ACT435 ). Die Direktaktions-API135 kann beispielsweise eine erste Datenübertragung aus einer ersten Aktionsdatenstruktur erstellen, die dem ersten Eingabeaudiosignal entspricht, und kann eine zweite Datenübertragung aus der zweiten Aktionsdatenstruktur erstellen, die dem zweiten Eingabeaudiosignal entspricht. Die ersten und zweiten (oder andere Anzahl von) Datenübertragungen können durch Paketierung von Informationen, die aus den entsprechenden Aktionsdatenstrukturen erhalten wurden, oder anderweitiges Umwandeln der Aktionsdatenstrukturen in eine Form für die Übertragung als Teil einer allgemein definierten Kommunikationssitzung, z. B. einer hin und her gehenden oder asynchronen Konversation oder Übertragung von Daten zwischen dem Endbenutzer-Computergerät150 und dem Inhaltsanbieter-Computergerät155 oder dem Dienstanbieter-Computergerät160 über das Datenverarbeitungssystem105 konstruiert oder erzeugt (ACT435 ) werden. Kommunikationssitzungen mit mehreren Drittanbietergeräten (z. B. Inhaltsanbieter-Computergeräten155 oder Dienstanbieter-Computergeräten160 ), die verschiedenen Entitäten entsprechen, können als Teil einer gemeinsamen Kommunikationssitzung betrachtet werden. Kommunikationssitzungen können synchron mit hin und her gehender Datenübertragung zu und von dem Client-Computergerät150 in einer Konversationsangelegenheit oder asynchron sein, wobei eine Ruhephase, z. B. mindestens eine Stunde, zwischen Datenübertragungen stattfindet. - Das Verfahren
400 kann Daten aus den Datenübertragungen erhalten (ACT440 ). Die Thread-Optimierungskomponente120 kann beispielsweise auf Informationen bezüglich Aktionen von den Datenübertragungen (oder von den entsprechenden Aktionsdatenstrukturen) zugreifen oder diese (z. B. aus dem Datenbehälter145 ) abrufen. Das Verfahren400 kann mindestens einen Sequenzabhängigkeitsparameter ermitteln (ACT445 ). Auf Basis der Daten, die von den Datenübertragungen erhalten wurden (ACT440 ), die eine Reihenfolge der Vorgänge oder Sequenzabhängigkeit der Aktionen angeben, kann die Thread-Optimierungskomponente120 beispielsweise einen Sequenzabhängigkeitsparameter ermitteln, der das Vorhandensein einer Sequenzabhängigkeit für mindestens zwei Aktionen angibt. Das Verfahren400 kann eine oder mehrere Aktionsdatenstrukturen (direkt oder über Verknüpfung entsprechender Datenübertragungen) mit der Einzelthread-Datenstruktur200 verknüpfen. Die Thread-Optimierungskomponente 120 (oder andere Komponente des Datenverarbeitungssystems105 ) kann die Einzelthread-Datenstruktur200 erzeugen (ACT450 ). Auf Basis der Angabe von mindestens zwei sequenz- oder zeitabhängigen Vorgängen kann die Thread-Optimierungskomponente120 beispielsweise mindestens eine Einzelthread-Datenstruktur erzeugen, die die ersten und zweiten Datenübertragungen, ersten und zweiten Aktionsdatenstrukturen oder ihre verknüpften Aktionen angibt (ACT440 ). Die erzeugte Einzelthread-Datenstruktur200 (ACT450 ) kann Daten beinhalten, die von der Direktaktions-API135 verwendet werden, um den Abschluss einer Aktion zu erkennen, sodass das Datenverarbeitungssystem105 dann dem Dienstanbieter-Computergerät160 oder dem Inhaltsanbieter-Computergerät155 Datenpakete für eine andere Aktion bereitstellen kann. Das Datenverarbeitungssystem105 kann außerdem eine Deadlock-Bedingung identifizieren, die mit Aktionen der erzeugten Einzelthread-Datenstruktur200 verknüpft ist (ACT450 ). Die Einzelthread-Datenstruktur 200 kann eine fortlaufende Reihenfolge mehrerer Aktionen angeben und das Verfahren kann eine geänderte fortlaufende Reihenfolge erzeugen, die die fortlaufende Reihenfolge der Aktionen ändert. Das Datenverarbeitungssystem105 kann die gesamte oder einen Teil der Einzelthread-Datenstruktur200 für ein oder mehrere Inhaltsanbieter-Computergeräte155 oder Dienstanbieter-Computergeräte 160 bereitstellen. -
5 zeigt ein Blockdiagramm eines exemplarischen Computersystems500 . Das Computersystem oder Computergerät500 kann das System100 oder dessen Komponenten, wie z. B. das Datenverarbeitungssystem105 , beinhalten oder es kann verwendet werden, um diese zu implementieren. Das Computersystem500 beinhaltet einen Bus505 oder eine andere Kommunikationskomponente zur Übertragung von Informationen sowie einen Prozessor510 oder eine Verarbeitungsschaltung, die mit dem Bus505 gekoppelt sind und der Verarbeitung von Informationen dienen. Das Computersystem500 kann außerdem einen oder mehrere Prozessoren510 oder Verarbeitungsschaltungen beinhalten, die mit dem Bus gekoppelt sind und der Verarbeitung von Informationen dienen. Das Computersystem500 beinhaltet ferner Hauptspeicher515 , wie z. B. Direktzugriffsspeicher (RAM) oder ein anderes dynamisches Speichergerät, das mit dem Bus505 gekoppelt ist, um Daten zu speichern, sowie Anweisungen, die vom Prozessor510 ausgeführt werden sollen. Der Hauptspeicher515 kann der Datenbehälter145 sein bzw. diesen Datenbehälter beinhalten. Der Hauptspeicher515 kann bei Ausführung von Anweisungen durch den Prozessor510 ferner zum Speichern von Positionsdaten, temporären Variablen oder anderen mittelfristigen Informationen verwendet werden. Das Computersystem500 kann ferner einen Nur-Lese-Speicher (ROM)520 oder ein anderes statisches Speichergerät beinhalten, das mit dem Bus505 gekoppelt ist, um statische Informationen und Anweisungen für den Prozessor510 zu speichern. Mit dem Bus505 kann ein Speichergerät525 , wie z. B. ein Solid-State-Gerät, eine magnetische oder optische Platte, gekoppelt werden, um Informationen und Anweisungen dauerhaft zu speichern. Das Speichergerät525 kann den Datenbehälter145 beinhalten bzw. Teil davon sein. - Das Computersystem
500 kann über den Bus505 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 Bus505 kann ein Eingabegerät530 , wie z. B. eine Tastatur mit alphanumerischen und anderen Tasten, gekoppelt sein, damit sich ausgewählte Informationen und Befehle an den Prozessor510 übermitteln lassen. Das Eingabegerät530 kann eine Touchscreenanzeige535 beinhalten. Das Eingabegerät530 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 Prozessor510 übermitteln und die Bewegung des Cursors auf der Anzeige535 steuern lassen. Die Anzeige535 kann beispielsweise Bestandteil des Datenverarbeitungssystems105 , des Client-Computergeräts150 oder anderer Komponenten von1 sein. - Die hierin beschriebenen Prozesse, Systeme und Verfahren können vom Computersystem
500 als Folge davon implementiert werden, dass der Prozessor 510 einen im Hauptspeicher515 enthaltenen Satz von Anweisungen ausführt. Diese Anweisungen können von einem computerlesbaren Medium (wie z. B. Speichergerät 525) in den Hauptspeicher515 gelesen werden. Die Ausführung des im Hauptspeicher515 enthaltenen Satzes von Anweisungen veranlasst das Computersystem500 , 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 Hauptspeicher515 enthaltenen Anweisungen auszuführen. Festverdrahtete Schaltungen können anstelle von oder in Kombination mit Softwareanweisungen 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 nutzen, kann für die Benutzer eine Möglichkeit bereitgestellt werden, zu kontrollieren, 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 zu kontrollieren, 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 persönlichen identifizierbaren 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 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, kodiert sein, das erzeugt wird, um Informationen zur Übertragung an eine geeignete Empfängervorrichtung zu kodieren, damit diese von einer Datenverarbeitungsvorrichtung ausgeführt werden. Ein Computerspeichermedium kann ein computerlesbares Speichergerät, ein computerlesbares Speichersubstrat, ein frei adressierbares oder serielles Zugriffsspeicher-Array oder -Gerä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 Computerprogrammbefehlen sein, die in einem künstlich erzeugten sich ausbreiteten Signal kodiert 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, wie z. B. Code, erzeugt, der Prozessorfirmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem, eine plattformübergreifende Laufzeitumgebung, einen virtuellen Computer oder eine Kombination derselben darstellt. Das Gerät und die Ausführungsumgebung können verschiedene Computermodell-Infrastrukturen, wie z. B. Webdienste, sowie verteilte Rechen- und räumlich verteilte Rechen-Infrastrukturen realisieren. Die Direktaktions-API
135 , Inhaltsauswahlkomponente125 , Thread-Optimierungskomponente120 oder NLP-Komponente110 und andere Komponenten des Datenverarbeitungssystems105 können eine oder mehrere Datenverarbeitungsvorrichtungen, Systeme, Computergeräte oder Prozessoren beinhalten oder teilen. - Ein Computerprogramm (auch bekannt als ein Programm, Software, Softwareanwendung, App, Script oder Code) kann in beliebiger Form von Programmiersprache, darunter auch in kompilierten Sprachen oder interpretierten Sprachen, deklarativen oder prozeduralen Sprachen geschrieben sein, und kann in beliebiger Form eingesetzt werden, darunter auch als Einzelprogramm oder 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 (z. B. eines oder mehrere Scripts, die in einem Dokument in Auszeichnungssprache gespeichert sind), in einer einzelnen Datei speziell für das betreffende Programm oder in mehreren koordinierten Dateien (z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Teile von Code speichern). 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 ausführen (z. B. Komponenten des Datenverarbeitungssystems
105 ), um durch Verarbeiten von Eingabedaten und Erzeugen von Ausgaben Vorgänge durchzuführen. Die Prozesse und Logikabläufe können zudem durch eine logische Sonderzweckschaltung, 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 Computerprogrammbefehlen 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 werden. 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 System500 , 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 Netzwerk165 ). 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 Datenverarbeitungssystem105 von dem Computergerät150 oder dem Inhaltsanbieter-Computergerät155 oder dem Dienstanbieter-Computergerät160 ). - 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, und es ist 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, zudem können die beschriebenen Programmkomponenten in einem einzigen Hardware- oder Softwareprodukt enthalten sein. Die NLP-Komponente
110 , die Inhaltsauswahlkomponente125 oder die Thread-Optimierungskomponente120 kann 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 Datenverarbeitungssystems105 sein. - Nachdem nunmehr einige veranschaulichende Implementierungen beschrieben wurden, ist es offensichtlich, dass das Vorstehende als Veranschaulichung und nicht als Einschränkung dient, 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 Implementierungen oder Implementierungen ausgeschlossen sein.
- Die hier verwendete Ausdrucksweise und Terminologie dient dem Zweck der Beschreibung und sollte nicht als einschränkend 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 Bezugnahme 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 nur eines einzelnen Elements, umfassen können. Bezugnahmen auf die Singular- oder die Pluralform sind nicht 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, auf Basis von 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 zudem durch andere Ausführungsformen realisiert werden, ohne von deren wesentlichen Merkmalen abzuweichen. Komponenten des Datenverarbeitungssystems
105 müssen beispielsweise keine getrennten Komponenten sein und eine Komponente kann andere Komponenten beinhalten. Prozessoren eines oder mehrerer Computergeräte (z. B. Server) können Komponenten des Datenverarbeitungssystems105 beinhalten oder ausführen. 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. - Beansprucht wird Folgendes:
- ZITATE ENTHALTEN IN DER BESCHREIBUNG
- Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
- Zitierte Patentliteratur
-
- US 15395725 [0001]
Claims (20)
- System zum Kombinieren mehrerer sprachaktivierter Audioeingabedatenpakete, die sequenzabhängige Vorgänge angeben, 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 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 zum: Erzeugen, basierend auf dem ersten Auslöserschlüsselwort und in Reaktion auf die erste Anfrage, einer ersten Aktionsdatenstruktur; und Konstruieren einer ersten Datenübertragung, die die erste Aktionsdatenstruktur beinhaltet, um eine erste Kommunikationssitzung zwischen einem ersten Dienstanbieter-Computergerät und dem Client-Computergerät aufzubauen, wobei Datenpakete der ersten Kommunikationssitzung vom Client-Computergerät zum ersten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden; Empfangen, durch die Prozessorkomponente für natürliche Sprache, über die Schnittstelle des Datenverarbeitungssystems, von Datenpaketen, die ein zweites Eingabeaudiosignal umfassen, das vom Sensor der Client-Computergeräts erkannt wurde, und Parsen des zweiten Eingabeaudiosignals, um eine zweite Anfrage und ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht; die Direktaktions-API zum: Erzeugen, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage, einer zweiten Aktionsdatenstruktur; und Konstruieren einer zweiten Datenübertragung, die die zweite Aktionsdatenstruktur beinhaltet, um eine zweite Kommunikationssitzung zwischen einem zweiten Dienstanbieter-Computergerät und dem Client-Computergerät aufzubauen, wobei Datenpakete der zweiten Kommunikationssitzung vom Client-Computergerät zum zweiten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden; eine Thread-Optimierungskomponente, die durch das Datenverarbeitungssystem ausgeführt wird, zum: Erhalten von Datenpaketen der ersten Datenübertragung und zum Erhalten von Datenpaketen der zweiten Datenübertragung; Ermitteln, auf Basis einer heuristischen Technik, die auf die Datenpakete der ersten Datenübertragung und die Datenpakete der zweiten Datenübertragung angewandt wird, eines Sequenzabhängigkeitsparameters; und Zusammenführen, auf Basis eines Vergleichs des Sequenzabhängigkeitsparameters mit einem Schwellenwert, der ersten Datenübertragung mit der zweiten Datenübertragung in einem Einzelthread.
- System nach
Anspruch 1 , wobei der Einzelthread eine erste Aktion angibt, die planmäßig vor einer zweiten Aktion stattfinden soll, wobei die erste Aktion der ersten Aktionsdatenstruktur entspricht und die zweite Aktion der zweiten Aktionsdatenstruktur entspricht, umfassend: die Direktaktions-API zum Erkennen eines Abschlusses der ersten Aktion; und eine Schnittstelle des Datenverarbeitungssystems zum Übertragen der Datenpakete des Einzelthreads zum zweiten Dienstanbieter-Computergerät nach Abschluss der ersten Aktion. - System nach
Anspruch 1 , wobei der Sequenzabhängigkeitsparameter angibt, dass eine Aktion, die der ersten Aktionsdatenstruktur entspricht, planmäßig vor einer Aktion stattfinden soll, die der zweiten Aktionsdatenstruktur entspricht. - System nach
Anspruch 3 , umfassend: die Direktaktions-API zum Identifizieren einer Deadlock-Bedingung, die mit der Aktion, die der zweiten Aktionsdatenstruktur entspricht, auf Basis einer Zeit verknüpft ist, die mit der Aktion, die der ersten Aktionsdatenstruktur entspricht, verknüpft ist. - System nach
Anspruch 4 , umfassend: eine Schnittstelle des Datenverarbeitungssystems zum Verhindern der Übertragung der Datenpakete der zweiten Kommunikationssitzung zum zweiten Dienstanbieter-Computergerät in Reaktion auf die Deadlock-Bedingung. - System nach
Anspruch 4 , umfassend: die Direktaktions-API zum Erhalten einer Angabe der Beendigung der Deadlock-Bedingung; und eine Schnittstelle des Datenverarbeitungssystems zum Übertragen der Datenpakete der zweiten Kommunikationssitzung zum zweiten Dienstanbieter-Computergerät nach Beendigung der Deadlock-Bedingung. - System nach
Anspruch 1 , wobei der Einzelthread sequenzabhängige Aktionen für den Einzelthread in einer fortlaufenden Reihenfolge angibt, wobei die fortlaufende Reihenfolge eine erste Aktion, eine zweite Aktion nach der ersten Aktion und eine dritte Aktion nach der zweiten Aktion beinhaltet, umfassend die Direktaktions-API zum: Empfangen einer Angabe der fortlaufenden Reihenfolge und nach dem Empfangen der Angabe der fortlaufenden Reihenfolge; zum Erzeugen einer geänderten fortlaufenden Reihenfolge, wobei die fortlaufende Reihenfolge die dritte Aktion vor der zweiten Aktion beinhaltet. - System nach
Anspruch 1 , wobei der Einzelthread eine Reihe von sequenzabhängigen Aktionen für den Einzelthread angibt, wobei die sequenzabhängigen Aktionen eine erste Aktion, eine zweite Aktion nach der ersten Aktion und eine dritte Aktion nach der zweiten Aktion beinhalten, umfassend: die Direktaktions-API zum Ermitteln einer Deadlock-Bedingung auf Basis einer Abschlusszeit der ersten Aktion; die Direktaktions-API zum Ermitteln einer Freigabe der Deadlock-Bedingung auf Basis eines Abschlusses der ersten Aktion; und eine Inhaltsauswahlkomponente des Datenverarbeitungssystems zum Identifizieren eines Inhaltselements für die zweite Aktion in Reaktion auf die Freigabe der Deadlock-Bedingung. - System nach
Anspruch 1 , umfassend: die Thread-Optimierungskomponente zum Identifizieren einer Reihe von sequenzabhängigen Aktionen für den Einzelthread. - System nach
Anspruch 1 , umfassend: die Direktaktions-API zum Übertragen mindestens einer der ersten Datenübertragung und der zweiten Datenübertragung als Teil der Kommunikationssitzung nach dem Zusammenführen der ersten Datenübertragung und der zweiten Datenübertragung im Einzelthread. - System nach
Anspruch 1 , umfassend: die Direktaktions-API zum Identifizieren einer Deadlock-Bedingung in Verbindung mit der Sequenz der Vielzahl von Aktionen; und eine Inhaltsauswahlkomponente des Datenverarbeitungssystems zum Blockieren der Auswahl eines Inhaltselements, das mit Reihen von sequenzabhängigen Aktionen für den Einzelthread verbunden ist, in Reaktion auf die Deadlock-Bedingung. - System nach
Anspruch 1 , umfassend: die Thread-Optimierungskomponente zum Priorisieren der zweiten Aktionsdatenstruktur gegenüber der ersten Aktionsdatenstruktur. - System nach
Anspruch 12 , umfassend eine Inhaltsauswahlkomponente des Datenverarbeitungssystems zum: Identifizieren eines Inhaltselements in Reaktion auf die zweite Aktionsdatenstruktur; und nach Identifizierung des Inhaltselements in Reaktion auf die zweite Aktionsdatenstruktur, Identifizieren eines Inhaltselements in Reaktion auf die erste Aktionsdatenstruktur. - System nach
Anspruch 1 , umfassend: eine Inhaltsauswahlkomponente des Datenverarbeitungssystems zum Durchführen einer Offline-Aktion zum Auswählen eines Inhaltselements in Reaktion auf die zweite Aktionsdatenstruktur. - System nach
Anspruch 1 , umfassend: die Direktaktions-API zum Ausfüllen eines variablen Felds von mindestens einer der ersten Datenstruktur und der zweiten Datenstruktur auf Basis einer Sequenzabhängigkeit zwischen einer ersten Aktion und einer zweiten Aktion. - System nach
Anspruch 1 , wobei die erste Kommunikationssitzung und die zweite Kommunikationssitzung Teil einer gemeinsamen Kommunikationssitzung sind. - Verfahren zum Verwalten mehrerer sprachaktivierter Audioeingabedatenkommunikationen, die sequenzabhängige Vorgänge angeben, 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 Client-Computergeräts erkanntes erstes Eingabeaudiosignal umfassen; Identifizieren, durch die Prozessorkomponente für natürliche Sprache, aus dem ersten Eingabeaudiosignal, einer ersten Anfrage und eines ersten Auslöserschlüsselworts, das der ersten Anfrage entspricht; 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; Konstruieren einer ersten Datenübertragung, die die erste Aktionsdatenstruktur beinhaltet, für eine erste Kommunikationssitzung zwischen einem ersten Dienstanbieter-Computergerät und dem Client-Computergerät, wobei Datenpakete der ersten Kommunikationssitzung vom Client-Computergerät zum ersten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden; Empfangen, durch die Prozessorkomponente für natürliche Sprache, über die Schnittstelle des Datenverarbeitungssystems, von Datenpaketen, die ein zweites Eingabeaudiosignal umfassen, das vom Sensor des 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; Konstruieren einer zweiten Datenübertragung, die die zweite Aktionsdatenstruktur beinhaltet, für eine zweite Kommunikationssitzung zwischen einem zweiten Dienstanbieter-Computergerät und dem Client-Computergerät, wobei Datenpakete der zweiten Kommunikationssitzung vom Client-Computergerät zum zweiten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden; Erhalten, durch eine Thread-Optimierungskomponente, die durch das Datenverarbeitungssystem ausgeführt wird, von Daten der ersten Datenübertragung und Daten der zweiten Datenübertragung; Ermitteln, auf Basis einer heuristischen Technik, die auf die Daten der ersten Datenübertragung und die Daten der auf die zweite Datenübertragung angewandt wird, eines Sequenzabhängigkeitsparameters; und Verknüpfen, auf Basis des Sequenzabhängigkeitsparameters, der ersten Aktionsdatenstruktur und der zweiten Aktionsdatenstruktur mit einem Einzelthread.
- Verfahren nach
Anspruch 17 , wobei der Einzelthread eine erste Aktion angibt, die planmäßig vor einer zweiten Aktion stattfinden soll, wobei die erste Aktion der ersten Aktionsdatenstruktur entspricht und die zweite Aktion der zweiten Aktionsdatenstruktur entspricht, umfassend: Erkennen eines Abschlusses der ersten Aktion; und Bereitstellen der Datenpakete der zweiten Kommunikationssitzung für das zweite Dienstanbieter-Computergerät nach Abschluss der ersten Aktion. - Verfahren nach
Anspruch 17 , umfassend: Identifizieren einer Deadlock-Bedingung, die mit einer Aktion des Einzelthreads verknüpft ist. - Verfahren nach
Anspruch 17 , wobei der Einzelthread sequenzabhängige Aktionen für den Einzelthread in einer fortlaufenden Reihenfolge angibt, wobei die fortlaufende Reihenfolge eine erste Aktion, eine zweite Aktion nach der ersten Aktion und eine dritte Aktion nach der zweiten Aktion beinhaltet, umfassend: Empfangen einer Angabe der fortlaufenden Reihenfolge; und Erzeugen einer geänderten fortlaufenden Reihenfolge, wobei die fortlaufende Reihenfolge die dritte Aktion vor der zweiten Aktion beinhaltet.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/395,725 US10630751B2 (en) | 2016-12-30 | 2016-12-30 | Sequence dependent data message consolidation in a voice activated computer network environment |
US15/395,725 | 2016-12-30 | ||
PCT/US2017/049780 WO2018125306A1 (en) | 2016-12-30 | 2017-08-31 | Sequence dependent data message consolidation in a voice activated computer network environment |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112017000104T5 true DE112017000104T5 (de) | 2018-09-13 |
Family
ID=59901584
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112017000104.8T Pending DE112017000104T5 (de) | 2016-12-30 | 2017-08-31 | Sequenzabhängige datennachrichtenkonsolidierung in einer sprachaktivierten computernetzwerkumgebung |
DE212017000053.8U Active DE212017000053U1 (de) | 2016-12-30 | 2017-08-31 | Sequenzabhängige Datennachrichtenkonsolidierung in einer sprachaktivierten Computernetzwerkumgebung |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE212017000053.8U Active DE212017000053U1 (de) | 2016-12-30 | 2017-08-31 | Sequenzabhängige Datennachrichtenkonsolidierung in einer sprachaktivierten Computernetzwerkumgebung |
Country Status (8)
Country | Link |
---|---|
US (3) | US10630751B2 (de) |
EP (3) | EP3588268B1 (de) |
JP (3) | JP6549250B2 (de) |
KR (3) | KR102213761B1 (de) |
CN (2) | CN113504888B (de) |
DE (2) | DE112017000104T5 (de) |
GB (1) | GB2571918A (de) |
WO (1) | WO2018125306A1 (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10431209B2 (en) | 2016-12-30 | 2019-10-01 | Google Llc | Feedback controller for data transmissions |
US9703757B2 (en) | 2013-09-30 | 2017-07-11 | Google Inc. | Automatically determining a size for a content item for a web page |
US10614153B2 (en) * | 2013-09-30 | 2020-04-07 | Google Llc | Resource size-based content item selection |
CN110811115A (zh) * | 2018-08-13 | 2020-02-21 | 丽宝大数据股份有限公司 | 电子化妆镜装置及其脚本运行方法 |
JP7297884B2 (ja) * | 2018-10-15 | 2023-06-26 | ライブパーソン, インコーポレイテッド | 動的エンドポイント通信チャネル |
KR102254501B1 (ko) * | 2018-10-19 | 2021-05-21 | 한양대학교 산학협력단 | 부분 순서 보장 기반의 입출력 스케줄러 및 그 방법 |
US10771523B1 (en) * | 2019-04-12 | 2020-09-08 | Dish Network L.L.C. | Asynchronous real-time media transfer over wireless networks |
US10498721B1 (en) * | 2019-06-03 | 2019-12-03 | Capital One Services, Llc | Multi-device verification via non-audible sound |
CN111459451A (zh) * | 2020-03-31 | 2020-07-28 | 北京市商汤科技开发有限公司 | 交互对象的驱动方法、装置、设备以及存储介质 |
CN112631760A (zh) * | 2020-12-31 | 2021-04-09 | 深圳市大富网络技术有限公司 | 一种线程创建方法、系统、装置及计算机存储介质 |
CN113380247A (zh) * | 2021-06-08 | 2021-09-10 | 阿波罗智联(北京)科技有限公司 | 多音区语音唤醒、识别方法和装置、设备、存储介质 |
US11671249B1 (en) * | 2022-07-25 | 2023-06-06 | Gravystack, Inc. | Apparatus for generating an action-based collective |
Family Cites Families (151)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3493441A (en) * | 1967-08-25 | 1970-02-03 | Hooker Chemical Corp | Detoxification of hexavalent chromium containing coating on a metal surface |
US4603430A (en) | 1984-09-21 | 1986-07-29 | Hughes Aircraft Company | Target discrimination utilizing median filters |
JP3181592B2 (ja) | 1992-12-01 | 2001-07-03 | マイクロソフト コーポレイション | 埋め込まれたオブジェクトとイン・プレース対話するための方法及びシステム |
US5812935A (en) | 1993-04-17 | 1998-09-22 | Hughes Electronics | Cellular system employing base station transmit diversity according to transmission quality level |
US5608727A (en) | 1995-05-02 | 1997-03-04 | Motorola, Inc. | Method and system for management of frequency spectrum among multiple applications on a shared medium |
US6119101A (en) | 1996-01-17 | 2000-09-12 | Personal Agents, Inc. | Intelligent agents for electronic commerce |
DE19716445A1 (de) | 1997-04-21 | 1998-10-22 | Heidelberger Druckmasch Ag | Verfahren zur Verbreiterung von Zeichen |
US6529730B1 (en) | 1998-05-15 | 2003-03-04 | Conexant Systems, Inc | System and method for adaptive multi-rate (AMR) vocoder rate adaption |
US6829646B1 (en) | 1999-10-13 | 2004-12-07 | L. V. Partners, L.P. | Presentation of web page content based upon computer video resolutions |
US20010016034A1 (en) * | 1998-12-08 | 2001-08-23 | Sukhinder Singh | Method and apparatus for obtaining and aggregating off-line user data for re-packaging and presentation to users over a data-packet-network |
US7003729B1 (en) | 1999-04-20 | 2006-02-21 | I2 Technologies Us, Inc. | Method and apparatus for supporting multiple alternative graphical user interfaces in computer-moderated electronic commerce |
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 |
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 |
FI20001577A (fi) | 2000-06-30 | 2001-12-31 | Nokia Mobile Phones Ltd | Puheenkoodaus |
US6857007B1 (en) | 2000-08-30 | 2005-02-15 | Bloomfield Enterprises, Llc | Personal digital assistant facilitated communication system |
WO2002086864A1 (en) | 2001-04-18 | 2002-10-31 | Rutgers, The State University Of New Jersey | System and method for adaptive language understanding by computers |
US7219309B2 (en) | 2001-05-02 | 2007-05-15 | Bitstream Inc. | Innovations for the display of web pages |
EP1393148B1 (de) | 2001-05-02 | 2010-03-03 | Bitstream Inc. | Verfahren, systeme und programmierung zur herstellung und anzeige von subpixeloptimierten font-bitmaps unter verwendung eines nichtlinearen farbausgleichs |
GB0118294D0 (en) * | 2001-07-27 | 2001-09-19 | Ibm | Method and system for deadlock detection and avoidance |
GB2392595A (en) | 2002-08-30 | 2004-03-03 | Hewlett Packard Co | Page composition |
US20040056894A1 (en) | 2002-09-19 | 2004-03-25 | Igor Zaika | System and method for describing and instantiating extensible user interfaces |
US7296230B2 (en) | 2002-11-29 | 2007-11-13 | Nippon Telegraph And Telephone Corporation | Linked contents browsing support device, linked contents continuous browsing support device, and method and program therefor, and recording medium therewith |
WO2004068320A2 (en) | 2003-01-27 | 2004-08-12 | Vincent Wen-Jeng Lue | Method and apparatus for adapting web contents to different display area dimensions |
EP1593057B1 (de) | 2003-02-14 | 2011-09-28 | Access Co., Ltd. | Browser-programm zur durchführung eines tabellen-layout |
KR20040076649A (ko) | 2003-02-26 | 2004-09-03 | 삼성전자주식회사 | 종횡비별 브라우저 그래픽 표시 장치 및 방법 |
KR100447526B1 (ko) | 2003-03-18 | 2004-09-08 | 엔에이치엔(주) | 인터넷 사용자의 접속 의도 판단 방법 및 이를 이용한인터넷 상의 광고 방법과 그 시스템 |
US7962522B2 (en) | 2003-06-03 | 2011-06-14 | Norris Iii Forbes Holten | Flexible, dynamic menu-based web-page architecture |
JP3920818B2 (ja) * | 2003-07-22 | 2007-05-30 | 株式会社東芝 | スケジューリング方法および情報処理システム |
GB0320278D0 (en) | 2003-08-29 | 2003-10-01 | Hewlett Packard Development Co | Constrained document layout |
US7809843B1 (en) * | 2003-09-18 | 2010-10-05 | Intel Corporation | Globally unique identification in communications protocols and databases |
NO20034724D0 (no) | 2003-10-22 | 2003-10-22 | Opera Software Asa | Presentasjon av HTML-innhold på en skjermterminal |
KR100458461B1 (ko) | 2004-03-04 | 2004-11-26 | 엔에이치엔(주) | 지식 광고 방법 및 지식 광고 시스템 |
US7853255B2 (en) | 2004-04-16 | 2010-12-14 | Broadcom Corporation | Digital personal assistance via a broadband access gateway |
US20060103667A1 (en) | 2004-10-28 | 2006-05-18 | Universal-Ad. Ltd. | Method, system and computer readable code for automatic reize of product oriented advertisements |
US20060111971A1 (en) | 2004-11-24 | 2006-05-25 | Microsoft Corporation | System and method for on-line and off-line advertising in content delivered to a display screen |
EP1861800A1 (de) | 2005-03-09 | 2007-12-05 | Medio Systems, Inc. | Verfahren und system zur abgabe von geboten zur werbungsplatzierung auf rechnervorrichtungen |
JP4346571B2 (ja) * | 2005-03-16 | 2009-10-21 | 富士通株式会社 | 音声認識システム、音声認識方法、及びコンピュータプログラム |
US7730418B2 (en) | 2005-05-04 | 2010-06-01 | Workman Nydegger | Size to content windows for computer graphics |
JP4665639B2 (ja) | 2005-07-19 | 2011-04-06 | 日本電気株式会社 | 通信品質監視システム、通信品質監視装置、通信品質劣化箇所特定装置、その装置における方法及びプログラム |
JP2007080357A (ja) | 2005-09-13 | 2007-03-29 | Toshiba Corp | 情報記憶媒体、情報再生方法、情報再生装置 |
US8195133B2 (en) | 2005-09-14 | 2012-06-05 | Jumptap, Inc. | Mobile dynamic advertisement creation and placement |
FI118779B (fi) | 2005-10-07 | 2008-03-14 | Riku Rikkola | Kortti, kortin vastaanottolaite ja järjestelmä sähköenergian välittämistä varten |
JP2007115293A (ja) | 2005-10-17 | 2007-05-10 | Toshiba Corp | 情報記憶媒体、プログラム、情報再生方法、情報再生装置、データ転送方法、及びデータ処理方法 |
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 |
EP2523442A1 (de) | 2006-02-10 | 2012-11-14 | Spinvox Limited | Benutzerunabhängiges, vorrichtungsunabhängiges Multiskala-Sprachnachrichten-zu-Text-Umwandlungssystem |
US7606875B2 (en) | 2006-03-28 | 2009-10-20 | Microsoft Corporation | Detecting serving area of a web resource |
CN101055577A (zh) | 2006-04-12 | 2007-10-17 | 龙搜(北京)科技有限公司 | 可扩展标记语言集中器 |
US8582663B2 (en) * | 2006-08-08 | 2013-11-12 | Core Wireless Licensing S.A.R.L. | Method, device, and system for multiplexing of video streams |
US9318108B2 (en) * | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
JP5262721B2 (ja) | 2006-11-01 | 2013-08-14 | 日本電気株式会社 | 画像表示装置 |
US7742922B2 (en) | 2006-11-09 | 2010-06-22 | Goller Michael D | Speech interface for search engines |
US8031857B2 (en) | 2006-12-19 | 2011-10-04 | Scenera Technologies, Llc | Methods and systems for changing a communication quality of a communication session based on a meaning of speech data |
US7877696B2 (en) | 2007-01-05 | 2011-01-25 | Eastman Kodak Company | Multi-frame display system with semantic image arrangement |
US8107960B2 (en) * | 2007-01-23 | 2012-01-31 | Toshiba America Research, Inc. | Prioritized query |
GB2451415B (en) | 2007-02-13 | 2011-08-17 | Vodafone Plc | Content reproduction in telecommunications systems |
US8413070B1 (en) | 2007-05-07 | 2013-04-02 | Adobe Systems Incorporated | Declarative resizeable list in electronic form |
KR20100017440A (ko) | 2007-05-29 | 2010-02-16 | 가부시키가이샤 아쿠세스 | 단말 장치, 히스토리 관리 방법, 및 히스토리 관리를 위한 컴퓨터 사용 가능한 기억 매체 |
US20090085921A1 (en) | 2007-10-01 | 2009-04-02 | Lydia Mai Do | Populate Web-Based Content Based on Space Availability |
US8095865B2 (en) | 2007-11-21 | 2012-01-10 | Microsoft Corporation | Layout manager |
US8555193B2 (en) | 2008-01-17 | 2013-10-08 | Google Inc. | System for intelligent automated layout and management of interactive windows |
US8453051B1 (en) | 2008-03-31 | 2013-05-28 | Amazon Technologies, Inc. | Dynamic display dependent markup language interface |
US20090279108A1 (en) | 2008-05-12 | 2009-11-12 | Nagayasu Hoshi | Image Processing Apparatus |
JP4547638B2 (ja) | 2008-05-29 | 2010-09-22 | ソニー株式会社 | Webページ表示装置及びWebページ表示方法 |
US20090300120A1 (en) | 2008-06-03 | 2009-12-03 | Contec Innovations Inc. | Method and system for producing a presentation message for a mobile device |
CA2633177A1 (en) | 2008-06-03 | 2009-12-03 | Contec Innovations, Inc. | Method and system for producing a presentation message for a mobile device |
US9357075B1 (en) | 2008-06-05 | 2016-05-31 | Avaya Inc. | Conference call quality via a connection-testing phase |
US8527339B2 (en) | 2008-06-26 | 2013-09-03 | Microsoft Corporation | Quality based pricing and ranking for online ads |
US8438310B2 (en) | 2008-10-01 | 2013-05-07 | Adp Dealer Services, Inc. | Systems and methods for configuring a website having a plurality of operational modes |
US8938672B2 (en) | 2008-11-04 | 2015-01-20 | International Business Machines Corporation | Amending the display property of grid elements |
US8145561B1 (en) | 2009-01-05 | 2012-03-27 | Sprint Communications Company L.P. | Phone usage pattern as credit card fraud detection trigger |
JP4978629B2 (ja) | 2009-01-19 | 2012-07-18 | コニカミノルタビジネステクノロジーズ株式会社 | 項目設定装置、並びにその制御方法及び制御プログラム |
JP5018794B2 (ja) | 2009-01-20 | 2012-09-05 | コニカミノルタビジネステクノロジーズ株式会社 | 印刷ジョブ出力装置、並びにその制御方法及び制御プログラム |
JP4760921B2 (ja) | 2009-01-28 | 2011-08-31 | コニカミノルタビジネステクノロジーズ株式会社 | 項目設定装置、並びにその制御方法及び制御プログラム |
US8949582B2 (en) * | 2009-04-27 | 2015-02-03 | Lsi Corporation | Changing a flow identifier of a packet in a multi-thread, multi-flow network processor |
US8448074B2 (en) | 2009-05-01 | 2013-05-21 | Qualcomm Incorporated | Method and apparatus for providing portioned web pages in a graphical user interface |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
JP5299125B2 (ja) | 2009-06-30 | 2013-09-25 | 富士ゼロックス株式会社 | 文書処理装置及びプログラム |
JP5340088B2 (ja) | 2009-09-07 | 2013-11-13 | キヤノン株式会社 | 情報処理方法及び装置 |
JP5032543B2 (ja) | 2009-09-16 | 2012-09-26 | 株式会社東芝 | スケジューリング装置、方法及びプログラム |
US8402379B2 (en) | 2009-09-30 | 2013-03-19 | SAP Portals Israel Limited | Dynamic content layout for a user interface display |
US9124642B2 (en) | 2009-10-16 | 2015-09-01 | Qualcomm Incorporated | Adaptively streaming multimedia |
WO2011065564A1 (ja) | 2009-11-30 | 2011-06-03 | 楽天株式会社 | オブジェクト表示装置、オブジェクト表示方法、オブジェクト表示制御プログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8626511B2 (en) * | 2010-01-22 | 2014-01-07 | Google Inc. | Multi-dimensional disambiguation of voice commands |
US8793598B2 (en) | 2010-04-14 | 2014-07-29 | Microsoft Corporation | Cross-browser web dialog platform |
KR101577508B1 (ko) | 2010-06-29 | 2015-12-15 | 라쿠텐 인코포레이티드 | 정보 처리 장치, 정보 처리 방법, 및 정보 처리 프로그램이 기록된 기록 매체 |
KR101731843B1 (ko) | 2010-09-02 | 2017-05-02 | 삼성전자 주식회사 | 아이템 디스플레이하는 방법 및 장치 |
KR101045589B1 (ko) | 2010-09-15 | 2011-07-01 | 주식회사 유비온 | 네트워크를 통해 수신한 컨텐츠의 표시장치 및 그 방법 |
JP2012073863A (ja) | 2010-09-29 | 2012-04-12 | Rakuten Inc | 広告表示プログラム、広告表示装置、広告表示方法、記録媒体、および、広告表示システム |
US20120158490A1 (en) | 2010-12-16 | 2012-06-21 | Yahoo! Inc. | Sponsored search auction mechanism for rich media advertising |
US20120159314A1 (en) | 2010-12-16 | 2012-06-21 | Microsoft Corporation | Adaptive content layout |
US8510237B2 (en) | 2011-03-15 | 2013-08-13 | Qualcomm Incorporated | Machine learning method to identify independent tasks for parallel layout in web browsers |
US20130007602A1 (en) | 2011-06-29 | 2013-01-03 | Apple Inc. | Fixed layout electronic publications |
US8872855B2 (en) | 2011-07-21 | 2014-10-28 | Flipboard, Inc. | Adjusting orientation of content regions in a page layout |
US9396167B2 (en) | 2011-07-21 | 2016-07-19 | Flipboard, Inc. | Template-based page layout for hosted social magazines |
US9020981B2 (en) | 2011-09-30 | 2015-04-28 | Comprehend Systems, Inc. | Systems and methods for generating schemas that represent multiple data sources |
US9760236B2 (en) | 2011-10-14 | 2017-09-12 | Georgia Tech Research Corporation | View virtualization and transformations for mobile applications |
JP5667962B2 (ja) * | 2011-11-08 | 2015-02-12 | 日本電信電話株式会社 | 音声認識装置とその方法とプログラム |
CN103959800A (zh) * | 2011-11-30 | 2014-07-30 | 三菱电机株式会社 | 信息处理系统和信息处理方法 |
US9542956B1 (en) | 2012-01-09 | 2017-01-10 | Interactive Voice, Inc. | Systems and methods for responding to human spoken audio |
EP2839391A4 (de) | 2012-04-20 | 2016-01-27 | Maluuba Inc | Konversationsagent |
WO2013162582A1 (en) | 2012-04-26 | 2013-10-31 | Empire Technology Development Llc | Multimedia application rental and billing |
US9323443B2 (en) | 2012-05-02 | 2016-04-26 | International Business Machines Corporation | Drilling of displayed content in a touch screen device |
US20130305145A1 (en) | 2012-05-09 | 2013-11-14 | Ni Group Limited | A Method of Publishing Digital Content |
US20130305144A1 (en) | 2012-05-09 | 2013-11-14 | Ni Group Limited | Method of Publishing Digital Content |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US20140019462A1 (en) | 2012-07-15 | 2014-01-16 | Microsoft Corporation | Contextual query adjustments using natural action input |
US20140033228A1 (en) | 2012-07-25 | 2014-01-30 | Google Inc. | Configuring content display dimensions |
CN104798094B (zh) | 2012-09-20 | 2019-02-19 | 谷歌有限责任公司 | 确定内容项目显示环境的配置 |
US20140108941A1 (en) | 2012-10-17 | 2014-04-17 | Christopher Stephen Joel | Method and Apparatus for Automatically Optimizing the Loading of Images in a Cloud-Based Proxy Service |
US9164966B1 (en) | 2012-10-24 | 2015-10-20 | Google Inc. | Determining sizes of content items |
US8977555B2 (en) * | 2012-12-20 | 2015-03-10 | Amazon Technologies, Inc. | Identification of utterance subjects |
US20140180796A1 (en) | 2012-12-21 | 2014-06-26 | Sándor Sás | Selecting and serving content items of different content item types for a content item slot |
KR20140089876A (ko) | 2013-01-07 | 2014-07-16 | 삼성전자주식회사 | 대화형 인터페이스 장치 및 그의 제어 방법 |
EP2954514B1 (de) | 2013-02-07 | 2021-03-31 | Apple Inc. | Sprachtrigger für einen digitalen assistenten |
US20140258849A1 (en) | 2013-03-06 | 2014-09-11 | Google Inc. | Automatic Alignment of a Multi-Dimensional Layout |
US11233841B2 (en) | 2013-03-15 | 2022-01-25 | Yottaa, Inc. | Systems and methods for configuration-based optimization by an intermediary |
EP2814244A1 (de) | 2013-06-11 | 2014-12-17 | Alcatel Lucent | Verfahren und System zur Verbesserung der Kommunikationsqualität einer Videokonferenz |
US20140372903A1 (en) * | 2013-06-14 | 2014-12-18 | Microsoft Corporation | Independent Hit Testing for Touchpad Manipulations and Double-Tap Zooming |
US9472206B2 (en) * | 2013-06-17 | 2016-10-18 | Google Technology Holdings LLC | Privacy mode for always-on voice-activated information assistant |
US9483444B2 (en) | 2013-07-09 | 2016-11-01 | Flipboard, Inc. | Dynamic layout engine for a digital magazine |
US10776375B2 (en) * | 2013-07-15 | 2020-09-15 | Microsoft Technology Licensing, Llc | Retrieval of attribute values based upon identified entities |
WO2015041711A1 (en) | 2013-09-20 | 2015-03-26 | Yottaa, Inc. | Systems and methods for managing loading priority or sequencing of fragments of a web object |
US10614153B2 (en) | 2013-09-30 | 2020-04-07 | Google Llc | Resource size-based content item selection |
US10431209B2 (en) | 2016-12-30 | 2019-10-01 | Google Llc | Feedback controller for data transmissions |
US9703757B2 (en) | 2013-09-30 | 2017-07-11 | Google Inc. | Automatically determining a size for a content item for a web page |
EP3063923B1 (de) * | 2013-10-29 | 2019-10-16 | Telefonaktiebolaget LM Ericsson (publ) | Steuerung einer kette von diensten |
US10726831B2 (en) | 2014-05-20 | 2020-07-28 | Amazon Technologies, Inc. | Context interpretation in natural language processing using previous dialog acts |
US9350770B2 (en) | 2014-05-30 | 2016-05-24 | Apple Inc. | Redundant transmission channels for real-time applications on mobile devices |
US9330433B2 (en) * | 2014-06-30 | 2016-05-03 | Intel Corporation | Data distribution fabric in scalable GPUs |
US10108817B2 (en) | 2014-09-26 | 2018-10-23 | Microsoft Technology Licensing, Llc | Privacy-preserving cookies for personalization without user tracking |
WO2016054230A1 (en) | 2014-10-01 | 2016-04-07 | XBrain, Inc. | Voice and connection platform |
US9711141B2 (en) * | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US9959129B2 (en) | 2015-01-09 | 2018-05-01 | Microsoft Technology Licensing, Llc | Headless task completion within digital personal assistants |
US10460034B2 (en) * | 2015-01-28 | 2019-10-29 | Mitsubishi Electric Corporation | Intention inference system and intention inference method |
JP6449039B2 (ja) * | 2015-02-10 | 2019-01-09 | ホーチキ株式会社 | 機器管理装置、機器管理方法、及びプログラム |
US20160274864A1 (en) | 2015-03-20 | 2016-09-22 | Google Inc. | Systems and methods for enabling user voice interaction with a host computing device |
US10331766B2 (en) | 2015-06-07 | 2019-06-25 | Apple Inc. | Templating for content authoring and distribution |
US10331312B2 (en) * | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US20170092278A1 (en) | 2015-09-30 | 2017-03-30 | Apple Inc. | Speaker recognition |
US9928840B2 (en) | 2015-10-16 | 2018-03-27 | Google Llc | Hotword recognition |
US9747926B2 (en) | 2015-10-16 | 2017-08-29 | Google Inc. | Hotword recognition |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US9940929B2 (en) | 2015-12-09 | 2018-04-10 | Lenovo (Singapore) Pte. Ltd. | Extending the period of voice recognition |
CN105654950B (zh) | 2016-01-28 | 2019-07-16 | 百度在线网络技术(北京)有限公司 | 自适应语音反馈方法和装置 |
US11477139B2 (en) * | 2016-02-25 | 2022-10-18 | Meta Platforms, Inc. | Techniques for messaging bot rich communication |
US9864732B2 (en) | 2016-05-02 | 2018-01-09 | Google Inc. | User interfaces that facilitate management of formatting of digital content |
CN106033476B (zh) | 2016-05-19 | 2019-07-23 | 西安交通大学 | 一种云计算环境中分布式计算模式下的增量式图计算方法 |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US20180012595A1 (en) * | 2016-07-07 | 2018-01-11 | Intelligently Interactive, Inc. | Simple affirmative response operating system |
US20180191798A1 (en) | 2016-12-30 | 2018-07-05 | Google Inc. | Methods and systems for server-side rendering of native content for presentation |
-
2016
- 2016-12-30 US US15/395,725 patent/US10630751B2/en active Active
-
2017
- 2017-08-31 CN CN202110625162.4A patent/CN113504888B/zh active Active
- 2017-08-31 KR KR1020197026715A patent/KR102213761B1/ko active IP Right Grant
- 2017-08-31 GB GB1803011.4A patent/GB2571918A/en not_active Withdrawn
- 2017-08-31 JP JP2017556886A patent/JP6549250B2/ja active Active
- 2017-08-31 EP EP19187924.6A patent/EP3588268B1/de active Active
- 2017-08-31 EP EP21201773.5A patent/EP3979067B1/de active Active
- 2017-08-31 WO PCT/US2017/049780 patent/WO2018125306A1/en active Application Filing
- 2017-08-31 DE DE112017000104.8T patent/DE112017000104T5/de active Pending
- 2017-08-31 EP EP17768900.7A patent/EP3360037B1/de active Active
- 2017-08-31 DE DE212017000053.8U patent/DE212017000053U1/de active Active
- 2017-08-31 KR KR1020177031385A patent/KR102023148B1/ko active IP Right Grant
- 2017-08-31 KR KR1020217003319A patent/KR102327616B1/ko active IP Right Grant
- 2017-08-31 CN CN201780001636.XA patent/CN108604177B/zh active Active
-
2019
- 2019-06-25 JP JP2019117476A patent/JP6756017B2/ja active Active
-
2020
- 2020-03-13 US US16/818,736 patent/US10893088B2/en active Active
- 2020-08-26 JP JP2020142494A patent/JP6932827B2/ja active Active
- 2020-12-11 US US17/119,563 patent/US20210099511A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN113504888A (zh) | 2021-10-15 |
JP6756017B2 (ja) | 2020-09-16 |
US20180191804A1 (en) | 2018-07-05 |
DE212017000053U1 (de) | 2018-08-27 |
US10630751B2 (en) | 2020-04-21 |
EP3588268A1 (de) | 2020-01-01 |
EP3979067A1 (de) | 2022-04-06 |
US20200213382A1 (en) | 2020-07-02 |
JP6932827B2 (ja) | 2021-09-08 |
EP3588268B1 (de) | 2021-11-10 |
JP2020198630A (ja) | 2020-12-10 |
EP3979067B1 (de) | 2024-07-17 |
KR102023148B1 (ko) | 2019-09-20 |
EP3360037A1 (de) | 2018-08-15 |
US20210099511A1 (en) | 2021-04-01 |
CN108604177B (zh) | 2021-06-25 |
KR20210014773A (ko) | 2021-02-09 |
GB201803011D0 (en) | 2018-04-11 |
KR102327616B1 (ko) | 2021-11-17 |
EP3360037B1 (de) | 2019-11-06 |
GB2571918A (en) | 2019-09-18 |
US10893088B2 (en) | 2021-01-12 |
JP6549250B2 (ja) | 2019-07-24 |
JP2019204515A (ja) | 2019-11-28 |
KR20190107765A (ko) | 2019-09-20 |
KR102213761B1 (ko) | 2021-02-08 |
WO2018125306A1 (en) | 2018-07-05 |
CN108604177A (zh) | 2018-09-28 |
KR20180090184A (ko) | 2018-08-10 |
JP2019506641A (ja) | 2019-03-07 |
CN113504888B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112017000104T5 (de) | Sequenzabhängige datennachrichtenkonsolidierung in einer sprachaktivierten computernetzwerkumgebung | |
DE112017000092T5 (de) | Sequenzabhängige vorgangsverarbeitung von paketbasierten datennachrichtenübertragungen | |
DE112017000202T5 (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 | |
DE112017000177T5 (de) | Authentifizierung von paketierten Audiosignalen | |
DE112017000139T5 (de) | Modulation von paketierten Audiosignalen | |
DE112017000141T5 (de) | Selektives sensorabfragen | |
DE112017000131T5 (de) | Rückmeldungssteuerung für Datenübertragungen | |
DE202017107937U1 (de) | Modifikation einer audiobasierten Computerprogrammausgabe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0017200000 Ipc: G06F0040000000 |
|
R082 | Change of representative |
Representative=s name: PROCK, THOMAS, DR., GB Representative=s name: KASTEL, STEFAN, DIPL.-PHYS.UNIV., DE Representative=s name: KILBURN & STRODE LLP, GB Representative=s name: KILBURN & STRODE LLP, NL |
|
R082 | Change of representative |
Representative=s name: KASTEL, STEFAN, DIPL.-PHYS.UNIV., DE Representative=s name: KILBURN & STRODE LLP, GB Representative=s name: KILBURN & STRODE LLP, NL |
|
R082 | Change of representative |
Representative=s name: PROCK, THOMAS, DR., GB Representative=s name: KILBURN & STRODE LLP, GB Representative=s name: KILBURN & STRODE LLP, NL |
|
R082 | Change of representative |
Representative=s name: KILBURN & STRODE LLP, GB Representative=s name: KILBURN & STRODE LLP, NL |
|
R082 | Change of representative |
Representative=s name: PROCK, THOMAS, DR., GB Representative=s name: KILBURN & STRODE LLP, NL |
|
R082 | Change of representative |
Representative=s name: PROCK, THOMAS, DR., GB |