Я планирую приложение, которое будет создавать кластеры коротких сообщений / твитов на основе тем.Количество тем будет ограничено, например, Спорт [НБА, НФЛ, Крикет, Футбол], Развлечения [фильмы, музыка] и так далее ...
Я могу придумать два подхода к этому
- Попросите пользователей отметить вопросы, как это делает Stackoverflow.Пользователи могут выбирать теги из предварительно определенного списка тегов.Затем на стороне сервера я буду кластеризовать их на основе тегов.Плюсы: - Простой дизайн.Меньше сложности в коде.Минусы: - Выбор для пользователей будет ограничен.Кластеры не будут динамическими.Если происходит новое событие, предопределенные теги пропустят его.
- Возьмите сообщение, удалите стоп-слова [предопределенные в словаре], примените некоторый алгоритм кластеризации к основному сообщению, чтобы создать кластер и в зависимости от его популярностиотобразить кластер.Кластер будет отображаться до тех пор, пока он не станет популярным [много сообщений в минуту]. Новые сообщения будут просматриваться и назначаться соответствующим кластерам.Плюсы: - Динамическая кластеризация, основанная на популярности события / аварии.Минусы: - повышенная сложность.Требуются дополнительные ресурсы сервера.
Я хотел бы знать, есть ли другие подходы к этой проблеме.Или есть какие-то способы улучшить вышеупомянутые методы?
Также предложите несколько хороших алгоритмов кластеризации. Я думаю, что алгоритм "K-Nearest Clustering" подходит для этой ситуации.