ARC130

Descripción general
En un lab de desafío, se le proporcionarán una situación y un conjunto de tareas. En lugar de seguir instrucciones paso a paso, deberás utilizar las habilidades aprendidas en los labs del curso para decidir cómo completar las tareas por tu cuenta. Un sistema automatizado de puntuación (en esta página) mostrará comentarios y determinará si completaste tus tareas correctamente.
En un lab de desafío, no se explican conceptos nuevos de Google Cloud, sino que se espera que amplíes las habilidades que adquiriste, como cambiar los valores predeterminados y leer o investigar los mensajes de error para corregir sus propios errores.
Debe completar correctamente todas las tareas dentro del período establecido para obtener una puntuación del 100%.
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, 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 del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos 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: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Situación del desafío
Hace poco, te uniste a una organización y trabajas como ingeniero júnior de la nube en un equipo. Te asignaron proyectos de aprendizaje automático (AA) y uno de los requisitos de tu cliente es usar el servicio de la API de Cloud Natural Language en Google Cloud para realizar tareas para la finalización de un proyecto.
Se espera que tengas las habilidades y el conocimiento necesarios para realizar las tareas que se indican a continuación.
Tu desafío
Para este desafío, se te pide que configures Documentos de Google y realices un análisis de opiniones sobre algunas reseñas proporcionadas por los clientes, analices la sintaxis y las partes del discurso con la API de Natural Language y crees una solicitud a la API de Natural Language para un idioma que no sea el inglés.
Deberás hacer lo siguiente:
- Crear una clave de API
- Configurar Documentos de Google y llamar a la API de Natural Language
- Analizar la sintaxis y las partes del discurso con la API de Natural Language
- Realizar procesamiento de lenguaje natural multilingüe
Para este lab de desafío, se configuró una instancia de máquina virtual (VM) llamada para que completes las tareas 3 y 4.
Estos son algunos estándares que debes seguir:
- Asegúrate de que todas las APIs necesarias (como la API de Cloud Natural Language) estén habilitadas correctamente.
A continuación, se describe cada tarea en detalle. ¡Buena suerte!
Tarea 1: Crea una clave de API
-
Para esta tarea, debes crear una clave de API que usarás en esta y otras tareas cuando envíes una solicitud a la API de Natural Language.
-
Guarda la clave de API para usarla en otras tareas.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crea una clave de API
Tarea 2: Configura Documentos de Google y llama a la API de Natural Language
Para esta tarea, debes configurar Documentos de Google para usar la API de Natural Language y reconocer la opinión en un texto seleccionado en un documento de Documentos de Google, además de destacar partes del texto según la 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.
-
Crea un nuevo documento de Documentos de Google.
-
Usa el siguiente código en Apps Script. En la función retrieveSentiment, reemplaza "your key here" por tu clave de API real de la consola de Google Cloud.
/**
* @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) {
var apiKey = "your key here"; // Replace with your actual API key
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;
}
- Agrégale texto. Puedes usar el ejemplo de la novela de Charles Dickens, Historia de dos ciudades.
Haz clic en Revisar mi progreso para verificar el objetivo.
Configura Documentos de Google y llama a la API de Natural Language
Tarea 3: Analiza la sintaxis y las partes del discurso con la API de Natural Language
Para completar esta tarea, conéctate a través de SSH a la instancia de VM llamada que se te aprovisionó.
- Crea un archivo JSON llamado
analyze-request.json con el código que aparece a continuación.
{
"document":{
"type":"PLAIN_TEXT",
"content": "Google, headquartered in Mountain View, unveiled the new Android phone at the Consumer Electronic Show. Sundar Pichai said in his keynote that users love their new Android phones."
},
"encodingType": "UTF8"
}
-
Pasa tu solicitud (junto con la variable de entorno de la clave de API que guardaste anteriormente en la tarea 1) a la API de Natural Language con el comando curl o analiza la sintaxis con los comandos de AA de gcloud.
-
Guarda la respuesta en un archivo llamado analyze-response.txt.
Haz clic en Revisar mi progreso para verificar el objetivo.
Analiza la sintaxis y las partes del discurso con la API de Natural Language
Tarea 4: Realiza procesamiento de lenguaje natural multilingüe
Para completar esta tarea, conéctate a través de SSH a la instancia de VM llamada que se te aprovisionó.
- Crea un archivo JSON llamado
multi-nl-request.json con el código que sigue, que contiene una oración en francés.
{
"document":{
"type":"PLAIN_TEXT",
"content":"Le bureau japonais de Google est situé à Roppongi Hills, Tokyo."
}
}
-
Pasa tu solicitud (junto con la variable de entorno de la clave de API que guardaste anteriormente en la tarea 1) a la API de Natural Language con el comando curl o analiza la sintaxis con los comandos de AA de gcloud.
-
Guarda el resultado en un archivo llamado multi-response.txt.
Haz clic en Revisar mi progreso para verificar el objetivo.
Realiza procesamiento de lenguaje natural multilingüe
¡Felicitaciones!
¡Felicitaciones! Realizaste con éxito un análisis de opiniones en texto de Documentos de Google, además de analizar la sintaxis y las partes del discurso llamando a la API de Natural Language.

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: 17 de julio de 2024
Prueba más reciente del lab: 17 de julio de 2024
Copyright 2026 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.