RecognizedPhrase.Confidence Egenskap

Definition

Hämtar ett värde, tilldelat av identifieraren, som representerar sannolikheten att en RecognizedPhrase matchar en viss indata.

public:
 property float Confidence { float get(); };
public float Confidence { get; }
member this.Confidence : single
Public ReadOnly Property Confidence As Single

Egenskapsvärde

Ett relativt mått på säkerheten för korrekt erkännande av en fras. Värdet är från 0,0 till 1,0, för låg till hög konfidens.

Exempel

I följande exempel visas en hanterare för en SpeechRecognitionEngine.SpeechRecognized, SpeechRecognizer.SpeechRecognizedeller Grammar.SpeechRecognized -händelse. Exemplet visar information som är associerad med RecognitionResult objektet, varav vissa härleds från RecognizedPhrase. Hanteraren visar konfidenspoäng för en identifierad fras samt för igenkänningsalternativ.

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);
  }
}

Kommentarer

Konfidenspoäng anger inte den absoluta sannolikheten att en fras kändes igen korrekt. Konfidenspoäng ger i stället en mekanism för att jämföra den relativa noggrannheten för flera igenkänningsalternativ för en viss indata. Detta gör det lättare att returnera det mest exakta igenkänningsresultatet. Om en identifierad fras till exempel har en konfidenspoäng på 0,8 betyder det inte att frasen har 80% chans att vara rätt matchning för indata. Det innebär att frasen är mer sannolikt att vara rätt matchning för indata än andra resultat som har konfidenspoäng som är mindre än 0,8.

En konfidenspoäng på egen hand är inte meningsfull om du inte har alternativa resultat att jämföra med, antingen från samma igenkänningsåtgärd eller från tidigare erkännanden av samma indata. Värdena används för att rangordna alternativa kandidatfraser som returneras av Alternates egenskapen på RecognitionResult objekt.

Konfidensvärdena är relativa och unika för varje igenkänningsmotor. Konfidensvärden som returneras av två olika igenkänningsmotorer kan inte jämföras på ett meningsfullt sätt.

En taligenkänningsmotor kan tilldela en låg konfidenspoäng till talade indata av olika skäl, inklusive bakgrundsinterferens, inartikulerat tal eller oväntade ord eller ordsekvenser. Om ditt program använder en SpeechRecognitionEngine instans kan du ändra konfidensnivån på vilken talindata godkänns eller avvisas med någon av UpdateRecognizerSetting metoderna. Förtroendetrösklar för den delade identifieraren, som hanteras av SpeechRecognizer, är associerade med en användarprofil och lagras i Windows registret. Program bör inte skriva ändringar i registret för egenskaperna för den delade identifieraren.

Egenskapen Alternates för RecognitionResult objektet innehåller en ordnad samling RecognizedPhrase objekt, som var och en är en möjlig matchning för indata till identifieraren. Alternativen sorteras från högsta till lägsta konfidens.

Gäller för

Se även