RecognizedWordUnit.LexicalForm Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene il testo non normalizzato di una parola riconosciuta.
public:
property System::String ^ LexicalForm { System::String ^ get(); };
public string LexicalForm { get; }
member this.LexicalForm : string
Public ReadOnly Property LexicalForm As String
Valore della proprietà
Restituisce un oggetto String contenente il testo di una parola riconosciuta, senza alcuna normalizzazione.
Esempio
Nell'esempio seguente viene illustrata una routine di utilità che genera testo in uno dei tre formati: lessicale (usando ), normalizzato (usando LexicalFormText) e fonetico (usando Pronunciation). L'output di testo viene ottenuto da un ReadOnlyCollection<T> oggetto di RecognizedWordUnit oggetti, ottenuto dalla Words proprietà sull'oggetto 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;
}
Commenti
Nella maggior parte dei casi i valori restituiti da Text e LexicalForm sono identici. Tuttavia, i motori di riconoscimento possono usare la normalizzazione vocale per restituire rappresentazioni di testo colloquiali o descrittive dell'input audio.
La normalizzazione vocale è l'uso di costrutti o simboli speciali per esprimere la voce in scrittura. Ad esempio, la normalizzazione può sostituire le parole pronunciate "un dollaro e sedici centesimi" con "$1,16" nel testo di output.