RecognizedWordUnit.LexicalForm Propriedade

Definição

Recebe o texto não normalizado de uma palavra reconhecida.

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

Valor de Propriedade

Devolve a String contendo o texto de uma palavra reconhecida, sem qualquer normalização.

Exemplos

O exemplo seguinte mostra uma rotina utilitária que gera texto num de três formatos: lexical (usando LexicalForm), normalizado (usando Text), e fonético (usando Pronunciation). A saída do texto é obtida a partir de um ReadOnlyCollection<T> de RecognizedWordUnit objetos, que é obtida a partir da Words propriedade sobre o RecognizedPhrase objeto.

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

Observações

Na maioria dos casos, os valores devolvidos por Text e LexicalForm são idênticos. No entanto, motores de reconhecimento podem usar normalização de fala para devolver representações textuais mais fáceis de usar ou coloquiais da entrada áudio.

A normalização da fala é o uso de construtos ou símbolos especiais para expressar a fala por escrito. Por exemplo, a normalização pode substituir as palavras faladas "um dólar e dezasseis cêntimos" por "$1,16" no texto de saída.

Aplica-se a

Ver também