Descargo de responsabilidad: solo tengo antecedentes de IR elemental, por lo que mis sugerencias solo reflejarán lo básico. También podrían estar completamente equivocados, por lo que las correcciones son bienvenidas.
Este es un problema interesante, y creo que es manejable.
Creo que el enfoque de entrenar un clasificador por usuario es razonable, como sugirió Ghalib Suleiman.
- ¿Es útil para un científico de datos conocer métodos ágiles como Scrum?
- ¿Cuál es la mejor tarjeta gráfica para tareas de aprendizaje automático / Big Data?
- ¿Qué está haciendo Wavii con el aprendizaje automático para redefinir cómo se realiza la búsqueda en la web?
- ¿Cuáles son los algoritmos de aprendizaje automático adecuados para Big Data o análisis en tiempo real?
- ¿Qué son los asombrosos papeles gráficos de conocimiento?
En cuanto a los vectores de características:
Lo que notas en la mayoría de las salas de chat de IRC es que las personas tienen estilos de conversación distintivos. Utilizan diferentes siglas, signos de puntuación y ortografía para comunicarse. Estos tienden a ser internamente consistentes, es decir, un usuario puede (mal) deletrear palabras o usar un meme o acrónimo de manera bastante consistente de la misma manera cada vez.
Además, lo que observa es que, en términos de tiempo, las conversaciones se agrupan bastante, con algunos usuarios hablando de algo con pocas interrupciones entre líneas.
Finalmente, la más obvia es que sabes que un usuario solo puede estar en una conversación si realmente está en la sala. Por lo tanto, un elemento imprescindible serían las líneas de unión / entrada además de los registros de chat en sí, aunque dado que hay una gran cantidad de personas en IRC que están “siempre activas” y simplemente inactivas, es discutible lo útil que sería .
Entonces, usando una combinación de:
1) Aproximación aproximada de n-gramas
2) Comprobación de la longitud de la oración
3) Agrupación de marcas de tiempo
Creo que podría obtener un clasificador aceptable con este conjunto de características.
Nota:
¿Puedes subir un registro muy grande (10k + líneas) desde un canal en alguna parte? Este conjunto de sugerencias no es difícil de implementar, por lo que sospecho que alguien estaría interesado en probarlo pronto (posiblemente yo mismo)