Annotation de type de colonne à l'aide de ChatGPT

L'annotation de type de colonne est la tâche consistant à annoter les colonnes d'une table relationnelle avec le type sémantique des valeurs contenues dans chaque colonne. L'annotation de type de colonne est une étape préalable importante pour la recherche et l'intégration de données dans le contexte des data lakes. Les méthodes actuelles d'annotation de type de colonne reposent soit sur le fait de faire correspondre les colonnes de la table aux propriétés d'un graphe de connaissances, soit sur l'affinage (fine-tuning) de modèles linguistiques pré-entraînés comme BERT pour l'annotation de type de colonne. Dans ce travail, nous adoptons une approche différente et explorons l'utilisation de ChatGPT pour l'annotation de type de colonne. Nous évaluons différentes conceptions d'invitations (prompts) dans des configurations sans démonstration (zero-shot) et avec peu de démonstrations (few-shot), et expérimentons en fournissant des définitions de tâches et des instructions détaillées au modèle. Nous mettons également en œuvre un pipeline d'annotation de table en deux étapes qui détermine d'abord la classe des entités décrites dans la table, puis, en fonction de cette classe, demande à ChatGPT d'annoter les colonnes en utilisant uniquement le sous-ensemble pertinent du vocabulaire global. En utilisant des instructions ainsi que le pipeline en deux étapes, ChatGPT atteint des scores F1 supérieurs à 85% dans des configurations sans démonstration (zero-shot) et avec une seule démonstration (one-shot). Pour obtenir un score F1 similaire, un modèle RoBERTa doit être affiné avec 356 exemples. Cette comparaison montre que ChatGPT est capable de fournir des résultats compétitifs pour la tâche d'annotation de type de colonne avec zéro ou seulement une quantité minimale d'exemples spécifiques à la tâche.