Um Auto-Marcador de Tópicos com Machine Learning?

Sou especialista em aprendizado de máquina, mas não no Discourse. No entanto, tenho usado bastante o Discourse e realmente estou gostando.

Uma ferramenta que acredito ser muito poderosa seria um script para executar (interagindo com a API) que pudesse:

  1. Analisar o uso de tags e auto-marcar tópicos com base nos dados. Por exemplo, se uma tag sendo usada for “receita” e alguns tópicos estiverem marcados com “receita”, um algoritmo de aprendizado de máquina poderia identificar postagens adicionais que deveriam ser marcadas com “receita”.

  2. Analisar tópicos para propor novas tags e auto-marcar tópicos relevantes.

Acho que a implementação correta disso seria em Python, fora da implementação real do Discourse. Com um bom design de software, o NLP e o ML seriam segregados do código que interage com o Discourse. Ao interagir com o Discourse por meio da API, isso permitiria o desenvolvimento de código ML arbitrário e a criação de um pacote Python de código aberto com contribuições da comunidade de ML, essencialmente de forma independente da distribuição do Discourse. Uma interface sólida também permitiria aplicar ML à gestão de fóruns do Discourse de outras formas.

Portanto, estou interessado em desenvolver uma primeira versão do ML/NLP para implementar um auto-tagador e tornar isso uma biblioteca de código aberto.

Há algum desenvolvedor do Discourse familiarizado com a API que esteja interessado em ajudar com o componente de comunicação do Discourse neste projeto/biblioteca? Este é um componente crítico da equipe que está faltando. Precisamos de alguém que possa fazer isso antes de podermos começar.

Há algum outro acadêmico/especialista que gostaria de participar do desenvolvimento do ML/NLP?

Talvez @samamorgan ou @black tenham algumas sugestões ou queiram participar?

Recomendo usar webhooks aqui; você consumiria o webhook no seu aplicativo Python e reagiria a ele usando nossa API.

Fico curioso para ver como funciona.

Outra área que pode ser interessante é usar word2vec ou algum tipo de conversão de frase para vetor para identificar a similaridade de tópicos em #suporte… muitas perguntas são feitas de várias formas diferentes, e unir informações pode ser muito benéfico.

No momento, estou pensando que o Neo4j pode ser o caminho a seguir…

Também vou investigar os webhooks…

@swamidass Parece um projeto interessante! Ficarei feliz em entrar e ajudar se for de código aberto.

@samamorgan, você consegue criar algum código de interface para importar (usando a API) informações do Discourse para o Neo4j? Acontece que isso pode ser feito sem qualquer código Python. O Neo4j possui uma interface para fazer isso. Veja os exemplos do Twitter e do StackExchange:

Isso também é relevante:

https://neo4j.com/developer/guide-import-json-rest-api/

Se você tem um projeto em mente, inicie um repositório Git e descreva o processo. Fico feliz em participar e contribuir conforme o tempo permitir, se você compartilhar o link aqui.

Obrigado. Aqui está o repositório do git.