Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Der Microsoft-Agent ist ab Windows 7 veraltet und kann in nachfolgenden Versionen von Windows nicht verfügbar sein.]
-
Beschreibung
-
Gibt den Text zurück, der an die Grammatik des Sprachmoduls übergeben wird (für die Erkennung).
-
Syntax
-
Agent**. Characters ("CharacterID"). Commands.Voice** [ = Zeichenfolge]
Teil Beschreibung Zeichenfolge Ein Zeichenfolgenausdruck, der den Wörtern oder Ausdrücken entspricht, die vom Sprachmodul zum Erkennen dieses Befehls verwendet werden sollen.
Bemerkungen
Wenn Sie diesen Parameter nicht angeben, wird das VoiceCaption- für Ihr Commands--Objekt nicht im Sprachbefehlsfenster angezeigt.
Der von Ihnen angegebene Zeichenfolgenausdruck kann eckige Klammerzeichen ([ ]) enthalten, um optionale Wörter und vertikale Balkenzeichen (|) anzugeben, um alternative Zeichenfolgen anzugeben. Alternative müssen in Klammern eingeschlossen werden. Beispiel: "(hallo [there] | hi)" weist das Sprachmodul an, "hello", "hello there" oder "hi" für den Befehl zu akzeptieren. Denken Sie daran, geeignete Leerzeichen zwischen dem Text in eckigen Klammern oder Klammern und dem Text einzuschließen, der sich nicht in Klammern oder Klammern befindet. Mit dem Stern (*) -Operator können Sie null oder mehr Instanzen der Wörter angeben, die in der Gruppe enthalten sind, oder den Plus-Operator (+), um eine oder mehrere Instanzen anzugeben. Die folgenden Ergebnisse ergeben z. B. eine Grammatik, die "try this" unterstützt, "bitte versuchen Sie dies", "bitte versuchen Sie dies", mit unbegrenzten Iterationen von "bitte":
"please* try this"
Das folgende Grammatikformat schließt "try this" aus, da der Operator +mindestens eine Instanz von "please" definiert:
"please+ try this"
Die Wiederholungsoperatoren folgen den normalen Regeln der Rangfolge und gelten für das unmittelbar vorangehende Textelement. Die folgende Grammatik ergibt z. B. "New York" und "New York York", aber nicht "New York New York":
"New York+"
Daher möchten Sie diese Operatoren in der Regel mit den Gruppierungszeichen verwenden. Die folgende Grammatik enthält z. B. sowohl "New York" als auch "New York New York":
"(New York)+"
Wiederholungsoperatoren sind nützlich, wenn Sie eine Grammatik erstellen möchten, die eine wiederholte Sequenz enthält, z. B. eine Telefonnummer oder spezifikation einer Liste von Elementen.
"call (one|two|three|four|five|six|seven|eight|nine|zero|oh)*"
"I'd like (cheese|pepperoni|pineapple|canadian bacon|mushrooms|and)+"
Obwohl die Operatoren auch mit dem optionalen Gruppierungszeichen in eckigen Klammern verwendet werden können, kann dies die Effizienz der Verarbeitung der Grammatik des Agents verringern.
Sie können auch ein Auslassungszeichen (...) verwenden, um Worterkennungzu unterstützen. Das heißt, das Spracherkennungsmodul angibt, wörter, die an dieser Position in dieser Position in der Phrase gesprochen werden (manchmal auch als Garbage Wörter bezeichnet). Daher erkennt das Sprachmodul nur bestimmte Wörter in der Zeichenfolge, unabhängig davon, ob es mit benachbarten Wörtern oder Ausdrücken gesprochen wird. Wenn Sie diese Eigenschaft beispielsweise auf "[...] check mail [...]", das Spracherkennungsmodul entspricht Ausdrücken wie "bitte E-Mail überprüfen" oder "E-Mail bitte überprüfen" an diesen Befehl. Ellipsen können an einer beliebigen Stelle in einer Zeichenfolge verwendet werden. Achten Sie jedoch darauf, diese Technik zu verwenden, da sie das Potenzial unerwünschter Übereinstimmungen erhöhen kann.
Wenn Sie die Wortgrammatik für Ihren Befehl definieren, schließen Sie mindestens ein Wort ein, das erforderlich ist. d. h. vermeiden Sie, nur optionale Wörter zu liefern. Stellen Sie außerdem sicher, dass das Wort nur wörter und Buchstaben enthält. Für Zahlen ist es besser, das Wort zu formulieren, anstatt eine mehrdeutige Darstellung zu verwenden. Beispielsweise ist "345" kein gutes Grammatikformular. Verwenden Sie in ähnlicher Weise anstelle von "IEEE" "I triple E". Lassen Sie außerdem alle Interpunktionszeichen oder Symbole weg. Verwenden Sie z. B. anstelle von "#1 $ 10 Pizza!" "die Nummer ein zehn Dollar Pizza". Das Einschließen nicht pronomischer Zeichen oder Symbole für einen Befehl kann dazu führen, dass das Sprachmodul die Grammatik für alle Befehle nicht kompilieren kann. Machen Sie schließlich Ihren Sprachparameter so unterschiedlich wie möglich von anderen Sprachbefehlen, die Sie definieren. Je größer die Ähnlichkeit zwischen der Sprachgrammatik für Befehle ist, desto wahrscheinlicher ist die Wahrscheinlichkeit, dass das Sprachmodul einen Erkennungsfehler verursacht. Sie können auch die Konfidenzbewertungen verwenden, um zwischen zwei Befehlen besser zu unterscheiden, die möglicherweise eine ähnliche oder ähnliche Sprachgrammatik aufweisen.
Sie können ihre Grammatikwörter in Form von "Text\Aussprache" einschließen, wobei Text der angezeigte Text ist und Aussprache Text ist, der die Aussprache klarstellt. Beispielsweise würde die Grammatik "1st\first" erkannt, wenn der Benutzer "first" sagt, aber das Command-Ereignis gibt den Text "1st\first" zurück. Sie können auch IPA (International Phonetic Alphabet) verwenden, um eine Aussprache anzugeben, indem Sie die Aussprache mit einem Nummernzeichen ("#") beginnen und dann den Text einfügen, der die IPA-Aussprache darstellt.
Bei japanischen Spracherkennungsmodulen können Sie Grammatik in form "kana\kanji" definieren, die alternative Aussprache reduzieren und die Genauigkeit erhöhen. (Die Sortierung wird aus Gründen der Abwärtskompatibilität umgekehrt.) Dies ist besonders wichtig für die Aussprache von Eigennamen in Kanji. Allerdings können Sie einfach in Kanji ohne die Kana passieren, in diesem Fall sollte die Engine auf alle akzeptablen Aussprachen für den Kanji lauschen. Sie können auch nur Kana passieren.
Beachten Sie außerdem, dass für Sprachen wie Japanisch, Chinesisch und Thai, die keine Leerzeichen zum Festlegen von Wortumbrüchen verwenden, ein Unicode-Leerzeichen (0x200B) einfügen, um logische Wortumbrüche anzugeben.
Mit Ausnahme von Fehlern, die die Gruppierungs- oder Wiederholungsformatierungszeichen verwenden, meldet der Agent keine Fehler in Ihrer Grammatik, es sei denn, das Modul selbst meldet den Fehler. Wenn Sie Text in Der Grammatik übergeben, dass das Modul nicht kompiliert werden kann, aber das Modul nicht behandelt und als Fehler zurückgegeben wird, kann der Agent den Fehler nicht melden. Daher muss die Clientanwendung die Grammatik für die eigenschaft Voice sorgfältig definieren.
Anmerkung
Die verfügbaren Grammatikfeatures hängen möglicherweise vom Spracherkennungsmodul ab. Möglicherweise sollten Sie sich mit dem Hersteller des Moduls erkundigen, welche Grammatikoptionen unterstützt werden. Verwenden Sie die SRModeID-, um ein bestimmtes Modul zu verwenden.
Der Vorgang dieser Eigenschaft hängt vom Status der Spracherkennungseigenschaft des Servers ab. Wenn beispielsweise die Spracherkennung deaktiviert oder nicht installiert ist, hat diese Eigenschaft keine Auswirkung.