textar package

Submodules

textar.text_classifier module

Módulo de clasificación de textos.

Este módulo contiene a los objetos que permiten entrenar un clasificador automático de textos y pedir sugerencias de textos similares.

class textar.text_classifier.TextClassifier(texts, ids, vocabulary=None, encoding=u'utf-8')[source]

Clasificador automático de textos.

Usa TF-IDF para vectorizar. Usa SVM para clasificar.

classify(classifier_name, examples, max_labels=None, goodness_of_fit=False)[source]

Usar un clasificador SVM para etiquetar textos nuevos.

Args:

classifier_name (str): Nombre del clasidicador a usar. examples (list or str): Se espera un ejemplo o una lista de

ejemplos a clasificar en texto plano o en ids.
max_labels (int, optional): Cantidad de etiquetas a devolver para
cada ejemplo. Si se devuelve mas de una el orden corresponde a la plausibilidad de cada etiqueta. Si es None devuelve todas las etiquetas posibles.
goodness_of_fit (bool, optional): Indica si devuelve o no una
medida de cuan buenas son las etiquetas.
Nota:
Usa el clasificador de Scikit-learn
Returns:
tuple (array, array): (labels_considerados, puntajes)
labels_considerados: Las etiquetas que se consideraron para
clasificar.
puntajes: Cuanto más alto el puntaje, más probable es que la
etiqueta considerada sea la adecuada.
get_similar(example, max_similars=3, similarity_cutoff=None, term_diff_max_rank=10, filter_list=None, term_diff_cutoff=None)[source]

Devuelve textos similares al ejemplo dentro de los textos entrenados.

Nota:
Usa la distancia de coseno del vector de features TF-IDF
Args:
example (str): Se espera un id de texto o un texto a partir del
cual se buscaran otros textos similares.
max_similars (int, optional): Cantidad de textos similares a
devolver.
similarity_cutoff (float, optional): Valor umbral de similaridad
para definir que dos textos son similares entre si.
term_diff_max_rank (int, optional): Este valor sirve para controlar
el umbral con el que los terminos son considerados importantes a la hora de recuperar textos (no afecta el funcionamiento de que textos se consideran cercanos, solo la cantidad de terminos que se devuelven en best_words).
filter_list (list): Lista de ids de textos en la cual buscar textos
similares.

term_diff_cutoff (float): Deprecado. Se quitara en el futuro.

Returns:
tuple (list, list, list): (text_ids, sorted_dist, best_words)
text_ids (list of str): Devuelve los ids de los textos
sugeridos.
sorted_dist (list of float): Devuelve la distancia entre las
opciones sugeridas y el ejemplo dado como entrada.
best_words (list of list): Para cada sugerencia devuelve las
palabras mas relevantes que se usaron para seleccionar esa sugerencia.
make_classifier(name, ids, labels)[source]

Entrenar un clasificador SVM sobre los textos cargados.

Crea un clasificador que se guarda en el objeto bajo el nombre name.

Args:

name (str): Nombre para el clasidicador. ids (list): Se espera una lista de N ids de textos ya almacenados

en el TextClassifier.
labels (list): Se espera una lista de N etiquetas. Una por cada id
de texto presente en ids.
Nota:
Usa el clasificador de Scikit-learn
reload_texts(texts, ids, vocabulary=None)[source]

Calcula los vectores de terminos de textos y los almacena.

A diferencia de store_text() esta funcion borra cualquier informacion almacenada y comienza el conteo desde cero. Se usa para redefinir el vocabulario sobre el que se construyen los vectores.

Args:
texts (list): Una lista de N textos a incorporar. ids (list): Una lista de N ids alfanumericos para los textos.
retrain(name, ids, labels)[source]

Reentrenar parcialmente un clasificador SVM.

Args:

name (str): Nombre para el clasidicador. ids (list): Se espera una lista de N ids de textos ya almacenados

en el TextClassifier.
labels (list): Se espera una lista de N etiquetas. Una por cada id
de texto presente en ids.
Nota:
Usa el clasificador de Scikit-learn

Module contents