-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft allgemein Spracherkennungs-gestützte Telekommunikationsdienste
und insbesondere Trainingstechniken für derartige Dienste.
-
HINTERGRUND
DER ERFINDUNG
-
Die
Spracherkennung zur Verwendung beim Repertoire-Wählen von Telefonnummern ist
ein altbekanntes Konzept, siehe Rabiner et al., "A Voice Controlled Repertory Dialer
System", Vol. 59,
Nr. 7, The Bell System Technical Journal, S. 1153 (1980). Die grundlegende
Idee besteht darin, die dass ein Spracherkennungssystem trainiert
werden kann, um unter anderem die Namen von Personen zu erkennen,
die ein Telefonbenutzer "anwählen" möchte. Die Erkennungseinheit
weist einen Speicher auf, der Spracherkennungsmodelle (wie beispielsweise
herkömmliche
versteckte Markov-Modelle (Hidden Markov Models; HMMs) oder Schablonen)
der Namen von Personen einschließt, die zum Wählen wahrscheinlich
ausgesprochen wären.
Dieser Speicher wird als das "Vokabular" der Erkennungseinheit
bezeichnet. Zu jedem Modell gehört
eine Telefonnummer, die gewählt
werden soll. Wenn ein Benutzer einen Namen in das Vokabular spricht,
dann erkennt die Erkennungseinheit den Namen und veranlasst einen
automatischen Wähler,
Signale zu erzeugen, beispielsweise herkömmliche DTMF-Signale, die einen
Telefonanruf zu der Person initiieren, dessen Name erkannt wurde.
-
Die
Spracherkennung für
ein automatisches Repertoire-Wählen
ist sowohl im Kontext eines Telefons als auch im Kontext eines Telefonnetzes
angewendet worden. In dem Telefonkontext ersetzt das Erkennungseinheit/Wähler-System
die Verwendung der DTMF-Tastatur für diejenigen Namen in dem Vokabular,
siehe z.B. U.S.-Patent Nr. 4348550, erneut erteilt als Nr. Re. 32.012,
mit dem Titel "Spoken
Word Controlled Automatic Dialer".
Ein derartiges Telefon kann mit einem vollkommen herkömmlichen öffentlichen
Telefonvermittlungsnetz, wie beispielsweise dem AT&T-Netz, verwendet
werden, das DTMF-Signale
empfängt
und eine Verbindung zwischen der anrufenden und der angerufenen
Gegenstelle einrichtet. Das Netz macht keinen Unterschied zwischen DTMF-Tönen, die
durch eine Person erzeugt werden (wie beim herkömmlichen manuellen Wählen) und denjenigen,
die automatisch erzeugt werden, als Ergebnis einer Spracherkennung.
-
In
dem Kontext eines Netzes wird ein spezieller Netzknoten (oder eine
Vermittlungsstelle) in dem Telefonnetz platziert, um die Funktionen
der Spracherkennung und der Steuersignal-Erzeugung auszuführen. Ein
Netzdienstkunde (ein Teilnehmer) greift auf den Knoten entweder
bei einem Wählton oder
als Ergebnis des Wählens
einer speziellen Knotenzugriffsnummer, wie beispielsweise einer
*96 oder einer *1-800"-Nummer
zu. Der Teilnehmer spricht den Namen, den er anrufen möchte, und
der Knoten führt
die Erkennungsaufgabe aus. Im Ansprechen auf eine Erkennung eines
gesprochenen Namens werden Steuersignale durch den Knoten erzeugt,
um den Anruf zu der angerufenen Gegenstelle abzuschließen.
-
Sowohl
im Kontext des Telefons als auch im Kontext des Telefonnetzes muss
der Benutzer dem automatischen Wähler
die Liste von Namen und entsprechenden Nummern, die der Benutzer
(oder Teilnehmer) über
die Sprache "wählen" können möchte, zur
Verfügung
stellen. Dieser Zuführungsprozess
ist aufwendig und erfordert, dass der Benutzer für sich selbst die Liste von
Namen und Nummern bestimmt, die für den Einbau in sein Repertoire-Wählvokabular am
zweckdienlichsten sein würden.
-
Die
WO 95/28790 beschreibt eine Vorrichtung zum Automatisieren eines
Telefonverzeichnis-Unterstützungssystems.
Wenn ein Benutzer ein Telefonverzeichnis-Unterstützungssystem anruft, gibt er
zu Anfang die Lokalität
der Adresse an, für
die er die Telefonnummer benötigt,
und die WO 95/28790 ist darauf gerichtet, eine automatische Spracherkennung
einer Lokalität
bereitzustellen, die durch einen Anrufer zugeführt wird. Eine Vielzahl von möglichen
Orten werden aus der Äußerung des
Anrufers ermittelt und der geografische Ort des Anrufers wird aus
der Telefonnummer des Anrufers bestimmt und verwendet, um diese
in der Reihenfolge der Wahrscheinlichkeit in einer Rangordnung aufzureihen.
-
Die
EP-A-0585004 offenbart ein Verfahren, das zwei Benutzern erlaubt,
den gleichen Teilnehmeridentifizierer zu verwenden. Sprachmodelle
von jedem Benutzer, der den Identifizierer ausspricht, werden gespeichert.
Wenn der Identifizierer in einem Telefonanruf ausgesprochen wird,
werden die gespeicherten Sprachmodelle verwendet, um zu bestimmen,
welcher der Benutzer den Anruf durchführt.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
Erfindung ist wie in den unabhängigen Ansprüchen 1 und
22 aufgeführt,
wobei bevorzugte Ausführungsformen
in den abhängigen
Ansprüchen aufgeführt sind.
-
Die
vorliegende Erfindung ist gerichtet auf eine Technik zum Erzeugen,
Trainieren und Verwenden eines Telekommunikationsnetz-gestützten automatischen
Sprachwählsystems.
Die Technik beinhaltet die automatische Bestimmung der wahrscheinlichen
angerufenen Gegenstellen (Parteien) für einen gegebenen Kunden auf
Grundlage von Einträgen
einer Netzverwendung durch den Kunden. Namen der wahrscheinlich
angerufenen Gegenstellen werden durch die Verwendung einer herkömmlichen
Umkehrtelefonverzeichnis-Datenbank bestimmt.
-
Obwohl
die Konzepte der vorliegenden Erfindung unter Bezugnahme auf ein
Telefonnetz dargestellt werden, sind die Konzepte gleichermaßen auf andere
Typen von Netzen anwendbar, wie beispielsweise das Internet, ATM-Netze,
drahtlose Netze, etc., bei denen Netzverwendungseinträge eines
Kunden verfügbar
sind. In derartigen Fällen
können
Netzadressen, mit denen eine Kommunikation hergestellt worden ist,
gemäß dieser
Einträge,
mit einem entsprechenden sprechbaren Label assoziiert werden, so
dass mit herkömmlichen
Spracherkennungstechniken ein Benutzer eine Verbindung zu einer
derartigen Adresse über
das Netz durch Aussprechen des Labels initiieren kann.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
In
den Zeichnungen zeigen:
-
1 eine
illustrative Netzarchitektur zum Lenken von Anrufen an eine illustrative
Ausführungsform
der vorliegenden Erfindung;
-
2 ein
illustratives System zum Erzeugen einer Kunden-Repertoire-Datenbank
auf Grundlage von Sprecher-unabhängigen
Modellen gemäß der vorliegenden
Erfindung,
-
3 ein
Flussdiagramm der Betriebsvorgänge
des Datenbankprozessors der 2;
-
4 eine
schematische Darstellung eines Eintrags in der Kunden-Repertoire-Datenbank
der 2;
-
5 Telekommunikationsnetzkomponenten,
die in einer illustrativen Weise an dem speziellen Dienstknoten
der 1 angeordnet sind, geeignet zum Bereitstellen
einer Repertoire-Sprachwahl in Übereinstimmung
mit der vorliegenden Erfindung,
-
6 ein
illustratives System zum Erzeugen einer Kunden-Repertoire-Datenbank,
gemäß der vorliegenden
Erfindung, auf Grundlage einer Spracherkennung, die Sprecher-abhängige phonemische Transkriptionen
verwendet.
-
7 eine
schematische Darstellung eines Eintrags in der Kunden-Repertoire-Datenbank
der 6, mit Sprecher-abhängigen phonemischen Übersetzungen
von gesprochenen Worten;
-
8 ein
illustratives System zum Erzeugen einer Kunden-Repertoire-Datenbank,
in Übereinstimmung
mit der vorliegenden Erfindung, auf Grundlage einer Sprecher-abhängigen Spracherkennung;
-
9 eine
schematische Darstellung eines Eintrags in der Kunden-Repertoire-Datenbank
der 8, mit Sprecher-abhängigen HMMs; und
-
10 Telekommunikationsnetzkomponenten,
die in einer illustrativen Weise an dem speziellen Dienstknoten
der 1 angeordnet sind, geeignet zum Bereitstellen
einer Repertoire-Sprachwahl in Übereinstimmung
mit der Ausführungsform,
die in den 8 und 9 dargeboten
wird.
-
AUSFÜHRLICHE BESCHREIBUNG
-
A. EINFÜHRUNG ZU
DEN ILLUSTRATIVEN AUSFÜHRUNGSFORMEN
-
Die
illustrativen Ausführungsformen
der vorliegenden Erfindung, die nachstehend diskutiert werden, enthalten
jeweils zwei unterschiedliche Systeme: Ein Trainingssystem und ein
Wählsystem.
Unter anderen Dingen bestimmt das Trainingssystem, was die am häufigsten
gewählten
Nummern für
einen gegebenen Kunden sind, und assoziiert derartige Nummern mit
Namen zur Speicherung in einer Kunden-Repertoire-Datenbank. Das Wählsystem
verwendet die Information, die an der Kunden-Repertoire-Datenbank durch das
Trainingssystem bereitgestellt wird, um die Fertigstellung (den
Abschluss) von Telefonanrufen zu erleichtern.
-
Die
erste Ausführungsform
der vorliegenden Erfindung verwendet eine Sprecher-unabhängige Spracherkennungstechnologie
des in dem technischen Gebiet altbekannten Typs. Abgesehen von der Bestimmung
der am häufigsten
gewählten
Nummern für
einen Kunden arbeitet das Trainingssystem dieser Ausführungsform
auch zur Bestimmung einer grundlegenden Spracherkennungsinformation,
die für
die Erkennung von Namen von Gegenstellen (Parteien) erforderlich
ist, die "angewählt" werden sollen. In
diesem Fall bestimmt das System eine phonemische Übersetzung
von Namen von angerufenen Gegenstellen. Wegen der Sprecher-unabhängigen Art
der ersten Ausführungsform
besteht keine Notwendigkeit, dass die Kunden vor der Zeit kontaktiert
werden, wenn der Sprachwähldienst
zur Anbietung geplant ist.
-
Die
zweite und dritte illustrative Ausführungsform der vorliegenden
Erfindung verwenden unterschiedliche Versionen einer Sprecher-abhängigen Spracherkennung,
die ebenfalls in dem technischen Gebiet altbekannt ist. Die zweite
Ausführungsform
ist dahingehend Sprecher-abhängig,
dass sie für
jeden Namen in dem Sprachwählvokabular
des Kunden eine Sequenz von Phonemen bestimmt, die durch den Kunden
entsprechend zu derartigen Namen gesprochen werden. Die Modelle,
die durch die zweite Ausführungsform
verwendet werden, um gesprochene Namen zu erkennen, sind selbst
Sprecher-unabhängig trainiert.
-
Die
dritte Ausführungsform
ist Sprecher-abhängig
dahingehend, dass sie Sprachmodelle verwendet, die durch den Kunden
unter Verwendung des Sprachwähldienstes
trainiert werden.
-
Die
Beschreibungen der illustrativen Ausführungsformen fokussieren sich
nicht auf die Einzelheiten einer herkömmlichen Telefonnetzarchitektur,
die für
Durchschnittsfachleute in dem technischen Gebiet vertraut ist. Dies
ist durchgeführt
worden, um nicht die Darstellungen der Erfindung zu behindern. Derartige
Einzelheiten werden in einer illustrativen Weise in den folgenden
U.S.-Patenten diskutiert, die durch Bezugnahme, wie hier vollständig aufgeführt, Teil
der vorliegenden Anmeldung sind: U.S.-Patente Nrn. 5.392.357 und
4.191.860. Für
die Zweckdienlichkeit des Lesers wird nun eine kurze Diskussion von
illustrativen Architekturelementen dargeboten.
-
Bezugnehmend
auf 1 sind Kommunikationen, die durch eine anrufende
Gegenstelle unter Verwendung eines Kundengeräts am nahen Ende (CE) 301 eingeleitet
werden, für
eine angerufene Partei unter Verwendung eines Ces am entfernten Ende 302,
und umgekehrt, bestimmt. Wie hier verwendet, können "Kommunikationen" analoge oder digitale Anrufe oder Nachrichten
einschließen,
die Sprache, Daten, Faksimile, Video oder andere Information weiterleiten.
Nachstehend werden Kommunikationen einfach als "Anrufe" bezeichnet.
-
Für einen
zweckdienlichen Dateneintrag kann das CE 301 mit einem
DTMF (Berührungston) Generator
und einer Tastatur ausgerüstet
sein; Statusanzeigen können
dem Benutzer durch eine oder mehrere Anzeigeindikatoren, wie beispielsweise LED-Anzeigelampen,
angeboten werden. Während das
CE 301, 302 irgendeines einer Anzahl von Kommunikationseinrichtungen
sein kann, einschließlich zellularen
Telefonen, Faksimilemaschinen, PCs, die mit einer Kommunikationshardware/Software
ausgerüstet
sind etc., wird für
die illustrativen Zwecke der unmittelbar folgenden Beschreibung
angenommen, dass die CE 301, 202, herkömmliche
Telefone sind.
-
Während ein
Telekommunikations-"Zugriff" auf einen speziellen
Dienstknoten 350 durch irgendeinen zweckdienlichen Zugriffsmechanismus erreicht
werden kann, wie beispielsweise unter Verwendung einer (a) Software-definierten
Netz-(Software Defined Network; SDI)-Zugriffsnummer; oder (b) einer
POTS (herkömmlichen
Telefondienst; Plain Old Telephone Service) Nummer in Verbindung
mit einem Premiumdienst wie beispielsweise MEGACOM, erhältlich von
AT&T; oder (c)
eine 800 Nummer, sei für
illustrative Zwecke angenommen, dass eine anrufende Gegenstelle
unter Verwendung des CE 301 einen Zugriff auf den Knoten 350 dadurch
erreicht, dass sie eine vorgegebene gebührenfreie Nummer wählt, wie
beispielsweise einen 1-800-DIENST.
-
Wenn
diese Nummer gewählt
wird, wird der Anruf über
eine Vermittlungsstelle 307 (z.B. eine #5ESS* elektronische
Vermittlungsstelle, die von AT&T
erhältlich
ist) in einer Vermittlungsstelle 308 eines Ortsnetzbetreibers
(Local Exchange Carrier; LEC), die die anrufende Gegenstelle bedient,
gelenkt. Die anrufende Gegenstelle kann direkt mit der LEC-Vermittlungsstelle 308 und
der Vermittlungsstelle 307, wie in 1 gezeigt,
verbunden sein oder kann über
eine PPX-Vermittlungsstelle oder ein anderes Kundenanlagegerät (Customer
Premises Equipment), welches nicht gezeigt ist, verbunden sein.
Die Vermittlungsstelle 307 lenkt den Anruf an eine Vermittlungsstelle 310 eines
Fernnetzbetreibers, typischer Weise einen AT&T #4ESS Zugriffssteuerpunkt (Access
Control Point; ACP), der ein Teil eines vermittelten Telekommunikationsnetzes
ist, welches allgemein mit 356 bezeichnet ist. Die Vermittlungsstelle 310 antwortet
durch Erzeugen einer Signalisierungsnachricht (gewöhnlicher
Weise in dem altbekannten CCS7-Signalisierungsformat) und durch
Lenken davon durch ein Netz 315 einer gemeinsamen Kanalsignalisierung
(Common Channel Signaling; CCS), einschließlich einer Vielzahl von untereinander
verbundenen Signaltransferpunkten (Signal Transfer Points; STPs) 316, 317,
an eine InWATS Datenbank (IDB) 320, oder an einen Netzsteuerpunkt
(Network Control Point; NCP) in einem über Software definierten Netz,
und zwar in Abhängigkeit von
dem Teilnehmerplan der anrufenden Gegenstelle. Die IDB 320 enthält Einträge für jede gewählte 800 Nummer
und führt
Nachschlagbetrieb aus, um eine Lenkungsnummer zu erzeugen, die zu
der gewählten Nummer
gehört,
die an die Vermittlungsstelle 310 zurückgesendet wird.
-
Im
Ansprechen auf die Lenkungsnummer lenkt die Vermittlungsstelle 310 den
Anruf wiederum an einen speziellen Dienstknoten 350, gewöhnlicher Weise
durch andere Komponenten des geschalteten (vermittelten) Telekommunikationsnetzes 356,
welches eine andere #4ESS-Vermittlungsstelle 325 einschließen kann
(es sei darauf hingewiesen, dass andere Zugriffs- und Signalisierungsanordnungen
verwendet werden können,
um das CE 301 mit dem speziellen Dienstknoten 350 zu
verbinden).
-
Wenn
der Anruf in dem speziellen Dienstknoten 350 empfangen
wird, kann der Knoten von der Vermittlungsstelle 307, 310 oder 325 auch
eine CCS-Nachricht, die die gewählte
Nummer (DNIS) und eine automatische Nummernidentifikations-(ANI)-Information
entsprechend zu dem CE 301 enthält, empfangen. Jedoch hängt die
Verfügbarkeit einer
derartigen Information von den Möglichkeiten der
spezifischen Vermittlungsstellen und dem Signalisierungsgerät, die gerade
von der LEC-Vermittlungsstelle 308 und dem Netz 356 verwendet
werden, ab. Für
die Zwecke der folgenden Erläuterung wird
angenommen werden, dass eine Information über die anrufende Gegenstelle
für den
speziellen Dienstknoten 350 verfügbar ist.
-
Sobald
der Anruf durch den speziellen Dienstknoten verarbeitet ist (der
sowohl Trainings- als auch Sprachwähl-Systeme einschließt), kann
der Anruf in einer herkömmlichen
Weise gelenkt werden (wenn eine Sprachwahl gerade ausgeführt wird),
und zwar auf Grundlage einer Telefonnummer, die durch den Knoten 350 in Übereinstimmung
mit der vorliegenden Erfindung bereitgestellt wird, durch das Telefonvermittlungsnetz 356 zu
der LEC 357, die die anrufende Gegenstelle bedient. Die
Vermittlungsstelle 358 (wiederum z.B. eine #5ESS* elektronische
Vermittlungsstelle, die von AT&T
erhältlich
ist), lenkt den Anruf wiederum an das CE 302 der angerufenen
Gegenstelle.
-
Für die Zwecke
einer Erläuterung
werden die illustrativen Ausführungsformen
der vorliegenden Erfindung so dargestellt, dass sie individuelle
funktionale Blöcke
(einschließlich
von funktionalen Blöcken, die
als "Prozessoren" bezeichnet sind)
umfassen. Die Funktionen, die diese Blöcke darstellen, können durch
die Verwendung entweder einer gemeinsam verwendeten oder einer speziell
vorgesehenen Hardware bereitgestellt werden, einschließlich, aber
nicht beschränkt
auf Hardware, die in der Lage ist, Software auszuführen. Zum
Beispiel können
die Funktionen von Prozessoren, die in den 2, 5, 6, 8 und 10 dargestellt
sind, durch einen einzelnen gemeinsam verwendeten Prozessor bereitgestellt
werden (die Verwendung des Ausdrucks "Prozessor" sollte nicht so verstanden werden,
dass er sich exklusiv auf Hardware bezieht, die in der Lage ist,
Software auszuführen).
-
Illustrative
Ausführungsformen
können
eine Digitalsignalprozessor-(DSP)-Hardware, wie in beispielsweise
der AT&T DSP16
oder DSP32C, einen Nur-Lese-Speicher (ROM) zum Speichern von Software,
die die nachstehend diskutierten Betriebsvorgänge ausführt, und einen Speicher mit
wahlfreiem Zugriff (RAM) zum Speichern von DSP-Ergebnissen umfassen.
Hardwareausführungen
in einer Großintegration
(Very Large Scale Integration; VLSI), sowie eine kundenspezifische
VLSI-Schaltungsanordnung in
Kombination mit einer Allzweck-DSP-Schaltung, können ebenfalls bereitgestellt
werden.
-
B. DIE ERSTE ILLUSTRATIVE
AUSFÜHRUNGSFORM
-
1. TRAINIEREN
DES SPRECHER-UNABHÄNGIGEN
NETZ-GESTÜTZTEN
SPRACHWÄHLSYSTEMS
-
2 stellt
ein illustratives System zum Erzeugen einer Kunden-Repertoire-Datenbank
auf Grundlage von Sprecher-unabhängigen
akustischen Modellen in Übereinstimmung
mit der vorliegenden Erfindung dar. Das illustrative System ist
in einem Telekommunikationsnetz als ein Zusatz zu beispielsweise
einer Netzvermittlungsstelle vorgesehen. Das illustrative System
kann in einem Netz eines lokalen Telefondienstanbieters oder in
einem Fernvermittlungsnetz angeordnet werden. Das System der 2 umfasst
einen Datenbankprozessor 5, eine Kundenabrechnungseintragdatenbank 15,
eine Umkehrtelefonverzeichnisdatenbank 20, einen Sprachtrainingsprozessor 10,
eine Datenbank 12 für
eine phonemische Übersetzung,
und eine Kunden-Repertoire-Datenbank 25. Der Betrieb des
Systems der 2 lässt sich einfach aus einem
Flussdiagramm des Betriebs des Datenbankprozessors 5 verstehen, wie
in 3 dargestellt.
-
Um
eine Repertoire-Wähler-Datenbank
für einen
gegebenen Netzkunden zu erzeugen, wird eine ID-Nummer des Kunden
benötigt.
Diese Nummer wird aus einer herkömmlichen
Netzkundendatenbank (nicht gezeigt) erhalten. Die ID-Nummer wird an
den Datenbankprozessor 5 geführt, der auf einer herkömmlichen
Computer-Hardware implementiert ist. Die Kunden-ID-Nummer könnte zum
Beispiel eine Telefonnummer eines Kunden oder irgendein anderer
Code sein, den der Dienstanbieter verwendet, um seine Kunden zu
identifizieren, siehe Schritt 50 der 3.
-
Der
Datenbankprozessor 5 verwendet dann die Kunden-ID-Nummer,
um die Kundenabrechungseintragdatenbank 15 zu indizieren,
um die Telefonnummern zu bestimmen, die durch den Kunden über eine
gegebene Zeitperiode, wie beispielsweise den letzten sechs Monaten
der Dienstverwendung durch den Kunden, am häufigsten gewählt wurden.
Diese Bestimmung wird durchgeführt,
indem ein Zählwert darüber geführt wird,
wie oft ein Anruf an eine gegebene angerufene Nummer gerichtet wird.
Die Datenbank 15 ist herkömmlich und wird in einer illustrativen Weise
der Typ sein, der normalerweise durch Ortsnetz- und/oder Fernnetz-Telefondienstanbieter
geführt
wird. In Übereinstimmung
mit der illustrativen Ausführungsform
identifiziert der Datenbankprozessor die 20 am häufigsten gewählten Nummern
durch den gegebenen Kunden, siehe Schritt 55 der 3.
-
Als
Nächstes
identifiziert der Prozessor 5 den Namen der angerufenen
Gegenstelle für
jede der 20 am häufigsten
gewählten
Nummern. Dies wird durchgeführt
durch Scannen der Umkehrtelefonnummernverzeichnis-Datenbank 20 unter
Verwendung jeder gegebenen Nummer als ein Index, um den Namen zu
bestimmen, der zu jeder Nummer gehört. Diese Datenbank 20 ist
in dem technischen Gebiet herkömmlich.
Der Name von jeder angerufenen Gegenstelle wird durch den Prozessor 5 als
eine Textkette (d.h. ASCII-Zeichen) für eine nachfolgende Verarbeitung
zurückgewonnen.
Der Prozessor 5 assoziiert jede derartige Textkette mit
der entsprechenden Telefonnummer, die verwendet wird, um auf die
Kette in dem Verzeichnis 20 zuzugreifen, siehe Schritt 60 der 3.
-
Unter
bestimmen Umständen
kann die Umkehrtelefonverzeichnis-Datenbank 20 nicht einen
Namen für
eine gegebene angerufene Partei enthalten, beispielsweise dann,
wenn die Nummer der angerufenen Partei nicht aufgelistet ist oder
wenn die Nummer der angerufenen Partei diejenige eines Geschäfts ist.
Unter derartigen Umständen
kann eine spezielle Behebungsaktion verwendet werden, beispielsweise,
dass die angerufene Nummer aus dem Speicher der Kunden-Repertoire-Datenbank 25 beseitigt
wird.
-
Sobald
Textketten und entsprechende Telefonnummern durch den Prozessor 5 zusammengesetzt
worden sind, wird jede Textkette an den Sprachtrainingsprozessor 10 für eine Übersetzung (Umwandlung)
in eine Sequenz von Phonemen zugeführt, siehe Schritt 65 der 3.
Diese Umwandlung wird durch den Prozessor 10 in Kombination
mit der Datenbank 12 in einer herkömmlichen Weise durch altbekannte
Techniken durchgeführt,
die verwendet werden durch Text-auf-Sprache-Systeme für die Aussprache
von richtigen Namen (die Datenbank 12 speichert Information,
die für
eine Abbildung von Text auf Phoneme geeignet ist). Diese Techniken
umfassen die Verwendung eines Wörterbuchs
von Namen-auf-Phoneme, sowie Text-auf-Schall-Regeln, die sich als
eine Funktion des Namensursprungs unterscheiden, siehe z.B. Church,
K., "Stress Assigment
in Letter to Sound Ruls for Speech Synthesis,", ICASSP Proceedings (1986), Seiten
2423–26.
Das Ergebnis ist eine Liste (oder eine Sequenz) von Phonemen, die
jeder Textkette entsprechen (d.h. dem Namen). Unter der Annahme
einer herkömmlichen Anzahl
von Phonemen für
die Sprache, die gerade verwendet wird, zum Beispiel 50, umfasst
jede Sequenz von Phonemen eine Sequenz von Indexnummern. Jede Indexnummer
weist einen Wert zwischen 1 und 50 einschließlich auf, der ein spezifisches
Phonem identifiziert. Jede Liste von Phonemen für einen gegebenen Namen wird
an den Datenbankprozessor 5 durch den Sprachtrainingsprozessor 10 zur
Assoziation mit seiner entsprechenden Telefonnummer zurückgegeben.
-
Jede
Telefonnummer und jede zugehörige Sequenz
von Phonemen wird dann in der Kunden-Repertoire-Datenbank 25 gespeichert
(während diese
Datenbank mit der Verwendung eines Plattenlaufwerks implementiert
werden kann, können
andere Speichermedien verwendet werden, einschließlich von
z.B. einem Halbleiterspeicher und optischen Medien). Siehe Schritt 70 in 3.
In dem illustrativen Beispiel gibt es 20 Nummern und zugehörige Phonemsequenzen.
Diese 20 Nummern und Phonemsequenzen bilden eine Datei
der Datenbank 25, die zu der entsprechenden Kunden-ID-Nummer
gehört
(die die 20 Nummern, wie voranstehend diskutiert, hervorgebracht
hat). Ein Beispiel einer derartigen Datei ist in 4 gezeigt.
Diese Datei ist dann geeignet zur Verwendung durch das Telefonnetz-gestützte Repertoire-Sprachwählsystem,
um gesprochene Namen zu erkennen und zugehörige Nummern zu wählen, wie diejenigen,
die in 5 dargestellt sind.
-
2. DAS NETZ-GESTÜTZTE REPERTOIRE-SPRACHWÄHLSYSTEM
-
Das
Sprachwählsystem
der ersten illustrativen Ausführungsform
ist in 5 dargestellt. Das System, welches sich in einer
illustrativen Weise an dem speziellen Dienstknoten 350 befindet,
beinhaltet ein Sprecher-unabhängiges
Spracherkennungssystem 38, das einen Spracherkennungsprozessor 40, eine
Datenbank 45 von Sprecher-unabhängig trainierten HMMs, die
Phoneme darstellen, und ein Vokabular in der Form der Kunden-Repertoire-Datenbank 25 (die
voranstehend diskutiert wurde) umfasst. Das System der 5 umfasst
auch ein herkömmliches
Audioantwortsystem 35 und eine zugehörige Skriptdatenbank 32 (wie
beispielsweise ein Conversant System, erhältlich von AT&T), die sowohl
mit einem Netzvermittlungssystem 30 als auch dem Spracherkennungsprozessor 40 verbunden
sind.
-
Der
Betrieb des Systems der 5 beginnt mit dem Empfang eines
Anrufs von einem gegebenen Kunden (oder einer Verbindung mit dem
Kunden an dem Punkt, wo der Kunde einen Wählton empfängt, wobei jeder nachstehend
als der „Anruf" bezeichnet wird)
an der Vermittlungsstelle 30. Der Anruf wird an das System
der 5 in einer herkömmlichen Weise durch das Telefonnetz,
das den Kunden bedient, gelenkt, wie voranstehend diskutiert. Diese Lenkung
kann dadurch erreicht werden, dass der Kunde eine spezielle Nummer
wählt (beispielsweise eine
800 Nummer oder einen Code, der ein oder mehrere DTMF „Berührungstöne umfasst),
die das Dienstanbieternetz verwendet, um den Anruf an die Vermittlungsstelle 30 an
den Knoten 350 zu lenken. Wenn ein automatischer Nummernidentifikations-(ANI)-Dienst
verfügbar
ist speichert die Vermittlungsstelle 30 die Nummer des
anrufenden Kunden (die „ANI") in seinem Speicher.
-
Im
Ansprechen auf den Empfang des Anrufs verbindet die Vermittlungsstelle 30 den
Anruf mit dem Audioantwortsystem 35. Das System 35 spielt
eine Audiobegrüßung und/oder
Befehle für
den Kunden (die anrufende Partei) auf Grundlage des Skripts ab, das
in der Skriptdatenbank 32 enthalten ist. Wenn keine ANI
verfügbar
ist, um den Kunden zu identifizieren, wird der Kunde durch das Audioantwortsystem 35 aufgefordert
sich selbst zu identifizieren, und zwar durch Eingeben eines ID
Codes, der die Telefonnummer des Kunden sein kann. Ob durch eine ANI
oder durch eine Aktion, bei der der Kunde sich selbst identifiziert,
wird die Identifikation des Kunden an den Spracherkennungsprozessor 40 übergeben, wo
sie gespeichert wird (nachstehend wird eine ANI angenommen, aber
es versteht sich von selbst, dass eine Anruferidentifikation in
einer alternativen Weise erreicht werden kann, wie beispielsweise
mit der derjenigen, die voranstehend beschrieben wurden).
-
Als
nächstes
wird der Kunde von dem System 35 aufgefordert den Namen
der Partei auszusprechen, die angerufen werden soll (die angerufene Gegenstelle
bzw. Partei). Der ausgesprochene Name wird durch die Vermittlungsstelle 30 an
den Spracherkennungsprozessor 40 übergeben, der vorbereitet ist,
um den gesprochenen Namen durch das System 35 zu erwarten.
-
Der
Prozessor 40 arbeitet dann in einer herkömmlichen
Weise, um den gesprochenen Namen zu erkennen. Dieser Betrieb beginnt
mit der Verwendung der Kunden ANI als ein Index an der Kunden-Repertoire-Datenbank 25.
Auf Grundlage der ANI wird die Datei von Namen und entsprechenden phonemischen
Transkriptionen (die wie voranstehend diskutiert unter Bezugnahme
auf 3 erzeugt und gespeichert wurden) aus der Datenbank 25 durch
den Spracherkennungsprozessor 40 zurückgewonnen. Der Prozessor 40 analysiert
den gesprochenen Namen, um einen Satz von Parametervektoren zu erzeugen,
die den gesprochenen Namen charakterisieren. Diese Analyse wird
mit einer herkömmlichen
akustischen Merkmalsextraktionstechnik durchgeführt, beispielsweise durch eine
cepstrale Koeffizienten-Analyse. Der Prozessor 40 vergleicht dann
den Satz von Vektoren mit einer Sequenz von Phonem-HMMs von der
Datenbank 45. Die Datenbank 45 speichert ein HMM
für jedes
Phonem der Sprache. Diese Sequenz ist diejenige Sequenz von HMMs,
die durch die erste phonemische Übersetzung
in der Datei, die aus der Datenbank 25 zurückgewonnen
wird, spezifiziert werden. Der Vergleich des Satzes von Vektoren
mit der Sequenz von Phonem-HMMs ergibt eine Bewertung, die der Wahrscheinlichkeit
entspricht, dass der ausgesprochene Name der Name war, der zu der
ersten phonemischen Übersetzung
in der zurückgewonnen
Datei gehört.
Als nächstes
vergleicht der Prozessor 40 den gleichen Satz von Vektoren
mit einer Sequenz von Phonem-HMMs entsprechend zu der zweiten phonemischen Übersetzung
in der zurückgewonnen
Datei. Eine Bewertung wird für
diesen Vergleich bestimmt und der Prozess wiederholt sich, bis Bewertungen
für sämtliche
phonemischen Übersetzungen
in der zurückgewonnen
Datei bestimmt sind. Infolge dessen gibt es zum Beispiel zwanzig
Bewertungen, die zu den zwanzig phonemischen Übersetzungen in der Datei gehören. Der
Spracherkennungsprozessor 40 identifiziert dann die phonemische Übersetzung
mit der besten Bewertung (d.h. die phonemische Übersetzung, von der angenommen
wird, dass sie am engsten mit dem gesprochenen Namen übereinstimmt).
Auf Grundlage davon extrahiert der Prozessor 40 die angerufene
Nummer entsprechend zu der Bestbewertungs-Phonemübersetzung und stellt diese
an der Vermittlungsstelle 30 bereit. Das Audioantwortsystem 35 wird
ebenfalls informiert, dass eine Erkennung erreicht worden ist, so
dass das System 35 die geeignete Nachricht für die anrufende
Gegenstelle (in diesem Fall z.B. „Danke" („thank-you") abspielen kann).
-
Die
Vermittlungsstelle 30 erzeugt im Besitz der identifizierten
Nummer geeignete Anuflenkungssignale (die DTMF Töne einschließen können), um den
Abschluss der Anruflenkung an die angerufene Partei (über Netzelemente 356–58)
zu erleichtern. In dieser Weise ist der gesprochene Name durch die anrufende
Gegenstelle verwendet worden, um an die angerufene Gegenstelle (angerufene
Partei „anzuwählen").
-
Es
lässt sich
verstehen, dass es andere Möglichkeiten
gibt, die auftreten können,
wenn der Spracherkennungsprozessor 40 versucht einen gesprochenen
Namen zu erkennen. Zum Beispiel kann keine Bewertung ausreichend
hoch sein, um die Schlussfolgerung zu erlauben, dass die durch die
anrufende Gegenstelle gesprochene Äußerung einem Namen in der Datenbank 25 entspricht.
Dies wird in einer herkömmlichen
Weise durch Vergleichen der höchsten
Bewertung mit einem minimalen Schwellwert für Bewertungen durchgeführt. Wenn
die beste Bewertung den Schwellwert nicht übersteigt, dann kann der Prozessor 40 das
System 35 informieren eine Ansage an den Kunden abzuspielen,
die den Kunden auffordert entweder (i) die Äußerung zu wiederholen oder
(ii) einen manuelle Wählvorgang
zu beginnen. Derartige Beseitigungsmaßnahmen können auch durchgeführt werden,
wenn zwei oder mehr Bewertungen den Schwellwert übersteigen.
-
Ferner,
während
die obige Ausführungsform in
Hinblick auf einen einzelnen Satz von Phonemen für alle Anrufer diskutiert wurde,
können
getrennte Phoneme für
männliche
und weibliche Anrufer verwendet werden. Diese und andere herkömmliche
Aspekte in dem technischen Gebiet der Spracherkennung können berücksichtigt
werden, ohne von dem Umfang der vorliegenden Erfindung abzuweichen.
-
C. DIE ANDEREN ILLUSTRATIVEN
AUSFÜHRUNGSFORMEN
-
1. NETZGESTÜTZTES SPRACHWÄHLEN MIT SPRECHERABHÄNGIGEN PHONEMISCHEN TRANSKRIPTIONEN
-
Wie
voranstehend diskutiert ist die zweite illustrative Ausführungsform
der vorliegenden Erfindung dahingehend sprecherabhängig, dass
sie für
jeden Namen in dem Sprachwählvokabular
des Kunden eine Sequenz von Phonemen bestimmt, die durch den Kunden
gesprochen werden, die derartigen Namen entsprechen. Die durch die
zweite Ausführungsform
verwendeten Modelle zum Erkennen von gesprochenen Namen sind Selbstsprecher-unabhängig trainiert.
Das Trainingssystem der zweiten illustrativen Ausführungsform
ist in 6 dargestellt.
-
Die
Ausführungsform
der 6 ist ähnlich
zu derjenigen, die in 2 dargestellt ist, dahingehend, dass
sie einen Datenbankprozessor 110, gekoppelt mit einer Kundenabrechnungseintrag-Datenbank 125,
eine Umkehrtelefonverzeichnis-Datenbank 120, und eine Kunden-Repertoire-Datenbank 115 einschließt. Das
Ziel des Datenbankprozessors ist ebenfalls ähnlich zu demjenigen, das in 2 gezeigt
ist. Das heißt,
zum Speichern, in der Kunden-Repertoire-Datenbank 115,
einer Datei, die eine Liste der am häufigsten gewählten Telefonnummern und
entsprechende Sequenzen von Phonemen für jeden gewünschten Kunden umfasst. Die
Differenzen zwischen den Trainingssystemen der 2 und 6 ist
größtenteils
die Folge der Tatsache, dass in der zweiten Ausführungsform (im Gegensatz zu
der ersten) die Sequenzen von Phonemen auf Grundlage davon bestimmt
werden, wie ein Kunde Namen einer anzurufenden Gegenstelle ausspricht,
anstelle dass eine durchschnittliche Aussprache, die durch eine
herkömmliche
Text-auf-Phonem-Umwandlung zugeführt
wird, sowie dies in dem technischen Gebiet von Text-auf-Sprache üblicherweise
durchgeführt wird.
Diese Differenz zwischen Ausführungsformen bedeutet,
dass mit der zweiten Ausführungsform
(im Gegensatz zu der ersten), der Kunde an dem Trainingsprozess
beteiligt sein muss.
-
In Übereinstimmung
mit der zweiten Ausführungsform
wird eine Repertoirewähler-Datenbank
für einen
gegebenen Netzkunden mit Verwendung einer ID Nummer des Kunden erzeugt.
Diese Nummer wird aus einer herkömmlichen
Netzkundendatenbank (nicht gezeigt) ermittelt. Die ID Nummer wird
an den Datenbankprozessor 110 geliefert, der auf einer
herkömmlichen
Computerhardware implementiert ist. Die Kunden-ID-Nummer könnte zum
Beispiel die Telefonnummer eines Kunden oder irgendein anderer Code
sein, den der Dienstanbieter verwendet, um seine Kunden zu identifizieren.
-
Der
Datenbankprozessor 110 verwendet dann die Kunden-ID-Nummer,
um die Kundenabrechnungseintrag-Datenbank 125 zu indizieren,
um die Telefonnummern zu bestimmen, die durch den Kunden über einer
gegebenen Zeitperiode, wie beispielsweise der letzten sechs Monate
einer Kundendienstverwendung, am häufigsten gewählt wurden. Diese
Bestimmung wird dadurch durchgeführt,
dass ein Zählwert
geführt
wird, wie oft ein Anruf an eine gegebene angerufene Nummer gerichtet
wird. Die Datenbank 125 ist für Telefondienstanbieter herkömmlich.
Wie bei dem Fall mit der ersten Ausführungsform könnte eine
Kundenkreditkarten-Datenbank, die Einträge von Telefonanrufen einschließt, die
an die Kreditkarte in Rechnung gestellt werden, zusätzlich oder
alternativ zu der Verwendung einer herkömmlichen Telefonkundenabrechnungseintrag-Datenbank
verwendet werden. In Übereinstimmung
mit der illustrativen Ausführungsform
identifiziert der Datenbankprozessor die zwanzig am häufigsten
angerufenen Nummern durch den gegebenen Kunden.
-
Als
nächstes
identifiziert der Prozessor 110 den Namen der angerufenen
Gegenstelle (der angerufenen Partei) für jede der zwanzig am häufigsten gewählten Nummern.
Dies wird durch Scannen der Umkehrtelefonnummernverzeichnis-Datenbank 120, unter
Verwendung jeder gegebenen Nummer als ein Index, durchgeführt, um
den Namen zu bestimmen, der zu jener Nummer gehört. Diese Datenbank 120 ist
in dem technischen Gebiet üblich
bzw. herkömmlich.
Der Name von jeder angerufenen Gegenstelle wird von dem Prozessor 110 als
eine Textkette (d.h. ASCII Zeichen) für eine nachfolgende Verarbeitung zurückgewonnen.
Der Prozessor 110 assoziiert jede derartige Textkette mit
einer entsprechenden Telefonnummer. Wie bei der ersten Ausführungsform können Zeiten
vorhanden sein, wenn die Umkehrtelefonverzeichnis-Datenbank 20 einen
Namen für
eine gegebene angerufene Partei nicht enthält. Unter derartigen Umständen kann
die angerufene Nummer von dem Speicher der Kundenrepertoire-Datenbank 115 beseitigt
werden.
-
Sobald
Textketten und entsprechende Telefonnummern durch den Prozessor 110 zusammengesetzt
worden sind wird jede Textkette an den Sprachtrainingsprozessor 95 für eine Übersetzung (Umwandlung)
in eine Sequenz von Phonemen in Übereinstimmung
mit der Kundenaussprache der Namen entsprechend zu den Textketten
zugeführt. Um
Kundenaussprachen von derartigen Namen zu ermitteln umfasst das
Trainingssystem der 6 ein Audioantwortsystem 85 und
eine zugehörige
Skriptdatenbank 90, die verwendet wird, um ein automatisiertes
Interview des Kunden mit dem Ziel der Gewinnung von Aussprachen
von dem Kunden auszuführen.
-
Unter
Verwendung der Kunden ID (Kundentelefonnummer), die von dem Datenbankprozessor 110 empfangen
wird, initiiert der Audioantwortprozessor 85 einen Anruf
an den Kunden durch die Vermittlungsstelle 80. Wenn der
Kunde das Telefon beantwortet spielt das System eine Nachricht ab,
die den Grund für
den Anruf erläutert.
Das Skript könnte fortdauernd
durch Auffordern des Kunden einen Namen auszusprechen, den der Kunde
sagen möchte, wenn
er einen Sprachwählvorgang
einer spezifischen Person durchführt.
Die Aufforderungs- und Antwortsequenz würde für jeden Namen in der Liste der
am häufigsten
angerufenen Gegenstellen wiederholt werden. Jede spezifische angerufene
Gegenstelle würde
zu dem Kunden durch einen Text-Sprache-Prozess identifiziert werden,
der durch den Prozessor 85 implementiert wird und zwar
auf Grundlage eines Namentexts der angerufenen Gegenstelle, die durch
den Prozessor 110 bereitgestellt wird. In einer illustrativen
Weise würde
das Skript für
derartige Aufforderungen und entsprechenden Antworten folgendermaßen sein:
Prozessor 85: „Sagen
Sie den Namen, den Sie verwenden möchten, wenn Sie „Daniel
Furman" anrufen wollen".
Kunde: „Dan"
Prozessor 85: „Sagen
Sie den Namen, den Sie verwenden möchten, wenn Sie „Daniel
Mayer" anrufen".
Kunde: „Danny".
-
Unter
bestimmten Umständen
kann die Umkehrtelefonverzeichnis-Datenbank 120 einen Namen für eine gegebene
angerufene Gegenstelle nicht enthalten, beispielsweise dann, wenn
die Nummer der angerufenen Gegenstelle nicht aufgelistet ist oder wenn
die Nummer der angerufenen Gegenstelle diejenige eines Geschäfts ist.
Unter derartigen Umständen
kann eine spezielle Beseitigungsaktion verwendet werden, beispielsweise,
dass die angerufene Nummer aus den Speicher der Kundenrepertoire-Datenbank 25 beseitigt
wird oder eine Eingabeaufforderung durch den Prozessor 85 kann
die Telefonnummer anstelle davon sprechen.
-
Jede
Kundenantwort auf eine Aufforderung wird an einen Sprachtrainingsprozessor 95 geleitet. Der
Sprachtrainingsprozessor 95 führt eine herkömmliche
Phonem-gestützte
Spracherkennung für jede
Antwort aus (unter Verwendung von Sprecher-unabhängig trainierten Phonem-HMMs),
um eine Sequenz von Phonemen für
die Antwort (d.h. eine phonetische Transkription der Antwort) zu
bestimmen. Jede derartige Sequenz von Phonemen ist tatsächlich eine
Sequenz von Phonemindices, die die individuellen Phoneme in der
Sequenz identifizieren. Jede derartige Sequenz wird an den Datenbankprozessor 110 für eine Zugehörigkeit
mit der Entsprechenden Telefonnummer übergeben. Diese Telefonnummer
ist diejenige der angerufenen Partei in der Liste (von am häufigsten
angerufenen Nummer), deren Name die Kundenantwort hervorgerufen
hat, die die fragliche phonetische Transkription hervorgebracht
hat.
-
Sobald
Antworten für
jeden Namen in der Liste von Namen empfangen worden sind spielt
der Audioantwortprozessor 85 eine Anrufabschlussnachricht
ab und beendet den Anruf zu dem Kunden. Der Datenbankrozessor 110 speichert
dann das eben zusammengestellte Kundenrepertoirevokabular als eine
Datei in der Kundenrepertoire-Datenbank 115. In einer illustrativen
Weise umfasst die Datei 20 Nummern und zugehörige sprecherabhängige Phonem-Sequenzen
und gehört
zu der entsprechenden Kunden-ID-Nummer.
Ein Beispiel einer derartigen Datei ist in 7 dargestellt.
Diese Datei ist dann geeignet zur Verwendung durch das Telekommunikationsnetz-gestützte Repertove-Sprachwähl-System, um
gesprochene Namen und zugehörige
Wählnummern
zu erkennen, beispielsweise diejenigen, die in 5 dargestellt
und voranstehend diskutiert wurden.
-
2. NETZ-GESTÜTZTES SPRECHERABHÄNGIGES SPRACHWÄHLEN.
-
Wie
voranstehend diskutiert ist die dritte illustrative Ausführungsform
der vorliegenden Erfindung sprecherabhängig dahingehend, dass sie
Sprachmodelle verwendet, die durch den Kunden unter Verwendung des
Sprachwähldienstes
trainiert werden. Um die Modelle zu trainieren wird der Kunde befragt, um
mehrere Male die Namen zu wiederholen, die er für einen Wählvorgang verwenden möchte, um
zu ermöglichen,
dass HMMs von diesem Namen gebaut werden. Wegen der relativ wenigen
Namen, die zum Erreichen eines Wählvorgangs
erkannt werden müssen
(z.B. zwanzig Namen), kann das Spracherkennungssystem, das in der
dritten illustrativen Ausführungsform
verwendet wird, Gesamtwort-gestützt sein,
im Gegensatz zu Phonem-gestützt.
Derartige Gesamtwort-gestützte
Spracherkennungssysteme, die Modelle von gesamten Wörtern, anstelle
von kürzeren
Tönen (wie
Phoneme), verwenden, sind in dem technischen Gebiet herkömmlich.
Das Trainingssystem der dritten illustrativen Ausführungsform
ist in 8 dargestellt.
-
Die
Ausführungsform
der 8 ist ähnlich wie
diejenige, die in 6 dargestellt wird, dahingehend,
dass sie einen Datenbankprozessor 210, gekoppelt mit einer
Kundenabrechnungseintrag-Datenbank 225,
eine Umkehrtelefonverzeichnis-Datenbank 220, und eine Kundenreportiere-Datenbank 215 einschließt. Das
Ziel des Datenbankprozessors ist ebenfalls ähnlich wie dasjenige, das in 6 gezeigt ist.
Das heißt,
um in der Kundenreportiere-Datenbank 215 eine Datei zu
speichern, die eine Liste der am häufigsten gewählten Telefonnummern
für jeden
gewünschten
Parameter umfasst. Die Differenzen zwischen Trainingssystemen der 6 und 8 sind
größtenteils
die Folge der Tatsache, dass in der dritten Ausführungsform (im Gegensatz zu
der zweiten) eine Erkennung auf Kundensprachmodelle von gesamten
Worten, anstelle auf durchschnittliche Sprachmodelle von Phonemen,
gestützt
ist. Diese Differenz zwischen Ausführungsformen bedeutet, dass
mit der dritten Ausführungsform
der Kunde stark in dem Trainingsprozess eingebunden sein muss.
-
In Übereinstimmung
mit der dritten Ausführungsform
der 8 wird eine Repertoire-Wählerdatenbank
für einen
gegebenen Kunden mit Verwendung einer ID Nummer des Kunden erzeugt.
Diese Nummer wird aus einer herkömmlichen
Netzkundendatenbank (nicht gezeigt) ermittelt. Die ID Nummer wird
an den Datenbankprozessor 210 geführt, der auf herkömmlicher
Computerhardware implementiert ist. Wie voranstehend diskutiert
könnte
die Kunden-ID-Nummer. zum Beispiel die Telefonnummer eines Kunden
sein oder irgendein anderer Code, den der Dienstanbieter verwendet,
um seine Kunden zu identifizieren.
-
Der
Datenbankprozessor 210 verwendet die Kunden-ID-Nummer,
um die Kundenabrechnungseintrag-Datenbank 225 zu indizieren,
um die Telefonnummer zu bestimmen, die von dem Kunden über eine
gegebene Zeitperioden am häufigsten
gewählt werden,
wie beispielsweise über
die letzten sechs Monate der Kundendienstverwendung, wie voranstehend
diskutiert. Die Datenbank 125 kann eine herkömmliche
Telefonabrechnung reflektieren oder kann eine Kreditkartenabrechnung
einschließen,
wie voranstehend diskutiert. In Übereinstimmung
mit der dritten illustrativen Ausführungsform identifiziert der Datenbankprozessor 210 die
zwanzig am häufigsten gewählten Nummern
durch den gegebenen Kunden.
-
Als
nächstes
identifiziert der Prozessor 210 den Namen der angerufenen
Partei für
jede der zwanzig am häufigsten
angerufenen Nummern. Dies wird durchgeführt, wie voranstehend diskutiert,
durch scannen der Umkehrtelefonnummernverzeichnis-Datenbank 220 unter
Verwendung von jeder gegebenen Nummer als ein Index, um den Namen
zu bestimmen, der zu jeder Nummer gehört. Der Name von jeder angerufenen
Gegenstelle wird durch den Prozessor 210 als eine Textkette
(d.h. ASCII Zeichen) für
eine nachfolgende Verarbeitung zurückgewonnen. Der Prozessor 210 assoziiert
jede derartige Textkette mit einer entsprechenden Telefonnummer. Wie
bei der zweiten Ausführungsform
können
Zeiten vorhanden sein, wenn die Umkehrtelefonverzeichnis-Datenbank 220 einen
Namen für
eine gegebene angerufene Gegenstelle nicht enthält. Bei derartigen Umständen kann
die angerufene Nummer aus dem Speicher der Kundenrepertoire-Datenbank 215 beseitigt
werden.
-
Sobald
Textketten und entsprechende Telefonnummern durch den Prozessor 210 zusammengesetzt
worden sind, wird jede Textkette an den Sprachtrainingsprozessor 295 für die Erzeugung
eines HMM, der eine Kundenaussprache eines Namens entsprechend zu
den Textketten darstellt, zugeführt.
Um Kundenaussprachen von derartigen Namen zu ermitteln, umfasst
das Trainingssystem der 8 ein Audioantwortsystem 285 und
eine zugehörige
Skriptdatenbank 290, die verwendet wird, um ein automatisiertes
Interview des Kunden mit dem Ziel der Gewinnung von Namenaussprachen
von dem Kunden auszuführen.
-
Unter
Verwendung der Kunden-ID (Kundentelefonnummer), die von dem Datenbankprozessor 210 empfangen
wird, initiiert der Audioantwortprozessor 285 einen Anruf
zu dem Kunden durch die Vermittlungsstelle 280. Wenn der
Kunde das Telefon beantwortet spielt das System eine Nachricht ab,
die den Grund für
den Anruf erläutert.
Das Skript fährt fort
durch Auffordern des Kunden zum Sprechen und Wiederholen eines Namens,
den der Kunde sagen möchte,
wenn er eine Sprachanwahl einer spezifischen Person ausführt. Die
Aufforderungs- und Antwortsequenz würde für jeden Namen in der Liste
der am häufigsten
angerufenen Parteien wiederholt. Jede spezifische angerufene Partei
würde an
dem Kunden durch einen herkömmlichen
Text-auf-Sprache-Prozess identifiziert werden, der durch den Prozessor 285 implementiert
wird, auf Grundlage des Namentexts der angerufenen Gegenstelle,
der durch den Prozessor 210 bereitgestellt wird. In einer
illustrativen Weise würde
das Skript für
derartige Aufforderungen und entsprechende Antworten folgendermaßen sein:
Prozessor 285: „Sagen
Sie den Namen, den Sie verwenden möchten, wenn Sie „Daniel
Furman" anrufen".
Kunde: „Dan".
Prozessor 285: „Bitte
wiederholen Sie den Namen, den Sie verwenden möchten, wenn Sie „Daniel
Furman" anrufen".
Kunde: „Dan".
-
Wiederholung
des Namens „Dan" kann mehrere Male
auftreten.
-
Wie
voranstehend erläutert
kann unter bestimmten Umständen
die Umkehrtelefonverzeichnis-Datenbank 220 einen
Namen für
eine gegebene angerufene Partei nicht enthalten, beispielsweise dann,
wenn die Nummer der angerufenen Partei nicht aufgelistet ist, oder
wenn die Nummer der angerufenen Partei diejenige eines Geschäfts ist.
Wenn kein Name einfach mit einer Nummer in Verbindung steht. Eine
derartige Beseitigungsaktion besteht darin die angerufene Nummer
aus dem Speicher der Kundenrepertoire-Datenbank 115 zu beseitigen.
Eine andere derartige Beseitigungsaktion beinhaltet eine Aufforderung
an den Kunden durch den Prozessor 285. Eine derartige Aufforderung
könnte
den Kunden auffordern die Telefonnummer auszusprechen. In einem
derartigen Fall würde
die Nummer als ein gesamtes Wort für die Zwecke eines Aufbaus
eines HMM behandelt werden. Alternativ könnte der Prozessor 285 den
Kunden auffordern einen Namen bereitzustellen, der verwendet werden
soll, wenn die Nummer gewählt
wird (siehe oben), und ein Modell für den Namen könnte deshalb
gebaut werden.
-
Jede
Kundenantwort auf eine Aufforderung wird an den Sprachtrainingsprozessor 295 übergeben.
Der Sprachtrainingsprozessor 295 führt einen herkömmlichen
HMM Aufbauprozess unter Verwendung der Antworten aus, siehe z.B.
U.S. Patente Nrs. 4.587.670 und 4.783.804. Jedes derartige HMM wird an
den Datenbankprozessor 210 für eine Zuordnung mit der entsprechenden
Telefonnummer übergeben. Diese
Telefonnummer ist diejenige der angerufenen Gegenstelle in der Liste
(von am häufigsten
angerufenen Nummern), deren Name die Kundenantwort hervorgerufen
hat, die das HMM in Frage ergeben hat.
-
Sobald
Antworten für
jeden Namen in der Liste von Namen empfangen worden sind spielt
der Audioantwortprozessor 285 eine Anrufabschlussnachricht
ab und beendet den Anruf zu dem Kunden. Der Datenbankprozessor 210 speichert
dann das eben zusammengestellte Kundenrepertoirevokabular als eine
Datei in der Kundenrepertoire-Datenbank 215. In einer illustrativen
Weise umfasst die Datei zwanzig Nummern und zugehörige sprecherabhängige HMMs
mit der entsprechenden Kunden-ID-Nummer. Ein Beispiel einer derartigen
Datei ist in 9 dargestellt. Diese Datei ist
dann zur Verwendung durch das Telekommnunikationsnetz-gestützte Repertoiresprachwählsystem
geeignet, um ausgesprochene Namen und zugehörige Wählnummern, wie diejenigen,
die in 10 dargestellt sind, zu erkennen.
-
10 ist ähnlich wie 5 in
sämtlicher Hinsicht,
mit Ausnahme davon, dass HMMs, die die Namen der angerufenen Parteien
darstellen, Speicher in der Kundenrepertoiredatenbank 215 (in 9 gezeigt),
anstelle in einer getrennten Datenbank 45 sind. Als solches
ist der Betrieb des Systems der 10 fast
gleich wie derjenige der 5, mit Ausnahme davon, dass
das HMM von jedem Namen einer angerufenen Partei mit dem Satz von
Vektoren verglichen wird, die die ausgesprochene Äußerung darstellen,
die erkannt werden soll (anstelle einer Sequenz von Phonem-HMMs,
die mit dem Satz von Vektoren verglichen werden). Der Vergleich,
der die höchste
Bewertung hervorbringt, identifiziert den gesprochenen Namen. Die
angerufene Nummer entsprechend zu dem HMM mit der höchsten Bewertung wird
an der Vermittlungsstelle 30 zur Verwendung bei der Erzeugung
von Signalen, die verwendet werden, um einen Anruf zu der identifizierten
angerufenen Partei fertig zu stellen, bereitgestellt.
-
D. DISKUSSION
-
Obwohl
eine Anzahl von spezifischen Ausführungsformen dieser Erfindung
hier gezeigt und beschrieben worden sind sei darauf hingewiesen, dass
diese Ausführungsformen
lediglich illustrativ für die
vielen möglichen
spezifischen Anordnungen sind, die bei der Anwendung der Prinzipien
der Erfindung erdacht werden können.
Im Hinblick auf diese Offenbarung können zahlreiche und vielfältige andere
Anordnungen in Übereinstimmung
mit diesen Prinzipien Durchschnittsfachleute in dem technischen
Gebiet erdacht werden, ohne von dem Umfang der Erfindung abzuweichen.
-
Eine
derartige Alternative betrifft die Situation, bei der ein Netzbenutzer
nur einer einer Vielzahl von Benutzern ist, die das Netz in dem
Namen eines Benutzers verwenden, der mit dem Netz registriert ist.
Diese Situation tritt üblicherweise
in Familien auf, bei denen ein Telefon für Einfamilienmitglied registriert
ist, aber mehrere Familienmitglieder (einschließlich des registrierten Mitglieds)
dieses Telefon verwenden. Bezüglich
der Ausführungsformen
der vorliegenden Erfindung, bei denen eine Person befragt wird,
um das Erkennungssystem in einem sprecherabhängigen Kontext zu trainieren
(wie beispielsweise ein Training einer Sequenz von Phonemen oder
von Modellen mit gesamten Wörtern),
könnte
die Sprachantworteinheit und das Skript (die die Trainingssession
auffordert) ergänzt
werden, um zu fragen, ob die Person an der Leitung, die trainiert,
die Person in dem Haushalt ist, die am häufigsten die genannte angerufene
Gegenstelle anruft. Wenn dem so ist, kann das Training für diese
angerufene Partei (Gegenstelle) fortgesetzt werden. Ansonsten kann ein
Training mit diesen Namen einer angerufenen Gegenstelle für ein Training
in einer späteren
Session mit der richtigen Person entweder überspringen oder ein Training
kann unterbrochen werden, bis die richtige Person an den Anruf zu
dem Trainingssystem geht. Um ein Überspringen eines Namens oder eine
Unterbrechung eines Trainings zu bewirken könnte das Skript durch eine
anfängliche
Frage ergänzt
werden, wie beispielsweise:
Prozessor 28 (285): „Sind Sie
die Person in dem Haus, die „Daniel
Furman" am häufigsten
anruft"?
-
Eine
verneinende Antwort auf diese Frage würde einen Sprung oder eine
Unterbrechung initiieren, was auch immer für das System geeignet ist.
-
In
den voranstehend diskutierten sprecherabhängigen Kontexten könnten mehrere
Kurzformen für
eine gegebene angerufene Gegenstelle erzeugt werden. Das heißt, das
System könnte
z.B. die Telefonnummer von Daniel Mayer als Antwort darauf, dass
der Kunde „Daniel
Mayer" oder „Danny" oder „Buddy" sagt, wählen. Dies
könnte
durch Modifizieren des Trainingsskripts durchgeführt werden, um zu bestimmen,
ob der Kunde irgendeinen anderen Namen für eine angerufene Gegenstelle
verwenden möchte.
Wenn die Antwort auf diese Frage ja ist, dann könnte das Training weitergehen,
wie voranstehend für
den neuen Namen (alias) für
diese Partei (Gegenstelle) diskutiert. Ein derartiges neues Training
könnte
in der Repertoiredatenbank als neuer Eintrag in dem Repertoire mit
einer neuen phonemischen Übersetzung
oder einem Satz von Modellen, die zu der angerufenen Nummer gehören, dargestellt werden.
-
Es
würde möglich sein
die Prinzipien der vorliegenden Erfindung in einer PBX (Nebenstellenanlage)
zu implementieren, die die Telefonnummer verfolgt, die durch PBX
Systembenutzer gewählt
werden, und die eine Zusatzspracherkennungsfähigkeit hat. In einem derartigen
Fall würde
genau die PBX den Datenbankprozessor 5 der 1 beinhalten.
Die Datenbank 15 würde
mit Informationen besetzt werden, die durch die PBX gesammelt wird,
während
die Datenbank 25 erzeugt und durch die PBX in der gleichen
Weise wie voranstehend beschrieben erzeugt und gespeichert werden
würde.
Die Umkehrtelefonverzeichnis-Datenbank 20 würde durch
einen Anbieter gekauft oder geleast werden, wie beispielsweise eine
LEC oder RBOC. Die PBX würde
dann die Stelle der Netzvermittlungsstelle 30 bei der Bereitstellung des
Sprachwähldienstes
einnehmen.
-
Wie
voranstehend diskutiert hängt
die Erzeugung und die Verwendung einer Kundenrepertoiredatenbank
teilweise von der Fähigkeit
ab den Kunden zu identifizieren, so dass Kundenverwendungseinträge gesucht
werden können,
um das Repertoire für eine
Kundenverwendung zu erzeugen und zu identifizieren. Obwohl dies
voranstehend im Hinblick auf eine Kunden-ANI und Abrechnungseinträge diskutiert
worden ist, sei darauf hingewiesen, dass eine alternative Identifikation
und alternative Einträge
verwendet werden können.
Zusätzlich
oder alternativ zu der Verwendung einer herkömmlichen Telefonkundenabrechnungseintrag-Datenbank
beim Aufbauen eines Sprachwählrepertoires,
könnte
eine Kundenkreditkarten-Datenbank, die Einträge von Telefonanrufen einschließt, die
an die Kreditkarte abgerechnet werden, verwendet werden. In einem
derartigen Fall dient die Kreditkartennummer des Kunden als die Kunden-ID.
Die Kreditkarteninformation könnte
anstelle davon oder zusätzlich
zu Abrechnungseintraginformation verwendet werden. Die Verwendung
einer Kreditkarteninformation (Einträge von Anrufen, die an die
Karte oder die Kreditkartennummer abgerechnet werden) erlaubt, dass
ein getrenntes Schnellwählrepertoire
für die
geschäftliche
und persönliche
Verwendung vorhanden ist, was eine Flexibilität hinzufügt, um Kundenerfordernisse
zu erfüllen.
-
Sprachwähl-Repertoires
können
in Übereinstimmung
mit der vorliegenden Erfindung durch die periodische Messung der
am häufigsten
angerufenen Nummern des Kunden aktualisiert werden. Diese erneute
Auswertung könnte
einmal pro Jahr zum Beispiel durchgeführt werden. Sie würde, wie
voranstehend diskutiert, in dem Abschnitt durchgeführt werden,
der sich auf das Training der Datenbank bezieht. Eine hinzugefügte Funktion
würde sein,
dass Nummern, die gemeinsam für
alte und neue Repertoires sind, nicht irgendeine weitere Trainingsinteraktion
mit dem Kunden benötigen
würden
(für diejenigen
Ausführungsformen,
die in einem bestimmten Sinn sprecherabhängig sind). Ein derartiges
System würde
somit die Beseitigung von nicht häufig angerufenen Nummern während einer
gegebenen Periode und die Aufrechterhaltung von Nummern, die mit
dem Kunden populär
sind, erreichen. Das System „folgt" somit den Anrufgewohnheiten
des Kunden.
-
Die
richtige Verwendung einer Ausführungsform
eines Sprachwählsystems
in Übereinstimmung mit
der vorliegenden Erfindung kann durch Verwendung des Audioantwortsystems 35 in
Kombination mit der Netzvermittlungsstelle 30 der 5 erreicht werden.
Eine derartige Audioantworteinheit könnte die Nummer oder den Namen,
die/der gerade gewählt
wird (empfangen von dem Spracherkennungsprozessor 40) im
Ansprechen auf einen erkannten Namen, der von dem Benutzer gesprochen
wird, ankündigen.
Wenn zum Beispiel der Benutzer beabsichtigt „Tom" anzurufen, aber der Spracherkennungsprozessor 40 anstelle
davon „Mom" erkennt, dann würde das
Audioantwortsystem dem Kunden eine Nummer oder einen Namen ansagen,
die/den der Kunde nicht erwartet. Der Kunde kann, wenn er kennt,
dass er oder sie mit der falschen Gegenstelle verbunden werden wird,
entweder auflegen oder erneut starten oder einen speziellen Neustartcode,
z.B. *#, eingeben, den die Vermittlungsstelle 30 erkennt, um
(i) die Löschung
des Wählvorgangs
auf Grundlage des früher
erkannten Namens zu triggern und (ii) einen neuen Namen für eine Erkennung
von dem Benutzer zu akzeptieren.
-
Wenn
der Spracherkennungsprozessor 40 Erkennungsbewertungen
für unterschiedliche
Vokabulareinträge
berechnet, die eng zueinander sind, steigt die Wahrscheinlichkeit
einer fehlerhaften Erkennung an. Deshalb würde eine interaktive Aufhebung
einer Mehrdeutigkeit von derartigen eng bewerteten Vokabulareinträgen nützlich sein.
Dies könnte durch
den Spracherkennungsprozessor 40 erreicht werden, der dann,
wenn zwei oder mehrere Bewertungen irgendein Kriterium einer „Nähe" erfüllen, dem Audioantwortsystem 35 signalisiert
eine Aufforderung durchzuführen,
das der Kunde den gewünschten
Namen wiederholt. Wenn der Name wiederholt wird, dann wird der Erkennungsprozess
wiederholt und neue, vielleicht weniger mehrdeutige Bewertungen,
würden
zur Verwendung bei der Erkennung erzeugt werden. Alternativ könnten die
eng bewerteten Namen zurück
an den Kunden durch das System 35 (wie mit dem System 40 identifiziert)
zusammen mit einem identifizierten DTMF Knopf zum Drücken für eine Verifizierung
des richtigen Namens zurückgesprochen
werden.
-
Die
Chance, dass eine Aufhebung einer Mehrdeutigkeit während einer
Erkennung erforderlich ist, kann etwas durch eine Modifikation der
sprecherabhängigen
Trainingsprozesse verringert werden. Diese Modifikation vermeidet
die Verwendung von Namen, die wahrscheinlich so bewertet werden, dass
sie eng sind während
einer Erkennung. Dies wird durch den Sprachtrainingsprozessor 95 (295) durchgeführt, der
Erkennungsbewertungen eines Trainings von Sprache (Namen) gegenüber sämtlichen
Modellen für
andere Vokabulareinträge
berechnet. Wenn Modelle angetroffen werden, die enge Bewertungen
(d.h. eine wesentliche akustische Ähnlichkeit) für zwei oder
mehr Namen hervorbringen, dann der Audioantwortprozessor 85 (285)
den Kunden auffordern unterschiedliche Namen für ein oder mehrere der eng
bewerteten Namen zu wählen.
Der Grad einer tolerierbaren akustischen Ähnlichkeit ist die Sache von
Systemkonstruktionsrandbedingungen. Er kann empirisch auf Grundlage
von Fehlerraten bestimmt werden und kann als prozentuale Schwelle (wie
beispielsweise eine Bewertung, die innerhalb von 5% einer anderen
ist) ausgedrückt
werden.
-
Die
Repertoiredatenbank, die aus Kundeneinträgen erzeugt wird, wird voranstehend
so beschrieben, dass sie in dem Netz verwendet wird, um einen Netzgestützten Sprachwählvorgang
bereitzustellen. Jedoch kann die vorliegende Erfindung in Kombination
mit einer herkömmlichen
telefongestützten
Erkennungseinheit verwendet werden. In einer derartigen Situation
könnte
die Repertoiredatenbank 25 und die Sprachmodelldatenbank 45 (zum Beispiel)
in einen Speicher in ein Telefon hinein, welches eine herkömmliche
Spracherkennungssoftwaremöglichkeit
aufweist, herunter geladen werden. Die Herunterladung könnte unter
Verwendung des Datenkanals eines ISD-Systems oder unter Verwendung
von Datenmodems und herkömmlicher
Telefonnetzschnittstellenhardware und -software erreicht werden.
Das Telefongestützte
Erkennungssystem würde
herkömmlich
sein. Jedoch würden
die Repertoiredaten nicht herkömmlich
sein, da sie aus den Netzeinträgen
in Übereinstimmung
mit den voranstehend diskutierten illustrativen Ausführungsformen gesammelt
werden.
-
Während voranstehend
diskutierter Ausführungsformen,
die Verfügbarkeit
eines Umkehrtelefonverzeichnisses annehmen, um eine Nameninformation
bereitzustellen, die zu häufig
gewählten
Nummern gehört,
könnte
eine derartige Information durch andere Mittel bereitgestellt werden.
Zum Beispiel wird voranstehend diskutiert, dass bestimmte Telefonnummern,
die häufig
gewählt
werden, nicht aufgelistet sein können.
In derartigen Fällen
ist es möglich den
Benutzer aufzufordern einen Namen (ein Label) zu sprechen, welches
verwendet wird, um ein HMM zu trainieren. Eine derartige Prozedur
könnte
für sämtliche
häufig
gewählten
Nummern verwendet werden, wodurch die Notwendigkeit für das Umkehrverzeichnis
beseitig wird.