Compartilhar via


RecognizedWordUnit.LexicalForm Propriedade

Definição

Obtém o texto não desnormalizado 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 da propriedade

Retorna um String que contém o texto de uma palavra reconhecida, sem nenhuma normalização.

Exemplos

O exemplo a seguir mostra uma rotina de utilitário que gera texto em um dos três formatos: lexical (using LexicalForm), normalized (using Text) e phonetic (using Pronunciation). A saída de texto é obtida de um ReadOnlyCollection<T> dos RecognizedWordUnit objetos, que é obtido da Words propriedade no 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;
}

Comentários

Na maioria dos casos, os valores retornados e TextLexicalForm são idênticos. No entanto, os mecanismos de reconhecimento podem usar a normalização de fala para retornar representações de texto mais amigáveis ou coloquiais de entrada de áudio.

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

Aplica-se a

Confira também