Enriquecimiento con IA en Azure Cognitive Search
En Azure Cognitive Search, el enriquecimiento con IA hace referencia a aptitudes cognitivas integradas y otras personalizadas que agregan análisis, transformaciones y generación de contenido durante la indexación. Los enriquecimientos crean información nueva donde no existía anteriormente: extracción de información de imágenes, detección de la opinión, frases clave y entidades del texto, por nombrar algunas. Los enriquecimientos también agregan estructura a texto no diferenciado. Todos estos procesos hacen que los contenidos que antes no se podían buscar estén disponibles para los escenarios de búsqueda de texto completo. En muchos casos, los documentos enriquecidos son útiles para escenarios que no son de búsqueda, como, por ejemplo, para la minería de datos de conocimiento.
El enriquecimiento se define mediante un conjunto de aptitudes asociado a un indexador. El indexador extraerá y configurará el contenido, mientras que el conjunto de aptitudes identifica, analiza y crea información y estructuras a partir de imágenes, blobs y otros orígenes de datos no estructurados. La salida de una canalización de enriquecimiento es un índice de búsqueda o un almacén de conocimiento.

Un conjunto de aptitudes puede contener aptitudes integradas de Cognitive Search o insertar el procesamiento externo que se proporciona en una aptitud personalizada. Algunos ejemplos de aptitudes personalizadas pueden ser un módulo de entidad personalizado o un clasificador de documentos que tiene como destino un dominio específico, como finanzas, publicaciones científicas o medicina.
Las aptitudes integradas se encuadran en estas categorías:
Las aptitudes de procesamiento de lenguaje natural incluyen reconocimiento de entidades, detección de idioma, extracción de frases clave, manipulación de texto, detección de opiniones (incluida minería de opiniones) y detección de información de identificación personal. Con estas aptitudes, un texto no estructurado se asigna como campos en los que se pueden realizar búsquedas y aplicar filtros en un índice.
Las aptitudes de procesamiento de imágenes incluyen reconocimiento óptico de caracteres (OCR) e identificación de características visuales, como detección facial, interpretación de imágenes, reconocimiento de imágenes (personas famosas y puntos de referencia) o atributos como orientación de la imagen. Estas aptitudes crean representaciones de texto del contenido de las imágenes, lo que permite la realización de búsquedas en dicho contenido mediante las funcionalidades de consulta de Azure Cognitive Search.
Las aptitudes integradas de Azure Cognitive Search se basan en los modelos de aprendizaje automático previamente entrenados de Cognitive Services APIs: Computer Vision y Text Analytics. Puede adjuntar un recurso de Cognitive Services si desea aprovechar estos recursos durante el procesamiento de contenido.
Tanto el lenguaje natural como el procesamiento de imágenes se aplican durante la fase de ingesta de datos, con resultados que forman parte de la composición de un documento en un índice en el que se pueden realizar búsquedas en Azure Cognitive Search. Los datos se obtienen como un conjunto de datos de Azure y luego se insertan a través de una canalización de indexación mediante las aptitudes integradas que necesite.
Disponibilidad de características
El enriquecimiento con IA está disponible en las regiones en las que también lo está Azure Cognitive Services. Puede comprobar la disponibilidad actual del enriquecimiento con IA en la página Productos de Azure disponibles por región. El enriquecimiento con IA está disponible en todas las regiones admitidas excepto:
- Sudeste de Australia
- Norte de China 2
- Este de Noruega
- Centro-oeste de Alemania
Si el servicio de búsqueda se encuentra en una de estas regiones, no puede crear y usar el conjunto de aptitudes, pero el resto de la funcionalidad del servicio de búsqueda está disponible y es totalmente compatible.
Cuándo usar el enriquecimiento con IA
Considere la posibilidad de usar el enriquecimiento si su contenido sin procesar es texto no estructurado, contenido de imagen o contenido que requiere detección y traducción de idiomas. La aplicación de inteligencia artificial a través de las aptitudes cognitivos integradas puede desbloquear este contenido, lo que aumenta su valor y utilidad en las aplicaciones de ciencia de datos y búsqueda.
Además, puede considerar la posibilidad de agregar una aptitud personalizada si tiene código de código abierto, de terceros o de otro fabricante que le gustaría integrar en la canalización. Los modelos de clasificación que identifican las características destacadas de varios tipos de documento se encuentran en esta categoría, pero se puede usar cualquier paquete que agregue valor al contenido.
Casos de uso de las aptitudes integradas
Los conjuntos de aptitudes que se ensamblan mediante aptitudes integradas son apropiados para los siguientes escenarios de aplicación:
El reconocimiento óptico de caracteres (OCR) que reconoce el tipo de letra y el texto manuscrito en documentos digitalizados (JPEG) es quizás la aptitud más usada. Si se adjunta la aptitud de OCR, identificará, extraerá e ingerirá texto de los archivos JPEG.
La traducción de texto de contenido multilingüe es otra aptitud de uso frecuente. Aunque está integrada en la traducción de texto, la detección de idioma también se puede ejecutar de manera independiente si solo quiere los códigos de idioma del contenido de su corpus.
PDF con combinación de imagen y texto. El texto de los archivos PDF se puede extraer durante la indexación sin el uso de los pasos del enriquecimiento, pero la adición del procesamiento de imágenes y del lenguaje natural a menudo puede producir un mejor resultado que el de una indexación estándar.
Documentos no estructurados o semiestructurados cuyo contenido tenga un significado o contexto inherentes que está oculto en el documento mayor.
Los blobs a menudo contienen un cuerpo de contenido grande que se empaqueta en un "campo" único. Al adjuntar aptitudes de procesamiento de imágenes y de lenguaje natural a un indizador, puede crear información que exista en el contenido sin procesar, pero que no se expone como campos distintos. Algunas aptitudes cognitivas integradas y listas para usar que pueden ser de ayuda: extracción de frases clave y reconocimiento de entidades (personas, organizaciones y ubicaciones, por citas varias).
Además, las aptitudes integradas también se pueden usar para reestructurar el contenido mediante operaciones de división de texto, combinación y modelado de forma.
Casos de uso de las aptitudes personalizadas
Las aptitudes personalizadas pueden admitir escenarios más complejos, como el reconocimiento de formularios o la detección de entidades personalizadas mediante un modelo que se proporciona y se encapsula en la interfaz web de aptitudes personalizadas. Entre los ejemplos de aptitudes personalizadas se incluyen Form Recognizer, la integración de Bing Entity Search API y el reconocimiento de entidades personalizadas.
Pasos de enriquecimiento
Una canalización de enriquecimiento consta de indexadores que tienen conjuntos de aptitudes. Un conjunto de aptitudes define los pasos de enriquecimiento, mientras que el indexador impulsa el conjunto de aptitudes. Al configurar un indizador, puede incluir propiedades, como asignaciones de campos de salida que envían contenido enriquecido a un índice de búsqueda o proyecciones que definen estructuras de datos en un almacén de conocimiento.
Una vez que se indexa, puede acceder al contenido mediante solicitudes de búsqueda a través de todos los tipos de consulta compatibles con Azure Cognitive Search.
Paso 1: Fase de conexión y descifrado de documentos
Los indexadores se conectan a orígenes externos mediante la información que proporciona en un origen de datos de indexador. Cuando el indexador se conecta al recurso, "descifrará" los documentos para extraer texto e imágenes. El contenido de imagen se puede redirigir a aptitudes que llevan a cabo procesamiento de imágenes, mientras que el contenido de texto se pone en cola del procesamiento de texto.

En este paso se ensambla todo el contenido inicial o sin procesar que se someterá al enriquecimiento con IA. Para cada documento, se crea un árbol de enriquecimiento. Aunque, inicialmente, el árbol es solo una representación de nodo raíz, crecerá y ganará estructura durante la ejecución del conjunto de aptitudes.
Paso 2: Fase de enriquecimiento del conjunto de aptitudes
Un conjunto de aptitudes define las operaciones atómicas que se realizan en cada documento. Por ejemplo, en el caso de texto e imágenes que se hayan extraído de un PDF, un conjunto de aptitudes puede aplicar el reconocimiento de entidades, la detección de idioma o la extracción de frases clave, para generar en su índice campos nuevos que no están disponibles de manera nativa en el origen.

Un conjunto de aptitudes puede ser mínimo o sumamente complejo y determina no solo el tipo de procesamiento, sino también el orden de las operaciones. La mayoría de los conjuntos contienen entre tres y cinco aptitudes.
Un conjunto de aptitudes, más las asignaciones de campos de salida que se definen como parte de un indexador, especifica por completo la canalización de enriquecimiento. Para más información sobre cómo unir todos estos elementos, consulte el artículo sobre cómo definir un conjunto de aptitudes.
Internamente, la canalización genera una colección de documentos enriquecidos. Puede decidir qué elementos de los documentos enriquecidos se deben asignar a los campos del índice de búsqueda que se pueden indexar. Por ejemplo, si aplicara las aptitudes de reconocimiento de entidades y de extracción de frases clave, esos campos nuevos se volverían parte del documento enriquecido y se podrían asignar a los campos del índice. Consulte las anotaciones para más información sobre las formaciones de entrada/salida.
Paso 3: Indexación
La indexación es el proceso en el que el contenido sin procesar y enriquecido se ingiere como campos en un índice de búsqueda, y como proyecciones si también se crea un almacén de conocimiento. El mismo contenido enriquecido puede aparecer en ambos, usando asignaciones de campos implícitas o explícitas para enviarlo a los campos correctos.
El contenido enriquecido se genera durante la ejecución del conjunto de aptitudes y es temporal a menos que lo guarde. Para que el contenido enriquecido aparezca en un índice de búsqueda, el indexador debe tener información de asignación para poder enviar el contenido a un campo de un índice de búsqueda. Las asignaciones de campos de salida establecen estas asociaciones.
Guardado de la salida enriquecida
En Azure Cognitive Search, un indizador guarda el resultado que crea.
Una de las salidas que siempre crea un indexador es un índice que permite búsquedas. La especificación de un índice es un requisito del indexador. Cuando se asocia un conjunto de aptitudes, la salida del conjunto, además de los campos que se asignan directamente desde el origen, se usan para rellenar el índice. Normalmente, las salidas de aptitudes específicas, como frases clave o puntuaciones de opinión, se ingieren en el índice en campos creados para ese fin.
Un almacén de conocimiento es una salida opcional, que se usa para aplicaciones de nivel inferior, como la minería de conocimiento. Los almacenes de conocimiento se definen dentro de conjuntos de aptitudes. Su definición determina si los documentos enriquecidos se proyectan como tablas u objetos (archivos o blobs). Las proyecciones tabulares son adecuadas para análisis interactivos en herramientas como Power BI, mientras que los archivos y los blobs se usan normalmente en ciencia de datos o en procesos similares.
Por último, un indexador puede almacenar en caché documentos enriquecidos en Azure Blob Storage para su posible reutilización en ejecuciones posteriores de conjuntos de aptitudes. La caché es solo para uso interno. Los enriquecimientos almacenados en caché puede consumirlos el mismo conjunto de aptitudes que se vuelve a ejecutar en una fecha posterior. El almacenamiento en caché es útil si el conjunto de aptitudes incluye análisis de imágenes u OCR, y usted desea ahorrarse el tiempo y los gastos derivados de tener que procesar de nuevo los archivos de imagen.
Los índices y los almacenes de conocimiento son totalmente independientes entre sí. Aunque debe adjuntar un índice para satisfacer los requisitos del indexador, si su único objetivo es un almacén de conocimiento, puede omitir el índice una vez rellenado. No obstante, procure no eliminarlo. Si desea volver a ejecutar el indexador y el conjunto de aptitudes, necesitará el índice para que se ejecute el indexador.
Uso de contenido enriquecido
Una vez finalizado el procesamiento, obtendrá un índice de búsqueda que consta de documentos enriquecidos y texto totalmente apto para búsquedas en Azure Cognitive Search. Para acceder al contenido enriquecido que la canalización genera, los desarrolladores y usuarios consultan el índice. El índice es similar a cualquier otro que pueda crear para Azure Cognitive Search: puede complementar análisis de texto con analizadores personalizados, invocar consultas de búsqueda aproximada, agregar filtros o experimentar con perfiles de puntuación para ajustar la pertinencia de la búsqueda.
También puede tener un almacén de conocimiento. El almacén de conocimiento contiene datos que se pueden consumir en escenarios de minería de conocimiento, como análisis o aprendizaje automático. Puede usar el explorador de almacenamiento, Power BI o cualquier aplicación que se conecte a Azure Storage.
Lista de comprobación: Un flujo de trabajo típico
Al iniciar un proyecto, resulta útil trabajar con un subconjunto de datos. El diseño del indexador y del conjunto de aptitudes es un proceso iterativo, e iterará más rápidamente si trabaja con un pequeño conjunto de datos representativo.
Cree un origen de datos que especifique una conexión con sus datos.
Cree un conjunto de aptitudes para agregar enriquecimiento.
Cree un esquema de índice que defina un índice de búsqueda.
Cree un indexador para reunir todos los componentes anteriores. Al crear o ejecutar el indexador, se recuperan los datos, se ejecuta el conjunto de aptitudes y se carga el índice.
Ejecute consultas para evaluar los resultados y modifique el código para actualizar la configuración del indexador, el esquema o los conjuntos de aptitudes.
Para iterar con los pasos anteriores, restablezca el indexador antes de volver a generar la canalización, o bien elimine y vuelva a crear los objetos en cada ejecución (opción recomendada si usa el nivel Gratis). También debe habilitar el almacenamiento en caché de enriquecimiento para reutilizar los enriquecimientos existentes siempre que sea posible.
Pasos siguientes
- Inicio rápido: Traducción de texto y reconocimiento de entidades mediante el Asistente para la importación de datos
- Inicio rápido: Aplicación de OCR y análisis de imágenes mediante el Asistente para importación de datos
- Tutorial: Información sobre las API de REST de enriquecimiento con IA
- Conceptos de conjunto de aptitudes
- Conceptos del almacén de conocimiento
- Creación de un conjunto de aptitudes
- Crear un almacén de conocimientos