RecognizedWordUnit.LexicalForm Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.