RecognizedPhrase.Confidence Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen durch die Erkennung zugewiesenen Wert ab, der die Wahrscheinlichkeit angibt, dass ein RecognizedPhrase-Objekt mit einer angegebenen Eingabe übereinstimmt.
public:
property float Confidence { float get(); };
public float Confidence { get; }
member this.Confidence : single
Public ReadOnly Property Confidence As Single
Eigenschaftswert
Eine relative Maßnahme der Sicherheit der richtigen Erkennung eines Ausdrucks. Der Wert liegt zwischen 0,0 und 1,0 (geringes bis hohes Vertrauen).
Beispiele
Das folgende Beispiel zeigt einen Handler für ein SpeechRecognitionEngine.SpeechRecognized- , SpeechRecognizer.SpeechRecognized- oder Grammar.SpeechRecognized -Ereignis. Das Beispiel zeigt Informationen, die dem RecognitionResult -Objekt zugeordnet sind, von denen einige von RecognizedPhraseabgeleitet sind. Der Handler zeigt Zuverlässigkeitsbewertungen für einen erkannten Ausdruck sowie für Alternative zur Erkennung an.
void SpeechRecognizedHandler(object sender, SpeechRecognizedEventArgs e)
{
if (e.Result == null) return;
// Add event handler code here.
// The following code illustrates some of the information available
// in the recognition result.
Console.WriteLine("Recognition result summary:");
Console.WriteLine(
" Recognized phrase: {0}\n" +
" Confidence score {1}\n" +
" Grammar used: {2}\n",
e.Result.Text, e.Result.Confidence, e.Result.Grammar.Name);
// Display the semantic values in the recognition result.
Console.WriteLine(" Semantic results:");
foreach (KeyValuePair<String, SemanticValue> child in e.Result.Semantics)
{
Console.WriteLine(" The {0} city is {1}",
child.Key, child.Value.Value ?? "null");
}
Console.WriteLine();
// Display information about the words in the recognition result.
Console.WriteLine(" Word summary: ");
foreach (RecognizedWordUnit word in e.Result.Words)
{
Console.WriteLine(
" Lexical form ({1})" +
" Pronunciation ({0})" +
" Display form ({2})",
word.Pronunciation, word.LexicalForm, word.DisplayAttributes);
}
// Display information about the audio in the recognition result.
Console.WriteLine(" Input audio summary:\n" +
" Candidate Phrase at: {0} mSec\n" +
" Phrase Length: {1} mSec\n" +
" Input State Time: {2}\n" +
" Input Format: {3}\n",
e.Result.Audio.AudioPosition,
e.Result.Audio.Duration,
e.Result.Audio.StartTime,
e.Result.Audio.Format.EncodingFormat);
// Display information about the alternate recognitions in the recognition result.
Console.WriteLine(" Alternate phrase collection:");
foreach (RecognizedPhrase phrase in e.Result.Alternates)
{
Console.WriteLine(" Phrase: " + phrase.Text);
Console.WriteLine(" Confidence score: " + phrase.Confidence);
}
}
Hinweise
Konfidenzbewertungen geben nicht die absolute Wahrscheinlichkeit an, dass ein Ausdruck richtig erkannt wurde. Stattdessen stellen Konfidenzbewertungen einen Mechanismus zum Vergleichen der relativen Genauigkeit mehrerer Erkennungsvarianten für eine bestimmte Eingabe bereit. Dies erleichtert die Rückgabe des genauesten Erkennungsergebnisses. Wenn ein erkannter Ausdruck beispielsweise eine Konfidenzbewertung von 0,8 aufweist, bedeutet dies nicht, dass der Ausdruck eine Wahrscheinlichkeit von 80 % hat, die richtige Übereinstimmung für die Eingabe zu sein. Dies bedeutet, dass der Ausdruck wahrscheinlicher die richtige Übereinstimmung für die Eingabe ist, als andere Ergebnisse, deren Konfidenzwerte kleiner als 0,8 sind.
Eine Zuverlässigkeitsbewertung allein ist nicht sinnvoll, es sei denn, Sie haben alternative Ergebnisse, mit denen Sie vergleichen können, entweder aus demselben Erkennungsvorgang oder aus früheren Erkennungen derselben Eingabe. Die Werte werden verwendet, um alternative Kandidatenausdrücke zu bewerten, die von der Alternates -Eigenschaft für RecognitionResult -Objekte zurückgegeben werden.
Konfidenzwerte sind relativ und für jede Erkennungs-Engine eindeutig. Konfidenzwerte, die von zwei verschiedenen Erkennungs-Engines zurückgegeben werden, können nicht sinnvoll verglichen werden.
Eine Spracherkennungs-Engine kann gesprochenen Eingaben aus verschiedenen Gründen einen niedrigen Konfidenzwert zuweisen, z. B. aus Hintergrundstörungen, Unartikulation von Sprache oder unerwarteten Wörtern oder Wortsequenzen. Wenn Ihre Anwendung eine SpeechRecognitionEngine instance verwendet, können Sie mit einer der Methoden die Konfidenzstufe ändern, bei der UpdateRecognizerSetting Spracheingaben akzeptiert oder abgelehnt werden. Vertrauensschwellenwerte für die freigegebene Erkennung, die von SpeechRecognizerverwaltet wird, werden einem Benutzerprofil zugeordnet und in der Windows-Registrierung gespeichert. Anwendungen sollten keine Änderungen an der Registrierung für die Eigenschaften der freigegebenen Erkennung schreiben.
Die Alternates -Eigenschaft des RecognitionResult -Objekts enthält eine geordnete Auflistung von RecognizedPhrase Objekten, von denen jedes eine mögliche Übereinstimmung für die Eingabe für die Erkennung darstellt. Die Alternativen werden von der höchsten bis zur niedrigsten Konfidenz sortiert.