Как генерить список интересных тем?

Taboo

R=P(User1)*K(User1)/Tp(User1)+P(User2)*K(User2)/Tp(User2)+ … +P(UserN)*K(UserN)/Tp(UserN), где

R - рейтинг,
Р - общее число постов текущего юзера,
K - вес юзера. Можно задать К поумолчанию =1, и только для отдельных юзеров сделать табличку. К может быть, как больше 1, так и меньше.
Tp - время поста в днях + 1, в двухднях +1, в неделях +1. Надо пробовать.

vovic

Если рейтинг юзера брать по логарифмической шкале и темы оценивать не как средне-взвешенное, а как средне-квадратичное взвешенное, то… можно уже дисер писать. 😛

На самом деле к вопросу лучше с другой стороны подходить. К примеру, как на anekdot.ru верхняя десятка формируется. Вот это будет репрезентативно!
Но для этого скрипт надо подправлять. 😕

toxa
vovic

На самом деле к вопросу лучше с другой стороны подходить. К примеру, как на anekdot.ru верхняя десятка формируется. Вот это будет репрезентативно!

Не получится. Там каждый анекдот оценивается и анекдоты друг с другом не связаны. Если оценивать тему целиком, то все равно есть вопросы. Например, рейтинг темы может меняться по мере ее развития. Как в положительную, так и в отрицательную сторону. Если люди уже как-то голосовали за нее в начале, то что им делать потом? И еще, чем бредовее тема, тем почему-то она популярнее. Здравомыслящая часть аудитории будет оценивать такую тему ниже плинтуса, но к популярности-то такая оценка отношения не имеет. 😃

Vitaly

Так, трындеть хватит, а? Формулы гоните.

Я пока склоняюсь оценивать по средней скорости поступления сообщений за последнюю неделю. То есть:

Количество сообщений/[дата первого сообщения - дата последнего]

(*) Сообщения отсекаются где-то по последним 2 неделям.

Возможно, есть смысл какие-то локальные максимумы считать за 3 дня. Надо подумать.

Зато никакой привязки к “умности” пользователей, ибо это мне это почему-то не нравится. Есть вероятность что будет слишком усредненная “авторитарная попса” вылезать.

toxa

для всех сообщений в теме за последний месяц:
сумма{([дата i-го сообщения] - [дата i+1-го сообщения]) < 3 дней } / кол-во {([дата i-го сообщения] - [дата i+1-го сообщения]) < 3 дней }

чтобы “авторитарная попса” не лезла, можно засчитывать первое сообщение пользователя с весом 1, второе сообщение от этого же пользователя в этой же теме с весом 0.5, третье - 0.25 и так далее. Таким образом, тема, где участвуют два собеседника, будет проигрывать теме, где участвуют 3 и больше, при прочих равных.

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

Vitaly

О, дельная мысль, кстати. Насчет количества авторов.

SAN

Тоха прав, а то по формуле

Количество сообщений/[дата первого сообщения - дата последнего]

Самыми “интересными и актуальными” темами вылезут
Полетушки в Люберцах и
магазины нашинские. доколе ещё?