DE102015212650B4 - Method and system for computer-assisted processing of a speech input - Google Patents

Method and system for computer-assisted processing of a speech input Download PDF

Info

Publication number
DE102015212650B4
DE102015212650B4 DE102015212650.1A DE102015212650A DE102015212650B4 DE 102015212650 B4 DE102015212650 B4 DE 102015212650B4 DE 102015212650 A DE102015212650 A DE 102015212650A DE 102015212650 B4 DE102015212650 B4 DE 102015212650B4
Authority
DE
Germany
Prior art keywords
data
online
generated
output data
offline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102015212650.1A
Other languages
German (de)
Other versions
DE102015212650A1 (en
Inventor
Daniel Lüddecke
Marius Spika
Eva BERNER
Jens Schneider
Sebastian Varges
Britta Berlet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Volkswagen AG
Original Assignee
Volkswagen AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Volkswagen AG filed Critical Volkswagen AG
Priority to DE102015212650.1A priority Critical patent/DE102015212650B4/en
Publication of DE102015212650A1 publication Critical patent/DE102015212650A1/en
Application granted granted Critical
Publication of DE102015212650B4 publication Critical patent/DE102015212650B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications

Abstract

Verfahren zum rechnergestützten Verarbeiten einer Spracheingabe für eine mobile Einheit (1) und einen externen Server (10), zwischen denen zumindest zeitweise eine datentechnische Verbindung besteht, wobei zumindest zwei Teilprozesse (Pn, P1, P2) ausgeführt werden, die sowohl von der mobilen Einheit (1) als auch von dem externen Server (10) ausführbar sind, bei demdie Spracheingabe von der mobilen Einheit erfasst wird und die folgenden Schritte ausgeführt werden:(a) für den ersten Teilprozess werden offline-Inputdaten (I, I) und online-Inputdaten (I, I) erzeugt,(b) falls die datentechnische Verbindung besteht, werden die online-Inputdaten (I, I) an den externen Server übertragen,(c) von der mobilen Einheit (1) wird der aktuelle Teilprozess (Pn, P1, P2) ausgeführt, wobei anhand der offline-Inputdaten (I, I) offline-Outputdaten (O, O) erzeugt werden,(d) falls die online-Inputdaten (I, I) an den externen Server übertragen worden oder von ihm erzeugt worden sind, wird von dem externen Server (10) der aktuelle Teilprozess (Pn, P1, P2) ausgeführt, wobei anhand der online-Inputdaten (I, I) online-Outputdaten (O, O) erzeugt werden, und, falls die datentechnische Verbindung besteht, werden die online-Outputdaten (O, O) an die mobile Einheit (1) übertragen, und(e) neue offline-Inputdaten (I, I) und neue online-Inputdaten (I, I) werden für den nächsten Teilprozess (Pn, P1, P2) erzeugt, wobei die durch den aktuellen Teilprozess (Pn, P1, P2) erzeugten Outputdaten (O, O, O, O) entweder direkt als die neuen Inputdaten (I, I, I, I) dienen oder aus den durch den aktuellen Teilprozess (Pn, P1, P2) erzeugten Outputdaten (O, O, O, O) die neuen Inputdaten (I, I, I, I) erzeugt werden;wobei die Schritte (c) bis (e) für jeden der Teilprozesse (Pn, P1, P2) ausgeführt werden, wobei jeweils der nächste Teilprozess (Pn, P1, P2) ausgeführt wird, bis der letzte Teilprozess (Pn, P1, P2) ausgeführt worden ist, wobei,falls in Schritt (d) die online-Outputdaten (O, O) nicht an die mobile Einheit (1) übertragen wurden, in Schritt (e) die neuen online-Inputdaten (I, I) anhand der online-Outputdaten (O, O) erzeugt werden und die neuen offline-Inputdaten (I, I) anhand der offline-Outputdaten (O, O) erzeugt werden.Method for computer-aided processing of a voice input for a mobile unit (1) and an external server (10), between which there is at least occasionally a data connection, at least two sub-processes (Pn, P1, P2) being carried out, both by the mobile unit (1) as well as from the external server (10), in which the voice input is recorded by the mobile unit and the following steps are carried out: (a) for the first sub-process, offline input data (I, I) and online Input data (I, I) are generated, (b) if the data connection is established, the online input data (I, I) are transmitted to the external server, (c) the current subprocess (Pn, P1, P2), whereby offline output data (O, O) are generated on the basis of the offline input data (I, I), (d) if the online input data (I, I) have been transmitted to or from the external server have been generated by the exte The current sub-process (Pn, P1, P2) is carried out on the server (10), online output data (O, O) being generated on the basis of the online input data (I, I), and, if the data connection is established, they are going online - Output data (O, O) are transmitted to the mobile unit (1), and (e) new offline input data (I, I) and new online input data (I, I) are used for the next sub-process (Pn, P1, P2 ), whereby the output data (O, O, O, O) generated by the current subprocess (Pn, P1, P2) either serve directly as the new input data (I, I, I, I) or from the data generated by the current subprocess (Pn, P1, P2) generated output data (O, O, O, O) the new input data (I, I, I, I) are generated; steps (c) to (e) for each of the subprocesses (Pn, P1, P2), whereby the next sub-process (Pn, P1, P2) is executed until the last sub-process (Pn, P1, P2) has been executed, whereby, if in step (d) the online output data ( O, O) not to the mobile unit (1) were transmitted, in step (e) the new online input data (I, I) are generated based on the online output data (O, O) and the new offline input data (I, I) based on the offline Output data (O, O) are generated.

Description

Die Erfindung betrifft ein Verfahren zum rechnergestützten Verarbeiten einer Spracheingabe für eine mobile Einheit und einen externen Server, zwischen denen zumindest zeitweise eine datentechnische Verbindung besteht. Dabei werden zumindest zwei Teilprozesse ausgeführt, die sowohl von der mobilen Einheit als auch vom dem externen Server ausführbar sind. Die Erfindung betrifft ferner ein System zum rechnergestützten Verarbeiten einer Spracheingabe mit einer mobilen Einheit und einem externen Server.The invention relates to a method for computer-assisted processing of a voice input for a mobile unit and an external server, between which there is at least occasionally a data link. At least two subprocesses are carried out, which can be executed both by the mobile unit and by the external server. The invention further relates to a system for computer-assisted processing of a voice input with a mobile unit and an external server.

Spracherkennungssysteme finden ein breites Anwendungsspektrum für Bediensysteme. Dies betrifft gleichermaßen die Bedienung von Geräten sowie die Erledigung fernmündlicher Aufgaben mittels Sprachcomputer, beispielsweise Telefon-Banking. Auch hat sich die Bedienung von Einrichtungen eines Fahrzeugs über Spracheingaben als wesentliches Merkmal aktueller Benutzerschnittstellen im Fahrzeug etabliert. Beispielsweise werden zur Eingabe komplexer Sachverhalte entsprechende Informationen durch ein Sprachdialogsystem sequentiell vom Nutzer abgefragt.Speech recognition systems find a wide range of applications for operating systems. This applies equally to the operation of devices and the handling of telephonic tasks using a voice computer, such as telephone banking. The operation of devices in a vehicle via voice inputs has also established itself as an essential feature of current user interfaces in the vehicle. For example, corresponding information is sequentially queried by the user through a voice dialog system for the input of complex facts.

Es ist dabei von entscheidender Bedeutung, dass die Erkennung und Interpretation einer Spracheingabe des Nutzers möglichst fehlerfrei und schnell erfolgt. Hierfür wurden zwar bereits verschiedene Methoden vorgeschlagen, die zur Implementierung notwendige große Rechenkapazität erschwert allerdings häufig den Einsatz, etwa im Bereich mobiler Geräte und insbesondere in Fahrzeugen. Ein Ansatz zur Lösung dieses Problems ist, die Rechenaufgaben auf einen über das Internet erreichbaren Server auszulagern. Dies setzt allerdings voraus, dass das Spracherkennungssystem jederzeit Daten mit dem Server austauschen kann, was insbesondere in Gebieten mit lückenhafter Abdeckung durch Mobilfunknetze nicht jederzeit gewährleistet ist.It is of crucial importance that the recognition and interpretation of a user's voice input is as error-free and fast as possible. Various methods have already been proposed for this, but the large computing capacity required for implementation often makes use more difficult, for example in the field of mobile devices and in particular in vehicles. One approach to solving this problem is to outsource the computing tasks to a server that can be reached via the Internet. However, this presupposes that the speech recognition system can exchange data with the server at any time, which is not always guaranteed, particularly in areas with incomplete coverage by mobile radio networks.

Das in der DE 10 2012 022 630 A1 beschriebene Verfahren zur Kommunikation eines Fahrers mit einem Fahrerassistenzsystem sieht vor, dass der Fahrer natürlichsprachliche Anfragen an das System richtet, die verarbeitet und natürlichsprachlich beantwortet werden.That in the DE 10 2012 022 630 A1 The described method for communicating a driver with a driver assistance system provides that the driver sends natural language inquiries to the system which are processed and answered in natural language.

Dazu wird anhand der Spracheingabe des Fahrers eine Schlagworterkennung durchgeführt, wobei Schlagworte auch in einer externen Quelle, etwa per Internetverbindung, in einer Datenbank gefunden werden.For this purpose, keyword recognition is carried out on the basis of the driver's voice input, keywords also being found in a database in an external source, for example via an Internet connection.

Bei der in der WO 2014/060054 A1 beschriebenen Spracherkennung werden aus Spracheingaben eines Benutzers in einem Fahrzeug durch einen (lokalen) Onboard-Spracherkenner und einen (externen) Offboard-Spracherkenner Erkennungsergebnisse erzeugt. Es kann nun der beste Sprachtext ausgewählt werden, etwa anhand der Konfidenzwerte für die einzelnen Erkennungsergebnisse.At the in the WO 2014/060054 A1 The speech recognition described are generated from speech input by a user in a vehicle by a (local) onboard speech recognizer and an (external) offboard speech recognizer. The best language text can now be selected, for example based on the confidence values for the individual recognition results.

Bei dem in der US 2013/0132084 A1 beschriebenen Verfahren wird eine gesprochene Suchanfrage durch ein Mobilgerät erfasst. Eine Spracherkennung wird parallel durch das Mobilgerät und einen Server durchgeführt. Nach einer vorbestimmten Wartezeit wird, sofern beide Geräte ein Ergebnis zurückgegeben haben, das beste Ergebnis ausgegeben. Ferner ist ein Updatemechanismus vorgesehen, wobei der Server fehlendes Vokabular an das Mobilgerät übertragen kann, falls dieses die Spracherkennung nicht durchführen konnte.The one in the US 2013/0132084 A1 described method, a spoken search query is recorded by a mobile device. Speech recognition is carried out in parallel by the mobile device and a server. After a predetermined waiting time, if both devices have returned a result, the best result is output. Furthermore, an update mechanism is provided, the server being able to transmit missing vocabulary to the mobile device if the mobile device could not carry out the speech recognition.

Die US 8543397 B1 beschreibt ein Verfahren zur Sprachbedienung einer mobilen Einheit. Dabei wird eine Spracheingabe erfasst und in Text umgewandelt. Es können gegebenenfalls mehrere Kandidaten für den erkannten Text angezeigt werden und der Nutzer kann den korrekt erkannten Text erkennen. Anschließend kann eine Suche anhand des Textes durchgeführt werden. Die D1 beschreibt, dass die Konversion der Spracheingabe zu Text durch das Mobilgerät oder mittels eines Servers durchgeführt werden kann. Ferner kann anhand des erkannten Textes eine Suche durch das Mobilgerät und/oder den Server ausgeführt werden.The US 8543397 B1 describes a method for voice control of a mobile unit. A voice input is recorded and converted into text. If necessary, several candidates for the recognized text can be displayed and the user can recognize the correctly recognized text. A search can then be carried out using the text. The D1 describes that the conversion of voice input to text can be carried out by the mobile device or by means of a server. Furthermore, a search can be carried out by the mobile device and / or the server on the basis of the recognized text.

Bei dem in der US 2013/0346078 A1 beschriebenen Verfahren wird eine Spracheingabe mittels eines Mobilgeräts ausgewertet. Dabei wird neben einem lokalen Spracherkenner des Mobilgeräts ein entfernter Spracherkenner verwendet, etwa eines Servers. Es werden eine erste und eine zweite Transkription erzeugt. Der Server überträgt die zweite Transkription an das Mobilgerät und führt ferner eine Suche aus, während das Mobilgerät die beiden Transkriptionen vergleichen kann, um eine Aktion auszuführen.The one in the US 2013/0346078 A1 described method, a voice input is evaluated by means of a mobile device. In addition to a local speech recognizer of the mobile device, a remote speech recognizer is used, for example a server. A first and a second transcription are generated. The server transmits the second transcription to the mobile device and also carries out a search, while the mobile device can compare the two transcriptions to carry out an action.

Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren und ein System der oben genannten Art zur Verfügung zu stellen, bei denen eine Spracheingabe zuverlässig und unter optimaler Ausnutzung aller verfügbaren Ressourcen verarbeitet wird.The present invention has for its object to provide a method and a system of the type mentioned above, in which a voice input is processed reliably and with optimal use of all available resources.

Erfindungsgemäß wird diese Aufgabe durch ein Verfahren mit den Merkmalen des Anspruchs 1 sowie ein System mit den Merkmalen des Anspruchs 8 gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen ergeben sich aus den abhängigen Ansprüchen.According to the invention, this object is achieved by a method having the features of claim 1 and a system having the features of claim 8. Advantageous refinements and developments result from the dependent claims.

Bei dem erfindungsgemäßen Verfahren der oben genannten Art wird die Spracheingabe von der mobilen Einheit erfasst. Es werden (a) für den ersten Teilprozess offline-Inputdaten und online-Inputdaten erzeugt und (b) die online-Inputdaten an den externen Server übertragen, falls die datentechnische Verbindung besteht. In einem weiteren Schritt (c) wird von der mobilen Einheit der aktuelle Teilprozess ausgeführt, wobei anhand der offline-Inputdaten offline-Outputdaten erzeugt werden. Ferner wird (d), falls die online-Inputdaten an den externen Server übertragen worden oder von ihm erzeugt worden sind, der aktuelle Teilprozess von dem externen Server ausgeführt, wobei anhand der online-Inputdaten online-Outputdaten erzeugt werden. Falls die datentechnische Verbindung besteht, werden die online-Outputdaten an die mobile Einheit übertragen. Schließlich werden (e) neue offline-Inputdaten und neue online-Inputdaten für den nächsten Teilprozess erzeugt. Dabei dienen die durch den aktuellen Teilprozess erzeugten Outputdaten entweder direkt als die neuen Inputdaten oder die neuen Inputdaten werden aus den durch den aktuellen Teilprozess erzeugten Outputdaten erzeugt. Dabei werden die Schritte (c) bis (e) für jeden der Teilprozesse ausgeführt, bis der letzte Teilprozess ausgeführt worden ist. Dabei wird jeweils der nächste Teilprozess ausgeführt und der Ablauf der Schritte (c) bis (e) wiederholt bis zum Abschluss des letzten Teilprozesses. Falls in Schritt (d) die online-Outputdaten nicht an die mobile Einheit übertragen wurden, werden in Schritt (e) die neuen online-Inputdaten anhand der online-Outputdaten erzeugt und die neuen offline-Inputdaten anhand der offline-Outputdaten erzeugt.In the inventive method of the type mentioned above, the voice input is recorded by the mobile unit. There will be (a) for the first Sub-process generates offline input data and online input data and (b) transmit the online input data to the external server if the data connection is established. In a further step (c), the current subprocess is carried out by the mobile unit, offline output data being generated on the basis of the offline input data. Furthermore, (d) if the online input data has been transmitted to or generated by the external server, the current subprocess is carried out by the external server, online output data being generated on the basis of the online input data. If the data connection is established, the online output data is transmitted to the mobile unit. Finally, new offline input data and new online input data are generated for the next sub-process. The output data generated by the current subprocess either serve directly as the new input data or the new input data are generated from the output data generated by the current subprocess. Steps (c) to (e) are carried out for each of the subprocesses until the last subprocess has been executed. The next sub-process is carried out and the sequence of steps (c) to (e) is repeated until the last sub-process has been completed. If the online output data were not transmitted to the mobile unit in step (d), the new online input data are generated using the online output data and the new offline input data are generated using the offline output data in step (e).

Die mobile Einheit ist insbesondere in einem Fahrzeug angeordnet oder in dieses integriert.The mobile unit is arranged in particular in a vehicle or integrated into this.

Das erfindungsgemäße Verfahren dient der Verarbeitung einer Spracheingabe mit zumindest zwei Teilprozessen. Dies ist beispielsweise typisch für Sprachsteuerungsverfahren, bei denen anhand von Audiodaten gesprochener Sprache durch einen Spracherkenner ein maschinenlesbarer Text erzeugt wird, durch den im weiteren Verlauf Befehle erkannt und ausgeführt werden. In weiteren Schritten können die Daten weiterverarbeitet oder analysiert werden, etwa um die Zuverlässigkeit der Sprachsteuerung zu verbessern.The method according to the invention is used to process a voice input with at least two sub-processes. This is typical, for example, of voice control methods in which, based on audio data of spoken speech, a speech recognizer generates a machine-readable text, by means of which commands are recognized and executed in the further course. In further steps, the data can be processed or analyzed, for example to improve the reliability of voice control.

Unter „Teilprozessen“ werden im Folgenden modulare Funktionalitäten verstanden, die von Rechnern ausgeführt werden. Dabei werden insbesondere anhand von Inputdaten Outputdaten erzeugt. Die einzelnen Teilprozesse können dabei nach- oder nebeneinander ausgeführt werden. Die Inputdaten zur Ausführung eines Teilprozesses können von einem beliebigen geeigneten Rechner erzeugt worden sein und die Outputdaten können von einem beliebigen geeigneten Rechner weiterverarbeitet werden.In the following, “sub-processes” are understood to mean modular functionalities that are carried out by computers. Output data are generated in particular using input data. The individual sub-processes can be carried out in succession or side by side. The input data for executing a sub-process can have been generated by any suitable computer and the output data can be further processed by any suitable computer.

Insbesondere werden die zumindest zwei Teilprozesse bei der Verarbeitung der Spracheingabe nacheinander ausgeführt, wobei ein Teilprozess Outputdaten erzeugt, die entweder direkt als Inputdaten für den darauf folgenden Teilprozess dienen oder aus denen die Inputdaten für den darauf folgenden Teilprozess erzeugt werden. Die Teilprozesse können etwa mehrere aufeinander aufbauende Schritte der Verarbeitung der Spracheingabe umfassen.In particular, the at least two subprocesses are processed one after the other when processing the speech input, a subprocess generating output data which either serve directly as input data for the subsequent subprocess or from which the input data are generated for the subsequent subprocess. The sub-processes can include several steps of processing the voice input that build on one another.

Die datentechnische Verbindung zwischen der mobilen Einheit und dem externen Server kann insbesondere drahtlos erfolgen, beispielsweise durch ein lokales Netzwerk oder ein größeres Netzwerk, beispielsweise das Internet. Ferner kann die Verbindung über ein Telekommunikationsnetz, etwa ein Telefonnetz, oder ein drahtloses lokales Netzwerk (WLAN) hergestellt werden. Ferner kann die Datenverbindung durch den Anschluss eines Datenkabels erfolgen. Die Verbindung kann auch über eine andere Einheit hergestellt werden, die selbst eine Verbindung zu dem externen Server herstellen kann. Beispielsweise kann eine datentechnische Verbindung zwischen der mobilen Einheit und einem mit dem Internet verbundenen Mobiltelefon bestehen, etwa durch ein Datenkabel oder eine Funkverbindung, etwa per Bluetooth. Insbesondere kann die Verbindung zu dem externen Server über das Internet hergestellt werden.The data connection between the mobile unit and the external server can in particular be wireless, for example through a local network or a larger network, for example the Internet. Furthermore, the connection can be established via a telecommunications network, such as a telephone network, or a wireless local area network (WLAN). The data connection can also be established by connecting a data cable. The connection can also be made via another device that can itself connect to the external server. For example, there may be a data link between the mobile unit and a mobile phone connected to the Internet, for example through a data cable or a radio link, for example via Bluetooth. In particular, the connection to the external server can be established via the Internet.

Die Spracheingabe wird von der mobilen Einheit erfasst, beispielsweise durch ein in diese integriertes Mikrofon. Die Spracheingabe kann allerdings auch auf indirekte Weise erfasst werden, beispielsweise durch Abrufen einer Spracheingabe, die bei einer weiteren Einrichtung gespeichert ist.
Bei der Erfassung der Spracheingabe werden insbesondere Audiodaten erfasst und gespeichert. Ferner kann eine erste Verarbeitung der Daten der Spracheingabe erfolgen, beispielsweise eine Kompression nach an sich bekannten Verfahren.
The voice input is recorded by the mobile unit, for example by a microphone integrated in it. However, the voice input can also be recorded in an indirect manner, for example by calling up a voice input that is stored at another device.
When recording the voice input, audio data in particular are recorded and stored. Furthermore, the voice input data can be processed for the first time, for example compression according to methods known per se.

Um den ersten Teilprozess durchführen zu können, werden Inputdaten für die mobile Einheit und den externen Server erzeugt. Im Folgenden beziehen sich die Begriffe Offline-Inputdaten und Offline-Outputdaten auf die mobile Einheit und die Begriffe Online-Inputdaten und Online-Outputdaten auf den externen Server. Zur Durchführung des ersten Teilprozesses werden die erzeugten Online-Inputdaten an den externen Server übertragen. Besteht gerade keine datentechnische Verbindung zwischen der mobilen Einheit und dem externen Server, so kann die Übertragung nicht durchgeführt werden. In diesem Fall wird der erste Teilprozess zunächst nur von der mobilen Einheit durchgeführt. Wird die datentechnische Verbindung zu einem späteren Zeitpunkt hergestellt, so können die Online-Inputdaten an den externen Server übertragen werden und der erste Teilprozess kann vom externen Server durchgeführt werden. Als Ergebnis des ersten Teilprozesses werden Offline- bzw. Online-Outputdaten erzeugt.In order to be able to carry out the first sub-process, input data are generated for the mobile unit and the external server. In the following, the terms offline input data and offline output data refer to the mobile unit and the terms online input data and online output data to the external server. To carry out the first sub-process, the online input data generated are transmitted to the external server. If there is currently no data connection between the mobile unit and the external server, the transmission cannot be carried out. In this case, the first subprocess is initially only carried out by the mobile unit. If the data connection is established at a later point in time, the online input data can be transferred to the external server and the first subprocess can be carried out by the external server. As a result of the first sub-process, offline or online output data are generated.

Zur Durchführung des nächsten Teilprozesses müssen nun neue Offline- und Online-Inputdaten erzeugt werden. Dies kann insbesondere anhand der bei dem ersten Teilprozess erzeugten Outputdaten erfolgen. Besteht keine datentechnische Verbindung zwischen der mobilen Einheit und dem externen Server, so stehen den beiden Komponenten jeweils nur die eigenen Outputdaten zur Verfügung. In diesem Fall werden die neuen Online-Inputdaten von dem externen Server und die neuen Offline-Inputdaten von der mobilen Einheit erzeugt. Besteht dagegen die datentechnische Verbindung und wurden die Online-Outputdaten an die mobile Einheit übertragen, so kann die mobile Einheit die neuen Online- und Offline-Inputdaten anhand der im zuvor durchgeführten Teilprozess erzeugten Outputdaten erzeugen. In diesem Fall können identische Online- und Offline-Inputdaten erzeugt werden. New offline and online input data must now be generated to carry out the next sub-process. This can be done in particular on the basis of the output data generated in the first subprocess. If there is no data connection between the mobile unit and the external server, the two components only have their own output data available. In this case, the new online input data are generated by the external server and the new offline input data by the mobile unit. If, on the other hand, there is a data link and the online output data has been transmitted to the mobile unit, the mobile unit can generate the new online and offline input data on the basis of the output data generated in the subprocess previously carried out. In this case, identical online and offline input data can be generated.

Es wird nun der nächste Teilprozess durchgeführt, wobei die neuen Online- und Offline-Inputdaten verwendet werden. Wurden die Online-Inputdaten von der mobilen Einheit erzeugt, so müssen diese zunächst an den externen Server übertragen werden. Dies kann für beliebig viele Teilprozesse wiederholt werden, bis der letzte Teilprozess ausgeführt wurde.The next sub-process is now carried out, using the new online and offline input data. If the online input data was generated by the mobile unit, it must first be transmitted to the external server. This can be repeated for any number of subprocesses until the last subprocess has been executed.

Auf diese Weise können die Teilprozesse parallel von der mobilen Einheit und dem externen Server durchgeführt werden. Besteht zu dem jeweiligen Zeitpunkt die datentechnische Verbindung, so kann zwischen der Durchführung der einzelnen Teilprozesse ein Zusammenführen und Abgleichen der jeweiligen Outputdaten erfolgen.
Insbesondere kann somit sichergestellt werden, dass beide Komponenten die gleichen Inputdaten verwenden und dass die resultierenden Outputdaten somit vergleichbar sind.
In this way, the sub-processes can be carried out in parallel by the mobile unit and the external server. If there is a data link at the respective point in time, the respective output data can be merged and compared between the implementation of the individual sub-processes.
In particular, it can be ensured that both components use the same input data and that the resulting output data are therefore comparable.

So können vorteilhafterweise die Ressourcen der mobilen Einheit und des externen Servers gleichzeitig genutzt werden, wobei insbesondere bei einer instabilen datentechnischen Verbindung der gesamte parallele Ablauf der mehreren Teilprozesse zwischen den einzelnen Teilprozessen koordiniert werden kann.In this way, the resources of the mobile unit and the external server can advantageously be used at the same time, it being possible, in particular in the case of an unstable data link, to coordinate the entire parallel sequence of the several subprocesses between the individual subprocesses.

Es werden dabei zumindest zwei Teilprozesse parallel von der mobilen Einheit und dem externen Server durchgeführt und zwischenzeitlich koordiniert, soweit die datentechnische Verbindung einen Abgleich zwischen den einzelnen Teilprozessen erlaubt. Soweit die datentechnische Verbindung dies zulässt, werden die Outputdaten der beiden Komponenten zwischen jedem Teilprozess zusammengebracht und für den folgenden Teilprozess werden insbesondere die gleichen Offline- und Online-Inputdaten erzeugt. Wenn allerdings für einen Zeitraum keine datentechnische Verbindung zwischen der mobilen Einheit und dem externen Server besteht, so kann die Verarbeitung der Daten zu der Spracheingabe für einzelne Teilprozesse dennoch ohne Koordinierung fortgesetzt werden, nämlich von der mobilen Einheit bzw. dem externen Server. Dies erlaubt unter Ausnutzung der modularen Verarbeitung der Spracheingabe eine hohe Flexibilität des gesamten Verfahrens.At least two sub-processes are carried out in parallel by the mobile unit and the external server and coordinated in the meantime, provided that the data connection allows a comparison between the individual sub-processes. As far as the data connection allows, the output data of the two components are brought together between each sub-process and, in particular, the same offline and online input data are generated for the following sub-process. However, if there is no data connection between the mobile unit and the external server for a period of time, the processing of the data for voice input for individual subprocesses can still be continued without coordination, namely by the mobile unit or the external server. Using the modular processing of voice input, this allows a high degree of flexibility for the entire process.

Bei einer Ausbildung umfasst einer der Teilprozesse eine Spracherkennung, wobei die Offline-Inputdaten und die Online-Inputdaten identisch sind und anhand der Spracheingabe erzeugt werden. Ferner umfassen die Offline-Outputdaten und die Online-Outputdaten jeweils maschinenlesbare Textdaten.In the case of an apprenticeship, one of the sub-processes comprises voice recognition, the offline input data and the online input data being identical and being generated on the basis of the voice input. Furthermore, the offline output data and the online output data each include machine-readable text data.

Dadurch kann vorteilhafterweise ein Spracherkennungsmodul parallel durch die mobile Einheit und den externen Server durchgeführt werden. Insbesondere wird dabei eine automatische Spracherkennung (automated speech recognition, ASR) durchgeführt. Dies kann nach an sich bekannten Verfahren erfolgen. Es wird dabei insbesondere von der Spracheingabe in Form von Audiodaten ausgegangen. Es wird ein maschinenlesbarer Text erzeugt, wobei insbesondere ein Sprachmodell zur Erkennung verwendet wird. Das Sprachmodell umfasst etwa einen Wort- und Ausdrucksschatz, wobei insbesondere einzelne Wörter, Wortgruppen und sprachliche Konstruktionen repräsentiert sind, aber auch statistische Zusammenhänge der einzelnen Wörter und Wortgruppen zueinander repräsentiert sind. Dabei kann das Sprachmodell weitere ergänzende Daten umfassen. Der zur Durchführung der Spracherkennung benötigte Rechenaufwand ist insbesondere abhängig vom Umfang des Sprachmodells.
Ferner hängt die Qualität der Spracherkennung von dem Sprachmodell ab. Da die Rechenkapazität der mobilen Einheit typischerweise gering ist gegenüber dem externen Server, können mobile Einheiten häufig lediglich eine grundlegende Spracherkennung anhand eines einfacheren Sprachmodells durchführen, während der externe Server in der Regel eine höherwertige Spracherkennung leisten kann. Die Qualität der durchgeführten Spracherkennung kann nach an sich bekannten Verfahren bewertet werden, beispielsweise kann ein Konfidenzwert bestimmt werden.
As a result, a speech recognition module can advantageously be carried out in parallel by the mobile unit and the external server. In particular, automatic speech recognition (ASR) is carried out. This can be done by methods known per se. Speech input in the form of audio data is assumed in particular. A machine-readable text is generated, a language model in particular being used for recognition. The language model comprises, for example, a vocabulary of words and expressions, in particular individual words, word groups and linguistic constructions are represented, but also statistical relationships of the individual words and word groups to one another are represented. The language model can include additional data. The computing effort required to carry out the speech recognition depends in particular on the scope of the speech model.
Furthermore, the quality of the speech recognition depends on the speech model. Since the computing capacity of the mobile unit is typically low compared to the external server, mobile units can often only perform basic speech recognition using a simpler speech model, while the external server can usually provide higher-quality speech recognition. The quality of the speech recognition carried out can be evaluated according to methods known per se, for example a confidence value can be determined.

Bei einer Weiterbildung umfasst einer der Teilprozesse die Erzeugung einer semantischen Analyse. Dabei umfassen die Offline-Inputdaten und die Online-Inputdaten jeweils maschinenlesbare Textdaten und die Offline-Outputdaten und die Online-Outputdaten umfassen jeweils Analysedaten.In the case of further training, one of the sub-processes includes the generation of a semantic analysis. The offline input data and the online input data each comprise machine-readable text data, and the offline output data and the online output data each comprise analysis data.

Dadurch kann vorteilhafterweise eine semantische Analyse unter Einbeziehung der Rechenkapazitäten der mobilen Einheit und des externen Servers erfolgen. Insbesondere kann nach an sich bekannten Verfahren ein natural language understanding (NLU) durchgeführt werden. Beispielsweise können Schlagworte erkannt werden. Insbesondere werden anhand der maschinenlesbaren Textdaten Anweisungen erzeugt, die im Folgenden als Anweisungen an das System übertragen und ausgeführt werden können.As a result, a semantic analysis can advantageously take place, taking into account the computing capacities of the mobile unit and the external server. In particular, a natural language understanding (NLU) can be carried out according to methods known per se. For example Keywords are recognized. In particular, instructions are generated on the basis of the machine-readable text data, which instructions can subsequently be transmitted to the system and executed.

Bei einer weiteren Ausbildung umfasst einer der Teilprozesse die Durchführung einer Suche. Dabei umfassen die Offline-Inputdaten und die Online-Inputdaten jeweils Analysedaten und die Offline-Outputdaten und die Online-Outputdaten umfassen jeweils Suchergebnisdaten.In the case of further training, one of the sub-processes involves performing a search. The offline input data and the online input data each include analysis data and the offline output data and the online output data each include search result data.

Dadurch kann vorteilhafterweise eine Suchfunktionalität implementiert werden, beispielsweise innerhalb einer Sprachsteuerung. Die Suche kann dabei nach an sich bekannten Verfahren erfolgen, wobei insbesondere eine Suchanfrage anhand der Analysedaten erzeugt wird und Suchergebnisse als Outputdaten erzeugt werden. Beispielsweise kann eine Datenbank mit Datensätzen anhand einer Suchanfrage durchsucht werden. Die Suchergebnisdaten können in diesem Fall etwa eine Liste mit für die Suchanfrage relevanten Datensätzen umfassen.As a result, a search functionality can advantageously be implemented, for example within a voice control system. The search can be carried out using methods known per se, in particular a search query being generated on the basis of the analysis data and search results being generated as output data. For example, a database with data records can be searched using a search query. In this case, the search result data can include, for example, a list of data records relevant to the search query.

Bei einer Ausbildung werden, falls in Schritt (d) die Online-Outputdaten an die mobile Einheit übertragen wurden, die in Schritt (e) erzeugten neuen Online-Inputdaten und neuen Offline-Inputdaten für den jeweils nächsten Teilprozess anhand eines Vergleichs der Online-Outputdaten und der Offline-Outputdaten erzeugt.In the case of training, if the online output data were transmitted to the mobile unit in step (d), the new online input data and new offline input data generated in step (e) for the next sub-process are compared using a comparison of the online output data and which generates offline output data.

Dadurch kann vorteilhafterweise das Vorliegen von parallel erzeugten Offline- und Online-Outputdaten genutzt werden, um die neuen Offline- und Online-Inputdaten zu erzeugen. Insbesondere wird bestimmt, welche Outputdaten am besten geeignet sind, wobei ein Vergleich der Outputdaten durchgeführt wird. Im einfachsten Falle können die dabei gewählten Outputdaten direkt als neue Inputdaten verwendet werden. Ferner können aber auch die neuen Inputdaten anhand beider zuvor erzeugter Outputdaten erzeugt werden. Insbesondere sind die dabei erzeugten Online- und Offline-Inputdaten im Wesentlichen identisch.As a result, the presence of offline and online output data generated in parallel can advantageously be used to generate the new offline and online input data. In particular, it is determined which output data are the most suitable, with a comparison of the output data being carried out. In the simplest case, the selected output data can be used directly as new input data. Furthermore, the new input data can also be generated on the basis of both previously generated output data. In particular, the online and offline input data generated are essentially identical.

Bei dem Verfahren werden, falls in Schritt (d) die Online-Outputdaten nicht an die mobile Einheit übertragen wurden, in Schritt (e) die neuen Online-Inputdaten anhand der Online-Outputdaten erzeugt und die neuen Offline-Inputdaten anhand der Offline-Outputdaten erzeugt.With the method, if the online output data were not transmitted to the mobile unit in step (d), the new online input data are generated in step (e) using the online output data and the new offline input data are generated using the offline output data generated.

Dadurch kann vorteilhafterweise der nächste Teilprozess durchgeführt werden, auch wenn die Datenverbindung es nicht zulässt, dass die neuen Inputdaten zentral erzeugt werden. Dies bedeutet insbesondere, dass die im nächsten Schritt verwendeten Online- und Offline-Inputdaten nicht miteinander identisch sind. Stattdessen werden zwei oder mehr Teilprozesse parallel zueinander von der mobilen Einheit und dem externen Server durchgeführt, ohne dass ein Zwischenabgleich erfolgt. Dies ist insbesondere dann von Bedeutung, wenn die datentechnische Verbindung nicht fortlaufend besteht.As a result, the next subprocess can advantageously be carried out, even if the data connection does not allow the new input data to be generated centrally. In particular, this means that the online and offline input data used in the next step are not identical to one another. Instead, two or more subprocesses are carried out in parallel by the mobile unit and the external server without an intermediate comparison. This is particularly important if the data connection is not continuous.

Bei einer weiteren Ausbildung wird, falls in Schritt (d) die Online-Outputdaten an die mobile Einheit übertragen wurden, nachdem bereits ein weiterer Teilprozess gestartet wurde, anhand eines Vergleichs der Online-Outputdaten mit den zugeordneten Offline-Outputdaten bestimmt, ob die späteren Teilprozesse mit nochmal erzeugten neuen Online-Inputdaten und neuen Offline-Inputdaten nochmals durchgeführt werden sollen.In a further embodiment, if the online output data were transmitted to the mobile unit in step (d) after another subprocess had already been started, a comparison of the online output data with the assigned offline output data determines whether the subsequent subprocesses with new online input data and new offline input data generated again.

Dadurch kann insbesondere eine zeitliche Verzögerung bei der parallelen Durchführung der Teilprozesse berücksichtigt werden. Die zeitliche Verzögerung kann etwa dadurch entstehen, dass die datentechnische Verbindung nicht dauerhaft besteht oder die Datenübertragung mit nur geringer Bandbreite erfolgt. Dies kann zur Folge haben, dass die von dem externen Server erzeugten Online-Outputdaten die mobile Einheit erst erreichen, nachdem angenommen wurde, dass keine Datenübertragung stattfinden wird. In diesem Fall setzt die mobile Einheit die Durchführung mit dem nächsten Teilprozess fort, wobei die Online-Outputdaten zunächst unberücksichtigt bleiben, da diese zum Durchführungszeitpunkt noch nicht zur Verfügung standen. Umgekehrt kann die zeitliche Verzögerung etwa auf einer langsameren Durchführung eines Teilprozesses durch die mobile Einheit begründet sein.
In diesem Fall kann der externe Server die Durchführung des nächsten Teilprozesses beginnen, ohne dabei die Offline-Outputdaten zu berücksichtigen. Es kann also insgesamt eine der Komponenten die Abfolge der Teilprozesse schneller durchführen als die andere. Stehen nun Outputdaten einer der Komponenten für einen Teilprozess verspätet zur Verfügung, so kann eine verspätete Analyse durchgeführt werden, ob die neu hinzukommenden Outputdaten besser zur Durchführung des nächsten Teilprozesses geeignet sind. In diesem Fall kann bestimmt werden, dass der folgende Teilprozess mit Inputdaten nochmals durchgeführt wird, wobei die neu hinzugekommenen Outputdaten bei der Erzeugung der Inputdaten berücksichtigt werden. Dies erlaubt insbesondere die Behandlung von Fällen, bei denen die Verarbeitung und Datenübertragung keine vollständig parallele und synchrone Durchführung der Teilprozesse erlaubt.
As a result, a time delay can be taken into account in the parallel execution of the subprocesses. The time delay can arise, for example, from the fact that the data connection is not permanent or the data transmission takes place with only a small bandwidth. This can have the consequence that the online output data generated by the external server only reach the mobile unit after it has been assumed that no data transmission will take place. In this case, the mobile unit continues the execution with the next sub-process, the online output data initially being disregarded since these were not yet available at the time of implementation. Conversely, the time delay may be due to the slower execution of a sub-process by the mobile unit.
In this case, the external server can start executing the next subprocess without taking the offline output data into account. Overall, one of the components can execute the sequence of sub-processes faster than the other. If output data of one of the components is now available late for a sub-process, a late analysis can be carried out to determine whether the newly added output data are better suited for carrying out the next sub-process. In this case, it can be determined that the following sub-process is carried out again with input data, the newly added output data being taken into account when generating the input data. This allows, in particular, the handling of cases in which the processing and data transmission do not allow the sub-processes to be carried out completely in parallel and synchronously.

Bei einer Ausbildung werden, nachdem der letzte Teilprozess ausgeführt worden ist, anhand der Offline-Outputdaten und der Online-Outputdaten finale Outputdaten erzeugt.In the case of training, after the last subprocess has been carried out, final output data are generated on the basis of the offline output data and the online output data.

Dadurch kann vorteilhafterweise ein optimiertes Ergebnis der Durchführung sämtlicher Teilprozesse erzeugt werden. Das optimierte Ergebnis kann beispielsweise ausgegeben werden oder zur Durchführung weiterer Funktionen verwendet werden, etwa bei der Sprachsteuerung einer Einrichtung. As a result, an optimized result of carrying out all subprocesses can advantageously be generated. The optimized result can, for example, be output or used to carry out further functions, for example in the voice control of a device.

Bei dem erfindungsgemäßen System der oben genannten Art ist durch eine Erfassungseinheit der mobilen Einheit die Spracheingabe erfassbar. Ferner umfassen die mobile Einheit und der externe Server jeweils eine Datenschnittstelle und jeweils eine Recheneinheit. Dabei ist durch die Datenschnittstelle der mobilen Einheit und die Datenschnittstelle des externen Servers wenigstens zeitweise eine datentechnische Verbindung zwischen der mobilen Einheit und dem externen Server herstellbar. Ferner sind zumindest zwei Teilprozesse sowohl von der Recheneinheit der mobilen Einheit als auch von der Recheneinheit des externen Servers ausführbar. Dabei dienen durch einen Teilprozess erzeugte Outputdaten entweder direkt als Inputdaten für einen darauf folgenden Teilprozess oder die Inputdaten für den nächsten Teilprozess werden aus den durch einen Teilprozess erzeugten Outputdaten erzeugt. Falls in Schritt (d) die online-Outputdaten nicht an die mobile Einheit übertragen wurden, werden in Schritt (e) die neuen online-Inputdaten anhand der online-Outputdaten erzeugt und die neuen offline-Inputdaten werden anhand der offline-Outputdaten erzeugt.In the system according to the invention of the type mentioned above, the voice input can be detected by a detection unit of the mobile unit. Furthermore, the mobile unit and the external server each comprise a data interface and an arithmetic unit. In this case, the data interface of the mobile unit and the data interface of the external server can at least temporarily establish a data link between the mobile unit and the external server. Furthermore, at least two subprocesses can be carried out both by the computing unit of the mobile unit and by the computing unit of the external server. Output data generated by a subprocess either serve directly as input data for a subsequent subprocess or the input data for the next subprocess are generated from the output data generated by a subprocess. If the online output data were not transmitted to the mobile unit in step (d), the new online input data are generated using the online output data in step (e) and the new offline input data are generated using the offline output data.

Das erfindungsgemäße System ist insbesondere ausgebildet, das vorstehend beschriebene erfindungsgemäße Verfahren zu implementieren. Das System weist somit dieselben Vorteile auf wie das erfindungsgemäße Verfahren.The system according to the invention is particularly designed to implement the method according to the invention described above. The system thus has the same advantages as the method according to the invention.

Die Recheneinheiten der mobilen Einheit und des externen Servers sind insbesondere dazu ausgebildet, die Durchführung der Teilprozesse von der mobilen Einheit und von dem externen Server zu koordinieren. Sie sind dazu ausgebildet, dass (a) für den ersten Teilprozess offline-Inputdaten und online-Inputdaten erzeugbar sind und (b) die online-Inputdaten an den externen Server übertragbar sind, falls die datentechnische Verbindung besteht. In einem weiteren Schritt (c) ist der aktuelle Teilprozess von der mobilen Einheit ausführbar, wobei anhand der offline-Inputdaten offline-Outputdaten erzeugbar sind. Ferner ist (d), falls die online-Inputdaten an den externen Server übertragen worden oder von ihm erzeugt worden sind, der aktuelle Teilprozess von dem externen Server ausführbar, wobei anhand der online-Inputdaten online-Outputdaten erzeugbar sind. Falls die datentechnische Verbindung besteht, sind die online-Outputdaten an die mobile Einheit übertragbar. Schließlich sind (e) neue offline-Inputdaten und neue online-Inputdaten für den nächsten Teilprozess erzeugbar, wobei die durch den aktuellen Teilprozess erzeugten Outputdaten entweder direkt als die neuen Inputdaten dienen oder aus den durch den aktuellen Teilprozess erzeugten Outputdaten die neuen Inputdaten erzeugbar sind. Dabei sind die Schritte (c) bis (e) für jeden der Teilprozesse ausführbar, bis der letzte Teilprozess ausgeführt worden ist. Dabei ist jeweils der nächste Teilprozess ausführbar und der Ablauf der Schritte (c) bis (e) ist wiederholbar bis zum Abschluss des letzten Teilprozesses. Dabei sind in Schritt (e), falls in Schritt (d) die online-Outputdaten nicht an die mobile Einheit übertragen wurden, die neuen online-Inputdaten anhand der online-Outputdaten erzeugbar und die neuen offline-Inputdaten anhand der offline-Outputdaten erzeugbar.The computing units of the mobile unit and the external server are in particular designed to coordinate the execution of the subprocesses by the mobile unit and by the external server. They are designed so that (a) offline input data and online input data can be generated for the first sub-process and (b) the online input data can be transferred to the external server if the data connection is established. In a further step (c), the current subprocess can be carried out by the mobile unit, offline output data being able to be generated using the offline input data. Furthermore, (d) if the online input data has been transmitted to or generated by the external server, the current subprocess can be carried out by the external server, online output data being able to be generated on the basis of the online input data. If the data connection is established, the online output data can be transmitted to the mobile unit. Finally, (e) new offline input data and new online input data can be generated for the next subprocess, the output data generated by the current subprocess either serving directly as the new input data or the new input data being able to be generated from the output data generated by the current subprocess. Steps (c) to (e) can be carried out for each of the subprocesses until the last subprocess has been executed. The next sub-process can be carried out in each case and the sequence of steps (c) to (e) can be repeated until the end of the last sub-process. In step (e), if the online output data were not transmitted to the mobile unit in step (d), the new online input data can be generated using the online output data and the new offline input data can be generated using the offline output data.

Die Erfindung wird nun anhand von Ausführungsbeispielen mit Bezug zu den Zeichnungen erläutert.

  • 1 zeigt ein Ausführungsbeispiel des erfindungsgemäßen Systems,
  • 2 zeigt ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens mit einer dauerhaften datentechnischen Verbindung,
  • 3 zeigt das Ausführungsbeispiel des erfindungsgemäßen Verfahrens mit einer zwischenzeitlich unterbrochenen datentechnischen Verbindung und
  • 4 zeigt das Ausführungsbeispiel des erfindungsgemäßen Verfahrens mit einer zeitlich verzögerten Durchführung von Teilprozessen.
The invention will now be explained using exemplary embodiments with reference to the drawings.
  • 1 shows an embodiment of the system according to the invention,
  • 2 shows an embodiment of the method according to the invention with a permanent data connection,
  • 3 shows the embodiment of the method according to the invention with a meanwhile interrupted data connection and
  • 4 shows the embodiment of the method according to the invention with a delayed execution of sub-processes.

Mit Bezug zu 1 wird ein Ausführungsbeispiel des erfindungsgemäßen Systems erläutert.In reference to 1 An embodiment of the system according to the invention is explained.

Das erfindungsgemäße System umfasst eine mobile Einheit 1 und einen externen Server 10. Die mobile Einheit 1 kann dabei in einem Fahrzeug angeordnet oder in dieses integriert sein. Die mobile Einheit 1 und der externe Server 10 umfassen jeweils eine Datenschnittstelle 6a und 6b sowie jeweils eine Recheneinheit 5a und 5b. Die mobile Einheit 1 umfasst ferner eine Erfassungseinheit 2 mit einem Mikrofon 2a.The system according to the invention comprises a mobile unit 1 and an external server 10 , The mobile unit 1 can be arranged in a vehicle or integrated into this. The mobile unit 1 and the external server 10 each include a data interface 6a and 6b and one computing unit each 5a and 5b , The mobile unit 1 further comprises a detection unit 2 with a microphone 2a ,

Durch die Erfassungseinheit 2 können Spracheingaben eines Nutzers erfasst werden, wobei der Nutzer im gezeigten Ausführungsbeispiel den Beginn einer Spracheingabe signalisiert, indem er einen push-to-talk Schalter (PTT) drückt. Die vom Nutzer gesprochene Spracheingabe wird daraufhin erfasst und aufgezeichnet. Es wird eine Zwischenspeicherung vorgenommen, sodass die Spracheingabedaten für eine weitere Verwendung zur Verfügung stehen. Insbesondere werden dabei Audiodaten aufgezeichnet. Der Beginn der Spracheingabe kann auch auf andere Weise erkannt werden, beispielsweise nach Aktivieren einer Funktion, die eine Sprachsteuerung zulässt.Through the registration unit 2 Voice inputs of a user can be recorded, the user signaling the start of a voice input in the exemplary embodiment shown by pressing a push-to-talk switch (PTT). The voice input spoken by the user is then recorded and recorded. The data is cached so that the voice input data is available for further use. In particular, audio data are recorded. The start of the voice input can also be recognized in other ways, for example after activating a function that allows voice control.

Die Erfassungseinheit 2 ist mit der Recheneinheit 5a der mobilen Einheit 1 gekoppelt und die gespeicherten Daten der Spracheingabe können übertragen werden. Die Recheneinheit 5a der mobilen Einheit 1 ist ferner mit der Datenschnittstelle 6a der mobilen Einheit 1 gekoppelt. Ferner ist die Recheneinheit 5b des externen Servers 10 mit der Datenschnittstelle 6b des externen Servers 10 gekoppelt. Zwischen den Datenschnittstellen 6a und 6b der mobilen Einheit 1 und des externen Servers 10 kann eine datentechnische Verbindung hergestellt werden. Dies erfolgt im gezeigten Ausführungsbeispiel über ein Mobilfunknetz, durch das die mobile Einheit 1 Zugang zum Internet hat und die datentechnische Verbindung zum externen Server 10 herstellen kann. Dadurch können, solange die datentechnische Verbindung besteht, Daten ausgetauscht und übertragen werden. The registration unit 2 is with the arithmetic unit 5a the mobile unit 1 coupled and the stored data of the voice input can be transmitted. The computing unit 5a the mobile unit 1 is also with the data interface 6a the mobile unit 1 coupled. Furthermore, the computing unit 5b of the external server 10 with the data interface 6b of the external server 10 coupled. Between the data interfaces 6a and 6b the mobile unit 1 and the external server 10 a data connection can be established. In the exemplary embodiment shown, this takes place via a mobile radio network through which the mobile unit 1 Has access to the Internet and the data connection to the external server 10 can manufacture. As a result, data can be exchanged and transmitted as long as the data connection is established.

Die Recheneinheit 5a der mobilen Einheit 1 umfasst einen Spracherkenner 3a, einen Semantikerkenner 4a und eine Suchmaschine 7a. Analog dazu umfasst auch die Recheneinheit 5b des externen Servers 10 einen Spracherkenner 3b, einen Semantikerkenner 4b und eine Suchmaschine 7b.The computing unit 5a the mobile unit 1 includes a speech recognizer 3a , a semantic expert 4a and a search engine 7a , Similarly, the computing unit also includes 5b of the external server 10 a speech recognizer 3b , a semantic expert 4b and a search engine 7b ,

Die Spracherkenner 3a und 3b der mobilen Einheit 1 und des externen Servers 10 erzeugen anhand von Daten einer Spracheingabe jeweils maschinenlesbare Textdaten. Anhand solcher Textdaten erzeugen die Semantikerkenner 4a und 4b der mobilen Einheit 1 und des Servers 10 jeweils Analysedaten. Die Suchmaschinen 7a und 7b der mobilen Einheit 1 und des externen Servers 10 führen anhand solcher Analysedaten und/oder einer Suchanfrage jeweils eine Suche durch und erzeugen dabei Suchergebnisdaten. Zum Beispiel wird im gezeigten Ausführungsbeispiel die Datenbasis einer Datenbank durchsucht, wobei einzelne Einträge ausgegeben werden, die für eine Suchanfrage relevant sind.The speech recognizer 3a and 3b the mobile unit 1 and the external server 10 generate machine-readable text data based on data from a voice input. The semantic recognizer uses such text data to generate 4a and 4b the mobile unit 1 and the server 10 analysis data in each case. The search engines 7a and 7b the mobile unit 1 and the external server 10 conduct a search based on such analysis data and / or a search query and thereby generate search result data. For example, the database of a database is searched in the exemplary embodiment shown, individual entries being output that are relevant to a search query.

Insbesondere können die Daten der Spracheingabe, die von der Erfassungseinheit 2 erfasst werden, direkt als Inputdaten für die Spracherkenner 3a und 3b verwendet werden, die durch die Spracherkenner 3a und 3b erzeugten Textdaten können direkt als Inputdaten für die Semantikerkenner 4a und 4b verwendet werden und die von den Semantikerkennern 4a und 4b erzeugten Analysedaten können direkt von den Suchmaschinen 7a und 7b als Suchanfrage interpretiert werden. Es spielt dabei keine Rolle, von welcher Komponente des Systems, ob der mobilen Einheit 1 oder dem externen Server 10, die Daten erzeugt wurden, die dem jeweils nächsten Schritt als Input dienen. Das System ist also modular aufgebaut, wobei die einzelnen Module untereinander austauschbar sind.In particular, the data of the voice input by the registration unit 2 are recorded directly as input data for the speech recognizer 3a and 3b used by the speech recognizer 3a and 3b Text data generated can be used directly as input data for the semantic recognizer 4a and 4b used and by the semantic recognizer 4a and 4b generated analytical data can directly from the search engines 7a and 7b be interpreted as a search query. It does not matter which component of the system or whether the mobile unit 1 or the external server 10 , the data were generated that serve as input for the next step. The system has a modular structure, with the individual modules being interchangeable.

Mit Bezug zu 2 wird das Ausführungsbeispiel des erfindungsgemäßen Systems sowie ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens mit einer dauerhaften datentechnischen Verbindung erläutert.In reference to 2 the exemplary embodiment of the system according to the invention and an exemplary embodiment of the method according to the invention with a permanent data link are explained.

Das Ausführungsbeispiel wird von dem in 1 dargestellten System ausgeführt. In einem ersten Schritt 201 wird eine Spracheingabe eines Nutzers erfasst. Die dabei erfassten Audiodaten der Spracheingaben werden in einem weiteren Schritt 202 zur Erzeugung erster Inputdaten verwendet. Dabei werden erste Offline-Inputdaten Ioff 1 und erste Online-Inputdaten Ion 1 erzeugt, die im gezeigten Fall identisch sind. Die ersten Online-Inputdaten Ion 1 werden über die datentechnische Verbindung an den Server 10 übertragen.The embodiment is from that in 1 shown system executed. In a first step 201 a voice input from a user is recorded. The audio data recorded in the process of voice inputs are used in a further step 202 used to generate the first input data. The first offline input data I off 1 and first online input data I on 1 generated, which are identical in the case shown. The first online input data I on 1 are via the data connection to the server 10 transfer.

Anschließend wird der erste Teilprozess P1 durchgeführt. Dies erfolgt parallel durch die mobile Einheit 1 und durch den externen Server 10, wobei bei der Durchführung 203a des ersten Teilprozesses P1 durch die mobile Einheit 1 erste Offline-Outputdaten Ooff 1 erzeugt werden. Parallel dazu werden bei der Durchführung 203b des ersten Teilprozesses P1 durch den externen Server 10 erste Online-Outputdaten Oon 1 erzeugt. Letztere werden von dem externen Server 10 zu der mobilen Einheit 1 übertragen und in einem Schritt 204 werden anhand der ersten Offline-Outputdaten Ooff 1 und der ersten Online-Outputdaten Oon 1 zweite Inputdaten zur Durchführung des zweiten Teilprozesses P2 erzeugt. Dabei werden zweite Offline-Inputdaten Ioff 2 und zweite Online-Inputdaten Ion 2 erzeugt.Then the first sub-process P1 carried out. This is done in parallel by the mobile unit 1 and through the external server 10 , while performing 203a of the first sub-process P1 through the mobile unit 1 first offline output data O off 1 be generated. In parallel with the implementation 203b of the first sub-process P1 through the external server 10 first online output data O on 1 generated. The latter are from the external server 10 to the mobile unit 1 transferred and in one step 204 are based on the first offline output data O off 1 and the first online output data O on 1 second input data for the implementation of the second sub-process P2 generated. Thereby second offline input data I off 2 and second online input data I on 2 generated.

Die Erzeugung 204 erfolgt durch einen Vergleich der ersten Offline-Outputdaten Ooff 1 und der ersten Online-Outputdaten Oon 1 . Bei dem gezeigten Beispiel wird im ersten Teilprozess P1 eine Spracherkennung vorgenommen. Dabei wird anhand der im ersten Schritt 201 erfassten Spracheingabe ein maschinenlesbarer Text erkannt.
Bei den parallel durchgeführten Offline- und Online-Spracherkennungsschritten 203a und 203b werden zusätzlich zu jeweils einem erkannten Text Konfidenzwerte bestimmt, die die Qualität der Spracherkennung angeben. Im darauffolgenden Schritt 204 kann anhand dieser Konfidenzwerte der qualitativ bessere erkannte Text bestimmt werden. Alternativ oder zusätzlich zu dem Vergleich der Outputdaten können allgemeine Auswahlregeln definiert sein. Beispielsweise kann angenommen werden, dass stets die von dem externen Server 10 erzeugten Outputdaten gewählt werden sollen.
The production 204 is done by comparing the first offline output data O off 1 and the first online output data O on 1 , In the example shown, the first sub-process P1 made a speech recognition. It is based on the first step 201 machine-readable text recognized voice input.
In the offline and online speech recognition steps carried out in parallel 203a and 203b In addition to a recognized text, confidence values are determined that indicate the quality of the speech recognition. In the next step 204 the better quality of the recognized text can be determined on the basis of these confidence values. As an alternative or in addition to the comparison of the output data, general selection rules can be defined. For example, it can always be assumed that the external server 10 generated output data should be selected.

Der erkannte Text wird als zweite Inputdaten für den zweiten Teilprozess P2, in diesem Fall eine semantische Analyse, verwendet. Die zweiten Offline-Inputdaten Ioff 2 und die zweiten Online-Inputdaten Ion 2 sind daher im Wesentlichen identisch. Die zweiten Online-Inputdaten Ion 2 werden an den externen Server 10 übertragen. Der zweite Teilprozess P2 wird in den Verfahrensschritten 205a und 205b von der mobilen Einheit 1 bzw. von dem externen Server 10 durchgeführt. Dabei werden die zweiten Offline-Outputdaten Ooff 2 bzw. die zweiten Online-Outputdaten Oon 2 erzeugt. Letztere werden über die datentechnische Verbindung an die mobile Einheit 1 übertragen. Die zweiten Outputdaten Ooff 2 und Oon 2 werden in den abschließenden Schritt 206 miteinander verglichen und es wird bestimmt, welche der Analysedaten als finale Outputdaten dienen sollen. Dabei wird im dargestellten Fall eine Plausibilitätsprüfung anhand von erkannten Schlagworten durchgeführt.The recognized text is used as second input data for the second sub-process P2 , in this case a semantic analysis. The second offline input data I off 2 and the second online input data I on 2 are therefore essentially identical. The second online input data I on 2 are to the external server 10 transfer. The second sub-process P2 is in the procedural steps 205a and 205b from the mobile unit 1 or from the external server 10 carried out. The second offline output data O off 2 or the second online output data O on 2 generated. The latter are connected to the mobile unit via the data connection 1 transfer. The second output data O off 2 and O on 2 are in the final step 206 compared with each other and it is determined which of the analysis data should serve as final output data. In the case shown, a plausibility check is carried out on the basis of recognized keywords.

In einem weiteren Ausführungsbeispiel wird anschließend analog zu dem ersten Teilprozess P1 und dem zweiten Teilprozess P2 eine Reihe weiterer Teilprozesse Pn durchgeführt. Insbesondere wird dabei eine Suchanfrage verarbeitet, die anhand der semantischen Analyse im zweiten Teilprozess P2 erkannt wurde. Die Verarbeitung erfolgt analog zu den oben beschriebenen Schritten, d.h. es werden von der mobilen Einheit 1 anhand der Offline-Inputdaten Ioff n Offline-Outputdaten Ooff n erzeugt und es werden von dem externen Server 10 anhand der Online-Inputdaten Ion n Online-Outputdaten Oon n erzeugt. Diese werden schließlich wieder zur mobilen Einheit 1 übertragen und es wird durch einen Vergleich bestimmt, welche Outputdaten weiterverwendet oder verworfen werden sollen.In a further exemplary embodiment, it then becomes analogous to the first subprocess P1 and the second sub-process P2 a number of other sub-processes pn carried out. In particular, a search query is processed based on the semantic analysis in the second sub-process P2 was recognized. The processing is carried out analogously to the steps described above, ie it is done by the mobile unit 1 based on the offline input data I off n Offline output data O off n generated and it will be from the external server 10 based on the online input data I on n Online output data O on n generated. Finally, these become mobile units again 1 transferred and a comparison is made to determine which output data should be used or discarded.

Mit Bezug zu 3 wird das Ausführungsbeispiel des erfindungsgemäßen Systems sowie das Ausführungsbeispiel des erfindungsgemäßen Verfahrens mit einer zwischenzeitlich unterbrochenen datentechnischen Verbindung erläutert.In reference to 3 the exemplary embodiment of the system according to the invention and the exemplary embodiment of the method according to the invention with an intermittently interrupted data connection are explained.

Das Verfahren wird durch das oben mit Bezug zu 1 erläuterte System ausgeführt. Dies geschieht im Wesentlichen analog zu dem oben mit Bezug zu 2 erläuterten Ausführungsbeispiel. Im Unterschied dazu ist in diesem Fall allerdings die datentechnische Verbindung zwischenzeitlich unterbrochen, was in 3 durch eine mehrfache Linie angedeutet ist. Es ist daher nicht möglich, die bei der Durchführung des ersten Teilprozesses P1 durch den externen Server 10 erzeugten ersten Online-Outputdaten Oon 1 an die mobile Einheit 1 zu übertragen. Umgekehrt können die zweiten Online-Inputdaten Ion 2 zur Durchführung des zweiten Teilprozesses P2 nicht von der mobilen Einheit 1 an den externen Server 10 übertragen werden.The procedure is related to the above 1 explained system executed. This is done essentially analogously to that with reference to 2 explained embodiment. In contrast to this, however, the data connection is temporarily interrupted in this case, which is indicated in 3 is indicated by a multiple line. It is therefore not possible to carry out the first sub-process P1 through the external server 10 generated the first online output data O on 1 to the mobile unit 1 transferred to. Conversely, the second online input data I on 2 to carry out the second sub-process P2 not from the mobile unit 1 to the external server 10 be transmitted.

Analog zu dem mit Bezug zu 2 erläuterten Ausführungsbeispiel werden in einem ersten Schritt 301 Daten einer Spracheingabe eines Nutzers erfasst. Diese Daten werden in einem zweiten Schritt 302 zur Erzeugung von ersten Offline-Inputdaten Ioff 1 und ersten Online-Inputdaten Ion 1 verwendet. Die ersten Online-Inputdaten Ion 1 werden an den externen Server 10 übertragen. Anschließend wird der erste Teilprozess P1 von der mobilen Einheit 1 in einem Schritt 303a durchgeführt, wobei erste Offline-Outputdaten Ooff 1 erzeugt werden, während parallel die Durchführung durch den externen Server 10 in einem Schritt 303b erfolgt, wobei erste Online-Outputdaten Oon 1 erzeugt werden. Nach Abschluss des ersten Teilprozesses P1 werden in einem Offline-Schritt 304a und einem Online-Schritt 304b die zweiten Offline-Inputdaten Ioff 2 bzw. die zweiten Online-Inputdaten Ion 2 erzeugt. Diese sind im Allgemeinen nicht gleich zueinander.Analogous to that with reference to 2 illustrated embodiment are in a first step 301 Data recorded by a user's voice input. This data is used in a second step 302 to generate the first offline input data I off 1 and first online input data I on 1 used. The first online input data I on 1 are to the external server 10 transfer. Then the first sub-process P1 from the mobile unit 1 in one step 303a carried out, first offline output data O off 1 are generated while being performed in parallel by the external server 10 in one step 303b takes place, with first online output data O on 1 be generated. After completing the first sub-process P1 be in an offline step 304a and an online step 304b the second offline input data I off 2 or the second online input data I on 2 generated. These are generally not the same as each other.

Anschließend wird der zweite Teilprozess P2 durchgeführt, wobei in einem Schritt 305a durch die mobile Einheit 1 zweite Offline-Outputdaten Ooff 2 erzeugt werden und in einem Schritt 305b durch den externen Server 10 zweite Online-Outputdaten Oon 2 erzeugt werden. Da im dargestellten Fall die datentechnische Verbindung wieder hergestellt wurde, werden die erzeugten zweiten Online-Outputdaten Oon 2 an die mobile Einheit übertragen und in einem weiteren Schritt 306 wird anhand der zweiten Offline-Outputdaten Ooff 2 und der zweiten Online-Outputdaten Oon 2 bestimmt, welches die finalen Outputdaten sein sollen.Then the second sub-process P2 performed, in one step 305a through the mobile unit 1 second offline output data O off 2 be generated and in one step 305b through the external server 10 second online output data O on 2 be generated. Since the data connection was re-established in the case shown, the second online output data generated O on 2 transmitted to the mobile unit and in a further step 306 is based on the second offline output data O off 2 and the second online output data O on 2 determines what the final output data should be.

In dem gezeigten Fall des Ausführungsbeispiels erkennt das System, dass die datentechnische Verbindung nicht besteht, und die Erzeugung 304a der zweiten Offline-Inputdaten Ioff 2 erfolgt sofort nach der Erzeugung 303a der ersten Offline-Outputdaten Ooff 1 . Ferner erfolgt die Erzeugung der zweiten Online-Inputdaten Ion 2 in Schritt 304b sofort nach der Erzeugung 303b der ersten Online-Outputdaten Oon 1 .In the case of the exemplary embodiment shown, the system recognizes that the data connection is not established and the generation 304a the second offline input data I off 2 takes place immediately after generation 303a the first offline output data O off 1 , The second online input data is also generated I on 2 in step 304b immediately after generation 303b the first online output data O on 1 ,

In einem weiteren Ausführungsbeispiel umfassen die Schritte 304a und 304b der Erzeugung der zweiten Inputdaten eine Wartebedingung, wobei für eine bestimmte Zeit gewartet wird, ob beide erste Outputdaten vorliegen oder ob diese nicht übertragen werden. Nach Ablauf der bestimmten Zeit erfolgt die Erzeugung der Inputdaten anhand der vorliegenden Outputdaten des zuvor durchgeführten Teilprozesses Pn.In another embodiment, the steps include 304a and 304b the generation of the second input data is a waiting condition, with a wait being carried out for a certain time as to whether both first output data are present or whether these are not being transmitted. After the specified time has elapsed, the input data is generated on the basis of the existing output data of the previously carried out subprocess pn ,

Mit Bezug zu 4 wird das Ausführungsbeispiel des erfindungsgemäßen Systems und das Ausführungsbeispiel des erfindungsgemäßen Verfahrens mit einer zeitlich verzögerten Durchführung von Teilprozessen erläutert.In reference to 4 the exemplary embodiment of the system according to the invention and the exemplary embodiment of the method according to the invention with a time-delayed execution of subprocesses are explained.

Die Durchführung des Verfahrens erfolgt mit dem in 1 dargestellten System. Im Unterschied zu den mit Bezug zu 2 und 3 dargestellten Fällen erfolgt die Durchführung der einzelnen Schritte auf dem externen Server 10 und der mobilen Einheit 1 nicht synchron.The procedure is carried out with the in 1 shown system. Unlike those related to 2 and 3 In the cases shown, the individual steps are carried out on the external server 10 and the mobile unit 1 not in sync.

Zunächst wird in einem ersten Schritt 401 eine Spracheingabe eines Nutzers erfasst und es werden in einem zweiten Schritt 402 erste Offline-Inputdaten Ioff 1 und erste Online-Inputdaten Ion 1 erzeugt. Diese sind im gezeigten Fall im Wesentlichen gleich. Die ersten Online-Inputdaten Ion 1 werden zum externen Server 10 übertragen. Die Durchführung des ersten Teilprozesses P1 erfolgt durch den externen Server 10 in einem Online-Schritt 403b und durch die mobile Einheit in einem Offline-Schritt 403a. Dabei dauert die Durchführung des Online-Schrittes 403b länger als die Durchführung des Offline-Schrittes 403a. Das heißt, es werden erste Offline-Outputdaten Ooff 1 erzeugt, während die ersten Online-Outputdaten Oon 1 noch nicht vorliegen. Das System setzt daher die Verarbeitung der Spracheingabe durch die mobile Einheit 1 im nächsten Schritt 404 fort, wobei anhand der ersten Offline-Outputdaten Ooff 1 zweite Offline-Inputdaten Ioff 2 erzeugt werden und anhand dieser der zweite Teilprozess P2 in einem weiteren Schritt 405a durchgeführt wird.First, in a first step 401 recorded a voice input from a user and it are in a second step 402 first offline input data I off 1 and first online input data I on 1 generated. In the case shown, these are essentially the same. The first online input data I on 1 become the external server 10 transfer. The implementation of the first sub-process P1 done by the external server 10 in one online step 403b and by the mobile unit in an offline step 403a , The online step takes time 403b longer than performing the offline step 403a , This means that the first offline output data O off 1 generated while the first online output data O on 1 not yet available. The system therefore sets the processing of voice input by the mobile unit 1 in the next step 404 continued, using the first offline output data O off 1 second offline input data I off 2 generated and based on this the second sub-process P2 in a further step 405a is carried out.

In dem gezeigten Fall des Ausführungsbeispiels wird zu dieser Zeit die Durchführung des ersten Teilprozesses P1 durch den externen Server 10 abgeschlossen und es werden erste Online-Outputdaten Oon 1 erzeugt und an die mobile Einheit 1 übertragen. In einem parallelen Schritt 404' wird überprüft, ob die ersten Offline-Outputdaten Ooff 1 gegenüber den hinzugekommenen ersten Online-Outputdaten Oon 1 eine ausreichende Qualität aufweisen. Falls in diesem Schritt 404` bestimmt wird, dass die von der mobilen Einheit 1 erzeugten ersten Offline-Outputdaten Ooff 1 gut genug sind (dieser Fall ist in der 4 nicht dargestellt), so wird die Ausführung der Teilprozesse Pn so fortgesetzt, wie sie bereits begonnen wurde und es werden zweite Online-Inputdaten Ion 2 , die im Wesentlichen den zuvor im Schritt 404 erzeugten zweiten Offline-Inputdaten Ioff 2 entsprechen, an den externen Server 10 übertragen und zur Durchführung des zweiten Teilprozesses P2 verwendet.In the case of the exemplary embodiment shown, the execution of the first subprocess is carried out at this time P1 through the external server 10 completed and there will be first online output data O on 1 generated and sent to the mobile unit 1 transfer. In a parallel step 404 ' it is checked whether the first offline output data O off 1 compared to the first online output data O on 1 are of sufficient quality. If it is determined in this step 404` that that of the mobile unit 1 generated the first offline output data O off 1 are good enough (this case is in the 4 not shown), so the execution of the subprocesses pn continue as it was already started and there will be second online input data I on 2 that are essentially the same as the previous step 404 generated second offline input data I off 2 correspond to the external server 10 transferred and to carry out the second sub-process P2 used.

Wird dagegen festgestellt, dass die ersten Online-Outputdaten Oon 1 , die durch den externen Server 10 erzeugt wurden, besser zur Fortsetzung geeignet sind, so wird die Durchführung 405a des zweiten Teilprozesses P2 durch die mobile Einheit 1 abgebrochen (407) und es werden nochmal zweite Offline-Inputdaten Ioff 2 und zweite Online-Inputdaten Ion 2 erzeugt. Letztere werden an den externen Server 10 übertragen, wo daraufhin in einem Online-Schritt 405b' zweite Online-Outputdaten Oon 2 erzeugt und an die mobile Einheit 1 übertragen werden. Parallel dazu werden durch die mobile Einheit 1 in einem Offline-Schritt 405a' anhand der zweiten Offline-Inputdaten Ioff 2 zweite Offline-Outputdaten Ooff 2 erzeugt. In einem abschließenden Schritt 406 wird bestimmt, welche der zweiten Outputdaten als finale Outputdaten verwendet werden.However, it is found that the first online output data O on 1 by the external server 10 generated, are more suitable for continuation, so the implementation 405a of the second sub-process P2 through the mobile unit 1 canceled (407) and there are again two offline input data I off 2 and second online input data I on 2 generated. The latter are sent to the external server 10 transferred, whereupon in an online step 405b ' second online output data O on 2 generated and sent to the mobile unit 1 be transmitted. In parallel, the mobile unit 1 in an offline step 405a ' based on the second offline input data I off 2 second offline output data O off 2 generated. In a final step 406 it is determined which of the second output data are used as final output data.

Die gezeigten Fälle des Ausführungsbeispiels des erfindungsgemäßen Verfahrens können auch in Kombination auftreten. Insbesondere kann eine beliebige Zahl weiterer Teilprozesse analog zu den dargestellten Teilprozessen Pn durchgeführt werden. Dabei werden zeitliche Verzögerungen, etwa durch eine instabile datentechnische Verbindung und/oder die unterschiedliche Leistungsfähigkeit der mobilen Einheit 1 und des externen Servers 10 berücksichtigt.The illustrated cases of the exemplary embodiment of the method according to the invention can also occur in combination. In particular, any number of further subprocesses can be analogous to the subprocesses shown pn be performed. There are delays, for example due to an unstable data connection and / or the different performance of the mobile unit 1 and the external server 10 considered.

In einem weiteren Ausführungsbeispiel umfasst die Verarbeitung der Spracheingabe auch Teilprozesse, die lediglich von der mobilen Einheit 1 oder von dem externen Server 1 ausgeführt werden können. Dazu gehört etwa die Durchführung einer Suche auf Basis einer Datenbank des externen Servers 10, auf die die mobile Einheit 1 nicht direkt zugreifen kann, oder der Zugriff auf eine Einrichtung der mobilen Einheit, etwa eines Navigationssystems, eines Kalenderprogramms, eines Adressbuchs oder einer Multimediaeinrichtung, auf die der externe Server 10 nicht direkt zugreifen kann. Dies ist kein Teilprozess Pn im oben beschriebenen Sinne einer modularen Funktionalität, die sowohl durch die mobile Einheit 1 und den externen Server 10 ausgeführt werden kann. Dennoch können auch solche speziellen Funktionalitäten der Systemkomponenten anhand von Outputdaten, die erfindungsgemäß erzeugt wurden, ausgeführt werden und/oder sie können Inputdaten zur Ausführung weiterer Teilprozesse Pn erzeugen.In a further exemplary embodiment, the processing of the voice input also includes subprocesses that are only carried out by the mobile unit 1 or from the external server 1 can be executed. This includes performing a search based on a database on the external server 10 on which the mobile unit 1 cannot access directly, or access to a device of the mobile unit, such as a navigation system, a calendar program, an address book or a multimedia device, to which the external server 10 cannot access directly. This is not a sub-process pn in the sense described above of a modular functionality, both by the mobile unit 1 and the external server 10 can be executed. Nevertheless, such special functionalities of the system components can also be carried out on the basis of output data that were generated according to the invention and / or they can be input data for executing further sub-processes pn produce.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

11
Mobile EinheitMobile unit
22
Erfassungseinheitacquisition unit
2a2a
Mikrofonmicrophone
3a3a
Spracherkenner der mobilen EinheitSpeech recognizer of the mobile unit
3b3b
Spracherkenner des externen ServersSpeech recognizer of the external server
4a4a
Semantikerkenner der mobilen EinheitSemantic recognizer of the mobile unit
4b4b
Semantikerkenner des externen ServersSemantic recognizer of the external server
5a5a
Recheneinheit der mobilen EinheitComputing unit of the mobile unit
5b5b
Recheneinheit des externen ServersComputing unit of the external server
6a6a
Datenschnittstelle der mobilen EinheitData interface of the mobile unit
6b6b
Datenschnittstelle des externen ServersData interface of the external server
7a7a
Suchmaschine der mobilen EinheitMobile unit search engine
7b7b
Suchmaschine des externen ServersSearch engine of the external server
1010
Externer ServerExternal server
P1, P2, PnP1, P2, Pn
Teilprozessesubprocesses
Ion 1, Ion 2, Ion n I on 1 , I on 2 , I on n
Online-InputdatenOnline input data
Ioff 1, Ioff 2, Ioff n I off 1 , I off 2 , I off n
Offline-InputdatenOffline Input data
Oon 1, Oon 2, Oon n O on 1 , O on 2 , O on n
Online-OutputdatenOnline output data
Ooff 1, Ooff 2, Ooff n O off 1 , O off 2 , O off n
Offline-OutputdatenOffline output data
201, 301, 401201, 301, 401
Erfassung einer SpracheingabeAcquisition of a voice input
202, 302, 402202, 302, 402
Erzeugung der ersten InputdatenGeneration of the first input data
203a, 303a, 403a203a, 303a, 403a
Durchführung erster Teilprozess (mobile Einheit)Implementation of the first sub-process (mobile unit)
203b, 303b, 403b203b, 303b, 403b
Durchführung erster Teilprozess (externer Server)Implementation of the first sub-process (external server)
204, 404, 404'204, 404, 404 '
Erzeugung der ersten InputdatenGeneration of the first input data
205a, 305a, 405a, 405a'205a, 305a, 405a, 405a '
Durchführung erster Teilprozess (mobile Einheit)Implementation of the first sub-process (mobile unit)
205b, 305b, 405b'205b, 305b, 405b '
Durchführung erster Teilprozess (externer Server)Implementation of the first sub-process (external server)
206, 306, 406206, 306, 406
Erzeugung finale OutputdatenGeneration of final output data
304a304a
Erzeugung der zweiten Inputdaten (mobile Einheit)Generation of the second input data (mobile unit)
304b304b
Erzeugung der zweiten Inputdaten (externer Server)Generation of the second input data (external server)
407407
Abbruchcancellation

Claims (8)

Verfahren zum rechnergestützten Verarbeiten einer Spracheingabe für eine mobile Einheit (1) und einen externen Server (10), zwischen denen zumindest zeitweise eine datentechnische Verbindung besteht, wobei zumindest zwei Teilprozesse (Pn, P1, P2) ausgeführt werden, die sowohl von der mobilen Einheit (1) als auch von dem externen Server (10) ausführbar sind, bei dem die Spracheingabe von der mobilen Einheit erfasst wird und die folgenden Schritte ausgeführt werden: (a) für den ersten Teilprozess werden offline-Inputdaten (Ioff 1, Ioff n) und online-Inputdaten (Ion 1, Ion n) erzeugt, (b) falls die datentechnische Verbindung besteht, werden die online-Inputdaten (Ion 1, Ion n) an den externen Server übertragen, (c) von der mobilen Einheit (1) wird der aktuelle Teilprozess (Pn, P1, P2) ausgeführt, wobei anhand der offline-Inputdaten (Ioff 1, Ioff n) offline-Outputdaten (Ooff 1, Ooff n) erzeugt werden, (d) falls die online-Inputdaten (Ion 1, Ion n) an den externen Server übertragen worden oder von ihm erzeugt worden sind, wird von dem externen Server (10) der aktuelle Teilprozess (Pn, P1, P2) ausgeführt, wobei anhand der online-Inputdaten (Ion 1, Ion n) online-Outputdaten (Oon 1, Oon n) erzeugt werden, und, falls die datentechnische Verbindung besteht, werden die online-Outputdaten (Oon 1, Oon n) an die mobile Einheit (1) übertragen, und (e) neue offline-Inputdaten (Ioff 2, Ioff n) und neue online-Inputdaten (Ion 2, Ion n) werden für den nächsten Teilprozess (Pn, P1, P2) erzeugt, wobei die durch den aktuellen Teilprozess (Pn, P1, P2) erzeugten Outputdaten (Ooff 1, Ooff n, Oon 1, Oon n) entweder direkt als die neuen Inputdaten (Ioff 2, Ioff n, Ion 2, Ion n) dienen oder aus den durch den aktuellen Teilprozess (Pn, P1, P2) erzeugten Outputdaten (Ooff 1, Ooff n, Oon 1, Oon n) die neuen Inputdaten (Ioff 2, Ioff n, Ion 2, Ion n) erzeugt werden; wobei die Schritte (c) bis (e) für jeden der Teilprozesse (Pn, P1, P2) ausgeführt werden, wobei jeweils der nächste Teilprozess (Pn, P1, P2) ausgeführt wird, bis der letzte Teilprozess (Pn, P1, P2) ausgeführt worden ist, wobei, falls in Schritt (d) die online-Outputdaten (Oon 1, Oon n) nicht an die mobile Einheit (1) übertragen wurden, in Schritt (e) die neuen online-Inputdaten (Ion 2, Ion n) anhand der online-Outputdaten (Oon 1, Oon n) erzeugt werden und die neuen offline-Inputdaten (Ioff 2, Ioff n) anhand der offline-Outputdaten (Ooff 1, OOff n) erzeugt werden.Method for computer-aided processing of a voice input for a mobile unit (1) and an external server (10), between which there is at least occasionally a data connection, at least two subprocesses (Pn, P1, P2) being carried out, both by the mobile unit (1) as well as from the external server (10), in which the voice input is recorded by the mobile unit and the following steps are carried out: (a) offline input data (I off 1 , I off n ) and online input data (I on 1 , I on n ) are generated, (b) if the data connection exists, the online input data (I on 1 , I on n ) are transmitted to the external server, (c) from the current sub-process (Pn, P1, P2) is carried out for the mobile unit (1), offline output data (O off 1 , O off n ) being generated on the basis of the offline input data (I off 1 , I off n ), ( d) if the online input data (I on 1 , I on n ) to the ext If the server has been transferred or generated by it, the external server (10) executes the current sub-process (Pn, P1, P2), whereby online output data (I on 1 , I on n ) O on 1 , O on n ) are generated, and, if the data connection exists, the online output data (O on 1 , O on n ) are transmitted to the mobile unit (1), and (e) new offline input data (I off 2 , I off n ) and new online input data (I on 2 , I on n ) are generated for the next sub-process (Pn, P1, P2), the data generated by the current sub-process (Pn, P1, P2) Output data generated (O off 1 , O off n , O on 1 , O on n ) either serve directly as the new input data (I off 2 , I off n , I on 2 , I on n ) or from the data generated by the current subprocess (Pn, P1, P2) generated output data (O off 1 , O off n , O on 1 , O on n ) the new input data (I off 2 , I off n , I on 2 , I on n ) are generated; steps (c) to (e) being carried out for each of the subprocesses (Pn, P1, P2), the next subprocess (Pn, P1, P2) being carried out until the last subprocess (Pn, P1, P2) has been carried out, wherein if the online output data (O on 1 , O on n ) were not transmitted to the mobile unit (1) in step (d), the new online input data (I on 2 , I on n ) based on the online output data (O on 1 , O on n ) and the new offline input data (I off 2 , I off n ) based on the offline output data (O off 1 , O Off n ) be generated. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass einer der Teilprozesse (Pn, P1, P2) eine Spracherkennung umfasst, wobei die offline-Inputdaten (Ioff n) und die online-Inputdaten (Ion n) identisch sind und anhand der Spracheingabe erzeugt werden, und die offline-Outputdaten (OOff n) und die online-Outputdaten (Oonn) jeweils maschinenlesbare Textdaten umfassen.Procedure according to Claim 1 , characterized in that one of the sub-processes (Pn, P1, P2) comprises voice recognition, the offline input data (I off n ) and the online input data (I on n ) being identical and being generated on the basis of the voice input, and the offline output data (O Off n ) and online output data (O on n) each include machine-readable text data. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass einer der Teilprozesse (Pn, P1, P2) die Erzeugung einer semantischen Analyse umfasst, wobei die offline-Inputdaten (Ioff n) und die online-Inputdaten (Ion n) jeweils maschinenlesbare Textdaten umfassen und die offline-Outputdaten (OOff n) und die online-Outputdaten (Oonn) jeweils Analysedaten umfassen.That one of the sub-processes (Pn, P1, P2) A method according to any one of the preceding claims, characterized in that the generation of a semantic analysis, wherein said offline input data (I n off), and include the online input data (I n on) each machine-readable text data and the offline data output (O Off n) and the line-output data (O n on) each include analysis data. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass einer der Teilprozesse (Pn, P1, P2) die Durchführung einer Suche umfasst, wobei die offline-Inputdaten (Ioff n) und die online-Inputdaten (Ion n) jeweils Analysedaten umfassen und die offline-Outputdaten (OOff n) und die online-Outputdaten (Oonn) jeweils Suchergebnisdaten umfassen.Method according to one of the preceding claims, characterized in that one of the sub-processes (Pn, P1, P2) comprises performing a search, the offline input data (I off n ) and the online input data (I on n ) each comprising analysis data and the offline output data (O Off n ) and the online output data (O on n) each include search result data. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass, falls in Schritt (d) die online-Outputdaten (Oon 1, Oon n) an die mobile Einheit (1) übertragen wurden, die in Schritt (e) erzeugten neuen online-Inputdaten (Ion 2, Ion n) und neuen offline-Inputdaten (Ioff 2, Ioff n) für den jeweils nächsten Teilprozess (Pn, P1, P2) anhand eines Vergleichs der online-Outputdaten (Oon 1, Oon n) und der offline-Outputdaten (Ooff 1, OOff n) erzeugt werden.Method according to one of the preceding claims, characterized in that, if in step (d) the online output data (O on 1 , O on n ) were transmitted to the mobile unit (1), the new online generated in step (e) -Input data (I on 2 , I on n ) and new offline input data (I off 2 , I off n ) for the next sub-process (Pn, P1, P2) based on a comparison of the online output data (O on 1 , O on n ) and the offline output data (O off 1 , O Off n ) are generated. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass, falls in Schritt (d) die online-Outputdaten (Oon 1, Oon n) an die mobile Einheit (1) übertragen wurden, nachdem bereits ein weiterer Teilprozess (Pn, P1, P2) gestartet wurde, anhand eines Vergleichs der online-Outputdaten (Oon 1, Oon n) mit den zugeordneten offline-Outputdaten (Ooff 1, OOff n) bestimmt wird, ob die späteren Teilprozesse (Pn, P1, P2) mit nochmal erzeugten neuen online-Inputdaten (Ion 2, Ion n) und neuen offline-Inputdaten (Ioff 2, Ioff n) nochmals durchgeführt werden sollen.Method according to one of the preceding claims, characterized in that if in step (d) the online output data (O on 1 , O on n ) have been transmitted to the mobile unit (1) after another subprocess (Pn, P1 , P2) was started, on the basis of a comparison of the online output data (O on 1 , O on n ) with the assigned offline output data (O off 1 , O Off n ) it is determined whether the subsequent subprocesses (Pn, P1, P2 ) with newly generated new online input data (I on 2 , I on n ) and new offline input data (I off 2 , I off n ). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass, nachdem der letzte Teilprozess (Pn, P1, P2) ausgeführt worden ist, anhand der offline-Outputdaten (OOff n) und der online-Outputdaten (Oonn) finale Outputdaten erzeugt werden.Method according to one of the preceding claims, characterized in that after the last sub-process (Pn, P1, P2) has been carried out, final output data is generated on the basis of the offline output data (O Off n ) and the online output data (O on n) become. System zum rechnergestützten Verarbeiten einer Spracheingabe mit einer mobilen Einheit (1) und einem externen Server (10), wobei durch eine Erfassungseinheit der mobilen Einheit (1) die Spracheingabe erfassbar ist und die mobile Einheit (1) und der externe Server (10) jeweils eine Datenschnittstelle (6a, 6b) und jeweils eine Recheneinheit (5a, 5b) umfassen, wobei durch die Datenschnittstelle (6a) der mobilen Einheit (1) und die Datenschnittstelle (6b) des externen Servers (10) wenigstens zeitweise eine datentechnische Verbindung zwischen der mobilen Einheit (1) und dem externen Server (10) herstellbar ist und zumindest zwei Teilprozesse (Pn, P1, P2) sowohl von der Recheneinheit (5a) der mobilen Einheit (1) als auch von der Recheneinheit (5b) des externen Servers (10) ausführbar sind, wobei durch einen Teilprozess (Pn, P1, P2) erzeugte Outputdaten (Ooff 1, Ooff n, Oon 1, Oon n) entweder direkt als Inputdaten (Ioff 2, Ioff n, Ion 2, Ion n) für einen darauf folgenden Teilprozess (Pn, P2) dienen oder aus den durch einen Teilprozess (Pn, P1, P2) erzeugten Outputdaten (Ooff 1, Ooff n, Oon 1, Oon n) die Inputdaten (Ioff 2, Ioff n, Ion 2, Ionn) für den nächsten Teilprozess (Pn, P2) erzeugt werden, wobei, falls in Schritt (d) die online-Outputdaten (Oon 1, Oon n) nicht an die mobile Einheit (1) übertragen wurden, in Schritt (e) die neuen online-Inputdaten (Ion 2, Ion n) anhand der online-Outputdaten (Oon 1, Oon n) erzeugt werden und die neuen offline-Inputdaten (Ioff 2, Ioff n) anhand der offline-Outputdaten (Ooff 1, OOff n) erzeugt werden.System for computer-aided processing of a voice input with a mobile unit (1) and an external server (10), the voice input and the mobile unit (1) and the external server (10) in each case being detectable by a detection unit of the mobile unit (1) a data interface (6a, 6b) and each include a computing unit (5a, 5b), with the data interface (6a) of the mobile unit (1) and the data interface (6b) of the external server (10) at least temporarily a data link between the mobile unit (1) and the external server (10) can be produced and at least two subprocesses (Pn, P1, P2) both from the computing unit (5a) of the mobile unit (1) and from the computing unit (5b) of the external server ( 10) are executable, output data (O off 1 , O off n , O on 1 , O on n ) generated by a subprocess (Pn, P1, P2) either directly as input data (I off 2 , I off n , I on 2 , I on n ) for a subsequent Te serve process (Pn, P2) or from the output data (O off 1 , O off n , O on 1 , O on n ) generated by a sub-process (Pn, P1, P2) the input data (I off 2 , I off n , I on 2 , I on n) are generated for the next sub-process (Pn, P2), whereby if in step (d) the online output data (O on 1 , O on n ) are not transmitted to the mobile unit (1) in step (e) the new online input data (I on 2 , I on n ) are generated based on the online output data (O on 1 , O on n ) and the new offline input data (I off 2 , I off n ) are generated on the basis of the offline output data (O off 1 , O Off n ).
DE102015212650.1A 2015-07-07 2015-07-07 Method and system for computer-assisted processing of a speech input Active DE102015212650B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102015212650.1A DE102015212650B4 (en) 2015-07-07 2015-07-07 Method and system for computer-assisted processing of a speech input

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015212650.1A DE102015212650B4 (en) 2015-07-07 2015-07-07 Method and system for computer-assisted processing of a speech input

Publications (2)

Publication Number Publication Date
DE102015212650A1 DE102015212650A1 (en) 2017-01-12
DE102015212650B4 true DE102015212650B4 (en) 2020-02-13

Family

ID=57584165

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015212650.1A Active DE102015212650B4 (en) 2015-07-07 2015-07-07 Method and system for computer-assisted processing of a speech input

Country Status (1)

Country Link
DE (1) DE102015212650B4 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017213946B4 (en) 2017-08-10 2022-11-10 Audi Ag Method for processing a recognition result of an automatic online speech recognizer for a mobile terminal
DE102017216513A1 (en) 2017-09-19 2018-09-27 Audi Ag A method of processing a voice input over which a user specifies a location on an operator terminal, and operating device and motor vehicle
DE102019201413A1 (en) 2019-02-04 2020-08-06 Volkswagen Aktiengesellschaft Method for operating and / or controlling a dialog system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132084A1 (en) * 2011-11-18 2013-05-23 Soundhound, Inc. System and method for performing dual mode speech recognition
US8543397B1 (en) * 2012-10-11 2013-09-24 Google Inc. Mobile device voice activation
US20130346078A1 (en) * 2012-06-26 2013-12-26 Google Inc. Mixed model speech recognition
US20140136183A1 (en) * 2012-11-12 2014-05-15 Nuance Communications, Inc. Distributed NLU/NLP

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2909833B1 (en) 2012-10-16 2016-07-13 Audi AG Speech recognition in a motor vehicle
DE102012022630A1 (en) 2012-11-20 2013-06-06 Daimler Ag Method for communication of driver with driver assistance system of motor vehicle positioned in autonomous driving mode, involves processing natural-language input and carrying out natural-language output of information to driver

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132084A1 (en) * 2011-11-18 2013-05-23 Soundhound, Inc. System and method for performing dual mode speech recognition
US20130346078A1 (en) * 2012-06-26 2013-12-26 Google Inc. Mixed model speech recognition
US8543397B1 (en) * 2012-10-11 2013-09-24 Google Inc. Mobile device voice activation
US20140136183A1 (en) * 2012-11-12 2014-05-15 Nuance Communications, Inc. Distributed NLU/NLP

Also Published As

Publication number Publication date
DE102015212650A1 (en) 2017-01-12

Similar Documents

Publication Publication Date Title
DE69725802T2 (en) Pre-filtering using lexical trees for speech recognition
DE60222093T2 (en) METHOD, MODULE, DEVICE AND VOICE RECOGNITION SERVER
DE112015003382B4 (en) Speech recognition device and speech recognition method
EP1361739A1 (en) Method and system for speech signal processing with preceding language recognition
DE102015212650B4 (en) Method and system for computer-assisted processing of a speech input
DE10220521B4 (en) Method and system for processing voice data and classifying calls
EP3095114B1 (en) Method and system for generating a control command
DE60220763T2 (en) AUTOMATIC DIALOGUE SYSTEM WITH A DATABASE-BASED LANGUAGE MODEL
EP0987682B1 (en) Method for adapting linguistic language models
EP1361740A1 (en) Method and system for dialogue speech signal processing
EP3152753B1 (en) Assistance system that can be controlled by means of voice inputs, having a functional device and a plurality of voice recognition modules
DE10220522B4 (en) Method and system for processing voice data using voice recognition and frequency analysis
WO2021144155A1 (en) Method, computer program, and apparatus for processing a user input
EP1340169A2 (en) Method and device for automatically issuing information using a search engine
EP3735688B1 (en) Method, device and computer-readable storage medium having instructions for processing a speech input, motor vehicle, and user terminal with speech processing
EP1363271A1 (en) Method and system for processing and storing of dialogue speech data
EP1402520B1 (en) Method for recognition of speech information
WO2020126217A1 (en) Method, arrangement and use for producing a response output in reply to voice input information
WO2018188907A1 (en) Processing speech input
EP4027333B1 (en) Virtual speech assistant with improved recognition accuracy
EP0834860B1 (en) Speech recognition method with context dependent hidden Markov models
DE102018127010A1 (en) Method, computer program and device for automated computer-based communication processing
DE10253868B3 (en) Test and reference pattern synchronization method e.g. for speech recognition system, has test pattern potential synchronization points associated with reference synchronization points
DE10220519A1 (en) Speech information dialogue processing system for call centre interactive voice response systems converts telephone caller speech to text for display using expert system database
EP1251491A2 (en) Method for querying database records by speech input

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R082 Change of representative

Representative=s name: REITSTOETTER KINZEBACH, DE

R018 Grant decision by examination section/examining division
R020 Patent grant now final