2017-10-05 2 views
0

Pour une partie de mon travail, nous faisons une liste complète basée sur tous les fichiers d'un utilisateur dans son lecteur. Ces utilisateurs doivent décider par fichier s'il faut les archiver ou non (indiqué par Y ou N). En tant que service à ces utilisateurs, nous remplissons manuellement celui-ci pour eux.Classer les noms de fichiers (exportés vers Excel) en fonction des noms/types

Nous exportons ces fichiers vers une longue liste dans Excel, qui affiche chaque fichier comme X: \ 4. Économie \ 10. xxxxxxxx \ 04. xxxxxxxxx \ 04. xxxxxxxxxx \ filexyz.pdf

Je dirais que nous pouvons facilement automatiser cela, comme les conventions de nommage standard, il est facile de décider quels fichiers conserver et lesquels à supprimer. Un fichier avec la chaîne "CAB" dans le nom de fichier doit par exemple être conservé. Cependant, je n'ai aucune idée de comment et où commencer. Quelqu'un peut me diriger dans la bonne direction?

Répondre

0

je suggère les étapes générales suivantes

  1. Obtenir les données brutes

Vous pouvez lire le excel file into a pandas dataframe en python. Idéalement, vous aurez une trame de données brutes qui ressemble à ceci

 Filename       Keep 
0 X:\4. Economics ...\filexyz.pdf 0 
1 X:\4. Economics ...\fileabc.pdf 1 
2 X:\3. Finance ...\filetef.pdf 1 
3 X:\3. Finance ...\file123.pdf 0 
4 G:\2. Philosophy ..\file285.pdf 0 
        .... 
  1. Prétraitement/clean

Cette partie est plus à vous, par exemple, vous pourrait supprimer tous les caractères spéciaux et les numéros. Cela laisserait des lettres comme suit

 Filename      Keep 
0 "X Economics filexyz pdf" 0 
1 "X Economics fileabc pdf" 1 
2 "X Finance filetef pdf"  1 
3 "X Finance file123 pdf"  0 
4 "G Philosophy file285 pdf" 0 
       .... 
  1. Vectoriser vos cordes

Pour un algorithme pour comprendre vos données texte, vous les vectorise généralement. Cela signifie que vous les transformez en nombres que l'algorithme peut traiter. Un moyen facile de le faire est avec tf-idf and scikit-learn. Après cela, votre dataframe pourrait ressembler à ceci

 Filename        Keep 
0 [0.6461, 0.3816 ... 0.01, 0.38]  0 
1 [0.,  0.4816 ... 0.25, 0.31]  1 
2 [0.61, 0.1663 ... 0.11, 0.35]  1 
         .... 
  1. train un classificateur

Maintenant que vous avez de beaux chiffres pour les algorithmes de travailler avec, vous peut former un classificateur avec scikit-learn. Il suffit de chercher "scikit apprendre exemple de classification" et vous trouverez beaucoup. Une fois que vous avez un classificateur formé, vous pouvez comparer ses prédictions aux données de test qu'il n'avait pas vues auparavant. De cette façon, vous obtenez un sentiment d'exactitude.

Espérons que cela soit suffisant pour vous aider à démarrer!