Générer des insights sur les données dans BigQuery

Les insights sur les données offrent un moyen automatisé d'explorer et de comprendre vos données. Avec les insights sur les données, Gemini utilise les métadonnées pour générer des questions en langage naturel sur votre tableau et les requêtes permettant d'y répondre. Cela vous permet de découvrir des tendances, d'évaluer la qualité des données et d'effectuer des analyses statistiques.

Ce document décrit les principales fonctionnalités des insights sur les données et le processus permettant d'automatiser la génération de requêtes pour une exploration approfondie des données.

Avant de commencer

Les insights sur les données sont générés à l'aide de Gemini dans BigQuery. Pour commencer à générer des insights, vous devez d'abord configurer Gemini dans BigQuery. Gemini ne traite peut-être pas vos données dans la même région que celle dans laquelle elles sont stockées. Pour en savoir plus, consultez la section Emplacements de diffusion de Gemini.

Rôles requis

Pour créer, gérer et récupérer des insights sur les données, demandez à votre administrateur de vous accorder les rôles IAM suivants :

Pour obtenir un accès en lecture seule aux insights générés, demandez à votre administrateur de vous accorder le rôle IAM suivant :

Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux comptes de service.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis. Pour connaître les autorisations exactes requises pour générer des insights, développez la section Autorisations requises :

Autorisations requises

  • bigquery.jobs.create
  • bigquery.tables.get
  • bigquery.tables.getData
  • dataplex.datascans.create
  • dataplex.datascans.get
  • dataplex.datascans.getData
  • dataplex.datascans.run

Activer les API

Pour utiliser les insights sur les données, activez les API suivantes dans votre projet :

Pour en savoir plus sur l'activation de l'API Gemini pour Google Cloud, consultez la page Activer l'API Gemini pour Google Cloud dans un projet Google Cloud.

À propos des insights sur les données

Lorsque les analystes de données explorent un nouveau tableau inconnu, ils sont souvent confrontés au problème de démarrage à froid. Le problème implique souvent des incertitudes concernant la structure des données, les approches clés et les insights associés dans les données, ce qui rend difficile l'écriture des requêtes.

Les insights sur les données résolvent le problème de démarrage à froid en générant automatiquement des requêtes en langage naturel et leurs équivalents SQL en fonction des métadonnées d'une table. Plutôt que de commencer avec un éditeur de requêtes vide, vous pouvez lancer rapidement l'exploration des données à l'aide de requêtes pertinentes qui fournissent de précieux insights. Pour approfondir l'examen, vous pouvez poser des questions complémentaires dans le canevas de données.

Exemple d'exécution d'insights

Prenons l'exemple d'une table appelée telco_churn contenant les métadonnées suivantes :

Nom du champ Type
CustomerID STRING
Sexe STRING
Ancienneté INT64
InternetService STRING
StreamingTV STRING
OnlineBackup STRING
Contrat STRING
TechSupport STRING
PaymentMethod STRING
MonthlyCharges FLOAT
Churn BOOLEAN

Voici quelques exemples de requêtes générées par les insights sur les données pour cette table :

  • Identifiez les clients qui sont abonnés à tous les services Premium et qui sont clients depuis plus de 50 mois.

    SELECT
      CustomerID,
      Contract,
      Tenure
    FROM
      agentville_datasets.telco_churn
    WHERE
      OnlineBackup = 'Yes'
      AND TechSupport = 'Yes'
      AND StreamingTV = 'Yes'
      AND Tenure > 50;
    
  • Identifiez le service Internet qui compte le plus de clients perdus.

    SELECT
      InternetService,
      COUNT(DISTINCT CustomerID) AS total_customers
    FROM
      agentville_datasets.telco_churn
    WHERE
      Churn = TRUE
    GROUP BY
      InternetService
    ORDER BY
      total_customers DESC
    LIMIT 1;
    
  • Identifiez les taux de perte d'utilisateurs par segment parmi les clients à fort potentiel.

    SELECT
      Contract,
      InternetService,
      Gender,
      PaymentMethod,
      COUNT(DISTINCT CustomerID) AS total_customers,
      SUM(CASE WHEN Churn = TRUE THEN 1 ELSE 0 END) AS churned_customers,
      (SUM(CASE WHEN Churn = TRUE THEN 1 ELSE 0 END) / COUNT(DISTINCT CustomerID))
      * 100 AS churn_rate
    FROM
      agentville_datasets.telco_churn
    WHERE
      MonthlyCharges > 100
    GROUP BY
      Contract,
      InternetService,
      Gender,
      PaymentMethod;
    

Bonnes pratiques

Pour améliorer la précision des insights générés, suivez ces bonnes pratiques:

Ancrer les insights aux résultats du profilage des données

Dans le contexte de l'IA générative, l'ancrage désigne la capacité à connecter les résultats du modèle à des sources d'information vérifiables. Vous pouvez appuyer les insights générés sur les résultats du profilage des données. Le profilage de données analyse les colonnes de vos tables BigQuery et identifie des caractéristiques statistiques courantes, telles que les valeurs de données et la distribution des données typiques. Lorsque vous créez une analyse de profilage des données pour une table, vous pouvez choisir de publier les résultats de l'analyse dans BigQuery et Dataplex Catalog. BigQuery utilise les résultats du profilage des données pour créer des requêtes plus précises et pertinentes en procédant comme suit:

  1. Analyse les résultats du profilage des données pour identifier des modèles, des tendances ou des anomalies intéressants dans les données.
  2. Génère des requêtes axées sur ces modèles, tendances ou anomalies afin d'identifier des insights.
  3. Valide les requêtes générées par rapport aux résultats du profilage des données pour vous assurer qu'elles renvoient des résultats significatifs.

Sans analyse de profilage des données, les requêtes générées par Gemini sont plus susceptibles d'inclure des clauses inexactes ou de produire des résultats sans signification.

Assurez-vous que l'analyse de profilage des données de votre table est à jour et que les résultats sont publiés dans BigQuery.

Vous pouvez ajuster les paramètres de profilage des données pour augmenter la taille de l'échantillonnage et filtrer les lignes et les colonnes. Après avoir exécuté une nouvelle analyse de profilage des données, regénérez les insights.

Ajouter une description de tableau

Les descriptions détaillées des tables qui décrivent ce que vous souhaitez analyser dans votre table peuvent aider Gemini dans BigQuery à produire des insights plus pertinents. Une fois que vous avez ajouté une description de la table, régénèrez les insights.

Par exemple, vous pouvez ajouter la description suivante à la table telco_churn: "Ce tableau suit les données de désabonnement des clients, y compris les détails de l'abonnement, la durée d'abonnement et l'utilisation du service, afin de prédire le comportement de désabonnement des clients."

Ajouter des descriptions de colonnes

Les descriptions de colonnes qui expliquent ce qu'est chaque colonne ou comment une colonne est liée à une autre peuvent améliorer la qualité de vos insights. Une fois que vous avez mis à jour les descriptions des colonnes dans votre table, générez à nouveau des insights.

Par exemple, vous pouvez ajouter les descriptions suivantes à des colonnes spécifiques de la table telco_churn:

  • Tenure: "Nombre de mois pendant lesquels le client a utilisé le service."
  • Churn: "Indique si le client a cessé d'utiliser le service. TRUE indique que le client n'utilise plus le service, FALSE indique que le client est actif."

Générer des insights pour une table BigQuery

Afin de générer des insights pour une table BigQuery, vous devez accéder à l'entrée de table dans BigQuery à l'aide de BigQuery Studio.

  1. Dans la console Google Cloud, accédez à BigQuery Studio.

    Accéder à BigQuery Studio

  2. Dans le volet Explorer, sélectionnez la table pour laquelle vous souhaitez générer des insights.

  3. Cliquez sur l'onglet Insights. Si l'onglet est vide, cela signifie que les insights de cette table ne sont pas encore générés.

  4. Pour déclencher le pipeline d'insights, cliquez sur Générer des insights.

    L'insertion des insights prend quelques minutes.

    Si des résultats de profilage des données publiés pour la table sont disponibles, ils sont utilisés pour générer des insights. Sinon, les insights sont générés en fonction des noms et des descriptions des colonnes.

  5. Dans l'onglet Insights, explorez les questions générées en langage naturel.

  6. Pour afficher la requête SQL qui répond à une question, cliquez sur la question.

  7. Pour ouvrir une requête dans BigQuery, cliquez sur Copier vers la requête.

  8. Pour poser des questions complémentaires, procédez comme suit:

    1. Cliquez sur Poser une question. La requête s'ouvre dans un nouveau canevas de données.

    2. Cliquez sur Exécuter, puis sur Interroger ces résultats.

    3. Pour poser une question de suivi, saisissez une requête dans le champ de requête Langage naturel ou modifiez le code SQL dans l'éditeur de requête.

  9. Pour générer un nouvel ensemble de requêtes, cliquez sur Générer des insights et déclenchez une nouvelle exécution de pipeline.

Une fois que vous avez généré des insights pour une table, toute personne disposant de l'autorisation dataplex.datascans.getData et ayant accès à la table peut les consulter.

Générer des insights pour une table externe BigQuery

Les insights sur les données BigQuery permettent de générer des insights pour les tables externes BigQuery contenant des données dans Cloud Storage. Vous et le compte de service Dataplex pour le projet actuel devez disposer du rôle Lecteur des objets Storage (roles/storage.objectViewer) sur le bucket Cloud Storage contenant les données. Pour plus d'informations, consultez la section Ajouter un compte principal à une stratégie au niveau du bucket.

Pour générer des insights pour une table externe BigQuery, suivez les instructions décrites dans la section Générer des insights pour une table BigQuery de ce document.

Générer des insights pour une table BigLake

Pour générer des insights pour une table BigLake, procédez comme suit :

  1. Activez l'API Connection BigQuery dans votre projet.

    Activez l'API BigQuery Connection.

  2. Créer une connexion BigQuery Pour en savoir plus, consultez la page Gérer les connexions.

  3. Attribuez le rôle IAM de lecteur des objets de l'espace de stockage (roles/storage.objectViewer) au compte de service correspondant à la connexion BigQuery que vous avez créée.

    Vous pouvez récupérer l'ID du compte de service à partir des informations de connexion.

  4. Pour générer des insights, suivez les instructions décrites dans la section Générer des insights pour une table BigQuery de ce document.

Tarifs

Pour en savoir plus sur les tarifs de cette fonctionnalité, consultez la section Présentation des tarifs de Gemini dans BigQuery.

Quotas et limites

Pour en savoir plus sur les quotas et les limites de cette fonctionnalité, consultez la page Quotas pour Gemini dans BigQuery.

Limites

  • Les insights sur les données sont disponibles pour les tables BigQuery, les tables BigLake, les tables externes et les vues.
  • Pour les clients multicloud, les données des autres clouds ne sont pas disponibles.
  • Les insights sur les données ne sont pas compatibles avec les types de colonnes Geo et JSON.
  • Les exécutions d'Insights ne garantissent pas systématiquement la présentation de requêtes. Pour augmenter les chances de générer des requêtes plus attrayantes, relancez le pipeline d'insights.
  • Pour les tables avec un contrôle des accès au niveau des colonnes (LCA) et des autorisations utilisateur limitées, vous pouvez générer des insights si vous disposez d'un accès en lecture à toutes les colonnes de la table. Pour exécuter les requêtes générées, vous devez disposer d'autorisations suffisantes.

Étape suivante