kili-technology/kili-python-sdk

Supprimer un label avec le SDK

phileas-condemine opened this issue · 4 comments

J'effectue la migration du projet initié avec un outil d'annotation custom vers Kili.
Pour ce faire j'utilise le SDK Python.
D'une part je dois pousser des pré-annotations réalisées, pour cela j'ai trouvé la méthode create_predictions()
D'autre part je dois pousser les annotations existantes, pour cela j'utilise la méthode append_labels()

Pour certains verbatim, j'ai à la fois ajouté une préannotation et l'annotation existante.
Je voudrais supprimer la préannotation. Comment faire ?

De plus j'aimerais bien comprendre le mécanisme de append_labels(), est-ce vraiment un append, c'est à dire un ajout de nouveaux labels en plus des labels existants ? ou bien un overwrite c'est à dire un remplacement des labels existants ?

Bonjour!
create_predictions et append_labels sont effectivement les bonnes fonctions à utiliser!

Il y a malheureusement aucune fonction aujourd'hui pour supprimer un label, nous gardons tout l'historique d'annotations sur un asset. Si vous avez ajouté le label prédiction après le label classique et que c'est le label prédiction qui s'affiche sur la plateforme, vous pouvez repousser le label classique sur l'asset pour que celui-ci soit le dernier et que ce soit celui qui s'affiche sur l'app en arrivant sur l'asset.

La fonction append_labels rajoute un label à la liste de labels déjà existants, c'est donc bien un append. La liste de tous les labels d'un asset, ainsi que leurs caractéristiques, peut être affiché avec la fonction labels du SDK.

En espérant avoir répondu à toutes vos questions,
N'hésitez pas si vous avez une question supplémentaire!

Théo, Software Engineer à Kili

Bonjour Théo,
Merci c'est très clair.
Dans le Studio c'est donc le dernier label enregistré qui s'affiche, indépendamment du labelType, du status de l'annotateur (review vs labeller) ou autre ?

Je lève un dernier doute que j'ai sur le comportement du label que l'on voit et je vous fais une réponse détaillé!

Il y a 3 comportements différents si l'on accède à l'asset par le bouton LABEL, EXPLORE ou en cliquant sur l'asset depuis la project queue.

  • Si vous cliquez sur LABEL et que l'on vous donne le prochain asset a annoter dans la queue, vous voyez uniquement votre dernier label autosaved si vous êtes déjà passé dessus ou bien la dernière prédiction, sinon un asset vide.
  • Si vous cliquez sur EXPLORE, vous aurez une visualisation de tous derniers labels ajoutés aux assets. (Si vous êtes labelers vous ne verrez que vos labels à vous).
  • Si vous pouvez voir la project queue (ie, vous n'êtes pas un LABELER), et que vous cliquez sur un asset, le label montré sera le dernier label tout auteur confondu. Seul exception: si vous êtes déjà allé sur l'asset et que vous avez commencez une annotation, vous verrez votre dernier label autosaved.

Ce sont les trois comportements différents selon à ou vous en êtes dans votre workflow d'annotation (plutôt annotation ou plutôt review). Si vous avez ajouté un label DEFAULT et PREDICTIONS à des assets, ces deux labels vont donc apparaitre sur la vue EXPLORE de l'asset. Sinon, si vous cliquez directement sur l'asset sur la project queue, vous verrez le dernier label que vous avez ajouté, indépendamment de si c'est un label DEFAULT ou PREDICTION.

Voila, j'espère que j'ai été assez clair sur le mécanisme de display de labels sur l'app!
Sinon n'hésitez pas,
Je vous souhaite un bon week-end!
Théo