Sdílet prostřednictvím


RecognizedWordUnit.LexicalForm Vlastnost

Definice

Získá nenormalizovaný text rozpoznaného slova.

public:
 property System::String ^ LexicalForm { System::String ^ get(); };
public string LexicalForm { get; }
member this.LexicalForm : string
Public ReadOnly Property LexicalForm As String

Hodnota vlastnosti

String Vrátí text rozpoznaného slova bez jakékoli normalizace.

Příklady

Následující příklad ukazuje rutinu utility, která generuje text v jednom ze tří formátů: lexikální (using LexicalForm), normalizované (using Text) a fonetický (using Pronunciation). Textový výstup je získán z ReadOnlyCollection<T> objektu RecognizedWordUnit , který je získán z Words vlastnosti objektu 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;
}

Poznámky

Ve většině případů jsou hodnoty vrácené Text a LexicalForm identické. Moduly pro rozpoznávání ale můžou používat normalizaci řeči k vrácení uživatelsky přívětivějších nebo hovorových textových reprezentací zvukového vstupu.

Normalizace řeči je použití speciálních konstruktorů nebo symbolů k vyjádření řeči v psaní. Normalizace může například nahradit mluvená slova "dolar a šestnáct centů" "$1,16" ve výstupním textu.

Platí pro

Viz také