DE602004010804T2 - Sprachantwortsystem, Sprachantwortverfahren, Sprach-Server, Sprachdateiverarbeitungsverfahren, Programm und Aufzeichnungsmedium - Google Patents

Sprachantwortsystem, Sprachantwortverfahren, Sprach-Server, Sprachdateiverarbeitungsverfahren, Programm und Aufzeichnungsmedium Download PDF

Info

Publication number
DE602004010804T2
DE602004010804T2 DE602004010804T DE602004010804T DE602004010804T2 DE 602004010804 T2 DE602004010804 T2 DE 602004010804T2 DE 602004010804 T DE602004010804 T DE 602004010804T DE 602004010804 T DE602004010804 T DE 602004010804T DE 602004010804 T2 DE602004010804 T2 DE 602004010804T2
Authority
DE
Germany
Prior art keywords
voice
file
language
variable
speech
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE602004010804T
Other languages
English (en)
Other versions
DE602004010804D1 (de
Inventor
Yoshinori Yamato-shi Tahara
Tomoko Yamato-shi Murayama
Masahiro Yamato-shi Baba
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE602004010804D1 publication Critical patent/DE602004010804D1/de
Application granted granted Critical
Publication of DE602004010804T2 publication Critical patent/DE602004010804T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Description

  • Die vorliegende Erfindung betrifft ein automatisches Sprachantwortsystem und insbesondere ein System, das eine Antwort durch automatisch synthetisierte Sprache unter Verwendung einer Spracherkennung erzeugt.
  • Wenn eine Sprachanwendung automatisch eine Systemnachricht ausgibt, verwendet sie eine im Voraus aufgezeichnete Sprachdatei. Im Falle von VoiceXML, bei dem eine Standardsprachschnittstelle definiert wird, wird die Ausgabe einer solchen Nachricht beispielsweise durch Kennzeichnen eines Sprachdateinamens mittels einer Kennzeichnung <audio> (<audio> tag) ausgeführt. Ein auf VoIP beruhendes Sprachsystem unter Verwendung von VoiceXML wird beispielsweise im folgenden Patentdokument 1 beschrieben.
    Patentdokument 1: Veröffentlichung der japanischen Patentanmeldung Nr. 2002-57724 .
  • Es besteht jedoch das Problem, dass im Falle einer in der Nachricht enthaltenen Variablen die Belastung auf der Anwendung erheblich ist. Genauer gesagt bedeutet dies, dass im Falle der Einfügung einer Variablen in eine Sprachdatei durch eine VoiceXML-Anwendung in einem herkömmlichen Sprachserver der Vorgang und die Ausführung der Anwendung beispielsweise so erfolgen, dass ein Servlet entwickelt wird, das die Funktionen zur Vorbereitung einer Sprachdatei aufweist, in der ein Satz an der Position der Variablen geteilt wird, und zur Festlegung eines Namens für die Sprachdatei aus der Variablen, um dynamisch ein VXML-Dokument zur Wiedergabe der Sprachdatei zu erzeugen. Sprachdateien vor und nach einer variablen werden in einem VXML-Dokument durch zwei Kennzeichnungen <audio> gekennzeichnet, und das Servlet wird durch eine geeignete Zeitsteuerung als Teilsprachdaten aufgerufen.
  • Im Falle der Wiedergabe einer Nachricht durch eine Sprachdatei auf diese Weise besteht das Problem, dass die Belastung auf der Anwendung bezüglich der folgenden Punkte erheblich ist. Als Erstes besteht ein Problem bei der Ausführung der Anwendung. Das heißt, es ist notwendig, dass die Anwendung zuerst eine Logik zum Kennzeichnen und Wiedergeben einer Sprachdatei für ein Variablensegment zum Zeitpunkt der Ausführung entwickelt. Mit anderen Worten, es besteht das Problem, dass eine Notwendigkeit zur Entwicklung einer großen Menge von komplizierten Anwendungen besteht. Außerdem besteht das Problem, dass eine Änderung der Anwendung entsprechend der Änderung von Sätzen notwendig ist.
  • Außerdem gibt es Probleme hinsichtlich der für einen Vorgang zum Vorbereiten einer Aufzeichnungsdatei benötigten Zeit sowie der Qualität und Verwaltung der Aufzeichnungsdatei. Gemäß dem herkömmlichen Verfahren ist es notwendig, dass eine Sprachdatei aufgezeichnet wird, indem sie in ein Segment vor einer Variablen, ein Variablensegment und ein Segment nach der Variablen geteilt wird. Im Falle eines Satzes "Bei Ihrer Bestellung handelt es sich um Reis, nicht wahr", der einen Artikelnamen als Variablensegment enthält, müssen beispielsweise Sprachdateien "bei Ihrer Bestellung handelt es sich um", "Reis" und "nicht wahr" vorbereitet werden. In einem solchen Fall ist es notwendig, dass eine aufzeichnende Person unnatürlich geteilte Satzteile ausspricht, wobei die Aussprache in Bezug auf Natürlichkeit und Redefluss wahrscheinlich mangelhaft ist.
  • Außerdem gibt es ein Verfahren der fortlaufenden Aufzeichnung des ganzen Satzes und der Teilung durch einen Sprachdateieditor. In diesem Fall ist es jedoch notwendig, dass eine die Sprachdatei bearbeitende Person die Beschaffenheit einer Anwendung genau versteht. Außerdem ist die Wahrscheinlichkeit eines Fehlers bei der Bearbeitung hoch, da komplizierte Vorgänge, unter anderem die Teilung einer Sprachdatei, erforderlich sind. Außerdem besteht das Problem einer erhöhten Arbeitsbelastung aufgrund der Notwendigkeit vieler Vorgänge, unter anderem Sprachdateibearbeitungsvorgänge. Außerdem nimmt die Anzahl von Sprachdateien zu, da Sprachdateien, die durch Teilen eines Satzes an der Position einer Variablen erzeugt werden, im Voraus vorbereitet werden. Außerdem ist es notwendig, geräuschlose Teile an Anfang und Ende von jeder der Sprachdateien unter Verwendung des Sprachdateieditors auszuschneiden und zu bearbeiten, um die Sprachdateien flüssig miteinander zu verketten. Solche Bearbeitungsvorgänge nehmen proportional zur Anzahl von Sprachdateien zu. Wenn die Anzahl von Sprachdateien zunimmt, wird die Arbeitsbelastung enorm hoch, und komplizierte Vorgänge nehmen zu. Außerdem besteht die Möglichkeit, dass die Dateibenennung und die Dateiverwaltung durch eine erhöhte Anzahl von Sprachdateien kompliziert werden.
  • Das Dokument US 6 334 103 beschreibt eine Sprachbenutzerschnittstelle, wobei die ausgewählte Eingabeaufforderung vorhergehende Spracherkennungsergebnisse enthalten kann, die tatsächliche Parameter in einem Sprachsyntheseskript ersetzen würden. Die Eingabeaufforderungen würden als Verkettung von aufgezeichneten Eingabeaufforderungen und synthetischen Äußerungen erzeugt.
  • Zur Lösung der oben beschriebenen Probleme werden ein Sprachantwortsystem, ein Sprachantwortverfahren, ein Sprachserver, ein Sprachdateiverarbeitungsverfahren und Programme gemäß der Definition in den angehängten Ansprüchen bereitgestellt.
  • Nun werden bevorzugte Ausführungsformen der vorliegenden Erfindung lediglich beispielhaft mit Bezugnahme auf die begleitenden Zeichnungen beschrieben, in denen:
  • 1 ein Blockschaltbild ist, das eine Hardwarekonfiguration eines als Ausführungsform der vorliegenden Erfindung entsprechend realisierten Computers schematisch zeigt.
  • 2 ein Blockschaubild ist, das die vorliegende Erfindung unter Verwendung funktioneller Blöcke zeigt.
  • 3 eine Darstellung ist, die die Logik der Erzeugung einer Grammatik im Sprachdateiverarbeitungsabschnitt 231 zeigt.
  • 4 eine Darstellung ist, die Einzelheiten der Grammatikerzeugungslogik zeigt.
  • 5 eine Darstellung ist, die die Logik der Teilung einer Sprachdatei durch Spracherkennung in der Spracherkennungsmaschine 232 zeigt.
  • 6 eine Darstellung ist, die das Ergebnis der Teilung der Sprachdatei durch Spracherkennung in der Spracherkennungsmaschine 232 zeigt.
  • 7 ein Flussdiagramm ist, das ein Beispiel des Verarbeitungsflusses im Sprachserver 230 der vorliegenden Erfindung zeigt.
  • 1 ist ein Blockschaltbild, das eine Hardwarekonfiguration eines zum Ausführen der vorliegenden Erfindung geeigneten Computers schematisch zeigt.
  • 1 zeigt eine Hardwarekonfiguration eines als Ausführungsform realisierten Computers. Der Computer weist Folgendes auf: eine CPU (Zentraleinheit) 101, die ein Datenverarbeitungsmittel ist, einen Hauptspeicher 103, der über den Chipsatz 102 einer Hauptplatine (mother board – M/B) und einen CPU-Bus mit der CPU 101 verbunden ist, eine Videokarte 104, die ebenfalls durch den Hauptplatinen-Chipsatz 102 und einen AGP (Accelerated Graphics Port) mit der CPU 101 verbunden ist, eine Festplatte 105, die durch einen PCI-Bus (Peripheral Component Interconnect bus) mit dem Hauptplatinen-Chipsatz 102 verbunden ist, eine Netzschnittstelle 106, die ebenfalls durch den PCI-Bus mit dem Hauptplatinen-Chipsatz verbunden ist, einen USB-Anschluss 107, der ebenfalls durch den PCI-Bus mit dem Hauptplatinen-Chipsatz verbunden ist, ein Diskettenlaufwerk 109, das vom PCI-Bus durch eine Brückenschaltung 108 und einen Bus mit niedriger Übertragungsgeschwindigkeit (low-speed bus), beispielsweise einen ISA-Bus (Industry Standard Architecture bus) mit dem Hauptplatinen-Chipsatz 102 verbunden ist, und eine Tastatur/eine Maus 110, die ebenfalls durch die Brückenschaltung 108 und den Bus mit niedriger Übertragungsgeschwindigkeit mit dem Hauptplatinen-Chipsatz 102 verbunden sind.
  • 1 zeigt nur ein Beispiel einer Hardwarekonfiguration eines typischen als Ausführungsform realisierten Computers, und eine beliebige andere Konfiguration kann übernommen werden, falls diese Ausführungsform angewandt werden kann. Beispielsweise kann eine Konfiguration übernommen werden, so dass nur ein Videospeicher anstelle der Videokarte 104 aufgenommen wird und Bilddaten von der CPU 101 verarbeitet werden. Ein durch eine Schnittstelle wie ATA (AT Attachment) verbundenes CD-ROM-(Compact Disc Read Only Memory) oder DVD-ROM-Laufwerk (Digital Versatile Disc Read Only Memory drive) kann bereitgestellt werden. Außerdem kann ein Lautsprecher oder dergleichen zur Sprachwiedergabe bereitgestellt werden.
  • 2 ist ein Blockschaubild, das die vorliegende Erfindung unter Verwendung funktioneller Blöcke zeigt. Ein Sprachantwortsystem 210 wird von einem Sprachserver 220 und einem Anwendungsserver 230 gebildet. Der Sprachserver 220 und der Anwendungsserver 230 können als ein Computer ausgeführt werden, wie in 1 gezeigt wird, oder als eine Kombination aus zwei oder mehr Computern oder eine Kombination aus einem Computer und einem Speicher.
  • Der Anwendungsserver 220 enthält eine Sprachdatei 221 mit Aufzeichnung eines ganzen Satzes (whole sentence recording voice file), Variablenaufzeichnungsdateien 222, 223 und Sprachdaten 224. Diese können als ein im Anwendungsserver ausgeführtes Anwendungsprogramm oder als Teile des Anwendungsprogramms verstanden werden. Die Sprachdatei 221 mit Aufzeichnung eines ganzen Satzes ist ein ganzer Satz, der ein Variablensegment enthält, d. h. ein Segment, das einen Eintrag einer Variablen zeigt und als eine Datei aufgezeichnet wird. In der aufzuzeichnenden Sprachdatei 221 mit Aufzeichnung eines ganzen Satzes wird ein bestimmtes Wort durch das Variablensegment ersetzt. Als dieses Wort wird ein im Sprachserver im Voraus gekennzeichnetes Wort verwendet. Beispielsweise wird ein Wort "Artikelname" für das Variablensegment verwendet, und ein Satz "Bei Ihrer Bestellung handelt es sich um Artikelname, nicht wahr?" wird in Sprachform vorbereitet und als eine Sprachdatei mit Aufzeichnung eines ganzen Satzes gespeichert.
  • Außerdem wird in das Variablensegment einzugebende Sprache als Variablenaufzeichnungsdateien 1, 2, ... (222, 223) im Anwendungsserver 220 gespeichert. Beispielsweise werden in Sprachform vorbereitete Dateien von "Reis" und "Miso" gespeichert. Es kann eine Vielzahl von Variablensegmenten verwendet werden. In einem solchen Fall werden den Variablensegmenten entsprechende Variablenaufzeichnungsdateien gespeichert. Beispielsweise werden die Variablensegmente 1 und 2 als "Artikelname" und "Anzahl von Artikeln" und ein in Sprachform vorbereiteter Satz "Bei Ihrer Bestellung handelt es sich um Artikelname und die Menge ist eine Anzahl von Artikeln, nicht wahr" als eine Sprachdatei mit Aufzeichnung eines ganzen Satzes gespeichert. Außerdem werden Variablenaufzeichnungs-Sprachdateien gespeichert, die "Artikelname" und "Anzahl von Artikeln" entsprechen (beispielsweise "Reis" und "Miso" für die ersteren sowie "eins" und "zwei" für die letzteren).
  • Des Weiteren werden Sprachdaten 224 im Anwendungsserver 220 gespeichert. Die Sprachdaten 224 enthalten einen Dateinamen für die Sprachdatei mit Aufzeichnung eines ganzen Satzes, Variablendaten und einen alternativen Text. Die Variablendaten enthalten zumindest Daten, die das Vorhandensein/Nichtvorhandensein eines Variablensegments anzeigen, d. h. Daten, die die Notwendigkeit/keine Notwendigkeit zur Verarbeitung einer Variablen anzeigen. Der alternative Text ist die Gesamtheit einer Textfolge, die das Variablensegment beinhaltet. Im Falle des oben beschriebenen Beispiels lautet der alternative Text "Bei Ihrer Bestellung handelt es sich um <Variablensegment>, nicht wahr". Falls eine Vielzahl von Sprachdateien mit Aufzeichnung eines ganzen Satzes vorliegt, können Sprachdaten für jede dieser Sprachdateien vorbereitet werden.
  • Der Sprachserver 230 weist einen Sprachdateiverarbeitungsabschnitt 231, eine Spracherkennungsmaschine 232 und einen Sprachverarbeitungsabschnitt (voicing processing section) 233 auf. Der Sprachdateiverarbeitungsabschnitt 231 entnimmt die Sprachdaten 224 und die von den Sprachdaten gekennzeichnete Sprachdatei 221 mit Aufzeichnung eines ganzen Satzes aus dem Anwendungsserver 220, stellt aus den in den Sprachdaten enthaltenen Variablendaten fest, ob eine Notwendigkeit zur Verarbeitung einer Variablen besteht und erzeugt dynamisch eine Grammatik aus dem alternativen Text, falls eine Variable verarbeitet werden muss.
  • Die Spracherkennungsmaschine 232 empfängt die Sprachdatei mit Aufzeichnung eines ganzen Satzes und die dynamisch erzeugte Grammatik aus dem Sprachdateiverarbeitungsabschnitt 234. Die Spracherkennungsmaschine 232 teilt die auf dieser Grundlage erkannte Sprachdatei mit Aufzeichnung eines ganzen Satzes in eine dem Variablensegment entsprechende Variablensprachdatei und eine Teilsprachdatei, die ein von der Variable verschiedenes Segment darstellt. Es werden nicht unbedingt nur eine Variablensprachdatei und nur eine Teilsprachdatei erhalten. Es können eine Vielzahl von Variablensprachdateien und eine Vielzahl von Teilsprachdateien vorhanden sein.
  • Der Sprachverarbeitungsabschnitt 233 empfängt die Teilsprachdatei und die Variablensprachdatei von der Spracherkennungsmaschine 232. Der Sprachverarbeitungsabschnitt 233 erhält die Variablenaufzeichnungs-Sprachdatei, die als die der Variablensprachdatei entsprechende Ersatzdatei gekennzeichnet ist, vom Anwendungsserver 220. Dieser Vorgang kann im Sprachdateiverarbeitungsabschnitt ausgeführt und an den Sprachverarbeitungsabschnitt übergeben werden. Die Teilsprachdatei und die Variablenaufzeichnungs-Sprachdatei werden verkettet und entsprechend dem wiederzugebenden alternativen Text in Sprache umgesetzt.
  • Eine Sprachausgabeeinheit 240 ist mit dem Sprachantwortsystem 210 verbunden, um Sprache auf der Grundlage der wiedergegebenen Sprachdatei wiederzugeben und auszugeben.
  • Diese Sprachausgabeeinheit kann beispielsweise eine Lautsprechereinheit für einen Computer sein, wie in 1 gezeigt wird, d. h. das gleiche System wie das Sprachantwortsystem, oder ein durch eine öffentliche Telefonschaltung oder dergleichen verbundener Telefonanschluss oder Ähnliches.
  • 3 zeigt die Logik der Erzeugung einer Grammatik im Sprachdateiverarbeitungsabschnitt 231. Als Erstes wird der gesamte Satz des alternativen Textes in das Variablensegment und das(die) vom Variablensegment verschiedene(n) Segment(e) geteilt (310). Als Nächstes wird ein festgelegtes Wort durch das Variablensegment ersetzt (320). Dieses Wort wird vom Sprachserver im Voraus festgelegt. In der Sprachdatei mit Aufzeichnung eines ganzen Satzes wird dieses in Sprachform vorbereitete Wort unter Verwendung eines festgelegten Wortes als Variablensegment aufgezeichnet. Eine Grammatik wird auf der Grundlage des Textes mit dem ersetzten Wort dynamisch erzeugt (330).
  • Ein Beispiel der Erzeugung einer Grammatik wird mit Bezugnahme auf 4 ausführlicher beschrieben. Ein festgelegtes Wort wird zunächst durch das Variablensegment des alternativen Textes ersetzt (410). Auf der Grundlage des alternativen Textes wird eine Textdatei erzeugt. Zu diesem Zeitpunkt besteht die Notwendigkeit zum Ausführen einer Wortteilung, so dass die Spracherkennungsmaschine die Textdatei erkennen kann (420). Bei dieser Wortteilung beinhaltet die Verarbeitung beispielsweise die Interpunktion und die Teilung in Wörter durch ein Verfahren mit Übereinstimmung der maximalen Länge (maximum length matching method) mit Bezugnahme auf Wörter, die in einem Wörterbuch für die Spracherkennungseinheit aufgezeichnet sind. Um der Spracherkennungsmaschine das Teilungsergebnis bereitzustellen, wird dieses in eine Form umgesetzt, die von der Spracherkennungseinrichtung (430) erkannt werden kann. Die auf diese Weise erzeugte Grammatik wird der Spracherkennungsmaschine zur Registrierung bereitgestellt.
  • 5 zeigt die Logik der Teilung einer Sprachdatei durch Spracherkennung in der Spracherkennungsmaschine 232. Die Spracherkennungsmaschine wird zuerst in einen Modus versetzt, um eine Datei aus einer erkannten Sprache zu bilden (510). Als Nächstes werden eine Sprachdatei mit Aufzeichnung eines ganzen Satzes, die eine Variable enthält, und eine erzeugte Grammatik in die Spracherkennungsmaschine 232 eingegeben (520). Die Spracherkennungsmaschine 232 erkennt die Sprachdatei mit Aufzeichnung eines ganzen Satzes auf der Grundlage der Grammatik (530). Die Spracherkennungsmaschine 232 teilt die erkannte Sprachdatei mit Aufzeichnung eines ganzen Satzes in eine dem Variablensegment entsprechende Variablensprachdatei und eine oder mehrere vom Variablensegment verschiedene Teilsprachdatei(en), wobei folglich Sprachdateien erzeugt werden (540).
  • 6 zeigt das Ergebnis der Teilung einer Sprachdatei auf der Grundlage von Spracherkennung in der Spracherkennungsmaschine 232. In diesem Beispiel wird vorausgesetzt, dass ein Variablensegment "Artikelname" lautet. Als Ergebnis (620) von Spracherkennung und Teilung wird eine Sprachdatei 610 mit Aufzeichnung eines ganzen Satzes in eine einem Variablensegment entsprechende Variablensprachdatei 622 und die vom Variablensegment verschiedenen Teilsprachdateien 621 und 623 unterteilt.
  • 7 ist ein Flussdiagramm, in dem ein Beispiel des Verarbeitungsflusses im Sprachserver 230 der vorliegenden Erfindung beschrieben wird. Als Erstes wird festgestellt, ob eine Notwendigkeit zur Verarbeitung einer Variablen entsprechend dem Vorhandensein/Nichtvorhandensein von Daten besteht, die eine Kennzeichnung der Variablen zeigen, die in den Variablendaten in den vom Anwendungsserver 220 erhaltenen Sprachdaten 224 enthalten ist (701). Wenn festgestellt wird, dass keine Notwendigkeit zur Verarbeitung einer Variablen besteht, wird die übliche Audioverarbeitung ausgeführt (720). Die übliche Audioverarbeitung erfolgt beispielsweise folgendermaßen: wenn eine wiederzugebende Sprachdatei, die mit einem Dateinamen in den Sprachdaten übereinstimmt, im Anwendungsserver vorhanden ist, wird diese wiedergegeben. Wenn im Falle des Nichtvorhandenseins einer wiederzugebenden Sprachdatei ein alternativer Text in den Sprachdaten vorhanden ist, wird der alternative Text wiedergegeben. Wenn kein alternativer Text vorliegt, wird eine Fehlerverarbeitung ausgeführt, oder bei Nichtvorhandensein einer Fehlerverarbeitung endet die Verarbeitung in einem Fehler.
  • Falls im Schritt 701 festgestellt wird, dass eine Notwendigkeit zur Verarbeitung einer Variablen besteht, werden eine Sprachdatei mit Aufzeichnung eines ganzen Satzes und ein entsprechender alternativer Text aus den Sprachdaten 224 entnommen (702). Anschließend wird geprüft, ob irgendeine Sprachdatei mit Aufzeichnung eines ganzen Satzes im Anwendungsserver 220 vorliegt (703). Falls keine Sprachdatei mit Aufzeichnung eines ganzen Satzes im Anwendungsserver 220 vorhanden ist, werden die die Kennzeichnung der Variablen zeigenden Daten gelöscht, und anschließend wird die übliche Audioverarbeitung wie oben beschrieben ausgeführt (730).
  • Falls eine Sprachdatei mit Aufzeichnung eines ganzen Satzes im Anwendungsserver 220 vorhanden ist, wird außerdem geprüft, ob ein alternativer Text vorhanden ist (704). Wenn kein alternativer Text vorhanden ist, führt dies zu einem Fehler, und der Prozess endet (740, 741). Wenn ein alternativer Text vorhanden ist, wird festgestellt, ob die Sprachdatei mit Aufzeichnung eines ganzen Satzes bereits in einem Cachespeicher (nicht gezeigt) im Sprachserver 230 vorhanden war (705). Falls die Sprachdatei mit Aufzeichnung eines ganzen Satzes bereits im Cachespeicher vorhanden war, geht der Prozess weiter zum Schritt 709. Im Falle des Nichtvorhandenseins im Cachespeicher wird die Sprachdatei mit Aufzeichnung eines ganzen Satzes aus dem Anwendungsserver 220 erhalten (706). Unter Verwendung des alternativen Textes und der Sprachdatei mit Aufzeichnung eines ganzen Satzes wird eine Grammatik dynamisch erzeugt (707). Anschließend wird eine Spracherkennung ausgeführt, um die Sprachdatei mit Aufzeichnung eines ganzen Satzes zu teilen (708).
  • Anschließend wird geprüft, ob eine Variablenaufzeichnungs-Sprachdatei im Anwendungsserver 220 vorliegt (709). Wenn eine Variablenaufzeichnungs-Sprachdatei im Anwendungsserver 220 vorliegt, wird sie aus diesem erhalten (710). Diese Sprachdateien werden der Reihe nach verkettet, um in Sprachform wiedergegeben zu werden (711). Die erzeugte Sprachdatei wird für eine notwendige Zeitspanne im Cachespeicher zwischengespeichert (712), so dass sie bei Bedarf sofort verwendet werden kann. Wenn im Schritt 709 keine Variablenaufzeichnungs-Sprachdatei vorhanden ist, wird unter Verwendung des der Variablen entsprechenden alternativen Textes eine Sprachdatei durch Sprachsynthese erzeugt (750).
  • Diese Folge von Prozessschritten wird als Computerprogramm realisiert. Dieses Computerprogramm kann bereitgestellt werden, indem es auf einem computerlesbaren Speichermedium, beispielsweise einer CD-ROM oder einer Diskette, gespeichert wird.
  • Ein in 7 gezeigtes Beispiel einer VXML-Browserausführung der Verarbeitung der vorliegenden Erfindung wird beschrieben. Die Abschnitte (1) bis (9) entsprechen dem Inhalt von 7. Ein "VMXL-Browser" ist ein Mittel zur Bereitstellung der dem Sprachdateiverarbeitungsabschnitt 231 und dem Sprachverarbeitungsabschnitt 233 der vorliegenden Erfindung entsprechenden Funktionen zur Verarbeitung in VXML.
    • (1) Das Symbol '#' einer Audiokennzeichnung, auf das als Markierung für eine Anforderung zur Verarbeitung einer Variablen Bezug genommen wird, wird überprüft. Wenn kein entsprechendes Symbol vorhanden ist, wird die übliche Audioverarbeitung ausgeführt.
    • (2) Ein Name einer Sprachdatei mit Aufzeichnung eines ganzen Satzes und ein der Sprachdatei mit Aufzeichnung eines ganzen Satzes entsprechender alternativer Text werden der Audiokennzeichnung entnommen.
    • (3) Wenn keine Sprachdatei mit Aufzeichnung eines ganzen Satzes vorhanden ist, wird '#' genommen und die übliche Tonverarbeitung ausgeführt. Bei Bedarf wird eine Sprachsynthese ausgeführt.
    • (4) Wenn kein alternativer Text vorhanden ist, führt dies zu einem Fehler, und der Prozess endet.
    • (5) Wenn die entsprechende Verarbeitung bereits ausgeführt wurde, wird eine zwischengespeicherte Sprachdatei verwendet. Falls nur das Variablensegment geändert wurde, wird lediglich eine Variablenaufzeichnungsdatei aus dem Anwendungsserver erhalten.
    • (6) Aus dem alternativen Text und der festgelegten Zeichenfolge für das Variablensegment wird eine Grammatik gebildet.
    • (7) Die Grammatik und die Sprachdatei mit Aufzeichnung eines ganzen Satzes werden zur Teilung der Sprachdatei mit Aufzeichnung eines ganzen Satzes von der Spracherkennungsmaschine erkannt.
    • (8) Wenn keine Variablenaufzeichnungs-Sprachdatei vorhanden ist, wird eine Sprachsynthese für das Variablensegment ausgeführt.
    • (9) Die erhaltenen Sprachdateien (und eventuell ein Sprachsyntheseergebnis) werden zur Wiedergabe verkettet.
  • Die folgenden Tabellen 1 bis 7 zeigen einen Pseudocodeausdruck der in 7 gezeigten Verarbeitung der vorliegenden Erfindung. Die Abschnitte (1) bis (9) entsprechen dem Inhalt von 7. Die folgende Tabelle 1 zeigt die Folge der Prozessschritte.
  • Figure 00160001
  • Tabelle 2 betrifft die Verarbeitung zur Teilung des alternativen Textes in (4) in der in Tabelle 1 gezeigten Verarbeitung.
  • Figure 00170001
  • Tabelle 3 zeigt weitere Einzelheiten der Verarbeitung (5) in der in Tabelle 1 gezeigten Verarbeitung.
  • Figure 00180001
  • Tabelle 4 zeigt weitere Einzelheiten eines Teils der Verarbeitung (6) in der in Tabelle 1 gezeigten Verarbeitung.
  • Figure 00190001
  • Tabelle 5 zeigt weitere Einzelheiten eines anderen Teils der Verarbeitung (6) in der in Tabelle 1 gezeigten Verarbeitung.
  • Figure 00190002
  • Tabelle 6 zeigt weitere Einzelheiten der Verarbeitung (7) in der in Tabelle 1 gezeigten Verarbeitung.
  • Figure 00200001
  • Tabelle 7 zeigt weitere Einzelheiten der Verarbeitung (8) der in Tabelle 1 gezeigten Verarbeitung.
  • Figure 00210001
  • Nun wird ein konkretes Beispiel für die Ausführung der vorliegenden Erfindung im Falle von VoiceXML beschrieben.
  • Diese Erweiterung kann realisiert werden, ohne die vorhandenen Funktionen zu beeinflussen und ohne die VoiceXML-Spezifikation zu verletzen.
  • Im Anwendungsserver vorbereitete Sprachdateien
  • Eine Sprachdatei mit Aufzeichnung eines ganzen Satzes wird aufgezeichnet, indem der ganze eine Variable enthaltende Satz als eine Datei vorbereitet wird. Ein bestimmtes Wort wird durch das aufzuzeichnende Variablensegment ersetzt. Dieses bestimmte Wort wird mit dem Sprachserver vereinbart. Ein solches Wort ist beispielsweise "Variable". Ein Name einer Variablenaufzeichnungs-Sprachdatei ist "(Inhalt der Variablen).wav". Falls Variablenzeichenfolgen Zeichen enthalten, die in einer Sprachdateispeicherumgebung als Dateiname nicht zulässig sind, wird eine Abbildungslistendatei (mapping list file) vorbereitet, in der Variablen gegenüber Sprachdateinamen in CSV-Form abgebildet werden. Ein Name einer Abbildungslistendatei ist ein feststehender Name gemäß einer Vereinbarung mit dem Sprachserver. Ein solcher Name einer Abbildungslistendateiname ist beispielsweise "value-wav.map".
  • Eine Variablenaufzeichnungs-Sprachdatei und in einigen Fällen eine Abbildungslistendatei werden in einem aktuellen Pfad platziert. Eine oder eine Vielzahl von Variablenaufzeichnungs-Sprachdateien können in Kategorien unterteilt werden. Eine Kategorie weist einen Ordner auf, der speziell für die Kategorie unter einem aktuellen Pfad mit demselben Namen wie der Kategoriename bereitgestellt wird. Eine zur Kategorie gehörende Variablenaufzeichnungs-Sprachdatei und in einigen Fallen eine die Beschreibung der Datei enthaltende Abbildungslistendatei werden in den speziell für die Kategorie bereitgestellten Ordner gestellt.
  • Beschreibung von Sprachdaten im Anwendungsserver
  • In Übereinstimmung mit einer Sprachdatei mit Aufzeichnung eines ganzen Satzes wird Sprachdaten eine Markierung zugeordnet, die anzeigt, ob die Sprachdatei mit Aufzeichnung eines ganzen Satzes eine Variable aufweist. Außerdem werden in Übereinstimmung mit einer Sprachdatei mit Aufzeichnung eines ganzen Satzes, die mindestens eine Variable aufweist, Daten zu einem aus einem ganzen Satz bestehenden Text (alternativer Text), der mindestens ein Variablensegment und einen Namen für die einzufügende Variable aufweist, in Sprachdaten gespeichert. Bei Bedarf wird außerdem ein Name für eine Kategorie gespeichert, zu der eine Sprachdatei für eine Variable gehört. In manchen Fällen wird eine Abbildungslistendatei in einem aktuellen Pfad oder einem speziell für eine Kategorie bereitgestellten Ordner platziert.
  • Ein konkretes Beispiel der Einrichtung der oben beschriebenen, auf VoiceXML angewandten Regeln wird beschrieben. Im Folgenden wird eine Anwendung der vorliegenden Erfindung auf die Kennzeichnung <audio> von VoiceXML beschrieben.
  • Üblicherweise wird eine Sprachanwendung unter Verwendung einer Sprachdatei ausgeführt, in der eine menschliche Stimme gespeichert ist. Da die Anwendung ohne die Sprachdatei entwickelt werden muss, ist während der Entwicklung der Anwendung jedoch Sprachsynthese verwendet. Zur Anpassung an eine solche Umgebung wird die in VoiceXML definierte Kennzeichnung <audio> zur Wiedergabe einer Sprachdatei so angegeben, dass ein Sprachdateiname und eine Zeichenfolge beschrieben werden; bei Vorhandensein wird eine Sprachdatei wiedergegeben; und eine Zeichenfolge wird durch Sprachsynthese erzeugt, falls die Sprachdatei sich in einem nicht wiedergebbaren Zustand befindet.
  • Beispiel einer Beschreibung: "<audio src="wav/sample.wav"> bestellter Artikel</audio>"
  • Die vorliegende Erfindung wird gemäß den wesentlichen Angaben der Kennzeichnung <audio> hinsichtlich Funktion und Format angewandt.
  • Das Feld "src"-Attribut" (src attribute field) der Kennzeichnung <audio> wird verwendet, um anzuzeigen, ob die Sprachdatei mit Aufzeichnung eines ganzen Satzes ein Variablensegment aufweist. "#" wird an den Anfang des Namens der Sprachdatei mit Aufzeichnung eines ganzen Satzes gestellt, um die Notwendigkeit zur Verarbeitung einer Variablen anzuzeigen. Der Teil des alternativen Textes der Kennzeichnung <audio> wird verwendet, um Daten zu einer Sprachdatei mit Aufzeichnung eines ganzen Satzes mit einem Variablensegment hinzuzufügen. Der Text des die Variable enthaltenden ganzen Satzes wird im Teil des alternativen Textes beschrieben. Die einzufügende Variable wird durch eine Kennzeichnung <value> gekennzeichnet, und die Kennzeichnung <value> wird an der Einfügungsposition eingefügt. Im Falle der Zugehörigkeit zu einer Kategorie wird die Kennzeichnung <value> von einer Kennzeichnung <sayas> umgeben, die den Kategorienamen durch ein Kategorieattribut kennzeichnet. Eine Abbildungslistendatei wird in einem speziell für die Kategorie bereitgestellten oder einem aktuellen Pfad platziert.
  • Beispiel: Sprachdateien, die im Falle der Wiedergabe einer Nachricht "bestellter Artikel ist (?)" durch eine Sprachdatei vorbereitet werden
    "wav\sample.wav" Sprachdatei mit "bestellter Artikel ist eine Variable" wird als Sprachdatei mit Aufzeichnung eines ganzen Satzes aufgezeichnet
    "aktueller Pfad\Produkt\Reis.wav" Sprachdatei, in der "Reis"
    als eine Variablenaufzeichnungs-Sprachdatei aufgezeichnet wird Beschreibung des VXML-Dokuments (entsprechend den Sprachdaten)
    <audio src="#wav/sample.wav">
    Bestellter Artikel ist
    <sayas class="product">
    <value expr="ProductName"/>
    </sayas>
    </audio>
    wobei # die Notwendigkeit zur Verarbeitung einer Variablen ausdrückt und "wav/sample.wav" ein Name einer Sprachdatei mit Aufzeichnung eines ganzen Satzes ist. Außerdem ist der Teil
    "bestellter Artikel ist
    <sayas class="product">
    <value expr="ProductName"/>
    </sayas>" ein alternativer Text.
  • Diese Beschreibungen werden als Teile eines im Anwendungsserver ausgeführten Anwendungsprogramms gemacht.
  • Funktionen auf Seiten des Sprachserver
  • Auf der Grundlage des Vorhandenseins/Nichtvorhandenseins der für Sprachdateien angegebenen Markierung wird festgestellt, ob eine Sprachdatei mit Aufzeichnung eines ganzen Satzes eine Variable aufweist, und eine Verzweigung zu einer geeigneten einfachen Wiedergabeverarbeitung oder einer Wiedergabeverarbeitung mit erforderlicher Einfügung der Variablen wird ausgewählt. Eine einfache Sprachdateiwiedergabe ist gleich der herkömmlichen Verarbeitung. Eine Variableneinfügungsverarbeitung, bei er es sich um eine Laufzeitverarbeitung handelt, wird im Folgenden beschrieben.
  • Ein alternativer Text, der einer Sprachdatei mit Aufzeichnung eines ganzen Satzes entspricht, wird in ein Variablensegment und vom Variablensegment verschiedene Segmente geteilt und eine Grammatik mit Teilen als Regeln dynamisch erzeugt. Als ein Wort/ein Satzteil zum Erkennen des Variablensegments wird eine Regel zum Erkennen eines das Variablensegment ersetzenden Wortes/eines Satzteils der Grammatik hinzugefügt. Ein solches Wort ist beispielsweise "variable".
  • Die Erzeugung einer Grammatik wird im Folgenden ausführlicher beschrieben. Eine Zielbeschreibung lautet folgendermaßen:
    <audio src="#confirm.wav">
    Bei Ihrer Bestellung handelt es sich um <value
    expr="Product"/>, nicht wahr?
    </audio>
  • Der Prozess der Grammatikerzeugung wird im Folgenden beschrieben.
    • 1. Ein Text für ein Variablensegment wird durch das Variablensegment ersetzt. (Vor der Umformung) Bei Ihrer Bestellung handelt es sich um <value expr="Product"/>, nicht wahr? (Nach der Umformung) Bei Ihrer Bestellung handelt es sich um eine Variable, nicht wahr?
    • 2. Eine Textdatei (BNF-Datei) wird erzeugt. Zu diesem Zeitpunkt ist die Ausführung einer Wortteilung notwendig, um eine Erkennung durch die Spracherkennungsmaschine zu ermöglichen. Das Ergebnis in diesem Beispiel lautet folgendermaßen: <_rule1>=Bei Ihrer Bestellung handelt es sich um eine Variable nicht wahr
    • 3. Um einen annehmbaren Satz zu liefern, der an die Spracherkennungsmaschine geäußert werden muss, wird der Satz in einer für die Spracherkennungsmaschine verständlichen Form bereitgestellt. Insbesondere wird eine BNF-Datei hinsichtlich der Grammatik kompiliert, um ein Grammatikvokabular zu erzeugen (FSG-Datei). Die Grammatikkompilation ist eine Verarbeitung zum Ändern einer Grammatik in eine für die Spracherkennungsmaschine verständliche Form. Beispielsweise wird die Kompilation in das für die Spracherkennungsmaschine verständliche FSG-Format unter Verwendung einer Grammatik-Compiler-Programmierschnittstelle (grammar compiler API) ausgeführt. Das Dateiformat FSG (finite state grammar) ist eine kompilierte Grammatikdatei in einem für die Spracherkennungsmaschine verständlichen Format. Das Dateiformat FSG wird auch von W3C Speech Interface Framework unterstützt. Die gemäß der obigen Beschreibung erzeugte Grammatik wird der Spracherkennungsmaschine zur Registrierung bereitgestellt.
  • Die erzeugte Grammatik wird durch die Spracherkennungsmaschine aktiviert. Die Spracherkennungsmaschine wird in einen Modus zum Erstellen einer Datei aus einer erkannten Sprache versetzt. Die die Variable enthaltende Sprachdatei mit Aufzeichnung eines ganzen Satzes wird in die Spracherkennungsmaschine eingegeben. Auf der Grundlage der Grammatik erkennt die Spracherkennungsmaschine die eingegebene Sprache im Zustand der Teilung in das Variablensegment und die von diesem verschiedenen Segmente. Die Spracherkennungsmaschine teilt sodann die erkannte Sprache in erkannte Einheiten, um eine Sprachdatei zu bilden.
  • Es wird eine vom Anwendungsprogramm gekennzeichnete Variablenaufzeichungs-Sprachdatei mit einem Dateinamen "(Inhalt der Variablen).wav" gesucht. Der Ort der Suche ist ein speziell für eine Kategorie bereitgestellter Pfad, falls die Sprachdatei zu der Kategorie gehört, oder ein aktueller Pfad, falls die Sprachdatei nicht zu der Kategorie gehört. Wenn die Datei "(Inhalt der Variablen).wav" nicht vorhanden ist, wird eine Abbildungsliste von Variablen gegenüber Sprachdateinamen gelesen, um einen Dateinamen zu erhalten, und eine Suche nach der Datei ausgeführt. Falls aufgrund des Nichtvorhandenseins einer Abbildungsliste keine Sprachdatei zur Umformung gefunden wird, wird eine Kennzeichnung bezüglich der Zielvariablen oder einer der Zielvariablen zugeordneten Sprachdatei in der Abbildungsliste oder aus anderen Gründen eine Sprachsynthese auf der Grundlage des Variablentextes ausgeführt.
  • Die durch Teilung erzeugte Sprachdatei, die durch eine Suche oder eine Variablentext-Sprachsynthese des Variablentextes erhaltene Variablenaufzeichnungs-Sprachdatei wird gemäß der Textfolge der Reihe nach wiedergegeben. Zur Verbesserung der Leistungsfähigkeit werden die geteilten Sprachdateien gespeichert, bis die Anwendung endet. Ein geeignetes Löschen von Dateien sollte jedoch ausgeführt werden. Es ist angebracht, Regeln zu befolgen, die im Sprachserver im Hinblick auf die Cachespeicher-Dateiverwaltung im Voraus bereitgestellt werden. Der Zustand des Vorhandenseins von geteilten Sprachdateifragmenten wird gespeichert, um eine Verwendung von einigen der vorhandenen geteilten Sprachdateien zu ermöglichen.
  • Über die Festlegung der Variablen
  • Ein einer Variablen entsprechender Text ist ein Wert einer Variablen in der Anwendung. Der Wert wird zum Zeitpunkt der Ausführung festgelegt. Die Auswahl hinsichtlich des Zeitpunktes und des Ortes der Festlegung des Variablenwertes hängt von der Anwendungslogik ab. Beispielsweise kann der gewünschte Wert zu jedem beliebigen Zeitpunkt als Produkt="Variablenwert" gesetzt werden. Außerdem kann ein beispielsweise zum Zeitpunkt der Bestellannahme erkanntes Wort/ein Satzteil geschrieben werden, um als Wert gesetzt zu werden.
  • Im Folgenden wird eine Folge von Prozessschritten, die die Festlegung einer Variablen beinhalten, genauer beschrieben.
  • Im Folgenden werden zwei Typen von Auswahlverfahren in Bezug auf "wann und wo wird der Variablenwert festgelegt" in Abhängigkeit von der Ausführung der Anwendung beschrieben. (1) Einem als Variablenname zu verwendenden Erkennungsziel wird ein Name gegeben, und ein zum Zeitpunkt der Äußerung durch einen Benutzer erkanntes Wort/ein Satzteil wird als ein Variablenwert gesetzt. (2) Eine Variable wird im Voraus deklariert, und ein Variablenwert wird zu einem je nach Wunsch ausgewählten Zeitpunkt gesetzt.
  • Die folgende Tabelle 8 zeigt ein Verarbeitungsbeispiel.
  • Figure 00300001
  • Figure 00310001
  • Dieses Beispiel ist eine VoiceXML-Anwendung, die einen im Folgenden gezeigten Dialog bereitstellt und von den herkömmlichen Funktionen geschrieben wird.
    System: Ihren Namen, bitte.
    Benutzer: Kato: Wert der Variablen Benutzername (UserName) ="Kato", wenn diese Äußerung erkannt wird.
    System: Sie sind Kato, nqicht wahr?: Anschließend lautet der Rückgabewert der Adressvariablen der Funktion
    "value=getUserAddress" beispielsweise durch die Kennzeichnung
    <assign> "Shibuya-ku, Tokyo".
    System: Bestellung, bitte.
    Benutzer: Reis: Wert der Produktvariablen ="Reis", wenn diese Äußerung erkannt wird.
    System: Bei ihrer Bestellung handelt es sich um Reis, nicht wahr?
  • Ein Beispiel des Typs (1) verwendet eine Variable "Benutzername", eine Produktvariable und eine Antwortvariable. Ein Beispiel vom Typ (2) verwendet eine Adressvariable. Wenn auf den Variablenwert Bezug genommen wird, wird die Kennzeichnung <value> verwendet. Im Falle der Verwendung als Parameter für eine SCRIPT-Funktion wird der Variablenname direkt verwendet.
  • Die Variable "Benutzername" im Typ (1) wird ausführlicher beschrieben. Der VXML-Verarbeitungsabschnitt liest zuerst die VXML-Anwendung im Anwendungsserver. In der fünften Zeile des Dialogs weist der VXML-Verarbeitungsabschnitt die Spracherkennungsmaschine an, "ein Wort/einen Satzteil Kato oder Sato durch die Grammatik zu erkennen". Wenn die vom Benutzer als "Kato" geäußerte Sprache in der Spracherkennungsmaschine eintrifft, erkennt diese das Wort/den Satzteil "Kato" durch Textvergleich (collation) mit der Grammatik. Die Spracherkennungsmaschine benachrichtigt den VXML-Verarbeitungsabschnitt, dass "erkanntes Wort/der erkannte Satzteil: Kato" ist. Der VXML-Verarbeitungsabschnitt setzt den Variablenwert "Kato" in die Variable Benutzername. Sowohl der VXML-Verarbeitungsabschnitt als auch die Spracherkennungsmaschine werden beispielsweise im Sprachserver realisiert. Der VXML-Verarbeitungsabschnitt kann beispielsweise als Teil des Sprachverarbeitungsabschnitts realisiert werden.
  • Die Adressvariable im Typ (2) wird ausführlicher beschrieben. Der VXML-Verarbeitungsabschnitt empfängt eine Benachrichtigung, dass die Erkennung des Feldes "Benutzername" beendet ist, und startet die Verarbeitung in der zwölften Zeile. Der VXML-Verarbeitungsabschnitt ruft eine als "getUserAddress" bezeichnete Funktion auf, um durch Bezugnahme auf eine Client-Datenbank mit Verknüpfung von Name und Adresse eine Adresse zurückzugeben, und ordnet die Rückgabevariable der Adressvariable als Variablenwert zu.
  • Festlegung des Variablennamens
  • In einem Beispiel in dieser Ausführungsform wird "variable value"+".wav" als Name der Variablenaufzeichungsdatei bereitgestellt. Beispielsweise ist der Name der Variablensegment-Aufzeichungsdatei = "Reis.wav", wenn der Wert der Produktvariablen "Reis" ist, falls es sich bei der Variablen um die Variable "Produkt" handelt. Eine diesbezügliche ausführlichere Beschreibung erfolgt mit Bezugnahme auf ein in der folgenden Tabelle 9 gezeigtes Beispiel.
  • Figure 00330001
  • Figure 00340001
  • Dies ist eine Beschreibung für einen Fall, in dem in einer Anwendung um eine Bestellung gebeten wird und eine Notwendigkeit für den Satz "Bei Ihrer Bestellung handelt es sich um OO, nicht wahr" besteht. In diesem Beispiel kann der folgende Dialog zwischengespeichert werden.
    System: Bestellung, bitte.
    Benutzer: Reis.
    System: Bei Ihrer Bestellung handelt es sich um Reis, nicht wahr.
  • Bei einer solchen Anwendung wird eine Variablenaufzeichnungsdatei in Bezug auf Werte, die als die Variable "Produkt" gültig sind, zum Zeitpunkt der Entwicklung der Anwendung im Voraus vorbereitet und im Anwendungsserver gespeichert. Ein Dateiname für die Variablenaufzeichnungsdatei ist "variable value"+".wav". Wenn gültige Werte der Variablen "Reis" und "Miso" sind, werden "Reis.wav" und "Miso.wav" vorbereitet und im Anwendungsserver gespeichert. Der Sprachserver stellt einen Variablensegment-Aufzeichnungsdateinamen ("Reis.wav") in das Segment <value expr="Produkt"/> aus dem Wert der Variablen "Produkt" (z. B. "Reis") zum Zeitpunkt der Ausführung bereit. Falls die Datei im Anwendungsserver vorhanden ist, gibt der Sprachserver diese wieder. Falls die Datei nicht im Anwendungsserver vorhanden ist, führt der Sprachserver eine Sprachsynthese des Variablenwertes ("Reis") aus. Eine solche Dateinamenerstellung wird beispielsweise gemäß (8) "ob eine Variablenaufzeichnungs-Sprachdatei vorhanden ist" in dem in 7 gezeigten Flussdiagramm ausgeführt.

Claims (16)

  1. Sprachantwortsystem, das einen Anwendungsserver und einen Sprachserver umfasst, wobei der Anwendungsserver eine erste Sprachdatei, eine zweite Sprachdatei und Sprachdaten aufweist, wobei die Letzteren einen alternativen Text enthalten, wobei der Sprachserver Folgendes aufweist: ein Sprachdateiverarbeitungsmittel zum Empfangen der Sprachdaten und der ersten Sprachdatei vom Anwendungsserver und zum Erzeugen einer Grammatik auf der Grundlage der Sprachdaten; ein Spracherkennungsmittel zum Ausführen einer Spracherkennung der ersten Sprachdatei auf der Grundlage der Grammatik und zum Teilen der ersten Sprachdatei in eine Vielzahl von Sprachdateien; und ein Sprachverarbeitungsmittel zum Ersetzen der zweiten Sprachdatei durch mindestens eine der geteilten Sprachdateien.
  2. Sprachantwortsystem nach Anspruch 1, wobei die erste Sprachdatei ein ganzer Satz ist, der ein Variablensegment enthält, das einen Eintrag einer Variablen anzeigt und als eine Datei aufgezeichnet wird.
  3. Sprachantwortsystem nach Anspruch 2, wobei die zweite Sprachdatei in das Variablensegment einzugebende Sprache ist, wobei die Sprache als eine Datei aufgezeichnet wird.
  4. Sprachantwortsystem nach Anspruch 1, wobei die Sprachdaten einen Dateinamen für die erste Sprachdatei enthalten und das Sprachdateiverarbeitungsmittel die erste Sprachdatei auf der Grundlage des Dateinamens entnimmt.
  5. Sprachantwortsystem nach Anspruch 1, wobei die Sprachdaten einen alternativen Text enthalten und wobei das Sprachdateiverarbeitungsmittel die Grammatik auf der Grundlage des alternativen Textes erzeugt.
  6. Sprachantwortsystem nach Anspruch 1, wobei die Sprachdaten Variablendaten enthalten, die anzeigen, ob eine Notwendigkeit zum Ausführen der Verarbeitung einer Variablen besteht.
  7. Sprachantwortsystem nach Anspruch 1, das außerdem ein Sprachausgabemittel zum Ausgeben von Sprache umfasst.
  8. Sprachantwortverfahren für ein Sprachantwortsystem, das einen Anwendungsserver und einen Sprachserver beinhaltet, wobei der Anwendungsserver eine erste Sprachdatei, eine zweite Sprachdatei und Sprachdaten aufweist, wobei die Letzteren einen alternativen Text enthalten, wobei das Sprachantwortverfahren die folgenden Schritte im Sprachserver umfasst: Empfangen der Sprachdaten und der ersten Sprachdatei vom Anwendungsserver und Erzeugen einer Grammatik auf der Grundlage der Sprachdaten; Ausführen einer Spracherkennung der ersten Sprachdatei auf der Grundlage der Grammatik und Teilen der ersten Sprachdatei in eine Vielzahl von Sprachdateien; und Ersetzen der zweiten Sprachdatei durch mindestens eine der geteilten Sprachdateien.
  9. Programm zum Ausführen einer Sprachantwort in einem Sprachantwortsystem, das einen Anwendungsserver und einen Sprachserver beinhaltet, wobei der Anwendungsserver eine erste Sprachdatei, eine zweite Sprachdatei und Sprachdaten aufweist, wobei die Letzteren einen alternativen Text enthalten, wobei das Programm geeignet ist, den Sprachserver zu betreiben, um die Sprachdaten und die erste Sprachdatei vom Anwendungsserver zu empfangen und eine Grammatik auf der Grundlage der Sprachdaten zu erzeugen; eine Spracherkennung der ersten Sprachdatei auf der Grundlage der Grammatik auszuführen und die erste Sprachdatei in eine Vielzahl von Sprachdateien zu teilen; und die zweite Sprachdatei durch mindestens eine der geteilten Sprachdateien zu ersetzen.
  10. Sprachserver zum automatischen Ausführen einer Sprachverarbeitung, der Folgendes umfasst: ein Mittel zum Empfangen einer ersten Sprachdatei, einer zweiten Sprachdatei und von Sprachdaten, wobei die Letzteren einen alternativen Text enthalten; ein Mittel zum Erzeugen einer Grammatik auf der Grundlage der Sprachdaten; ein Mittel zum Ausführen einer Spracherkennung der ersten Sprachdatei auf der Grundlage der Grammatik und zum Teilen der ersten Sprachdatei in eine Vielzahl von Sprachdateien; und ein Mittel zum Ersetzen der zweiten Sprachdatei durch mindestens eine der geteilten Sprachdateien.
  11. Sprachserver nach Anspruch 10, wobei die erste Sprachdatei ein ganzer Satz ist, der ein Variablensegment enthält, das einen Eintrag einer Variablen anzeigt und als eine Datei aufgezeichnet wird, und wobei die zweite Sprachdatei in das Variablensegment einzugebende Sprache ist, wobei die Sprache durch Sprachsynthese erzeugt wird.
  12. Sprachserver nach Anspruch 10, wobei das Mittel zum Erzeugen der Grammatik die Grammatik durch Teilen des alternativen Textes in ein Variablensegment und vom Variablensegment verschiedene Segmente und durch Ersetzen eines festgelegten Wortes durch das Variablensegment erzeugt.
  13. Sprachserver nach Anspruch 12, wobei das Mittel zum Erzeugen der Grammatik die Grammatik durch weiteres Teilen der durch Ersetzen des Wortes erzeugten Textdatei und durch Ändern des Teilungsergebnisses in eine spracherkennbare Form erzeugt.
  14. Sprachdateiverarbeitungsverfahren zum automatischen Ausführen einer Sprachdateiverarbeitung mittels eines Sprachserver, wobei das Verfahren die folgenden Schritte im Sprachserver umfasst: einen Schritt des Empfangens einer ersten Sprachdatei, einer zweiten Sprachdatei und von Sprachdaten, wobei die Letzteren einen alternativen Text enthalten; einen Schritt des Erzeugens einer Grammatik auf der Grundlage der Sprachdaten; einen Schritt des Ausführens einer Spracherkennung der ersten Sprachdatei auf der Grundlage der Grammatik und Teilen der ersten Sprachdatei in eine Vielzahl von Sprachdateien; und einen Schritt des Ersetzens der zweiten Sprachdatei durch mindestens eine der geteilten Sprachdateien.
  15. Programm zum automatischen Ausführen einer Sprachdateiverarbeitung mittels eines Sprachserver, wobei das Programm den Sprachserver betreibt, um eine erste Sprachdatei, eine zweite Sprachdatei und Sprachdaten zu empfangen, wobei die Letzteren einen alternativen Text enthalten; eine Grammatik auf der Grundlage der Sprachdaten zu erzeugen; eine Spracherkennung der ersten Sprachdatei auf der Grundlage der Grammatik zu erzeugen und die erste Sprachdatei in eine Vielzahl von Sprachdateien zu teilen; und die zweite Sprachdatei durch mindestens eine der geteilten Sprachdateien zu ersetzen.
  16. Computerlesbares Aufzeichnungsmittel, auf dem das Programm nach Anspruch 9 oder Anspruch 15 gespeichert wird.
DE602004010804T 2003-06-02 2004-05-28 Sprachantwortsystem, Sprachantwortverfahren, Sprach-Server, Sprachdateiverarbeitungsverfahren, Programm und Aufzeichnungsmedium Active DE602004010804T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003156714 2003-06-02
JP2003156714 2003-06-02
PCT/JP2004/007368 WO2004109658A1 (ja) 2003-06-02 2004-05-28 音声応答システム、音声応答方法、音声サーバ、音声ファイル処理方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
DE602004010804D1 DE602004010804D1 (de) 2008-01-31
DE602004010804T2 true DE602004010804T2 (de) 2008-12-04

Family

ID=33508327

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004010804T Active DE602004010804T2 (de) 2003-06-02 2004-05-28 Sprachantwortsystem, Sprachantwortverfahren, Sprach-Server, Sprachdateiverarbeitungsverfahren, Programm und Aufzeichnungsmedium

Country Status (8)

Country Link
EP (1) EP1632932B1 (de)
JP (1) JP4478647B2 (de)
KR (1) KR100834363B1 (de)
CN (1) CN1830022B (de)
AT (1) ATE381755T1 (de)
AU (1) AU2004246451A1 (de)
DE (1) DE602004010804T2 (de)
WO (1) WO2004109658A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181397B2 (en) * 2005-04-29 2007-02-20 Motorola, Inc. Speech dialog method and system
WO2010068882A2 (en) * 2008-12-11 2010-06-17 Nortel Networks Limited Automated text-based messaging interaction using natural language understanding technologies
JP5787794B2 (ja) * 2012-03-05 2015-09-30 株式会社東芝 音声合成システム、音声変換支援装置および音声変換支援方法
EP3561643B1 (de) * 2017-01-20 2023-07-19 Huawei Technologies Co., Ltd. Verfahren und endgerät zur implementierung einer sprachsteuerung
JP7013172B2 (ja) * 2017-08-29 2022-01-31 株式会社東芝 音声合成辞書配信装置、音声合成配信システムおよびプログラム
CN108090051A (zh) * 2017-12-20 2018-05-29 深圳市沃特沃德股份有限公司 连续长语音文件的翻译方法与翻译机
KR102293772B1 (ko) * 2018-08-02 2021-08-25 주식회사 케이티 음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법
KR102304993B1 (ko) * 2018-11-01 2021-09-27 주식회사 케이티 Tts 서비스 제공 방법 및 이를 위한 중계 서버

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2554116B2 (ja) * 1988-01-30 1996-11-13 日本電気ホームエレクトロニクス株式会社 テレビジョン受像機
US5652789A (en) * 1994-09-30 1997-07-29 Wildfire Communications, Inc. Network based knowledgeable assistant
WO1997033416A1 (en) * 1996-03-07 1997-09-12 American Express Travel Related Services Company, Inc. Methods and apparatus for providing a prepaid, remote memory transaction account with voice indicia
US5970449A (en) * 1997-04-03 1999-10-19 Microsoft Corporation Text normalization using a context-free grammar
JP3472101B2 (ja) * 1997-09-17 2003-12-02 株式会社東芝 音声入力解釈装置及び音声入力解釈方法
US6144938A (en) * 1998-05-01 2000-11-07 Sun Microsystems, Inc. Voice user interface with personality
US6499013B1 (en) * 1998-09-09 2002-12-24 One Voice Technologies, Inc. Interactive user interface using speech recognition and natural language processing
KR100287905B1 (ko) * 1998-12-31 2001-05-02 서평원 실시간 음성 재생 시스템 및 그를 이용한 음성 재생 방법
NZ513571A (en) * 1999-02-19 2004-01-30 Custom Speech Usa Inc Automated transcription system and method using two speech converting instances and computer-assisted correction
JP2001265376A (ja) * 2000-03-22 2001-09-28 Pioneer Electronic Corp 音声合成出力装置ならびに方法および同方法が記録される記録媒体
KR100364546B1 (ko) * 2000-12-29 2002-12-18 엘지전자 주식회사 음성 메일링 시스템의 음성자원 교체방법
JP2002221980A (ja) * 2001-01-25 2002-08-09 Oki Electric Ind Co Ltd テキスト音声変換装置
US7711570B2 (en) * 2001-10-21 2010-05-04 Microsoft Corporation Application abstraction with dialog purpose
JP4554561B2 (ja) * 2006-06-20 2010-09-29 株式会社シマノ 釣り用グローブ
JP2008002005A (ja) * 2006-06-21 2008-01-10 Shimada Shoji Kk 衣服用パッド
JP4880379B2 (ja) * 2006-06-23 2012-02-22 粕谷 普烈 型板の緊張度が調節自在な枠体

Also Published As

Publication number Publication date
KR100834363B1 (ko) 2008-06-02
CN1830022A (zh) 2006-09-06
WO2004109658A1 (ja) 2004-12-16
EP1632932A1 (de) 2006-03-08
EP1632932B1 (de) 2007-12-19
EP1632932A4 (de) 2007-05-09
JP4478647B2 (ja) 2010-06-09
CN1830022B (zh) 2010-05-05
KR20060014043A (ko) 2006-02-14
AU2004246451A1 (en) 2004-12-16
DE602004010804D1 (de) 2008-01-31
ATE381755T1 (de) 2008-01-15
JPWO2004109658A1 (ja) 2006-07-20

Similar Documents

Publication Publication Date Title
DE60012655T2 (de) Audiowiedergabe von einem geschriebenen Dokument aus mehreren Quellen
US8326629B2 (en) Dynamically changing voice attributes during speech synthesis based upon parameter differentiation for dialog contexts
DE60020773T2 (de) Graphische Benutzeroberfläche und Verfahren zur Änderung von Aussprachen in Sprachsynthese und -Erkennungssystemen
US7693717B2 (en) Session file modification with annotation using speech recognition or text to speech
US6757653B2 (en) Reassembling speech sentence fragments using associated phonetic property
US8521506B2 (en) Computer-implemented method, computer software and apparatus for use in a translation system
DE69829389T2 (de) Textnormalisierung unter verwendung einer kontextfreien grammatik
DE10040214B4 (de) Verfahren und System zur automatischen Erkennung einer Aktualisierung eines Sprachmodells in einem Spracherkennungssystem
DE60317130T2 (de) Vorrichtung und Verfahren zur Bereitstellung von Informationen mittels einer Sprachdialogschnittstelle
US20070244700A1 (en) Session File Modification with Selective Replacement of Session File Components
CN103530282A (zh) 语料标注方法及设备
DE60207217T2 (de) Verfahren zum ermöglichen der sprachinteraktion mit einer internet-seite
CN109389968A (zh) 基于双音节混搭的波形拼接方法、装置、设备及存储介质
DE102006034192A1 (de) Spracherkennungsverfahren, -system und -vorrichtung
DE602004010804T2 (de) Sprachantwortsystem, Sprachantwortverfahren, Sprach-Server, Sprachdateiverarbeitungsverfahren, Programm und Aufzeichnungsmedium
JP2007052043A (ja) 音声対話シナリオ作成方法、装置、音声対話シナリオ作成プログラム、記録媒体
Ghyselen et al. Clearing the transcription hurdle in dialect corpus building: The corpus of southern Dutch dialects as case study
Dresher Contrastive feature hierarchies in Old English diachronic phonology
US20100042916A1 (en) Method and system of identifying textual passages that affect document length
US20050144015A1 (en) Automatic identification of optimal audio segments for speech applications
EP2815395A1 (de) Verfahren und einrichtung zur phonetisierung von textenthaltenden datensätzen
JP2006236037A (ja) 音声対話コンテンツ作成方法、装置、プログラム、記録媒体
Deppermann et al. Data and transcription
Santos et al. CORAA NURCSP Minimal Corpus: a manually annotated corpus of Brazilian Portuguese spontaneous speech
DE60126948T2 (de) Interaktive dialoge

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition