RecognizedWordUnit.LexicalForm Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera nieznormalizowany tekst rozpoznanego wyrazu.
public:
property System::String ^ LexicalForm { System::String ^ get(); };
public string LexicalForm { get; }
member this.LexicalForm : string
Public ReadOnly Property LexicalForm As String
Wartość właściwości
Zwraca wartość String zawierającą tekst rozpoznanego wyrazu bez żadnej normalizacji.
Przykłady
W poniższym przykładzie przedstawiono procedurę narzędzia, która generuje tekst w jednym z trzech formatów: leksykalne (przy użyciu ), znormalizowane (przy użyciu ) i LexicalForm Text fonetyczne (przy użyciu Pronunciation ). Dane wyjściowe tekstu są uzyskiwane z ReadOnlyCollection<T> obiektu , który jest RecognizedWordUnit uzyskiwany z właściwości obiektu 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;
}
Uwagi
W większości przypadków wartości zwracane przez i Text LexicalForm są identyczne. Jednak aparaty rozpoznawania mogą używać normalizacji mowy, aby zwracać bardziej przyjazne dla użytkownika lub potocznie potocznie tekstowe reprezentacje danych wejściowych audio.
Normalizacja mowy to użycie specjalnych konstrukcji lub symboli do wyrażania mowy w zapisie. Na przykład normalizacja może zastąpić słowa mówione "dolar i szesnastu centów" wartością "1,16 USD" w tekście wyjściowym.