SlideShare a Scribd company logo
1 of 32
Download to read offline
LUIS BELTRÁN
Enriquecimiento con IA en Azure Cognitive Search
Luis Beltrán
◦ Investigador en Tomas Bata University in Zlín, República
Checa.
◦ Docente en Tecnológico Nacional de México en Celaya,
Mexico.
◦ Alto interés en Xamarin, Azure e Inteligencia Artificial@darkicebeam
luis@luisbeltran.mx
Agenda
◦ ¿Qué es Azure Search?
◦ Enriquecimiento de IA
◦ Descripción
◦ Pasos
◦ Demo
◦ Call to Action
Descarga la presentación: https://bit.ly/LuisMVPWeek
HTML
PNG
Azure Cognitive Search
Search-as-a-Service
◦ Gestión sencilla
◦ Búsquedas por keywords
◦ Analizadores de lenguaje
◦ Soporte a requerimientos geoespaciales
◦ Sugerencias / Autocompletado
◦ Scoring personalizado
◦ Búsqueda de proximidad
◦ Sinónimos,
◦ etc.
Capacidades de los Cognitive Services
Integra la Inteligencia Artificial en tus aplicaciones, sitios web y bots
Detección de objetos,
escenas y actividades.
Reconocimiento e
identificación facial
Reconocimiento de
celebridades y lugares
emblemáticos
Reconocimiento de la
emoción
Reconocimiento de texto y
escritura a mano (OCR)
Extracción y análisis de
metadatos de video, audio
y fotogramas clave
Moderación de contenido
explícito u ofensivo
Reconocimiento de imagen
personalizado
Visión
Detección de idioma
Análisis de sentimiento de
texto
Extracción de frases clave
Reconocimiento de la
entidad
Corrección ortográfica
Moderación de contenido
de texto explícito u
ofensivo, detección de PII
(Personally Identifiable
Information)
Traducción de textos
Traducción de texto
personalizable
Comprensión del lenguaje
contextual
Lenguaje
Resultados de búsqueda
web, noticias, imágenes y
videos sin publicidad
Tendencias para video,
noticias
Identificación de imágenes,
clasificación y extracción de
conocimiento.
Identificación de imágenes y
productos similares.
Reconocimiento y
clasificación de entidades
nombradas
Adquisición de conocimiento
para entidades nombradas
Creación de motores de
búsqueda personalizados sin
publicidad
Sugerencias automáticas
Conocimiento
Transcripción de voz (voz a
texto)
Síntesis de voz (texto a voz)
Traducción de voz en
tiempo real
Identificación y verificación
del orador
Modelos de voz
personalizados para
transcripción y traducción
Voz personalizada
Voz
Extracción de Q&A a partir
de texto no estructurado
Creación de base de
conocimiento (KB) a partir
de colecciones de
preguntas y respuestas
Emparejamiento semántico
para bases de
conocimiento
Aprendizaje de
personalización de
contenido personalizable
Búsqueda
Enriquecimiento de IA
◦ El enriquecimiento de IA es una capacidad de indexación de Azure Cognitive Search
utilizada para extraer texto de imágenes, blobs y otras fuentes de datos no
estructurados.
◦ El enriquecimiento y la extracción hacen que el contenido sea más “buscable”
mediante un índice o una tienda de conocimiento.
◦ La extracción y el enriquecimiento se implementan por medio de habilidades
cognitivas asociadas a un pipeline de indexación.
Desde un punto de vista general…
INGIERE
Datos en cualquier
formato y cualquier
almacenamiento de
Azure
ENRIQUECE EXPLORA
Anotaciones
Habilidades
cognitivas
Búsqueda
Las habilidades cognitivas integradas en Search se dividen en dos categorías:
◦ Las habilidades de procesamiento del lenguaje natural, que incluyen detección de
lenguaje, extracción de frases clave, manipulación de texto, detección de
sentimientos, reconocimiento de entidades. El texto no estructurado es mapeado a
campos filtrables y de búsqueda en un índice.
◦ Las habilidades de procesamiento de imágenes, que incluyen OCR e identificación de
características visuales: detección facial, interpretación de imágenes, reconocimiento
de imágenes (personas famosas y puntos de referencia) o atributos como la
orientación de la imagen. Estas habilidades crean representaciones de texto del
contenido de la imagen, lo que permite realizar búsquedas con las capacidades de
consulta de Azure Cognitive Search.
Arquitectura de Cognitive Search
Skillset:
Un pipeline extensible
de enriquecimiento
Indexación
para
búsqueda
Document
Cracking
Documentos
Anotados
Datos del
Cliente
IEnricherIEnricherHabilidad
Cognitiva
Índice de
Búsqueda
INGIERE ENRIQUECE EXPLORA
Las habilidades cognitivas en Search se basan en modelos de aprendizaje automático
previamente capacitados en API de servicios cognitivos: Computer Vision y Text
Analytics.
El procesamiento de imágenes y lenguaje natural se aplica durante la fase de ingestión
de datos, y los resultados se convierten en parte de la composición de un documento
en un índice de búsqueda en Azure Cognitive Search.
Los datos se obtienen de un Azure dataset y luego se envían a través de un pipeline de
indexación utilizando las habilidades integradas que necesite.
La arquitectura es extensible, por lo que si las habilidades integradas no son suficientes,
puede crear y adjuntar habilidades personalizadas para integrar el procesamiento
personalizado. Por ejemplo, un módulo de entidad personalizado o un clasificador de
documentos dirigido a dominios específicos, tales como publicaciones científicas,
finanzas o medicina.
Requerimientos de las habilidades
personalizadas
https
Habilidad de
traducción
personalizada
{
"values": [
{
"recordId": "7cad2",
"data": {
"value1": "I owe you 5 grand"
}
},
{
"recordId": "7cad3",
"data": {
"value1": "Just my 2 cents",
}
},
…
]
}
{
"values": [
{
"recordId": "7cad2",
"data": {
"myOuput1": "Te debo cinco mil"
}
},
{
"recordId": "7cad3",
"data": {
"myOutput1": "Solo mis 2 centavos"
}
},
…
]
}
Pasos a seguir para construir un pipeline
de enriquecimiento
Un pipeline de enriquecimiento está basado en indexadores.
Los indexadores cargan un índice basado en asignaciones campo-a-campo entre el
índice y su fuente de datos para descifrar documentos (document cracking).
Las habilidades, ahora adjuntadas a los indexadores, interceptan y enriquecen los
documentos de acuerdo con los conjuntos de habilidades (skillsets) definidos.
Una vez indexado, puedes acceder al contenido a través de búsquedas usando
cualquier tipo de consultas admitido por Azure Cognitive Search.
Paso 1: Fase de conexión y “document cracking”
◦ Al comienzo del pipeline, tienes contenido no estructurado de texto o sin texto
(imágenes, documentos escaneados…). Los datos deben existir en un servicio de
almacenamiento de datos de Azure al que pueda acceder el indexador. Los
indexadores pueden "descifrar" los documentos fuente para extraer su texto o crear
contenido de texto de fuentes que no son de texto durante la indexación.
◦ La indexación toma tiempo. Comienza con un conjunto de datos pequeño y
representativo. Luego puedes aumentar gradualmente conforme la solución madura.
Document cracking (descifrando
documentos)
Diferentes tipos de data sources
◦ Blob Storage
◦ Azure SQL
◦ Cosmos DB
◦ Azure Tables
◦ MySQL
◦ Azure Files (preview privado)
Formatos de archivo
soportados en blob storage:
ž rtf
ž json
ž html
ž doc
ž ppt
ž xls
ž pdf
ž xml
ž png
Paso 2: Fase de cognitive skills y enriquecimiento
◦ El enriquecimiento comienza con las habilidades cognitivas realizando operaciones
atómicas. Por ejemplo, una vez descifrado un PDF, puedes aplicar reconocimiento de
entidad, detección de idioma o extracción de frases clave para producir nuevos
campos en su índice que no están disponibles de forma nativa en la fuente.
◦ En conjunto, la colección de habilidades utilizadas en el pipeline se denomina
conjunto de habilidades (skillset).
Un skillset se basa en las habilidades cognitivas integradas o personalizadas que se
conectan. Puede ser tan sencillo o tan complejo como se desee, y determina no solo el
tipo de procesamiento, sino también el orden de las operaciones.
El pipeline de enriquecimiento está especificado el skillset y las asignaciones de campo
definidas como parte de un indexador.
Internamente, el pipeline genera una colección de documentos enriquecidos. Puedes
decidir qué partes de los documentos enriquecidos deben asignarse a campos
indexables en el índice de búsqueda. Por ejemplo, si se aplicaron las habilidades de
extracción de frases clave y reconocimiento de entidades, esos nuevos campos se
convertirían en parte del documento enriquecido y se pueden asignar a campos en su
índice.
Habilidades cognitivas
Habilidades integradas
Extracción de entidad
de ubicación
Extracción de
entidad de personas
Reconocimiento
de celebridades
Detección de
propiedades
Análisis de
sentimientos
Detección de
idioma
Extracción de
etiquetas de imagen
Reconocimiento de
texto impreso
Extracción de
palabras clave
Extracción de
entidad de organización
Detección de
rostros
Utilidades de
texto
Azure
Databricks
Machine Learning
VMs
Azure Machine
Learning
Habilidades
personalizadas
Tu habilidad
personalizada
va aquí
Ejemplo de un skillset
texto
imágenes OCR
(reconocimiento
de texto)
reconocimiento
de entidades
de organización
fusionar texto
reconocimiento
de entidades
de localización
Añade un elemento knowledgeStore para guardar los pipelines
La api-version=2019-05-06-Preview del servicio REST de Search extiende las habilidades
con una definición de KnowledgeStore que proporciona una conexión de
almacenamiento de Azure y proyecciones que describen cómo se guardan los
enriquecimientos.
Esto es complementario al índice.
En un pipeline estándar de IA, los documentos enriquecidos son transitorios, se usan solo
durante la indexación y luego se descartan.
Con el knowledgeStore, se conservan los documentos enriquecidos.
Paso 3: Índice de búsqueda y acceso basado en consultas
Cuando finaliza el procesamiento, se genera un índice de búsqueda que consta de
documentos enriquecidos que soportan búsquedas full-text en Azure Cognitive Search.
Al consultar el índice, los desarrolladores y los usuarios acceden al contenido
enriquecido generado por el pipeline.
El índice es como cualquier otro que pueda crear para Azure Cognitive Search: puede
ser complementado con analizadores personalizados, invocar consultas de búsqueda
difusas, agregar búsqueda filtrada o experimentar con perfiles de puntuación para
remodelar los resultados de búsqueda.
◦ Los índices se generan a partir de un esquema que define los campos, atributos y otras
construcciones adjuntas a un índice específico, tales como perfiles de puntuación y
mapas de sinónimos.
◦ Una vez que se define y llena un índice, puedes indexar de forma incremental para
recoger nuevos documentos y actualizaciones de los originales.
◦ Ciertas modificaciones requieren una reconstrucción completa. Se sugiere usar un
pequeño conjunto de datos hasta que el diseño del esquema sea estable.
Checklist: Un flujo de trabajo típico
1. Obtén una muestra representativa de tus datos almacenados en Azure. La indexación toma tiempo, así
que comienza con un conjunto de datos pequeño y representativo, y luego aumenta gradualmente a
medida que la solución madura.
2. Crea un data source object en Azure Cognitive Search para proporcionar una cadena de conexión y así
obtener los datos.
3. Crea un skillset con los pasos de enriquecimiento descritos.
4. Define el esquema del índice. La colección Fields incluye campos de los datos de origen. También
deberías eliminar campos adicionales para contener los valores generados para el contenido creado
durante el enriquecimiento.
5. Define el indexador que hace referencia a la fuente de datos, el skillset y el índice.
6. Dentro del indexador, agrega outputFieldMappings. Esta sección asigna la salida del skillset (en el paso 3)
a los campos de entrada en el esquema de índice (en el paso 4).
7. Envía la solicitud Create Indexer que acabas de crear (una petición POST con una definición de
indexador en el cuerpo de la solicitud) para expresar el indexador en Azure Cognitive Search. Este paso
es la ejecución del indexador, invocando el pipeline.
8. Realiza consultas para evaluar los resultados y modifica el código para actualizar los skillsets, el esquema
o la configuración del indexador.
9. Restablece el indexador antes de reconstruir el pipeline.
Demo
◦ En esta demostración, combinarás servicios y datos en la nube de Azure para crear un
skillset.
◦ Una vez que todo esté en su lugar, ejecutarás el asistente de importación de datos en
el portal para unirlo todo.
◦ El resultado final es un índice de búsqueda poblado con datos creados por el
procesamiento de IA que puede consultar en el portal mediante el Search Explorer.
◦ Esta demostración usa Azure Cognitive Search, Azure Blob Storage y Azure Cognitive
Services para la IA.
Proyecto open-source disponible en GitHub:
https://github.com/icebeam7/MobileAIEnrichment
¿Cuándo utilizar el enriquecimiento de IA?
Deberías considerar el uso de habilidades cognitivas integradas…
◦ si tu contenido sin procesar es texto no estructurado incluido en imágenes o es un
contenido que requiere detección y traducción de idioma. La aplicación de IA a
través de las habilidades cognitivas incorporadas puede desbloquear este contenido,
aumentando su valor y utilidad en sus aplicaciones de búsqueda y ciencia de datos.
◦ si tienes código open-source o de terceros que deseas integrar en el pipeline. Modelos
de clasificación que identifican características de varios tipos de documentos se
incluyen en esta categoría, pero se podría usar cualquier paquete que agregue valor
a tu contenido.
Call to Action
Introducción al enriquecimiento con IA
https://docs.microsoft.com/es-mx/azure/search/cognitive-search-concept-intro
Quickstart: Creación de un conjunto de aptitudes cognitivas de Azure Cognitive Search en Azure Portal
https://docs.microsoft.com/es-mx/azure/search/cognitive-search-quickstart-blob
Tutorial: Uso de REST y AI para generar contenido en el que se pueden realizar búsquedas desde blobs de Azure
https://docs.microsoft.com/es-mx/azure/search/cognitive-search-tutorial-blob
Tutorial: Uso de C# y AI para generar contenido que permite búsquedas desde blobs de Azure
https://docs.microsoft.com/es-mx/azure/search/cognitive-search-tutorial-blob-dotnet
¡Gracias por
tu atención!
Luis Beltrán
Tomás Bata University in Zlín
Tecnológico Nacional de México en Celaya
luis@luisbeltran.mx luisbeltran.mx @darkicebeam
GitHub:
https://github.com/icebeam7
LinkedIn:
https://linkedin.com/in/luisantoniobeltran
SlideShare:
https://slideshare.net/icebeam
YouTube:
https://youtube.com/user/darkicebeam
About Me:
https://about.me/luis-beltran

More Related Content

Similar to Enriquecimiento de IA con Azure Cognitive Search

Clasificación de la informacion
Clasificación de la informacionClasificación de la informacion
Clasificación de la informacion
tatiana kintero
 

Similar to Enriquecimiento de IA con Azure Cognitive Search (20)

Text Mining con R en SQL Server 2016
Text Mining con R en SQL Server 2016Text Mining con R en SQL Server 2016
Text Mining con R en SQL Server 2016
 
Gobernanza de datos - Azure Purview
Gobernanza de datos - Azure PurviewGobernanza de datos - Azure Purview
Gobernanza de datos - Azure Purview
 
La nueva era de la inteligencia artificial: azure y servicios cognitivos
La nueva era de la inteligencia artificial: azure y servicios cognitivosLa nueva era de la inteligencia artificial: azure y servicios cognitivos
La nueva era de la inteligencia artificial: azure y servicios cognitivos
 
Arquitectura de Información (entregables)
Arquitectura de Información (entregables)Arquitectura de Información (entregables)
Arquitectura de Información (entregables)
 
Recuperación de Información sobre Modelos de Dominio - Presentación JAIIO
Recuperación de Información sobre Modelos de Dominio - Presentación JAIIORecuperación de Información sobre Modelos de Dominio - Presentación JAIIO
Recuperación de Información sobre Modelos de Dominio - Presentación JAIIO
 
Agregando a nuestras apps servicios de IA: Azure IA Vision
Agregando a nuestras apps servicios de IA: Azure IA VisionAgregando a nuestras apps servicios de IA: Azure IA Vision
Agregando a nuestras apps servicios de IA: Azure IA Vision
 
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptxAzure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
 
Creando tu primer ambiente de AI en Azure ML y SQL Server
Creando tu primer ambiente de AI en Azure ML y SQL ServerCreando tu primer ambiente de AI en Azure ML y SQL Server
Creando tu primer ambiente de AI en Azure ML y SQL Server
 
Mejorando la búsqueda Web con Apache Solr
Mejorando la búsqueda Web con Apache SolrMejorando la búsqueda Web con Apache Solr
Mejorando la búsqueda Web con Apache Solr
 
Sí yo he podido aprender algo de eso llamado IA... ¡Créeme, tú también puedes!
Sí yo he podido aprender algo de eso llamado IA... ¡Créeme, tú también puedes!Sí yo he podido aprender algo de eso llamado IA... ¡Créeme, tú también puedes!
Sí yo he podido aprender algo de eso llamado IA... ¡Créeme, tú también puedes!
 
Analisis seo
Analisis seoAnalisis seo
Analisis seo
 
Clasificación de la informacion
Clasificación de la informacionClasificación de la informacion
Clasificación de la informacion
 
Introducción a la Web Semántica
Introducción a la Web SemánticaIntroducción a la Web Semántica
Introducción a la Web Semántica
 
NetBaires 2018 - Azure Serach
NetBaires 2018 - Azure SerachNetBaires 2018 - Azure Serach
NetBaires 2018 - Azure Serach
 
Inteligencia Artificial con Azure.pptx
Inteligencia Artificial con Azure.pptxInteligencia Artificial con Azure.pptx
Inteligencia Artificial con Azure.pptx
 
Herramientas de Microsoft para el Científicos de Datos
Herramientas de Microsoft para el Científicos de DatosHerramientas de Microsoft para el Científicos de Datos
Herramientas de Microsoft para el Científicos de Datos
 
GFI - APS BI Solucion Endeca (2013)
GFI - APS BI Solucion Endeca (2013)GFI - APS BI Solucion Endeca (2013)
GFI - APS BI Solucion Endeca (2013)
 
Introduccion SRI
Introduccion SRIIntroduccion SRI
Introduccion SRI
 
Base De Datos Orientada A Objetos
Base De Datos Orientada A ObjetosBase De Datos Orientada A Objetos
Base De Datos Orientada A Objetos
 
Azure Search
Azure SearchAzure Search
Azure Search
 

More from Luis Beltran

More from Luis Beltran (20)

AI for Accessibility.pptx
AI for Accessibility.pptxAI for Accessibility.pptx
AI for Accessibility.pptx
 
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptxNET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
 
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
 
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
 
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfCEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
 
Computo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptxComputo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptx
 
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
 
ACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptxACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptx
 
UNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxUNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptx
 
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
 
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptxLatino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
 
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
 
ATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptxATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptx
 
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
 
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
 
Real NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptxReal NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptx
 
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptxSesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
 
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
 
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptxLatam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
 
GAIBT Pune - Future of AI.pptx
GAIBT Pune - Future of AI.pptxGAIBT Pune - Future of AI.pptx
GAIBT Pune - Future of AI.pptx
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (12)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

Enriquecimiento de IA con Azure Cognitive Search

  • 1. LUIS BELTRÁN Enriquecimiento con IA en Azure Cognitive Search
  • 2.
  • 3. Luis Beltrán ◦ Investigador en Tomas Bata University in Zlín, República Checa. ◦ Docente en Tecnológico Nacional de México en Celaya, Mexico. ◦ Alto interés en Xamarin, Azure e Inteligencia Artificial@darkicebeam luis@luisbeltran.mx
  • 4. Agenda ◦ ¿Qué es Azure Search? ◦ Enriquecimiento de IA ◦ Descripción ◦ Pasos ◦ Demo ◦ Call to Action Descarga la presentación: https://bit.ly/LuisMVPWeek
  • 6. Azure Cognitive Search Search-as-a-Service ◦ Gestión sencilla ◦ Búsquedas por keywords ◦ Analizadores de lenguaje ◦ Soporte a requerimientos geoespaciales ◦ Sugerencias / Autocompletado ◦ Scoring personalizado ◦ Búsqueda de proximidad ◦ Sinónimos, ◦ etc.
  • 7. Capacidades de los Cognitive Services Integra la Inteligencia Artificial en tus aplicaciones, sitios web y bots Detección de objetos, escenas y actividades. Reconocimiento e identificación facial Reconocimiento de celebridades y lugares emblemáticos Reconocimiento de la emoción Reconocimiento de texto y escritura a mano (OCR) Extracción y análisis de metadatos de video, audio y fotogramas clave Moderación de contenido explícito u ofensivo Reconocimiento de imagen personalizado Visión Detección de idioma Análisis de sentimiento de texto Extracción de frases clave Reconocimiento de la entidad Corrección ortográfica Moderación de contenido de texto explícito u ofensivo, detección de PII (Personally Identifiable Information) Traducción de textos Traducción de texto personalizable Comprensión del lenguaje contextual Lenguaje Resultados de búsqueda web, noticias, imágenes y videos sin publicidad Tendencias para video, noticias Identificación de imágenes, clasificación y extracción de conocimiento. Identificación de imágenes y productos similares. Reconocimiento y clasificación de entidades nombradas Adquisición de conocimiento para entidades nombradas Creación de motores de búsqueda personalizados sin publicidad Sugerencias automáticas Conocimiento Transcripción de voz (voz a texto) Síntesis de voz (texto a voz) Traducción de voz en tiempo real Identificación y verificación del orador Modelos de voz personalizados para transcripción y traducción Voz personalizada Voz Extracción de Q&A a partir de texto no estructurado Creación de base de conocimiento (KB) a partir de colecciones de preguntas y respuestas Emparejamiento semántico para bases de conocimiento Aprendizaje de personalización de contenido personalizable Búsqueda
  • 8. Enriquecimiento de IA ◦ El enriquecimiento de IA es una capacidad de indexación de Azure Cognitive Search utilizada para extraer texto de imágenes, blobs y otras fuentes de datos no estructurados. ◦ El enriquecimiento y la extracción hacen que el contenido sea más “buscable” mediante un índice o una tienda de conocimiento. ◦ La extracción y el enriquecimiento se implementan por medio de habilidades cognitivas asociadas a un pipeline de indexación.
  • 9. Desde un punto de vista general… INGIERE Datos en cualquier formato y cualquier almacenamiento de Azure ENRIQUECE EXPLORA Anotaciones Habilidades cognitivas Búsqueda
  • 10. Las habilidades cognitivas integradas en Search se dividen en dos categorías: ◦ Las habilidades de procesamiento del lenguaje natural, que incluyen detección de lenguaje, extracción de frases clave, manipulación de texto, detección de sentimientos, reconocimiento de entidades. El texto no estructurado es mapeado a campos filtrables y de búsqueda en un índice. ◦ Las habilidades de procesamiento de imágenes, que incluyen OCR e identificación de características visuales: detección facial, interpretación de imágenes, reconocimiento de imágenes (personas famosas y puntos de referencia) o atributos como la orientación de la imagen. Estas habilidades crean representaciones de texto del contenido de la imagen, lo que permite realizar búsquedas con las capacidades de consulta de Azure Cognitive Search.
  • 11. Arquitectura de Cognitive Search Skillset: Un pipeline extensible de enriquecimiento Indexación para búsqueda Document Cracking Documentos Anotados Datos del Cliente IEnricherIEnricherHabilidad Cognitiva Índice de Búsqueda INGIERE ENRIQUECE EXPLORA
  • 12. Las habilidades cognitivas en Search se basan en modelos de aprendizaje automático previamente capacitados en API de servicios cognitivos: Computer Vision y Text Analytics. El procesamiento de imágenes y lenguaje natural se aplica durante la fase de ingestión de datos, y los resultados se convierten en parte de la composición de un documento en un índice de búsqueda en Azure Cognitive Search. Los datos se obtienen de un Azure dataset y luego se envían a través de un pipeline de indexación utilizando las habilidades integradas que necesite. La arquitectura es extensible, por lo que si las habilidades integradas no son suficientes, puede crear y adjuntar habilidades personalizadas para integrar el procesamiento personalizado. Por ejemplo, un módulo de entidad personalizado o un clasificador de documentos dirigido a dominios específicos, tales como publicaciones científicas, finanzas o medicina.
  • 13. Requerimientos de las habilidades personalizadas https Habilidad de traducción personalizada { "values": [ { "recordId": "7cad2", "data": { "value1": "I owe you 5 grand" } }, { "recordId": "7cad3", "data": { "value1": "Just my 2 cents", } }, … ] } { "values": [ { "recordId": "7cad2", "data": { "myOuput1": "Te debo cinco mil" } }, { "recordId": "7cad3", "data": { "myOutput1": "Solo mis 2 centavos" } }, … ] }
  • 14. Pasos a seguir para construir un pipeline de enriquecimiento Un pipeline de enriquecimiento está basado en indexadores. Los indexadores cargan un índice basado en asignaciones campo-a-campo entre el índice y su fuente de datos para descifrar documentos (document cracking). Las habilidades, ahora adjuntadas a los indexadores, interceptan y enriquecen los documentos de acuerdo con los conjuntos de habilidades (skillsets) definidos. Una vez indexado, puedes acceder al contenido a través de búsquedas usando cualquier tipo de consultas admitido por Azure Cognitive Search.
  • 15. Paso 1: Fase de conexión y “document cracking” ◦ Al comienzo del pipeline, tienes contenido no estructurado de texto o sin texto (imágenes, documentos escaneados…). Los datos deben existir en un servicio de almacenamiento de datos de Azure al que pueda acceder el indexador. Los indexadores pueden "descifrar" los documentos fuente para extraer su texto o crear contenido de texto de fuentes que no son de texto durante la indexación. ◦ La indexación toma tiempo. Comienza con un conjunto de datos pequeño y representativo. Luego puedes aumentar gradualmente conforme la solución madura.
  • 16. Document cracking (descifrando documentos) Diferentes tipos de data sources ◦ Blob Storage ◦ Azure SQL ◦ Cosmos DB ◦ Azure Tables ◦ MySQL ◦ Azure Files (preview privado) Formatos de archivo soportados en blob storage: ž rtf ž json ž html ž doc ž ppt ž xls ž pdf ž xml ž png
  • 17. Paso 2: Fase de cognitive skills y enriquecimiento ◦ El enriquecimiento comienza con las habilidades cognitivas realizando operaciones atómicas. Por ejemplo, una vez descifrado un PDF, puedes aplicar reconocimiento de entidad, detección de idioma o extracción de frases clave para producir nuevos campos en su índice que no están disponibles de forma nativa en la fuente. ◦ En conjunto, la colección de habilidades utilizadas en el pipeline se denomina conjunto de habilidades (skillset).
  • 18.
  • 19. Un skillset se basa en las habilidades cognitivas integradas o personalizadas que se conectan. Puede ser tan sencillo o tan complejo como se desee, y determina no solo el tipo de procesamiento, sino también el orden de las operaciones. El pipeline de enriquecimiento está especificado el skillset y las asignaciones de campo definidas como parte de un indexador. Internamente, el pipeline genera una colección de documentos enriquecidos. Puedes decidir qué partes de los documentos enriquecidos deben asignarse a campos indexables en el índice de búsqueda. Por ejemplo, si se aplicaron las habilidades de extracción de frases clave y reconocimiento de entidades, esos nuevos campos se convertirían en parte del documento enriquecido y se pueden asignar a campos en su índice.
  • 20. Habilidades cognitivas Habilidades integradas Extracción de entidad de ubicación Extracción de entidad de personas Reconocimiento de celebridades Detección de propiedades Análisis de sentimientos Detección de idioma Extracción de etiquetas de imagen Reconocimiento de texto impreso Extracción de palabras clave Extracción de entidad de organización Detección de rostros Utilidades de texto Azure Databricks Machine Learning VMs Azure Machine Learning Habilidades personalizadas Tu habilidad personalizada va aquí
  • 21. Ejemplo de un skillset texto imágenes OCR (reconocimiento de texto) reconocimiento de entidades de organización fusionar texto reconocimiento de entidades de localización
  • 22. Añade un elemento knowledgeStore para guardar los pipelines La api-version=2019-05-06-Preview del servicio REST de Search extiende las habilidades con una definición de KnowledgeStore que proporciona una conexión de almacenamiento de Azure y proyecciones que describen cómo se guardan los enriquecimientos. Esto es complementario al índice. En un pipeline estándar de IA, los documentos enriquecidos son transitorios, se usan solo durante la indexación y luego se descartan. Con el knowledgeStore, se conservan los documentos enriquecidos.
  • 23. Paso 3: Índice de búsqueda y acceso basado en consultas Cuando finaliza el procesamiento, se genera un índice de búsqueda que consta de documentos enriquecidos que soportan búsquedas full-text en Azure Cognitive Search. Al consultar el índice, los desarrolladores y los usuarios acceden al contenido enriquecido generado por el pipeline. El índice es como cualquier otro que pueda crear para Azure Cognitive Search: puede ser complementado con analizadores personalizados, invocar consultas de búsqueda difusas, agregar búsqueda filtrada o experimentar con perfiles de puntuación para remodelar los resultados de búsqueda.
  • 24. ◦ Los índices se generan a partir de un esquema que define los campos, atributos y otras construcciones adjuntas a un índice específico, tales como perfiles de puntuación y mapas de sinónimos. ◦ Una vez que se define y llena un índice, puedes indexar de forma incremental para recoger nuevos documentos y actualizaciones de los originales. ◦ Ciertas modificaciones requieren una reconstrucción completa. Se sugiere usar un pequeño conjunto de datos hasta que el diseño del esquema sea estable.
  • 25. Checklist: Un flujo de trabajo típico 1. Obtén una muestra representativa de tus datos almacenados en Azure. La indexación toma tiempo, así que comienza con un conjunto de datos pequeño y representativo, y luego aumenta gradualmente a medida que la solución madura. 2. Crea un data source object en Azure Cognitive Search para proporcionar una cadena de conexión y así obtener los datos. 3. Crea un skillset con los pasos de enriquecimiento descritos. 4. Define el esquema del índice. La colección Fields incluye campos de los datos de origen. También deberías eliminar campos adicionales para contener los valores generados para el contenido creado durante el enriquecimiento. 5. Define el indexador que hace referencia a la fuente de datos, el skillset y el índice. 6. Dentro del indexador, agrega outputFieldMappings. Esta sección asigna la salida del skillset (en el paso 3) a los campos de entrada en el esquema de índice (en el paso 4). 7. Envía la solicitud Create Indexer que acabas de crear (una petición POST con una definición de indexador en el cuerpo de la solicitud) para expresar el indexador en Azure Cognitive Search. Este paso es la ejecución del indexador, invocando el pipeline. 8. Realiza consultas para evaluar los resultados y modifica el código para actualizar los skillsets, el esquema o la configuración del indexador. 9. Restablece el indexador antes de reconstruir el pipeline.
  • 26. Demo ◦ En esta demostración, combinarás servicios y datos en la nube de Azure para crear un skillset. ◦ Una vez que todo esté en su lugar, ejecutarás el asistente de importación de datos en el portal para unirlo todo. ◦ El resultado final es un índice de búsqueda poblado con datos creados por el procesamiento de IA que puede consultar en el portal mediante el Search Explorer. ◦ Esta demostración usa Azure Cognitive Search, Azure Blob Storage y Azure Cognitive Services para la IA.
  • 27.
  • 28. Proyecto open-source disponible en GitHub: https://github.com/icebeam7/MobileAIEnrichment
  • 29. ¿Cuándo utilizar el enriquecimiento de IA? Deberías considerar el uso de habilidades cognitivas integradas… ◦ si tu contenido sin procesar es texto no estructurado incluido en imágenes o es un contenido que requiere detección y traducción de idioma. La aplicación de IA a través de las habilidades cognitivas incorporadas puede desbloquear este contenido, aumentando su valor y utilidad en sus aplicaciones de búsqueda y ciencia de datos. ◦ si tienes código open-source o de terceros que deseas integrar en el pipeline. Modelos de clasificación que identifican características de varios tipos de documentos se incluyen en esta categoría, pero se podría usar cualquier paquete que agregue valor a tu contenido.
  • 30. Call to Action Introducción al enriquecimiento con IA https://docs.microsoft.com/es-mx/azure/search/cognitive-search-concept-intro Quickstart: Creación de un conjunto de aptitudes cognitivas de Azure Cognitive Search en Azure Portal https://docs.microsoft.com/es-mx/azure/search/cognitive-search-quickstart-blob Tutorial: Uso de REST y AI para generar contenido en el que se pueden realizar búsquedas desde blobs de Azure https://docs.microsoft.com/es-mx/azure/search/cognitive-search-tutorial-blob Tutorial: Uso de C# y AI para generar contenido que permite búsquedas desde blobs de Azure https://docs.microsoft.com/es-mx/azure/search/cognitive-search-tutorial-blob-dotnet
  • 31.
  • 32. ¡Gracias por tu atención! Luis Beltrán Tomás Bata University in Zlín Tecnológico Nacional de México en Celaya luis@luisbeltran.mx luisbeltran.mx @darkicebeam GitHub: https://github.com/icebeam7 LinkedIn: https://linkedin.com/in/luisantoniobeltran SlideShare: https://slideshare.net/icebeam YouTube: https://youtube.com/user/darkicebeam About Me: https://about.me/luis-beltran