Effectuer une analyse sémantique avec des fonctions d'IA gérées

Ce tutoriel explique comment utiliser les fonctions d'IA gérées de BigQuery ML pour effectuer une analyse sémantique des commentaires des clients.

Objectifs

Dans ce tutoriel, vous allez :

  • Créer un ensemble de données et charger des données de sentiment dans une table
  • Créer une connexion à une ressource cloud
  • Utilisez les fonctions d'IA suivantes pour effectuer une analyse sémantique :
    • AI.IF : pour filtrer vos données avec des conditions en langage naturel
    • AI.SCORE : évaluer les entrées en fonction du sentiment
    • AI.CLASSIFY : pour classer les entrées dans des catégories définies par l'utilisateur

Coûts

Ce tutoriel fait appel à des composants payants de Google Cloud, y compris ceux-ci :

  • BigQuery
  • BigQuery ML

Pour en savoir plus sur le coût de BigQuery, consultez la page Tarifs de BigQuery.

Pour en savoir plus sur les coûts associés à BigQuery ML, consultez la page Tarifs de BigQuery ML.

Avant de commencer

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.

  6. Enable the BigQuery API and BigQuery Connection API APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

    Pour les nouveaux projets, l'API BigQuery est automatiquement activée.

  7. Facultatif : Activez la facturation pour le projet. Les étapes décrites dans ce document demeurent valables, même si vous ne souhaitez pas activer la facturation ou fournir une carte de crédit. BigQuery fournit un bac à sable permettant d'accomplir les étapes. Pour en savoir plus, consultez la page Activer le bac à sable BigQuery.
  8. Rôles requis

    Pour obtenir les autorisations nécessaires pour utiliser les fonctions d'IA, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :

    Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

    Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

    Créer des exemples de données

    Pour créer un ensemble de données appelé my_dataset pour ce tutoriel, exécutez la requête suivante.

    CREATE SCHEMA my_dataset OPTIONS (location = 'LOCATION');
    

    Créez ensuite une table appelée customer_feedback qui contient des exemples d'avis clients sur un appareil :

    CREATE TABLE my_dataset.customer_feedback AS (
      SELECT
        *
      FROM
        UNNEST( [STRUCT<review_id INT64, review_text STRING> 
          (1, "The battery life is incredible, and the screen is gorgeous! Best phone I've ever had. Totally worth the price."),
          (2, "Customer support was a nightmare. It took three weeks for my order to arrive, and when it did, the box was damaged. Very frustrating!"),
          (3, "The product does exactly what it says on the box. No complaints, but not exciting either."),
          (4, "I'm so happy with this purchase! It arrived early and exceeded all my expectations. The quality is top-notch, although the setup was a bit tricky."),
          (5, "The price is a bit too high for what you get. The material feels cheap and I'm worried it won't last. Service was okay."),
          (6, "Absolutely furious! The item arrived broken, and getting a refund is proving impossible. I will never buy from them again."),
          (7, "This new feature for account access is confusing. I can't find where to update my profile. Please fix this bug!"),
          (8, "The shipping was delayed, but the support team was very helpful and kept me informed. The product itself is great, especially for the price.") 
          ])
    );
    

    Créer une connexion

    Créez une connexion de ressource cloud et obtenez le compte de service de la connexion.

    Sélectionnez l'une des options suivantes :

    Console

    1. Accédez à la page BigQuery.

      Accéder à BigQuery

    2. Dans le panneau de gauche, cliquez sur Explorer :

      Bouton du volet &quot;Explorateur&quot; mis en évidence.

      Si le panneau de gauche n'apparaît pas, cliquez sur Développer le panneau de gauche pour l'ouvrir.

    3. Dans le volet Explorateur, développez le nom de votre projet, puis cliquez sur Connexions.

    4. Sur la page Connexions, cliquez sur Créer une connexion.

    5. Pour Type de connexion, sélectionnez Modèles distants Vertex AI, fonctions à distance, BigLake et Spanner (ressource Cloud).

    6. Dans le champ ID de connexion, saisissez un nom pour votre connexion.

    7. Pour Type d'emplacement, sélectionnez un emplacement pour votre connexion. La connexion doit être colocalisée avec vos autres ressources, telles que les ensembles de données.

    8. Cliquez sur Créer une connexion.

    9. Cliquez sur Accéder à la connexion.

    10. Dans le volet Informations de connexion, copiez l'ID du compte de service à utiliser à l'étape suivante.

    bq

    1. Dans un environnement de ligne de commande, créez une connexion :

      bq mk --connection --location=REGION --project_id=PROJECT_ID \
          --connection_type=CLOUD_RESOURCE CONNECTION_ID

      Le paramètre --project_id remplace le projet par défaut.

      Remplacez les éléments suivants :

      • REGION : votre région de connexion
      • PROJECT_ID : ID de votre projet Google Cloud
      • CONNECTION_ID : ID de votre connexion

      Lorsque vous créez une ressource de connexion, BigQuery crée un compte de service système unique et l'associe à la connexion.

      Dépannage : Si vous obtenez l'erreur de connexion suivante, mettez à jour le Google Cloud SDK :

      Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
      
    2. Récupérez et copiez l'ID du compte de service pour l'utiliser lors d'une prochaine étape :

      bq show --connection PROJECT_ID.REGION.CONNECTION_ID

      Le résultat ressemble à ce qui suit :

      name                          properties
      1234.REGION.CONNECTION_ID     {"serviceAccountId": "connection-1234-9u56h9@gcp-sa-bigquery-condel.iam.gserviceaccount.com"}
      

    Terraform

    Utilisez la ressource google_bigquery_connection.

    Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

    L'exemple suivant crée une connexion de ressources cloud nommée my_cloud_resource_connection dans la région US :

    
    # This queries the provider for project information.
    data "google_project" "default" {}
    
    # This creates a cloud resource connection in the US region named my_cloud_resource_connection.
    # Note: The cloud resource nested object has only one output field - serviceAccountId.
    resource "google_bigquery_connection" "default" {
      connection_id = "my_cloud_resource_connection"
      project       = data.google_project.default.project_id
      location      = "US"
      cloud_resource {}
    }

    Pour appliquer votre configuration Terraform dans un projet Google Cloud , suivez les procédures des sections suivantes.

    Préparer Cloud Shell

    1. Lancez Cloud Shell.
    2. Définissez le projet Google Cloud par défaut dans lequel vous souhaitez appliquer vos configurations Terraform.

      Vous n'avez besoin d'exécuter cette commande qu'une seule fois par projet et vous pouvez l'exécuter dans n'importe quel répertoire.

      export GOOGLE_CLOUD_PROJECT=PROJECT_ID

      Les variables d'environnement sont remplacées si vous définissez des valeurs explicites dans le fichier de configuration Terraform.

    Préparer le répertoire

    Chaque fichier de configuration Terraform doit avoir son propre répertoire (également appelé module racine).

    1. Dans Cloud Shell, créez un répertoire et un nouveau fichier dans ce répertoire. Le nom du fichier doit comporter l'extension .tf, par exemple main.tf. Dans ce tutoriel, le fichier est appelé main.tf.
      mkdir DIRECTORY && cd DIRECTORY && touch main.tf
    2. Si vous suivez un tutoriel, vous pouvez copier l'exemple de code dans chaque section ou étape.

      Copiez l'exemple de code dans le fichier main.tf que vous venez de créer.

      Vous pouvez également copier le code depuis GitHub. Cela est recommandé lorsque l'extrait Terraform fait partie d'une solution de bout en bout.

    3. Examinez et modifiez les exemples de paramètres à appliquer à votre environnement.
    4. Enregistrez les modifications.
    5. Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
      terraform init

      Vous pouvez également utiliser la dernière version du fournisseur Google en incluant l'option -upgrade :

      terraform init -upgrade

    Appliquer les modifications

    1. Examinez la configuration et vérifiez que les ressources que Terraform va créer ou mettre à jour correspondent à vos attentes :
      terraform plan

      Corrigez les modifications de la configuration si nécessaire.

    2. Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant yes lorsque vous y êtes invité :
      terraform apply

      Attendez que Terraform affiche le message "Apply completed!" (Application terminée).

    3. Ouvrez votre projet Google Cloud pour afficher les résultats. Dans la console Google Cloud , accédez à vos ressources dans l'interface utilisateur pour vous assurer que Terraform les a créées ou mises à jour.

    Accorder des autorisations au compte de service de la connexion

    Attribuez le rôle d'utilisateur Vertex AI au compte de service de la connexion. Vous devez accorder ce rôle dans le projet que vous avez créé ou sélectionné dans la section Avant de commencer. L'attribution du rôle dans un autre projet génère l'erreur bqcx-1234567890-xxxx@gcp-sa-bigquery-condel.iam.gserviceaccount.com does not have the permission to access resource.

    Pour accorder le rôle, procédez comme suit :

    1. Accédez à la page IAM et administration.

      Accéder à IAM et administration

    2. Cliquez sur Accorder l'accès.

    3. Dans le champ Nouveaux comptes principaux, saisissez l'ID du compte de service que vous avez copié précédemment.

    4. Dans le champ Sélectionner un rôle, sélectionnez Vertex AI, puis le rôle Utilisateur Vertex AI.

    5. Cliquez sur Enregistrer.

    Catégoriser le sentiment général

    Il peut être utile d'extraire le sentiment général exprimé dans un texte pour prendre en charge des cas d'utilisation tels que les suivants :

    • Évaluez la satisfaction des clients à partir des avis.
    • Surveillez la perception de votre marque sur les réseaux sociaux.
    • Hiérarchisez les demandes d'assistance en fonction du degré de mécontentement des utilisateurs.

    La requête suivante montre comment utiliser la fonction AI.CLASSIFY pour classer les avis de la table customer_feedback comme positifs, négatifs ou neutres :

    SELECT
      review_id,
      review_text,
      AI.CLASSIFY(
        review_text,
        categories => ['positive', 'negative', 'neutral'],
        connection_id => "CONNECTION_ID") AS sentiment
    FROM
      my_dataset.customer_feedback;
    

    Le résultat doit ressembler à ce qui suit :

    +-----------+------------------------------------------+-----------+
    | review_id | review_text                              | sentiment |
    +-----------+------------------------------------------+-----------+
    | 7         | This new feature for account access is   | negative  |
    |           | confusing. I can't find where to update  |           |
    |           | my profile. Please fix this bug!         |           |
    +-----------+------------------------------------------+-----------+
    | 4         | "I'm so happy with this purchase! It     | positive  |
    |           | arrived early and exceeded all my        |           |
    |           | expectations. The quality is top-notch,  |           |
    |           | although the setup was a bit tricky."    |           |
    +-----------+------------------------------------------+-----------+
    | 2         | "Customer support was a nightmare. It    | negative  |
    |           | took three weeks for my order to         |           |
    |           | arrive, and when it did, the box was     |           |
    |           | damaged. Very frustrating!"              |           |
    +-----------+------------------------------------------+-----------+
    | 1         | "The battery life is incredible, and     | positive  |
    |           | the screen is gorgeous! Best phone I've  |           |
    |           | ever had. Totally worth the price."      |           |
    +-----------+------------------------------------------+-----------+
    | 8         | "The shipping was delayed, but the       | positive  |
    |           | support team was very helpful and kept   |           |
    |           | me informed. The product itself is       |           |
    |           | great, especially for the price."        |           |
    +-----------+------------------------------------------+-----------+
    | 5         | The price is a bit too high for what     | negative  |
    |           | you get. The material feels cheap and    |           |
    |           | I'm worried it won't last. Service was   |           |
    |           | okay.                                    |           |
    +-----------+------------------------------------------+-----------+
    | 3         | "The product does exactly what it says   | neutral   |
    |           | on the box. No complaints, but not       |           |
    |           | exciting either."                        |           |
    +-----------+------------------------------------------+-----------+
    | 6         | "Absolutely furious! The item arrived    | negative  |
    |           | broken, and getting a refund is proving  |           |
    |           | impossible. I will never buy from them   |           |
    |           | again."                                  |           |
    +-----------+------------------------------------------+-----------+
    

    Analyser les sentiments basés sur les aspects

    Si un sentiment global tel que positif ou négatif ne suffit pas pour votre cas d'utilisation, vous pouvez analyser un aspect spécifique de la signification du texte. Par exemple, vous pouvez vouloir comprendre l'attitude d'un utilisateur envers la qualité du produit, sans tenir compte de son avis sur son prix. Vous pouvez même demander une valeur personnalisée pour indiquer qu'un aspect particulier ne s'applique pas.

    L'exemple suivant montre comment utiliser la fonction AI.SCORE pour évaluer le sentiment des utilisateurs de 1 à 10 en fonction de l'opinion de chaque avis dans le tableau customer_feedback sur le prix, le service client et la qualité. La fonction renvoie la valeur personnalisée -1 dans les cas où un aspect n'est pas mentionné dans l'avis, ce qui vous permet de les filtrer ultérieurement.

    SELECT
      review_id,
      review_text,
      AI.SCORE(
        ("Score 0.0 to 10 on positive sentiment about PRICE for review: ", review_text,
        "If price is not mentioned, return -1.0"),
        connection_id => "CONNECTION_ID") AS price_score,
      AI.SCORE(
        ("Score 0.0 to 10 on positive sentiment about CUSTOMER SERVICE for review: ", review_text,
        "If customer service is not mentioned, return -1.0"),
        connection_id => "CONNECTION_ID") AS service_score,
      AI.SCORE(
        ("Score 0.0 to 10 on positive sentiment about QUALITY for review: ", review_text,
        "If quality is not mentioned, return -1.0"),
        connection_id => "CONNECTION_ID") AS quality_score
    FROM
      my_dataset.customer_feedback
    LIMIT 3;
    

    Le résultat doit ressembler à ce qui suit :

    +-----------+------------------------------------------+--------------+---------------+---------------+
    | review_id | review_text                              |    price_score | service_score | quality_score |
    +-----------+------------------------------------------+--------------+---------------+---------------+
    | 4         | "I'm so happy with this purchase! It     | -1.0         | -1.0          | 9.5           |
    |           | arrived early and exceeded all my        |              |               |               |
    |           | expectations. The quality is top-notch,  |              |               |               |
    |           | although the setup was a bit tricky."    |              |               |               |
    +-----------+------------------------------------------+--------------+---------------+---------------+
    | 8         | "The shipping was delayed, but the       |  9.0         |  8.5          | 9.0           |
    |           | support team was very helpful and kept   |              |               |               |
    |           | me informed. The product itself is       |              |               |               |
    |           | great, especially for the price."        |              |               |               |
    +-----------+------------------------------------------+--------------+---------------+---------------+
    | 6         | "Absolutely furious! The item arrived    | -1.0         |  1.0          | 0.0           |
    |           | broken, and getting a refund is proving  |              |               |               |
    |           | impossible. I will never buy from them   |              |               |               |
    |           | again."                                  |              |               |               |
    +-----------+------------------------------------------+--------------+---------------+---------------+
    

    Détecter les émotions

    En plus du sentiment positif ou négatif, vous pouvez classer le texte en fonction d'émotions spécifiques que vous sélectionnez. Cela peut être utile lorsque vous souhaitez mieux comprendre les réponses des utilisateurs ou signaler les commentaires très émotifs pour examen.

    SELECT
      review_id,
      review_text,
      AI.CLASSIFY(
        review_text,
        categories => ['joy', 'anger', 'sadness', 'surprise', 'fear', 'disgust', 'neutral', 'other'],
        connection_id => "CONNECTION_ID"
      ) AS emotion
    FROM
      my_dataset.customer_feedback;
    

    Le résultat doit ressembler à ce qui suit :

    +-----------+------------------------------------------+---------+
    | review_id | review_text                              | emotion |
    +-----------+------------------------------------------+---------+
    | 2         | "Customer support was a nightmare. It    | anger   |
    |           | took three weeks for my order to         |         |
    |           | arrive, and when it did, the box was     |         |
    |           | damaged. Very frustrating!"              |         |
    +-----------+------------------------------------------+---------+
    | 7         | This new feature for account access is   | anger   |
    |           | confusing. I can't find where to update  |         |
    |           | my profile. Please fix this bug!         |         |
    +-----------+------------------------------------------+---------+
    | 4         | "I'm so happy with this purchase! It     | joy     |
    |           | arrived early and exceeded all my        |         |
    |           | expectations. The quality is top-notch,  |         |
    |           | although the setup was a bit tricky."    |         |
    +-----------+------------------------------------------+---------+
    | 1         | "The battery life is incredible, and     | joy     |
    |           | the screen is gorgeous! Best phone I've  |         |
    |           | ever had. Totally worth the price."      |         |
    +-----------+------------------------------------------+---------+
    | 8         | "The shipping was delayed, but the       | joy     |
    |           | support team was very helpful and kept   |         |
    |           | me informed. The product itself is       |         |
    |           | great, especially for the price."        |         |
    +-----------+------------------------------------------+---------+
    | 5         | The price is a bit too high for what     | sadness |
    |           | you get. The material feels cheap and    |         |
    |           | I'm worried it won't last. Service was   |         |
    |           | okay.                                    |         |
    +-----------+------------------------------------------+---------+
    | 3         | "The product does exactly what it says   | neutral |
    |           | on the box. No complaints, but not       |         |
    |           | exciting either."                        |         |
    +-----------+------------------------------------------+---------+
    | 6         | "Absolutely furious! The item arrived    | anger   |
    |           | broken, and getting a refund is proving  |         |
    |           | impossible. I will never buy from them   |         |
    |           | again."                                  |         |
    +-----------+------------------------------------------+---------+
    

    Classer les avis par thème

    Vous pouvez utiliser la fonction AI.CLASSIFY pour regrouper les avis dans des thèmes prédéfinis. Par exemple, vous pouvez effectuer les opérations suivantes :

    • Découvrez les thèmes communs dans les commentaires des clients.
    • Organisez vos documents par thème.
    • Acheminez les demandes d'assistance par thème.

    L'exemple suivant montre comment classer les commentaires des clients dans différentes catégories, telles que Problème de facturation ou Accès au compte, puis comment compter le nombre d'avis appartenant à chaque catégorie :

    SELECT
      AI.CLASSIFY(
        review_text,
        categories => ['Billing Issue', 'Account Access',
                       'Product Bug', 'Feature Request',
                       'Shipping Delay', 'Other'],
        connection_id => "CONNECTION_ID") AS topic,
        COUNT(*) AS number_of_reviews,
    FROM
      my_dataset.customer_feedback
    GROUP BY topic
    ORDER BY number_of_reviews DESC;
    

    Le résultat doit ressembler à ce qui suit :

    +----------------+-------------------+
    | topic          | number_of_reviews |
    +----------------+-------------------+
    | Other          | 5                 |
    | Shipping Delay | 2                 |
    | Product Bug    | 1                 |
    +----------------+-------------------+
    

    Identifier les avis sémantiquement similaires

    Vous pouvez utiliser la fonction AI.SCORE pour évaluer la similarité sémantique entre deux textes en lui demandant de noter la similarité de leur signification. Cela peut vous aider à effectuer des tâches telles que les suivantes :

    • Recherchez les entrées en double ou quasi identiques.
    • Regroupez les commentaires similaires.
    • Alimentez les applications de recherche sémantique.

    La requête suivante recherche les avis qui mentionnent des difficultés de configuration du produit :

    SELECT
      review_id,
      review_text,
      AI.SCORE(
        (
          """How similar is the review to the concept of 'difficulty in setting up the product'?
             A higher score indicates more similarity. Review: """,
          review_text),
        connection_id => "CONNECTION_ID") AS setup_difficulty
    FROM my_dataset.customer_feedback
    ORDER BY setup_difficulty DESC
    LIMIT 2;
    

    Le résultat doit ressembler à ce qui suit :

    +-----------+------------------------------------------+------------------+
    | review_id | review_text                              | setup_difficulty |
    +-----------+------------------------------------------+------------------+
    | 4         | "I'm so happy with this purchase! It     | 3                |
    |           | arrived early and exceeded all my        |                  |
    |           | expectations. The quality is top-notch,  |                  |
    |           | although the setup was a bit tricky."    |                  |
    +-----------+------------------------------------------+------------------+
    | 7         | This new feature for account access is   | 1                |
    |           | confusing. I can't find where to update  |                  |
    |           | my profile. Please fix this bug!         |                  |
    +-----------+------------------------------------------+------------------+
    

    Vous pouvez également utiliser la fonction AI.IF pour trouver les avis associés à un texte :

    SELECT
      review_id,
      review_text
    FROM my_dataset.customer_feedback
    WHERE
      AI.IF(
        (
          "Does this review discuss difficulty setting up the product? Review: ",
          review_text),
        connection_id => "CONNECTION_ID");
    

    Combiner des fonctions

    Il peut être utile de combiner ces fonctions dans une même requête. Par exemple, la requête suivante filtre d'abord les avis en fonction du sentiment négatif, puis les classe par type de frustration :

    SELECT
      review_id,
      review_text,
      AI.CLASSIFY(
        review_text,
        categories => [
          'Poor Quality', 'Bad Customer Service', 'High Price', 'Other Negative'],
        connection_id => "CONNECTION_ID") AS negative_topic
    FROM my_dataset.customer_feedback
    WHERE
      AI.IF(
        ("Does this review express a negative sentiment? Review: ", review_text),
        connection_id => "CONNECTION_ID");
    

    Créer des UDF d'invite réutilisables

    Pour que vos requêtes restent lisibles, vous pouvez réutiliser la logique de vos requêtes en créant des fonctions définies par l'utilisateur. La requête suivante crée une fonction permettant de détecter le sentiment négatif en appelant AI.IF avec une invite personnalisée. Il appelle ensuite cette fonction pour filtrer les avis négatifs.

    CREATE OR REPLACE FUNCTION my_dataset.is_negative_sentiment(review_text STRING)
    RETURNS BOOL
    AS (
        AI.IF(
          ("Does this review express a negative sentiment? Review: ", review_text),
          connection_id => "CONNECTION_ID")
    );
    
    SELECT
      review_id,
      review_text
    FROM my_dataset.customer_feedback
    WHERE my_dataset.is_negative_sentiment(review_text);
    

    Effectuer un nettoyage

    Pour éviter que des frais ne soient facturés, vous pouvez supprimer le projet contenant les ressources que vous avez créées, ou conserver le projet et supprimer les ressources individuelles.

    Supprimer votre projet

    Pour supprimer le projet :

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Supprimer l'ensemble de données

    Pour supprimer l'ensemble de données et toutes les ressources qu'il contient, y compris toutes les tables et fonctions, exécutez la requête suivante :

    DROP SCHEMA my_dataset CASCADE;