RecognizedWordUnit.LexicalForm Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u de niet-genormaliseerde tekst van een herkend woord op.
public:
property System::String ^ LexicalForm { System::String ^ get(); };
public string LexicalForm { get; }
member this.LexicalForm : string
Public ReadOnly Property LexicalForm As String
Waarde van eigenschap
Retourneert een String met de tekst van een herkend woord, zonder normalisatie.
Voorbeelden
In het volgende voorbeeld ziet u een routine van het hulpprogramma waarmee tekst in een van de drie indelingen wordt gegenereerd: lexical (met behulp van), genormaliseerd (met LexicalForm) Texten fonetische tekst (met behulp van Pronunciation). De tekstuitvoer wordt verkregen van een ReadOnlyCollection<T> van RecognizedWordUnit objecten, die wordt verkregen uit de Words eigenschap van het RecognizedPhrase object.
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;
}
Opmerkingen
In de meeste gevallen zijn de waarden die door Text en LexicalForm identiek zijn. Herkenningsengines kunnen echter spraaknormalisatie gebruiken om gebruiksvriendelijkere of colloquiale tekstweergaven van audio-invoer te retourneren.
Spraaknormalisatie is het gebruik van speciale constructies of symbolen om spraak schriftelijk uit te drukken. Normalisatie kan bijvoorbeeld de gesproken woorden "een dollar en zestien centen" vervangen door "$1,16" in uitvoertekst.