머신러닝을 활용한 주제 자동 태거는?

저는 머신러닝 전문가이지만, 디스코어(Discourse) 플랫폼 자체에는 전문가가 아닙니다. 다만 디스코어를 많이 사용해 왔고, 정말 만족하고 있습니다.

매우 강력할 것이라고 생각하는 도구가 하나 있습니다. 바로 API와 상호작용하며 실행되는 스크립트입니다. 이 스크립트는 다음과 같은 일을 할 수 있습니다:

  1. 태그 사용 현황을 분석하여 데이터를 기반으로 주제에 태그를 자동으로 부여합니다. 예를 들어, "recipe"라는 태그가 사용되고 있고 일부 주제에 “recipe” 태그가 붙어 있다면, 머신러닝 알고리즘이 “recipe” 태그가 붙어야 할 추가적인 게시물을 식별할 수 있습니다.

  2. 기존 주제들을 분석하여 새로운 태그를 제안하고, 관련 주제에 자동으로 태그를 부여합니다.

이 기능을 구현하는 가장 적절한 방식은 Python으로 작성하고, 실제 디스코어 구현체와 분리하는 것이라고 생각합니다. 좋은 소프트웨어 설계를 통해 NLP와 머신러닝 로직은 디스코어와 상호작용하는 코드와 분리될 수 있습니다. API를 통해 디스코어와 상호작용함으로써, 임의의 머신러닝 코드를 개발할 수 있고, 디스코어 배포판과 독립적으로 ML 커뮤니티의 기여를 받아 오픈소스 Python 패키지를 개발할 수 있게 됩니다. 견고한 인터페이스는 머신러닝을 디스코어 포럼 관리에 다른 방식으로 적용하는 것도 가능하게 할 것입니다.

따라서 저는 ML/NLP를 활용한 자동 태그러(auto-tagger)의 초기 구현을 개발하고, 이를 오픈소스 라이브러리로 만드는 데 관심이 있습니다.

API에 익숙한 디스코어 개발자 중 이 프로젝트/라이브러리의 디스코어 통신 컴포넌트 개발에 도움을 주실 분이 계신가요? 이는 팀에서 결여된 핵심 컴포넌트입니다. 시작하기 전에 이 부분을 담당해 주실 분이 필요합니다.

ML/NLP 개발에 참여하고 싶은 다른 학자나 전문가가 계신가요?

아마 @samamorgan 또는 @black님이 몇 가지 제안을 하시거나 참여하실 수도 있겠네요.

여기서는 웹훅을 활용하는 것을 추천합니다. 이렇게 하면 Python 앱에서 웹훅을 수신하고, 이를 API를 통해 처리하면 됩니다.

어떻게 진행될지 궁금합니다.

또 다른 흥미로운 분야는 word2vec이나 문장 벡터화를 사용하여 Support 채널의 주제 유사도를 파악하는 것입니다. 많은 질문이 다양한 방식으로 반복적으로 이루어지므로, 정보를 연결하면 큰 도움이 될 수 있습니다.

지금은 neo4j가 좋을 것 같다는 생각이 들고 있어요…

웹훅도 알아볼 예정이에요…

@swamidass 흥미로운 프로젝트네요! 오픈소스라면 참여해서 도와드릴 수 있어요.

@samamorgan, API를 사용하여 discourse 정보를 neo4j에 가져오기 위한 인터페이스 코드를 작성해 주실 수 있을까요? Python 코드 없이도 이 작업이 가능하다는 것을 알게 되었습니다. Neo4j에는 이를 위한 인터페이스가 제공되고 있습니다. Twitter와 StackExchange 예제를 참고해 보세요:

다음도 관련이 있습니다:

프로젝트가 계획되어 있다면, git을 시작하여 프로세스를 개요로 정리해 주세요. 여기에 링크를 공유해 주시면, 시간이 허락하는 대로 참여하여 기여할 수 있습니다.

감사합니다. 여기 git 저장소입니다.