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.
Was ist ein Transparenzhinweis?
Ein KI-System umfasst nicht nur die Technologie, sondern auch die Menschen, die es benutzen, die Menschen, die davon betroffen sind, und die Umgebung, in der es eingesetzt wird. Um ein System zu entwickeln, das für den beabsichtigten Zweck geeignet ist, müssen Sie verstehen, wie die Technologie funktioniert, welche Möglichkeiten und Grenzen sie hat und wie Sie die beste Leistung erzielen können. Die Transparenzhinweise von Microsoft sollen Ihnen helfen zu verstehen, wie unsere KI-Technologie funktioniert, welche Entscheidungen Systembesitzer treffen können, die die Leistung und das Verhalten des Systems beeinflussen, und wie wichtig es ist, über das gesamte System nachzudenken, einschließlich der Technologie, der Menschen und der Umwelt. Sie können Transparenzhinweise bei der Entwicklung oder Bereitstellung Ihres eigenen Systems verwenden oder sie an die Personen weitergeben, die Ihr System nutzen oder davon betroffen sind.
Die Transparenzhinweise von Microsoft sind Teil eines umfassenderen Aufwands bei Microsoft, unsere KI-Prinzipien in die Praxis umzusetzen. Weitere Informationen finden Sie in den Microsoft AI-Prinzipien.
Die Grundlagen der eingeschränkten Spracherkennung
Einleitung
Die Spracherkennung ist eine wichtige Funktion für die Interaktion mit sprachfähigen KI-Systemen. Diese Systeme (häufig als "Sprach-zu-Text-Engines" bezeichnet) konvertieren die gesprochenen Wörter eines Benutzers in Text und erzeugen häufig einen Konfidenzwert, der auf die Wahrscheinlichkeit der Korrektheit der Ausgabe hinweist. Die eingeschränkte Spracherkennung ist eine spezielle Form der Spracherkennung, bei der die Engine selbst die Menge der möglichen zu erkennenden Wörter oder Ausdrücke begrenzt. Diese Einschränkung erfolgt über eine Grammatik. Grammatiken sind definitionsgemäß die regelbasierte Liste der erwarteten Wörter oder Ausdrücke, die vom Modul erkannt werden sollen.
Eingeschränkte Spracherkennungsmodule sind besonders nützlich für:
Erkennen alphanumerischer Eingaben wie Kontonummern und Sendungsverfolgungsnummern.
Domänenspezifische große Listen (Aktien, Adressen, Namen).
Kleine Anwendungen, die für Interaktionen mit einer kleinen Gruppe von Wörtern und Ausdrücken entwickelt wurden, die erkannt werden sollen.
Geführter Dialog zur Navigation durch eine Menüstruktur von Einträgen, der entweder bei der ersten Interaktion eines Anrufers oder als Grundlage für das Dialogdesign des Systems verwendet wird.
Schlüsselbegriffe
| Begriff | Definition |
|---|---|
| Grammatik | Eine Grammatik ist eine Beschreibung der Wörter und Ausdrücke, die eine Spracherkennung versteht und interpretiert. Der Erkenner lädt die Grammatiken zur Laufzeit, um die gesprochenen Antworten und Befehle des Benutzers in Informationen umzuwandeln, die die Sprachanwendung verwenden kann. |
| GrXML | Das Format, in dem Grammatiken zusammengesetzt sind. |
| Grammatikspezifikation für die Spracherkennung (Speech Recognition Grammar Specification, SRGS) | Der W3C-Standard zum Definieren von Grammatiken. |
| Äußerung | Die gesprochenen Wörter oder Phrasen eines Benutzers an ein Sprach-KI-System, die das Spracherkennungssystem interpretiert. |
Fähigkeiten
Systemverhalten
Jedes Mal, wenn der Erkenner eine Benutzeräußerung interpretiert, erstellt er eine Liste der wahrscheinlichsten Übereinstimmungen, die an die Sprachanwendung zurückgegeben wird. Diese Liste wird als n-best l ist bezeichnet, da sie aus einer vordefinierten Zahl von Interpretationen besteht, die am besten mit dem übereinstimmen, was der Benutzer gesagt hat. Wenn der Benutzer spricht, sucht die Erkennung nach den besten Übereinstimmungen zwischen den in den Grammatiken definierten Elementen. Der Erkenner fügt jede übereinstimmende Interpretation den Kandidaten hinzu, die für die N-Best-Liste in Betracht gezogen werden. Während der Suche verwendet die Erkennung akustische Modelle, um die Audioeingabe, lexikalische Modelle zu analysieren, um die wahrscheinlichsten Sätze in den Grammatiken zu bestimmen, und semantische Modelle, um die wahrscheinlichsten Bedeutungen des Anrufers zu bestimmen. Der Erkenner sucht so lange, bis er die bestmöglichen Interpretationen findet oder bis die verbleibenden Elemente unmöglich noch zu dem passen können, was gehört wurde.
Der Erkenner weist jedem Element in der Kandidatenliste einen Konfidenzwert zu und ordnet sie nach absteigender Konfidenz. Der Erkenner bewertet diese Werte neu und stimmt sie fein ab, wenn neue Interpretationen erkannt werden. Wenn die Grammatiken Homonyme (Wörter, die identisch klingen, aber unterschiedliche Bedeutungen haben) zulassen und eines davon gesprochen wird, weist der Erkenner die Homonyme separaten Interpretationen mit identischen Konfidenzwerten zu. Die Erkennung optimiert die Kandidatenliste, indem einschränkungslisten und/oder semantische Interpretationsskripts (ECMAScript) verarbeitet werden, die in den Grammatiken angegeben sind. Die Erkennung entfernt alle Interpretationen, die nicht den für die Erkennung konfigurierten Zielvertrauensstufen entsprechen. Der Erkenner gibt die endgültigen besten n Ergebnisse an die Anwendung zurück. Diese N-Best-Liste enthält den zugeordneten Text (für die gesamte Äußerung und für einzelne Slots), Konfidenzwerte sowie alle Schlüssel und Werte, die für die Äußerungen gesetzt wurden.
Anwendungsfälle
Beabsichtigte Verwendungen
Eingeschränkte Spracherkennung kann in mehreren Szenarien verwendet werden. Die beabsichtigten Verwendungsmöglichkeiten des Systems umfassen:
Erkennen von gesprochenen Wörtern: Um die Sprache in Text zu übersetzen, der durch die endgültige Liste eingeschränkt wird, die dem System über eine "Grammatik" bereitgestellt wird. Beispielsweise werden alphanumerische Kennzeichen und Sozialversicherungsnummern eingegeben oder listenbasiertes Unternehmensverzeichnis, Aktienticker und Adressen eingegeben.
Überprüfen der Eingabe: Um zu überprüfen, ob das gesprochene Wort vom System akzeptiert werden soll. Beispielsweise wird überprüft, dass eine Kreditkartennummer korrekt ist (mathematisch).
Ausgabekandidaten entfernen: Entfernen Sie Wörter oder Ausdrücke aus der Erkennung bei wiederholten Erkennungsversuchen.
Überlegungen bei der Auswahl anderer Anwendungsfälle
Wir ermutigen Kunden, die eingeschränkte Spracherkennung in ihren innovativen Lösungen oder Anwendungen zu verwenden. Bei der Auswahl eines Anwendungsfalls sind jedoch einige Überlegungen nötig:
Offenlegung: Wie bei jeder Erstellung eines KI-Agenten weisen Sie Anrufer stets darauf hin, dass das System, mit dem sie interagieren, KI-gestützt ist.
Nicht unterstützte Verwendungen:
Batchtranskription: Die gesprochenen Äußerungen einer Person werden vollständig in eine vollständige Texttranskription übertragen.
Absichtsinterpretation: Zuordnen der gesprochenen Wörter der Person zu einer interpretierten Absicht im Gegensatz zu einer Transkription.
Rechtliche und regulatorische Überlegungen: Organisationen müssen potenzielle spezifische rechtliche und behördliche Verpflichtungen bewerten, wenn Sie KI-Dienste und -Lösungen verwenden, die möglicherweise nicht für die Verwendung in jeder Branche oder in jedem Szenario geeignet sind. Einschränkungen können je nach regionalen oder lokalen behördlichen Anforderungen variieren. Darüber hinaus sind KI-Dienste oder -Lösungen nicht für sie ausgelegt und werden möglicherweise nicht auf eine Weise verwendet, die in anwendbaren Nutzungsbedingungen und relevanten Verhaltensregeln verboten ist.
Einschränkungen
Wie bereits erwähnt, eignet sich die begrenzte Spracherkennung besonders gut für bestimmte Anwendungsfälle wie alphanumerische und listenbasierte Erkennungsaufgaben, bei denen die vom Benutzer bereitgestellten Informationen explizit, präzise und begrenzt sind. Im Gegensatz dazu eignen sich herkömmliche Sprach-zu-Text-Systeme, die semantische oder natürliche Sprachverständnismodelle verwenden, am besten für die Erkennung einer breiten Palette gesprochener Themen, der Interpretation bei oder um das Modell. Explizit ausgedrückt, führt jede Spracheingabe außerhalb der Definition der Grammatik zu keiner Erkennung. Daher wird Entwicklern, die sprachbasierte Anwendungen erstellen, empfohlen, zu prüfen, wann und wo es sinnvoll ist, eingeschränkte Spracheingabe gegenüber alternativen Methoden zu verwenden.
Technische Einschränkungen, Betriebsfaktoren und Bereiche
Damit die eingeschränkte Spracherkennung präzise funktioniert, muss eine gut gestaltete Grammatik in der Lage sein, viele verschiedene Benutzerantworten zu akzeptieren und sie schnell, präzise und effizient zu interpretieren. Dies bedeutet, dass ein Entwickler in der Lage sein muss, die Antworten jeder Anwendungsaufforderung vorherzusagen und sie so effizient wie möglich in einer Grammatik zu codieren. Dies bedeutet wiederum, dass Grammatiken parallel zur Sprachanwendung entworfen werden müssen.
Eine gute Grammatik bringt diese Ziele in Einklang:
Gründliche Abdeckung: Die Grammatik akzeptiert und interpretiert jede angemessene Antwort von Benutzern auf vorherige Anwendungsaufforderung.
Genauigkeit: Die Grammatik erkennt Antworten korrekt, sodass Benutzer nicht aufgefordert werden, ihre Eingabe zu wiederholen, und Grammatiken keine falschen Werte an die Hauptanwendung übergeben.
Geschwindigkeit: Die Grammatik erkennt schnell Antworten ohne Verzögerungen, die Benutzer frustrieren.
Ressourcennutzung: Die Grammatik arbeitet effizient.
Grammatikschreiben ist ein iterativer Prozess. Sie erstellen eine anfängliche Grammatik, basierend auf dem, was Sie von Anrufern erwarten, einige echte Daten sammeln, die Grammatik verfeinern, einige weitere Daten sammeln, die Grammatik erneut verfeinern usw. Wenn Sie die Grammatik verfeinern, indem Sie Ausdrücke hinzufügen und entfernen, nähert es sich genauer an, wie Anrufer mit der Anwendung sprechen. In der Praxis kann keine Grammatik alle Antworten enthalten, die in Ihrer Anwendung auftreten können, da Sie nicht steuern können, wie die Benutzer sprechen.
Der Prozess der Entwicklung einer Reihe von Grammatiken umfasst im Allgemeinen die folgenden Schritte:
Identifizieren Sie die Informationselemente, und definieren Sie die Slots: Welche Informationen müssen der Benutzer der Anwendung bereitstellen, und gibt es eine bestimmte Reihenfolge, in der sie bereitgestellt werden muss?
Entwerfen Sie das Dialogfeld: Bestimmen Sie den effizientesten Dialogfluss zwischen Dem Benutzer und der Anwendung.
Entwerfen Sie die Eingabeaufforderungen: Erstellen Sie Eingabeaufforderungen, die die erforderlichen Informationen entlocken.
Rechnen Sie mit den Antworten der Anrufer auf die Aufforderungen: Berücksichtigen Sie die gesprochenen Wörter, die die Grammatik erkennen muss.
Identifizieren Sie die Kern- und Füllbestandteile Ihrer Grammatiken: Identifizieren Sie die Schlüsselwörter, nach denen in den Antworten gesucht werden soll.
Planen Sie Ihre Grammatikstrategie: Bestimmen Sie die beste Methode, um die Anforderungen für jede Grammatik zu erfüllen, und wählen Sie einen geeigneten Ansatz oder eine Kombination von Ansätzen aus, um sie zu erfüllen.
Passen Sie die Grammatiken an, und verfeinern Sie sie: Lösen Sie alle Probleme, und optimieren Sie die Grammatikleistung,
Leistung des Systems
Die begrenzte Spracherkennungs-Engine erzielt im Vergleich zu alternativen Verfahren der Spracherkennung eine bessere Leistung und verwendet bei der Verarbeitung von Anfragen nur wenig Arbeitsspeicher. Faktoren innerhalb der Entwicklersteuerung haben mehr Auswirkungen auf die Leistung als das System selbst. Das wichtigste Ziel für die Grammatikentwicklung ist es, eine optimale Erkennungsgenauigkeit zu entwerfen. Das nächste Ziel ist es, so zu schreiben, dass Klarheit, Wartbarkeit und Erweiterbarkeit gewährleistet sind. Das dritte Ziel ist es, effiziente Erkennungskontexte zu schaffen.
Bewährte Verfahren zur Verbesserung der Systemleistung
Im Folgenden finden Sie Grammatikmerkmale, die sich auf die Ressourcennutzung auswirken:
Abdeckung: Die Grammatik umfasst (d. h. enthält) die Formulierungen, die der Anrufer voraussichtlich verwenden wird. Eine unzureichende Abdeckung führt zu einer Zunahme von Äußerungen mit Wörtern außerhalb des Vokabulars, Bestätigungen und erneuten Versuchen, was die CPU-Auslastung und die Anrufdauer erhöht und die Anruferzufriedenheit senkt.
Übergenerierung: Es ist wichtig, dass die Grammatik nicht übergeneriert wird, indem sie nonsensische Ausdrücke zulässt, da dadurch die Genauigkeit reduziert wird. Beispielsweise muss eine Grammatik, die eine Stadt und einen Staat erkennt, die Äußerungen auf gültige Kombinationen von Städten und Staaten beschränken.
Mehrere Parsen: Im Idealfall verfügt jeder mögliche Satz in der Grammatik über eine eindeutige Analyse. Gelegentlich kann eine Grammatik mehrere Parsen eines einzelnen Satzes zulassen. In der Regel deuten mehrere Parse-Ergebnisse auf einen Fehler bei der Gestaltung der Grammatik hin, der korrigiert werden muss.
Schlüssel, die an die Anwendung übergeben werden: Sie müssen sicherstellen, dass Schlüssel-Wert-Paare ordnungsgemäß festgelegt sind.
Wenn ein Aufrufer ein Wort oder einen Ausdruck sagt, das nicht von der Grammatik analysiert werden kann, wird das Wort oder der Ausdruck als nicht grammatikfrei bezeichnet. Als Faustregel gilt eine fünfProzentige Nicht-Grammatikrate als akzeptabel. Gelegentlich sind selbst Out-of-Grammar-Raten von 10–20 Prozent bei bestimmten Erkennungsaufgaben keine Seltenheit. Erwägen Sie bei dieser niedrigeren Rate die Verwendung alternativer Methoden der Spracherkennung.
Die Latenz wird als verstrichene Zeit definiert, nachdem der Aufrufer nicht mehr spricht (einschließlich des konfigurierten Timeouts für die Sprachausgabe), bis ein Erkennungsergebnis an die Anwendung zurückgegeben wird. Wenn die Latenz zu hoch ist, wird die Benutzererfahrung beeinträchtigt; das System erscheint träge, was für den Benutzer frustrierend sein kann und zu weiteren Komplikationen der Benutzeroberfläche führt.
Unter extremen Umständen verursacht die übermäßige Latenz erfolglose Anwendungstransaktionen, wenn der Benutzer nicht mehr spricht, ohne das Ziel seiner Unterhaltung zu erreichen. Schlechte Reaktionszeiten bei der Erkennung können viele Ursachen haben:
Verwendung sehr großer Grammatiken mit Hunderten von Tausenden von Elementen.
Extrem lange durchschnittliche Äußerungslängen.
Hohe Mengen an ECMAScript-Verarbeitung innerhalb der Grammatik.
Netzwerkverzögerungen beim Abrufen von Grammatiken.
Stellen Sie sicher, dass Grammatiken vor der Bereitstellung in einem live ausgeführten System ordnungsgemäß getestet werden, z. B. das Ausführen von Testszenarien mit verschiedenen zu sprechenden Ausdrücken.
Auswertung der eingeschränkten Spracherkennung
Auswertungsmethoden
Einige häufig verwendete Metriken für die Auswertung der eingeschränkten Spracherkennung umfassen:
Word-Fehlerrate (WER): Dies misst den Prozentsatz der Wörter, die falsch erkannt wurden. Sie wird als Summe der Ersetzungen, Löschungen und Einfügungen berechnet, dividiert durch die Gesamtanzahl der Wörter im Bezug.
Genauigkeit der N-besten Liste: Dies bewertet die Genauigkeit der Top-N-Hypothesen, die vom Erkenner erzeugt werden. Es ist nützlich, zu verstehen, wie oft die richtige Interpretation zu den wichtigsten Vorschlägen gehört.
Abdeckung: Diese Metrik bewertet, ob die Grammatik alle erforderlichen Ausdrücke und Variationen enthält, die benutzer möglicherweise sagen. Eine Grammatik mit guter Abdeckung stellt sicher, dass das System eine breite Palette von Eingaben verarbeiten kann.
Latenz: Dies misst die Zeit, die das System benötigt, um die gesprochene Eingabe zu verarbeiten und ein Erkennungsergebnis zu erzeugen. Geringere Latenz ist für Echtzeitanwendungen von entscheidender Bedeutung.
Falschakzeptanz-/Falschrückweisungsrate: Diese misst falsch positive und falsch negative Ergebnisse, die im System auftreten. Dies wirkt sich direkt auf Anrufereindämmung und Anwendungserfolgsraten für Contact Center-Szenarien aus.
Überlegungen zur Fairness
Bei Microsoft bemühen wir uns, jede Person auf dem Planeten zu befähigen, mehr zu tun. Ein wesentlicher Bestandteil dieses Ziels ist die Schaffung von Technologien und Produkten, die fair und inklusiv sind. Fairness ist ein mehrdimensionales, soziotechnisches Thema und wirkt sich auf viele verschiedene Aspekte unserer Produktentwicklung aus. Erfahren Sie mehr über den Ansatz von Microsoft zur Fairness.
Eine wichtige Dimension bei der Verwendung von KI-Systemen, einschließlich eingeschränkter Spracherkennung, ist, wie gut das System für verschiedene Personengruppen ausgeführt wird. Forschung hat gezeigt, dass ki-Systeme ohne bewusste Anstrengungen, die auf die Verbesserung der Leistung für alle Gruppen ausgerichtet sind, unterschiedliche Leistungsstufen über verschiedene demografische Faktoren wie Rasse, Ethnische Zugehörigkeit, Geschlecht und Alter hinweg aufweisen können.
In einigen Fällen können weiterhin Leistungsunterschiede bestehen. Es ist wichtig zu beachten, dass diese Unterschiede das Ziel überschreiten könnten, und wir arbeiten aktiv daran, potenzielle Verzerrungen oder Leistungslücken zu beheben und zu minimieren, die demografische Gruppenauswahl des Akteurs sorgfältig zu berücksichtigen und verschiedene Perspektiven aus einer Vielzahl von Hintergründen zu suchen.
Hinsichtlich von Repräsentationsschäden wie Stereotypisierung, Herabwürdigung oder Auslassung erkennen wir die mit diesen Problemen verbundenen Risiken an. Während unser Bewertungsprozess darauf abzielt, solche Risiken zu mindern, ermutigen wir die Benutzer, ihre spezifischen Anwendungsfälle sorgfältig zu berücksichtigen und zusätzliche Risikominderungen entsprechend umzusetzen. Die Einbindung eines Menschen in den Entscheidungsprozess kann eine zusätzliche Kontrollinstanz schaffen, um potenziellen Verzerrungen oder unbeabsichtigten Folgen zu begegnen.
Wir sind bestrebt, unsere Fairnessbewertungen kontinuierlich zu verbessern, um ein tieferes Verständnis der Leistung des Systems in verschiedenen demografischen Gruppen und potenziellen Fairnessbedenken zu gewinnen. Der Bewertungsprozess wird fortgesetzt, und wir arbeiten aktiv daran, Fairness und Inklusivität zu verbessern und identifizierte Unterschiede zu mindern. Wir sind uns der Bedeutung bewusst, Fairnessaspekte zu berücksichtigen, und bemühen uns, sicherzustellen, dass die Spracherkennung unter Einschränkungen zuverlässige und faire Ergebnisse liefert.
Hinweis
Diese Informationen stellen dar, was wir bisher über Fairnessbewertungen wissen, und wir sind uns weiterhin verpflichtet, unsere Bewertungsmethoden zu verfeinern und alle möglicherweise auftretenden Fairnessbedenken zu behandeln.
Erfahren Sie mehr über verantwortungsvolle KI
KI-Prinzipien von Microsoft
Ressourcen für verantwortungsbewusste KI von Microsoft
Microsoft Azure Learning-Kurse zu verantwortungsvoller KI