[go: up one dir, main page]

DE60217902T2 - Verfahren zum betrieb eines unterbrechnungs-dialogsystems - Google Patents

Verfahren zum betrieb eines unterbrechnungs-dialogsystems Download PDF

Info

Publication number
DE60217902T2
DE60217902T2 DE60217902T DE60217902T DE60217902T2 DE 60217902 T2 DE60217902 T2 DE 60217902T2 DE 60217902 T DE60217902 T DE 60217902T DE 60217902 T DE60217902 T DE 60217902T DE 60217902 T2 DE60217902 T2 DE 60217902T2
Authority
DE
Germany
Prior art keywords
user
speech
servers
unit
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60217902T
Other languages
English (en)
Other versions
DE60217902D1 (de
Inventor
Marc Helbing
Frank Benecken
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.)
Philips Intellectual Property and Standards GmbH
Original Assignee
Philips Intellectual Property and Standards GmbH
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 Philips Intellectual Property and Standards GmbH filed Critical Philips Intellectual Property and Standards GmbH
Publication of DE60217902D1 publication Critical patent/DE60217902D1/de
Application granted granted Critical
Publication of DE60217902T2 publication Critical patent/DE60217902T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Machine Translation (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Bus Control (AREA)
  • Underground Or Underwater Handling Of Building Materials (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Betrieb eines Unterbrechungsdialogsystems zur parallelen Nutzung durch eine Vielzahl von Benutzern, d. h. zur Nutzung im so genanntem „Multiuser-Betrieb". Darüber hinaus bezieht sich die Erfindung auf ein entsprechendes Unterbrechungsdialogsystem. Als Unterbrechungsdialogsysteme sind Sprachdialogsysteme zu verstehen, die es einem Benutzer möglich machen, eine laufende Systemausgabe zu unterbrechen.
  • Sprachdialogsysteme, die mit einem Benutzer kommunizieren und dabei Spracherkennungs- bzw. Sprachausgabevorrichtungen nutzen, sind seit langer Zeit bekannt. Ein Beispiel hierfür sind automatische Anrufbeantworter und Auskunftssysteme, wie sie zwischenzeitlich insbesondere von mehreren größeren Firmen und Büros verwendet werden, um einem Anrufer die gewünschten Informationen auf möglichst schnelle und bequeme Weise zu liefern oder ihn mit einer Stelle zu verbinden, die für die speziellen Wünsche des Anrufers zuständig ist. Weitere Beispiele hierfür sind automatische Verzeichnisauskunftssysteme, automatische Fahrplanauskunftssysteme, Informationsdienste mit allgemeinen Informationen zu Ereignissen für eine bestimmte Region, zum Beispiel Kino- oder Theaterprogrammen, oder auch Kombinationen der verschiedenen Auskunftssysteme. Derartige sprachgesteuerte automatische Dialogsysteme werden oft als Sprachportale oder Sprachanwendungen bezeichnet.
  • Um für verschiedene Benutzer gleichzeitig zu Diensten zu sein, muss das Dialogsystem entsprechend eine Vielzahl von Zugriffskanälen für die Benutzer umfassen. Hierbei kann es sich um Zugriffskanäle zur Verbindung mit einem geeigneten Endgerät des Benutzers handeln, das eine akustische Benutzeroberfläche mit einem Mikrofon für den Benutzer zur Eingabe von Sprachbefehlen an das Dialogsystem und mit einem Lautsprecher, Kopfhörer oder dergleichen zur Ausgabe von akustischen Systemausgaben an den Benutzer umfasst. Bei dem Endgerät kann es sich zum Beispiel um ein Telefon, eine Mobilfunkvorrichtung oder einen PC des Benutzers handeln und die Zugriffskanäle können entsprechende Telefon- und/oder Internetverbindungen sein. Bei einem stationären Dialogsystem, zum Beispiel einem Endgerät an einem öffentlichen Ort wie einem Bahnhof, einem Flughafen, einem Museum usw., können die Zugriffskanäle zum Beispiel Headsets oder dergleichen sein, über die die Benutzer mit dem Endgerät kommunizieren können. Außerdem umfasst das Sprachdialogsystem üblicherweise für jeden Zugriffskanal eine Dialogsteuerung in Form eines Softwaremoduls. Diese Dialogsteuerung steuert den Betrieb eines Dialogs mit einem Benutzer über den betreffenden Zugriffskanal und veranlasst, zum Beispiel an bestimmten Positionen im Dialogbetrieb, eine Systemausgabe für den Benutzer über den betreffenden Zugriffskanal.
  • Die Systemausgabe – im Allgemeinen auch als Bereitmeldung oder Prompt bezeichnet – kann zum Beispiel eine Eingabeaufforderung an den Benutzer oder die vom Benutzer angeforderte Information sein. Um eine derartige akustische Bereitmeldung zu erzeugen, muss das Sprachdialogsystem über eine geeignete Sprachausgabevorrichtung verfügen, zum Beispiel einen Text-Sprache-Umsetzer, der Textinformationen des Dialogsystems in Sprache für den Benutzer umsetzt und diese über den Zugriffskanal ausgibt. Die Sprachausgabevorrichtung kann jedoch auch vorgefertigte gespeicherte Tondateien enthalten, die dem Benutzer zum geeigneten Zeitpunkt vorgespielt werden. In der Regel hat das Sprachdialogsystem für jeden Zugriffskanal eine eigene Sprachausgabevorrichtung. Es ist jedoch möglich, dass sich mehrere Zugriffskanäle eine gemeinsame Sprachausgabevorrichtung teilen.
  • Um das Eintreffen eines Sprachsignals auf einem Zugriffskanal zu erkennen, d. h. eine beliebige Sprachäußerung des Benutzers, z.B. ein Wort, eine Wortkombination oder einen Satz, und um in der Lage zu sein, angemessen darauf zu reagieren, wird eine Spracherkennungseinheit – üblicherweise ein Softwaremodul – verwendet. Die Audiodaten des Sprachsignals werden zu diesem Zweck an die Spracherkennungseinheit übermittelt und die Spracherkennungseinheit leitet das Ergebnis der Erkennung zum Beispiel an die Dialogsteuerung weiter.
  • Da die Spracherkennung einen relativ großen Computer erfordert, sind Dialogsysteme, die eine Vielzahl von Benutzern handhaben, oft physikalisch aus einer Vielzahl von Computereinheiten aufgebaut. Das System umfasst dann eine oder mehrere so genannte Frontend-Computereinheiten mit einer Vielzahl von Zugriffskanälen (Ports). Eine Frontend-Computereinheit ist üblicherweise die Computereinheit des Systems, die direkt über die Zugriffskanäle mit den Benutzern kommuniziert. Die den Zugriffskanälen fest zugeordneten Dialogsteuerungen befinden sich üblicherweise auf der betreffenden Frontend-Computereinheit. Auch die Sprachausgabevorrichtungen können sich auf der Frontend- Computereinheit befinden. Die Spracherkennungseinheit oder Spracherkennungseinheiten befinden sich andererseits auf einer separaten Computereinheit, die im Folgenden als Server bezeichnet wird und die erforderliche Rechenleistung für die Spracherkennung bereitstellt. Bei größeren Systemen ist es in der Praxis üblich, mehrere Server in dem System einzusetzen, wobei in jedem Server ein oder mehrere Spracherkennungseinheiten implementiert sind.
  • Die für den betreffenden Zugriffskanal zuständige Dialogsteuerung kann dann zum richtigen Zeitpunkt eine freie Spracherkennungseinheit wählen, zum Beispiel am Ende einer Bereitmeldung, und sie dem betreffenden Zugriffskanal zuweisen, so dass ein eintreffendes Sprachsignal des Benutzers sofort verarbeitet und erkannt werden kann. Es ist wünschenswert, dass die Auswahl von einer der verfügbaren Spracherkennungseinheiten auf eine derartige Weise erfolgt, dass die Server, in denen die Spracherkennungseinheiten untergebracht sind, gleichmäßig beansprucht werden. Dies hat zur Folge, dass eine optimale Nutzung der Systemkapazität und damit eine maximale Verarbeitungsgeschwindigkeit erreicht werden kann.
  • Weiqi Zhang et al. beschreibt in „The study on Distributed Speech Recognition System", 2000 IEEE International Conference on Acoustics, Speech and Signal Processing, Proceedings, 5.6.00–9.6.00, Seite 1431–1434, Band 3, ein dezentrales Spracherkennungssystem. Das System umfasst einen Moderator, der gemäß einem Belastungsplanungsschema entscheidet, welcher Engine-Server zur Verfügung steht. Das System wird durch die Steuerung der Serverbelastung optimiert.
  • Eine derartige Prozedur ist natürlich nur möglich, wenn das Dialogsystem bzw. die Dialogsteuerung im Vorhinein weiß, wann eine Spracherkennungseinheit für den betreffenden Zugriffskanal erforderlich ist. Dies ergibt keine Probleme bei Dialogsystemen, die Benutzereingaben nur zu bestimmten Zeitpunkten erlauben, d. h. nach Beendigung einer Bereitmeldung. Derartige Systeme sind jedoch hinsichtlich ihres Verhaltens gegenüber dem Benutzer relativ unnatürlich. Wie bekannt, neigen Benutzer oft dazu, bereits zu antworten, bevor das Dialogsystem eine Eingabeaufforderung beendet hat. Dies ist insbesondere der Fall, wenn der Benutzer bereits genau weiß oder vermutet, welche Eingabe das System von ihm fordert und welche Möglichkeiten ihm bei diesem Teil des Dialogs zur Verfügung stehen. Eine derartige Unterbrechung der Systemausgabe tritt außerdem ebenso häufig auf, wenn Informationen ausgegeben werden, die der Benutzer unterbrechen möchte. Unterbrechungsdialogsysteme, die die benutzerseitige Unterbrechung einer laufenden Sys temausgabe möglich machen, gelten andererseits als natürlicher in ihrem Verhalten. Darüber hinaus sind sie für den Benutzer komfortabler, weil der Benutzer immer eine Möglichkeit zum Eingreifen hat und nicht auf das Ende einer Bereitmeldung warten muss und in der Regel auch eher die Position in der Dialogroutine erreicht, an der die gewünschten Informationen ausgegeben werden.
  • Es gibt verschiedene Möglichkeiten, um zu gewährleisten, dass ein Sprachsignal des Benutzers stets erkannt wird, was bei einem Unterbrechungsdialogsystem erforderlich ist:
    Eine Möglichkeit besteht in der Tatsache, dass jedem Zugriffskanal permanent eine eigene Sprachverarbeitungseinheit zugewiesen ist. Bei einer großen Anzahl von Zugriffskanälen führt dies zu einer entsprechend großen Anzahl von Spracherkennungseinheiten. Da das System nicht beeinflusst, auf welchem dieser Zugriffskanäle die zugehörigen Spracherkennungseinheiten gleichzeitig benötigt werden, kann dies zu bestimmten Zeiten zu einer außerordentlichen Belastung der Server führen. Um zu gewährleisten, dass das Dialogsystem in derartigen Situationen immer noch angemessen schnell arbeiten kann, muss eine ausreichend große Rechenleistung der einzelnen Server vorgesehen werden, so dass alle Spracherkennungseinheiten auf dem Server ohne Probleme gleichzeitig arbeiten können.
  • Eine weitere Möglichkeit der Schaffung eines Unterbrechungsdialogsystems für eine Vielzahl von Benutzern besteht in der Nutzung von Sprachaktivitätsdetektoren (SADs), wobei jedem Zugriffskanal genau ein derartiger Sprachaktivitätsdetektor zugewiesen ist. Eine Detektion der Sprachaktivität ist bei Unterbrechungsdialogsystemen auf jeden Fall geeignet, damit das System eine laufende Systemausgabe sofort unterbrechen kann, wenn der Benutzer ein Eingabesprachsignal gibt. Andernfalls würden der Benutzer und das Dialogsystem gleichzeitig „sprechen", was zu einer Irritation seitens des Benutzers führen kann und auf der anderen Seite – aufgrund des Echos von der Systemausgabe im Eingangssignal – die Erkennung des benutzerseitigen Sprachsignals durch die Spracherkennungseinheit kompliziert machen kann.
  • Diese Sprachaktivitätsdetektoren könnten durch eine einfache Energiedetektion des Zugriffskanals implementiert werden, was nur relativ wenig Rechenleistung erfordert. Anschließend kann – ohne irgendein Problem bei einer 1:1-Zuweisung – ein SAD für jeden Zugriffskanal zur Verfügung gestellt werden, wobei der SAD zusammen mit dem zugehörigen Zugriffskanal auf der betreffenden Frontend-Computereinheit implementiert ist. Analog zu dem oben erwähnten Dialogsystem, das nicht unterbrochen werden kann, ermöglicht eine derartige Systemarchitektur die Zuweisung einer Spracherkennungseinheit zu einem Zugriffskanal immer, wenn eine Spracherkennungseinheit auf dem betreffenden Zugriffskanal benötigt wird. Dementsprechend ist es bei einem derartigen System problemlos möglich, auf eine möglichst gleichmäßige Serverbelastung zu achten, wenn die Spracherkennungseinheiten den Zugriffskanälen zugewiesen werden. Besonders bei größeren Systemen mit sehr vielen Kanälen und sehr vielen Spracherkennungseinheiten ist es aufgrund der statistisch geringen Wahrscheinlichkeit, dass eine Spracherkennungseinheit auf allen Zugriffskanälen gleichzeitig benötigt wird, weiterhin möglich, dass die Anzahl der verfügbaren Spracherkennungseinheiten geringer ist als die Anzahl der Zugriffskanäle.
  • Ein großer Nachteil eines derartigen Systems besteht allerdings in der Tatsache, dass zwischen der Detektion der Sprache durch den SAD und der eigentlichen physikalischen Zuweisung des Zugriffskanals zu einer Spracherkennungseinheit eine Zeitspanne liegt, in der der Benutzer weiter redet. Daher muss das benutzerseitige Sprachsignal, d. h. eine große Anzahl von Audiodaten, zunächst zwischengespeichert und dann an die Spracherkennungseinheit weitergeschaltet werden, sobald diese betriebsbereit ist. Eine derartige Zwischenspeicherung der Audiodaten ist allerdings aufwändig und daher kostenintensiv. Außerdem reduziert sie die Effizienz des Systems.
  • Die vorliegende Erfindung hat zur Aufgabe, wie in den Ansprüchen 1 und 5 beansprucht, ein Verfahren für den Multiuser-Betrieb eines Unterbrechungsdialogsystems zu schaffen oder ein entsprechendes Unterbrechungsdialogsystem zu schaffen, das immer schnell in der Lage ist, ein eintreffendes Sprachsignal des Benutzer auf eine einfache Weise zu verarbeiten, während die von dem System benötigte Gesamtrechenleistung minimiert wird.
  • Diese Aufgabe wird gelöst, indem in einem Dialogsystem, das eine oder mehrere Frontend-Computereinheiten mit einer Vielzahl von Zugriffskanälen für die Benutzer und eine Vielzahl von Servern mit einer entsprechenden Anzahl von Sprachverarbeitungseinheiten umfasst, die jeweils einen Sprachaktivitätsdetektor und eine Spracherkennungseinheit enthalten, zu verschiedenen bestimmten Zeitpunkten während eines Dialogs mit einem Benutzer wiederholt eine neue Sprachverarbeitungseinheit auf einem der Server dem Zugriffskanal der Frontend-Computereinheit zugewiesen wird, die von dem Benutzer genutzt wird, so dass die Server so gleichmäßig wie möglich belastet werden und der Sprachaktivitätsdetektor ein auf dem gerade zugewiesenen Zugriffskanal eintreffendes Sprachsignal detektiert und die Spracherkennungseinheit aktiviert. Je nach Vorrichtung wird die Aufgabe durch ein Unterbrechungsdialogsystem mit einer entsprechenden Anzahl von Sprachverarbeitungseinheiten gelöst, die auf mehreren Servern angeordnet sind, welche jeweils eine Spracherkennungseinheit und einen Sprachaktivitätsdetektor zum Detektieren eines eintreffenden Sprachsignals und zum Aktivieren der Spracherkennungseinheit umfassen, und eine Zugriffskoordinierungseinheit umfassen, die während eines Dialogs mit einem Benutzer zu verschiedenen bestimmten Zeitpunkten dem von dem Benutzer genutzten Frontend-Computereinheit-Zugriffskanal eine neue Sprachverarbeitungseinheit auf einem der Server zuweist, so dass die Server möglichst gleichmäßig belastet werden. Die abhängigen Ansprüche enthalten jeweils außerordentlich vorteilhafte Ausführungsformen und weitere Aspekte der Erfindung.
  • Erfindungsgemäß gibt es Sprachverarbeitungseinheiten auf den Servern, wobei die Einheiten auf der einen Seite einen Sprachaktivitätsdetektor umfassen und auf der anderen Seite eine Spracherkennungseinheit, das heißt, der Sprachaktivitätsdetektor, der ein eintreffendes Sprachsignal detektiert und die Spracherkennungseinheit aktiviert, bildet in Kombination mit der Spracherkennungseinheit ein Sprachverarbeitungssystem. Der Sprachaktivitätsdetektor und die Spracherkennungseinheit können tatsächlich separate Einheiten sein, die zu einer Sprachverarbeitungseinheit kombiniert, d.h. gruppiert werden. Alternativ ist es jedoch möglich, dass der Sprachaktivitätsdetektor und die Spracherkennungseinheit in eine Sprachverarbeitungseinheit integriert werden, so dass sie als separate Betriebsarten der Sprachverarbeitungseinheit betrachtet werden können und zum Beispiel gemeinsame Softwareroutinen oder Speicherbereiche usw. nutzen.
  • Das Unterbrechungsdialogsystem wird erfindungsgemäß so betrieben, dass dem betreffenden von dem Benutzer der Frontend-Computereinheit benutzten Zugriffskanal während eines Dialogs mit dem Benutzer wiederholt zu verschiedenen bestimmten Zeitpunkten eine neue Sprachverarbeitungseinheit auf einem der Server zugewiesen wird. Diese neue Zuweisung wird vorgenommen, damit die Server so gleichmäßig wie möglich belastet werden. Das bedeutet, dass eine permanente Neuzuweisung von Sprachverarbeitungseinheiten zu den aktiven Zugriffskanälen stattfindet, während die Zeitpunkte für die Neuzuweisung einer Sprachverarbeitungseinheit zu einem bestimmten Zugriffskanal des Systems auf eine solche Weise bestimmt werden, dass eine geringe Chance besteht, dass eine Sprachverarbeitungseinheit speziell während der Neuzuweisung zu dem betreffenden Zugriffskanal benötigt wird.
  • Ein erfindungsgemäßes Unterbrechungsdialogsystem benötigt daher eine geeignete Zugriffskoordinierungseinheit (Ressourcen-Manager), die die Sprachverarbeitungseinheiten der verschiedenen Server wiederholt zu den gewünschten Zeitpunkten den betreffenden Zugriffskanälen zuweist, so dass eine gleichmäßige Belastung der Server gewährleistet wird.
  • Die Gruppierung der Sprachaktivitätsdetektoren und der Spracherkennungseinheiten auf den Servern zu den genannten Sprachverarbeitungseinheiten ist auf der einen Seite vorteilhaft, weil die Frontend-Computereinheiten nicht durch Sprachaktivitätsdetektoren belastet werden. Audiodatenströme, die bei einem bestimmten Sprachaktivitätsdetektor eintreffen, können direkt von der zugehörigen Spracherkennungseinheit verarbeitet werden und brauchen nicht noch einmal physikalisch zwischen verschiedenen Computern umgeleitet zu werden, was zusätzliche Zeit und auch eine Zwischenspeicherung der Audiodaten erforderlich machen würde, was um jeden Preis vermieden werden sollte.
  • Basierend auf der permanenten tatsächlichen Neuzuweisung der Sprachverarbeitungseinheiten zu den Zugriffskanälen und der hiermit verbundenen gleichmäßigen Belastung der Server ist es möglich, dass eine größere Anzahl von Sprachverarbeitungseinheiten logisch auf einem Server angeordnet wird, während die physikalische Rechenleistung der Server nicht so bemessen sein muss, dass alle Sprachverarbeitungseinheiten auf dem Server gleichzeitig mit voller Leistung arbeiten können. Es ist daher problemlos möglich, trotz einer geringeren Rechenleistung auf den Servern so viele Sprachverarbeitungseinheiten wie es Zugriffskanäle gibt logisch anzuordnen; die Verarbeitungseinheiten umfassen jeweils einen Sprachaktivitätsdetektor und eine Spracherkennungseinheit.
  • Vorzugsweise kann selbst eine gleiche Anzahl von Sprachverarbeitungseinheiten wie Zugriffskanäle verfügbar gemacht werden, um somit im Fall einer Neuzuweisung einer Sprachverarbeitungseinheit zu einem Zugriffskanal eine höhere Flexibilität zu erreichen. Die Vorteil einer derartigen „Überkapazität" von Sprachverarbeitungseinheiten zeigt sich vor allem, wenn sehr viele Benutzer zu einem bestimmten Zeitpunkt gleichzeitig das Dialogsystem nutzen und im Wesentlichen alle Zugriffskanäle so in Anspruch nehmen, dass als Ergebnis ein großer Teil der Sprachverarbeitungseinheiten bereits einem Zugriffskanal zugewiesen worden ist. In der Regel ist jedoch nur bei einem Teil der Sprachverarbeitungseinheiten die Spracherkennungseinheit zu diesem bestimmten Zeitpunkt aktiv, wobei die Spracherkennungseinheit mehr Rechenleistung von dem jeweiligen Server nutzt. Auf der anderen Seite ist in einem großen Teil der Sprachverarbeitungseinheiten nur der Sprachaktivitätsdetektor aktiv, was nur wenig Rechenleistung erfordert. Die hohe Anzahl von Aufrufen kann jedoch zu einer Situation führen, in der in bestimmten Servern keine Sprachverarbeitungseinheit mehr zur Verfügung steht, obwohl diese Server nur geringfügig belastet sind, was ihre Rechenleistung betrifft, und eine Zuweisung eines Zugriffskanals zu einer Sprachverarbeitungseinheit auf einem der betreffenden Server an sich für eine gleichmäßige Belastung der Server optimal wäre. Im Extremfall einer 1:1-Zuweisung von Zugriffskanälen zu Sprachverarbeitungseinheiten und bei voller Ausnutzung aller Zugriffskanäle durch ebenso viele Benutzer wäre ohnehin keine Neuzuweisung möglich. Wenn jedoch mehr Sprachverarbeitungseinheiten als es Zugriffskanäle gibt logisch auf den Servern angeordnet sind, ist immer mindestens eine Neuzuweisung möglich, obwohl es bei einer zunehmenden Anzahl von Reserve-Sprachverarbeitungseinheiten wahrscheinlicher ist, dass jederzeit auf jedem der Server immer noch mindestens eine nicht in Anspruch genommene Sprachverarbeitungseinheit zur Verfügung steht, um jederzeit eine Zuweisung auszuführen, die hinsichtlich der Serverbelastung optimal ist.
  • Das Dialogsystem wird vorzugsweise so betrieben oder die Zuweisung so vorgenommen, dass jedem aktiven Zugriffskanal, über den ein Dialog zwischen dem System und dem Benutzer stattfindet, im Wesentlichen permanent eine der Sprachverarbeitungseinheiten zugewiesen ist. Das bedeutet, dass jedem der Zugriffskanäle während des Dialogs – d. h. mit Ausnahme der kurzen Augenblicke, in denen eine Neuzuweisung der Sprachverarbeitungseinheit zu dem betreffenden Zugriffskanal erfolgt – eine der Sprachverarbeitungseinheiten nahezu ständig zur Verfügung steht, während sie normalerweise ständig die Sprachverarbeitungseinheiten wechseln. Soweit es bestimmte absichtlich vorgesehene Zeiten in einer Dialogroutine gibt, während der zum Beispiel eine Unterbrechung einer Systemausgabe unerwünscht ist, braucht während dieser Zeiten dem betreffenden Zugriffskanal offensichtlich keine Sprachverarbeitungseinheit zugewiesen zu werden.
  • In einem äußerst vorteilhaften Ausführungsbeispiel umfasst das System Mittel, um der Zugriffskoordinierungseinheit zu signalisieren, wann eine Erkennung eines Sprachsignals der Spracherkennungseinheit, das zuvor einen Zugriffskanal betreten hat, beendet ist und/oder wann eine neue Systemausgabe an den Benutzer über diesen Zugriffskanal beginnen kann. Dies kann auch zum Beispiel durch ein Signal der Sprachverarbeitungseinheit selbst erfolgen, welches ankündigt, dass die Erkennung beendet wurde. Alternativ kann auch ein betreffendes Signal von der Dialogsteuerung kommen, welche die erforderlichen Informationen von der Spracherkennungseinheit empfangen hat und jetzt eine Dialog entsprechend dem empfangenen Sprachsignal des Benutzers fortsetzt und die Aus gabe einer Systemausgabe an den Benutzer veranlasst. Die Neuzuweisung der Sprachverarbeitungseinheit zu dem betreffenden Zugriffskanal kann dann vorzugsweise unmittelbar nach der Erkennung des Sprachsignals oder innerhalb einer vordefinierten kurzen Zeitspanne zu Beginn der nächsten Systemausgabe an den Benutzer erfolgen. Dies ist eine sehr geeignete Zeitspanne für die Neuzuweisung, weil eine Systemausgabe typischerweise während der ersten paar Millisekunden nicht durch den Benutzer unterbrochen wird, und somit zu diesem Zeitpunkt wahrscheinlich kein Spracherkenner auf dem Zugriffskanal erforderlich ist. Auf diese Weise wird garantiert, dass im Wesentlichen immer, wenn ein Spracherkenner benutzt werden könnte, dieser Erkenner sofort zur Verfügung steht. Die Wahrscheinlichkeit, dass Audiodaten manchmal zwischengespeichert werden müssen, kann daher vernachlässigt werden.
  • Da erfindungsgemäß die Sprachaktivitätsdetektoren nicht in der Frontend-Computereinheit benutzt werden, braucht die Sprachdetektion die Audiodatenströme nicht durch den Prozessor der Fontend-Computereinheit zu leiten. Dies hat zur Folge, dass die Audiodaten vorzugsweise durch den Zugriffskanal zu der gerade zugewiesenen Sprachverarbeitungseinheit befördert werden, ohne dass die Daten durch den Prozessor geleitet werden. Dies ist möglich, indem eine reine Hardwareschaltung, zum Beispiel eine so genannte Schaltmatrix, verwendet wird, um die Audiodatenströme von dem Zugriffskanal an die Server zu übermitteln. Da der Prozessor, der einen Engpass für die Audiodatenströme verursachen würde, auf diese Weise vollständig umgangen wird, können mit einer derartigen Hardwarelösung wesentlich mehr Kanäle in der betreffenden Frontend-Computereinheit erreicht werden. Auf diese Weise ist es mit einer derartigen Hardwarelösung problemlos möglich, zum Beispiel 500 bis 1000 oder mehr Zugriffskanäle in einem System bereitzustellen, in dem über eine Softwarelösung etwa 120 Zugriffskanäle implementiert werden könnten.
  • Für das Auswahlverfahren, mit dem eine Sprachverarbeitungseinheit für einen Zugriffskanal gewählt wird, um eine gleichmäßige Belastung der Server im Fall einer Neuzuweisung zu erreichen, kann auf die bekannten Auswahlverfahren der Nichtunterbrechungssysteme zurückgegriffen werden.
  • Es kann zum Beispiel das als Round-Robin bekannte Verfahren verwendet werden, bei dem zyklisch ein Wechsel von einem Server zum nächsten vorgenommen wird. Dieses Verfahren ist zu extrem geringen Kosten möglich. Eine gleichmäßige Belastung wird jedoch nur auf der Basis einer statistisch angenommenen Gleichmäßigkeit erreicht, so dass es in Einzelfällen zeitweilig zu einer relativ ungleichmäßigen Belastung kommen kann.
  • Ein ähnliches Verfahren ist das so genannte Least-Use-Verfahren, bei dem immer der Computer gewählt wird, der nicht zuletzt benutzt wurde.
  • Ein etwas aufwändigeres, aber zuverlässiges Verfahren in Bezug auf die gleichmäßige Belastung ist das so genannte Load-Balancing-Verfahren, bei dem immer der Server gewählt wird, der gerade am wenigsten belastet ist. Dieses Verfahren ist das bevorzugte Verfahren, weil auch in Extremfällen eine gleichmäßige Belastung erreicht werden kann. Zu diesem Zweck umfasst das System vorzugsweise Mittel zum Bestimmen der Belastungswerte für die einzelnen Sprachverarbeitungseinheiten bzw. Server, und um diese Belastungswerte an die Zugriffskoordinierungseinheit zu leiten, die dann basierend auf den Belastungswerten der einzelnen Einheiten oder Server eine Entscheidung bezüglich der Neuzuweisung einer Sprachverarbeitungseinheit zu einem Zugriffskanal trifft.
  • Die Erfindung wird weiterhin im Folgenden unter Bezugnahme auf die beigefügte Figur unter Zuhilfenahme eines Ausführungsbeispiels beschrieben. Die einzige Figur hier zeigt ein grobes, schematisches Blockschaltbild eines Unterbrechungsdialogsystems 1 gemäß der Erfindung, wobei nur die Anordnung der für die Erfindung wichtigen Komponenten dargestellt ist.
  • Dieses Unterbrechungsdialogsystem 1 umfasst im Wesentlichen eine Frontend-Computereinheit 2 und eine Vielzahl von Servern 18, 19, 20, 21. Die Frontend-Computereinheit 2 hat Zugriffskanäle 6 für die Benutzer. In dem vorliegenden Ausführungsbeispiel sind die Zugriffskanäle 6 Telefonzugriffskanäle, zum Beispiel ISDN-Kanäle. Auf den Servern 18, 19, 20, 21 befindet sich eine entsprechende Vielzahl von Sprachverarbeitungseinheiten 22. Jede der Sprachverarbeitungseinheiten 22 enthält einen Sprachaktivitätsdetektor 23 und eine Spracherkennungseinheit 24.
  • Das gezeigte Ausführungsbeispiel hat mehr Sprachverarbeitungseinheiten 22 als es Zugriffskanäle 6 auf der Frontend-Computereinheit 2 gibt. Im vorliegenden Fall hat das Dialogsystem 1 der Übersichtlichkeit halber nur acht Zugriffskanäle 6. Im Gegensatz hierzu hat das Dialogsystem 1 hier vier Server 18, 19, 20, 21, auf denen drei entsprechende Sprachverarbeitungseinheiten 22 logisch angeordnet sind. Das bedeutet, dass für die acht Zugriffskanäle 6 zwölf Sprachverarbeitungseinheiten 22 zur Verfügung stehen. Das Dialogsystem 1 kann jedoch auch weniger Server oder eine wesentlich größere Anzahl von Servern haben, während auch die Anzahl der Sprachverarbeitungseinheiten 22 pro Server 18, 19, 20, 21 zufällig ist und nur durch die Rechenleistung und die Speicherkapazität der betreffenden Server 18, 19, 20, 21 begrenzt wird. Die Server 18 bis 21 können auch unterschiedliche Rechenleistungen und eine unterschiedliche Anzahl von Sprachverarbeitungseinheiten 22 haben.
  • In Wirklichkeit hat eine Frontend-Computereinheit 22 üblicherweise eine wesentlich größere Anzahl von Zugriffskanälen 6, zum Beispiel 120, 500 oder sogar 1000 und mehr Zugriffskanäle. In einem echten Dialogsystem mit einer Frontend-Computereinheit mit 120 Zugriffskanälen zum Beispiel können dann zwölf Sprachverarbeitungseinheiten entsprechend auf zehn Servern angeordnet sein, so dass insgesamt mindestens wieder eine Sprachverarbeitungseinheit für jeden Zugriffskanal zur Verfügung steht.
  • Die Frontend-Computereinheit 2 ist über geeignete Audiodatenleitungen 25 mit den Servern 18, 19, 20, 21 verbunden. In der Figur ist nur ein Audiodatenkanal 25 pro Server 18, 19, 20, 21 dargestellt. Es ist jedoch auch möglich, mehr Audiodatenkanäle 25 pro Server 18, 19, 20, 21 zu haben, zum Beispiel einen Audiodatenkanal 25 pro Sprachverarbeitungseinheit 22, um in der Lage zu sein, für eine schnelle Übertragung von Audiodaten für jede Sprachverarbeitungseinheit 22 über ihren eigenen Kanal 25 zu sorgen.
  • In der Frontend-Computereinheit 2 gibt es eine Dialogsteuerung für jeden der Zugriffskanäle 6, wobei die Dialogsteuerung einen Dialog mit dem Benutzer steuert, der über den betreffenden Zugriffskanal sowie eine geeignete Sprachausgabeeinheit für Systemausgaben an den Benutzer stattfindet. Diese Einheiten sind der Übersichtlichkeit halber nicht dargestellt.
  • Da es sich um ein Dialogsystem handelt, das unterbrechungsfähig ist, steht während des Dialogs mit dem Benutzer immer eine Sprachverarbeitungseinheit 22 für den betreffenden Zugriffskanal 6 zur Verfügung, um die Information von dem Sprachsignal sofort nach Erhalt eines Sprachsignals verarbeiten, d.h. erkennen zu können. Aus diesem Grund wird jedem der Zugriffskanäle 6 eine Sprachverarbeitungseinheit 22 auf einem der Server 18, 19, 20, 21 zugewiesen, sobald ein Dialog mit einem Benutzer über diesen Zugriffskanal beginnt. Die über den Zugriffskanal 6 eintreffenden Audiodaten werden von der Frontend-Computereinheit 2 direkt über die Audiodatenkanäle 25 an die gerade zugewiesene Sprachverarbeitungseinheit 22 oder an die betreffenden Server 18, 19, 20, 21 geleitet, auf denen sich die Sprachverarbeitungseinheit 22 befindet.
  • Die Audiodaten erreichen zuerst einen Sprachaktivitätsdetektor 23 in der Sprachverarbeitungseinheit 22, die während der gesamten Zeit aktiv ist und quasi „darauf horcht", ob ein Sprachsignal des Benutzers auf dem Zugriffskanal 6 eintrefft, der gerade der Sprachverarbeitungseinheit 22 zugewiesen ist. Dieses „Horchen" der Sprachverarbeitungseinheit 22 bzw. des Sprachaktivitätsdetektors 23 kostet nur wenig Rechenleistung. Sobald der Sprachaktivitätsdetektor 23 einmal ein Sprachsignal detektiert hat, wird die Spracherkennungseinheit 24 aktiviert, so dass sie sofort mit der Erkennung des Sprachsignals beginnen kann. Es ist dann nicht erforderlich, den Audiodatenstrom noch einmal von einer Computereinheit zu einer anderen umzuleiten, vor allem die Notwendigkeit zum Zwischenspeichern von Audiodaten entfällt dann. Da eine Spracherkennungseinheit 24 erst aktiviert wird, wenn der Sprachaktivitätsdetektor 23 ein Sprachsignal erkannt hat, ist während eines großen Teils des Dialogs die erforderliche Rechenleistung einer Sprachverarbeitungseinheit 22 relativ gering.
  • Erfindungsgemäß wird dem betreffenden Zugriffskanal 6 während eines Dialogs mit einem Benutzer nicht permanent ein und dieselbe Sprachverarbeitungseinheit 22 zugewiesen, sondern im Verlauf des stattfindenden Dialogs wird dem betreffenden Zugriffskanal 6 zu bestimmten Zeitpunkten wiederholt eine dann verfügbare, d. h. nicht von einem anderen Zugriffskanal 6 genutzte neue Sprachverarbeitungseinheit 22 zugewiesen.
  • Diese Zuweisung kann immer erfolgen, wenn eine Erkennung einer Sprachsignaleingabe durch den Benutzer beendet ist oder in einem sehr kurzen Zeitfenster nach einer neuen Bereitmeldung an den betreffenden Benutzer. Zu diesem Zeitpunkt braucht nicht erwartet zu werden, dass der Benutzer das Dialogsystem unterbricht, um einen neuen Sprachbefehl einzugeben. Normalerweise findet eine Unterbrechung durch den Benutzer frühestens erst ein paar Millisekunden nach Beginn einer Bereitmeldung statt. Auf diese Weise wird dafür gesorgt, dass eine Neuzuweisung der einzelnen Sprachverarbeitungseinheiten 22 zu den dann aktiven Zugriffskanälen 6 permanent erfolgt, ohne dass dies für die Benutzer zum Beispiel an längeren Reaktionszeiten des Dialogsystems zu erkennen ist.
  • Um zu vermeiden, dass eine Systemausgabe weiterläuft, obwohl der Benutzer dem Dialogsystem bereits geantwortet hat und selbst ein Sprachsignal eingegeben hat, sendet der Sprachaktivitätsdetektor 23 weiterhin zum Beispiel über eine lokale Netzwerkverbindung 5 oder einen ähnlichen Datenkanal, über den die Server 18 bis 21 mit der Frontend-Computereinheit 2 verbunden sind, ein betreffendes Signal an die Dialogsteuerung, die den Zugriffskanal 6 bedient. Diese Dialogsteuerung unterbricht dann die aktuelle Systemausgabe.
  • Die Zuweisung der Sprachverarbeitungseinheiten 22 auf den verschiedenen Servern 18 bis 21 zu dem betreffenden aktiven Zugriffskanal 6 erfolgt mit Hilfe einer Zugriffskoordinierungseinheit (Ressourcen-Manager) 3, die sich auf der Frontend-Computereinheit 2 befindet. Diese Zugriffskoordinierungseinheit 3 umfasst eine so genannte Schaltmatrix 4, die rein als Hardware die Zugriffskanäle 6 mit den Audiodatenkanälen 25 zu den gewünschten Sprachverarbeitungseinheiten 22 schaltet. Diese Hardware-Implementierung des Schalters hat den Vorteil, dass der Prozessor der Frontend-Computereinheit nicht mit den Audiodaten belastet wird.
  • Da sich auch die Sprachaktivitätsdetektoren 23 direkt auf den Servern 18, 19, 20 und 21 in den Spracherkennungseinheiten 22 befinden und nicht in der Frontend-Computereinheit 2, brauchen in der beschriebenen Ausführungsform der Erfindung die über einen Zugriffskanal 6 eintreffenden Audiodaten nicht durch einen Prozessor der Frontend-Computereinheit 2 geleitet zu werden, die einen Engpass für den Audiodatenstrom darstellen und dadurch Effizienz des gesamten Systems reduzieren würde.
  • Wenn einem aktiven Zugriffskanal 6 eine neue Sprachverarbeitungseinheit 22 zugewiesen wird, sorgt die Zugriffskoordinierungseinheit 3 dafür, dass die einzelnen Server 18, 19, 20, 21 hinsichtlich der erforderlichen Rechenleistung und der aktuellen Speicheranforderungen so gleichmäßig wie möglich belastet werden. Zu diesem Zweck werden standardisierte Werte der Kapazitätsauslastung von den einzelnen Servern 18, 19, 20, 21 zum Beispiel über die lokale Netzwerkverbindung 5 an die Zugriffskoordinierungseinheit 3 in der Frontend-Computereinheit 2 übertragen, und anhand dieser Kapazitätsauslastungswerte kann die Zugriffskoordinierungseinheit 3 die Belastung der einzelnen Server 18, 19, 20, 21 erkennen. Die Neuzuweisung erfolgt dann ausgehend von diesen Belastungswerten, indem die Werte justiert werden können. Diese Vorgehensweise wird im Folgenden unter Zuhilfenahme einer „Zufallsangabe" während des Betriebs des Unterbrechungsdialogsystems 1 noch einmal erläutert.
  • Zu diesem Zweck wird angenommen, dass ein Benutzer zu einem bestimmten Zeitpunkt über alle acht Zugriffskanäle 6 bedient wird, d. h. alle Zugriffskanäle 6 sind aktiv. Die Dialogläufe auf den Zugriffskanälen 6 sind dann vollständig unabhängig voneinander. Das bedeutet, dass zu einem bestimmten Zeitpunkt Systemausgaben auf mehreren der Zugriffskanäle 6 erfolgen, während der Benutzer ein Sprachsignal auf anderen Zugriffskanälen 6 äußert, d. h. es trifft ein Sprachsignal ein. Je nachdem, ob ein Sprachsignal verarbeitet werden muss oder nicht, wird eine andere Rechenleistung von der Sprachverarbeitungseinheit 22 benötigt, die dann dem betreffenden aktiven Zugriffskanal zuge wiesen ist, wodurch die betreffenden Server 18, 19, 20, 21 unterschiedlich belastet werden.
  • Es wird weiterhin angenommen, dass die aktuelle Zuweisung der Sprachverarbeitungseinheiten 22 zu den Zugriffskanälen 6 zu einem bestimmten Zeitpunkt so erfolgt, dass zwei der Sprachverarbeitungseinheiten 22 von jedem der vier Server 18, 19, 20, 21 einen Zugriffskanal 6 zugewiesen werden, während die Dritte Sprachverarbeitungseinheit 22 noch nicht in Anspruch genommen wird. Es wird weiterhin davon ausgegangen, dass zu einem bestimmten Zeitpunkt in einem der Zugriffskanäle 6 eine Erkennung einer Sprachsignaleingabe durch den Benutzer erfolgt ist und eine Bereitmeldung an den Benutzer ausgegeben wird. Gleichzeitig ermittelt die Zugriffskoordinierungseinheit 3 mit der Hilfe der Belastungswerte, dass der Server 18, auf dem sich die Sprachverarbeitungseinheit 22 befindet, die gerade diesem Zugriffskanal 6 zugewiesen ist, eine relativ hohe Belastung hat, weil der Benutzer gerade auf dem anderen Zugriffskanal 6, der der zweiten Sprachverarbeitungseinheit 22 des gleichen Servers 18 zugewiesen ist, das Sprachsignal eingibt, das durch die Spracherkennungseinheit 24 dieser Sprachverarbeitungseinheit 22 verarbeitet wird. Andererseits hat ein anderer Server 19 der vier Server 18, 19, 20, 21 eine relativ geringe Belastung, weil Systemausgaben hier auf den beiden zugehörigen, derzeit zugewiesenen Zugriffskanälen 6 erfolgen und der Benutzer dann keine weiteren Sprachsignale mehr eingibt. Die beiden verbleibenden Server 20, 21 haben andererseits einen durchschnittlichen Belastungsgrad, weil auch hier eine der Sprachverarbeitungseinheiten 22 mit dem Erkennen eines Sprachsignals beschäftigt ist. Die Zugriffskoordinierungseinheit 3 auf der Frontend-Computereinheit 2 wird dann die Gelegenheit nutzen, dem Zugriffskanal 6, auf dem gerade die Bereitmeldung ausgegeben wird, eine neue Sprachverarbeitungseinheit 22 zuzuweisen, um den Server 18 zu entlasten, auf dem sich die Sprachverarbeitungseinheit 22 befindet, die dem betreffenden Zugriffskanal 6 gerade zugewiesen ist. Basierend auf dem Belastungswert wird die dritte, freie Sprachverarbeitungseinheit 22 auf dem Server ausgewählt, der zu dem Zeitpunkt am wenigsten belastet ist.
  • Da während eines Dialogs die Spracheingaben des Benutzers permanent erkannt werden und anschließend Bereitmeldungen ausgegeben werden, gibt es zahlreiche Möglichkeiten während eines Dialogs, dem Zugriffskanal 6, auf dem der Dialog stattfindet, eine neue Sprachverarbeitungseinheit 22 zuzuweisen. Infolge der häufigen Neuzuweisung von Sprachverarbeitungseinheiten 22 zu den Zugriffskanälen 6 ist es möglich, eine sehr gleichmäßige Belastung aller Server einzuhalten, so dass die Gesamtrechenleistung der Server trotz einer großen Anzahl von Sprachverarbeitungseinheiten, die logisch auf den Servern angeordnet sind, reduziert werden kann. Basierend auf der geeigneten Auswahl von Zeitpunkten der Neuzuweisung braucht nicht befürchtet zu werden, dass zu einem Zeitpunkt, an dem ein Zugriffskanal eine Sprachverarbeitungseinheit benötigt, diese Einheit gerade nicht zur Verfügung steht. Alles in allem macht die Erfindung also eine effiziente Verteilung von Sprachaktivitätsdetektoren und Spracherkennungseinheiten auf eine große Anzahl von Servern in einem Netzwerk möglich, wobei eine effiziente Verteilung dieser Ressourcen selbst bei Dialoganwendungen gegeben ist, die unterbrechungsfähig sind. Außerdem kann die Komplexität des Systems in der Frontend-Computereinheit sehr gering gehalten werden, so dass eine effiziente Verteilung von Audiodaten auf die einzelnen Spracherkennungseinheiten selbst rein durch Hardware möglich wird. Es wird jedoch darauf hingewiesen, dass die Erfindung auch in denjenigen Fällen von Bedeutung ist, in denen die Frontend-Computereinheiten die Audiodaten mittels geeigneter Software verteilen und alle zum Beispiel ihren Hauptprozessor nutzen. Da der Hauptprozessor in einem derartigen Fall durch die Verteilungen relativ stark belastet ist, macht sich der Vorteil sehr bemerkbar, dass die Sprachaktivitätsdetektoren auf den Servern angeordnet sind und keine zusätzliche Belastung für den Hauptprozessor bilden.
  • Es wird noch einmal ausdrücklich darauf hingewiesen, dass das gezeigte Ausführungsbeispiel nur eine Möglichkeit zur Implementierung des Systems darstellt. Insbesondere ist es auch möglich, dass ein derartiges Dialogsystem eine Vielzahl von Frontend-Computereinheiten 2 hat, die dann ihrerseits zum Beispiel eine Vielzahl von Zugriffskanälen enthalten. Auf ähnliche Weise kann für jeden Zugriffskanal eine eigene Frontend-Computereinheit benutzt werden. Ein Beispiel hierfür ist ein Dialogsystem, bei dem der betreffende PC eines Benutzers selbst die Frontend-Computereinheit bildet, während sich zum Beispiel die Dialogsteuerung für die betreffende Anwendung auf diesem PC befindet und der Zugriff auf die Server mit den Sprachverarbeitungseinheiten über eine Internet-Verbindung erfolgt. Diese Frontend-Computereinheiten könnten dann zum Beispiel mit einer zentralen Computereinheit verbunden werden, die im Wesentlichen nur als Schaltzentrum funktioniert und zum Beispiel den Ressourcen-Manager und eine entsprechende Schaltmatrix hat.

Claims (7)

  1. Verfahren zum Betrieb eines Unterbrechungsdialogsystems (1) zur parallelen Nutzung durch eine Vielzahl von Benutzern, wobei das Dialogsystem Folgendes umfasst: – eine oder mehrere Frontend-Computereinheiten (2) mit einer Vielzahl von Zugriffskanälen (6) für die Benutzer – und eine Vielzahl von Servern (18, 19, 20, 21) mit einer entsprechenden Anzahl von Sprachverarbeitungseinheiten (22), die jeweils einen Sprachaktivitätsdetektor (23) und eine Spracherkennungseinheit (24) enthalten, wobei während eines Dialogs mit einem Benutzer zu verschiedenen bestimmten Zeitpunkten wiederholt eine neue Sprachverarbeitungseinheit (22) auf einem der Server (18, 19, 20, 21) dem Zugriffskanal (6) der Frontend-Computereinheit (2) zugewiesen wird, die von dem Benutzer genutzt wird, so dass die Server (18, 19, 20, 21) so gleichmäßig wie möglich belastet werden und der Sprachaktivitätsdetektor (23) ein auf dem gerade zugewiesenen Zugriffskanal eintreffendes Sprachsignal detektiert und die Spracherkennungseinheit (24) aktiviert.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Neuzuweisung einer Sprachverarbeitungseinheit (22) zu einem Zugriffskanal (6) unmittelbar nach einer Erkennung eines durch den Benutzer eingegebenen Sprachsignals oder innerhalb einer vordefinierten kurzen Zeitspanne zu Beginn einer Systemausgabe an den Benutzer erfolgt.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass jedem der Zugriffskanäle (6) während eines Dialogs mit einem Benutzer im Wesentlichen permanent eine der Sprachverarbeitungseinheiten (22) zugewiesen ist.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass für die einzelnen Server (18, 19, 20, 21) immer ein Belastungswert bestimmt wird und eine Zuweisung erfolgt, für die die Belastungswerte der einzelnen Server (18, 19, 20, 21) herangezogen werden.
  5. Unterbrechungsdialogsystem zur parallelen Nutzung durch eine Vielzahl von Benutzern, das Folgendes umfasst: – eine oder mehrere Frontend-Computereinheiten (2) mit einer Vielzahl von Zugriffskanälen (6) für die Benutzer, – eine Vielzahl von Servern (18, 19, 20, 21), welche jeweils eine Anzahl von Sprachverarbeitungseinheiten (22) mit einer betreffenden Spracherkennungseinheit (24) und einem Sprachaktivitätsdetektor (23) zum Detektieren eines eintreffenden Sprachsignals und Aktivieren der Spracherkennungseinheit (24) umfassen, – und eine Zugriffskoordinierungseinheit (3), die dem vom Benutzer genutzten Zugriffskanal (6) der Frontend-Computereinheit (2) wiederholt während eines Dialogs mit dem Benutzer zu verschiedenen bestimmten Zeitpunkten eine neue Sprachverarbeitungseinheit (22) auf einem der Server (18, 19, 20, 21) zuweist, so dass die Server (18, 19, 20, 21) möglichst gleichmäßig belastet werden.
  6. Dialogsystem nach Anspruch 5, gekennzeichnet durch Mittel, die der Zugriffskoordinierungseinheit (3) die Beendigung einer Erkennung eines zuvor in einen Zugriffskanal (6) eingegebenen Sprachsignals und/oder den Beginn einer Systemausgabe an den Benutzer über diesen Zugriffskanal (6) signalisieren.
  7. Dialogsystem nach Anspruch 5 oder 6, gekennzeichnet durch Mittel zum Bestimmen von Auslastungswerten für die einzelnen Server (18, 19, 20, 21) und Mittel zum Übertragen dieser Auslastungswerte an die Zugriffskoordinierungseinheit (3).
DE60217902T 2001-11-29 2002-11-26 Verfahren zum betrieb eines unterbrechnungs-dialogsystems Expired - Lifetime DE60217902T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10158583 2001-11-29
DE10158583A DE10158583A1 (de) 2001-11-29 2001-11-29 Verfahren zum Betrieb eines Barge-In-Dialogsystems
PCT/IB2002/005006 WO2003046887A1 (en) 2001-11-29 2002-11-26 Method of operating a barge-in dialogue system

Publications (2)

Publication Number Publication Date
DE60217902D1 DE60217902D1 (de) 2007-03-15
DE60217902T2 true DE60217902T2 (de) 2007-10-18

Family

ID=7707384

Family Applications (2)

Application Number Title Priority Date Filing Date
DE10158583A Withdrawn DE10158583A1 (de) 2001-11-29 2001-11-29 Verfahren zum Betrieb eines Barge-In-Dialogsystems
DE60217902T Expired - Lifetime DE60217902T2 (de) 2001-11-29 2002-11-26 Verfahren zum betrieb eines unterbrechnungs-dialogsystems

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE10158583A Withdrawn DE10158583A1 (de) 2001-11-29 2001-11-29 Verfahren zum Betrieb eines Barge-In-Dialogsystems

Country Status (7)

Country Link
US (1) US20050038659A1 (de)
EP (1) EP1451808B1 (de)
JP (1) JP4469176B2 (de)
AT (1) ATE352835T1 (de)
AU (1) AU2002365496A1 (de)
DE (2) DE10158583A1 (de)
WO (1) WO2003046887A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050033571A1 (en) * 2003-08-07 2005-02-10 Microsoft Corporation Head mounted multi-sensory audio input system
US7383181B2 (en) 2003-07-29 2008-06-03 Microsoft Corporation Multi-sensory speech detection system
US7392188B2 (en) * 2003-07-31 2008-06-24 Telefonaktiebolaget Lm Ericsson (Publ) System and method enabling acoustic barge-in
DE10342541A1 (de) * 2003-09-15 2005-05-12 Daimler Chrysler Ag Arbeitsbelastungsabhängige Dialogführung
US7447630B2 (en) * 2003-11-26 2008-11-04 Microsoft Corporation Method and apparatus for multi-sensory speech enhancement
US20050177371A1 (en) * 2004-02-06 2005-08-11 Sherif Yacoub Automated speech recognition
US7499686B2 (en) * 2004-02-24 2009-03-03 Microsoft Corporation Method and apparatus for multi-sensory speech enhancement on a mobile device
US7574008B2 (en) * 2004-09-17 2009-08-11 Microsoft Corporation Method and apparatus for multi-sensory speech enhancement
JP4787634B2 (ja) * 2005-04-18 2011-10-05 株式会社リコー 音楽フォント出力装置、フォントデータベース及び言語入力フロントエンドプロセッサ
US7346504B2 (en) * 2005-06-20 2008-03-18 Microsoft Corporation Multi-sensory speech enhancement using a clean speech prior
TWI321313B (en) * 2007-03-03 2010-03-01 Ind Tech Res Inst Apparatus and method to reduce recognization errors through context relations among dialogue turns
US9092733B2 (en) * 2007-12-28 2015-07-28 Genesys Telecommunications Laboratories, Inc. Recursive adaptive interaction management system
US8346549B2 (en) * 2009-12-04 2013-01-01 At&T Intellectual Property I, L.P. System and method for supplemental speech recognition by identified idle resources
JP5431282B2 (ja) * 2010-09-28 2014-03-05 株式会社東芝 音声対話装置、方法、プログラム
JP2013019958A (ja) * 2011-07-07 2013-01-31 Denso Corp 音声認識装置
KR101304112B1 (ko) * 2011-12-27 2013-09-05 현대캐피탈 주식회사 음성 분리를 이용한 실시간 화자인식 시스템 및 방법
CN103971687B (zh) * 2013-02-01 2016-06-29 腾讯科技(深圳)有限公司 一种语音识别系统中的负载均衡实现方法和装置
JP6320962B2 (ja) * 2015-03-25 2018-05-09 日本電信電話株式会社 音声認識システム、音声認識方法、プログラム
JP6568813B2 (ja) * 2016-02-23 2019-08-28 Nttテクノクロス株式会社 情報処理装置、音声認識方法及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155760A (en) * 1991-06-26 1992-10-13 At&T Bell Laboratories Voice messaging system with voice activated prompt interrupt
US5475791A (en) * 1993-08-13 1995-12-12 Voice Control Systems, Inc. Method for recognizing a spoken word in the presence of interfering speech
US5459781A (en) * 1994-01-12 1995-10-17 Dialogic Corporation Selectively activated dual tone multi-frequency detector
GB2325112B (en) * 1997-05-06 2002-07-31 Ibm Voice processing system
US6119087A (en) * 1998-03-13 2000-09-12 Nuance Communications System architecture for and method of voice processing
US6314402B1 (en) * 1999-04-23 2001-11-06 Nuance Communications Method and apparatus for creating modifiable and combinable speech objects for acquiring information from a speaker in an interactive voice response system
US6785653B1 (en) * 2000-05-01 2004-08-31 Nuance Communications Distributed voice web architecture and associated components and methods
US6728677B1 (en) * 2001-01-31 2004-04-27 Nuance Communications Method and system for dynamically improving performance of speech recognition or other speech processing systems
US6801604B2 (en) * 2001-06-25 2004-10-05 International Business Machines Corporation Universal IP-based and scalable architectures across conversational applications using web services for speech and audio processing resources

Also Published As

Publication number Publication date
DE10158583A1 (de) 2003-06-12
JP4469176B2 (ja) 2010-05-26
DE60217902D1 (de) 2007-03-15
EP1451808A1 (de) 2004-09-01
JP2005510771A (ja) 2005-04-21
ATE352835T1 (de) 2007-02-15
US20050038659A1 (en) 2005-02-17
WO2003046887A1 (en) 2003-06-05
EP1451808B1 (de) 2007-01-24
AU2002365496A1 (en) 2003-06-10

Similar Documents

Publication Publication Date Title
DE60217902T2 (de) Verfahren zum betrieb eines unterbrechnungs-dialogsystems
DE69515838T2 (de) Prioritätsgesteuerte Übertragung von Multimedia-Datenströmen über eine Fernmeldeleitung
DE69814819T2 (de) Verfahren und system zur gemeinsamen nutzung von hardware in einem sprachbasierten kommunikationssystem mit sprachverarbeitung auf verschiedenen relativen komplexitätsstufen
DE60214391T2 (de) Erkennung von Ereignissen bei der Kommunikation mit mehreren Sprachkanälen
EP1477016B1 (de) Effiziente ausnutzung von für vermittlungssysteme bereitgestellten ivr-ressourcen
DE10251113A1 (de) Verfahren zum Betrieb eines Spracherkennungssystems
DE102019200956A1 (de) Signalverarbeitungseinrichtung, System und Verfahren zur Verarbeitung von Audiosignalen
DE60123696T2 (de) Automatische Spracherkennungsinputsteuerung
DE2251257B2 (de) Pcm-vermittlungssystem, bei dem die bereits zugeteilten nicht benuetzten kanaele im bedarfsfall anderen teilnehmern zugeteilt werden
EP1982508B1 (de) Vorrichtung und verfahren zum bereitstellen einer voice browserfunktionalität.
EP1392044A1 (de) Verfahren und Vorrichtung zum Bereitstellen von Konferenzen
DE2854842C2 (de) Datenübertragungssystem
EP2820553B1 (de) Kopplungseinrichtung und verfahren zum dynamischen belegen von usb-endpunkten einer usb-schnittstelle sowie börsen-tradingsystem-endgerät mit kopplungseinrichtung
EP0557777B1 (de) Programmgesteuerte Telekommunikationsanlage mit der Möglichkeit des automatischen Rückrufs
EP2047632B1 (de) Verfahren zum durchführen einer sprachkonferenz und sprachkonferenzsystem
EP1392043A1 (de) Verfahren und Vorrichtung zum Bereitstellen von Konferenzen
DE60021994T2 (de) Verfahren und System zur adaptiven Zuweisung von Anrufaufgaben
EP0529343B1 (de) Verfahren zur Herstellung einer Verbindung zwischen einem an eine Kommunikationsanlage angeschlossenen Kommunikationsendegerät mit einer Mehrzahl von weiteren Geräten
DE19521901A1 (de) Kommunikationssystem, Server und Verfahren zur sprachgesteuerten Aktivierung von Diensten
DE3222453C2 (de)
WO2010025923A1 (de) Konferenzeinheit und verfahren zur durchführung einer mehrpunktkommunikation
EP0535601A2 (de) Verfahren zur Herstellung von Konferenzverbindungen in einer rechnergesteuerten Kommunikationsanlage
DE10220519B4 (de) Verfahren und System zur Verarbeitung von Sprachinformation
WO2005022804A2 (de) Verfahren und system zur effizienten übertragung der leistung bei der beschallung von räumen
EP0224754B1 (de) Elektroakustische Diskussionsanlage

Legal Events

Date Code Title Description
8364 No opposition during term of opposition