Aracılığıyla paylaş


RecognizedWordUnit.LexicalForm Özellik

Tanım

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.

Şunlara uygulanır

Ayrıca bkz.