GOOGLE ADS

mercredi 27 avril 2022

Exécutez ner.manual dans Prodigy sur le fichier csv

Je suis nouveau sur Prodigy et je n'ai pas complètement compris le paradigme. Pour un projet, j'aimerais annoter manuellement des noms à partir de textes. Mon équipe a développé notre propre modèle pour reconnaître les noms, donc je veux seulement utiliser les textes annotés (produits avec Prodigy) comme étalon d'or pour notre modèle.

Pour ce faire, j'ai un fichier csv texts.csvavec le texte dans l'une des colonnes. Dois-je convertir ce fichier en json, ou puis-je également exécuter Prodigy sur le fichier csv?

De plus, quel est le code que je dois exécuter pour démarrer ner_manualavec cet ensemble de données ?

Je suppose qu'il faut commencer par:

!python -m prodigy ner.manual

Cependant, je ne sais pas comment je dois gérer le reste. Quelqu'un peut il m'aider avec ça?


Solution du problème

Format de fichier

Je crois que pour les recettes qui disent "Text Source", vous pouvez utiliser jsonl, json, csv ou txt (référez-vous à la section qui dit "Text Source": https://prodi.gy/docs/api-loaders ). Ner.manual dit "Text Source" donc je pense que cela devrait fonctionner. (référence: https://prodi.gy/docs/recipes#ner-manual )

ner.manuel

En ce qui concerne l'exécution de ner.manual, essayez de consulter cette documentation https://prodi.gy/docs/

La documentation contient un bon exemple:

python -m prodigy ner.manual ner_news_headlines blank:en./news_headlines.jsonl --label PERSON,ORG,PRODUCT,LOCATION

  • ner_news_headlines est le nom de l'ensemble de données (il peut être nommé n'importe quoi)

  • blank:en est un modèle anglais vierge

  • ./news_headlines.jsonl est le nom du fichier jsonl que vous allez annoter (utilisez le nom de votre fichier)

  • PERSON,ORG,PRODUCT,LOCATION sont les étiquettes avec lesquelles vous annoterez vos données (changez-les en n'importe quelles étiquettes que vous voulez utiliser, assurez-vous de séparer avec des virgules et non des espaces)

  • Je suis aussi assez nouveau pour prodige donc quelqu'un d'autre peut avoir une meilleure réponse.

    Aucun commentaire:

    Enregistrer un commentaire

    Comment utiliseriez-vous .reduce() sur des arguments au lieu d'un tableau ou d'un objet spécifique ?

    Je veux définir une fonction.flatten qui aplatit plusieurs éléments en un seul tableau. Je sais que ce qui suit n'est pas possible, mais...