arrow_back

Utilisation de l'API Natural Language dans Google Docs

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

Utilisation de l'API Natural Language dans Google Docs

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

GSP126

Google Cloud – Ateliers adaptés au rythme de chacun

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 document Google Docs "Natural Language Sample" affichant l'option de menu "Marquer le sentiment"

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 vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour 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/navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le temporaire étudiant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier afin d'éviter que des frais supplémentaires ne vous soient facturés.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up 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
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google. 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.
  3. Si nécessaire, copiez le nom d'utilisateur inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue Se connecter. Cliquez sur Suivant.

  4. Copiez le mot de passe inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue de bienvenue. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis dans le panneau de gauche. Ne saisissez pas vos identifiants Google Cloud Skills Boost. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  5. 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 aux essais offerts.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Vous pouvez afficher le menu qui contient la liste des produits et services Google Cloud en cliquant sur le menu de navigation en haut à gauche. Icône du menu de navigation

Tâche 1 : Activer l'API Natural Language

Avant de commencer, assurez-vous que l'API Natural Language est activée.

  1. Dans la console Google Cloud, sélectionnez Menu de navigation > API et services > Bibliothèque.

  2. 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.

  1. Pour créer une clé API, sélectionnez Menu de navigation > API et services > Identifiants.

  2. Cliquez sur Créer des identifiants tout en haut et sélectionnez Clé API :

  3. 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.

  1. Créez un document Google Docs.
  2. À partir de ce nouveau document, sélectionnez l'élément de menu Extensions > Apps Script.
  3. 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.
  1. Dans la barre de menu, cliquez sur Enregistrer le projet (Bouton &quot;Enregistrer le projet&quot;). Le nom du script est indiqué aux utilisateurs finaux à plusieurs endroits, par exemple dans la boîte de dialogue d'autorisation.
  2. 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.
  3. 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.
  4. 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 Continuer, puis confirmez votre compte.
  5. Autorisez les outils Natural Language à afficher et gérer les documents dans lesquels cette application a été installée.
  6. 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".

Description de l&#39;e-book du projet Gutenberg &quot;Les Aventures d&#39;Alice au pays des merveilles&quot; de Lewis Carroll, avec le texte sélectionné surligné

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.
  1. Revenez à Extensions > Apps Script dans Google Docs.
  2. Dans la fonction retrieveSentiment, supprimez les lignes présentes, puis ajoutez une variable destinée à contenir la clé API que vous avez enregistrée dans la section "Obtenir une clé API" :
var apiKey = "votre clé";
  1. Créez une variable destinée à stocker l'URL de l'API Natural Language, suivie de votre clé API :
var apiEndpoint = 'https://language.googleapis.com/v1/documents:analyzeSentiment?key=' + apiKey;
  1. 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 };
  1. 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' };
  1. 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) };
  1. Appelez l'API, en enregistrant la réponse :
var response = UrlFetchApp.fetch(apiEndpoint, nlOptions);
  1. 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"; 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. 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.

Texte extrait du chapitre &quot;Au fond du terrier&quot;

  1. (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.

Terminer votre quête

Cet atelier d'auto-formation fait partie de la quête Workspace Integrations. Une quête est une série d'ateliers associés qui constituent un parcours de formation. Si vous terminez cette quête, vous obtenez un badge attestant de votre réussite. Vous pouvez rendre publics les badges que vous recevez et ajouter leur lien dans votre CV en ligne ou sur vos comptes de réseaux sociaux. Inscrivez-vous à cette quête pour obtenir immédiatement les crédits associés. Découvrez toutes les quêtes disponibles dans le catalogue Google Cloud Skills Boost.

Atelier suivant

Poursuivez votre quête avec l'atelier Créer une application Web de base de données complète avec App Maker, ou intéressez-vous à La CLI d'Apps Script - clasp.

É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 : 14 juin 2023

Dernier test de l'atelier : 14 juin 2023

Copyright 2024 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.