-
HINTERGRUND DER ERFINDUNG
-
I. Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich allgemein auf das Gebiet von
Kommunikationen, und im Speziellen auf Benutzer-Interface bzw. Schnittstellen für sprachgesteuerte
bzw. sprachfähige
Vorrichtungen.
-
II. Hintergrund
-
Spracherkennung
bzw. Voice Recognition (VR) stellt eine der wichtigsten Techniken
dar, um eine Maschine mit simulierter Intelligenz auszustatten,
um Benutzer, Befehle oder vom Benutzer ausgesprochene Befehle zu
erkennen und um ein menschliches Interface mit der Maschine zu ermöglichen.
VR stellt außerdem
eine Schlüsseltechnologie
dar für das
Verständnis
der menschlichen Sprache. Systeme, die Techniken verwenden, um eine
linguistische Nachricht aus einem akustischen Sprachsignal wiederzugewinnen,
werden Spracherkenner genannt. Der Ausdruck Spracherkenner bzw. „Voice
Recognizer" wird
hierin verwendet, um im Allgemeinen eine Vorrichtung zu benennen,
die aktiviert wird mit einem Sprachbenutzer-Interface. Ein Spracherkenner
weist typischerweise einen Akustikprozessor auf, der eine Sequenz
von Information tragenden Merkmalen oder Vektoren extrahiert, was
nötig ist,
um VR der ankommenden Rohsprache zu erreichen und einen Wort-Decodierer, der die
Sequenz von Merkmalen oder Vektoren, decodiert, um ein Aussage kräftiges und
gewünschtes
Ausgabeformat zu ergeben, wie z. B. eine Sequenz von linguistischen
Wörtern,
entsprechend zu der Eingabeäußerung.
Um die Performance eines gegebenen Systems zu erhöhen, wird ein
Training benötigt,
um das System mit gültigen
Parametern auszustatten. Mit anderen Worten, muss das System lernen,
bevor es optimal funktionieren kann.
-
Der
Akustikprozessor stellt ein Front-End-Spracheanalyse-Untersystem
in einem Spracherkenner dar. Ansprechend auf ein Eingabesprachsignal,
liefert der Akustikprozessor eine geeignete Darstellung, um das
sich zeitlich variierende Sprachsignal zu charakterisieren. Der
Akustikprozessor sollte irrelevante Informationen, wie z. B. Hintergrundrauschen,
Kanalverzerrung, Sprechercharakteristika und die Art des Sprechens
verwerfen. Effiziente Akustik-Verarbeitung
stattet Spracherkenner mit einer verbesserten Akustikunterscheidungsleistung aus.
Hinsichtlich dieses Gesichtpunktes ist eine nützliche Charakteristik, die
es zu analysieren gilt, die kurzzeitige Spektralumhüllende.
Zwei allgemein verwendete Spektralanalysetechniken zur Charakterisierung
der kurzzeitigen Spektralumhüllende
sind eine lineare prädiktive
Codierungs bzw. LPC (LPC = linear predictive coding) und Filterbank
basierende spektrale Modellierung. Beispielhafte LPC-Techniken sind
in dem
U.S.-Patent Nr. 5,414,796 ,
das dem Rechtsnachfolger der vorliegenden Erfindung zugewiesen ist,
und hiermit unter Bezugnahme aufgenommen ist, und L. B. Rabiner & R. W. Schafer,
Digital Processing of Speech Signals 396–453 (1978), das hiermit vollständig unter
Bezugnahme aufgenommen ist, beschrieben.
-
Die
Verwendung von VR (im Allgemeinen auch als Spracherkennung bezeichnet),
wird zunehmend wichtig aus Sicherheitsgründen. Z. B. kann VR verwendet
werden, um manuelle Aufgabe des Drückens von Knöpfen auf
einem Drahtlostelefon-Tastaturfeld zu ersetzen. Dies ist besonders
wichtig, wenn ein Benutzer einen Telefonanruf während des Fahrens eines Autos
initiiert. Während
der Verwendung eines Telefons ohne VR muss der Fahrer die Hand von
dem Lenkrad wegnehmen und das Telefontastenfeld anschauen während des
Drückens
der Tasten, um den Anruf zu wählen.
Diese Handlungen erhöhen
die Wahrscheinlichkeit eines Autounfalls. Ein sprachfähiges bzw.
-gesteuertes Telefon (z. B. ein Telefon, das zur Spracherkennung
konstruiert ist), erlaubt es dem Fahrer Telefonanrufe vorzunehmen während er
kontinuierlich den Verkehr beobachtet. Und eine Autofreisprechanlage
würde es
zusätzlich dem
Fahrer erlauben, beide Hände
an dem Lenkrad zu belassen, während
der Anrufinitiierung.
-
Spracherkennungsvorrichtungen
sind entweder klassifiziert als sprecherabhängige- oder sprecherunabhängige Vorrichtungen.
Sprecherunabhängige Vorrichtungen
sind in der Lage, Sprachbefehle von beliebigen Benutzern zu akzeptieren.
Sprecherabhängige
Vorrichtungen, die weiter verbreitet sind, werden trainiert, um
Befehle von bestimmten Benutzern zu erkennen. Eine sprecherabhängige VR-Vorrichtung
operiert typischerweise in zwei Phasen, eine Trainingsphase und
eine Erkennungsphase. In der Trainingsphase fordert das VR-System
den Benutzer auf, jedes der Worte in dem Vokabular des Systems ein
oder zwei Mal zu sprechen, so dass das System die Charakteristika
der Sprache des Benutzers für diese
bestimmten Worte oder Phrasen lernen kann. Ein beispielhaftes Vokabular
für eine
Autofreisprechanlage kann möglicherweise
Folgendes beinhalten: Die Ziffern des Tastenfeldes; die Schlüsselwörter „Anruf", „Senden", „Wählen", „Abbrechen", „Löschen", „Hinzufügen", „Entfernen", „Historie", „Programm", „Ja", „Nein" (Englisch: „call", „send", „dial", „cancel", „clear", „add", „delete", „history", „program", „yes" und „no"); und die Namen
von einer vordefinierten Anzahl von oft angerufenen Arbeitskollegen, Freunden
oder Familienmitgliedern. Sobald das Training abgeschlossen ist,
kann der Benutzer Anrufe in der Erkennungsphase durch Sprechen der
trainierten Schlüsselwörter initiieren.
Wenn z. B. der Name „John" einer der trainierten
Namen war, kann der Benutzer einen Anruf zu „John" durch Sprechen der Phrase „Anruf
John" bzw. „Call John" initiieren. Das VR-System würde die
Wörter „Anruf" und „John" erkennen und würde die
Nummer, die der Benutzer zuvor als John's Telefonnummer eingegeben hat, anrufen.
-
Herkömmliche
VR-Vorrichtungen verlassen sich auf gesprochene Benutzer-Schnittstellen, im Gegensatz
zu grafischen Benutzerschnittstellen bzw. -interface, wie z. B.
Tastaturen und Monitore, um es dem Benutzer zu erlauben, mit der
VR-Vorrichtung zu interagieren. Der Benutzer interagiert mit der
VR-Vorrichtung,
z. B. durch Tätigen
eines Telefonanrufs, Empfangen eines Telefonanrufs oder Zugriff
auf Merkmale, wie z. B. Sprach-Memo, Anrufbeantworter und Email
unter Verwendung von gesprochenen Befehlen. Die Eingabe des Benutzers
wird erfasst, unter Verwendung von bekannten VR-Techniken und Feedback
zu dem Benutzer wird über
Text-zu-Sprache bzw. Text-to-Speech (TTS) oder aufgenommene Prompts
vorgesehen.
-
GB 2,327,555 (Nokia Mobile
Phones Limited) offenbart ein tragbares Funktelefon mit einem Headset
und Mikrofon. Spracherkennungsmittel werden vorgesehen zum Erkennen
von Sprachbefehlseingaben über
das Mikrofon, die verwendet werden können, um den Betrieb des Handgerätes zu steuern,
oder um Sprach-Tags zu generieren, die zusammen mit Telefonnummern,
gespeichert in dem Speicher des Telefons abgespeichert werden können.
-
WO 97/19545 (AT & T CORP) offenbart
eine Technik zum Erzeugen, Trainieren und Verwenden eines Telekommunikationsnetzwerk
basierten automatischen Sprachwählsystems,
das vorgesehen wird durch die automatische Bestimmung, und zwar
durch ein Netzwerkelement, von mit großer Wahrscheinlichkeit angerufenen
Teilnehmern für
einen vorliegenden Kunden. Die Bestimmung wird basierend auf Aufzeichnungen
von Netzwerknutzung durch den Kunden basiert.
-
EP 0,800,304 (Lucent Technologies
Inc.) offenbart ein System, in dem eine Auskunftsunterstützung verwendet,
um ein Sprachwählsystem
als ein Teil von normaler Sprachwählaktivitäten zu trainieren, wodurch
der Bedarf nach einer separaten Trainingssitzung vermieden wird.
Das Sprachwählsystem
verbindet einen Anrufer mit einer Telefonauskunft, wenn ein Sprachwahl-Versuch
durch den Anrufer nicht mit einem Sprach-Tag in dem Sprachwähl-Verzeichnis
des Anrufers übereinstimmt
und der Anrufer einen Wunsch signalisiert, die Auskunft zu verwenden.
-
Wenn
der Benutzer einzelne bzw. isolierte Wörter, wie z. B. einen anzurufenden
Namen, der in dem Speicher der VR-Vorrichtung gespeichert ist, oder
einen Befehl, den es auszuführen
gilt, wie z. B. Befehle zum Organisieren des Telefonbuchs, zum Speichern
und Abspielen von Sprachnotizen, oder zum Senden einer Email mit
der Sprache des Benutzers als einen Sprachanhang, spricht, dann
verwendet die VR-Vorrichtung eine Einzelworterkennung. Die herkömmliche
VR-Technologie ist erheblich ausgereift zur Erkennung von einzelnen
Worten, und zwar für
bis zu ungefähr
vierzig oder fünfzig
Worte. Somit können
die Prozessor- und Speicherressourcen eines zellularen Telefons
verwendet werden, um einen extrem genauen Mechanismus für gesprochene
Benutzereingabe zu bilden.
-
Damit
jedoch der Benutzer eine Telefonnummer sprechen kann und die VR-Vorrichtung die Nummer
anrufen kann, müsste
die VR-Vorrichtung eine Fähigkeit
zur Erkennung von kontinuierlicher Sprache bzw. CSR-Fähigkeit
(CSR = continuous speech recognition) besitzen, da Personen typischerweise nicht
eine Pause zwischen den einzelnen Nummern einlegen, wenn sie eine
Telefonnummer angeben. Die VR-Vorrichtung muss die aufgenommene Äußerung (die
gesprochene Telefonnummer) mit zehn hoch N-Kombinationen von gespeicherten
Mustern (ein zehn Ziffern-, sprecherunabhängiges Vokabular) vergleichen,
wobei N die Anzahl der Ziffern einer Telefonnummer ist. CSR-Technologie wird
ebenfalls benötigt,
wenn der Benutzer Email-Adressen in die VR-Vorrichtung unter Verwendung
von Spracheingabe eingeben will. Dies benötigt noch mehr Verarbeitungs-
und Speicherfähigkeiten,
da sechsundzwanzig hoch N-Kombinationen mit der aufgenommenen bzw.
erfassten Äußerung verglichen
werden müssen. CSR-Technologie
benötigt
typischerweise mehr Prozessor- und Speicherressourcen als Einzelworterkennungs-Technologie,
wodurch Herstellungskosten für
die VR-Vorrichtung (z. B. ein zellulares bzw. Mobiltelefon) hinzugefügt wird.
Hinzu kommt, dass CSR-Technologie nicht einen zufrieden stellend
genauen Mechanismus für
Spracheingabe vorsieht, und zwar insbesondere in verrauschten Umgebungen,
in denen typischerweise zellulare Telefone verwendet werden.
-
Somit,
obwohl die meisten herkömmlichen VR-Produkte
mit Sprachbenutzer-Schnittstellen
für Zifferneingabe
sprecherunabhängige
CSR-Technologie verwenden, wird, wenn Prozessor-, Speicher- und/oder
Batterieleistungsbeschränkungen
die Verwendung der CSR-Technologie verhindern, dass Zifferneingabemerkmal
der Sprachbenutzer-Schnittstelle typischerweise mit einer herkömmlichen
Tastenfeldeingabe ausgetauscht. Zellular-Telefon-Hersteller verwenden z. B. typischerweise
diesen Ansatz, so dass der Benutzer aufgefordert wird, eine Telefonnummer
unter Verwendung des Tastenfelds einzugeben. Die meisten Benutzer
nehmen sich jedoch nicht die Zeit und den Mühe, um ein persönliches
Telefonbuch voll von Telefonnummern per Hand einzugeben und individuelle
Sprach-Tags für
jede Nummern zu machen. Somit besteht ein Bedarf nach einem Mechanismus,
der existierende Informationen verwendet, um ein Benutzertelefonbuch
mit Sprach-Tags in einer VR-Vorrichtung
aufzubauen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung richtet sich auf einen Mechanismus und ein
Verfahren, das existierende Informationen verwendet, um ein Benutzertelefonbuch
mit Sprach-Tags in einer VR-Vorrichtung aufzubauen. Demgemäß beinhaltet
gemäß einem
Aspekt der Erfindung eine drahtlose sprachfähige Vorrichtung vorteilhafter
Weise mindestens einen Mechanismus, der konfiguriert ist, um einen
Benutzer in die Lage zu versetzen, Information bi-direktional mit
der drahtlosen sprachfähige
Vorrichtung auszutauschen; und eine Logik, die an den mindestens
einen Mechanismus gekoppelt ist und konfiguriert ist zum automatischen
Speichern einer Anrufhistorie der sprachfähige Vorrichtung in der Vorrichtung
und zum Auffordern des Benutzers durch den mindestens einen Mechanismus
ansprechend auf ein Auftreten eines Benutzer definierten Ereignisses,
zum Sprechen eines Sprach-Tags bzw. -Anhangs, der mit einem Eintrag
in der automatisch gespeicherten Anrufhistorie der sprachfähige Vorrichtung
zuzuordnen ist, und den Sprach-Tag mit dem Eintrag in der Vorrichtung
zu speichern.
-
Gemäß einem
weiteren Aspekt der Erfindung beinhaltet eine sprachfähige Vorrichtung
vorteilhafter Weise Mittel zum in die Lage versetzen eines Benutzers,
Information bi-direktional mit der sprachfähigen Vorrichtung auszutauschen;
und Mittel zum Auffordern des Benutzers, ansprechend auf das Auftreten
eines Benutzer-definierten Ereignisses, einen Sprach-Tag bzw. Kennung
zu sprechen, der einem Eintrag in einer Anrufhistorie der sprachaktivierten
Vorrichtung zuzuordnen ist.
-
Gemäß einem
weiteren Aspekt der Erfindung wird ein Verfahren vorgesehen zum
Auffordern eines Benutzers zum Eingeben eines Sprach-Tags in ein
Telefon, wobei das Verfahren vorteilhafter Weise folgende Schritte
aufweist: Empfangen einer Benutzer definierten Anzahl von Nachrichten
auf dem Telefon von einer bestimmten Quelle; und Auffordern des Benutzers,
einen Sprach-Tag, der einer bestimmten Quelle zugeordnet ist, in
das Telefon einzugeben, und zwar nach dem Auftreten des Empfangsschrittes.
-
Gemäß einem
weiteren Aspekt der Erfindung wird ein Verfahren zum Auffordern
eines Benutzers zum Eingeben einer Sprachkennung bzw. Tag in ein
Telefon vorgesehen, das vorteilhafter Weise folgende Schritte aufweist:
Senden einer Benutzer definierten Anzahl von Nachrichten zu dem
Telefon zu einem bestimmten Ziel; und Auffordern des Benutzers, einen
Sprach-Tag, der dem bestimmten Ziel zugeordnet ist, in das Telefon
einzugeben, und zwar nachdem der Sendeschritt aufgetreten ist.
-
In
einem beispielhaften Ausführungsbeispiel der
Erfindung kann eine Email-Nachricht
zu einem Telefon von einem entfernten Ort gesendet werden, wobei
die Email-Nachricht gleichzeitig mindestens zu einer weiteren Email-Adresse
gesendet wird, um ein Telefonbuch des Telefons mit Email-Adressen
zu füllen.
-
In
einem weiteren beispielhaften Ausführungsbeispiel der Erfindung
kann eine Email-Nachricht zu einem Telefon von einem entfernten
Ort gesendet werden, wobei die Email-Nachricht gleichzeitig zu mindestens
einer weiteren Email-Adresse
kopiert wird, um ein Telefonbuch des Telefons mit Email-Adressen
zu füllen.
-
Gemäß einem
weiteren Aspekt der Erfindung beinhaltet ein Benutzer-Interface
zum Auffordern eines Benutzers zum Eingeben eines Sprach-Tags in
ein Telefon vorteilhafter Weise Mittel zum Empfangen einer Benutzer
definierten Anzahl von Nachrichten auf dem Telefon von einer bestimmten
Quelle und Mittel zum Auffordern des Benutzers zum Eingeben eines
Sprach-Tags, das der be stimmten Quelle zugeordnet ist, in das Telefon,
nachdem die Benutzer definierte Anzahl von Nachrichten von der bestimmten
Quelle empfangen wurde.
-
Gemäß einem
weiteren Aspekt der Erfindung, beinhaltet ein Benutzer-Interface bzw. -Schnittstelle
zum Auffordern eines Benutzers zum Eingeben eines Sprach-Tags in
das Telefon vorteilhafter Weise Mittel zum Senden einer Benutzer
definierten Anzahl von Nachrichten auf dem Telefon zu einem bestimmten
Ziel; und Mittel zum Auffordern des Benutzers, ein Sprach-Tag, das
dem bestimmten Ziel zugeordnet ist, in das Telefon einzugeben, und
zwar nachdem die Benutzer-definierte Anzahl von Nachrichten zu dem
bestimmten Ziel gesendet wurde.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt
ein Blockdiagramm eines Spracherkennungssystems.
-
2 zeigt
ein Blockdiagramm eines Prozessors und zugeordneten Speichermedien
zur Verwendung in einem Spracherkennungssystem, wie z. B. dem System
von 1.
-
3 ist
ein Flussdiagramm, das Verfahrensschritte darstellt, die von einem
Spracherkennungssystem wie z. B. dem System der 1,
ausgeführt
wird, um Benutzer-Schnittstellennachrichten zu verarbeiten.
-
4 ist
ein Flussdiagramm, das Verfahrensschritte darstellt, die durch ein
Spracherkennungssystem, wie z. B. dem System der 1,
ausgeführt
werden, um eine Agent-Aktion auszuführen.
-
5 ist
ein Flussdiagramm, das Verfahrensschritte darstellt, die von einem
Spracherkennungssystem, wie dem System der 1, ausgeführt werden,
um eine Anruferkennung bzw. eine Anrufer-ID zu verarbeiten.
-
6 ist
ein Flussdiagramm, das Verfahrensschritte darstellt, die von einem
Spracherkennungssystem, wie dem System der 1, ausgeführt werden,
um eine Email-Adresse zu verarbeiten.
-
7A ist
ein Flussdiagramm, das Verfahrensschritte darstellt, die von einem
Spracherkennungssystem, wie dem System der 1 ausgeführt werden,
zum Beginnen eines Benutzerprozesses bzw. Verarbeitung und
-
7B ist
ein Flussdiagramm, das eine Trainings-Unterroutine innerhalb des
Flussdiagramms der 7A darstellt.
-
8 ist
ein Flussdiagramm, das Verfahrensschritte darstellt, die von einem
Spracherkennungssystem, wie dem System der 1 ausgeführt wird,
um eine Agent-Option zu setzen.
-
DETAILLIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
-
Gemäß einem
Ausführungsbeispiel,
das in der 1 dargestellt wird, beinhaltet
ein Spracherkennungssystem 10 einen analog-zu-digital Wandler (A/D) 12,
einen Akustikprozessor 14, eine VR-Template- bzw. Vorlagendatenbank 16,
eine Mustervergleichslogik 18, und eine Entscheidungslogik 20.
Der Akustikprozessor 14 beinhaltet einen Endpunkt-Detektor 22 (nicht
gezeigt). Das VR-System 10 kann
z. B. in einem Drahtlostelefon oder einer Autofreisprechanlage angeordnet
sein.
-
Wenn
das VR-System 10 sich in einer Spracherkennungsphase befindet,
spricht eine Person (nicht gezeigt) ein Wort oder einen Satzteil,
was ein Sprachsignal generiert. Das Sprachsignal wird in ein elektrisches
Sprachsignal s(t) mit einem herkömmlichen
Transducer (ebenfalls nicht gezeigt) konvertiert. Das Sprachsignal
s(t) wird an den A/D 12 geliefert, der das Sprachsignal
s(t) in digitalisierte Sprachsamples bzw. -Abtastungen s(n) gemäß einem
bekannten Abtastverfahren konvertiert, wie z. B. pulscodierte Modulation
bzw. Pulse Coded Modulation (PCM).
-
Die
Sprachabtastungen s(n) werden an den Akustikprozess
14 zur
Parameterbestimmung vorgesehen. Der Akustikprozessor
14 erzeugt
einen Satz von Parametern, der die Charakteristika des Eingabesprachsignals
s(t) moduliert. Die Parameter können
gemäß einem
einer Vielzahl von bekannten Sprachparameter-Bestimmungstechniken
bestimmt werden, und zwar inklusive Sprach-Codierer-Codierung und Verwendung von
FFT-basierten Cepstrum-Koeffizienten
(FFT-schneller Fourier-Transformation bzw. fast fourier trans form),
wie es in dem zuvor erwähnten
U.S. Patent Nr. 5,414,796 beschrieben
wurde. Der Akustikprozessor
14 kann als ein digitaler Signalverarbeiter
DSP (DSP = digital signal processor) implementiert werden. Der DSP
kann einen Sprach-Codierer beinhalten. Alternativ kann der Akustikprozessor
14 als
ein Sprach-Codierer implementiert werden.
-
Die
Parameterbestimmung wird ebenfalls ausgeführt während des Trainierens des VR-Systems 10,
wobei ein Satz von Vorlagen (templates) für alle Vokabularwörter des
VR-Systems 10 an die VR-Vorlagendatenbank 16 für eine permanente
Speicherung hierin, gelenkt wird. Die VR-Vorlagendatenbank 16 wird
vorteilhafter Weise in einer beliebigen herkömmlichen Form eines nichtflüchtigem
Speichermedium, wie z. B. Flash-Speicher implementiert. Dies erlaubt
es den Vorlagen in der VR-Vorlagendatenbank 16 zu verbleiben,
wenn die Energieversorgung des VR-Systems abgeschaltet wird.
-
Der
Satz von Parametern wird an die Mustervergleichslogik 18 geliefert.
Die Mustervergleichslogik 18 detektiert vorteilhafter Weise
die Anfangs- und Endpunkte einer Äußerung, berechnet die dynamischen
Akustikmerkmale, (wie z. B. Zeitableitungen, und zweite Zeitableitungen
etc.), komprimiert die Akustikmerkmale durch Auswahl von relevanten Rahmen,
und quantisiert die statischen und dynamischen Akustikmerkmale.
Verschiedene bekannte Verfahren der Endpunktdetektierung, dynamische Akustikmerkmalsableitung,
Musterkomprimierung und Musterquantisierung werden z. B. beschrieben
in Lawrence Rabiner & Biing-Hwang
Juang, Fundamentals of Speech Recognition (1993), was hierin vollständig unter
Bezugnahme aufgenommen wird. Die Mustervergleichslogik 18 vergleicht
den Satz von Parametern mit allen Vorlagen, die in der VR-Vorlagendatenbank 16 gespeichert
sind. Die Vergleichsergebnisse oder Abstände zwischen dem Satz von Parametern
und allen Vorlagen, die in der VR-Vorlagendatenbank 16 gespeichert
sind, werden an die Entscheidungslogik 20 vorgesehen. Die
Entscheidungslogik 20 wählt
aus der VR-Vorlagendatenbank 16 die Vorlage, die am nächsten bzw.
am ehesten mit dem Satz von Parametern übereinstimmt. Alternativ kann die
Entscheidungslogik 20 einen herkömmlichen „N-best" Auswahlalgorithmus verwenden, der die N-nächsten Übereinstimmungen
innerhalb einer vordefinierten Übereinstimmungsschwelle
wählt.
Die Person wird dann aufgefordert hinsichtlich welche Wahl beabsichtigt
war. Die Ausgabe der Entscheidungslogik 20 ist die Entscheidung,
welches Wort in dem Vokabular gesprochen wurde.
-
Die
Mustervergleichslogik 18 und die Entscheidungslogik 20 kann
vorteilhafter Weise als ein Mikroprozessor implementiert werden,
wie es unter Bezug auf 2 beschrieben wurde. Das VR-System 10 kann
z. B. ein ASIC bzw. ein anwendungspezifischer integrierter Schaltkreis
(ASIC = application specific integrated circuit) sein. Die Erkennungsgenauigkeit
des VR-Systems ist ein Maß dafür, wie korrekt
das VR-System 10 gesprochene Wörter oder Satzteile bzw. Phrasen
in dem Vokabular erkennt. Eine Erkennungsgenauigkeit von 95% zeigt
z. B. an, dass das VR-System 10 Wörter in dem Vokabular fünfundneunzig
Mal bei hundert Versuchen erkennt.
-
Gemäß einem
Ausführungsbeispiel,
das in der 2 gezeigt ist, beinhaltet eine
VR-Vorrichtung (nicht gezeigt) einen Prozessor 100 und
erste und zweite Speichermedien 102, 104. Der
Prozessor 100 ist vorteilhafter Weise ein Mikroprozessor,
kann jedoch eine beliebige herkömmliche
Form eines Prozessors, eines dedizierten Prozessors, eines digitalen
Signalverarbeiters DSP (DSP = digital signal processor), eines Steuerelements
oder einer Zustandsmaschine sein. Der Prozessor 100 wird
an das erste Speichermedium 102 gekoppelt, was vorteilhafter Weise
als ein Flash-Speicher, EEPROM-Speicher oder RAM-Speicher implementiert
ist. Das erste Speichermedium 102 kann ein on-board RAM-Speicher
sein, oder der Prozessor 100 und das erste Speichermedium 102 können in
einem ASIC angeordnet sein. Das zweite Speichermedium 104 ist
an den Prozessor 100 gekoppelt und vorteilhafter Weise als
ein ROM-Speicher implementiert, der konfiguriert ist, um Firmware-Instruktionen oder
ein Software-Modul aufzunehmen, das auf dem Prozessor 100 ausgeführt werden
soll. Alternativ könnte
das zweite Speichermedium 104 als eine beliebige Form eines herkömmlichen,
nicht-flüchtigen
Speichers implementiert sein.
-
In
einem Ausführungsbeispiel
ist die VR-Vorrichtung ein Drahtlostelefon. In einem alternativen Ausführungsbeispiel
ist die VR-Vorrichtung eine Autofreisprechanlage. Die VR-Vorrichtung
beinhaltet eine Anrufhistorie, die in der VR-Vorrichtung gespeichert wird. Die Anrufhistorie
ist eine Liste von ausgeführten
Anrufen, empfangenen Anrufen, verpassten Anrufen, etc. Ein Sprachbenutzer-Interface bzw. -Schnittstelle
befragt einen Benutzer und fügt
diese Nummern zu dem Benutzertelefonbuch hinzu, wenn sie angewiesen
wird, dies zu tun, und zwar wie es unter Bezug auf die 3–8 unten
beschrieben wird. Demgemäß wird die
schwierigste Aufgabe der Spracheingabe (Zifferneingabe von Telefonnummern)
unter Verwendung von existierender Information erreicht.
-
In
einem Ausführungsbeispiel
hat der Benutzer die Option des An- oder Ausschaltens des Merkmals.
Wenn das Merkmal angeschaltet ist, überwacht ein intelligenter
Agent, wie er unten mit Bezugnahme auf 3–8 beschrieben
ist, die Anrufsmuster des Benutzers. Wenn die VR-Vorrichtung im
Standby-Modus ist, „wacht
der Agent auf" und
führt die
Verwaltungsaufgaben aus, die mit dem Telefonbuch assoziiert sind.
Das nächste
Mal, wenn der Benutzer die VR-Vorrichtung verwendet, kann der Benutzer
einen Namen sprechen, um einen Anruf zu einem der Einträge in dem
Telefonbuch zu veranlassen.
-
In
einem anderen Ausführungsbeispiel,
können
Email-Adressen in das Telefonbuch durch den intelligenten Agenten
eingegeben werden, wie es unten unter Bezugnahme auf die 3–8 beschrieben
wird. Die VR-Vorrichtung führt
eine Historie der ankommenden alphanumerischen Pages bzw. Funkrufe.
Wenn die Anruferkennung bzw. ID (ID = identification) eine Email-Adresse
ist, macht sich der intelligente Agent bezüglich der Tatsache eine Notiz. Wenn
der Agent die Aufmerksamkeit des Benutzers hat, bekommt der Agent
einen Sprach-Tag oder Namens-Tag, der an die Email-Adresse hinzugefügt werden
soll. Nachdem eine Email-Adresse in das Telefonbuch eingeschrieben
ist, kann der Benutzer eine Sprach-Memo aufnehmen und unter Verwendung von
Sprachbefehlen die Sprach-Memo als Anhang zu einer Email über das
Internet verschicken. Der Benutzer kann eine Email oder einen alphanumerischen Page
von einem Computer zu seiner oder ihrer VR-Vorrichtung senden, wobei
andere Email-Adressen in dem To: bzw. AN:-Feld oder dem CC: Feld
hinzugefügt
werden können,
um sein oder ihr Telefonbuch mit Email-Adressen zu füllen.
-
Das
zweite Speichermedium 104 der 2, das vorteilhafter
Weise ein ROM-Speicher
sein kann, dient zum aufnehmen eines Software-Moduls oder eines
Firmware-Moduls, das einen Satz von Instruktionen hält, und
zwar wie beschrieben unter Bezugnahme auf 3–8,
und ausführbar
durch den Prozessor 100, der ein Allzweck-Mikroprozessor oder
ein für
den speziellen Zweck konstruierter Prozessor, wie z. B. ein DSP
sein kann. Die Instruktionen oder der Code ist vorteilhafter Weise
in C++-Programmiersprache geschrieben, könnte jedoch alternativ in jeder
Programmiersprache, die dem Fachmann bekannt ist, geschrieben sein.
Das erste Speichermedium 102, das vorteilhafter Weise ein Flash-Speicher
sein kann, dient zum Aufnehmen von verschiedenen Listen, die unten
unter Bezugnahme zu 3–8 beschrieben
sind. Wie der Fachmann erkennen wird, kann der Prozessor 100 und
die ersten und zweiten Speichermedien 102, 104 ausgetauscht
werden mit logisch äquivalenten
Hardware-Komponenten, wie z. B. durch Register und FIFO oder diskreten
Transistoren.
-
Gemäß einem
Ausführungsbeispiel
verwendet eine VR-Vorrichtung (nicht gezeigt) ein Intelligent-Agent-Software-Modul
(ebenfalls nicht gezeigt) um die Algorithmusschritte, die in dem
Flussdiagramm der 3–8 dargestellt
sind, auszuführen,
um existierende Informationen zu verwenden, um den Bedarf nach einer
Benutzereingabe von Telefonnummern und Email-Adressen zu eliminieren.
In der 3 im Schritt 200 wird eine Benutzer-Interface-Nachricht durch die
VR-Vorrichtung empfangen. Der intelligente Agent fährt dann
im Schritt 202 fort. Im Schritt 202 bestimmt der
Agent, ob die Benutzerinterface-Nachricht eine Nachricht für den Agenten ist.
Ein Benutzer gibt die Nachricht entweder manuell, z. B. durch Niederdrücken eines
Tastenfelds auf der VR-Vorrichtung oder hörbar, d. h. durch Sprechen
in ein Mikrofon auf der VR-Vorrichtung ein. Wenn die Nachricht eine
Nachricht für
den Agenten ist, dann fährt
der Agent im Schritt 204 fort. Wenn, andernfalls die Nachricht
nicht eine Nachricht für
den Agenten ist, fährt
der Agent mit Schritt 206 fort. Im Schritt 206 verlässt der
Agent den Algorithmus.
-
Im
Schritt 204 bestimmt der Agent, ob der Agent in einem aktiven,
oder „wachen" Modus ist (im Gegensatz
zu einem Standby- oder „schlafenden" Modus). Wenn der
Agent in dem wachen Modus ist, fährt
der Agent mit Schritt 208 fort. Wenn andernfalls, der Agent
nicht in dem wachen Modus ist, fährt
der Agent im Schritt 210 fort.
-
Im
Schritt 210 bestimmt der Agent, ob die Nachricht eine Nachricht
für den
Agenten zum Aufwachen ist, d. h. um in den wachen Modus überzugehen.
Wenn die Nachricht eine Aufwachnachricht ist, fährt der Agent im Schritt 212 fort.
Wenn andernfalls, die Nachricht nicht eine Aufwachnachricht ist,
fährt der
Agent im Schritt 214 fort. Im Schritt 212 tritt
der Agent in den Wachmodus ein. Der Agent fährt dann im Schritt 216 fort.
Im Schritt 216 verlässt
der Agent den Algorithmus. Im Schritt 214 gibt der Agent
die Nachricht „AGENT
ASLEEP" bzw. „Agent
schlafend" an andere
Benutzer-Schnittstellen-Komponenten (nicht gezeigt) auf, und zwar
um anzugeben, dass der Agent in dem Schlafmodus ist. Der Agent fährt dann
im Schritt 218 fort. Im Schritt 218 verlässt der Agent
den Algorithmus.
-
Im
Schritt 208 bestimmt der Agent, ob die Nachricht ein Befehl
an den Benutzer ist, eine Agent-Option oder Präferenz bzw. Einstellung zu
setzen. Präferenzen
können
z. B. sein: das Aktivieren eines Tastenfelds für das Aufwachen des Agentens, wenn
der Benutzer das Tastenfeld drückt,
oder das Bestimmen einer minimalen Anzahl von Telefonanrufen, die
von dem Benutzer zu einer bestimmten Telefonnummer ausgeführt werden
müssen,
bevor der Agent den Benutzer fragt, ob der Benutzer eine Sprachkennung
bzw. -Tag für
diese Nummer hinzufügen
will. Wenn die Nachricht ein Befehl durch den Benutzer ist, eine
Agent-Option einzustellen bzw. zu setzen, fährt der Agent im Schritt 220 fort.
Wenn andernfalls, die Nachricht nicht ein Befehl durch den Benutzer
zum Einstellen einer Agent-Option ist, dann fährt der Agent im Schritt 222 fort.
-
Im
Schritt 220 tritt der Agent in eine Unterroutine ein, die
unten mit Bezug auf 8 beschrieben ist, um die Agent-Option,
gemäß dem Befehl
von dem Benutzer einzustellen.
-
Im
Schritt 222 bestimmt der Agent, ob die Nachricht verlangt,
dass der Agent eine spezifische Handlung vornimmt. Wenn die Nachricht
verlangt, dass der Agent eine Handlung ausführt, fährt der Agent im Schritt 224 fort.
Wenn andernfalls, die Nachricht nicht verlangt, dass der Agent eine
Aktion bzw. Handlung ausführt,
fährt der
Agent im Schritt 226 fort. Im Schritt 226 gibt
der Agent die Nachricht „invalid
agent message" bzw. „ungültige Agent-Nachricht" an die anderen Benutzer-Schnittstellen-Komponenten
auf, und zwar anzeigend, dass die Nachricht eine ungültige Nachricht
für den
Agenten ist. Der Agent fährt
dann im Schritt 228 fort. Im Schritt 228 verlässt der
Agent den Algorithmus. Im Schritt 224 tritt der Agent in
eine Unterroutine ein, die unten mit Bezug auf 4 beschrieben
wird, und zwar um die spezifische Handlung, die von dem Benutzer
angefragt wurde, auszuführen.
-
In
einem Ausführungsbeispiel
führ der
Agent Handlungen gemäß der Algorithmus-Schritte,
die in dem Flussdiagramm der 4 dargestellt
sind, aus. Im Schritt 300 tritt der Agent in eine Unterroutine
ein, zum Ausführen
von Agent-Handlungen.
Der Agent fährt
dann im Schritt 302 fort. Im Schritt 302 bestimmt der
Agent, ob es einen ankommenden Telefonanruf für die VR-Vorrichtung gibt.
Wenn es einen ankommenden Telefonanruf gibt, fährt der Agent im Schritt 304 fort.
Wenn andernfalls, es keinen ankommenden Telefonanruf gibt, fährt der
Agent im Schritt 306 fort. Im Schritt 304 tritt
der Agent in eine Unterroutine ein, die unten unter Bezug auf 5 beschrieben
wird, und zwar um die Anruferkennung zu verarbeiten.
-
Im
Schritt 306 bestimmt der Agent, ob es einen anrufenden
Page für
die VR-Vorrichtung
gibt. Wenn es einen ankommenden Page gibt, dann fährt der
Agent im Schritt 308 fort. Wenn andernfalls, es keinen
ankommenden Page gibt, dann fährt
der Agent im Schritt 310 fort. Im Schritt 308 tritt
der Agent in eine Unterroutine ein, die unten unter Bezug auf 6 beschrieben
ist, um die Email-Adresse zu verarbeiten.
-
Im
Schritt 310 bestimmt der Agent, ob es einen abgehenden
Telefonanruf von der die VR-Vorrichtung gibt. Wenn es einen abgehenden
Telefonanruf gibt, dann fährt
der Agent im Schritt 312 fort. Wenn andernfalls, es keinen
abgehenden Telefonanruf gibt, dann fährt der Agent im Schritt 314 fort.
Im Schritt 312 tritt der Agent in die Unterroutine ein,
die unten unter Bezug auf 5 beschrieben
wird, und zwar um die Anruferkennung zu verarbeiten.
-
Im
Schritt 314 bestimmt der Agent, ob es einen abgehenden
Page von der VR-Vorrichtung gibt. Wenn es einen abgehenden Page
gibt, dann fährt
der Agent im Schritt 316 fort. Wenn andernfalls, es keinen
abgehenden Page gibt, dann fährt
der Agent im Schritt 318 fort. Im Schritt 316 tritt
der Agent in die Unterroutine ein, die unten unter Bezug auf 6 beschrieben
wird, und zwar um die Email-Adresse zu verarbeiten. Im Schritt 318 tritt
der Agent in eine Unterroutine ein, die unten mit Bezugnahme auf
die 7A–B
beschrieben wird, und zwar um einen Benutzerprozess zu erfragen.
Zum Beispiel muss der Benutzer möglicherweise
befragt werden, ob der Benutzer einen Timer für den Agenten gesetzt hat,
um den Benutzer zu befragen, und zwar z. B. einmal pro Stunde. Oder
der Benutzer kann z. B. spezifiziert haben, dass der Agent den Benutzer
beim Einschalten und/oder Ausschalten der VR-Vorrichtung befragt
(to prompt). Oder, der Benutzer kann z. B. den Benutzer-Befragungsprozess
initiiert haben.
-
In
einem Ausführungsbeispiel
bearbeitet der Agent eine Anruferkennung für einen ankommenden oder abgehenden
Telefonanruf gemäß den Algorithmusschritten,
die in dem Flussdiagramm der 5 dargestellt
sind. Im Schritt 400 tritt der Agent in eine Unterroutine
zum Verarbeiten einer Anruferkennung ein. Der Agent fährt dann
im Schritt 402 fort. Im Schritt 402 bestimmt der
Agent, ob der Agent in dem Wachmodus ist. Wenn der Agent in dem
Wachmodus ist, dann fährt
der Agent im Schritt 404 fort. Wenn andernfalls, der Agent
nicht in dem Wachmodus ist, dann fährt der Agent im Schritt 406 fort.
Im Schritt 406 gibt der Agent die Nachricht „Agent
Asleep" bzw. „Agent
schlafend" an die
anderen Benutzer-Schnittstellen-Komponenten aus, und zwar anzeigend,
dass der Agent in dem Schlafmodus ist. Der Agent fährt dann
im Schritt 408 fort. Im Schritt 408 verlässt der Agent
den Algorithmus.
-
Im
Schritt 404 bestimmt der Agent, ob die Anruferkennung für den ankommenden
oder abgehenden Telefonanruf in dem Telefonbuch der VR-Vorrichtung ist.
Wenn die Anruferkennung in dem Telefonbuch ist, fährt der
Agent im Schritt 410 fort. Wenn andernfalls, die Anruferkennung
nicht in dem Telefonbuch ist, dann fährt der Agent im Schritt 412 fort. Im
Schritt 410 verlässt
der Agent den Algorithmus.
-
Im
Schritt 412 bestimmt der Agent, ob die Anruferkennung in
einer Aktualisierungsliste ist, die in einem Flash-Speicher der
VR-Vorrichtung gehalten wird, d. h. der Agent bestimmt um Anruferkennungsnummer
die VR-Vorrichtung mindestens einmal vorher angerufen hat oder ob
die VR-Vorrichtung die Anruferkennungsnummer zumindest einmal vorher
angerufen hat. Wenn die Anruferkennung in der Aktualisierungsliste
vorhanden ist, fährt
der Agent im Schritt 414 fort. Wenn andernfalls, die Anruferkennung
nicht in der Aktualisierungsliste ist, dann fährt der Agent im Schritt 416 fort.
Im Schritt 416 fügt
der Agent die Anruferkennung zu der Aktualisierungsliste hinzu.
Der Agent fährt
dann im Schritt 418 fort. Im Schritt 418 verlässt der
Agent den Algorithmus.
-
Im
Schritt 414 bestimmt der Agent, ob eine Zählung für Anruferkennung
eine minimale Schwellenzahl überschreitet,
d. h., ob die Anruferkennungszahl die VR-Vorrichtung eine bestimmte
minimale Schwellenzahl mal angerufen hat oder ob die VR-Vorrichtung
die Anrufer-ID bzw. -Kennung eine bestimmte minimale Schwellenzahl
von Malen angerufen hat. Die minimale Schwellenzahl kann vorteilhafter
Weise durch den Benutzer als eine Agent-Option oder Präferenz eingestellt
werden. Wenn die Zählung
für die
Anruferkennung die minimale Schwellenzahl überschreitet, dann fährt der
Agent im Schritt 420 fort. Wenn andernfalls, die Zählung für die Anruferkennung
nicht die minimale Schwellenzahl überschreitet, dann fährt der
Agent im Schritt 422 fort.
-
Im
Schritt 422 inkrementiert der Agent die Zählung für die Anruferkennung,
und zwar erhöht
er die Zählung
für die
Anruferkennung um eins. Der Agent fährt dann im Schritt 424.
Im Schritt 424 verlässt
der Agent den Algorithmus. Im Schritt 420 fügt der Agent
die Anruferkennung zu einer Befragungs- bzw. Aufforderungsliste
hinzu, so dass der Benutzer aufgefordert bzw. befragt wird, zum
Hinzufügen
der Anruferkennungszahl zu dem Telefonbuch und zum Zuordnen eines
Sprach-Tags zu der Anruferkennungszahl. Der Agent fährt dann
im Schritt 426 fort. Im Schritt 426 entfernt der
Agent die Anruferkennung von der Aktualisierungsliste. Der Agent
fährt dann
mit Schritt 428 fort. Im Schritt 428 verlässt der
Agent den Algorithmus.
-
In
einem Ausführungsbeispiel
verarbeitet der Agent eine Email-Adresse für einen ankommenden oder abgehenden
Page gemäß den Algorithmusschritten,
die in dem Flussdiagramm der 6 dargestellt
sind. Im Schritt 500 tritt der Agent in eine Unterroutine
zum Verarbeiten einer Email-Adresse ein. Der Agent fährt dann
im Schritt 502 fort. Im Schritt 502 bestimmt der
Agent, ob der Agent in dem Wachmodus ist. Wenn der Agent in dem
Wachmodus ist, dann fährt
der Agent in dem Schritt 504 fort. Wenn andernfalls, der
Agent nicht in dem Wachmodus ist, dann fährt der Agent mit Schritt 506 fort.
Im Schritt 506 gibt der Agent die Nachricht „Agent
Asleep" auf, und
zwar zu den anderen Benutzer-Schnittstellen-Komponenten mit der
Anzeige, dass der Agent in dem Schlafmodus ist. Der Agent fährt dann
im Schritt 508 fort. Im Schritt 508 verlässt der
Agent den Algorithmus.
-
Im
Schritt 504 bestimmt der Agent, ob die Email-Adresse für den ankommenden
oder abgehenden Page in dem Telefonbuch der VR-Vorrichtung vorhanden
ist. Wenn die Email-Adresse in dem Telefonbuch ist, dann fährt der
Agent im Schritt 510 fort. Wenn andernfalls, die Email-Adresse
nicht in dem Telefonbuch ist, dann fährt der Agent im Schritt 512 fort.
Im Schritt 510 verlässt
der Agent den Algorithmus.
-
Im
Schritt 512 bestimmt der Agent, ob die Email-Adresse in
einer Aktualisierungsliste, die in einem Flash-Speicher der VR-Vorrichtung
geführt
wird, vorhanden ist, d. h. der Agent bestimmt, ob die Email-Adresse
bereits die Quelle für
einen Page zu der VR-Vorrichtung mindestens einmal vorher war oder
ob die VR-Vorrichtung mindestens einmal vorher eine Email an die
Email-Adresse gesendet
hat. Wenn die Email-Adresse in der Aktualisierungsliste vorhanden
ist, fährt
der Agent im Schritt 514 fort. Wenn andernfalls, die Email-Adresse
nicht in der Aktualisierungsliste vorhanden ist, dann fährt der
Agent im Schritt 516 fort. Im Schritt 516 fügt der Agent
die Email-Adresse zu der Aktualisierungsliste hinzu. Der Agent fährt dann
im Schritt 518 fort. Im Schritt 518 verlässt der
Agent den Algorithmus.
-
Im
Schritt 514 bestimmt der Agent, ob eine Zählung für die Email-Adresse
eine minimale Schwellenzahl überschreitet,
d. h., ob die Email-Adresse eine bestimmte minimale Schwellenanzahl
von Malen die Quelle eines Pages für die VR-Vorrichtung war oder
ob die VR-Vorrichtung eine Email eine bestimmte minimale Schwellenzahl
von Malen an die Email-Adresse geschickt hat. Die minimale Schwellenzahl
kann vorteilhafter Weise von dem Benutzer als eine Agent-Option
oder Präferenz eingestellt
werden. Wenn die Zählung
für die Email-Adresse
die minimale Schwellenzahl überschreitet,
dann fährt
der Agent im Schritt 520 fort. Wenn andernfalls, die Zählung für die Email-Adresse nicht
die minimale Schwellenzahl überschreitet,
dann fährt
der Agent im Schritt 522 fort.
-
Im
Schritt 522 inkrementiert der Agent die Zählung für die Email-Adresse,
was die Zählung
für die
Email-Adresse um eins erhöht.
Der Agent fährt dann
im Schritt 524 fort. Im Schritt 524 verlässt der Agent
den Algorithmus. Im Schritt 520 fügt der Agent die Email-Adresse
zu einer Aufforderungsliste hinzu, so dass der Benutzer befragt
bzw. aufgefordert wird, die Email-Adresse zu dem Telefonbuch hinzuzufügen, und
um einen Sprach-Tag der Email-Adresse zuzuordnen. Der Agent fährt dann
im Schritt 526 fort. Im Schritt 526 entfernt der
Agent die Email-Adresse von der Aktualisierungsliste. Der Agent
fährt dann
mit Schritt 528 fort. Im Schritt 528 verlässt der
Agent den Algorithmus.
-
In
einem Ausführungsbeispiel
veranlasst der Agent einen Benutzerprozess, bzw. fragt ihn ab, gemäß den Algorithmusschritte,
die in dem Flussdiagramm der 7A dargestellt
sind. Im Schritt 600 tritt der Agent in eine Unterroutine
zum Veranlassen eines Benutzerprozesses. Der Benutzerbefragungsprozess
kann durch den Benutzer initiiert worden sein oder das Einschalten
und/oder ausschalten der VR-Vorrichtung, wenn spezifiziert durch
den Benutzer oder ansprechend auf einen Benutzer spezifizierten
Timer bzw. Zeitgeber. Der Agent fährt dann im Schritt 602 fort.
Im Schritt 602 stellt der Agent die Anzahl von Einträgen in der
Aufforderungsliste ein, d. h. die Größe der Aufforderungslist gleich
zu N. Der Agent fährt
dann im Schritt 604 fort.
-
Im
Schritt 604 bestimmt der Agent, ob N gleich null ist. Wenn
N gleich null Ist, dann gibt es keine Einträge in der Aufforderungsliste,
und der Agent fährt
im Schritt 606 fort. Im Schritt 606 verlässt der Agent
die Unterroutine. Wenn andernfalls, im Schritt 604 N nicht
gleich null ist, dann fährt
der Agent im Schritt 608 fort. Im schritt 608 tritt
der Agent in eine Unterroutine ein, die unten mit Bezugnahme auf 7B beschrieben
wird, und zwar um den nächsten Eintrag
in der Aufforderungsliste zu trainieren.
-
In
der Trainierungs-Unterroutine von 7B tritt
der Agent in die Unterroutine zum Trainieren eines Eintrags in der
Aufforderungsliste im Schritt 610 ein. Der Agent fährt dann
im Schritt 612 fort. Im Schritt 612 trainiert
der Agent ein Namenstag oder Sprach-Tag für den Eintrag. In einem Ausführungsbeispiel
trainiert der Agent den Namenstag durch hörbares Generieren der Wörter „Name Please" bzw. „Name bitte" von einem Lautsprecher
der VR-Vorrichtung. Der Benutzer, nach Hören dieser Phrase bzw. dieses
Satzteils äußert einen
Namen. Der Agent generiert hörbar
das Wort „again" bzw. „noch mal" aus dem Lautsprecher
der VR-Vorrichtung. Der Benutzer, nach Hören dieses Wortes, wiederholt
den Namen. Der Agent fährt
dann im Schritt 614 fort. Im Schritt 614 bekommt
der Agent einen Namen von dem Benutzer durch Generieren der Nachricht „Please
Type Name" bzw. „Bitte
Namen eingeben" an den
Benutzer auf einem Bildschirm der VR-Vorrichtung. Der Benutzer,
beim Sehen dieser Nachricht, gibt den Namen unter Verwendung der
Tastenfelder der VR-Vorrichtung
ein. Der Agent fährt
dann im Schritt 616 fort. Wenn eine Name bereits in der
Anrufshistorie der VR-Vorrichtung existiert, wie es in „Calling
Name Presentation" bzw. „Anrufsnamendarstellung"-Protokolle in IS-41,
GSM-MAP etc. spezifiziert
ist, kann der Agent den Schritt 614 überspringen und direkt vom
Schritt 612 zum Schritt 616 fortschreiten. Im
Schritt 616 kehrt der Agent zu der Unterroutine der 7A zurück.
-
Wenn
die Trainings-Unterroutine der 7B abgeschlossen
ist, fährt
der Agent im Schritt 618 der 7A fort.
Im Schritt 618 verringert der Agent N, und zwar senkt er
N um eins. Der Agent fährt
dann im Schritt 620 fort. Im Schritt 620 löscht der
Agent den zuletzt hinzugefügten
Eintrag von der Aufforderungsliste, und zwar im Falle einer Unterbrechung
in dem Prozess durch den Benutzer oder durch andere Komponenten
der Benutzerschnittstelle. Der Agent kehrt dann zu Schritt 604 zurück.
-
In
anderen Ausführungsbeispielen
kann die Aufforderungsliste so manipuliert oder verarbeitet werden,
dass die Aufforderungsliste nicht länger sortiert ist, basierend
darauf, wann der Anruf empfangen oder gewählt wurde, oder wann die Email
empfangen oder gesendet wurde. Z. B. kann die Aufforderungsliste
sortiert werden in einer Reihenfolge gemäß der am häufigsten angerufenen/empfangenen
Telefonnummern und am häufigsten
gesendeten/empfangenen Email-Adressen. Dies dient für eine bessere
Abstimmung hinsichtlich der Wahrnehmung des Benutzers.
-
In
einem Ausführungsbeispiel
stellt der Agent eine Agent-Option gemäß den Algorithmusschritten,
die in dem Flussdiagramm der 8 dargerstellt
sind, ein. Im Schritt 700 tritt der Agent in eine Unterroutine
zum Veranlassen eines Benutzerprozesses. Der Agent fährt dann
im Schritt 702 fort. Im Schritt 702 bestimmt der
Agent, ob der Benutzer die Aufforderungsliste zu dem Telefonbuch
hinzufügen will,
und zwar während
des Einschaltens der VR-Vorrichtung. Der Agent führt diese Bestimmung aus durch
Generieren einer Nachricht an den Benutzer auf dem Bildschirm der
VR-Vorrichtung. Alternativ kann der A gent den Benutzer hörbar durch
einen Lautsprecher der VR-Vorrichtung auffordern. Wenn der Benutzer
die Aufforderungsliste zu dem Telefonbuch während des Einschaltens der
VR-Vorrichtung hinzufügen
will, drückt
der Benutzer ein erstes vordefiniertes Tastenfeld auf der VR-Vorrichtung.
Wenn der Benutzer nicht die Aufforderungsliste zu dem Telefonbuch
während
des Einschaltens der VR-Vorrichtung hinzufügen will, drückt der
Benutzer ein zweites vordefiniertes Tastenfeld auf der VR-Vorrichtung.
-
Wenn
im Schritt 702 die Aufforderungsliste zu dem Telefonbuch
während
des Einschaltens der VR-Vorrichtung hinzugefügt werden soll, fährt der Agent
im Schritt 704 fort. Wenn andernfalls, die Prompt- bzw.
Aufforderungsliste nicht zu dem Telefonbuch während des Einschaltens der
VR-Vorrichtung hinzugefügt
werden soll, fährt
der Agent im Schritt 706 fort. Im Schritt 704 stellt
der Agent einen Parameter, benannt „UPDATE_POWERUP" bzw. „Aktualisierung_Einschalten" gleich eins. Der
Agent fährt
dann im Schritt 708 fort. Im Schritt 706 setzt
der Agent den Parameter benannt „UPDATE_POWERUP" gleich null. Der
Agent fährt dann
im Schritt 708 fort.
-
Im
Schritt 708 bestimmt der Agent, ob der Benutzer die Aufforderungsliste
zu dem Telefonbuch während
des Abschaltens der VR-Vorrichtung hinzufügen will. Der Agent führt diese
Bestimmung aus durch Generieren einer Nachricht an den Benutzer auf
dem Bildschirm der VR-Vorrichtung. Alternativ kann der Agent den
Benutzer hörbar
durch die Lautsprecher der VR-Vorrichtung auffordern. Wenn der Benutzer
die Aufforderungsliste in das Telefonbuch während des Abschaltens der VR-Vorrichtung
hinzufügen
will, drückt
der Benutzer das erste vordefinierte Tastenfeld auf der VR-Vorrichtung.
Wenn der Benutzer nicht die Aufforderungsliste dem Telefonbuch während des
Abschaltens der VR-Vorrichtung hinzufügen will, dann drückt der
Benutzer das zweite vordefinierte Tastenfeld auf der VR-Vorrichtung.
-
Wenn
im Schritt 708 die Aufforderungsliste zu dem Telefonbuch
während
des Abschaltens der VR-Vorrichtung hinzugefügt werden soll, dann fährt der
Agent im Schritt 710 fort. Wenn andernfalls, die Aufforderungsliste
nicht zu dem Telefonbuch während
des Abschaltens der VR-Vorrichtung hinzugefügt werden soll, dann fährt der
Agent im Schritt 712 fort. Im Schritt 710 setzt
der Agent einen Parameter, bezeichnet mit „UPDATE_POWERDOWN" bzw. „Aktualisierung_Abschalten" gleich eins. Der
Agent fährt
dann im Schritt 714 fort. Im Schritt 712 setzt
der Agent den Parameter benannt „UPDATE_POWERDOWN" gleich null. Der
Agent fährt
dann im Schritt 714 fort.
-
Im
Schritt 714 bestimmt der Agent, ob der Benutzer die Aufforderungsliste
in das Telefonbuch zu bestimmten Zeitintervallen aufnehmen will.
Der Agent macht diese Bestimmung durch Generieren einer Nachricht
an den Benutzer auf dem Bildschirm der VR-Vorrichtung. Alternativ
kann der Agent den Benutzer hörbar
durch den Lautsprecher der VR-Vorrichtung auffordern. Wenn der Benutzer
die Aufforderungsliste in das Telefonbuch zu bestimmten Zeitintervallen
addieren will, dann drückt
der Benutzer das erste vordefinierte Tastenfeld auf der VR-Vorrichtung. Wenn
der Benutzer nicht die Aufforderungsliste zu dem Telefonbuch zu
spezifischen Zeitintervallen hinzufügen will, dann drückt der
Benutzer das zweite vordefinierte Tastenfeld auf der VR-Vorrichtung.
-
Wenn
im Schritt 714 die Aufforderungsliste zu dem Telefonbuch
während
zu spezifischen Zeitintervallen hinzugefügt werden soll, dann schreitet
der Agent zum Schritt 716 fort. Wenn andernfalls, die Aufforderungsliste
nicht zu spezifischen Zeitintervallen zu dem Telefonbuch hinzugefügt werden
soll, dann fährt
der Agent im Schritt 718 fort. Im Schritt 716 setzt
der Agent einen Parameter, benannt „UPDATE_TIMER" bzw. „Aktualisierung_Timer" gleich eins. Der
Agent fährt
dann im Schritt 720 fort. Im Schritt 718 setzt
der Agent den Parameter benannt „UPDATE_TIMER" gleich null. Der
Agent fährt dann
im Schritt 722 fort. Im Schritt 720 liest der
Agent ein Benutzer eingegebenes Zeitintervall und setzt das Benutzer
eingegebene Zeitintervall gleich einem Parameter benannt „UPDATE_TIMER-VALUE" bzw. „Aktualisierungs-Timer-Wert." Um das Benutzer
eingegebene Zeitintervall zu lesen, generiert der Agent zuerst die
Nachricht „ENTER
TIME INTERVAL" bzw. „Zeitintervall
eingeben" für den Benutzer
auf dem Bildschirm der VR-Vorrichtung. Der Benutzer antwortet durch Drücken geeigneter
Tastenfelder auf der VR-Vorrichtung zum Spezifizieren eines gewünschten
Zeitintervalls gegenüber
dem Agenten. Der Agent fährt
dann im Schritt 722 fort.
-
Im
Schritt 722 liest der Agent eine Benutzer eingegebene minimale
Zahl von Anrufen, die aufgegeben/empfangen wurden oder von Email-Adressen an
die gesendet/von denen empfangen wurden und setzt die Benutzer eingegebene
minimale Zahl gleich zu der minimalen Schwellenzahl, die oben bezüglich 5–6 beschrieben
wurde, und zwar im Parameter benannt MIN_THRS. Um die Benutzer eingegebene
minimale Zahl zu lesen, generiert der Agent zuerst die Nachricht „ENTER
MINIMUM NUMBER OF CALLS" bzw. „Eingeben
der minimalen Zahl von Anrufen" für den Benutzer
auf dem Bildschirm der VR-Vorrichtung.
Der Benutzer antwortet durch Drücken
von geeigneten Tastenfeldern auf der VR-Vorrichtung, um dem Agenten
eine minimale Zahl von Anrufen oder empfangene Anrufe oder empfangenen/gesendeten
Emails zu spezifizieren. Der Agent fährt dann im Schritt 724 fort.
Im Schritt 724 verlässt der
Agent den Algorithmus.
-
Somit
wurde ein neues und verbessertes Interface für sprachfähige Vorrichtungen beschrieben. Der
Fachmann wird verstehen, dass verschiedene darstellende logische
Blöcke
und Algorithmusschritte, die in Verbindung mit den offenbarten Ausführungsbeispielen
beschrieben wurden, implementiert oder ausgeführt werden können mittels
einem Digitalsignal-Verarbeiter bzw. mit einem anwendungsspezifischen
integrierten Schaltkreis bzw, ASIC (ASIC = application specific
integrated circuit), einer diskreten Gatter- oder Transistor-Logik, diskreten Hardware-Komponenten,
wie z. B. Register und FIFO, einem Prozessor, der einen Satz von
Firmware-Instruktionen ausführt
oder einem beliebigen herkömmlichen,
programmierbaren Software-Modul und einem Prozessor. Der Prozessor
kann vorteilhafter Weise ein Mikroprozessor sein, kann jedoch alternativ
ein beliebiger, herkömmlicher
Prozessor, Controller oder Mikro-Controller oder Zustandsmaschine sein.
Das Software-Modul könnte
in einem RAM-Speicher, Flash-Speicher, Registern oder einer anderen
Form von beschreibbarem Speichermedium, bekannt auf dem Fachgebiet sein.
Der Fachmann wird weiter anerkennen, dass die Daten, Instruktionen,
Befehle, Informationen, Signale, Bits, Symbole und Chips, die in
der obigen Beschreibung benannt wurden, vorteilhafter Weise durch
Spannung, Ströme,
elektromagnetische Wellen, magnetische Felder oder Teilchen, optische
Felder oder Teilchen oder eine Kombination hiervon dargestellt werden
können.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung wurden somit gezeigt und beschrieben.
Es wäre
jedoch für
einen Fachmann offensichtlich, dass zahllose Änderungen an den Ausführungsbeispielen,
die hierin beschrieben wurden, ausgeführt werden können, ohne
dabei von dem Umfang der Erfindung abzuweichen. Daher sei die vorliegende
Erfindung nicht als eingeschränkt
angesehen, mit der Ausnahme der nachfolgenden Ansprüche.