¿Un auto-etiquetador de temas con Machine Learning?

Soy experto en aprendizaje automático, pero no en Discourse. Aunque no soy un experto, he utilizado Discourse mucho y me encanta.

Una herramienta que creo que sería muy potente sería un script para ejecutar (que interactúe con la API) que pudiera:

  1. Analizar el uso de etiquetas y etiquetar automáticamente los temas basándose en los datos. Por ejemplo, si una etiqueta en uso es “receta” y algunos temas están etiquetados como “receta”, un algoritmo de aprendizaje automático podría identificar publicaciones adicionales que deberían etiquetarse como “receta”.

  2. Analizar los temas para proponer nuevas etiquetas y etiquetar automáticamente los temas relevantes.

Creo que la implementación adecuada de esto estaría en Python y fuera de la implementación real de Discourse. Con un buen diseño de software, el procesamiento del lenguaje natural (NLP) y el aprendizaje automático (ML) estarían segregados del código que interactúa con Discourse. Al interactuar con Discourse a través de la API, esto permitiría desarrollar código de ML arbitrario y crear un paquete de Python de código abierto con contribuciones de la comunidad de ML, esencialmente de forma independiente a la distribución de Discourse. Una interfaz sólida también podría permitir aplicar ML a la gestión de foros de Discourse de otras maneras.

Por lo tanto, estoy interesado en desarrollar un primer intento de ML/NLP para implementar un etiquetador automático y convertirlo en una biblioteca de código abierto.

¿Hay algún desarrollador de Discourse familiarizado con la API que esté interesado en ayudar con el componente de comunicación de Discourse de este proyecto/biblioteca? Este es un componente crítico del equipo que falta. Necesitamos a alguien que pueda hacer esto antes de poder empezar.

¿Hay otros académicos/expertos que deseen participar en el desarrollo de ML/NLP?

Quizás @samamorgan o @black tengan algunas sugerencias o quieran participar.

Recomendaría apoyarse en webhooks; de esta forma, consumirías el webhook desde tu aplicación en Python y reaccionarías a él utilizando nuestra API.

Me da curiosidad ver cómo funciona.

Otra área que podría ser interesante es utilizar word2vec o algún tipo de conversión de oraciones a vectores para determinar la similitud temática en Support… muchas preguntas se formulan de muchas maneras diferentes; unir la información puede ser muy beneficioso.

En este momento, estoy pensando que Neo4j podría ser la mejor opción…

También investigaré los webhooks…

@swamidass ¡Suena como un proyecto interesante! Me encantaría unirme y ayudar si es de código abierto.

@samamorgan, ¿puedes crear código de interfaz para importar información de Discourse a Neo4j (usando la API)? Resulta que esto se puede hacer sin código de Python. Neo4j tiene una interfaz para ello. Consulta los ejemplos de Twitter y StackExchange:

Esto también es relevante:

Si tienes un proyecto en mente, inicia un repositorio git y describe el proceso. Me encantaría unirme y contribuir según mi tiempo si compartes el enlace aquí.

Gracias. Aquí está el repositorio de git.

https://github.com/swamidass/discourse-machine-learning