RecognizedWordUnit.LexicalForm Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.