arrow_back

Cómo usar la API de Natural Language desde Documentos de Google

Unirse Acceder
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cómo usar la API de Natural Language desde Documentos de Google

Lab 45 minutos universal_currency_alt 5 créditos show_chart Intermedio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP126

Labs de autoaprendizaje de Google Cloud

Descripción general

La API de Natural Language es un modelo de aprendizaje automático previamente entrenado que puede analizar la sintaxis, extraer entidades y evaluar la opinión de un texto. Puedes llamar a la API de Natural Language desde Documentos de Google para realizar todas estas funciones.

Este lab se enfoca en llamar a la API de Natural Language desde Documentos de Google. Puedes utilizar la API de Natural Language para que reconozca la opinión de un texto seleccionado en un documento de Google y destacar el texto en función de esa opinión.

Cuando completes este lab, podrás seleccionar texto en un documento y marcar su opinión con una opción del menú como se muestra a continuación.

El documento de Google, Muestra de Natural Language, que presenta la opción del menú Marcar opinión

Se destacará el texto en rojo si se trata de una opinión negativa, en verde si es positiva y en amarillo en caso de que sea neutra.

Qué aprenderás

En este lab, aprenderás a realizar las siguientes tareas:

  • Llamar a la API de Natural Language desde Documentos de Google
  • Agregar menús a Documentos de Google
  • Reconocer y trabajar con textos seleccionados en Documentos de Google

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)
Nota: Usa una ventana de navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar su lab y acceder a la consola de Google Cloud

  1. 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
    • Tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haga clic en Abrir la consola de Google. 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 ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta.
  3. Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.

  4. Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.

    Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales.
  5. Haga clic para avanzar por las páginas siguientes:

    • Acepte los términos y condiciones.
    • No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No se registre para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

Tarea 1: Habilita la API de Natural Language

Antes de comenzar, asegúrate de que la API de Natural Language esté habilitada.

  1. En la consola de Google Cloud, selecciona menú de navegación > APIs y servicios > Biblioteca.

  2. Busca la API de Cloud Natural Language y haz clic en la API para habilitarla o confirmar que esté habilitada.

Tarea 2: Obtén una clave de API

Genera una clave de usuario de API para pasar en la URL de solicitud.

  1. Para crear una clave de API, selecciona menú de navegación > APIs y servicios > Credenciales.

  2. Haz clic en Crear credenciales en la parte superior y selecciona Clave de API:

  3. Copia la clave de API en un archivo de texto o un documento de Google para usarla en un paso posterior. Haz clic en Cerrar.

Una vez que hayas obtenido la clave de API, estarás listo para pasar a Documentos de Google.

Haz clic en Revisar mi progreso para verificar el objetivo. Obtener una clave de API

Tarea 3: Configura el documento de Google

Antes de llamar a la API de Natural Language, realiza un programa de Apps Script para crear el menú, vincularlo a una función que permita marcar el texto y extraerlo de la selección del usuario.

  1. Crea un nuevo documento de Google.
  2. Desde el documento nuevo, selecciona el elemento de menú Extensiones > Apps Script.
  3. Borra cualquier código que haya en el editor de secuencias de comandos y pega el código que se encuentra a continuación. Este código crea un elemento de menú, extrae el texto seleccionado actualmente y lo destaca según la opinión. Aún no llamamos a la API de Natural Language.
/** * @OnlyCurrentDoc * * The above comment directs Apps Script to limit the scope of file * access for this add-on. It specifies that this add-on will only * attempt to read or modify the files in which the add-on is used, * and not all of the user's files. The authorization request message * presented to users will reflect this limited scope. */ /** * Creates a menu entry in the Google Docs UI when the document is * opened. * */ function onOpen() { var ui = DocumentApp.getUi(); ui.createMenu('Natural Language Tools') .addItem('Mark Sentiment', 'markSentiment') .addToUi(); } /** * Gets the user-selected text and highlights it based on sentiment * with green for positive sentiment, red for negative, and yellow * for neutral. * */ function markSentiment() { var POSITIVE_COLOR = '#00ff00'; // Colors for sentiments var NEGATIVE_COLOR = '#ff0000'; var NEUTRAL_COLOR = '#ffff00'; var NEGATIVE_CUTOFF = -0.2; // Thresholds for sentiments var POSITIVE_CUTOFF = 0.2; var selection = DocumentApp.getActiveDocument().getSelection(); if (selection) { var string = getSelectedText(); var sentiment = retrieveSentiment(string); // Select the appropriate color var color = NEUTRAL_COLOR; if (sentiment <= NEGATIVE_CUTOFF) { color = NEGATIVE_COLOR; } if (sentiment >= POSITIVE_CUTOFF) { color = POSITIVE_COLOR; } // Highlight the text var elements = selection.getSelectedElements(); for (var i = 0; i < elements.length; i++) { if (elements[i].isPartial()) { var element = elements[i].getElement().editAsText(); var startIndex = elements[i].getStartOffset(); var endIndex = elements[i].getEndOffsetInclusive(); element.setBackgroundColor(startIndex, endIndex, color); } else { var element = elements[i].getElement().editAsText(); foundText = elements[i].getElement().editAsText(); foundText.setBackgroundColor(color); } } } } /** * Returns a string with the contents of the selected text. * If no text is selected, returns an empty string. */ function getSelectedText() { var selection = DocumentApp.getActiveDocument().getSelection(); var string = ""; if (selection) { var elements = selection.getSelectedElements(); for (var i = 0; i < elements.length; i++) { if (elements[i].isPartial()) { var element = elements[i].getElement().asText(); var startIndex = elements[i].getStartOffset(); var endIndex = elements[i].getEndOffsetInclusive() + 1; var text = element.getText().substring(startIndex, endIndex); string = string + text; } else { var element = elements[i].getElement(); // Only translate elements that can be edited as text; skip // images and other non-text elements. if (element.editAsText) { string = string + element.asText().getText(); } } } } return string; } /** Given a string, will call the Natural Language API and retrieve * the sentiment of the string. The sentiment will be a real * number in the range -1 to 1, where -1 is highly negative * sentiment and 1 is highly positive. */ function retrieveSentiment (line) { // TODO: Call the Natural Language API with the line given // and return the sentiment value. return 0.0; } Nota: Para obtener más información sobre Apps Script, consulta la referencia de Google Apps Script.
  1. En la barra de menú, haz clic en Guardar proyecto (Botón Guardar proyecto). (El nombre de la secuencia de comandos se muestra a los usuarios finales en varios lugares, incluido el diálogo de autorización).
  2. Regresa a tu documento. Agrégale texto. Puedes utilizar la muestra de Alicia en el país de las maravillas, del Proyecto Gutenberg (copia y pega la versión que indica Plain Text UTF-8 en el documento), pero siéntete libre de usar cualquier texto que desees.
  3. Vuelve a cargar el documento para ver el nuevo menú que creaste, Natural Language Tools, en la barra de herramientas de Documentos de Google.
  4. Selecciona el texto y, luego, la opción Marcar opinión en el menú de Natural Language Tools. La primera vez que seleccionas esta opción, se te indicará que autorices la secuencia de comandos a ejecutar. Haz clic en Continuar y, luego, confirma tu cuenta.
  5. Permite que Natural Language Tools vea y administre los documentos en los que esta aplicación está instalada.
  6. Una vez que hayas autorizado la secuencia de comandos, el texto seleccionado se destacará en amarillo, ya que el stub para el análisis de opiniones siempre devuelve 0.0, que significa neutral.

Descripción del libro electrónico de la versión del Proyecto Gutenberg de Alicia en el país de las maravillas de Lewis Carrol con el texto seleccionado y destacado

Haz clic en Revisar mi progreso para verificar el objetivo. Configurar el documento de Google

Tarea 4: Llama a la API de Natural Language

Una vez que el programa pueda extraer el texto de la selección y destacarlo, es momento de llamar a la API de Natural Language. Todo esto se realiza en el cuerpo de la función retrieveSentiment.

Nota: Para conocer más sobre la API de Natural Language, consulta la referencia de la API de Cloud Natural Language.
  1. Vuelve a Extensiones > Apps Script en Documentos de Google.
  2. En la función retrieveSentiment, quita las líneas actuales y agrega una variable que contenga tu clave de API, que guardaste en la sección "Obtener una clave de API":
var apiKey = "your key here";
  1. Crea una variable que contenga la URL de la API de Natural Language con tu clave de API anexada:
var apiEndpoint = 'https://language.googleapis.com/v1/documents:analyzeSentiment?key=' + apiKey;
  1. A partir de la línea que se pasó a la función, compila una estructura que conserve el texto de esa línea junto con el tipo y el idioma. Por el momento, el único idioma admitido es inglés.
var docDetails = { language: 'en-us', type: 'PLAIN_TEXT', content: line };
  1. Agrega el tipo de codificación para compilar toda la carga útil de datos a partir de los detalles del documento.
var nlData = { document: docDetails, encodingType: 'UTF8' };
  1. Crea una estructura que contenga la carga útil y la información de encabezado necesaria:
var nlOptions = { method : 'post', contentType: 'application/json', payload : JSON.stringify(nlData) };
  1. Haz la llamada y guarda la respuesta:
var response = UrlFetchApp.fetch(apiEndpoint, nlOptions);
  1. La respuesta se devuelve en formato JSON; analízala y extrae el campo de puntuación, si existe. Se devolverá ese campo, o bien 0.0.
var data = JSON.parse(response); var sentiment = 0.0; // Ensure all pieces were in the returned value if (data && data.documentSentiment && data.documentSentiment.score){ sentiment = data.documentSentiment.score; } return sentiment;

A continuación, se encuentra el código completo para recuperar la opinión.

function retrieveSentiment (line) { var apiKey = "your key here"; var apiEndpoint = 'https://language.googleapis.com/v1/documents:analyzeSentiment?key=' + apiKey; // Create a structure with the text, its language, its type, // and its encoding var docDetails = { language: 'en-us', type: 'PLAIN_TEXT', content: line }; var nlData = { document: docDetails, encodingType: 'UTF8' }; // Package all of the options and the data together for the call var nlOptions = { method : 'post', contentType: 'application/json', payload : JSON.stringify(nlData) }; // And make the call var response = UrlFetchApp.fetch(apiEndpoint, nlOptions); var data = JSON.parse(response); var sentiment = 0.0; // Ensure all pieces were in the returned value if (data && data.documentSentiment && data.documentSentiment.score){ sentiment = data.documentSentiment.score; } return sentiment; }
  1. Guarda la secuencia de comandos, vuelve a cargar el documento y prueba el programa completo. Es posible que tengas que volver a autorizarlo con tus credenciales para habilitar la nueva funcionalidad. Marca diferentes secciones del documento para ver cómo varía la opinión en las distintas partes.

Texto extraído de Down the Rabbit Hole

  1. (Opcional) Escribe y, luego, analiza tus propias palabras. Por ejemplo, escribe y analiza "I'm mad" (estoy enojado) y, luego, escribe y analiza "I'm happy" (estoy feliz). Experimenta para ver cómo la API de Natural Language interpreta distintos grupos, por ejemplo, si analizas "I'm happy. I'm happy. I'm sad". ¿Qué sucede si agregas otro "I'm sad"?

¡Felicitaciones!

Creaste un documento de Google y llamaste a la API de Natural Language para analizar la opinión de las partes del documento seleccionadas.

Finaliza la Quest

Este lab de autoaprendizaje forma parte de la Quest Workspace Integrations. 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 esta Quest y obtén un crédito inmediato de realizació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 Compila una aplicación web completa de base de datos utilizando App Maker o visita Apps Script CLI (clasp).

Próximos pasos y más información

Aprende más sobre Google Cloud con estas sugerencias:

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.

Última actualización del manual: 14 de junio de 2023

Prueba más reciente del lab: 14 de junio 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.