GSP126

Présentation
L'API Natural Language est un modèle de machine learning pré-entraîné qui peut analyser la syntaxe, extraire des entités et évaluer les sentiments véhiculés par un texte. Vous pouvez appeler l'API Natural Language à partir de Google Docs pour exécuter toutes ces fonctions.
Cet atelier se concentre sur les appels de l'API Natural Language à partir de Google Docs. L'API Natural Language permet de reconnaître le sentiment véhiculé par un texte sélectionné dans un document Google Docs et de surligner ce texte en fonction du type de sentiment.
À l'issue de cet atelier, vous serez en mesure de sélectionner du texte dans un document et de lui associer le sentiment qu'il véhicule par le biais d'une option de menu, comme illustré ci-dessous.

Le texte est surligné en rouge pour les sentiments négatifs, en vert pour les sentiments positifs et en jaune pour les sentiments neutres.
Points abordés
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
- Appeler l'API Natural Language à partir de documents Google Docs
- Ajouter des menus à des documents Google Docs
- Reconnaître du texte sélectionné dans un document Google Docs et travailler avec ce texte
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Tâche 1 : Activer l'API Natural Language
Avant de commencer, assurez-vous que l'API Natural Language est activée.
-
Dans la console Google Cloud, sélectionnez Menu de navigation > API et services > Bibliothèque.
-
Recherchez API Cloud Natural Language, puis cliquez sur l'API pour l'activer ou confirmer son activation.
Tâche 2 : Obtenir une clé API
Générez une clé d'utilisateur API à transmettre dans l'URL de requête.
-
Pour créer une clé API, sélectionnez Menu de navigation > API et services > Identifiants.
-
Cliquez sur Créer des identifiants tout en haut et sélectionnez Clé API :
-
Copiez la clé API dans un fichier texte ou un document Google Docs. Vous l'utiliserez dans une étape ultérieure. Cliquez sur Fermer.
Une fois muni de la clé API, vous pouvez accéder à Google Docs.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Obtenir une clé API
Tâche 3 : Configurer votre document Google Docs
Avant d'appeler l'API Natural Language, créez un programme Apps Script pour générer le menu, le lier à une fonction de marquage du texte et extraire le texte de la sélection de l'utilisateur.
- Créez un document Google Docs.
- À partir de ce nouveau document, sélectionnez l'élément de menu Extensions > Apps Script.
- Supprimez tout code éventuellement présent dans l'éditeur de scripts, puis collez dans ce dernier le code ci-dessous. Ce code crée un élément de menu, extrait le texte du texte actuellement sélectionné et surligne le texte selon le sentiment qu'il véhicule. Il n'appelle pas encore l'API 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;
}
Remarque : Pour en savoir plus sur Apps Script, reportez-vous à la documentation de référence Google Apps Script.
- Dans la barre de menu, cliquez sur Enregistrer le projet dans Drive (
). Le nom du script est indiqué aux utilisateurs finaux à plusieurs endroits, par exemple dans la boîte de dialogue d'autorisation.
- Revenez à votre document et ajoutez-y du texte. Pour ce faire, vous pouvez utiliser l'exemple issu de l'e-book Alice in Wonderland (Alice au pays des merveilles) disponible sur le Projet Gutenberg en copiant la version
Plain Text UTF-8 (Texte brut UTF-8) de ce livre et en la collant dans le document. Vous pouvez également utiliser un autre texte de votre choix.
- Rechargez le document pour voir apparaître dans la barre d'outils de Google Docs le menu Natural Language Tools (Outils de langage naturel) que vous venez de créer.
- Sélectionnez du texte, puis choisissez l'option Marquer les sentiments du menu "Outils Natural Language". La première fois que vous sélectionnez cette option, vous êtes invité à autoriser l'exécution du script. Cliquez sur OK, puis confirmez votre compte.
-
Autorisez les outils Natural Language à afficher et gérer les documents dans lesquels cette application a été installée.
- Une fois le script autorisé, le texte sélectionné est surligné en jaune, car le bouchon de programme d'analyse des sentiments renvoie toujours 0.0, c'est-à-dire "neutre".

Cliquez sur Vérifier ma progression pour valider l'objectif.
Configurer votre document Google Docs
Tâche 4 : Appeler l'API Natural Language
Une fois que votre programme est en mesure d'extraire du texte de la sélection et de le surligner, il est temps d'appeler l'API Natural Language. Tout ceci est effectué dans le corps de la fonction retrieveSentiment.
Remarque : Pour en savoir plus sur l'API Natural Language, consultez la documentation de référence de l'API Cloud Natural Language.
- Revenez à Extensions > Apps Script dans Google Docs.
- Dans la fonction
retrieveSentiment, remplacez "your key here" par votre clé API réelle provenant de la console Google Cloud.
var apiKey = "your key here"; // Remplacez par votre clé API réelle
- Créez une variable destinée à stocker l'URL de l'API Natural Language, suivie de votre clé API (ne modifiez pas cette ligne) :
var apiEndpoint = "https://language.googleapis.com/v1/documents:analyzeSentiment?key=" + apiKey;
- Créez à partir de la ligne transmise dans la fonction une structure qui contient le texte de la ligne, ainsi que son type et sa langue. Pour l'instant, la seule langue proposée est l'anglais.
var docDetails = {
language: 'en-us',
type: 'PLAIN_TEXT',
content: line
};
- Créez la totalité de la charge utile de données à partir des détails du document en ajoutant le type d'encodage :
var nlData = {
document: docDetails,
encodingType: 'UTF8'
};
- Créez une structure contenant la charge utile et les informations d'en-tête nécessaires :
var nlOptions = {
method : 'post',
contentType: 'application/json',
payload : JSON.stringify(nlData)
};
- Appelez l'API, en enregistrant la réponse :
var response = UrlFetchApp.fetch(apiEndpoint, nlOptions);
- La réponse est renvoyée au format JSON ; analysez-la et extrayez le champ score, le cas échéant. Faites en sorte que la fonction renvoie ce champ ou la valeur 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;
Le code complet permettant de récupérer les sentiments est présenté ci-dessous :
function retrieveSentiment (line) {
var apiKey = "your key here"; // Remplacez par votre clé API réelle
var apiEndpoint = "https://language.googleapis.com/v1/documents:analyzeSentiment?key=" + apiKey;
// Créez une structure avec le texte, son langage, son type
// et son encodage
var docDetails = {
language: 'en-us',
type: 'PLAIN_TEXT',
content: line
};
var nlData = {
document: docDetails,
encodingType: 'UTF8'
};
// Empaquetez toutes les options et les données ensemble pour l'appel
var nlOptions = {
method : 'post',
contentType: 'application/json',
payload : JSON.stringify(nlData)
};
// Et réalisez l'appel
var response = UrlFetchApp.fetch(apiEndpoint, nlOptions);
var data = JSON.parse(response);
var sentiment = 0.0;
// Assurez-vous que toutes les parties sont comprises dans la valeur renvoyée
si (data && data.documentSentiment
&& data.documentSentiment.score){
sentiment = data.documentSentiment.score;
}
return sentiment;
}
- Enregistrez le script, rechargez le document, puis testez le programme complet. Vous devrez peut-être vous authentifier à nouveau afin d'activer la nouvelle fonctionnalité. Sélectionnez différentes sections de votre document pour découvrir la manière dont les sentiments peuvent varier entre diverses parties du texte.

- (Facultatif) Saisissez puis analysez vos propres mots. Par exemple, saisissez et analysez les expressions "Je suis furieux" et "Je suis heureux". Faites des essais pour voir comment l'API Natural Language interprète différents groupes de mots. Par exemple, analysez "Je suis heureux. Je suis heureux. Je suis triste.". Que se passe-t-il si vous ajoutez "Je suis triste" ?
Félicitations !
Vous avez créé un document Google Docs et appelé l'API Natural Language pour analyser les sentiments sous-jacents des parties sélectionnées dans ce document.
Étapes suivantes et informations supplémentaires
Poursuivez votre apprentissage de Google Cloud avec ces suggestions :
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 21 mars 2025
Dernier test de l'atelier : 21 mars 2025
Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.