Мне нужно создать опрос, который должен создать ранжирующий список элементов в порядке их хорошего. Я намереваюсь показать каждому пользователю два элемента вместе и заставить их выбрать тот, который, по их мнению, будет лучше, и повторить этот процесс несколько раз. Это похоже на то, что вы могли видеть в фильме "Социальная сеть". Как я должен оценивать элементы на основе полученных ответов?
Простой алгоритм ранжирования
Ответ 1
Посмотрите на рейтинговую систему ELO, если хотите что-то фантастическое.
Ответ 2
Я думаю, вы можете использовать алгоритм Elo, который использовался для ранжирования шахматистов и был создан профессором Арпардом Эло. Вы можете прочитать больше этого алгоритма на этой странице Википедии
Он также использовался Марком Цукербургом в создании Facemash. Это был сайт, на котором люди могут оценивать девочек на основе их жажды. Если вы посмотрели картинку "Социальная сеть", вы бы знали об этом. Если вы хотите практического использования этого алгоритма, вы можете посетить эту страницу . Если вы знаете PHP, вы можете легко изменить внешний вид index.php(домашняя страница). Yoou может заменить изображения девочек теми, что вы хотите ранжировать
Ответ 3
Мои предположения, основанные на вашем комментарии, действуют следующим образом.
- У вас есть коллекция исходных изображений.
- У вас есть x копий заданного исходного изображения, где x >= 1.
- Для данного изображения пользователи будут видеть только копии этого изображения, а не изображения с другого исходного изображения.
Для уточнения, вы намерены настроить его, чтобы пользователь увидел два искаженных изображения, или вы связали искаженные изображения с определенными исходными изображениями?
Если вы собираетесь ассоциировать определенные искаженные изображения с определенными исходными изображениями, я думаю, что моя идея будет работать.
- Для каждого голосования на искаженном изображении, связанном с исходным элементом, добавьте 1 к общему количеству голосов за этот оригинал.
- Добавьте 1 к числу да голосов на выбранном искаженном изображении.
- Добавить 1 в # из числа голосов на искаженном изображении, не выбранном.
- Добавьте 1 к общему количеству голосов по каждому искаженному изображению.
- Нормализовать "ранг изображения" с помощью image_rank = (# total_distorted_image_votes/# всего голосов за оригинальное изображение) * 100
- Нормализовать ранг "да" с помощью yes_rank = (#total_distorted_image_yes_votes/#total_distorted_image_votes) * 100
- Сортировать по изображению_rank или yes_rank. Использование yes_rank будет вознаграждать изображения с большим процентом голосов да, тогда как использование image_rank будет вознаграждать изображения, которые появились много.
Вы можете расширить этот раздел, чтобы начать ранжирование "групп" исходного изображения, если у вас есть счетчик для общего общего количества голосов. Вы просто нормализуете их (image_votes/total_votes) * 100 и сортируете их. Затем вы получите "ранжирование", из которых наиболее часто появляются изображения.