Классический форум-трекер
canvas not supported
Нас вместе: 4 232 373

[ ВАЖНО ] Обсуждение алгоритма рекомендаций


Страницы:  1, 2, 3, 4, 5  След. 
 
RSS
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Поговорим -> Дискуссионный клуб
Автор Сообщение
An0nym ®
Стаж: 16 лет 9 мес.
Сообщений: 2234
Ratio: 13.449
Поблагодарили: 1895
100%
roody.gif
Не так давно в клубе появилась функция рекомендаций раздач:
http://nnmclub.to/forum/viewtopic.php?t=116828

Алгоритм рекомендаций будет меняться.

У кого есть идеи по его улучшению - высказывайтесь.

_________________
Сайонара
A.Rei
Стаж: 16 лет 7 мес.
Сообщений: 1213
Ratio: 25.355
Раздал: 17.89 TB
Поблагодарили: 5077
100%
а) учитывать, что уже скачано
б) не учитывать темп и архив

_________________
Слишком скучно быть бессмертным - те же лица день за днем,
те же глупые ответы на вопрос "зачем живем?".
C4rn1v0r4
Стаж: 15 лет 2 мес.
Сообщений: 42
Ratio: 15K
100%
roody.gif
A.Rei
если можно, уточню так как это вижу я:
A.Rei писал(а):
а) учитывать, что уже скачано

1) не показывать релизы которые были скачаны или добавлены в любую из категорий (Буду Качать, Качаю, Скачал). не знаю что делать с теми которые Отмена и Уже удалил, ведь могут быть разные причины нажатия таких кнопок - просто не понравилось полученое или же возможно просто сейчас нет места (для Отмены) куда качать и пришлось записать на диск (для Уже удалил).
A.Rei писал(а):
б) не учитывать темп и архив

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

А на счёт именно алгоритма вычисления схожести вкусов: интересно узнать как сейчас он вычисляется (если это, конечно, не ноу-хау)?

_________________
Чтобы тебя любили — приходится быть со всеми хорошим каждый день. Чтобы ненавидели — напрягаться не приходится вообще. © Гомер Симпсон
An0nym ®
Стаж: 16 лет 9 мес.
Сообщений: 2234
Ratio: 13.449
Поблагодарили: 1895
100%
roody.gif
A.Rei
спасибо, будет со временем учитываться.

Темп... сейчас есть разбивка по разделам (категориям), и все раздачи Темпа попадают в один раздел... но со временем надо будет их отфильтровать.

С тем, что уже скачано... для определения вкуса необходимо знать и что человеку нравится, и что - не нравится, поэтому оценка несёт намного больше информации чем факт скачивания. можно ли и стоит ли учитывать во вкусе и скачивания - посмотрим, хотелось бы - это даст возможность рекомендовать тем, кто оценок вообще никогда не ставит.

Использовать их только как фильтр - не рекомендовать то что скачано но не оценено - будет со временем.

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

про алгоритм все основные идеи описаны в основной ветке, а вдаваться в подробности - конкретные формулы, веса и фильтры - смысла (пока?) не вижу - оно постоянно меняется. а с какой целью вопрос про конкретное вычисление?

_________________
Сайонара
An0nym ®
Стаж: 16 лет 9 мес.
Сообщений: 2234
Ratio: 13.449
Поблагодарили: 1895
100%
roody.gif
рекомендации временно отключены на неопределённый срок. про алгоритм. в последней версии (0.2) учитывалась не только схожесть вкуса.

вкратце так. любая поисковая система пытается найти веб-страницы, которые наиболее соответствуют ("релевантны") искомым словам. мы сначала пытаемся сделать наоборот: найти те слова, которые максимально релевантны описаниям раздач, которым пользователь проставил максимальные оценки. потом - ищем другие раздачи, в описании которых встречаются эти слова.

основные критерии отбора слов это во-первых высокая средняя оценка (если раздачи, где встречается слово "драма" имеют среднюю оценку 4.5, а со словом "ужас" - 3.5, то явно человеку драмы нравятся больше ужастиков). во-вторых, насколько часто это слово встречается в оцениваемых пользователем по сравнению с долей всех раздач. (например если слова "Брюс" и "Уиллис" встречаются в 10% оцененных, а в среднем по трекеру их всего 1% то этот актёр человеку в 10 раз интереснее чем остальным).

гугл также использует типа меру популярности (PageRank), у нас можно было учитывать то же число скачиваний, но цель рекомендаций в том числе - посоветовать малоизвестные вещи. ибо как правило рекомендательные серверы выдают только попсу, что приводит к "усреднению" общего вкуса а только по словам будет рекомендовать и "длинный хвост".

идея возникла при попытках оценить стоит ли качать фильм, у которого ещё вообще нет ни оценок, ни отзывов на IMDB. для выбора были только актёры/режиссёры и ключевые слова. первые же попытки это дело оценить показали к примеру значимость для меня слов surreal и cyberpunk, что соответствует реальности. у нас описание раздачи не структурировано, поэтому все слова равноценны - и актёры, и жанры, и качество (у кого-то vhsrip в топ любимых слов попал), что угодно. результат меня снова порадовал - уже скачал 4 вещи, на которые так не обратил бы внимания (например вот это было рекомендовано когда там не было ещё ни одной оценки). схожесть вкуса по-прежнему учитывается как один из факторов.

подобный алгоритм сейчас является де-факто стандартом для фильтрации спама.

_________________
Сайонара
ArchiKobold
Олигарх+
Князь Тьмы, Uploader 100+
Стаж: 16 лет 11 мес.
Сообщений: 18068
Ratio: 251.221
Поблагодарили: 3724
100%
Сразу сделаю одно важное замечание. Перед написанием пришлось посмотреть две темы на форуме, 5 сторонних сайтов, две статьи в блоге и еще несколько статей в википедии. Не смотря на детальное изучение всех вышеупомянутых источников и выделение для этого сравнительно большого количества времени (около 2 часов) в голове творится каша, которая по собственным ощущениям не закончится и далее. Так что если будут повторы предложений / замечания, уже обдуманные и оговоренные alex14san, не ругайтесь, действительно переварить всё тяжело (если не сказать - невозможно)

1) В общем что хочется сказать про метод вычисления рекомендаций. Использовать алгоритм, построенный на основе теоремы Байеса в контексте форума с огромным количеством пользователей не получится (смотря какие вычислительные мощности). 2) Использование тегов(их аналогов) как мне кажется сможет решить ряд проблем с алгоритмом рекомендаций. Однако здесь возникает другая сложность. Как минимум это процесс анализа опечаток/написания с точками(пробелами) через дефис и т.д. Как вариант - в ключевых полях надо навязывать пользователю ввод правильного слова. Второй способ - анализ схожести слов(неприемлем при выборке актеров/режиссеров - пример Ф.Бондарчук С.Бондарчук) Введение же тегов создаст другую проблему. А именно как их расставить в уже сделанные релизы.... это большая кропотливая работа....

3) Изменение степени ранжирования. Было высказано предложение - увеличить количество рангов (от 1 до 10) Опять же крайне сложно однозначно отнестись к такому предложению. Что делать с уже оцененными релизами ( а ведь именно там сосредоточено самое вкусное) Новинки мирового проката детально освещаются и всегда можно заранее сделать свой выбор и "ожидать" появление. А вот уже выложенный на трекере контент (100+ Тб ) уже оценен. И при увеличении количества рангов оченка просто умножится на 2 (1->2 5->10) (самый логичный вариант) В этом случае механизм теряет свою гибкость по отношению к уже сделанным релизам.

4) Была озвучена проблема с сериалами/многосерийными фильмами. Почему бы не ввести как правило - из одинакового раздела (например сериалы) не выводить темы с 70% (может больше может меньше, надо оценивать) совпадением слов в названии. Кто качает сериалы - следит за выходом серий, то же касается сиквелов на фильмы. Нет смысла учитывать их, надо просто отсеивать. Тогда останется всего один результат (уже не так плохо)

5) Надо подумать как уйти от однозначности рекомендаций в случае малого количества оценок и от размытости в случае огромного числа оцененных положительно разноплановых раздач. (Возможно надо реализовать механизм "мне не нравится" для определения "антивкусов" для новичков и "очень нравится" для тех у кого сотни оценок" - расставить явные приоритеты)

В общем воды налил много, не знаю полезно или нет.

Ну а сам механизм по моему мнению (наичистейшее ИМХО) (на основании вышеизложенного и прочитанного) должен выглядеть так:
а) Определение списка оцененных раздач (Раздачи с оценками и спасибками -(минус) НЕ скачанные релизы +(плюс) релизы в закладках + раздачи с пометкой "буду качать"
б) Определение оцененных но не скачанных раздач (как вариант - поставил оценку так как нравится автор)
в) Совмещение списков полученных результатов в определенной пропорции (как пример больший приоритет списку А(70%) и меньший списку Б(30%))
г) Выделение из совмещенного списка В ключевых слов (тегов)- названия, жанра, технических характеристик и т.д. С одновременным ранжированием этих слов и созданием индивидуальных фильтров по словам
д) Поиск слов с постепенным применением фильтров е) Формирование итогового списка рекомендаций.
Вот как то так.

З.Ы. Перечитал - выглядит как бред сумасшедшего. Сумбур в мыслях и в изложении. Надеюсь хоть что-то полезное есть ;).
Rany
DJ Настроения
Модератор
Стаж: 16 лет 9 мес.
Сообщений: 6285
Ratio: 3.763
Раздал: 3.36 TB
Поблагодарили: 67
100%
Откуда: из-за моря
nnm-club.gif
надо делать максимально простые рекомендации, чтобы систему не грузили и давали элементарные предпочтения. к примеру: жанр + оценка. но это имхо всё
An0nym ®
Стаж: 16 лет 9 мес.
Сообщений: 2234
Ratio: 13.449
Поблагодарили: 1895
100%
roody.gif
ArchiKobold писал(а):
Использовать алгоритм, построенный на основе теоремы Байеса в контексте форума с огромным количеством пользователей не получится

да вроде работает. топ "любимых" слов для тебя получился такой (окончания слов отбрасываются):
ArchiKobold писал(а):
Да и как определить начальный список "весомых" слов пользователя? не брать же целиком все тексты всех раздач удовлетворяющих критериям интересности (спасибка, положительная рекомендация, скачивание)

именно так и делается. точнее, пока берётся только положительная оценка, но смысл именно такой
ArchiKobold писал(а):
Почему бы не ввести как правило - из одинакового раздела (например сериалы) не выводить темы с 70% совпадением слов в названии

здравая идея, спасибо, надо подумать (в смысле попробовать реализовать)
ArchiKobold писал(а):
Определение списка оцененных раздач (Раздачи с оценками и спасибками -(минус) НЕ скачанные релизы +(плюс) релизы в закладках + раздачи с пометкой "буду качать"

м... а почему "минус не скачанные"? imho если человек поставил оценку - значит оценил (просмотрел) контент. а если скачал но не оценил то может наоборот, он накачал про запас сотню раздач, но не успел всего скачанного просмотреть, поэтому рекомендации помогут ему выбрать с чего начать просмотр.

или если человек скачал этот же фильм с другого трекера или из локалки, или смотрел в кинотеатре - если он поставил оценку, то ему стоит рекомендовать похожие фильмы, но не стоит больше рекомендовать этот - если он уже посмотрел, зачем ещё с этого трекера скачивать?

хотя если кто-то ставит "5" просто как спасибо хорошему релизеру... то да, лучше основываться на том что он скачал... хм...
Rany писал(а):
надо делать максимально простые рекомендации

я пока делал максимально полезные лично для себя... максимально простые уже есть: http://nnmclub.to/forum/medal.php

_________________
Сайонара
ArchiKobold
Олигарх+
Князь Тьмы, Uploader 100+
Стаж: 16 лет 11 мес.
Сообщений: 18068
Ratio: 251.221
Поблагодарили: 3724
100%
alex14san писал(а):
топ "любимых" слов для тебя получился такой (окончания слов отбрасываются):

если честно, я не представляю где такие слова вообще там написаны..... тебе самому не кажется что список странный ???
alex14san писал(а):

м... а почему "минус не скачанные"? imho если человек поставил оценку - значит оценил (просмотрел) контент. а если скачал но не оценил то может наоборот, он накачал про запас сотню раздач, но не успел всего скачанного просмотреть, поэтому рекомендации помогут ему выбрать с чего начать просмотр.
или если человек скачал этот же фильм с другого трекера или из локалки, или смотрел в кинотеатре - если он поставил оценку, то ему стоит рекомендовать похожие фильмы, но не стоит больше рекомендовать этот - если он уже посмотрел, зачем ещё с этого трекера скачивать?
хотя если кто-то ставит "5" просто как спасибо хорошему релизеру... то да, лучше основываться на том что он скачал... хм...

Я же написал - релизы НЕ скачанные но оцененные берутся во втором пункте. И потом из них делается коктейль, просто мне кажется что релизы с оценкой и скачанные имеют больший вес....
An0nym ®
Стаж: 16 лет 9 мес.
Сообщений: 2234
Ratio: 13.449
Поблагодарили: 1895
100%
roody.gif
ArchiKobold писал(а):
тебе самому не кажется что список странный ???

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

масамунэ*, желязн*, кусанаг*, киберпанк*, solidwork*, kanno*, мамор*, моток*, сир*, complex*, доспех*, фантастик*, ghost*, румик*, mamoru*, кэндз*, бибоп*, кибернетическ*, gainax*, кибер*, ос*, yoko*, янтарн*, несносн*, tobira*

ArchiKobold писал(а):
просто мне кажется что релизы с оценкой и скачанные имеют больший вес....

м... даже не знаю... я сам просто отсюда мало качаю, но оценки - ставлю

_________________
Сайонара
ArchiKobold
Олигарх+
Князь Тьмы, Uploader 100+
Стаж: 16 лет 11 мес.
Сообщений: 18068
Ratio: 251.221
Поблагодарили: 3724
100%
alex14san писал(а):

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

в принципе я знаю в чем проблема - в том что большинство оценок я ставил за релизы которые не скачивал и мне самому они особо не интересны ))) просто по словам получается что мне интересны встречи брежнева с физиками, которые используют колориметр в выходные и ставят прочие эксперименты ))
alex14san писал(а):
м... даже не знаю... я сам просто отсюда мало качаю, но оценки - ставлю

я вот думаю если можно было бы увидеть весь список релизов за которые я проголосовал и переголосовать.... интересно что бы получилось )))
An0nym ®
Стаж: 16 лет 9 мес.
Сообщений: 2234
Ratio: 13.449
Поблагодарили: 1895
100%
roody.gif
ArchiKobold писал(а):
большинство оценок я ставил за релизы которые не скачивал и мне самому они особо не интересны

ясно. а я отношусь к рекомендациям как к инструменту. который надо "затачивать" - т.е. нравится тебе какой-то актёр - пройдись по трекеру поиском, поставь "5" всем фильмам, где он снимался, и на будущее если появится новый фильм с ним - с большой вероятностью он попадёт в рекомендации свежака. на которые я подписался по RSS.

ещё возможно что для небольшого числа оценок лучше работают "общие вкусы", а когда оценок уже не одна сотня - "любимые слова". ну и формулы выбора слов ориентированы больше на выбор специфических для этого пользователя вещей, а не вообще. т.е. даже при тысячах оценок, даже если большая их часть - 5, делается попытка угадать "вкус" в словах.

ArchiKobold писал(а):
весь список релизов за которые я проголосовал и переголосовать

м... да, наверное надо такую вещь будет сделать.

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

_________________
Сайонара
deathdemon
Стаж: 15 лет 8 мес.
Сообщений: 650
Ratio: 24.43
Поблагодарили: 3049
100%
logo.gif
alex14san писал(а):
наверное надо такую вещь будет сделать.

В профиле есть список старых закачек. Можно прямо там же и сделать рядом с каждой закачкой поле для выставленя оценки. Там же выводить уже поставленную оценку и давать возможность ее поменять.

Добавлено спустя 1 минуту 40 секунд:

alex14san писал(а):
показывать почему именно рекомендуется данный релиз. например, выделять жирным те слова, которые повлияли на его выбор, показывать тех пользователей, из-за сходства вкуса с которыми он попал в рекомендуемые. может даже вручную позволять отбирать пользователей, чьи рекомендации ты считаешь для себя важными...

Гениально!

Еще, кстати, можно подумать о том, чтобы в этой системе как-то найти место для тегом (ну может, когда-то они все-таки появятся...)

_________________
OS *NIX: Ubuntu Ultimate Edition 2.2 [x86_64]
Музыка: Bert Kaempfert & His Orchestra
Мульт: Вуншпунш (весь)
И еще кое-что (в Поиск)
An0nym ®
Стаж: 16 лет 9 мес.
Сообщений: 2234
Ratio: 13.449
Поблагодарили: 1895
100%
roody.gif
deathdemon писал(а):
в этой системе как-то найти место для тегов

есть такое дело - что идей как всегда вагон, а сделать всё - руки не доходят...

_________________
Сайонара
ArchiKobold
Олигарх+
Князь Тьмы, Uploader 100+
Стаж: 16 лет 11 мес.
Сообщений: 18068
Ratio: 251.221
Поблагодарили: 3724
100%
alex14san писал(а):
ещё возможно что для небольшого числа оценок лучше работают "общие вкусы", а когда оценок уже не одна сотня - "любимые слова". ну и формулы выбора слов ориентированы больше на выбор специфических для этого пользователя вещей, а не вообще. т.е. даже при тысячах оценок, даже если большая их часть - 5, делается попытка угадать "вкус" в словах.

хм.... я вот думаю по поводу оценок... смотри сам - если я увижу у себя в рекомендациях фильм/музыку которая мне абсолютно не нравится (Дима Билан например) я по идее должен буду зайти туда и поставить 1 чтобы больше мне это не показали... но.... тогда люди заходящие на раздачу увидят что суммарный балл оценок крайне низок... и психологически тяжело будет себя убедить это скачать (особенно если фильм/музыка качаются эксперимента ради - вдруг понравится) Как показывает практика - только первые оценщики объективны, остальные попадают под влияние.... В общем я хочу сказать что личную оценку релизу не надо показывать публике - просто шкала, которая видна только тебе и всё.... и сделать эту шкалу как раз десятибальной... и не связанной с существующей шкалой оценок... :)
Показать сообщения:   
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Поговорим -> Дискуссионный клуб Часовой пояс: GMT + 3
Страницы:  1, 2, 3, 4, 5  След.
Страница 1 из 5