Puntos de control
Create an API Key
/ 25
Create a request to Classify a news article
/ 25
Check the Entity Analysis response
/ 25
Create a new Dataset and table for categorized text data
/ 25
Clasifica texto en categorías con la API de Natural Language
- GSP063
- Descripción general
- Configuración y requisitos
- Tarea 1. Habilita la API de Cloud Natural Language
- Tarea 2. Crea una clave de API
- Tarea 3: Clasifica un artículo de noticia
- Tarea 4. Clasifica un conjunto de datos de texto de gran tamaño
- Tarea 5. Crea una tabla de BigQuery para datos de texto categorizados
- Tarea 6. Clasifica datos de noticias y almacena el resultado en BigQuery
- Tarea 7. Analiza los datos de noticias categorizados en BigQuery
- ¡Felicitaciones!
GSP063
Descripción general
La API de Cloud Natural Language te permite extraer entidades de textos, realizar análisis de opiniones y sintácticos, y clasificar texto en categorías. En este lab, el enfoque es la clasificación de textos. Esta función de la API facilita la clasificación de conjuntos de datos de texto de gran tamaño a través de una base de datos con más de 700 categorías.
Qué aprenderás
- Cómo crear una solicitud a la API de Natural Language y cómo llamar a la API con curl
- Cómo usar la función de clasificación de texto de la API de NL
- Cómo usar la clasificación de texto para entender un conjunto de datos de artículos de noticia
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
- Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón Abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debe usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta. -
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}} También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}} También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia Cuenta de Google podría generar cargos adicionales. -
Haga clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Activa Cloud Shell
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
- Haz clic en Activar Cloud Shell en la parte superior de la consola de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. El resultado contiene una línea que declara el PROJECT_ID para esta sesión:
gcloud
es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
-
Haz clic en Autorizar.
-
Ahora, el resultado debería verse de la siguiente manera:
Resultado:
- Puedes solicitar el ID del proyecto con este comando (opcional):
Resultado:
Resultado de ejemplo:
gcloud
, consulta la guía con la descripción general de gcloud CLI en Google Cloud.
Tarea 1. Habilita la API de Cloud Natural Language
-
Expande el menú de navegación () en la parte superior izquierda de la pantalla.
-
Selecciona APIs y servicios > APIs y servicios habilitados.
- Haz clic en Habilitar APIs y servicios.
-
Luego, busca
language
en el cuadro de búsqueda. -
Haz clic en API de Cloud Natural Language:
Si la API no está habilitada, verás el botón Habilitar.
- Haz clic en Habilitar para habilitarla.
Cuando la API está habilitada, Google Cloud muestra información sobre ella como sigue:
Tarea 2. Crea una clave de API
Dado que estás usando curl
para enviar una solicitud a la API de Natural Language, tendrás que generar una clave de API para pasar la URL de la solicitud.
-
En la consola, haz clic en el menú de navegación > APIs y servicios > Credenciales para crear una clave de API.
-
Luego, haz clic en Crear credenciales.
-
En el menú desplegable, selecciona Clave de API.
-
A continuación, copia la clave que acabas de generar y, luego, haz clic en Cerrar.
Haz clic en Revisar mi progreso para verificar el objetivo.
Ahora que tienes una clave de API, guárdala como una variable de entorno para no tener que ingresar el valor de esta clave en cada solicitud.
Para realizar los próximos pasos, conéctate a través de SSH a la instancia que se te aprovisionó.
- Abre el menú de navegación y selecciona Compute Engine > Instancias de VM. Debes ver una
linux-instance
aprovisionada.
-
Haz clic en el botón SSH. Se te redireccionará a una shell interactiva.
-
En la línea de comandos, reemplaza
<YOUR_API_KEY>
por la clave que acabas de copiar:
Tarea 3: Clasifica un artículo de noticia
Puedes ordenar datos de texto en distintas categorías con una sola llamada a la API mediante el método classifyText de la API de Natural Language. Este método devuelve una lista de categorías de contenido que corresponden a un documento de texto.
La especificidad de la clasificación es variada, desde categorías generales, como /Computers & Electronics
, hasta otras muy específicas, como /Computers & Electronics/Programming/Java (Programming Language)
. En la página de categorías de contenido, se puede encontrar una lista completa de más de 700 posibles categorías.
Comenzarás por clasificar un solo artículo y, luego, verás cómo puedes usar este método para comprender un corpus de noticias de gran tamaño.
- Para empezar, toma este titular y esta descripción de un artículo del New York Times en la sección culinaria:
A Smoky Lobster Salad With a Tapa Twist. This spin on the Spanish pulpo a la gallega skips the octopus, but keeps the sea salt, olive oil, pimentón and boiled potatoes.
- Crea un archivo llamado
request.json
y agrega el código que se encuentra a continuación. Puedes crear el archivo con uno de tus editores de línea de comandos preferidos (nano, vim o emacs).
- Ahora, puedes enviar este texto al método
classifyText
de la API de Natural Language con el siguiente comandocurl
:
Mira la respuesta:
Creaste una solicitud a la API de Speech y, luego, llamaste a la API de Speech.
- Ejecuta el siguiente comando para guardar la respuesta en un archivo
result.json
:
La API devolvió 2 categorías para este texto:
/Food & Drink/Cooking & Recipes
/Food & Drink/Food/Meat & Seafood
El texto no menciona de manera explícita que se trata de una receta ni que incluye mariscos; sin embargo, la API es capaz de categorizarlo. Clasificar un solo artículo es genial; sin embargo, para que realmente veas el poder de esta función, deberás clasificar muchos datos de texto.
Tarea 4. Clasifica un conjunto de datos de texto de gran tamaño
Para ver cómo el método classifyText
puede ayudarte a entender un conjunto de datos con mucho texto, usa este conjunto de datos público de artículos de noticias de la BBC. El conjunto de datos consta de 2,225 artículos de cinco áreas temáticas (negocios, entretenimiento, política, deportes y tecnología) publicados entre 2004 y 2005. Hay un subconjunto de estos artículos ubicado en un bucket público de Cloud Storage. Cada uno de estos artículos está en un archivo .txt.
Para examinar los datos y enviarlos a la API de Natural Language, deberás escribir una secuencia de comandos de Python para leer cada archivo de texto desde Cloud Storage, enviarlo al extremo de classifyText
y almacenar los resultados en una tabla de BigQuery. BigQuery es la herramienta de almacén de macrodatos de Google Cloud, que te permite almacenar y analizar conjuntos de datos de gran tamaño fácilmente.
- Si quieres ver el tipo de texto con el que trabajarás, ejecuta el siguiente comando para ver un artículo (
gsutil
ofrece una interfaz de línea de comandos para Cloud Storage):
A continuación, crearás una tabla de BigQuery para tus datos.
Tarea 5. Crea una tabla de BigQuery para datos de texto categorizados
Antes de enviar el texto a la API de Natural Language, necesitas un lugar para almacenarlo junto con su categoría.
-
Ve al menú de navegación > BigQuery en la consola.
-
Haz clic en Listo.
-
Para crear un conjunto de datos, haz clic en el ícono de Ver acciones junto al ID del proyecto y selecciona Crear conjunto de datos:
-
Asigna el nombre
news_classification_dataset
al conjunto de datos y, luego, haz clic en Crear conjunto de datos. -
Para crear una tabla, haz clic en el ícono Ver acciones junto al elemento
news_classification_dataset
y selecciona Crear tabla.
- Usa la siguiente configuración para la tabla nueva:
- Crea una tabla desde: Tabla vacía.
- Asígnale un nombre a tu tabla: article_data.
- En Esquema, haz clic en Agregar campo y agrega los siguientes 3 campos:
Nombre del campo | Tipo | Modo |
---|---|---|
article_text |
STRING | NULLABLE |
category |
STRING | NULLABLE |
confidence |
FLOAT | NULLABLE |
- Haz clic en Crear tabla.
En este momento, la tabla está vacía. En el siguiente paso, leerás los artículos desde Cloud Storage, los enviarás a la API de Natural Language para clasificarlos y almacenarás el resultado en BigQuery.
Haz clic en Revisar mi progreso para verificar el objetivo.
Tarea 6. Clasifica datos de noticias y almacena el resultado en BigQuery
Para realizar los pasos siguientes, conéctate a Cloud Shell. Si se te solicita, haz clic en Continuar.
Antes de crear una secuencia de comandos para enviar los datos de noticias a la API de Natural Language, tendrás que crear una cuenta de servicio. Esta se usará para autenticar la API de Natural Language y BigQuery desde la secuencia de comandos de Python.
- Exporta el ID de tu proyecto como una variable de entorno:
- Ejecuta los siguientes comandos para crear una cuenta de servicio:
Ya tienes todo listo para enviar los datos de texto a la API de Natural Language.
- Escribe una secuencia de comandos de Python usando el módulo correspondiente para Google Cloud.
Puedes hacer lo mismo con cualquier lenguaje; hay muchas bibliotecas cliente de Cloud.
- Crea un archivo llamado
classify-text.py
y copia allí el siguiente código. Puedes crear un archivo con uno de tus editores de línea de comandos preferidos (nano, vim o emacs).
Ya tienes todo listo para comenzar la clasificación de artículos y su importación a BigQuery.
- Ejecuta la siguiente secuencia de comandos:
La secuencia de comandos demora dos minutos en completarse, por lo que mientras se ejecuta, puedes leer sobre lo que ocurre.
Usas la biblioteca cliente de Python de Google Cloud para acceder a Cloud Storage, la API de Natural Language y BigQuery. Primero, se crea un cliente para cada servicio. Luego, se crean referencias a la tabla de BigQuery. files
es una referencia a cada archivo del conjunto de datos de la BBC incluido en el bucket público. Se revisan los archivos, se descargan los artículos como cadenas y, luego, cada uno se envía a la API de Natural Language en la función classify_text
. Cuando la API de Natural Language devuelve una categoría, el artículo y los datos de su categoría se guardan en la lista rows_for_bq
. Una vez que se completa la clasificación de cada artículo, los datos se insertan en BigQuery con insert_rows()
.
Cuando se haya terminado de ejecutar la secuencia de comandos, habrá que verificar si los datos del artículo se guardaron en BigQuery.
- En BigQuery, navega a la tabla
article_data
en la pestaña Explorador y haz clic en Consulta > En una pestaña nueva para consultar la tabla:
- Edita los resultados en el cuadro Consulta no guardada y agrega un asterisco entre SELECT y FROM:
- Ahora haz clic en Ejecutar.
Verás tus datos cuando se complete la consulta.
- Desplázate hacia la derecha para ver la columna de categoría.
La columna de categoría tiene el nombre de la primera categoría que la API de Natural Language devolvió para el artículo, mientras que la confianza es un valor entre 0 y 1 que indica el grado de seguridad con el que la API categorizó el artículo correctamente.
Aprenderás cómo realizar consultas más complejas sobre los datos en el siguiente paso.
Tarea 7. Analiza los datos de noticias categorizados en BigQuery
Primero, ve qué categorías fueron las más comunes en el conjunto de datos.
-
En la consola de BigQuery, haz clic en + Redactar consulta nueva.
-
Ingresa la siguiente consulta:
- Ahora haz clic en Ejecutar.
En los resultados de la consulta, deberías ver algo como esto:
Si quisieras buscar el artículo que se devolvió para una categoría más específica, como /Arts & Entertainment/Music & Audio/Classical Music
, podrías escribir la siguiente consulta:
Otra opción sería obtener únicamente los artículos en los que la API de Natural Language devolvió un puntaje de confianza superior al 90%:
Para realizar más consultas sobre tus datos, revisa la documentación de BigQuery. BigQuery también se integra en varias herramientas de visualización. Para crear visualizaciones de tus datos de noticias categorizados, consulta la guía de inicio rápido de Data Studio para BigQuery.
¡Felicitaciones!
Aprendiste cómo usar el método de clasificación de texto de la API de Natural Language para clasificar artículos de noticia. Comenzaste por clasificar un artículo y, luego, clasificaste y analizaste un conjunto de datos de noticias de gran tamaño a través de la API de NL con BigQuery.
Temas abordados
- Cómo crear una solicitud de
classifyText
para la API de Natural Language y llamar a la API concurl
- Cómo usar el módulo de Python de Google Cloud para analizar un conjunto de datos de noticias de gran tamaño
- Cómo importar y analizar datos en BigQuery
Finaliza la Quest
Este lab de autoaprendizaje es parte de las Quests Machine Learning APIs, Data Engineering y Language, Speech, Text, & Translation with Google Cloud APIs. Una Quest es una serie de labs relacionados que forman una ruta de aprendizaje. Si completas esta Quest, obtendrás una insignia como reconocimiento por tu logro. Puedes hacer públicas tus insignias y agregar vínculos a ellas en tu currículum en línea o en tus cuentas de redes sociales. Inscríbete en cualquier Quest que contenga este lab y obtén un crédito inmediato de finalización. Consulta el catálogo de Google Cloud Skills Boost para ver todas las Quests disponibles.
Realiza tu próximo lab
Continúa tu Quest con Predice las compras de visitantes con un modelo de clasificación en BQML o intenta aplicar una de estas sugerencias:
Próximos pasos y más información
- Lee los documentos para clasificar contenido con la API de Natural Language.
- Obtén más información sobre BigQuery en la documentación.
Capacitación y certificación de Google Cloud
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Actualización más reciente del manual: 20 de septiembre de 2023
Prueba más reciente del lab: 13 de octubre de 2023
Copyright 2024 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.