ReplacementText Класс

Определение

Содержит сведения о процедуре нормализации речи, которая была выполнена для результатов распознавания.

public ref class ReplacementText
[System.Serializable]
public class ReplacementText
[<System.Serializable>]
type ReplacementText = class
Public Class ReplacementText
Наследование
ReplacementText
Атрибуты

Примеры

В приведенном ниже примере в пользовательском интерфейсе отображаются сведения об RecognizedPhrase объекте, возвращенном подсистемой распознавания.

internal static void DisplayBasicPhraseInfo(  
        Label label,   
        RecognizedPhrase result,   
        SpeechRecognizer rec)   
{  
  if (result != null && label != null)   
  {  
    // Blank  
    if (rec != null)   
    {   
      // Clear  
      label.Text += String.Format(  
                             "  Recognizer currently at:   {0} mSec\n" +  
                             "  Audio Device currently at: {1} mSec\n",  
                             rec.RecognizerAudioPosition.TotalMilliseconds,  
                             rec.AudioPosition.TotalMilliseconds);  
    }  

    if (result != null)   
    { // Clear  
      RecognitionResult recResult = result as RecognitionResult;  
      if (recResult != null)   
      {  
        RecognizedAudio resultAudio = recResult.Audio;  
        if (resultAudio == null)   
        {  
          label.Text += String.Format("  Emulated input\n");  
        }   
        else   
        {  
          label.Text += String.Format(  
                               "  Candidate Phrase at:       {0} mSec\n" +  
                               "  Phrase Length:             {1} mSec\n" +  
                               "  Input State Time:          {2}\n" +  
                               "  Input Format:              {3}\n",  
                               resultAudio.AudioPosition.TotalMilliseconds,  
                               resultAudio.Duration.TotalMilliseconds,  
                               resultAudio.StartTime.ToShortTimeString(),  
                               resultAudio.Format.EncodingFormat.ToString());  
        }  
      }  

      label.Text += String.Format("  Confidence Level:          {0}\n", result.Confidence);  
      if (result.Grammar != null)   
      {  
        label.Text += String.Format(  
                            "  Recognizing Grammar:       {0}\n" +  
                            "  Recognizing Rule:          {1}\n",  
                            ((result.Grammar.Name != null) ? (result.Grammar.Name) : "None"),  
                            ((result.Grammar.RuleName != null) ? (result.Grammar.RuleName) : "None"));  
      }  

      if  (result.ReplacementWordUnits.Count !=  0)    
      {  
        label.Text += String.Format("  Replacement text:\n");  
        foreach (ReplacementText rep in result.ReplacementWordUnits)    
        {  
          string repText = rep.Text;  
          // Add trailing spaces  

          if ((rep.DisplayAttributes & DisplayAttributes.OneTrailingSpace) !=  0)    
          {  
            repText += " ";  
          }  
          if ((rep.DisplayAttributes & DisplayAttributes.TwoTrailingSpaces) !=  0)    
          {  
            repText += "  ";  
          }  
          if ((rep.DisplayAttributes & DisplayAttributes.ConsumeLeadingSpaces) != 0)    
          {  
            repText=repText.TrimStart();  
          }  
          if ((rep.DisplayAttributes & DisplayAttributes.ZeroTrailingSpaces) != 0)   
          {  
            repText = repText.TrimEnd();  
          }  
          label.Text += String.Format(  
                           "      At index {0} for {1} words. Text: \"{2}\"\n",  
                           rep.FirstWordIndex,  rep.CountOfWords, repText);  

        }  
        label.Text += String.Format("\n\n");  
      }  
    }  
  }    
}  

Комментарии

Нормализация речи — это использование специальных конструкций или символов для выражения написания речи.

Например, предположим, что это распознанный текст:

4 июля в 12 31 я купил один пункт на шесть килограммов рыбы для четырнадцать долларов и шести центов, на Пайк месте в Сиэтле Вашингтон 9 8 1 2 2.

Это тот же текст после нормализации:

4 июля в 12:31 я купил 1,6 кг для $14,06 на Пайк месте в Сиэтле WA 98122.

В этом примере имеется пять подстановок, каждая из которых будет описываться экземпляром ReplacementText .

С помощью ReplacementText объекта приложение может определить:

  • Расположение и количество слов, замененных нормализацией. Дополнительные сведения см. в разделе FirstWordIndex или CountOfWords.

  • Замененный текст и его атрибуты вывода. Дополнительные сведения см Text . в статьях и DisplayAttributes .

Экземпляры ReplacementText обычно получаются как члены Collection<T> объекта, возвращаемого ReplacementWordUnits свойством RecognizedPhrase (или классами, наследующими RecognizedPhrase , например), RecognitionResult если возвращаемый текст был нормализован.

Свойства

CountOfWords

Получает число распознанных слов, заменяемых процедурой нормализации речи.

DisplayAttributes

Получает сведения о начальных и конечных пробелах для текста, замененного процедурой нормализации речи.

FirstWordIndex

Получает расположение первого распознанного слова, заменяемого процедурой нормализации речи.

Text

Получает распознанный текст, заменяемый процедурой нормализации речи.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к