DE10158583A1 - Verfahren zum Betrieb eines Barge-In-Dialogsystems - Google Patents

Verfahren zum Betrieb eines Barge-In-Dialogsystems

Info

Publication number
DE10158583A1
DE10158583A1 DE10158583A DE10158583A DE10158583A1 DE 10158583 A1 DE10158583 A1 DE 10158583A1 DE 10158583 A DE10158583 A DE 10158583A DE 10158583 A DE10158583 A DE 10158583A DE 10158583 A1 DE10158583 A1 DE 10158583A1
Authority
DE
Germany
Prior art keywords
unit
user
voice
servers
speech
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.)
Withdrawn
Application number
DE10158583A
Other languages
English (en)
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
Priority to DE10158583A priority Critical patent/DE10158583A1/de
Priority to DE60217902T priority patent/DE60217902T2/de
Priority to AT02803891T priority patent/ATE352835T1/de
Priority to JP2003548230A priority patent/JP4469176B2/ja
Priority to AU2002365496A priority patent/AU2002365496A1/en
Priority to EP02803891A priority patent/EP1451808B1/de
Priority to US10/496,548 priority patent/US20050038659A1/en
Priority to PCT/IB2002/005006 priority patent/WO2003046887A1/en
Publication of DE10158583A1 publication Critical patent/DE10158583A1/de
Withdrawn 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)
  • Electrophonic Musical Instruments (AREA)
  • Bus Control (AREA)
  • Underground Or Underwater Handling Of Building Materials (AREA)
  • Machine Translation (AREA)

Abstract

Beschrieben wird ein Verfahren zum Multi-User-Betrieb eines Barge-In-Dialogsystems (1). Das Dialogsystem umfasst eine Front-End-Rechnereinheit (2) mit einer Mehrzahl von Anschlusskanälen (6) für die Benutzer und eine Mehrzahl von Servern (18, 19, 20, 21) mit jeweils einer Anzahl von Sprachbearbeitungseinheiten (22). Jede der Sprachbearbeitungseinheiten (22) weist einen Sprachaktivitätsdetektor (23) und eine Spracherkennungseinheit (24) auf. Während eines Dialogs zwischen dem System und einem Benutzer wird wiederholt zu verschiedenen bestimmten Zeitpunkten dem von dem Benutzer verwendeten Anschlusskanal (6) eine neue Sprachbearbeitungseinheit (22) zugeordnet, um eine möglichst gleichmäßige Auslastung der Server (18, 19, 20, 21) zu erreichen. Der Sprachaktivitätsdetektor (23) detektiert ein ankommendes Sprachsignal auf dem Anschlusskanal (6), dem die Sprachbearbeitungseinheit (22) zu diesem Zeitpunkt zugeordnet ist, und aktiviert die Spracherkennungseinheit (24). Darüber hinaus wird ein entsprechendes Barge-In-Dialogsystem (1) beschrieben.

Description

  • Die Erfindung betrifft ein Verfahren zum Betrieb eines Barge-In-Dialogsystems zur parallelen Nutzung durch mehrere Benutzer, d. h. für eine Nutzung im sogenannten "Multi-User-Betrieb". Darüber hinaus betrifft die Erfindung ein entsprechendes Barge-In- Dialogsystem. Als "Barge-In-Dialogsysteme" werden dabei Sprach-Dialogsysteme bezeichnet, welche ein Hineinreden des Benutzers in eine laufende Systemausgabe ermöglichen.
  • Sprach-Dialogsysteme, die mit einem Nutzer unter Verwendung von Spracherkennungs- und/oder Sprachausgabeeinrichtungen kommunizieren, sind bereits seit längerem bekannt. Ein Beispiel hierfür sind automatische Anrufbeantwortungs- und Auskunftssysteme, wie sie inzwischen insbesondere von einigen größeren Firmen und Ämtern verwendet werden, um einen Anrufer möglichst schnell und komfortabel mit der gewünschten Information zu versorgen oder mit einer Stelle zu verbinden, welche für die speziellen Wünsche des Anrufers zuständig ist. Weitere Beispiele hierfür sind automatische Telefonauskunft-Systeme, automatische Fahrplanauskunft-Systeme, Informationsdienste mit allgemeinen Veranstaltungshinweisen für eine bestimmte Region, beispielsweise Kino- und Theaterprogramme, oder auch Kombinationen der verschiedensten Auskunftssysteme. Solche sprachgesteuerten, automatischen Dialogsysteme werden oft auch als Voice-Portale oder Sprachapplikationen bezeichnet.
  • Um mehrere Benutzer gleichzeitig bedienen zu können, muss das Dialogsystem entsprechend mehrere Anschlusskanäle für die Benutzer aufweisen. Hierbei kann es sich um Anschlusskanäle zur Verbindung mit einem geeigneten Endgerät des Benutzers handeln, welches eine akustische Benutzerschnittstelle mit einem Mikrofon zum Eingeben von Sprachbefehlen an das Dialogsystem durch den Benutzer und einem Lautsprecher, Kopfhörer oder dergleichen zur Ausgabe von akustischen Systemausgaben an den Benutzer aufweist. Beispielsweise kann es sich bei dem Endgerät um ein Telefon, Mobilfunkgerät oder einen PC des Benutzers und bei den Anschlusskanälen um entsprechende Telefon- und/oder Internetanschlüsse handeln. Bei einem stationären Dialogsystem, beispielsweise einem Informationsterminal an einem öffentlichen Standort, wie einem Bahnhof, Flughafen, Museum etc. kann es sich bei den Anschlusskanälen z. B. um Headsets oder dergleichen handeln, an denen die Benutzer mit dem Terminal kommunizieren können. Außerdem enthält das Sprach-Dialogsystem üblicherweise für jeden Anschlusskanal eine Dialog-Kontrolleinheit (Dialog Control) in Form eines Software-Moduls. Diese Dialog- Kontrolleinheit steuert den Ablauf eines Dialogs mit einem Benutzer über den jeweiligen Anschlusskanal und veranlasst beispielsweise an bestimmten Positionen im Dialogablauf eine Systemausgabe an den Benutzer über den betreffenden Anschlusskanal.
  • Bei der Systemausgabe - im Allgemeinen auch "Prompt" genannt - kann es sich z. B. um eine Eingabeaufforderung an den Benutzer oder um eine vom Benutzer angeforderte Information handeln. Zur Erzeugung einer solchen akustischen Systemausgabe benötigt das Sprach-Dialogsystem eine geeignete Sprachausgabeeinrichtung, beispielsweise einen Text-To-Speech-Konverter, der eine Textinformation des Dialogsystem für den Benutzer in Sprache umsetzt und über den Anschlusskanal ausgibt. Die Sprachausgabeeinrichtung kann aber auch fertig gespeicherte Sounddateien aufweisen, die dem Benutzer zu einem passenden Zeitpunkt vorgespielt werden. In der Regel weist das Sprach-Dialogsystem für jeden Anschlusskanal eine eigene Sprachausgabeeinrichtung auf. Es ist jedoch auch möglich, dass sich mehrere Anschlusskanäle eine gemeinsame Sprachausgabeeinrichtung teilen.
  • Um ein auf einem Anschlusskanal ankommendes Sprachsignal, d. h. eine beliebige sprachliche Äußerung des Benutzers, wie einen Wort, eine Wortkombination oder einen Satz, zu erkennen und entsprechend darauf reagieren zu können, wird eine Spracherkennungseinheit - in der Regel ein Softwaremodul - genutzt. Die Audiodaten des Sprachsignals werden hierzu an diese Spracherkennungseinheit weitergeleitet und die Spracherkennungseinheit liefert das Erkennungsergebnis beispielsweise an die Dialog-Kontrolleinheit zurück.
  • Da eine Spracherkennung einen relativ großen rechnerischen Aufwand erfordert, sind Multi-User-fähige Dialogsysteme häufig physisch aus mehreren Rechnereinheiten aufgebaut. Das System umfasst hierbei eine oder mehrere sogenannte "Front-End- Rechnereinheiten" mit einer Mehrzahl von Anschlusskanälen (Ports). Die Front-End- Rechnereinheit ist in der Regel die Rechnereinheit des Systems, die direkt mit den Benutzern über die Anschlusskanäle kommuniziert. Die den Anschlusskanälen jeweils fest zugeordneten Dialog-Kontrolleinheiten befinden sich hierzu üblicherweise auf der jeweiligen Front-End-Rechnereinheit. Ebenso können sich auch die Sprachausgabeeinrichtungen auf der Front-End-Rechnereinheit befinden. Die Spracherkennungseinheit bzw. die Spracherkennungseinheiten befinden sich dagegen auf einer separaten Rechnereinheit, im Folgenden Server genannt, welche die für die Spracherkennung benötigte Rechenleistung zur Verfügung stellen kann. Bei größeren Systemen ist es in der Praxis üblich, mehrere Server im System zu verwenden, wobei auf jedem Server eine oder mehrere Spracherkennungseinheiten implementiert sind.
  • Die für den jeweiligen Anschlusskanal zuständige Dialog-Kontrolleinheit kann dann rechtzeitig, beispielsweise zum Ende eines Prompts, eine freie Spracherkennungseinheit auswählen und dem jeweiligen Anschlusskanal zuordnen, so dass ein ankommendes Sprachsignal des Benutzers sofort bearbeitet und erkannt werden kann. Sinnvollerweise erfolgt die Auswahl einer der zur Verfügung stehenden Spracherkennungseinheit dabei so, dass die Server, auf denen sich die Spracherkennungseinheiten befinden, möglichst gleichmäßig ausgelastet sind. Dadurch kann eine optimale Ausnutzung der Kapazitäten des Systems und damit eine maximale Bearbeitungsgeschwindigkeit erreicht werden. Ein derartiges Vorgehen ist natürlich nur dann möglich, wenn das Dialogsystem bzw. die Dialog- Kontrolleinheit rechtzeitig vorher weiß, wann eine Spracherkennungseinheit für den jeweiligen Anschlusskanal benötigt wird. Dies ist unproblematisch bei Dialogsystemen, welche nur zu ganz bestimmten Zeitpunkten, nämlich nach Beendigung eines Prompts eine Eingabe durch den Benutzer zulassen. Solche Systeme sind jedoch relativ unnatürlich in ihrem Verhalten gegenüber dem Benutzer. Bekanntermaßen neigen Benutzer oft dazu, bereits zu antworten, bevor das Dialogsystem eine Eingabeaufforderung beendet hat. Dies gilt insbesondere dann, wenn der Benutzer schon genau weiß oder ahnt, zu welcher Eingabe das System ihn auffordert und welche Möglichkeiten ihm an dieser Stelle des Dialogs zur Verfügung stehen. Ein solches Hineinreden in die Systemausgabe erfolgt außerdem ebenso häufig bei der Ausgabe von Informationen, die der Benutzer unterbrechen möchte.
  • Barge-In-Dialogsysteme, welche ein Hineinreden des Benutzers in eine laufende Systemausgabe ermöglichen, sind dagegen erheblich natürlicher in Ihrem Verhalten. Darüber hinaus sind sie für den Benutzer auch komfortabler, da der Benutzer jederzeit eine Eingriffsmöglichkeit hat und nicht das Ende eine Prompts abwarten muss und er so in der Regel auch schneller zu der Position im Dialogablauf gelangt, an der die gewünschte Information ausgegeben wird.
  • Um die für eine Barge-In-Dialogsystem notwendigerweise jederzeitige Erkennung eines Sprachsignals des Benutzers zu gewährleisten, gibt es verschiedene Möglichkeiten:
    Eine Möglichkeit besteht darin, dass jedem Anschlusskanal eine eigene Sprachbearbeitungseinheit permanent zugeordnet ist. Bei einer hohen Anzahl von Anschlusskanälen führt dies zu einer entsprechend sehr hohen Anzahl von Spracherkennungseinheiten. Da das System keinen Einfluss darauf hat, an welchem der Anschlusskanäle gleichzeitig die zugehörigen Spracherkennungseinheiten benötigt werden, kann dies zu einer außerordentlich ungleichgewichtigen Auslastung der Server zu einem bestimmten Zeitpunkt führen. Um zu gewährleisten, dass das Dialogsystem auch in solchen Situationen noch angemessen schnell arbeiten kann, muss die Rechenkapazität der einzelnen Server ausreichend groß angelegt werden, so dass alle auf dem Server befindlichen Spracherkennungseinheiten problemlos gleichzeitig arbeiten können.
  • Eine weitere Möglichkeit, ein Barge-In-Dialogsysteme für mehrere Benutzer zu realisieren, besteht darin, Sprachaktivitätsdetektoren (SAD's) einzusetzen, wobei jedem Anschlusskanal genau ein solcher Sprachaktivitätsdetektor zugeordnet ist. Eine Detektion der Sprachaktivität ist bei Barge-In-Dialogsystemen ohnehin sinnvoll, damit das System sofort eine laufende Systemausgabe unterbrechen kann, wenn der Benutzer ein Sprachsignal eingibt. Ansonsten würden der Benutzer und das Dialogsystem gleichzeitig "sprechen", was zum einen für den Benutzer irritierend ist und zum anderen - wegen des Echos der Systemausgabe im eingehenden Signal - die Erkennung des Sprachsignals des Benutzers durch die Spracherkennungseinheit erschwert. Diese Sprachaktivitätsdetektoren können durch eine einfache Energiedetektion am Anschlusskanal realisiert werden, was nur eine relativ geringe Rechenleistung erfordert. Es kann folglich problemlos in einer 1 : 1 Zuordnung für jeden Anschlusskanal ein SAD zur Verfügung gestellt werden, welcher gemeinsam mit dem zugehörigen Anschlusskanal auf der jeweiligen Front-End- Rechnereinheit implementiert ist. Analog zu dem eingangs genannten nicht barge-in- fähigen Dialogsystem kann bei einer solchen Systemarchitektur jeweils immer dann die Zuordnung einer Spracherkennungseinheit zu einem Anschlusskanal erfolgen, wenn an dem jeweiligen Anschlusskanal eine Spracherkennungseinheit benötigt wird. Dementsprechend ist es in einem solchen System problemlos möglich, bei der Zuteilung der Spracherkennungseinheiten zu den Anschlusskanälen auf eine möglichst gleichmäßige Auslastung der Server zu achten. Insbesondere bei größeren Systemen mit sehr vielen Kanälen und sehr vielen Spracherkennungseinheiten ist es wegen der statistisch geringen Wahrscheinlichkeit, dass auf allen Anschlusskanälen gleichzeitig ein Spracherkenner benötigt wird, außerdem möglich, dass die Anzahl der zur Verfügung stehenden Spracherkennungseinheiten geringer ist als die Anzahl der Anschlusskanäle.
  • Ein großer Nachteil eines solchen Systems besteht jedoch darin, dass zwischen der Detektion der Sprache durch den SAD und der tatsächlichen physikalischen Zuweisung des Anschlusskanals zu einer Spracherkennungseinheit einige Zeit vergeht, in welcher der Benutzer bereits weiterspricht. Es ist folglich notwendig, das Sprachsignal des Benutzers, d. h. eine größere Menge von Audiodaten, zunächst zwischenzuspeichern und dann erst an die Spracherkennungseinheit zu übermitteln, sobald diese einsatzbereit ist. Eine solche Pufferung der Audiodaten ist zum einen relativ aufwändig und somit kostenintensiv. Zum anderen mindert sie die Leistungsfähigkeit des Systems.
  • Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren zum Multi-User-Betrieb eines Barge-In-Dialogsystems bzw. ein entsprechendes Barge-In-Dialogsystem zu schaffen, welches auf einfache Weise jederzeit schnell in der Lage ist, ein ankommendes Sprachsignal des Benutzers zu bearbeiten, wobei die vom System insgesamt benötigte Rechenleistung möglichst gering ist.
  • Diese Aufgabe wird dadurch gelöst, dass bei einem Dialogsystem, welches eine oder mehrere Front-End-Rechnereinheiten mit einer Mehrzahl von Anschlusskanälen für die Benutzer und eine Mehrzahl von Servern mit jeweils einer Anzahl von Sprachbearbeitungseinheiten aufweist, welche jeweils einen Sprachaktivitätsdetektor und eine Spracherkennungseinheit umfassen, wiederholt während eines Dialogs mit einem Benutzer zu verschiedenen bestimmten Zeitpunkten jeweils dem von dem Benutzer verwendeten Anschlusskanal der Front-End-Rechnereinheit eine neue Sprachbearbeitungseinheit auf einem der Server so zugeordnet wird, dass die Server möglichst gleichmäßig ausgelastet sind, und dabei der Sprachaktivitätsdetektor ein an dem jeweils aktuell zugeordneten Anschlusskanal ankommendes Sprachsignal detektiert und die Spracherkennungseinheit aktiviert. Vorrichtungsmäßig wird die Aufgabe durch ein Barge-In-Dialogsystem mit entsprechend auf mehreren Servern angeordneten Sprachbearbeitungseinheiten mit jeweils einer Spracherkennungseinheit und einem Sprachaktivitätsdetektor zur Detektierung eines ankommenden Sprachsignals und Aktivierung der Spracherkennungseinheit und mit einer Zugriffskoordinierungseinheit gelöst, welche wiederholt während eines Dialogs mit einem Benutzer zu verschiedenen bestimmten Zeitpunkten jeweils dem von dem Benutzer verwendeten Anschlusskanal der Front-End-Rechnereinheit eine neue Sprachbearbeitungseinheit auf einem der Server derart zuordnet, dass die Server möglichst gleichmäßig ausgelastet sind. Die abhängigen Ansprüche enthalten jeweils besonders vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung.
  • Erfindungsgemäß befinden sich hierbei auf den Servern sogenannte Sprachbearbeitungseinheiten, die zum einen jeweils einen Sprachaktivitätsdetektor und zum anderen jeweils eine Spracherkennungseinheit umfassen. D. h. der Sprachaktivitätsdetektor, welcher ein ankommendes Sprachsignal detektiert und die Spracherkennungseinheit aktiviert, bildet gemeinsam mit der Spracherkennungseinheit eine Sprachbearbeitungseinheit. Bei dem Sprachaktivitätsdetektor und der Spracherkennungseinheit kann es sich jeweils um getrennte Einheiten handeln, welche zu einer Sprachbearbeitungseinheit zusammengeschlossen, d. h. gruppiert sind. Es ist aber auch möglich, dass der Sprachaktivitätsdetektor und die Spracherkennungseinheit so in eine Sprachbearbeitungseinheit integriert sind, dass sie als unterschiedliche Betriebsmodi der Sprachbearbeitungseinheit angesehen werden können und beispielsweise gemeinsame Softwareroutinen, Speicherbereiche etc. benutzen.
  • Das Barge-In-Dialogsystem wird dabei erfindungsgemäß so betrieben, dass wiederholt während eines Dialogs mit einem Benutzer zu unterschiedlichen bestimmten Zeitpunkten jeweils dem von dem Benutzer verwendeten Anschlusskanal der Front-End-Rechnereinheit eine neue Sprachbearbeitungseinheit auf einem der Server zugeordnet wird. Diese Neuzuordnung erfolgt so, dass die Server möglichst gleichmäßig ausgelastet sind. Das heißt, es findet eine permanente Umordnung der Sprachbearbeitungseinheiten bezüglich der aktiven Anschlusskanäle statt, wobei die Zeitpunkte für die Neuzuordnung einer Sprachbearbeitungseinheit zu einem bestimmten Anschlusskanal vom System so bestimmt werden, dass die Wahrscheinlichkeit gering ist, dass gerade während der Neuzuordnung an dem betreffenden Anschlusskanal eine Sprachbearbeitungseinheit benötigt wird.
  • Ein erfindungsgemäßes Barge-In-Dialogsystem benötigt folglich eine geeignete Zugriffskoordinierungseinheit (Resource Manager), welche zu den gewünschten Zeitpunkten eine wiederholte Zuweisung der Sprachbearbeitungseinheiten der verschiedenen Servern zu den jeweiligen Anschlusskanälen so vornimmt, dass eine gleichmäßige Auslastung der Server gewährleistet ist.
  • Die Zusammengruppierung der Sprachaktivitätsdetektoren und der Spracherkennungseinheiten auf den Servern zu den genannten Sprachbearbeitungseinheiten hat zum einen den Vorteil, dass die Front-End-Rechnereinheiten nicht durch Sprachaktivitätsdetektoren belastet werden. An einem bestimmten Sprachaktivitätsdetektor ankommende Audiodatenströme können direkt von der zugehörigen Spracherkennungseinheit bearbeitet werden und brauchen nicht noch einmal physikalisch zwischen verschiedenen Rechnern umgeleitet werden, was zusätzlich Zeit kosten würde und ggf. auch eine möglichst zu vermeidende Zwischenspeicherung der Audiodaten erfordern könnte.
  • Aufgrund der ständigen Neuzuordnung der Sprachbearbeitungseinheiten zu den Anschlusskanälen und der damit verbundenen gleichmäßigen Auslastungen der Server ist es möglich, dass auf einem Server eine höhere Anzahl von Sprachbearbeitungseinheiten logisch eingerichtet werden kann, wobei die physikalische Rechenkapazität der Server nicht so ausgelegt sein muss, dass alle auf einem Server befindliche Sprachbearbeitungseinheiten gleichzeitig mit voller Leistung arbeiten können. Es ist daher problemlos möglich, trotz einer geringeren Rechenleistung auf den Servern so viele Sprachbearbeitungseinheiten - jeweils bestehend aus einem Sprachaktivitätsdetektor und einer Spracherkennungseinheit - logisch einzurichten, wie es Anschlusskanäle gibt.
  • Vorzugsweise kann sogar eine höhere Anzahl an Sprachbearbeitungseinheiten zur Verfügung gestellt werden als Anschlusskanäle existieren, um so eine höhere Flexibilität bei einer Neuzuordnung einer Sprachbearbeitungseinheit zu einem Anschlusskanal zu erreichen. Der Vorteil einer solchen "Überkapazität" an Sprachbearbeitungseinheiten zeigt sich insbesondere dann, wenn zu einem bestimmten Zeitpunkt sehr viele Benutzer gleichzeitig das Dialogsystem nutzen und nahezu alle Anschlusskanäle belegt sind, wodurch folglich ein Großteil der Sprachbearbeitungseinheiten bereits einem Anschlusskanal zugewiesen sind. Dabei ist in der Regel zu diesem bestimmten Zeitpunkt jedoch nur bei einem Teil der Sprachbearbeitungseinheiten die Spracherkennungseinheit aktiv, welche eine höhere Rechenleistung des jeweiligen Servers nutzt. Bei einem großen Teil der Sprachbearbeitungseinheiten ist dagegen nur der Sprachaktivitätsdetektor aktiv, welcher nur eine geringe Rechenleistung benötigt. Die hohe Belegungszahl kann aber zu einer Situation führen, in der auf bestimmten Servern keine Sprachbearbeitungseinheit mehr frei ist, obwohl diese Server bezüglich ihrer Rechenleistung nur sehr gering ausgelastet sind und eine Zuweisung eines Anschlusskanals zu einer Sprachbearbeitungseinheit auf einem der betreffenden Server bezüglich einer gleichmäßigen Auslastung der Server an sich optimal wäre. Im Extremfall wäre bei einer 1 : 1 Zuordnung von Anschlusskanälen zu Sprachbearbeitungseinheiten und bei einer vollen Nutzung aller Anschlusskanäle durch entsprechend viele Benutzer überhaupt keine Neuzuordnung mehr möglich. Sind jedoch zusätzlich mehr Sprachbearbeitungseinheiten auf den Servern logisch eingerichtet, als es Anschlusskanäle gibt, so ist zumindest immer eine Neuzuordnung möglich, wobei mit zunehmender Anzahl an überzähligen Sprachbearbeitungseinheiten die Wahrscheinlichkeit steigt, dass zu jedem Zeitpunkt auf jedem der Server zumindest noch eine nicht belegte Sprachbearbeitungseinheit verfügbar ist, um so zu jedem Zeitpunkt eine bezüglich der Serverauslastung optimale Zuweisung durchzuführen.
  • Vorzugsweise wird das Dialogsystem so betrieben bzw. erfolgt die Zuweisung so, dass jedem aktiven Anschlusskanal, über den aktuell ein Dialog des Systems mit einem Benutzer stattfindet, im Wesentlichen permanent eine der Sprachbearbeitungseinheiten zugewiesen ist. Das heißt, es steht jedem der Anschlusskanäle während des Dialogs nahezu lückenlos - d. h. mit Ausnahme der kurzen Zeiten, in denen eine Neuzuordnung der Sprachbearbeitungseinheit zu dem jeweiligen Anschlusskanal erfolgt - eine der Sprachbearbeitungseinheiten zur Verfügung, wobei dies in der Regel ständig wechselnde Sprachbearbeitungseinheiten sind. Sofern es innerhalb eines Dialogablaufs bestimmte, bewusst vorgesehene Zeiten gibt, in denen beispielsweise eine Unterbrechung einer Systemausgabe nicht gewünscht ist, braucht dem betreffenden Anschlusskanal in diesen Zeiten natürlich keine Sprachbearbeitungseinheit zugewiesen werden.
  • Bei einem besonders bevorzugten Ausführungsbeispiel weist das System Mittel auf, um der Zugriffskoordinierungseinheit jeweils zu signalisieren, wann eine Erkennung eines zuvor an einem Anschlusskanal eingegangenen Sprachsignals von der Spracherkennungseinheit abgeschlossen wurde und/oder wann eine neue Systemausgabe an den Benutzer über diesen Anschlusskanal beginnt. Dies kann z. B. durch ein Signal der Sprachbearbeitungseinheit selbst erfolgen, welche meldet, dass eine Erkennung abgeschlossen ist. Alternativ kann ein entsprechendes Signal beispielsweise auch von der Dialog-Kontrolleinheit kommen, die die notwendigen Informationen von der Spracherkennungseinheit erhalten hat und nun den Dialog entsprechend dem empfangenen Sprachsignal des Benutzers fortführt und eine neue Systemausgabe an den Benutzer veranlasst. Die Neuzuordnung einer Sprachbearbeitungseinheit zu dem betreffenden Anschlusskanal kann dann vorzugsweise jeweils unmittelbar nach der Erkennung des Sprachsignals oder innerhalb eines vorgegebenen kurzen Zeitraums zu Beginn der nachfolgenden Systemausgabe an den Benutzer durchgeführt werden. Dies ist ein besonders geeigneter Zeitraum zur Neuzuordnung, da typischerweise eine Systemausgabe innerhalb der ersten paar Millisekunden nicht vom Benutzer unterbrochen wird, und somit zu diesem Zeitpunkt mit einer hohen Wahrscheinlichkeit kein Spracherkenner an dem Anschlusskanal benötigt wird. Auf diese Weise wird gewährleistet, dass nahezu jederzeit, wenn ein Spracherkenner benötigt werden könnte, dieser unmittelbar zur Verfügung steht. Die Wahrscheinlichkeit, dass zu irgendeinem Zeitpunkt Audiodaten zwischengespeichert werden müssen, kann daher vernachlässigt werden.
  • Da erfindungsgemäß die Sprachaktivitätsdetektoren nicht in der Front-End-Rechnereinheit implementiert sind, ist es zur Sprachdetektion nicht notwendig, die Audiodatenströme durch den Prozessor der Front-End-Rechnereinheit zu leiten. Vorzugsweise erfolgt daher auch die Weiterleitung der Audiodaten vom Anschlusskanal an die aktuell zugeordnete Sprachbearbeitungseinheit, ohne dass die Daten durch den Prozessor geleitet werden. Dies ist möglich, indem zum Weiterleiten der Audiodatenströme von den Anschlusskanälen an die Server eine reine Hardware-Schaltung, beispielsweise eine sogenannte "Switch-Matrix", verwendet wird. Da der Prozessor, welcher einen Engpass für die Audiodatenströme darstellen würde, auf diese Weise vollständig umgangen wird, sind mit einer solchen Hardware-Lösung erheblich höhere Kanalzahlen in der betreffenden Front-End- Rechnereinheit erreichbar. So ist es z. B. problemlos möglich, an einem System, an dem mittels einer Software-Lösung ca. 120 Anschlusskanäle realisierbar wären, mit Hilfe einer solchen Hardware-Schaltung 500 bis 1000 Anschlusskanäle oder mehr vorzusehen.
  • Bei dem Auswahlverfahren, mit dem bei einer Neuzuweisung für einen Anschlusskanal eine Sprachbearbeitungseinheit ausgewählt wird um eine gleichmäßige Auslastung der Server zu erreichen, kann im Übrigen auf die bekannten Auswahlmethoden der nicht barge-infähigen Systeme zurückgegriffen werden.
  • So kann beispielsweise das unter Bezeichnung "Round-Robin" bekannte Verfahren verwendet werden, bei dem zyklisch von einem Server auf den nächsten Server gewechselt wird. Dieses Verfahren ist mit ausgesprochen geringem Aufwand möglich. Jedoch wird eine gleichmäßige Auslastung nur aufgrund einer statistisch angenommenen Gleichverteilung erreicht, so dass in Einzelfällen vorübergehend auch eine relativ ungleichmäßige Belastung entstehen kann.
  • Ein ähnliches Verfahren ist das sogenannte "Least Use"-Verfahren, bei dem immer der Rechner ausgewählt wird, welcher als letztes nicht benutzt wurde.
  • Ein etwas aufwändigeres, aber bezüglich der gleichmäßigen Auslastung sichereres Verfahren ist das sogenannte "Load Balancing"-Verfahren, bei dem immer der Server mit der aktuell geringsten Last ausgewählt wird. Dieses Verfahren ist, da auch in Extremfällen eine gleichmäßige Auslastung erreicht werden kann, das bevorzugte Verfahren. Vorzugsweise weist das System daher Mittel auf, um die Auslastungswerte für die einzelnen Sprachbearbeitungseinheiten bzw. Server zu ermitteln und um diese Auslastungswerte an die Zugriffskoordinierungseinheit zu übergeben, welche dann anhand der Auslastungswerte der einzelnen Einheiten bzw. Server eine Entscheidung über die Neuzuordnung einer Sprachbearbeitungseinheit zu einem Anschlusskanal trifft.
  • Die Erfindung wird im Folgenden unter Hinweis auf die beigefügte Figur anhand eines Ausführungsbeispiels näher erläutert. Die einzige Figur zeigt hierbei ein grob schematisches Blockschaltbild eines erfindungsgemäßen Barge-In-Dialogsystems 1, wobei nur die für die Erfindung wesentliche Anordnung der Komponenten dargestellt ist.
  • Dieses Barge-In-Dialogsystem 1 besteht im Wesentlichen aus einer Front-End-Rechnereinheit 2 und mehreren Servern 18, 19, 20, 21. Die Front-End-Rechnereinheit 2 weist dabei die Anschlusskanäle 6 für die Benutzer auf. In dem vorliegenden Ausführungsbeispiel handelt es sich bei den Anschlusskanälen 6 um Telefonanschlusskanäle, beispielsweise ISDN-Kanäle. Auf den Servern 18, 19, 20, 21 befinden sich jeweils mehrere Sprachbearbeitungseinheiten 22. Jede der Sprachbearbeitungseinheiten 22 enthält einen Sprachaktivitätsdetektor 23 und eine Spracherkennungseinheit 24.
  • Das dargestellte Ausführungsbeispiel weist dabei mehr Sprachbearbeitungseinheiten 22 auf, als Anschlusskanäle 6 an der Front-End-Rechnereinheit 2 vorhanden sind. Im vorliegenden Fall ist das Dialogsystem 1 wegen der besseren Übersichtlichkeit mit nur acht Anschlusskanälen 6 ausgestattet. Dagegen weist das Dialogsystem 1 hier vier Server 18, 19, 20, 21 auf, auf denen jeweils drei Sprachbearbeitungseinheiten 22 logisch eingerichtet sind. D. h. für die acht Anschlusskanäle 6 stehen insgesamt zwölf Sprachbearbeitungseinheiten 22 zur Verfügung. Das Dialogsystem 1 kann aber auch weniger Server oder eine erheblich größere Anzahl von Servern aufweisen, wobei auch die Anzahl der Sprachbearbeitungseinheiten 22 pro Server 18, 19, 20, 21 beliebig ist und lediglich durch die Rechenleistung und die Speicherkapazität des betreffenden Servers 18, 19, 20, 21 begrenzt wird. Dabei können die Server 18 bis 21 auch unterschiedliche Rechenleistungen und unterschiedliche Anzahlen von Sprachbearbeitungseinheiten 22 aufweisen.
  • In der Realität weist eine Front-End-Rechnereinheit 2 üblicherweise eine erheblich höhere Anzahl von Anschlusskanälen 6 auf, beispielsweise 120, 500 oder sogar 1000 und mehr Anschlusskanäle. Bei einem realen Dialogsystem mit einer Front-End-Rechnereinheit mit 120 Anschlusskanälen könnten sich dann beispielsweise dementsprechend auf zehn Servern jeweils zwölf Sprachbearbeitungseinheiten befinden, so dass insgesamt für jeden Anschlusskanal zumindest wieder eine Sprachbearbeitungseinheit zur Verfügung steht.
  • Die Front-End-Rechnereinheit 2 ist über geeignete Audiodatenleitungen 25 mit den Servern 18, 19, 20, 21 verbunden. In der Figur ist pro Server 18, 19, 20, 21 nur ein Audiodatenkanal 25 eingezeichnet. Es kann sich aber auch mehrere Audiodatenkanäle 25 pro Server 18, 19, 20, 21 handeln, beispielsweise um einen Audiodatenkanal 25 pro Sprachbearbeitungseinheit 22, um die Audiodaten jeweils für jede Sprachbearbeitungseinheit 22 über einen eigenen Kanal 25 schnell übermitteln zu können.
  • In der Front-End-Rechnereinheit 2 befindet sich für jeden der Anschlusskanäle 6 eine Dialog-Kontrolleinheit, welche einen über den jeweiligen Anschlusskanal stattfindenden Dialog mit einem Benutzer steuert, sowie eine geeignete Sprachausgabeeinheit für Systemausgaben an den Benutzer. Diese Einheiten sind der Übersichtlichkeit halber nicht dargestellt.
  • Da es sich um ein barge-in-fähiges Dialogsystem handelt, muss während des Dialoges an dem jeweiligen Anschlusskanal 6 ständig eine Sprachbearbeitungseinheit 22 zur Verfügung stehen, um sofort bei Empfang eines Sprachsignals durch den Benutzer dieses Sprachsignal bearbeiten, d. h. die Informationen aus dem Sprachsignal erkennen zu können. Aus diesem Grunde wird jedem der Anschlusskanäle 6, sobald ein Dialog mit einem Benutzer über diesen Anschlusskanal beginnt, eine Sprachbearbeitungseinheit 22 auf einem der Server 18, 19, 20, 21 zugeordnet. Die Audiodaten, die über den Anschlusskanal 6 ankommen, werden von der Front-End-Rechnereinheit 2 über die Audiodatenkanäle 25 direkt an die aktuell zugeordnete Sprachbearbeitungseinheit 22 bzw. an den jeweiligen Server 18, 19, 20, 21, auf welchem sich die Sprachbearbeitungseinheit 22 befindet, weitergeleitet.
  • Die Audiodaten gelangen innerhalb der Sprachbearbeitungseinheit 22 jeweils zuerst zu einem Sprachaktivitätsdetektor 23, welcher die ganze Zeit über aktiv ist und quasi "zuhört", ob auf dem aktuell der Sprachbearbeitungseinheit 22 zugeordneten Anschlusskanal 6 ein Sprachsignal des Benutzers ankommt. Dieses "Zuhören" der Sprachbearbeitungseinheit 22 bzw. des Sprachaktivitätsdetektors 23 kostet nur wenig Rechenleistung. Sobald der Sprachaktivitätsdetektor 23 ein Sprachsignal detektiert hat, wird die Spracherkennungseinheit 24 aktiviert, so dass diese sofort mit der Erkennung des Sprachsignals beginnen kann. Es ist hierbei nicht notwendig, den Audiodatenstrom noch einmal von einer Recheneinheit zu einer anderen Recheneinheit umzuleiten, insbesondere entfällt damit auch die Notwendigkeit zur Zwischenspeicherung von Audiodaten. Da eine Spracherkennungseinheit 24 nur dann aktiviert wird, wenn ein Sprachsignal vom Sprachaktivitätsdetektor 23 detektiert wird, ist die benötigte Rechenleistung einer Sprachbearbeitungseinheit 22 während eines Großteils des Dialogs relativ gering.
  • Erfindungsgemäß ist dem jeweiligen Anschlusskanal 6 jedoch nicht permanent während eines Dialogs mit einem Benutzer ein und dieselbe Sprachbearbeitungseinheit 22 zugeordnet, sondern es wird wiederholt während des laufenden Dialogs zu unterschiedlichen bestimmten Zeitpunkten dem jeweiligen Anschlusskanal 6 eine neue, zu diesem Zeitpunkt freie, d. h. nicht von einem anderen Anschlusskanal 6 verwendete, Sprachbearbeitungseinheit 22 zugewiesen.
  • Diese Zuweisung erfolgt immer dann, wenn gerade eine Erkennung eines zuvor vom Benutzers eingegebenen Sprachsignals abgeschlossen ist bzw. innerhalb eines sehr kurzen Zeitraumes, nachdem ein neuer Prompt an den jeweiligen Benutzer ausgegeben wird. Zu diesem Zeitpunkt ist nicht damit zu rechnen, dass der Benutzer das Dialogsystem unterbricht, um einen neuen Sprachbefehl einzugeben. Üblicherweise erfolgt nämlich eine Unterbrechung durch den Benutzer frühestens nach ein paar Millisekunden nach Beginn eines Prompts. Auf diese Weise ist dafür gesorgt, dass permanent eine Umordnung der einzelnen Sprachbearbeitungseinheiten 22 zu den jeweils gerade aktiven Anschlusskanälen 6 erfolgt, ohne dass sich dies gegenüber den Benutzern, beispielsweise durch längere Reaktionszeiten des Dialogsystems, bemerkbar macht.
  • Um zu vermeiden, dass eine Systemausgabe weiterläuft, während der Benutzer bereits dem Dialogsystem antwortet und selber ein Sprachsignal eingibt, schickt der Sprachaktivitätsdetektor 23 außerdem beispielsweise über eine lokale Netzwerkanbindung 5 oder einen ähnlichen Datenkanal, über den die Server 18 bis 21 mit der Front-End-Rechnereinheit 2 verbunden sind, ein entsprechendes Signal an die jeweilige den Anschlusskanal 6 bedienende Dialog-Kontrolleinheit. Diese unterbricht dann die aktuelle Systemausgabe.
  • Die Zuordnung der Sprachbearbeitungseinheiten 22 auf den verschiedenen Servern 18 bis 21 zu den jeweils aktiven Anschlusskanälen 6 erfolgt mittels einer Zugriffskoordinierungseinheit (Resource Manager) 3, welche sich auf der Front-End-Rechnereinheit 2 befindet. Diese Zugriffskoordinierungseinheit 3 umfasst eine sogenannten Switch-Matrix 4, welche rein hardwaremäßig die Anschlusskanäle 6 mit den Audiodatenkanälen 25 zu den gewünschten Sprachbearbeitungseinheiten 22 verschaltet. Diese hardwaremäßige Umschaltung hat den Vorteil, dass der Prozessor der Front-End-Rechnereinheit nicht mit den Audiodaten belastet wird.
  • Da sich auch die Sprachaktivitätsdetektoren 23 direkt auf den Servern 18, 19, 20, 21 bei den Spracherkennungseinheiten 22 befinden und nicht in der Front-End-Rechnereinheit 2, ist es bei dem beschriebenen Ausführungsbeispiel folglich überhaupt nicht notwendig, dass die auf einem Anschlusskanal 6 ankommenden Audiodaten durch einen Prozessor der Front-End-Rechnereinheit 2 geleitet werden, welche für den Audiodatenstrom ein Nadelöhr darstellen würde, was die Leistungsfähigkeit des gesamten Systems verringern würde.
  • Die Zugriffskoordinierungseinheit 3 sorgt bei der Zuordnung einer neuen Sprachbearbeitungseinheit 22 zu einem aktiven Anschlusskanal 6 dafür, dass die einzelnen Server 18, 19, 20, 21 möglichst gleichmäßig bezüglich der angeforderten Rechenleistung und des aktuellen Speicherbedarfs ausgelastet sind. Hierzu werden von den einzelnen Servern 18, 19, 20, 21 beispielsweise über die lokale Netzwerkanbindung 5 an die Zugriffskoordinierungseinheit 3 in der Front-End-Rechnereinheit 2 jeweils normierte Auslastungswerte übermittelt, anhand derer die Zugriffskoordinierungseinheit 3 die Auslastung der einzelnen Server 18, 19, 20, 21 erkennen kann. Auf Basis dieser Auslastungswerte erfolgt dann die Neuzuordnung so, dass möglichst ein Ausgleich der Werte erfolgt. Diese Vorgehensweise wird im Folgenden noch einmal anhand einer "Momentaufnahme" während des Betriebs des Barge-In-Dialogsystems 1 erläutert:
    Hierzu wird angenommen, dass zu einem bestimmten Zeitpunkt über alle acht Anschlusskanäle 6 ein Benutzer bedient wird, d. h. dass alle Anschlusskanäle 6 aktiv sind. Die Dialogabläufe an den Anschlusskanälen 6 sind dabei völlig unabhängig voneinander. Das heißt, es werden auf einigen der Anschlusskanäle 6 zu einem bestimmten Zeitpunkt Systemausgaben getätigt, wogegen an anderen der Anschlusskanäle 6 jeweils der Benutzer spricht, d. h. ein Sprachsignal ankommt. Je nachdem, ob gerade ein Sprachsignal bearbeitet werden muss oder nicht, wird von der dem jeweiligen aktiven Anschlusskanal zu diesem Zeitpunkt gerade zugeordneten Sprachbearbeitungseinheit 22 eine unterschiedliche Rechenleistung gefordert, was die entsprechenden Server 18, 19, 20, 21 unterschiedlich belastet.
  • Es wird weiterhin angenommen, dass die aktuelle Zuordnung der Sprachbearbeitungseinheiten 22 zu den Anschlusskanälen 6 zu einem bestimmten Zeitpunkt zufälligerweise so liegt, dass von jedem der vier Server 18, 19, 20, 21 genau zwei der Sprachbearbeitungseinheiten 22 einem Anschlusskanal 6 zugeordnet sind, wogegen die dritte Sprachbearbeitungseinheit 22 jeweils noch nicht belegt ist. Weiter wird angenommen, dass zu einem bestimmten Zeitpunkt bei einem der Anschlusskanäle 6 soeben eine Erkennung eines vom Benutzer eingegebenen Sprachsignals erfolgt ist und nunmehr ein Prompt an den Benutzer ausgegeben wird. Gleichzeitig stellt die Zugriffskoordinierungseinheit 3 mit Hilfe der Auslastungswerte fest, dass der Server 18, auf dem sich die aktuell diesem Anschlusskanal 6 zugeordnete Sprachbearbeitungseinheit 22 befindet, relativ hoch ausgelastet ist, weil gerade auf dem anderen Anschlusskanal 6, welcher der zweiten Sprachbearbeitungseinheit 22 desselben Servers 18 zugeordnet ist, der Benutzer ein Sprachsignal eingibt, welches von der Spracherkennungseinheit 24 dieser Sprachbearbeitungseinheit 22 bearbeitet wird. Dagegen ist ein anderer Server 19 der vier Server 18, 19, 20, 21 relativ wenig ausgelastet, da hier auf beiden zugehörigen, aktuell zugeordneten Anschlusskanälen 6 gerade Systemausgaben erfolgen und der Benutzer zu diesem Zeitpunkt keine Sprachsignale eingibt. Die beiden restlichen Server 20, 21 sind dagegen beispielsweise durchschnittlich ausgelastet, da auch hier jeweils eine der Sprachbearbeitungseinheiten 22 gerade mit einer Erkennung eines Sprachsignals beschäftigt ist. Die Zugriffskoordinierungseinheit 3 auf dem Front-End- Rechner 2 wird daher die Gelegenheit nutzen, um dem Anschlusskanal 6, auf dem gerade die Ausgabe des Prompts beginnt, eine neue Sprachbearbeitungseinheit 22 zuzuweisen, um den Server 18, auf dem sich die aktuell dem betreffenden Anschlusskanal 6 zugeordnete Sprachbearbeitungseinheit 22 befindet, zu entlasten. Dabei wird anhand der Auslastungswerte die dritte, freie Sprachbearbeitungseinheit 22 auf dem Server 19 ausgewählt, welcher zur Zeit die geringste Belastung aufweist.
  • Da permanent während eines Dialogs Spracheingaben des Benutzers erkannt werden und anschließend wieder ein Prompt ausgegeben wird, ergeben sich während eines Dialogs zahlreiche Gelegenheiten, dem Anschlusskanal 6, auf welchem der Dialog geführt wird, eine neue Sprachbearbeitungseinheit 22 zuzuweisen. Durch die häufige Neuzuordnung der Sprachbearbeitungseinheiten 22 zu den Anschlusskanälen 6 kann auf eine sehr gleichmäßige Belastung aller Server geachtet werden, so dass trotz einer hohen Anzahl von logisch auf den Servern eingerichteten Sprachbearbeitungseinheiten die Gesamtrechenleistung der Server reduziert werden kann. Aufgrund der geschickten Auswahl der Neuzuordnungszeitpunkte ist dabei nicht zu befürchten, dass zu einem Zeitpunkt, an welchem vom Anschlusskanal eine Sprachbearbeitungseinheit benötigt wird, diese aktuell nicht verfügbar ist. Insgesamt ermöglicht die Erfindung somit eine effektive Verteilung von Sprachaktivitätsdetektoren und Spracherkennungseinheiten auf eine große Anzahl von Servern innerhalb eines Netzes, wobei eine effiziente Teilung dieser Ressourcen sogar in Barge-In-fähigen Dialoganwendungen gegeben ist. Des Weiteren kann die Systemkomplexität auf der Front-End-Rechnereinheit sehr gering gehalten werden, wodurch sogar eine rein hardwaremäßige effiziente Verteilung der Audiodaten zu den einzelnen Spracherkennungseinheiten möglich wird. Es wird aber darauf hingewiesen, dass die Erfindung auch in solchen Fällen sinnvoll ist, bei denen die Front-End-Rechnereinheiten die Audiodaten mittels geeigneter Software, beispielsweise unter Nutzung ihres Hauptprozessors, verteilen. Da der Hauptprozessor in einem solchen Fall durch die Verteilungsaufgaben ohnehin relativ stark ausgelastet ist, macht sich hier der Vorteil besonders bemerkbar, dass die Sprachaktivitätsdetektoren auf den Servern angeordnet sind und den Hauptprozessor nicht zusätzlich belasten.
  • Es wird auch noch einmal ausdrücklich darauf hingewiesen, dass es sich bei dem dargestellten Ausführungsbeispiel nur um eine Möglichkeit handelt, das System zu realisieren. Insbesondere ist es auch möglich, dass ein solches Dialogsystem mehrere Front-End- Rechnereinheiten 2 aufweist, welche dann beispielsweise wiederum mehrere Anschlusskanäle enthalten. Ebenso kann auch für jeden Anschlusskanal eine eigene Front-End- Rechnereinheit verwendet werden. Ein Beispiel hierfür ist ein Dialogsystem, bei dem der jeweilige PC eines Nutzers selbst die Front-End-Rechnereinheit bildet, wobei sich beispielsweise auf diesem PC die Dialog-Kontrolleinheit für die betreffende Anwendung befindet und der Zugriff zu den Servern mit den Sprachbearbeitungseinheiten über einen Internetanschluss erfolgt. Diese Front-End-Rechnereinheiten könnten dann zunächst beispielsweise mit einer zentrale Rechnereinheit verbunden sein, welche im Wesentlichen nur als Vermittlungsstelle fungiert und z. B. den Resource Manager und eine entsprechende Switch-Matrix aufweist.

Claims (10)

1. Verfahren zum Betrieb eines Barge-In-Dialogsystems (1) zur parallelen Nutzung durch mehrere Benutzer, welches Dialogsystem
eine oder mehrere Front-End-Rechnereinheiten (2) mit einer Mehrzahl von Anschlusskanälen (6) für die Benutzer,
und eine Mehrzahl von Servern (18, 19, 20, 21) mit jeweils einer Anzahl von Sprachbearbeitungseinheiten (22), welche jeweils einen Sprachaktivitätsdetektor (23) und eine Spracherkennungseinheit (24) umfassen,
aufweist,
wobei wiederholt während eines Dialogs mit einem Benutzer zu verschiedenen bestimmten Zeitpunkten jeweils dem von dem Benutzer verwendeten Anschlusskanal (6) der Front- End-Rechnereinheit (2) eine neue Sprachbearbeitungseinheit (22) auf einem der Server (18, 19, 20, 21) so zugeordnet wird, dass die Server (18, 19, 20, 21) möglichst gleichmäßig ausgelastet sind,
und wobei der Sprachaktivitätsdetektor (23) ein an dem jeweils aktuell zugeordneten Anschlusskanal ankommendes Sprachsignal detektiert und die Spracherkennungseinheit (24) aktiviert.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Neuzuweisung einer Sprachbearbeitungseinheit (22) zu einem Anschlusskanal (6) jeweils unmittelbar nach einer Erkennung eines vom Benutzer eingegebenen Sprachsignals oder innerhalb eines vorgegebenen kurzen Zeitraums zu Beginn einer Systemausgabe an den Benutzer erfolgt.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass jedem der Anschlusskanäle (6) im Wesentlichen permanent während eines Dialogs mit einem Benutzer eine Sprachbearbeitungseinheit (22) zugeordnet ist.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass für die einzelnen Server (18, 19, 20, 21) jeweils ein Auslastungswert ermittelt wird und eine Zuordnung unter Verwendung der Auslastungswerte der einzelnen Server (18, 19, 20, 21) erfolgt.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Zuweisung einer Sprachbearbeitungseinheit (22) zu einem Anschlusskanal (6) mittels einer Hardware-Schaltung (4) erfolgt, welche an dem betreffenden Anschlusskanal (6) eingehende Audiodaten direkt an den Server (18, 19, 20, 21) mit der betreffenden Sprachbearbeitungseinheit (22) weiterleitet.
6. Barge-In-Dialogsystem zur parallelen Nutzung durch mehrere Benutzer, mit
einer oder mehreren Front-End-Rechnereinheiten (2) mit einer Mehrzahl von Anschlusskanälen (6) für die Benutzer,
einer Mehrzahl von Servern (18, 19, 20, 21), welche jeweils eine Anzahl von Sprachbearbeitungseinheiten (22) mit jeweils einer Spracherkennungseinheit (24) und einem Sprachaktivitätsdetektor (23) zur Detektierung eines ankommenden Sprachsignals und Aktivierung der Spracherkennungseinheit (24) umfassen,
und einer Zugriffskoordinierungseinheit (3), welche wiederholt während eines Dialogs mit einem Benutzer zu verschiedenen bestimmten Zeitpunkten jeweils dem von dem Benutzer verwendeten Anschlusskanal (6) der Front-End-Rechnereinheit (2) eine neue Sprachbearbeitungseinheit (22) auf einem der Server (18, 19, 20, 21) derart zuordnet, dass die Server (18, 19, 20, 21) möglichst gleichmäßig ausgelastet sind.
7. Dialogsystem nach Anspruch 6, gekennzeichnet durch Mittel um an die Zugriffskoordinierungseinheit (3) den Abschluss einer Erkennung eines zuvor an einem Anschlusskanal (6) eingegangenen Sprachsignals und/oder den Beginn einer Systemausgabe an den Benutzer über diesen Anschlusskanal (6) zu signalisieren.
8. Dialogsystem nach Anspruch 6 oder 7, gekennzeichnet durch
Mittel zur Ermittlung von Auslastungswerten für die einzelnen Server (18, 19, 20, 21) und
Mittel zur Übergabe dieser Auslastungswerte an die Zugriffskoordinierungseinheit (3).
9. Dialogsystem nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass die Zugriffskoordinierungseinheit (3) in die Front-End-Rechnereinheit (2) integriert ist.
10. Dialogsystem nach einem der Ansprüche 6 bis 9, gekennzeichnet durch eine Hardware-Schaltung (4), welche an einem Anschlusskanal (6) eingehende Audiodaten direkt an den Server (18, 19, 20, 21) mit der dem jeweiligen Anschlusskanal (6) zu diesem Zeitpunkt zugewiesenen Sprachbearbeitungseinheit (22) weiterleitet.
DE10158583A 2001-11-29 2001-11-29 Verfahren zum Betrieb eines Barge-In-Dialogsystems Withdrawn DE10158583A1 (de)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE10158583A DE10158583A1 (de) 2001-11-29 2001-11-29 Verfahren zum Betrieb eines Barge-In-Dialogsystems
DE60217902T DE60217902T2 (de) 2001-11-29 2002-11-26 Verfahren zum betrieb eines unterbrechnungs-dialogsystems
AT02803891T ATE352835T1 (de) 2001-11-29 2002-11-26 Verfahren zum betrieb eines unterbrechnungs- dialogsystems
JP2003548230A JP4469176B2 (ja) 2001-11-29 2002-11-26 バージイン対話システムの処理方法及びバージイン対話システム
AU2002365496A AU2002365496A1 (en) 2001-11-29 2002-11-26 Method of operating a barge-in dialogue system
EP02803891A EP1451808B1 (de) 2001-11-29 2002-11-26 Verfahren zum betrieb eines unterbrechnungs-dialogsystems
US10/496,548 US20050038659A1 (en) 2001-11-29 2002-11-26 Method of operating a barge-in dialogue system
PCT/IB2002/005006 WO2003046887A1 (en) 2001-11-29 2002-11-26 Method of operating a barge-in dialogue system

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
DE10158583A1 true DE10158583A1 (de) 2003-06-12

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 After (1)

Application Number Title Priority Date Filing Date
DE60217902T Expired - Lifetime DE60217902T2 (de) 2001-11-29 2002-11-26 Verfahren zum betrieb eines unterbrechnungs-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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10342541A1 (de) * 2003-09-15 2005-05-12 Daimler Chrysler Ag Arbeitsbelastungsabhängige Dialogführung

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383181B2 (en) 2003-07-29 2008-06-03 Microsoft Corporation Multi-sensory speech detection system
US20050033571A1 (en) * 2003-08-07 2005-02-10 Microsoft Corporation Head mounted multi-sensory audio input system
US7392188B2 (en) * 2003-07-31 2008-06-24 Telefonaktiebolaget Lm Ericsson (Publ) System and method enabling acoustic barge-in
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10342541A1 (de) * 2003-09-15 2005-05-12 Daimler Chrysler Ag Arbeitsbelastungsabhängige Dialogführung

Also Published As

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

Similar Documents

Publication Publication Date Title
DE10158583A1 (de) Verfahren zum Betrieb eines Barge-In-Dialogsystems
DE60024790T2 (de) Audiokonferenzplattform mit zentralisiertem summieren
EP1421767B1 (de) Anordnung zum bereitstellen von ansagen und dialogen in paketnetzen
Moray Where is capacity limited? A survey and a model
EP1477016B1 (de) Effiziente ausnutzung von für vermittlungssysteme bereitgestellten ivr-ressourcen
DE10251113A1 (de) Verfahren zum Betrieb eines Spracherkennungssystems
DE102022119403A1 (de) Verfahren und vorrichtungen, um private verbale nebengespräche bei virtuellen sitzungen zu ermöglichen
DE102012214611B4 (de) Verbesserte Tonqualität bei Telefonkonferenzen
EP1285515B1 (de) Verfahren zur zugriffssteuerung auf geräte in einem fahrzeugkommunikationsnetz
DE2251257B2 (de) Pcm-vermittlungssystem, bei dem die bereits zugeteilten nicht benuetzten kanaele im bedarfsfall anderen teilnehmern zugeteilt werden
EP2047668A1 (de) Verfahren, sprachdialogsystem und telekommunikationsendgerät zur multilingualen sprachausgabe
EP2047632B1 (de) Verfahren zum durchführen einer sprachkonferenz und sprachkonferenzsystem
EP1982508B1 (de) Vorrichtung und verfahren zum bereitstellen einer voice browserfunktionalität.
EP1392043B1 (de) Verfahren und Vorrichtung zum Bereitstellen von Konferenzen
EP2820553B1 (de) Kopplungseinrichtung und verfahren zum dynamischen belegen von usb-endpunkten einer usb-schnittstelle sowie börsen-tradingsystem-endgerät mit kopplungseinrichtung
EP0724352B1 (de) Konferenzsystem
DE3222453C2 (de)
JP2512978B2 (ja) マルチドロップ方式におけるデバイス番号の割り付け方法
DE60021994T2 (de) Verfahren und System zur adaptiven Zuweisung von Anrufaufgaben
DE19521901A1 (de) Kommunikationssystem, Server und Verfahren zur sprachgesteuerten Aktivierung von Diensten
DE10127852A1 (de) Verfahren zur Erkennung von Sprachinformationen
EP0357819B1 (de) Schaltungsanordnung zur Herstellung von Konferenzverbindungen in einer digitalen Zeitmultiplex-Fernmeldevermittlungsstelle
CH660105A5 (de) Schaltungsanordnung zum herstellen einer konferenzverbindung in einer digitalen fernmeldevermittlungsstelle.
DE10055252B4 (de) Verfahren zur Übertragung von Informationen oder Daten in einem Telekommunikationssystem
DE3519327A1 (de) Verfahren fuer die sprachausgabe zur bedienerfuehrung an endgeraeten von fernmelde-, insbesondere fernsprechvermittlungsanlagen

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee