Le nouveau système nettoie automatiquement les tables de données en désordre

Le nouveau système nettoie automatiquement les tables de données en désordre

Les chercheurs du MIT ont créé un nouveau système qui nettoie automatiquement les «données sales» – les fautes de frappe, les doublons, les valeurs manquantes, les fautes d’orthographe et les incohérences redoutées par les analystes de données, les ingénieurs de données et les scientifiques des données. Crédit: Massachusetts Institute of Technology

Les chercheurs du MIT ont créé un nouveau système qui nettoie automatiquement les «données sales» – les fautes de frappe, les doublons, les valeurs manquantes, les fautes d’orthographe et les incohérences redoutées par les analystes de données, les ingénieurs de données et les scientifiques des données. Le système, appelé PClean, est le dernier d’une série de langages de programmation probabilistes spécifiques à un domaine écrits par des chercheurs du Probabilistic Computing Project qui visent à simplifier et automatiser le développement d’applications d’IA (d’autres incluent un pour la perception 3D via des graphiques inverses et un autre pour la modélisation de séries chronologiques et de bases de données).

Selon les enquêtes menées par Anaconda et Figure Eight, le nettoyage des données peut prendre un quart du temps d’un data scientist. L’automatisation de la tâche est difficile car différents ensembles de données nécessitent différents types de nettoyage et des appels au bon sens sur des objets dans le monde sont souvent nécessaires (par exemple, dans laquelle de plusieurs villes appelées «Beverly Hills» une personne vit). PClean fournit des modèles génériques de bon sens pour ces types d’appels de jugement qui peuvent être personnalisés pour des bases de données et des types d’erreurs spécifiques.

PClean utilise une approche basée sur les connaissances pour automatiser le processus de nettoyage des données: les utilisateurs encodent les connaissances de base sur la base de données et les types de problèmes qui peuvent apparaître. Prenons, par exemple, le problème du nettoyage des noms d’état dans une base de données d’annonces d’appartements. Et si quelqu’un disait vivre à Beverly Hills mais laissait la colonne de l’État vide? Bien qu’il y ait un Beverly Hills bien connu en Californie, il y en a aussi un en Floride, au Missouri et au Texas… et il y a un quartier de Baltimore connu sous le nom de Beverly Hills. Comment pouvez-vous savoir dans quelle personne vit la personne? C’est là qu’intervient le langage de script expressif de PClean. Les utilisateurs peuvent donner à PClean des connaissances de base sur le domaine et sur la manière dont les données peuvent être corrompues. PClean combine ces connaissances via un raisonnement probabiliste de bon sens pour trouver la réponse. Par exemple, compte tenu des connaissances supplémentaires sur les loyers typiques, PClean en déduit que Beverly Hills se trouve en Californie en raison du coût élevé du loyer où vit le répondant.

Alex Lew, l’auteur principal de l’article et titulaire d’un doctorat. étudiant au Département de génie électrique et d’informatique (EECS), dit qu’il est très heureux que PClean donne un moyen d’obtenir l’aide des ordinateurs de la même manière que les gens cherchent de l’aide les uns des autres. « Quand je demande de l’aide à un ami pour quelque chose, c’est souvent plus facile que de demander à un ordinateur. C’est parce que dans les langages de programmation dominants d’aujourd’hui, je dois donner des instructions étape par étape, ce qui ne peut pas supposer que l’ordinateur a un contexte sur le monde ou la tâche – ou même simplement des capacités de raisonnement de bon sens. Avec un humain, j’arrive à assumer toutes ces choses », dit-il. « PClean est un pas en avant pour combler cet écart. Il me permet de dire à l’ordinateur ce que je sais d’un problème, en codant le même type de connaissances de base que j’expliquerais à une personne qui m’aide à nettoyer mes données. Je peux également donner des conseils à PClean, trucs et astuces que j’ai déjà découverts pour résoudre la tâche plus rapidement. « 

Les co-auteurs sont Monica Agrawal, Ph.D. étudiant en EECS; David Sontag, professeur agrégé à l’EECS; et Vikash K. Mansinghka, chercheur principal au Département des sciences du cerveau et des sciences cognitives.

Quelles innovations permettent à cela de fonctionner?

L’idée que le nettoyage probabiliste basé sur des connaissances déclaratives et génératives pourrait potentiellement offrir une précision beaucoup plus grande que l’apprentissage automatique a été précédemment suggérée dans un article de 2003 par Hanna Pasula et d’autres du laboratoire de Stuart Russell à l’Université de Californie à Berkeley. «Garantir la qualité des données est un énorme problème dans le monde réel, et presque toutes les solutions existantes sont ad hoc, coûteuses et sujettes aux erreurs», déclare Russell, professeur d’informatique à l’UC Berkeley. «PClean est la première solution polyvalente évolutive, bien conçue, basée sur la modélisation générative des données, qui doit être la bonne voie à suivre. Les résultats parlent d’eux-mêmes. Le co-auteur Agrawal ajoute que « les méthodes de nettoyage des données existantes sont plus limitées dans leur expressivité, qui peut être plus conviviale, mais au détriment d’être assez limitatives. De plus, nous avons constaté que PClean peut évoluer vers de très grands ensembles de données irréalistes runtimes sous les systèmes existants. « 

PClean s’appuie sur les progrès récents de la programmation probabiliste, y compris un nouveau modèle de programmation d’IA construit au projet de calcul probabiliste du MIT qui facilite beaucoup l’application de modèles réalistes de connaissances humaines pour interpréter les données. Les réparations de PClean sont basées sur le raisonnement bayésien, une approche qui évalue les explications alternatives des données ambiguës en appliquant des probabilités basées sur des connaissances antérieures aux données disponibles. « La capacité de prendre ce genre de décisions incertaines, où nous voulons dire à l’ordinateur quel genre de choses il est susceptible de voir, et que l’ordinateur l’utilise automatiquement pour déterminer quelle est probablement la bonne réponse, est essentielle pour programmation probabiliste », explique Lew.

PClean est le premier système de nettoyage de données bayésien qui peut combiner l’expertise du domaine avec un raisonnement de bon sens pour nettoyer automatiquement les bases de données de millions d’enregistrements. PClean atteint cette échelle grâce à trois innovations. Tout d’abord, le langage de script de PClean permet aux utilisateurs d’encoder ce qu’ils savent. Cela donne des modèles précis, même pour des bases de données complexes. Deuxièmement, l’algorithme d’inférence de PClean utilise une approche en deux phases, basée sur le traitement des enregistrements un par un pour faire des suppositions éclairées sur la façon de les nettoyer, puis revisiter son jugement appelle à corriger les erreurs. Cela donne des résultats d’inférence robustes et précis. Troisièmement, PClean fournit un compilateur personnalisé qui génère un code d’inférence rapide. Cela permet à PClean de fonctionner sur des bases de données contenant des millions d’enregistrements à une vitesse supérieure à celle de plusieurs approches concurrentes. «Les utilisateurs de PClean peuvent donner à PClean des conseils sur la manière de raisonner plus efficacement sur leur base de données et d’ajuster ses performances, contrairement aux précédentes approches de programmation probabiliste du nettoyage des données, qui reposaient principalement sur des algorithmes d’inférence génériques souvent trop lents ou inexacts», déclare Mansinghka.

Comme pour tous les programmes probabilistes, les lignes de code nécessaires au fonctionnement de l’outil sont beaucoup moins nombreuses que les options alternatives de pointe: les programmes PClean n’ont besoin que d’environ 50 lignes de code pour surpasser les benchmarks en termes de précision et d’exécution. À titre de comparaison, un simple jeu de téléphone portable de serpent prend deux fois plus de lignes de code à exécuter, et Minecraft contient bien plus d’un million de lignes de code.

Dans leur article, qui vient d’être présenté à la conférence 2021 Society for Artificial Intelligence and Statistics, les auteurs montrent la capacité de PClean à s’adapter à des ensembles de données contenant des millions d’enregistrements en utilisant PClean pour détecter les erreurs et imputer les valeurs manquantes dans le Medicare Physician Compare National de 2,2 millions de lignes. base de données. Fonctionnant pendant seulement sept heures et demie, PClean a détecté plus de 8 000 erreurs. Les auteurs ont ensuite vérifié à la main (via des recherches sur les sites Web des hôpitaux et sur les pages LinkedIn des médecins) que pour plus de 96% d’entre eux, le correctif proposé par PClean était correct.

Puisque PClean est basé sur la probabilité bayésienne, il peut également donner des estimations calibrées de son incertitude. « Il peut maintenir plusieurs hypothèses – vous donner des jugements notés, pas seulement des réponses oui / non. Cela renforce la confiance et aide les utilisateurs à remplacer PClean lorsque cela est nécessaire. Par exemple, vous pouvez examiner un jugement où PClean était incertain, et lui donner la bonne réponse . Il peut ensuite mettre à jour le reste de ses jugements à la lumière de vos commentaires », déclare Mansinghka. « Nous pensons qu’il y a beaucoup de valeur potentielle dans ce type de processus interactif qui entrelace le jugement humain avec le jugement machine. Nous voyons PClean comme un exemple précoce d’un nouveau type de système d’IA qui peut en dire plus sur ce que les gens savent, rapporter quand il est incertain, et raisonner et interagir avec les gens de manière plus utile et plus humaine. « 

David Pfau, chercheur principal chez DeepMind, a noté dans un tweet que PClean répond à un besoin commercial: «Quand on considère que la grande majorité des données commerciales ne sont pas des images de chiens, mais des entrées dans des bases de données relationnelles et des feuilles de calcul, c’est un Je me demande que des choses comme celle-ci n’ont pas encore le succès de l’apprentissage en profondeur. »

Avantages, risques et réglementation

Avec PClean, il est moins coûteux et plus facile de joindre des bases de données désordonnées et incohérentes dans des enregistrements propres, sans les investissements massifs dans les systèmes humains et logiciels sur lesquels les entreprises centrées sur les données comptent actuellement. Cela a des avantages sociaux potentiels, mais aussi des risques, parmi lesquels PClean peut rendre moins coûteux et plus facile d’envahir la vie privée des gens, et potentiellement même de les désanonymiser, en joignant des informations incomplètes provenant de plusieurs sources publiques.

«Nous avons finalement besoin d’une réglementation beaucoup plus forte en matière de données, d’intelligence artificielle et de protection de la vie privée pour atténuer ces types de dommages», déclare Mansinghka. Lew ajoute: « Par rapport aux approches d’apprentissage automatique du nettoyage des données, PClean pourrait permettre un contrôle réglementaire plus fin. Par exemple, PClean peut nous dire non seulement qu’il a fusionné deux enregistrements comme faisant référence à la même personne, mais aussi pourquoi il je l’ai fait – et je peux arriver à mon propre jugement pour savoir si je suis d’accord. Je peux même dire à PClean de ne considérer que certaines raisons pour fusionner deux entrées.  » Malheureusement, disent les chercheurs, les problèmes de confidentialité persistent, quelle que soit la justesse du nettoyage d’un ensemble de données.

Mansinghka et Lew sont ravis d’aider les gens à poursuivre des applications socialement bénéfiques. Ils ont été approchés par des personnes souhaitant utiliser PClean pour améliorer la qualité des données pour le journalisme et les applications humanitaires, telles que la surveillance anticorruption et la consolidation des dossiers des donateurs soumis aux conseils électoraux des États. Agrawal espère que PClean va libérer du temps pour les data scientists, « pour se concentrer sur les problèmes qui les intéressent plutôt que sur le nettoyage des données. Les premiers retours et l’enthousiasme autour de PClean suggèrent que cela pourrait être le cas, ce que nous sommes ravis d’entendre. »


L’outil pour les non-statisticiens génère automatiquement des modèles qui glanent des informations à partir d’ensembles de données complexes


Plus d’information:
PClean: Nettoyage des données bayésiennes à grande échelle avec programmation probabiliste spécifique au domaine. procedure.mlr.press/v130/lew21a/lew21a.pdf

Github: github.com/probcomp/PClean

Fourni par le Massachusetts Institute of Technology

Cette histoire est republiée avec l’aimable autorisation de MIT News (web.mit.edu/newsoffice/), un site populaire qui couvre l’actualité de la recherche, de l’innovation et de l’enseignement du MIT.

Citation: Le nouveau système nettoie automatiquement les tableaux de données désordonnés (2021, 12 mai) récupéré le 12 mai 2021 sur https://techxplore.com/news/2021-05-messy-tables-automatically.html

Ce document est soumis au droit d’auteur. En dehors de toute utilisation équitable à des fins d’étude ou de recherche privée, aucune partie ne peut être reproduite sans l’autorisation écrite. Le contenu est fourni seulement pour information.