Я эксперт в области машинного обучения, но не в Discourse. Однако я активно пользуюсь Discourse и мне это очень нравится.
Очень мощным инструментом, на мой взгляд, был бы скрипт (работающий через API), который мог бы:
Анализировать использование тегов и автоматически присваивать теги темам на основе данных. Например, если используется тег «рецепт» и некоторые темы помечены этим тегом, алгоритм машинного обучения мог бы выявить дополнительные посты, которые также следует пометить тегом «рецепт».
Анализировать темы, предлагать новые теги и автоматически присваивать их соответствующим темам.
Правильной реализацией этого решения, как мне кажется, был бы код на Python, отделённый от самой реализации Discourse. При грамотном проектировании ПО компоненты NLP и ML были бы изолированы от кода, взаимодействующего с Discourse. Благодаря взаимодействию с Discourse через API появилась бы возможность разрабатывать произвольный ML-код, а также создать пакет с открытым исходным кодом на Python, в который сообщество специалистов по машинному обучению могло бы вносить свой вклад независимо от дистрибутива Discourse. Надёжный интерфейс также позволил бы применять методы ML для управления форумами Discourse и другими способами.
Поэтому я заинтересован в разработке начальной версии ML/NLP-компонента для реализации авто-тегирования и в выпуске этого решения как библиотеки с открытым исходным кодом.
Есть ли среди разработчиков Discourse, знакомых с API, те, кто был бы заинтересован в помощи с компонентом взаимодействия с Discourse в рамках этого проекта/библиотеки? Это критически важная часть команды, которой сейчас не хватает. Нам нужен человек, способный это реализовать, прежде чем мы сможем начать работу.
Есть ли другие учёные или эксперты, которые хотели бы принять участие в разработке ML/NLP?
Я бы рекомендовал использовать вебхуки: вы будете получать их из вашего Python-приложения и реагировать на них с помощью нашего API.
С нетерпением жду результатов.
Также может быть интересно использовать word2vec или подобные методы преобразования предложений в векторы для определения схожести тем в канале Support. Одна и та же информация часто запрашивается множеством разных способов, и объединение этих данных может оказаться весьма полезным.
@samamorgan, не могли бы вы написать код интерфейса для импорта информации из Discourse в Neo4j через API? Оказывается, это можно сделать без использования Python-кода. В Neo4j есть встроенный интерфейс для этого. Посмотрите примеры для Twitter и StackExchange:
Если у вас есть проект, начните с создания репозитория Git и опишите процесс. Я с радостью подключусь и внесу свой вклад, как только позволит время, если вы оставите ссылку здесь.