Трендовый алгоритм - PullRequest
       3

Трендовый алгоритм

6 голосов
/ 22 декабря 2010

Я работаю над своего рода микро-форумом, где специальный пользователь публикует быстрое (размером с твит) сообщение, на которое подписчики могут отвечать своими сообщениями одинакового размера.Просто, никаких «копаний» или каких-либо голосований, просто хронологический поток ответов на каждое тематическое сообщение.Но с ожидаемым большим трафиком.

Мы хотели бы пометить тематические сообщения в соответствии с привлекаемым ими ответом, используя шкалу от 0 до 10.

Поиск в Google по алгоритмам трендов и сообществу открытого исходного кодаПримеры приложений на некоторое время, и до сих пор собрали две интересные ссылки, которые я пока не совсем понял:

С самого начала я понимаю необходимость проверки наклона активности и балансирования веса между двумя элементами, которые сильно различаются по масштабу деятельности.Но как мне сравнить множество предметов, быстро растущих во времени?И затем, как я могу разбить элементы в пределах «жужжания» от 0 до 10?

Второе упоминание является захватывающим, но над моей головой в этой точке.С первого прохода я понял, что нужно сохранять стабильность использования памяти, сохраняя при этом счетчики и сохраняя ссылки на элементы, если это необходимо.Но я пока не нашел подходящего алгоритма для моего конкретного случая использования.

Стоит отметить, что я пришел из области неинформатики и определенно не статистики.Пожалуйста, потерпите меня :) Любая помощь и примеры кода (особенно в Ruby) будут с благодарностью.

1 Ответ

5 голосов
/ 05 января 2011

Интуиция говорит, что решение этой проблемы не требует большого количества статистики, поскольку ранжирование тем на основе некоторых простых мер может уже предоставить вам интересный выбор «трендовых тем».

Одинможно упорядочить темы по количеству комментариев, сгенерированных за последний час / день / неделю ... и выбрать самые верхние.

Другой способ - подсчитать количество комментариев по каждой из тем и разделитьэто по "возрасту" темы.Новые темы, которые немедленно генерируют комментарии, будут считаться трендовыми, в то время как старые темы с большим количеством комментариев будут становиться менее трендовыми по мере старения.

Эти реализации можно легко создать в Ruby / Rails и даже можно сделать в SQLзапрос, при условии, что таблицы содержат даты публикации и количество комментариев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...