Condividi tramite


RecognizedWordUnit.Text Proprietà

Definizione

Ottiene il testo normalizzato per una parola riconosciuta.

public:
 property System::String ^ Text { System::String ^ get(); };
public string Text { get; }
member this.Text : string
Public ReadOnly Property Text As String

Valore della proprietà

Stringa contenente l'output di testo normalizzato per una determinata parola di input.

Esempio

Nell'esempio seguente viene illustrata una routine di utilità che genera una stringa in uno dei tre formati: lessicale (usando LexicalForm), normalizzato (usando Text) e fonetico (usando Pronunciation). L'output di testo viene ottenuto da un ReadOnlyCollection<T> oggetto di RecognizedWordUnit oggetti, ottenuto dalla Words proprietà sull'oggetto RecognizedPhrase .

internal enum WordType
{
  Text,
  Normalized = Text,
  Lexical,
  Pronunciation
}
internal static string stringFromWordArray(
          ReadOnlyCollection<RecognizedWordUnit> words,
          WordType type)
{
  string text = "";
  foreach (RecognizedWordUnit word in words)
  {
    string wordText = "";
    if (type == WordType.Text || type == WordType.Normalized)
    {
      wordText = word.Text;
    }
    else if (type == WordType.Lexical)
    {
      wordText = word.LexicalForm;
    }
    else if (type == WordType.Pronunciation)
    {
      wordText = word.Pronunciation;
    }
    else
    {
      throw new InvalidEnumArgumentException(
           String.Format("[0}: is not a valid input", type));
    }

    // Use display attribute
    if ((word.DisplayAttributes & DisplayAttributes.OneTrailingSpace) != 0)
    {
      wordText += " ";
    }
    if ((word.DisplayAttributes & DisplayAttributes.TwoTrailingSpaces) != 0)
    {
      wordText += "  ";
    }
    if ((word.DisplayAttributes & DisplayAttributes.ConsumeLeadingSpaces) != 0)
    {
      wordText = wordText.TrimStart();
    }
    if ((word.DisplayAttributes & DisplayAttributes.ZeroTrailingSpaces) != 0)
    {
      wordText = wordText.TrimEnd();
    }

    text += wordText;

  }
  return text;
}

Commenti

Nella maggior parte dei casi i valori restituiti da Text e LexicalForm saranno identici. Tuttavia, i motori di riconoscimento possono usare la normalizzazione vocale per restituire rappresentazioni di testo colloquiali o più descrittive dell'input audio.

La normalizzazione vocale è l'uso di costrutti o simboli speciali per esprimere il parlato in scrittura. Ad esempio, la normalizzazione può sostituire le parole pronunciate "un dollaro e sedici centesimi" con "$1,16" nel testo di output.

Si applica a