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
-