2016-11-10 2 views
-1

J'ai un tas de fichiers et de catégories répertoriés dans cats.txt dans le même dossier. Je veux créer un lecteur classé par catégorie pour cela. enter image description hereComment créer un lecteur de corpus étiqueté catégoriel

Voici à quoi ressemblent mes fichiers.

Essayé de nombreuses façons dans nltk et n'a pas réussi à créer Categorizedtaggedcorpusreader, Inside mon cats.txt j'ai nom de fichier et le nom de la catégorie avec un espace à part, chaque nom de fichier peut avoir plusieurs catégories.

Par exemple:
adaptateur mail_1_adapter
mail_1_alert alerte
messagebody_24862499 autres
etc ...

Pouvez-vous s'il vous plaît me montrer une meilleure façon où je peux créer mon corps et nous faire de il.

Répondre

2

Votre format de fichier fonctionne correctement. Comment avez-vous essayé de créer votre lecteur et cela n'a pas fonctionné? Vous ne montrez pas votre code, donc vous ne savez pas ce que vous faites mal. Vous devez indiquer à votre lecteur qu'il doit lire les catégories du fichier cats.txt, par ex. comme ceci:

from nltk.corpus.reader import CategorizedTaggedCorpusReader 
reader = CategorizedTaggedCorpusReader(<path>, r"^[^.]*$", cat_file="cats.txt") 

Vos catégories fichier cats.txt ne fait pas partie du corpus, donc j'utilisé l'expression rationnelle ^[^.]*$ qui correspond tout ne contenant pas un point. Si cela ne décrit pas correctement vos fichiers, modifiez la définition au besoin pour inclure tous les fichiers de corpus, mais excluez cats.txt.

+0

corpus_root = 'C:/Users/nkumarn/PycharmProjects/taggedcorpus /' ___________________________________ lecteur = CategorizedTaggedCorpusReader (corpus_root, r, de cat_file = r '* \ fichier..' '* \ Txt..) cette C'est ce que j'ai fait. Cela n'a pas marché –

+1

Eh bien, pas de surprise, ça n'a pas marché. 'cat_file' devrait être un nom de fichier (avec path), pas une expression régulière. Et as-tu vraiment écrit 'r '. * \. File'' comme modèle de fichier? La prochaine fois, incluez votre code et l'erreur que vous avez dans votre question. Arrêtez d'écrire de telles questions paresseuses, ce n'est pas la première question que je vous ai conseillé d'améliorer. – alexis

+0

Ya je l'ai eu Merci ... Je vais certainement améliorer mes normes d'interrogation. Merci pour le conseil. –