Para mí, esto parece más un problema de aprendizaje automático que la clasificación. La primera pregunta es si tiene o está dispuesto a preparar algunos datos etiquetados, es decir, ejemplos específicos de descripciones de productos junto con las categorías y subcategorías de productos correctas correspondientes.
Es posible que ya tenga estos datos disponibles o que pueda prepararlos usted mismo a mano o con turk mecánico.
Una vez que haya etiquetado los datos, puede desarrollar un clasificador para clasificar las descripciones de los productos en categorías / subcategorías de productos. Los pasos aquí involucrarían la extracción de características (TF-IDF es probablemente una buena opción aquí), elegir un algoritmo de aprendizaje (probablemente Bayes ingenuo, regresión logística o SVM dependiendo de la cantidad de datos que tenga), capacitación, evaluación de desempeño, seguido de más sintonización y así sucesivamente. Los árboles de decisión también pueden ser una buena opción aquí dada la naturaleza jerárquica de sus datos.
- ¿Cuáles son algunos buenos proyectos en los que un principiante de aprendizaje automático puede trabajar?
- ¿Qué quiere decir con redes neuronales lineales profundas / no lineales?
- Optimización matemática: ¿Por qué el método de descenso más pronunciado usando el descenso de gradiente típico tiene problemas con la función de Rosenbrock?
- ¿Cuál es la mejor red neuronal o SVM para la clasificación de texto de etiquetas múltiples?
- ¿Estudiar el aprendizaje automático y el aprendizaje profundo al mismo tiempo tendrá una buena o mala influencia en mi sistema de conocimiento?
Si los datos etiquetados son imposibles de preparar, considere algoritmos de agrupamiento. Algunos enfoques de agrupación pueden proporcionarle las etiquetas. En este caso, desearía una agrupación jerárquica para capturar la estructura de categoría / subcategoría de sus datos.
Un buen lugar para comenzar con esto sería el paquete scikit-learn en Python. A medida que sus datos se escalan, también puede considerar Mahout, que está en Java y tiene muchos algoritmos escalables, que a menudo se ejecutan sobre Hadoop.