Condividi tramite


RecognizedWordUnit.LexicalForm Proprietà

Definizione

Ottiene il testo non normalizzato di una parola riconosciuta.

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

Valore della proprietà

Restituisce un oggetto String contenente il testo di una parola riconosciuta, senza alcuna normalizzazione.

Esempio

Nell'esempio seguente viene illustrata una routine di utilità che genera testo in uno dei tre formati: lessicale (usando ), normalizzato (usando LexicalFormText) 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 sono identici. Tuttavia, i motori di riconoscimento possono usare la normalizzazione vocale per restituire rappresentazioni di testo colloquiali o descrittive dell'input audio.

La normalizzazione vocale è l'uso di costrutti o simboli speciali per esprimere la voce 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

Vedi anche