Estoy planeando usar el clasificador de máquina de vectores de soporte lineal (SVM) scikit para la clasificación de texto en un corpus que consta de 1 millón de documentos etiquetados. Lo que planeo hacer es que, cuando un usuario ingrese alguna palabra clave, el clasificador primero la clasificará en una categoría, y luego se realizará una consulta de recuperación de información en los documentos de esa categoría. Tengo algunas preguntas:
- ¿Cómo confirmo que la clasificación no tomará mucho tiempo? No quiero que los usuarios tengan que pasar tiempo esperando que termine una clasificación para obtener mejores resultados.
- ¿El uso de la biblioteca scikit de Python para sitios web / aplicaciones web es adecuado para esto?
- ¿Alguien sabe cómo Amazon o flipkart realizan la clasificación en las consultas de los usuarios, o utilizan una lógica completamente diferente?
machine-learning
classification
python
scikit-learn
usuario3498
fuente
fuente
Respuestas:
La única forma confiable de ver cuánto tiempo lleva es codificarlo y darle una oportunidad. La capacitación llevará más tiempo, luego puede guardar su modelo (pickle) para usarlo más tarde.
fuente
No veo un gran problema aquí. Entonces, trataría de responder todas sus preguntas desde el punto de vista del nivel de producción:
Tome un subconjunto de los datos del corpus que tenga (puede hacerlo al azar, sin necesidad de muestreo), y pruebe su algoritmo en él, y se aproximan / generalizan al conjunto de datos general.
(SVM es comparativamente más rápido. Sin embargo, realice el proceso anterior solo para estar seguro).
Y pruébelo en el entorno de desarrollo antes de pasar a producción.
Si lo es. Ya está siendo utilizado por una buena parte de las empresas.
La tercera pregunta sobre Amazon y Flipkart no puede ser respondida por alguien fuera de sus equipos.
Además, le aconsejaría que utilice las técnicas de reducción de mapas para entrenar sus modelos. Y como ya se aconsejó, seleccione sus modelos para que no necesite entrenarlos con cada solicitud.
fuente