Utiliser les insights sur les données pour les données non structurées

Les insights sur les données non structurées utilisent Vertex AI pour transformer les fichiers bruts et non structurés dans Cloud Storage en éléments structurés et interrogeables dans BigQuery. Les insights sur les données non structurées sont optimisés pour les fichiers PDF.

Ce document explique comment configurer les autorisations nécessaires, découvrir les données non structurées, afficher les insights générés et extraire les données dans BigQuery.

Avant de commencer

Avant d'utiliser les insights sur les données non structurées, assurez-vous de disposer des autorisations requises et d'avoir activé les API nécessaires.

Activer les API

Activez les API suivantes dans votre projet :

  • dataplex.googleapis.com
  • bigquery.googleapis.com
  • aiplatform.googleapis.com (Vertex AI)

Rôles requis pour activer les API

Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

Activer les API

Rôles et autorisations nécessaires

Pour configurer et exécuter des insights sur les données non structurées, assurez-vous que vous et les comptes de service utilisés par Knowledge Catalog et BigQuery disposez des rôles et autorisations IAM (Identity and Access Management) requis.

Une analyse de découverte est nécessaire pour localiser automatiquement vos fichiers non structurés dans Cloud Storage et les cataloguer dans des tables d'objets afin qu'ils puissent être analysés. Pour connaître les autorisations générales requises pour exécuter des analyses de découverte sur les buckets Cloud Storage, consultez Découvrir et cataloguer les données Cloud Storage.

Récapitulatif des identités et rôles requis

Type d'identité Format principal standard Rôles IAM requis Objectif principal
Utilisateur final Votre compte utilisateur Google Cloud
  • Administrateur Service Usage
  • Administrateur Dataplex DataScan
  • Lecteur de données Dataplex DataScan
  • Éditeur de données BigQuery
  • Utilisateur de job BigQuery
Vous utilisez ces rôles pour activer les API, configurer et afficher les analyses de découverte, et déclencher l'extraction finale des données.
Agent de découverte Universal Catalog Knowledge Catalog service-<var>PROJECT_NUMBER</var>@gcp-sa-dataplex.iam.gserviceaccount.com
  • Utilisateur Vertex AI
  • Agent de service Discovery
Cet agent de service géré par Google localise vos fichiers non structurés dans Cloud Storage, les catalogue et appelle Vertex AI pour générer des schémas et des métadonnées inférés.
Compte de service de connexion BigQuery service-<var>PROJECT_NUMBER</var>@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
  • Lecteur des objets Storage (sur le bucket source)
  • Utilisateur Vertex AI (dans le projet)
Il connecte BigQuery au stockage externe, ce qui permet à BigQuery de lire les fichiers bruts, de créer des tables d'objets et d'exécuter l'inférence d'IA sans exposer vos identifiants utilisateur personnels.
Compte de service d'exécution du pipeline (facultatif) Un compte de service géré par l'utilisateur
  • Éditeur de données BigQuery
  • Utilisateur de job BigQuery
  • Utilisateur BigQuery
  • Utilisateur Vertex AI
Si vous choisissez d'extraire des données à l'aide d'un pipeline automatisé, cette identité exécute les jobs en arrière-plan pour matérialiser les entités générées par l'IA dans des tables BigQuery.
Compte de service Dataform par défaut (facultatif) service-<var>PROJECT_NUMBER</var>@gcp-sa-dataform.iam.gserviceaccount.com
  • Créateur de jetons du compte de service (attribué au compte de service d'exécution du pipeline)
Lorsque vous utilisez la méthode d'extraction de pipeline, Dataform a besoin de l'autorisation d'emprunter l'identité de votre compte de service d'exécution de pipeline pour orchestrer le workflow.

Rôles et autorisations des utilisateurs finaux

Pour vous assurer que votre compte utilisateur dispose des autorisations nécessaires pour créer des analyses de découverte, afficher des insights et extraire des données, demandez à votre administrateur d'attribuer les rôles IAM suivants à votre compte utilisateur 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.

Ces rôles prédéfinis contiennent les autorisations requises pour créer des analyses de découverte, afficher des insights et extraire des données. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer des analyses de découverte, afficher des insights et extraire des données :

  • Analyses de découverte :
    • dataplex.datascans.create
    • dataplex.datascans.get
    • dataplex.datascans.getData
    • dataplex.datascans.list
  • Extraction de données :
    • bigquery.tables.create
    • bigquery.tables.update
    • bigquery.tables.getData
    • bigquery.jobs.create

Votre administrateur peut également attribuer ces autorisations au compte utilisateur avec des rôles personnalisés ou d'autres rôles prédéfinis.

Rôles et autorisations des agents de service de découverte Knowledge Catalog

L'agent de service du service de découverte Knowledge Catalog est un agent de service qui a besoin d'accéder aux analyses de découverte et d'effectuer des inférences à l'aide de Vertex AI.

Pour vous assurer que l'agent du service de découverte Knowledge Catalog (généralement service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com) dispose des autorisations nécessaires pour exécuter des analyses de découverte et effectuer des inférences à l'aide de Vertex AI, demandez à votre administrateur d'accorder les rôles IAM suivants à l'agent du service de découverte Knowledge Catalog (généralement service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com) 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.

Ces rôles prédéfinis contiennent les autorisations requises pour exécuter des analyses de découverte et effectuer des inférences à l'aide de Vertex AI. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour exécuter des analyses de découverte et effectuer des inférences à l'aide de Vertex AI :

  • aiplatform.endpoints.predict
  • bigquery.datasets.create
  • bigquery.datasets.get
  • storage.buckets.get
  • storage.objects.get
  • storage.objects.list

Votre administrateur peut également attribuer ces autorisations à l'agent de service de découverte du catalogue de connaissances (généralement service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com) avec des rôles personnalisés ou d'autres rôles prédéfinis.

Rôles et autorisations du compte de service de connexion BigQuery

Une connexion à une ressource BigQuery Cloud permet au catalogue de connaissances d'accéder de manière sécurisée aux données non structurées stockées en dehors de BigQuery (par exemple, dans Cloud Storage) et de les découvrir. Lorsque vous créez une connexion, BigQuery crée automatiquement un compte de service dédié en votre nom. Ce compte de service sert d'identité pour se connecter à votre source de données externe.

Par défaut, ce compte de service ne dispose d'aucune autorisation. Vous devez attribuer explicitement à ce compte de service les rôles IAM requis sur les buckets Cloud Storage contenant vos données. Vous pouvez utiliser une connexion BigQuery existante ou en créer une dans le même emplacement que votre bucket Cloud Storage source.

Pour vous assurer que le compte de service de connexion BigQuery (généralement service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com) dispose des autorisations nécessaires pour créer des tables d'objets et exécuter l'inférence, demandez à votre administrateur d'accorder les rôles IAM suivants au compte de service de connexion BigQuery (généralement service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com) :

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

Ces rôles prédéfinis contiennent les autorisations requises pour créer des tables d'objets et exécuter l'inférence. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer des tables d'objets et exécuter l'inférence :

  • storage.buckets.get sur le bucket contenant les données non structurées
  • storage.objects.get sur le bucket contenant les données non structurées
  • aiplatform.endpoints.predict sur le projet

Votre administrateur peut également attribuer au compte de service de connexion BigQuery (généralement service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com) ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Rôles et autorisations du compte de service d'exécution du pipeline (facultatif)

Si vous choisissez d'extraire les données inférées à l'aide d'un pipeline automatisé, vous devez créer ou fournir un compte de service dédié pour exécuter le pipeline. Ce compte de service d'exécution sert d'identité pour authentifier et exécuter de manière sécurisée les tâches d'extraction et d'analyse des données en arrière-plan dans BigQuery. Vous devez également accorder au compte de service Dataform par défaut l'autorisation d'emprunter l'identité de ce compte de service d'exécution.

Pour vous assurer que le compte de service d'exécution du pipeline dispose des autorisations nécessaires pour extraire les entités et les relations inférées à l'aide d'un pipeline, demandez à votre administrateur d'attribuer les rôles IAM suivants au compte de service d'exécution du pipeline 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.

Ces rôles prédéfinis contiennent les autorisations requises pour extraire les entités et les relations inférées à l'aide d'un pipeline. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour extraire les entités et les relations inférées à l'aide d'un pipeline :

  • bigquery.tables.create
  • bigquery.tables.update
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.jobs.create
  • aiplatform.endpoints.predict

Votre administrateur peut également attribuer au compte de service d'exécution du pipeline ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour vous assurer que le compte de service Dataform par défaut (service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com) dispose des autorisations nécessaires pour emprunter l'identité du compte de service d'exécution du pipeline, demandez à votre administrateur d'accorder le rôle IAM Créateur de jetons du compte de service (roles/iam.serviceAccountTokenCreator) au compte de service Dataform par défaut (service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com) sur le compte de service d'exécution du pipeline.

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

Ce rôle prédéfini contient l'autorisation iam.serviceAccounts.getAccessToken, qui est requise pour emprunter l'identité du compte de service d'exécution du pipeline.

Votre administrateur peut également attribuer au compte de service Dataform par défaut (service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com) cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.


Préparer des données non structurées

Avant d'exécuter une analyse de découverte, vous devez importer vos données non structurées dans un bucket Cloud Storage. Les insights sur les données non structurées sont optimisés pour l'analyse des documents PDF.

Pour en savoir plus sur le stockage et la gestion de fichiers dans Cloud Storage, consultez Importer des objets.

Créer une analyse de découverte pour les données non structurées

Pour extraire des insights sémantiques de vos données non structurées, vous devez d'abord créer une analyse de découverte. Cette analyse localise automatiquement vos fichiers non structurés dans Cloud Storage et les catalogue dans une table d'objets. Si vous activez l'option d'insights sur les données au cours de ce processus, Knowledge Catalog utilise Vertex AI pour analyser les fichiers et générer des métadonnées, des schémas et des relations inférés.

  1. Dans la console Google Cloud , accédez à la page Curation des métadonnées.

    Accéder à la sélection des métadonnées

  2. Dans l'onglet Découverte Cloud Storage, cliquez sur Créer.

  3. Attribuez un nom à l'analyse.

  4. Pour sélectionner le bucket Cloud Storage contenant vos données non structurées, cliquez sur Parcourir.

  5. Pour les options de données non structurées, cochez la case Activer l'inférence sémantique.

  6. Dans le champ ID de connexion, spécifiez la connexion BigQuery utilisée pour accéder aux fichiers.

    L'analyse de découverte catalogue automatiquement les données non structurées dans BigQuery en créant des tables d'objets. Étant donné que les tables d'objets découplent de manière sécurisée les identifiants d'accès aux données de l'utilisateur qui exécute les requêtes, une connexion est requise pour s'authentifier auprès de Cloud Storage et lire les fichiers.

  7. Cliquez sur Exécuter maintenant (pour une analyse à la demande) ou sur Créer (pour une analyse planifiée).

    Pour en savoir plus sur toutes les configurations disponibles, consultez Découvrir et cataloguer les données Cloud Storage.

Knowledge Catalog crée une table d'objets et enrichit l'entrée du catalogue avec des métadonnées générées par IA. Ce processus prend généralement quelques minutes pour les ensembles de données standards.

Localiser la table d'objets

Une fois l'analyse de découverte terminée, Knowledge Catalog crée une ou plusieurs tables d'objets et renseigne le Knowledge Catalog avec une entrée correspondante enrichie de métadonnées générées par IA. Lorsque plusieurs entrées sont créées à la suite d'une analyse de découverte, chacune d'elles possède son propre onglet "Insights". Vous pouvez afficher la description automatique de la table, les schémas inférés et les graphiques de relations.

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

    Accéder à BigQuery

  2. Dans le menu de navigation, cliquez sur Gouvernance > Curation des métadonnées.

  3. Dans le volet Découverte Cloud Storage, cliquez sur l'analyse de découverte que vous avez exécutée pour les données non structurées.

    • La section Détails de l'analyse affiche des informations sur l'analyse de découverte.
    • La section État de l'analyse affiche les résultats de la découverte du dernier job d'analyse.
  4. Cliquez sur le lien Ensemble de données publié.

  5. Dans la liste des tables affichées pour l'ensemble de données BigQuery, sélectionnez la table d'objets générée pour l'analyse des données de découverte.

  6. Copiez l'ID de la table. Vous en aurez besoin dans la section suivante.

Afficher les graphiques d'entités inférées

Vous pouvez afficher le tableau des objets pour l'analyse de découverte dans Knowledge Catalog.

  1. Dans la console Google Cloud , accédez à la page Rechercher de Knowledge Catalog.

    Accéder à la recherche

  2. Collez et recherchez la table d'objets dont vous avez sélectionné l'ID dans la section précédente.

  3. Dans les résultats de recherche, cliquez sur le tableau pour ouvrir sa page d'entrée.

  4. Dans l'onglet Détails, sous Aspects, vérifiez la présence de l'aspect Profil du graphique. Cet aspect contient les schémas inférés pour les entités et les relations.

  5. Cliquez sur l'onglet Insights. L'onglet Insights affiche les informations suivantes :

    • Extraction sémantique : Une bannière indique que des entités et des relations extractibles ont été détectées. Il inclut un bouton Extraire pour matérialiser les données à l'aide de SQL ou du déploiement de pipeline.

    • Description. Un résumé lisible par l'humain et généré par IA explique le contenu des données non structurées. Il décrit les nœuds (entités) principaux découverts et la façon dont ils sont mis en correspondance les uns avec les autres par le biais d'arêtes (relations).

    • Pipelines : Liste des pipelines d'extraction de données précédemment déployés associés à cette ressource. Vous pouvez afficher le nom à afficher, la région, l'heure de création et l'utilisateur qui a créé le pipeline.

    • Entités et relations inférées : Un graphique visuel et interactif affiche la structure sémantique découverte dans vos données non structurées. Le graphique contient des nœuds représentant des entités distinctes, par exemple "Recette" et "Ingrédient", et des arêtes représentant les connexions entre eux, par exemple "HasAllergenStatus". Vous pouvez utiliser la légende pour filtrer et explorer des nœuds et des arêtes spécifiques.

    • Entités : Liste détaillée des entités principales découvertes. Vous pouvez développer chaque entité pour afficher sa description générée par IA et son schéma inféré, qui inclut les noms de champs, les types de données et les descriptions de champs.

    • Relations. Liste détaillée des connexions découvertes entre les entités. Vous pouvez développer chaque relation pour afficher sa description et le schéma définissant la façon dont les entités sont mises en correspondance.

Mettre à jour les insights inférés

Les insights inférés sont stockés dans le catalogue Knowledge Catalog en tant qu'aspect associé à la table d'objets. Vous pouvez mettre à jour manuellement ces insights à l'aide de la console Google Cloud ou de l'API entry.patch.

Console

Pour mettre à jour les insights inférés dans la console Google Cloud , procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Rechercher de Knowledge Catalog.

    Accéder à la recherche

  2. Collez l'ID de la table d'objets et recherchez-le.

  3. Dans les résultats de recherche, cliquez sur le tableau pour ouvrir sa page d'entrée.

  4. Cliquez sur l'onglet Insights.

  5. À côté de Entités et relations inférées, cliquez sur Modifier.

  6. Dans l'éditeur JSON, modifiez l'aspect graph-profile.

  7. Cliquez sur Enregistrer.

REST

Pour mettre à jour les insights inférés à l'aide de l'API REST, procédez comme suit :

  1. Créez un fichier nommé payload.json et ajoutez-y le contenu JSON de l'aspect que vous souhaitez mettre à jour. Exemple :

    {
      "aspects": {
        "dataplex-types.global.graph-profile": {
          "data": {
            // Your updated inferred insights data
          }
        }
      }
    }
    
  2. Exécutez la commande suivante dans votre terminal :

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @payload.json \
    "https://dataplex.googleapis.com/v1/projects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/entryGroups/<var>ENTRY_GROUP_ID</var>/entries/<var>ENTRY_ID</var>?updateMask=aspects"
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet, par exemple example-project
    • LOCATION : emplacement de l'entrée (par exemple, us-central1)
    • ENTRY_GROUP_ID : ID du groupe d'entrées, par exemple example-entry-group
    • ENTRY_ID : ID de l'entrée, par exemple example-entry

Pour obtenir plus d'informations et des exemples de code dans d'autres langages, consultez Mettre à jour un aspect d'entrée.

Extraire des données vers BigQuery

Vous pouvez matérialiser les entités et les relations inférées dans des tables ou des vues structurées dans BigQuery à l'aide de SQL ou d'un pipeline automatisé.

  1. Dans l'onglet Insights, cliquez sur Extraction.

  2. Choisissez l'une des méthodes suivantes en fonction de vos besoins analytiques et de l'ampleur de vos données non structurées :

    • Extraire par SQL : choisissez cette option pour une analyse ad hoc rapide, des ensembles de données de petite à moyenne taille ou lorsque vous souhaitez une approche sans infrastructure à l'aide de modèles BigQuery à distance.

      Pour extraire des données à l'aide de SQL, procédez comme suit :

      1. Sélectionnez Extraire par SQL.
      2. Dans le volet Extraire avec SQL, sélectionnez un ensemble de données de destination. L'ensemble de données doit se trouver au même emplacement que la source.
      3. Cliquez sur Extraire.
      4. Une requête préremplie s'ouvre dans l'éditeur BigQuery. Exécutez la requête pour créer des tables et des vues standards.

      Pour en savoir plus sur l'utilisation de SQL pour extraire des insights sur les documents, consultez Traiter des documents avec la fonction ML.PROCESS_DOCUMENT.

    • Extraire par pipeline : choisissez cette option pour le traitement de données à grande échelle ou lorsque vous avez besoin d'une logique de réessai, d'gestion des exceptions et d'une orchestration automatisée robustes pour gérer de grands volumes de documents.

      Pour extraire des données à l'aide d'un pipeline, procédez comme suit :

      1. Sélectionnez Extraire par pipeline.
      2. Dans le volet Extraire avec le pipeline, saisissez un nom à afficher pour le pipeline.
      3. Sélectionnez une région.
      4. Sélectionnez un ensemble de données de destination. L'ensemble de données doit se trouver au même emplacement que la source.
      5. Cliquez sur Extraire. Cela crée un pipeline BigQuery qui orchestre la matérialisation des données.
      6. Exécutez toutes les tâches du pipeline pour générer des vues structurées des nœuds et des arêtes.

      Pour en savoir plus sur l'exécution de workflows de données, consultez Présentation de Dataform.

Une fois que vous avez extrait et matérialisé les insights sémantiques dans BigQuery, vous pouvez effectuer les tâches suivantes :

  • Interrogez les données structurées. Exécutez des requêtes SQL standard sur les tables nouvellement créées pour analyser les entités et les relations extraites.

  • Fusionner avec les données existantes : Combinez les insights qualitatifs extraits de vos fichiers non structurés avec vos ensembles de données BigQuery structurés existants (par exemple, en associant les données de factures analysées à vos tableaux comptables).

  • Explorez les insights sur les données. Utilisez la fonctionnalité Insights sur les données dans BigQuery Studio pour générer automatiquement des questions en langage naturel et des requêtes SQL pour vos nouveaux composants structurés.

  • Analyser avec Gemini Utilisez Gemini dans BigQuery pour effectuer des analyses conversationnelles, résumer les tendances ou créer des tableaux de bord dans Data Studio en fonction des données extraites.