Freigeben über


RecognizedWordUnit.LexicalForm Eigenschaft

Definition

Ruft den nicht normalisierten Text eines erkannten Worts ab.

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

Eigenschaftswert

Gibt eine String zurück, das den Text eines erkannten Worts ohne eine Normalisierung enthält.

Beispiele

Das folgende Beispiel zeigt eine Hilfsprogrammroutine, die Text in einem von drei Formaten generiert: lexikalisch (mit LexicalForm), normalisiert (mit Text) und phonetisch (mit Pronunciation). Die Textausgabe wird aus einer ReadOnlyCollection<T> von RecognizedWordUnit -Objekten abgerufen, die von der Words -Eigenschaft für das RecognizedPhrase -Objekt abgerufen wird.

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;  
}  

Hinweise

In den meisten Fällen sind die von Text und LexicalForm zurückgegebenen Werte identisch. Erkennungs-Engines können jedoch die Sprachnormalisierung verwenden, um benutzerfreundlichere oder umgangssprachliche Textdarstellungen von Audioeingaben zurückzugeben.

Sprachnormalisierung ist die Verwendung spezieller Konstrukte oder Symbole, um Sprache schriftlich auszudrücken. Die Normalisierung kann beispielsweise die gesprochenen Wörter "ein Dollar und sechzehn Cents" durch "$1,16" im Ausgabetext ersetzen.

Gilt für:

Weitere Informationen