Présentation des listes Word, du contexte du module de reconnaissance et des factoids

Tous les dictionnaires d’application sont implémentés à l’aide de l’objet WordList . L’objet RecognizerContext gère la reconnaissance, en partie via la propriété WordList de cet objet. L’objet RecognizerContext transmet la liste de mots au module de reconnaissance. Vous pouvez activer un dictionnaire d’application dans n’importe quel RecognizerContext de votre application en définissant la propriété WordList de l’objet RecognizerContext . Pour rendre la liste de mots disponible pour l’ensemble de l’application, vous devez définir la propriété WordList de chaque objet RecognizerContext dans l’application.

Au niveau du module de reconnaissance, tous les dictionnaires à l’exception du dictionnaire système sont implémentés en tant que listes de mots. Toutefois, le module de reconnaissance ne peut avoir qu’une seule liste de mots actifs à la fois. Cela signifie qu’un dictionnaire d’application et le dictionnaire utilisateur ne peuvent pas être actifs en même temps. En revanche, le dictionnaire système est toujours disponible, sauf si un factoid est défini pour désactiver le dictionnaire système.

Le dictionnaire utilisateur est la liste des mots que l’utilisateur a ajoutés à son Tablet PC. Si la propriété WordList du RecognizerContext n’est pas définie, recognizerContext transmet le dictionnaire utilisateur en tant que liste de mots au module de reconnaissance. Toutefois, si la propriété WordList de l’objet RecognizerContext est définie, la liste de mots est passée au module de reconnaissance au lieu du dictionnaire utilisateur.

Notes

La propriété Strokes de l’objet RecognizerContext doit être vide avant de définir la propriété WordList . Si la propriété Strokes n’est pas vide, une exception est levée. Les mots ne doivent jamais être ajoutés à une liste de mots une fois qu’il a été affecté à un objet RecognizerContext .

 

La définition d’un factoid sur l’objet RecognizerContext affecte également la façon dont les dictionnaires d’application sont utilisés par le module de reconnaissance. Les faits qui affectent le comportement des dictionnaires sont les suivants :

  • Dictionnaire
  • SystemDictionary
  • Aucun

De loin, le factoid le plus utile pour les dictionnaires d’application est le factoid WordList . Le factoid WordList biaise le module de reconnaissance pour renvoyer uniquement les mots trouvés dans la liste de mots. Ce factoid désactive tous les autres dictionnaires à l’exception de la liste de mots. Si le factoid WordList est défini et qu’aucune liste de mots n’est spécifiée dans le contexte du module de reconnaissance, le dictionnaire utilisateur est utilisé comme liste de mots.

Par exemple, si vous concevez une application de pièces d’avion avec un champ qui accepte l’un des dix noms de pièces spécialisées, vous pouvez créer une liste de mots qui contient uniquement ces noms de pièces. La définition du factoid WordList pour le champ améliore considérablement la reconnaissance des mots entrés dans ce champ. Le module de reconnaissance n’a pas besoin de choisir entre les mots du dictionnaire système et les mots de la liste de mots.

Le factoid SystemDictionary active uniquement le dictionnaire système. Le factoid None désactive tous les dictionnaires. Ces deux factoids sont utilisés pour augmenter la précision de la reconnaissance dans certains cas. Toutefois, étant donné qu’ils désactivent les dictionnaires d’application, ils sont rarement utilisés conjointement avec les dictionnaires d’application.

Pour plus d’informations sur la façon dont les factoids affectent la reconnaissance, consultez Utilisation du contexte pour améliorer la précision.

Pour plus d’informations sur les factoids SystemDictionary et None , consultez Factoids pris en charge à partir de la version 1.