RecognizedWordUnit.LexicalForm Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Tanınan bir sözcüğün normalleştirilmemiş metnini alır.
public:
property System::String ^ LexicalForm { System::String ^ get(); };
public string LexicalForm { get; }
member this.LexicalForm : string
Public ReadOnly Property LexicalForm As String
Özellik Değeri
Herhangi bir String normalleştirme olmadan tanınan bir sözcüğün metnini içeren bir döndürür.
Örnekler
Aşağıdaki örnekte, üç biçimden birinde metin oluşturan bir yardımcı program yordamı gösterilmektedir: sözcük temelli (kullanarak LexicalForm), normalleştirilmiş (kullanarak Text) ve fonetik (kullanarak Pronunciation). Metin çıkışı, nesne üzerindeki RecognizedPhrase özelliğinden elde edilen nesnelerden WordsReadOnlyCollection<T>RecognizedWordUnit elde edilir.
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;
}
Açıklamalar
Çoğu durumda ve LexicalForm tarafından Text döndürülen değerler aynıdır. Ancak tanıma altyapıları, ses girişinin daha kullanıcı dostu veya ortak metin gösterimlerini döndürmek için konuşma normalleştirmesini kullanabilir.
Konuşma normalleştirme, konuşmayı yazılı olarak ifade etmek için özel yapıların veya simgelerin kullanılmasıdır. Örneğin normalleştirme, çıkış metnindeki "bir dolar ve on altı sent" sözcüklerini "$1,16" ile değiştirebilir.