IBM Cloud Docs
Beispiele für Grammatiken

Beispiele für Grammatiken

Die hier aufgeführten Beispiele beschreiben komplexere Anwendungsfälle für Grammatiken bei der Spracherkennung. Die meisten Beispiele stehen sowohl im ABNF-Format (application/srgs) als auch im XML-Format (application/srgs+xml) zur Verfügung. Mithilfe dieser Beispiele können Sie in die Verwendung von Grammatiken einsteigen.

Ein Backslash (\) in einer Produktionsregel für eine Grammatik ist in ABNF ein Syntaxfehler und wird in XML als Literalwert interpretiert.

Weitere Informationen zu den Sprachen und Modellen, die Grammatiken unterstützen, und zu ihrer Unterstützungsstufe (allgemein verfügbar oder Betaversion) finden Sie unter Sprachunterstützung für die Anpassung.

Bestätigungsgrammatiken

Bestätigungsgrammatiken sind bei Anwendungen zweckmäßig, die eine aus einem Wort bestehende Antwort auf eine Frage erwarten. Die folgenden Grammatiken definieren eine Liste der möglichen Antworten 'yes' und 'no'.

Listengrammatiken

Listengrammatiken sind für Anwendungen sinnvoll, bei denen der Benutzer eine Option aus einer vordefinierten Gruppe von Zeichenfolgen auswählen muss. Die Gruppe wird manchmal als 'unstrukturierte Liste' bezeichnet. Sie besteht in der Regel aus einer Liste von Terminalelementen und beinhaltet keine komplizierte Regelstruktur.

  • Die folgenden Grammatiken definieren eine Liste von Ausdrücken für Ziffern:

  • Die folgende Grammatik definiert eine Liste von gültigen Namen, unter denen der Benutzer eine Auswahl treffen kann (um beispielsweise eine Einzelperson in einem Telefonverzeichnis auszuwählen):

Grammatiken für Fahrzeug-Identifizierungsnummern

Fahrzeug-Identifizierungsnummern (Vehicle Identification Numbers, VINs, kurz auch 'Fahrzeug-Ident.-Nr.' genannt) verwenden wie Kreditkarten, Telefonnummern und Sozialversicherungsnummern ein festes alphanumerisches Format. Grammatiken haben gegenüber klassischen N-Grammen den Vorteil, dass sie für die Angabe solcher Formate sehr effektiv sind.

Das VIN-Format ist sehr standardisiert und enthält eine feste Anzahl von Zeichen. Klassische N-Gramme sind für derlei Aufgaben wenig geeignet. Anders als Grammatiken können sie nicht gewährleisten, dass die erforderliche Anzahl von Zeichen angegeben ist.

Die folgenden Grammatiken erkennen VIN-Codes des Herstellers 'Honda'. Sie sind zwar komplexer als die vorherigen Beispiele, veranschaulichen jedoch auf sehr schöne Weise die Leistungsstärke von Grammatiken.

Weitere Informationen über das VIN-Format finden Sie unter Fahrzeug-Identifizierungsnummer.

Grammatiken mit optionalen Elementen

Indem Sie bestimmte Elemente einer Antwort als optional definieren, können Sie Grammatiken flexibler antizipieren lassen, wie Benutzer möglicherweise antworten. Bei der folgenden Grammatik wird das Element $optionalphrase in eckige Klammern gesetzt und so als optional definiert. Der Benutzer kann vor Angabe der Sozialversicherungsnummer einige weitere Ausdrücke sprechen. Beispielsweise kann er 'Meine Sozialversicherungsnummer ist xxx xx xxxx' oder auch nur 'xxx xx xxxx' sagen.

Weitere Informationen über optionale Erweiterungen in Grammatiken finden Sie in Abschnitt 2.5 Wiederholungen der Speech Recognition Grammar Specification.

Grammatiken für Begriffsklärung

Andere mögliche Beispiele für Grammatiken sind für Situationen gedacht, in denen die Konfidenz der erkannten Antwort nicht besonders hoch ist, die Anwendung jedoch Sicherheit über die Antwort des Benutzers benötigt. In diesem Fall kann die Anwendung dynamisch eine Grammatik erstellen, die die wahrscheinlichsten Antworten enthält, und den Benutzer bitten, die Antwort zu wiederholen. Beispielsweise kann die Anwendung eine Grammatik mit den beiden wahrscheinlichsten Optionen erstellen und den Benutzer auffordern, eine der beiden Optionen auszuwählen: Did you mean 'option 1' or 'option 9'?

Grammatiken für die Begriffsklärung werden programmgesteuert generiert. Hierfür können keine Beispiele zur Verfügung gestellt werden.