Compartilhar via


RecognizedWordUnit.LexicalForm Propriedade

Definição

Obtém o texto não normalizado para 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

String

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 (usando LexicalForm ), normalizado (usando ) e Text phoneético (usando Pronunciation ). A saída de texto é obtida de um de objetos , que é ReadOnlyCollection<T> obtido da propriedade no objeto RecognizedWordUnit Words 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;  
}  

Comentários

Na maioria dos casos, os valores retornados Text por e LexicalForm 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 colltorial da entrada de áudio.

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

Aplica-se a

Confira também