Compartir a través de


Acerca de los servicios lingüísticos extendidos

Los servicios lingüísticos extendidos (ELS) se implementan como una biblioteca de vínculos dinámicos (DLL) que proporciona una variedad de funcionalidades de compatibilidad lingüística para el texto que especifica la aplicación. La tecnología incluye la plataforma ELS y los complementos para varios tipos de servicios lingüísticos predefinidos accesibles para la aplicación a través de la plataforma.

Nota

El módulo ELS se instala automáticamente con Windows 7 y versiones posteriores.

 

Plataforma ELS

La plataforma ELS es la interfaz entre la aplicación y los servicios ELS. Proporciona una manera sencilla de implementar varios tipos de funcionalidad lingüística a través de la misma API, lo que permite a la aplicación acceder y usar servicios específicos. Para obtener más información sobre la API, consulte Referencia de servicios lingüísticos extendidos.

Nota

Cuando la aplicación llama a cualquiera de las funciones de LAS API, la plataforma asigna memoria y recursos según sea necesario para la comunicación con los servicios. La aplicación es responsable de volver a llamar a la plataforma para liberar estos recursos.

 

La plataforma se ejecuta dentro del espacio de memoria virtual de la aplicación y toda la memoria asignada forma parte de este espacio. Por lo tanto, la aplicación solo debe vincularse al archivo DLL del componente elS (Elscore.dll) vinculando a Elscore.lib o cargando dinámicamente Elscore.dll.

Servicios ELS

Para Windows 7 y versiones posteriores, la plataforma ELS solo admite los siguientes servicios predefinidos.

Nota

Las versiones futuras de ELS admitirán servicios adicionales proporcionados por Microsoft o proveedores de servicios.

 

Cada servicio está asociado a una categoría de servicio que describe lo que hace el servicio. La categoría se representa mediante una cadena no localizable. Las aplicaciones usan para enumerar los servicios disponibles. Las categorías de servicio actuales son:

  • "Detección de idioma"
  • "Detección de scripts"
  • "Transliteración"

La plataforma usa metadatos de servicio para enumerar los servicios solicitados por la aplicación. Las propiedades, como el identificador único global (GUID), los lenguajes y scripts de entrada y salida admitidos, y la aplicación puede usar la categoría de servicio para enumerar los servicios ELS deseados.

Cada servicio ELS se implementa como un complemento compatible con un archivo DLL que se puede instalar en el sistema operativo para que la plataforma ELS pueda detectarlo y usarlo. Los servicios pueden exponer sus propios subservicios, si es necesario.

Operaciones principales de ELS

En esta sección se describen las operaciones principales admitidas por la plataforma ELS. La plataforma admite modos de llamada sincrónicos y asincrónicos. El modo de llamada asincrónica usa un grupo de subprocesos de aplicación para programar subprocesos para procesar solicitudes.

Nota

Dado que la plataforma admite un modo asincrónico, los servicios ELS no tienen que implementar este tipo de funcionalidad por sí mismos.

 

Enumeración de servicio

La plataforma ELS carga y administra todos los servicios ELS, lo que hace que la operación sea transparente para la aplicación. La aplicación enumera los servicios disponibles llamando a MappingGetServices. Para obtener instrucciones de programación, consulte Enumeración y freeing Services.

Nota

Es aconsejable por motivos de rendimiento que la aplicación enumere los servicios disponibles solo una vez. La plataforma ELS vuelve a comprobar los servicios en la siguiente enumeración para asegurarse de que sus resultados de enumeración estén siempre actualizados.

 

Reconocimiento de texto

Después de la enumeración del servicio, la aplicación llama a la función MappingRecognizeText para usar un servicio ELS determinado para asignar cualquier intervalo de texto de entrada al texto de salida. Un ejemplo de reconocimiento de texto es el uso de un servicio de detección de idioma que recibe un segmento de texto y detecta su idioma más probable.

Una vez que el servicio haya reconocido el texto, MappingRecognizeText devuelve con una estructura de MAPPING_PROPERTY_BAG rellenada con datos de salida y propiedades generados por el servicio. Para evitar pérdidas de memoria, la aplicación debe liberar el contenedor de propiedades llamando a MappingFreePropertyBag cada vez que MappingRecognizeText devuelve S_OK. Normalmente, la aplicación lo hace cuando termina de usar los datos de salida o cuando los datos de salida ya no son relevantes porque la región de entrada del texto se ha modificado, por ejemplo, editado o eliminado. Cuando se libera el contenedor de propiedades, MappingFreePropertyBag devuelve.

Las instrucciones de programación para el reconocimiento de texto se proporcionan en Solicitud de reconocimiento de texto.

Terminación del servicio

Cuando la aplicación ya no requiere servicios ELS, llama a MappingFreeServices antes de finalizar. Para obtener más información, vea Enumerar y liberar servicios.

Control de versiones

Las versiones futuras de ELS permitirán actualizar los servicios ELS. La aplicación podrá comprobar los números de versión de la estructura MAPPING_SERVICE_INFO para detectar los cambios en los servicios.

Nota

La aplicación ELS no debe suponer que diferentes versiones del mismo servicio pueden recuperar exactamente los mismos resultados.