Tengo un gran archivo de quejas de clientes sobre los productos que posee mi empresa y me gustaría hacer un análisis de datos sobre esas descripciones y etiquetar una categoría para cada uno de ellos.
Por ejemplo: necesito calcular la cantidad de quejas en el lado del Software y Hardware de mi producto a partir de las quejas de los clientes. Actualmente, estoy usando Excel para hacer el análisis de datos que buscan una gran cantidad de trabajo manual para obtener un nombre de etiqueta para las quejas.
¿Hay alguna forma en PNL de construir y entrenar un modelo para automatizar este proceso? He estado leyendo cosas sobre la PNL durante los últimos días y parece que la PNL tiene muchas características buenas para comenzar a abordar este problema. ¿Podría alguien guiarme con la forma en que debería usar la PNL para abordar este problema?
Respuestas:
Una forma de manejar esto es usar 'clasificación supervisada'. En este modelo, clasifica manualmente un subconjunto de datos y lo utiliza para entrenar su algoritmo. Luego, introduce los datos restantes en su software para clasificarlos.
Esto se logra con NLTK para Python (nltk.org).
Si simplemente está buscando cadenas como "hardware" y "software", este es un caso de uso simple, y probablemente obtendrá resultados decentes utilizando un 'extractor de características', que informa a su clasificador qué frases en el documento son relevantes.
Si bien es posible implementar un método automatizado para encontrar las palabras clave, parece que ya tiene una lista en mente, por lo que puede omitir ese paso y simplemente usar las etiquetas que conoce. (Si sus resultados no son satisfactorios la primera vez, esto es algo que podría probar más adelante).
Esa es una descripción general para comenzar. Si no está satisfecho con los resultados iniciales, puede refinar su clasificador introduciendo métodos más complejos, como la segmentación de oraciones, la identificación de los tipos de actos de diálogo y los árboles de decisión. ¡El cielo es el límite (o más probablemente, tu tiempo es el límite)!
Más información en:
http://www.nltk.org/book/ch06.html
fuente
Sheldon tiene razón, esto suena como un caso de uso bastante típico para la clasificación supervisada. Si todas las quejas de sus clientes son software o hardware (es decir, cero quejas individuales cubren ambas categorías y cero están fuera de estas dos clases), entonces todo lo que necesita es un clasificador binario, lo que simplifica las cosas de lo contrario.
Si está buscando un juego de herramientas NLP basado en Java que admita algo como esto, debe consultar el Clasificador de Stanford: http://nlp.stanford.edu/software/classifier.shtml : tiene licencia como software de código abierto en la GPL
Su página wiki debería ayudarlo a comenzar a usar el clasificador: http://www-nlp.stanford.edu/wiki/Software/Classifier : tenga en cuenta que deberá anotar manualmente una gran muestra de sus datos como conjunto de entrenamiento, como mencionó Sheldon.
fuente