SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Tutorial – Búsquedas inteligentes con Azure Cognitive Search
Luis Beltrán (luis@luisbeltran.mx)
En esta guía paso a paso aprenderás a implementar Azure Cognitive Search para encontrar
información en datos no estructurados, como puede ser imágenes, documentos PDF, de texto y
otros distintos a una tradicional base de datos. Posteriormente, construirás un sitio web que usa
dicho servicio para permitir que tus usuarios realicen las búsquedas inteligentes de información.
Parte 1 – Creación del servicio inteligente de Search en Azure
Requisitos: Cuenta de Azure
Paso 1. Ingresa al portal de Azure (https://portal.azure.com) y da clic en Create a resource.
En el buscador, ingresa Azure Cognitive Search y selecciónalo de la lista una vez localizado.
Aparecerá la siguiente ventana, simplemente da clic en el botón Create.
En la pestaña de información básica del servicio, da clic en Create new.
Y escribe el nombre SmartSearchRG, dando clic en OK para confirmar.
A continuación, ingresa la siguiente información:
• URL: smartsearchtunombre (por ejemplo smeartsearchluisbeltran)
• Location: Elige la región (South America) Brazil South
Y da clic en Change Pricing Tier
Selecciona el plan gratuito (Free), confirmando la opción dando clic en el botón Select.
Ahora sí da clic en Review + create:
Comenzará un proceso de validación de la información; en caso de ser exitoso este proceso, se
habilitará el botón Create. Haz clic en él y espera a que el aprovisionamiento de recursos finalice.
Cuando la operación finalice, aparecerá la siguiente información, confirmando el resultado. Da
clic en Go to resource en caso de que se haya completado el proceso con éxito.
Aparecerá la información del recurso Search que acabas de crear. Copia la URL de tu servicio en
la sección Overview y pégala en un bloc de notas, la utilizaremos más adelante.
Da clic en la sección Keys y copia la llave principal del servicio. También pégala en el bloc de notas
para utilizarla más adelante:
Paso 2. Accede a este enlace y descarga los archivos incluidos en dicha carpeta compartida. Como
puedes ver en la siguiente imagen, es una colección de distintos formatos: imágenes, archivos
pdf, documentos de texto, etc.
Regresa al portal de Azure y en esta ocasión vamos a crear un recurso Storage account – blob,
file, table, queue. Primero, lo buscamos de la lista:
Una vez localizado, da clic en él y en la pantalla de descripción simplemente da clic en Create:
En la sección de datos básicos, comienza ingresando la siguiente información:
• Resource group: SmartSearchRG (selecciónalo de la lista)
• Storage account name: storagetunombre (por ejemplo, storageluisbeltran)
• Location: (South America) Brazil South
• El resto de las propiedades se quedan igual
• Da clic en Review + créate.
Haz clic en Create en caso de que la validación de información sea exitosa.
El recurso comenzará a provisionarse en Azure. Da clic en Go to resource si la operación también
fue finalizada sin errores:
Paso 3. Vamos a subir los archivos descargados en el paso anterior. Para ello, en la vista de tu
cuenta de almacenamiento (storage), da clic en la sección Containers
En la siguiente pantalla, agrega un nuevo contenedor dando clic en el botón + Container, coloca
el nombre documents y da clic en Create.
Podrás ver que se agregó el contenedor con éxito. Da clic en él para acceder a su contenido.
El cual, por supuesto, está vacío. Da clic en el botón Upload.
En la siguiente pantalla, da clic en el ícono de la carpeta
Selecciona los 14 archivos descargados en el paso anterior y da clic en el botón Open/Add
Ahora haz clic en el botón Upload:
Y comenzará el proceso de subida de archivos:
Cuando este proceso finalice, el contenedor documents tendrá la siguiente apariencia.
Paso 4. Es hora de generar nuestro proceso de búsqueda inteligente. Regresa al recurso
smartsearchtunombre creado en el paso 1 y da clic en Import data.
En la sección Connect to your data, ingresa la siguiente información:
• Data Source: selecciona Azure Blob Storage
• Data source name: Ingresa storagetunombre (lo definiste en el paso 2)
• Data to extract: Content and metadata
• Connection string: Da clic en el botón Choose an existing connection
Selecciona tu cuenta de almacenamiento creada en el paso 2 (la misma que acabas de escribir
en Data source name):
Se te solicitará seleccionar un contenedor donde están los archivos. Elige documents y confirma
haciendo clic en Select
Una vez obtenida la cadena de conexión a tu cuenta de almacenamiento y contenedor, da clic en
Next: Add cognitive skills (Optional).
En la sección Add cognitive skills (Optional), expande la pestaña Attach Cognitive Services y
asegúrate de que está seleccionada la opción Free
Ahora expande la pestaña Add enrichments, coloca el nombre azureblob-skillset al skillset y
selecciona las siguientes opciones:
• Enable OCR and merge all text into merged content field
• Pages (5000 characters chunks) en Enrichment granularity level
• Bajo Text Cognitive Skills, activa Extract people, organization y location names.
• Bajo Image Cognitive Skills, activa Generate tags y captions from images.
Y da clic en Next: Customize target index
En la siguiente pantalla, realiza los siguientes cambios:
• Desactiva el checkbox en la columna Retrievable del campo content.
• Activa el checkbox en la columna Retrievable del campo metadata_storage_name
• Activa (aunque ya deberían venir por defecto) los siguientes campos en la columna
Retrievable: people, organizations, locations, merged_content, text, layoutText,
imageTags e imageCaption.
Da clic en Next: Create an indexer una vez realizado lo anterior:
Ya para finalizar, coloca el nombre azureblob-indexer a tu indexador y en la calendarización
selecciona Once (solo se generará una vez el índice, justo ahora). Da clic en Submit.
Comenzará el proceso de generación del indexador. Si regresas a la sección Overview de tu
servicio Search y seleccionas Indexers, observarás que hay una tarea en proceso:
Después de unos segundos, actualiza la vista con el botón Refresh y observarás que los 14
documentos han sido procesados. Si el status aparece en Warning, no te preocupes, se ha
completado con éxito, aunque es importante revisarlo y entender las advertencias, a fin de
mejorar nuestro buscador.
Paso 5. Vamos a probar nuestro buscador. Para ello, da clic en el botón Search explorer:
En la sección Query string escribe la siguiente cadena de búsqueda:
$select=people,organizations,locations,imageTags,metadata_storage_name&search=satya
Da clic en el botón Search y observa que se devuelven dos resultados (documentos). Cada uno a
su vez contiene información extraída del documento original (cuyo nombre también se incluye
en los resultados), tal como los nombres de las personas identificadas, los nombres de empresas
u organizaciones, ciudades e información descriptiva de la imagen, etc.
El primer documento es un archivo de texto:
Mientras que el segundo documento que incluye el término de búsqueda es una imagen:
Paso 6. A fin de integrar este servicio de búsqueda en tus proyectos, necesitas incluir lo siguiente
en tu petición HTTP:
• Agregar una cabecera llamada api-key, cuyo valor es la llave principal que obtuviste al
visitar la sección Keys de tu recurso Search.
• Realizar una petición de tipo GET a la Request URL que aparece el paso 5 después de dar
clic en Search al incluir la query string.
Observa que la URL incluye la query string, por lo que puedes reemplazar los campos del $select
(la información que quieres que el servicio devuelva en los resultados) y el valor del parámetro
search (el término de búsqueda).

Más contenido relacionado

La actualidad más candente

String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)Ravi_Kant_Sahu
 
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...Edureka!
 
Basic i/o & file handling in java
Basic i/o & file handling in javaBasic i/o & file handling in java
Basic i/o & file handling in javaJayasankarPR2
 
Java Input Output (java.io.*)
Java Input Output (java.io.*)Java Input Output (java.io.*)
Java Input Output (java.io.*)Om Ganesh
 
Resource Bundle
Resource BundleResource Bundle
Resource BundleSunil OS
 
JavaScript
JavaScriptJavaScript
JavaScriptSunil OS
 
Conexion bases de datos a visual basic 6.0
Conexion  bases de datos a visual basic 6.0Conexion  bases de datos a visual basic 6.0
Conexion bases de datos a visual basic 6.0bigdog10
 
Monster JavaScript Course - 50+ projects and applications
Monster JavaScript Course - 50+ projects and applicationsMonster JavaScript Course - 50+ projects and applications
Monster JavaScript Course - 50+ projects and applicationsLaurence Svekis ✔
 
Inter Thread Communicationn.pptx
Inter Thread Communicationn.pptxInter Thread Communicationn.pptx
Inter Thread Communicationn.pptxSelvakumarNSNS
 
Java nio ( new io )
Java nio ( new io )Java nio ( new io )
Java nio ( new io )Jemin Patel
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/ServletSunil OS
 
Dreamweaver - Fichas de Aprendizaje 2014
Dreamweaver - Fichas de Aprendizaje 2014Dreamweaver - Fichas de Aprendizaje 2014
Dreamweaver - Fichas de Aprendizaje 2014jorgequiat
 

La actualidad más candente (20)

String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)
 
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
 
VB net lab.pdf
VB net lab.pdfVB net lab.pdf
VB net lab.pdf
 
Java Quiz Questions
Java Quiz QuestionsJava Quiz Questions
Java Quiz Questions
 
Basic i/o & file handling in java
Basic i/o & file handling in javaBasic i/o & file handling in java
Basic i/o & file handling in java
 
Java practical
Java practicalJava practical
Java practical
 
Java Input Output (java.io.*)
Java Input Output (java.io.*)Java Input Output (java.io.*)
Java Input Output (java.io.*)
 
Java I/O
Java I/OJava I/O
Java I/O
 
Resource Bundle
Resource BundleResource Bundle
Resource Bundle
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Conexion bases de datos a visual basic 6.0
Conexion  bases de datos a visual basic 6.0Conexion  bases de datos a visual basic 6.0
Conexion bases de datos a visual basic 6.0
 
Monster JavaScript Course - 50+ projects and applications
Monster JavaScript Course - 50+ projects and applicationsMonster JavaScript Course - 50+ projects and applications
Monster JavaScript Course - 50+ projects and applications
 
Inter Thread Communicationn.pptx
Inter Thread Communicationn.pptxInter Thread Communicationn.pptx
Inter Thread Communicationn.pptx
 
Java Concurrency by Example
Java Concurrency by ExampleJava Concurrency by Example
Java Concurrency by Example
 
Java nio ( new io )
Java nio ( new io )Java nio ( new io )
Java nio ( new io )
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/Servlet
 
Dreamweaver - Fichas de Aprendizaje 2014
Dreamweaver - Fichas de Aprendizaje 2014Dreamweaver - Fichas de Aprendizaje 2014
Dreamweaver - Fichas de Aprendizaje 2014
 
DOM and Events
DOM and EventsDOM and Events
DOM and Events
 
Swing
SwingSwing
Swing
 
Handling I/O in Java
Handling I/O in JavaHandling I/O in Java
Handling I/O in Java
 

Similar a Tutorial: Busquedas inteligentes con Azure Cognitive Search

Base de datos activa
Base de datos activaBase de datos activa
Base de datos activabarbarasadee
 
Seguridad en access
Seguridad en accessSeguridad en access
Seguridad en accessssuser3a82fb
 
Creacion de una Base de Datos en ACCESS 2013-Objetos
Creacion de una Base de Datos en ACCESS 2013-ObjetosCreacion de una Base de Datos en ACCESS 2013-Objetos
Creacion de una Base de Datos en ACCESS 2013-ObjetosSebastian Andrade
 
Base de datos Juan Gomez 27046004 #44
Base de datos Juan Gomez 27046004 #44 Base de datos Juan Gomez 27046004 #44
Base de datos Juan Gomez 27046004 #44 JuanGomez928
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basicsantiagomario8
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datosRafael Quintero
 
Taller 23 analisis_metadatos_galarraga
Taller 23 analisis_metadatos_galarragaTaller 23 analisis_metadatos_galarraga
Taller 23 analisis_metadatos_galarragaFabricio Galárraga
 
Actividades tema 12
Actividades tema 12Actividades tema 12
Actividades tema 12mariavarey
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informaticanestor2004
 
Realiza una presentación gráficaa.pptx
Realiza una presentación gráficaa.pptxRealiza una presentación gráficaa.pptx
Realiza una presentación gráficaa.pptxNora665337
 
Realizar una presentación gráfica
Realizar una presentación gráficaRealizar una presentación gráfica
Realizar una presentación gráficaSusanaEsmeraldaIzqui
 
Tema01: Primeros Pasos en Access 2016
Tema01: Primeros Pasos en Access 2016Tema01: Primeros Pasos en Access 2016
Tema01: Primeros Pasos en Access 2016Jose Ramon Perez
 
Manual edu bot
Manual edu botManual edu bot
Manual edu botABACO
 

Similar a Tutorial: Busquedas inteligentes con Azure Cognitive Search (20)

Tutorial de bd4o
Tutorial de bd4oTutorial de bd4o
Tutorial de bd4o
 
Base de datos activa
Base de datos activaBase de datos activa
Base de datos activa
 
Temario
Temario Temario
Temario
 
Seguridad en access
Seguridad en accessSeguridad en access
Seguridad en access
 
Creacion de una Base de Datos en ACCESS 2013-Objetos
Creacion de una Base de Datos en ACCESS 2013-ObjetosCreacion de una Base de Datos en ACCESS 2013-Objetos
Creacion de una Base de Datos en ACCESS 2013-Objetos
 
Base de datos Juan Gomez 27046004 #44
Base de datos Juan Gomez 27046004 #44 Base de datos Juan Gomez 27046004 #44
Base de datos Juan Gomez 27046004 #44
 
Manual de paginas web
Manual de paginas webManual de paginas web
Manual de paginas web
 
Manual de paginas web
Manual de paginas webManual de paginas web
Manual de paginas web
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datos
 
Taller 23 analisis_metadatos_galarraga
Taller 23 analisis_metadatos_galarragaTaller 23 analisis_metadatos_galarraga
Taller 23 analisis_metadatos_galarraga
 
Actividades tema 12
Actividades tema 12Actividades tema 12
Actividades tema 12
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
 
Realiza una presentación gráficaa.pptx
Realiza una presentación gráficaa.pptxRealiza una presentación gráficaa.pptx
Realiza una presentación gráficaa.pptx
 
slideshare.pptx
slideshare.pptxslideshare.pptx
slideshare.pptx
 
Realizar una presentación gráfica
Realizar una presentación gráficaRealizar una presentación gráfica
Realizar una presentación gráfica
 
Tema01: Primeros Pasos en Access 2016
Tema01: Primeros Pasos en Access 2016Tema01: Primeros Pasos en Access 2016
Tema01: Primeros Pasos en Access 2016
 
Manual edu bot
Manual edu botManual edu bot
Manual edu bot
 
Tutorial como usar sky drive
Tutorial como usar sky driveTutorial como usar sky drive
Tutorial como usar sky drive
 
Como conectar visual_basic
Como conectar visual_basicComo conectar visual_basic
Como conectar visual_basic
 

Más de Luis Beltran

AI for Accessibility.pptx
AI for Accessibility.pptxAI for Accessibility.pptx
AI for Accessibility.pptxLuis Beltran
 
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.pptxLuis Beltran
 
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptxLuis Beltran
 
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-...Luis Beltran
 
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.pdfLuis Beltran
 
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.pptxLuis Beltran
 
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 .pptxLuis Beltran
 
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.pptxLuis Beltran
 
UNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxUNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxLuis Beltran
 
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...Luis Beltran
 
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.pptxLuis Beltran
 
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptxNOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptxLuis Beltran
 
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 ...Luis Beltran
 
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.pptxLuis Beltran
 
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...Luis Beltran
 
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...Luis Beltran
 
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.pptxLuis Beltran
 
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.pptxLuis Beltran
 
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...Luis Beltran
 
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.pptxLuis Beltran
 

Más de 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
 
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptxNOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.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
 

Último

Introduccion-a-la-electronica-industrial.pptx
Introduccion-a-la-electronica-industrial.pptxIntroduccion-a-la-electronica-industrial.pptx
Introduccion-a-la-electronica-industrial.pptxcj12paz
 
herramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el temaherramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el temaJadeVilcscordova
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaRicardoEstrada90
 
Tipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de DatosTipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de DatosYOMIRAVILLARREAL1
 
Imágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónImágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónUniversidad de Sonora
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionEmanuelMuoz11
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxgustavovasquezv56
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8antoniopalmieriluna
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024NicolleAndrade7
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfYanitza28
 
el uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptxel uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptx221112876
 
microsoft word manuales para todos tipos de estudiamte
microsoft word manuales para todos tipos de estudiamtemicrosoft word manuales para todos tipos de estudiamte
microsoft word manuales para todos tipos de estudiamte2024020140
 
Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaEdwinGarca59
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptxdulcemonterroza
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...axelv9257
 
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdfRedes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdfJosAndrRosarioVzquez
 
NIA_300_PLANEACION_DE_UNA_AUDITORIA_DE_E.pptx
NIA_300_PLANEACION_DE_UNA_AUDITORIA_DE_E.pptxNIA_300_PLANEACION_DE_UNA_AUDITORIA_DE_E.pptx
NIA_300_PLANEACION_DE_UNA_AUDITORIA_DE_E.pptxDaniloDaz4
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfaxelv9257
 
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptxTipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptxJOELGARCIA849853
 
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdfjuan23xpx
 

Último (20)

Introduccion-a-la-electronica-industrial.pptx
Introduccion-a-la-electronica-industrial.pptxIntroduccion-a-la-electronica-industrial.pptx
Introduccion-a-la-electronica-industrial.pptx
 
herramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el temaherramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el tema
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - Estrada
 
Tipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de DatosTipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de Datos
 
Imágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónImágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la información
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacion
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdf
 
el uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptxel uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptx
 
microsoft word manuales para todos tipos de estudiamte
microsoft word manuales para todos tipos de estudiamtemicrosoft word manuales para todos tipos de estudiamte
microsoft word manuales para todos tipos de estudiamte
 
Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación Latinoamerica
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdfRedes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
 
NIA_300_PLANEACION_DE_UNA_AUDITORIA_DE_E.pptx
NIA_300_PLANEACION_DE_UNA_AUDITORIA_DE_E.pptxNIA_300_PLANEACION_DE_UNA_AUDITORIA_DE_E.pptx
NIA_300_PLANEACION_DE_UNA_AUDITORIA_DE_E.pptx
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptxTipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
 
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
 

Tutorial: Busquedas inteligentes con Azure Cognitive Search

  • 1. Tutorial – Búsquedas inteligentes con Azure Cognitive Search Luis Beltrán (luis@luisbeltran.mx) En esta guía paso a paso aprenderás a implementar Azure Cognitive Search para encontrar información en datos no estructurados, como puede ser imágenes, documentos PDF, de texto y otros distintos a una tradicional base de datos. Posteriormente, construirás un sitio web que usa dicho servicio para permitir que tus usuarios realicen las búsquedas inteligentes de información. Parte 1 – Creación del servicio inteligente de Search en Azure Requisitos: Cuenta de Azure Paso 1. Ingresa al portal de Azure (https://portal.azure.com) y da clic en Create a resource.
  • 2. En el buscador, ingresa Azure Cognitive Search y selecciónalo de la lista una vez localizado. Aparecerá la siguiente ventana, simplemente da clic en el botón Create.
  • 3. En la pestaña de información básica del servicio, da clic en Create new. Y escribe el nombre SmartSearchRG, dando clic en OK para confirmar.
  • 4. A continuación, ingresa la siguiente información: • URL: smartsearchtunombre (por ejemplo smeartsearchluisbeltran) • Location: Elige la región (South America) Brazil South Y da clic en Change Pricing Tier
  • 5. Selecciona el plan gratuito (Free), confirmando la opción dando clic en el botón Select. Ahora sí da clic en Review + create:
  • 6. Comenzará un proceso de validación de la información; en caso de ser exitoso este proceso, se habilitará el botón Create. Haz clic en él y espera a que el aprovisionamiento de recursos finalice. Cuando la operación finalice, aparecerá la siguiente información, confirmando el resultado. Da clic en Go to resource en caso de que se haya completado el proceso con éxito.
  • 7. Aparecerá la información del recurso Search que acabas de crear. Copia la URL de tu servicio en la sección Overview y pégala en un bloc de notas, la utilizaremos más adelante. Da clic en la sección Keys y copia la llave principal del servicio. También pégala en el bloc de notas para utilizarla más adelante:
  • 8. Paso 2. Accede a este enlace y descarga los archivos incluidos en dicha carpeta compartida. Como puedes ver en la siguiente imagen, es una colección de distintos formatos: imágenes, archivos pdf, documentos de texto, etc. Regresa al portal de Azure y en esta ocasión vamos a crear un recurso Storage account – blob, file, table, queue. Primero, lo buscamos de la lista:
  • 9. Una vez localizado, da clic en él y en la pantalla de descripción simplemente da clic en Create:
  • 10. En la sección de datos básicos, comienza ingresando la siguiente información: • Resource group: SmartSearchRG (selecciónalo de la lista) • Storage account name: storagetunombre (por ejemplo, storageluisbeltran) • Location: (South America) Brazil South • El resto de las propiedades se quedan igual • Da clic en Review + créate.
  • 11. Haz clic en Create en caso de que la validación de información sea exitosa.
  • 12. El recurso comenzará a provisionarse en Azure. Da clic en Go to resource si la operación también fue finalizada sin errores:
  • 13. Paso 3. Vamos a subir los archivos descargados en el paso anterior. Para ello, en la vista de tu cuenta de almacenamiento (storage), da clic en la sección Containers En la siguiente pantalla, agrega un nuevo contenedor dando clic en el botón + Container, coloca el nombre documents y da clic en Create.
  • 14. Podrás ver que se agregó el contenedor con éxito. Da clic en él para acceder a su contenido. El cual, por supuesto, está vacío. Da clic en el botón Upload. En la siguiente pantalla, da clic en el ícono de la carpeta
  • 15. Selecciona los 14 archivos descargados en el paso anterior y da clic en el botón Open/Add Ahora haz clic en el botón Upload:
  • 16. Y comenzará el proceso de subida de archivos:
  • 17. Cuando este proceso finalice, el contenedor documents tendrá la siguiente apariencia.
  • 18. Paso 4. Es hora de generar nuestro proceso de búsqueda inteligente. Regresa al recurso smartsearchtunombre creado en el paso 1 y da clic en Import data. En la sección Connect to your data, ingresa la siguiente información: • Data Source: selecciona Azure Blob Storage • Data source name: Ingresa storagetunombre (lo definiste en el paso 2) • Data to extract: Content and metadata • Connection string: Da clic en el botón Choose an existing connection
  • 19. Selecciona tu cuenta de almacenamiento creada en el paso 2 (la misma que acabas de escribir en Data source name): Se te solicitará seleccionar un contenedor donde están los archivos. Elige documents y confirma haciendo clic en Select
  • 20. Una vez obtenida la cadena de conexión a tu cuenta de almacenamiento y contenedor, da clic en Next: Add cognitive skills (Optional).
  • 21. En la sección Add cognitive skills (Optional), expande la pestaña Attach Cognitive Services y asegúrate de que está seleccionada la opción Free
  • 22. Ahora expande la pestaña Add enrichments, coloca el nombre azureblob-skillset al skillset y selecciona las siguientes opciones: • Enable OCR and merge all text into merged content field • Pages (5000 characters chunks) en Enrichment granularity level • Bajo Text Cognitive Skills, activa Extract people, organization y location names. • Bajo Image Cognitive Skills, activa Generate tags y captions from images. Y da clic en Next: Customize target index
  • 23. En la siguiente pantalla, realiza los siguientes cambios: • Desactiva el checkbox en la columna Retrievable del campo content. • Activa el checkbox en la columna Retrievable del campo metadata_storage_name • Activa (aunque ya deberían venir por defecto) los siguientes campos en la columna Retrievable: people, organizations, locations, merged_content, text, layoutText, imageTags e imageCaption. Da clic en Next: Create an indexer una vez realizado lo anterior:
  • 24. Ya para finalizar, coloca el nombre azureblob-indexer a tu indexador y en la calendarización selecciona Once (solo se generará una vez el índice, justo ahora). Da clic en Submit. Comenzará el proceso de generación del indexador. Si regresas a la sección Overview de tu servicio Search y seleccionas Indexers, observarás que hay una tarea en proceso:
  • 25. Después de unos segundos, actualiza la vista con el botón Refresh y observarás que los 14 documentos han sido procesados. Si el status aparece en Warning, no te preocupes, se ha completado con éxito, aunque es importante revisarlo y entender las advertencias, a fin de mejorar nuestro buscador.
  • 26. Paso 5. Vamos a probar nuestro buscador. Para ello, da clic en el botón Search explorer:
  • 27. En la sección Query string escribe la siguiente cadena de búsqueda: $select=people,organizations,locations,imageTags,metadata_storage_name&search=satya Da clic en el botón Search y observa que se devuelven dos resultados (documentos). Cada uno a su vez contiene información extraída del documento original (cuyo nombre también se incluye en los resultados), tal como los nombres de las personas identificadas, los nombres de empresas u organizaciones, ciudades e información descriptiva de la imagen, etc. El primer documento es un archivo de texto:
  • 28. Mientras que el segundo documento que incluye el término de búsqueda es una imagen:
  • 29. Paso 6. A fin de integrar este servicio de búsqueda en tus proyectos, necesitas incluir lo siguiente en tu petición HTTP: • Agregar una cabecera llamada api-key, cuyo valor es la llave principal que obtuviste al visitar la sección Keys de tu recurso Search. • Realizar una petición de tipo GET a la Request URL que aparece el paso 5 después de dar clic en Search al incluir la query string. Observa que la URL incluye la query string, por lo que puedes reemplazar los campos del $select (la información que quieres que el servicio devuelva en los resultados) y el valor del parámetro search (el término de búsqueda).