RecognizedPhrase.Confidence Proprietà

Definizione

Ottiene un valore, assegnato dal riconoscimento, che rappresenta la probabilità che RecognizedPhrase corrisponda a un input specificato.

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

Valore della proprietà

Una misura relativa della certezza del riconoscimento corretto di una frase. Il valore va da 0,0 a 1,0 rispettivamente per una probabilità da bassa ad alta.

Esempio

Nell'esempio seguente viene illustrato un gestore per un SpeechRecognitionEngine.SpeechRecognizedevento , SpeechRecognizer.SpeechRecognizedo Grammar.SpeechRecognized . L'esempio mostra le informazioni associate all'oggetto RecognitionResult , alcune delle quali derivate da RecognizedPhrase. Il gestore visualizza i punteggi di attendibilità per una frase riconosciuta e per le alternative di riconoscimento.

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

Commenti

I punteggi di attendibilità non indicano la probabilità assoluta che una frase sia stata riconosciuta correttamente. I punteggi di attendibilità forniscono invece un meccanismo per confrontare l'accuratezza relativa di più alternative di riconoscimento per un determinato input. Ciò facilita la restituzione del risultato di riconoscimento più accurato. Ad esempio, se una frase riconosciuta ha un punteggio di attendibilità pari a 0,8, ciò non significa che la frase abbia una probabilità dell'80% di essere la corrispondenza corretta per l'input. Significa che la frase è più probabile che sia la corrispondenza corretta per l'input rispetto ad altri risultati con punteggi di attendibilità inferiori a 0,8.

Un punteggio di attendibilità da solo non è significativo a meno che non si disponga di risultati alternativi da confrontare, dalla stessa operazione di riconoscimento o dai riconoscimenti precedenti dello stesso input. I valori vengono usati per classificare le frasi candidate alternative restituite dalla Alternates proprietà sugli RecognitionResult oggetti .

I valori di confidenza sono relativi e univoci per ogni motore di riconoscimento. I valori di confidenza restituiti da due motori di riconoscimento diversi non possono essere confrontati in modo significativo.

Un motore di riconoscimento vocale può assegnare un punteggio di attendibilità basso all'input parlato per vari motivi, tra cui interferenza in background, parlato inarticolare o parole o sequenze di parole impreviste. Se l'applicazione usa un'istanza SpeechRecognitionEngine di , è possibile modificare il livello di confidenza a cui l'input vocale viene accettato o rifiutato con uno dei UpdateRecognizerSetting metodi . Le soglie di confidenza per il riconoscitore condiviso, gestite da SpeechRecognizer, sono associate a un profilo utente e archiviate nel Registro di sistema di Windows. Le applicazioni non devono scrivere modifiche al Registro di sistema per le proprietà del riconoscitore condiviso.

La Alternates proprietà dell'oggetto RecognitionResult contiene una raccolta ordinata di RecognizedPhrase oggetti, ognuno dei quali è una possibile corrispondenza per l'input al riconoscitore. Le alternative vengono ordinate dal livello di attendibilità più alto a quello più basso.

Si applica a

Vedi anche