Partager via


RecognizedWordUnit.LexicalForm Propriété

Définition

Obtient le texte non normalisé d'un mot reconnu.

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

Valeur de propriété

String

Retourne une String contenant le texte d'un mot reconnu, sans aucune normalisation.

Exemples

L’exemple suivant illustre une routine utilitaire qui génère du texte dans l’un des trois formats suivants : lexical (using LexicalForm ), normalized (using Text ) et Phonetic (using Pronunciation ). La sortie de texte est obtenue à partir d’un ReadOnlyCollection<T> RecognizedWordUnit objet d’objets, qui est obtenu à partir de la Words propriété sur l' RecognizedPhrase objet.

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

Remarques

Dans la plupart des cas, les valeurs retournées par Text et LexicalForm sont identiques. Toutefois, les moteurs de reconnaissance peuvent utiliser la normalisation vocale pour retourner des représentations textuelles plus conviviales ou plus courantes de l’entrée audio.

La normalisation vocale consiste à utiliser des constructions ou des symboles spéciaux pour exprimer la parole en écriture. Par exemple, la normalisation peut remplacer les mots prononcés « dollar et seize centimes » par « $1,16 » dans le texte de sortie.

S’applique à

Voir aussi