Skip to content

Scripts en Python que sirven para clasificar archivos utilizando SVM

License

Notifications You must be signed in to change notification settings

epaolillo/clasificador-archivos

Repository files navigation

Clasificador de archivos

Coverage Status Build Status PyPI Stories in Ready Documentation Status

Paquete en python que nos permite clasificar archivos

  • Licencia: MIT license

Instalación

Dependencias

textar usa pandas, numpy, scikit-learn y scipy. Para que funcionen, se requiere instalar algunas dependencias no pythonicas:

  • En Ubuntu: sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran

Cualquier cambio en el código está disponible en el entorno virtual donde fue instalado de esta manera.

Uso

Búsqueda de textos similares

Clasificación de textos

# requiere textar
# requiere numpy, glob, textract, warning

from textar import TextClassifier
from numpy import array
import glob
import textract
import warnings

textos = []
puntajes = []
ejem = []
etiquetas = []

# Si o si deben ser 3 datasets
dispos = glob.glob("/home/ezequiel/Descargas/entrena/dispo/*.pdf");
informes = glob.glob("/home/ezequiel/Descargas/entrena/informe/*.pdf");
otros = glob.glob("/home/ezequiel/Descargas/entrena/otro/*.pdf");

testers = glob.glob("/home/ezequiel/Descargas/ejem/*.pdf");


for informe in informes:
      cadena = textract.process(informe, method='pdfminer')
      textos.append(cadena)
      etiquetas.append("Informe")
      
for otro in otros:
      cadena = textract.process(otro, method='pdfminer')
      textos.append(cadena)
      etiquetas.append("Otro")
      
for dispo in dispos:
      cadena = textract.process(dispo, method='pdfminer')
      textos.append(cadena)   
      etiquetas.append("Dispo")   
      
for archivo in testers:
      cadena = textract.process(archivo, method='pdfminer')
      ejem.append(cadena)      
      
print("Archivos:")
print(dispos);
print(informes);

print(testers);
print("--------")
print(etiquetas)

largoTotal = len(informes)+len(dispos)+len(otros)

tc = TextClassifier( textos, ids=map(str, range(largoTotal)) )


# entrena un clasificador
tc.make_classifier(
    name="recetas_classifier",
    ids=map(str, range(largoTotal)),
    labels=etiquetas
)

labels_considerados, puntajes = tc.classify(
    classifier_name="recetas_classifier", 
    examples = ejem
)

print labels_considerados
print puntajes


for index , x in enumerate(testers):
    print "-----------"
    print x
    print puntajes[index]
    es = sorted(zip(puntajes[index], labels_considerados), reverse=True)
    print es[0][1]
    print "-----------"

About

Scripts en Python que sirven para clasificar archivos utilizando SVM

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published