Поделиться через


ReplacementText Класс

Определение

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

public ref class ReplacementText
public class ReplacementText
[System.Serializable]
public class ReplacementText
type ReplacementText = class
[<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");
      }
    }
  }
}

Комментарии

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

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

"июль четыре в двенадцать тридцать один pm, я купил один пункт шесть килограммов рыбы на четырнадцать долларов и шесть центов, на рынке щуки в сиэтле вашингтон девять один два два"

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

"4 июля в 12:31 вечера, я купил 1,6 кг рыбы за $ 14,06, на рынке щуки в Сиэтле WA 98122"

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

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

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

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

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

Свойства

Имя Описание
CountOfWords

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

DisplayAttributes

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

FirstWordIndex

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

Text

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

Методы

Имя Описание
Equals(Object)

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

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

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

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

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

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

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

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

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

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

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