Descripción de las listas de Word, el contexto del reconocedor y los factoides
Todos los diccionarios de aplicaciones se implementan mediante el objeto WordList . El objeto RecognizerContext administra el reconocimiento, en parte a través de la propiedad WordList de ese objeto. El objeto RecognizerContext pasa la lista de palabras al reconocedor. Puede habilitar un diccionario de aplicaciones en cualquier RecognizerContext de la aplicación estableciendo la propiedad WordList del objeto RecognizerContext . Para que la lista de palabras esté disponible para toda la aplicación, debe establecer la propiedad WordList de cada objeto RecognizerContext de la aplicación.
En el nivel de reconocedor, todos los diccionarios excepto el diccionario del sistema se implementan como listas de palabras. Sin embargo, el reconocedor solo puede tener una lista de palabras activa a la vez. Esto significa que no puede tener un diccionario de aplicación y el diccionario de usuario activos al mismo tiempo. Por otro lado, el diccionario del sistema siempre está disponible, a menos que se establezca un factoid que desactive el diccionario del sistema.
El diccionario de usuarios es la lista de palabras que el usuario ha agregado a su PC tablet. Si no se establece la propiedad WordList de RecognizerContext , RecognizerContext pasa el diccionario de usuario como una lista de palabras al reconocedor. Sin embargo, si se establece la propiedad WordList del objeto RecognizerContext , la lista de palabras se pasa al reconocedor en lugar del diccionario de usuarios.
Nota
La propiedad Strokes del objeto RecognizerContext debe estar vacía antes de establecer la propiedad WordList . Si la propiedad Strokes no está vacía, se produce una excepción. Las palabras nunca se deben agregar a una lista de palabras después de que se haya asignado a un objeto RecognizerContext .
Establecer un factoid en el objeto RecognizerContext también afecta al modo en que el reconocedor usa los diccionarios de aplicación. Los factoides que afectan al comportamiento de los diccionarios son:
- WordList
- SystemDictionary
- Ninguno
Hasta ahora, el factoid más útil para los diccionarios de aplicaciones es el factoid wordList . El factoide WordList inclina al reconocedor hacia devolver solo las palabras que se encuentran en la lista de palabras. Este factoid desactiva todos los demás diccionarios excepto la lista de palabras. Si se establece el factoid wordList y no se especifica ninguna lista de palabras en el contexto del reconocedor, el diccionario de usuario se usa como lista de palabras.
Por ejemplo, si va a diseñar una aplicación de piezas de avión con un campo que acepta uno de diez nombres de piezas especializadas, puede crear una lista de palabras que contenga solo estos nombres de pieza. Establecer el factoid WordList para el campo mejora considerablemente el reconocimiento de las palabras especificadas en ese campo. El reconocedor no necesita elegir entre las palabras del diccionario del sistema y las palabras de la lista de palabras.
El factoid SystemDictionary solo habilita el diccionario del sistema. El factoid None deshabilita todos los diccionarios. Estos dos factoides se usan para aumentar la precisión del reconocimiento en determinadas instancias. Sin embargo, dado que deshabilitan los diccionarios de aplicaciones, rara vez se usan junto con los diccionarios de aplicaciones.
Para obtener más información sobre cómo afectan los factoides al reconocimiento, consulte Uso del contexto para mejorar la precisión.
Para obtener más información sobre los factoides SystemDictionary y None , vea Factoids compatibles de la versión 1.