О сортировке контента на основе оценок пользователей

    Написать этот пост меня привлекла эта статья. Многие ее помнят по вот этой картинке.
    image
    Статья затрагивает правильную тему, однако с точки зрения математики и здравого смысла она в корне не верна.

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

    Математика


    Автор предлагает использовать формулу, которая была написана на стекле в фильма «Социальная сеть»:
    image
    доверительный интервал Вильсона.

    Это звучит, конечно, серьезно, однако нет никакого основания применять эту формулу к задаче, кроме одного эпизода из фильма, снятого по бульварному роману. Доверительные интервалы изначально были созданы для того, чтобы оценивать вероятность того, что гипотеза подтверждается статистикой, а не для рейтинга. Доверительные интервалы очень сильно зависят от необходимой вероятности и принцип ее выбора непонятен из статьи.

    Более того автор пытается ее применять для 5ти бальной оценки, хотя эта формула описывает только распределение с двумя вариантам. Для этих целей есть другие формулы. Если на сайте есть рейтинг с плюсом и минусом, то это тоже не двух вариантное распределение. В фильме, было именно два варианта — у пользователя была только возможность проголосовать за одну из двух девушек, а вероятность закрытия страницы значительно ниже, чем голосования.

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

    Богатые богатеют


    Если пользователям по умолчанию показываются статьи с самым высоким рейтингом и этот рейтинг зависит от числа оценок, то мы имеем положительный обратный эффект. Старые статьи выше в рейтинге, они получают больше посетителей, им ставят больше оценок в итоге они еще больше отрываются от молодых статей.
    Даже если все статьи добавлены единовременно, то из-за случайной оценки несколько случайных статей взлетит на вверх и получит больше голосов и опять начнется цепная реакция.
    Если рейтинг сильно влияет на число посещений страницы, то либо используйте и положительные и отрицательные оценки, чтобы добросовестные пользователи чистили «топ», либо не используйте количество оценок как параметр сортировки ни в каком виде, а чтобы избежать недостоверных статей вверху рейтинга — исключите из поиска статьи с меньшим определенного числом голосов как на AG.ru.

    Плюс/минус


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

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

    «Пять звезд»


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

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

    image

    Где R средний рейтинг всех статей, N среднее число голосов. Ri средний рейтинг этой статьи, Ni число голосов этой статьи. R и N можно подставить константами — они слабо меняются со временем.

    В формулу можно добавить настройку консерватизма:

    image

    K>0. Чем меньше K, тем легче новой статье пробиться на вверх в выдаче. Чем он выше, тем сортировка будет стабильнее и тем сильнее будет эффект «богатые богатеют». При K=0 сортировка сводится к самому простому варианту.

    Комбинированный рейтинг


    Как уже говорилось, что основная наша проблема в том, что если у какой-то статьи (или товара) всего одна оценка в 5 балов, то его рейтинг будет выше чем у статьи с сотней голосов в пять балов и одним в 4ре бала. Другими словами голоса имеют разный вес. Единственный простой рейтинг, который лишен это недостатка это плюс/минус. Однако, звездочки более привычны пользователям их можно засунуть в выдачу Яндекса и Гугла и они позволяют судить пользователям насколько хорош товар (4 звезды более понятно, чем +40).

    Поэтому, можно соединить два варианта: выводить «звездочки» пользователям, но сортировать по плюсам и минусам. Голос увеличивает оценку статьи 1, если он выше, скажем, 3, либо уменьшает на 1, если ниже. Можно немного усложнить: голос увеличивает оценку на число балов поставленных пользователем минус средний рейтинг статей(R — Ri).

    Однако, в этом случае, консерватизм рейтинга и эффект «богатые богатеют» будет выше, чем варианте со среднезвешанным.

    Читайте вторую часть
    Share post

    Comments 62

      +1
      В итоге, от «богатые богатеют» избавиться невозможно?
        0
        Положительная обратная связь. Можно только пытаться скомпенсировать каким нибудь алгоритмом.
          +5
          Добавить поправку на возраст статьи? «Экспоненциальное затухание рейтинга».
            +4
            Брать рейтинг только за последние n часов.
              –2
              Тогда уж лучше "последние 100", Статья потерявшая актуальность постепенно сползет вниз. 100 взято с потолка :)
                +1
                n=100
              • UFO just landed and posted this here
                  0
                  На то он и топ. Прямо как в Foursquare.
                +1
                Вариантов много, зависит от того какова реализация рейтинга. Но увы ни одного идеального.

                Если по аналогии с радиотехникой, то ПОС возникает из за паразитных емкостей между входом и выходом. Самый известный пример — свист микрофона на сцене, когда провод плохо экранирован или микрофон подносится к динамику.

                Часть сигнала с выхода, попадает обратно на вход. Вход в данном случае — голосовалка, выход — топ рейтинга.

                Для уменьшения паразитной емкости можно, например уменьшить кол-во элементов в топе.
                Можно например отслеживать голосующих пользователей пришедших через топ рейтинга и уменьшать вес их голосов.
                Или удлиннить пользователю топа путь до голосования.
              –1
              Стандартное затухание evanmiller.org/rank-hotness-with-newtons-law-of-cooling.html
              Но это решает проблему выдачи «актуальных объектов» на текущее время. И реальный (итоговый) рейтинг объекта не имеет к этому отношения.

              Ещё раз: есть 2 совершенно разные задачи:

              1. Отсортировать объекты по рейтингу учитывая неполноту данных (когда мало голосов судить об крутости объекта можно только с определнным ± допущением)
              2. Вывести наиболее актуальные объекты на текущее время


              На Хабре для этого, соответственно, 2 раздела: лента и топы публикаций (за день/неделю/месяц/всё время). Если убрать ленту и оставить только топы, естественно богатеть будут только богатые.
                0
                В итоге, от «богатые богатеют» избавиться невозможно?

                Только если не использовать самую простой метод: среднееарифметическое оценок, и из поиска исключить посты с числом оценок меньше определенного значения, например, 10. Как на Ag.ru.

                В противном случае получается следующая вещь. Если использовать число оценок в рейтинге: то «богатые богатеют», если нет, то возникает проблема «одной оценки». Нужно найти золотую середину.

                Если проблема возникает только со «стариками», то можно в рейтинг включить время жизни статей. Однако, оно сильно коррелирует с числом оценок. В самом простом случае n/l мы, по сути, вернемся к исходному варианту. С некоторыми исключениями:
                1. «богатеть» будут не «старички», а статьи, которые случайным образом набрали в самом начале несколько положительных оценок.
                2. Мы неявно включим в рейтинг процент голосовавших. Хорошо это или плохо — зависит от случая.

                  0
                  Практически нереально.

                  +12
                  На самом деле все эти социальные сети только краешком пятки сейчас влезают в проблемы шкал, рейтингов и оценок, которыми очень давно занимается социаология и матстатистика.

                  Допустим, проведен эксперимент в рамках которого любители Apple более склонны к крайним формам оценок по пятизначной порядковой шкале. Все, ваш рейтинг относительно прдкутов Apple как бы он не рассчитывался, будет буквально изнасилован относительно других продуктов. Я не видел моделей, которые учитывают связь потребительского поведения с подходом к оцениванию.
                  Правда, увы, в социологии подобные вопросы относительно того как человек ведет себя при просьбе оценить что-то, при каких условиях выражает желание сделать это добровольно и т.д. также не приветствуются так, как они способны поставить крест на методике практически любых исследований, связанных с опросами.
                  И это так, камушек с верхушки айсберга.
                    0
                    Заранее извиняюсь за немного сбивчивый текст, время позднее
                      +3
                      Напишите статью на эту тему
                      было бы интересно почитать
                      +65
                      Про пятизвёздочный рейтинг хорошо на XKCD было:
                        0
                        Хорошая статья, как раз грядет работа с рейтингами, читаю с удовольствием. Поясните вот этот момент:
                        Поэтому, можно соединить два варианта: выводить «звездочки» пользователям, но сортировать по плюсам и минусам. Голос увеличивает оценку статьи 1, если он выше, скажем, 3, либо уменьшает на 1, если ниже.

                        На примере, а то не понял как работает этот вариант.
                          +2
                          Если поставили 4 и 5 звезд — это «плюс один», если 1 или 2 здезды — это «минус один»
                          в базе одновременно храним плюсы/минусы и средний рейтинг по 5-ти балльной шкале
                          сортируем по плюсам/минусам, а на странице показываем 5-ти балльный.
                          +4
                          Рейтинги — вообще крайне странная система по своей сути, которая сама по себе может в некоторых случаях только запутывать всё. Только сравните:

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

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

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

                          Очевидно, что человека не заставишь каждый раз в форме подробной анкеты выражать свое отношение к чему-либо. Но нужны ли рейтинги, в которых люди легко участвуют, но которые в реальности ничему определенному не соответствуют?
                            0
                            У нас вся жизнь построена на рейтингах.
                              +2
                              значит она построена кем-то другим
                              +2
                              Ага, это все психология оценки.
                              К тому же лайки и плюсики ничто без категорий. Чем шире категория и чем меньшей квалификации она требует для оценки представленного в определенной категории, тем больший эффект имеют массовые явления, не имеющие к продукту отношения.

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

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

                              Задача пойти и выбрать одну конкретную статью, которую я прочту сегодня вечером, посоветовавшись со специалистом по статьям в этой тематике выглядит странно. Задача выбрать один-единственный набор ключей под себя, спросив на что обращать внимание у профессионального автолюбителя выглядит нормально.
                                –1
                                Давайте не будем всё сваливать в одну кучу. Когда стоит задача вывести объекты — сначала самые лучшие/релевантные/etc, потом остальные нужен рейтинг выраженный одной цифрой. Потому что список у нас линейный. Не двухмерный, не трёхмерный, а линейный. Значит нужна одна цифра.

                                Есть ещё задача представления рейтинга конкретного объекта для пользователя. Это совсем другая задача. И это скорее из области интерфейсов-юзабилити.
                                  0
                                  Это не кажется мне тем случаем, когда техническая реализация должна навязывать свою логику работы какой-либо функции.
                                    0
                                    Чего? Реализация чего не должна навязывать логику работы какой-такой функции?
                                      0
                                      Речь идет о сортировке контента. Если некто решил, что сортировка будет осуществляться на основе линейного списка, потому что «так проще всего» (с технологической точки зрения или с точки зрения того, что не надо много думать, чтобы выдвинуть такую идею) — это и есть навязывание логики работы того, как будет работать функция сортировки.

                                      Потому что на практике одна часть пользователей может желать увидеть контент в режиме «what's hot» (то есть то, что более всего привлекло внимание других, не важно, негативное или позитивное), другая — «what's new» (то есть самое новое), и так можно продолжать до бесконечности. А если все это заменяется линейным списком — это это не решение истинной задачи, а решение задачи «как разработчикам побыстрее отвязаться от реализации рейтинга».
                                        0
                                        Блин :) Линейный одномерный список вот:

                                        Пост 1
                                        Пост 2
                                        Пост 3
                                        

                                        А вот таблица, двухмерная (нас она не интересует):

                                        Пост 1.1    Пост 1.2    Пост 1.3
                                        Пост 2.1    Пост 2.2    Пост 2.3
                                        Пост 3.1    Пост 3.2    Пост 3.3
                                        

                                        Чтобы выстроить несколько постов в список нужно привести их рейтинг к одному числу. Как матрёшки (по размеру). Или гири (по весу). Нельзя отсортировать объекты по 2-м или более параметрам одновременно не приведя их к одному. Это равносильно задаче отсортировать товары так, чтобы сначала шли самые качественные и дешёвые, а в конце самые плохие и дорогие :) Никто не мешеат вам выводить список постов разными алгоритмами (по цене, дате, числу комментариев или проценту женщин среди комментирующих). Но всё равно, для каждого случая вам нужно будет сопоставить публикации число (рейтинг), чтобы вывести их списком.

                                        А как пользователи будут оценивать публикации (с помощью + и -, с помощью звёздочек, с помощью 100 ползунков по различным параметрам с произвольной шкалой, суммарным временем затраченным на чтение/просмотр при регистрации движения глаз, и т.д.) — это другая задача.

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

                                        Как минимизировать влияние способа выдачи публикаций на их оценку пользователями — это четвёртая задача.

                                        Я не утверждаю, что задачи никак между собой не связаны, я просто напоминаю, что мы говорим о первой — как сопоставить каждой публикации число (рейтинг) на основе имеющихся уже оценок, чтобы получить «список лучших».
                                          +1
                                          Можно отсортировать список по двумерному параметру. Когда первая часть параметра у обоих объектов равна, то сравнение совершается по второй части.
                                          Из этого следует, что рейтинг можно сделать НЕ линейным, а двумерным. )
                                +2
                                Написать этот комментарий меня привлекла эта статья. Статья затрагивает правильную тему, однако с точки зрения понимания «статьи-привлекателя» она в корне не верна. Однако в статье, которая вдохновила Вас, нигде не говориться про пятибальную систему, как Вы тут нам пытаетесь утверждать. В той статье речь идет об оценках, типа нравится/не нравится, плюс/минус (как на картинке). Поэтому, прежде, чем критиковать, следовало бы хорошенько разобраться в статье, которая Вас вдохновила написать свой пост.
                                  0
                                  Код для пятибальной был. ± по сути трех вариантная система.
                                  +9
                                  Помните старые времена, когда на YouTube были рейтинги не в виде «лайков», а пятизвёздочные? Знаете, почему они отказались от них? Потому что почти все оценки — «5», если что-то не понравилось — «1». Оценок с «2» по «4» пренебрежимо мало. Вот:



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

                                  youtube-global.blogspot.com/2009/09/five-stars-dominate-ratings.html
                                  • UFO just landed and posted this here
                                      0
                                      В гугл-плей похожая ситуация.
                                        0
                                        Золотые слова. Я когда размышлял над тем, когда пользователи захотят ставить оценку отличную от максимальной и минимальной, пришел к выводу, что тогда, когда будет возможность ее обосновать.
                                        0
                                        Самый простой способ обойти проблему «Одна оценка 5 рейтингуется выше чем 100 пятерок и одна четверка» — это задавать минимальное количество оценок, которые формируют рейтинг.

                                        То есть, для того, чтобы рейтинг товара рассчитался, к товару должно быть добавлено не менее например 10 оценок.

                                        Безусловно, такая система не является полностью адекватной реальности, т.к. товар с 10 пятерками будет рейтинговаться все равно выше, чем «100 пятерок и одна четверка». Однако он определенно формирует более адекватный рейтинг, чем с единственной оценки и с точки зрения технической реализации — этот вариант самый простой и наименнее ресурсозатратный (не надо обсчитывать все оценки всех товаров).

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

                                          Допустим в тесте, есть вопросы разной сложности, пусть их сложность варьируется от 1 до 5. Если испытуемый правильно ответил на вопрос, то он зарабатывает количество баллов равное сложности вопроса. Не верно — 0 баллов.

                                          Верным ли подходом для оценки испытуемого будет мат ожидание после определенного количества вопросов?
                                          Верным ли подходом для определения сложности следующего вопроса будет такой алгоритм:
                                          Сложность следующего вопроса будет равна
                                          — округленному в большую сторону текущему мат ожиданию если последний ответ был верным, и
                                          — округленному в меньшую сторону текущему мат ожиданию если последний ответ был не верным?

                                            0
                                            Не совсем понятны вопросы. Переформулируйте.
                                            0
                                            Рейтинги слишком комплексная задача, которую нельзя решить только за счет собственно рейтина (системы голосования) — надо учесть еще куду дополнительных факторов + совсем не затронута тема накруток!
                                            Хорошие рейтинговые системы это набор алгоритмов учета, включающих также поведенческие психологические модели, методы социологии и т.д. и т.п., сопоставимы по сложности с алгоритмами поисковых систем. Стоят кучу денег, применяются крайне редко, вы не поверите — из-за отсутствия реальной потребности в таких системах!
                                              +2
                                              Ну хорошо — объясню подробнее. Магазинам и другим сайтам, тем или иным способом извлекающим прибыль из своего контента объективная система рейтингов не нужна, т.к. в большинстве случаев оценка пользователей не будет совпадать с маркетингом сайта. В подавляющем большинстве случаев рейтинг на таких сайтах «регулируется вручную».

                                              А вот например хаброподобным сайтам, где сами пользователи создают весьма разноплановый контент, такой рейтинг имеет смысл делать, хотя бы потому, что в штате сайта просто не наберется экспертов по всем направлениям.
                                              И решается это на хабре не только с помощью статистического матаппарата, но психологическими методами.
                                              Вот например два чисто психологических метода, т.е. учитывающих именно психологию:
                                              1. Право голосования — только у членов сообщества, в которое не так легко попасть + надо иметь соотв. карму.
                                              2. Пользователю показываются несколько временных интервалов лучшего: За сутки, За неделю, За месяц, За всё время

                                              Думаю что рейтинг контента также должен зависеть от количества попаданий «в избранное» причем этот показатель позволяет пользователю т.с. «отозвать» свой голос, убрав контент из «избранного» — чем не психологический параметр?

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

                                              Думаю дальше нет смысла все подробно описывать в этом моем посте — это тема отдельной статьи, но надеюсь теперь понятно, что я хотел сказать в пред. своем посте.
                                                0
                                                Очень интересно было бы почитать вашу статью.
                                              +3
                                              Суть моего поста в следующем: авторы статьи решили актуальную для меня проблему не совсем понятным мне способом. Их методика с успехом применяется на многих крупных проектах. Несмотря на не до конца понятный мне математический аппарат, результат ранжирования дал замечательный результат в проведённых мною эмпирических тестах. К посту предлагаются букмарклеты для Хабра и Дару~дара для того, чтобы проверить работу алгоритма самому. Я так же многократно проверил метод на проекте sociation.org (например для получения списка слов которые чаще всего называют мужчины и женщины). Метод дал лучшие результаты из всего, что я перепробовал, включая собственные разработки.

                                              По этому я дал перевод статьи as-is и попросил сообщество помочь с пониманием мат. стороны вопроса.

                                              Суть же вашей статьи примерно такова:

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


                                              Т.е. вы говорите: математический аппарат неверен и предложенный метод не будет работать только потому что смысл его не понятен из статьи.

                                              Я, как бы, даже не знаю что вам на это возразить :)
                                                –2
                                                Т.е. вы говорите: математический аппарат неверен

                                                Если бензопилой вы себе отрежете ногу это не значит что она не работает. Это значит, что вы не правильно ее применили.
                                                У каждой формулы есть область применения. Вилсон применен не верно. Он для биномиального распределения (почитайте вики по ссылке) для других распределений есть другие формулы.

                                                предложенный метод не будет работать только потому что смысл его не понятен из статьи

                                                Смысл его должен быть понятен из статьи. Почему он применим? Кроме «формулы на стекле» доводов нет.
                                                То что он будет работать я не спорю. Вопрос как.

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

                                                Вот это сильный довод. Однако, нет никакой конкретики. Например, какие методы вы перепробовали? Взвешивание, корень из N пробовали?

                                                P.S. Я не говорил про то, что Вилсон совсем рандом дает. Он увеличивается с ростом числа оценок, следовательно, дает защиту от «одного пятибального голоса». Но аналогичных формул великое множество
                                                К посту предлагаются букмарклеты для Хабра

                                                Не вижу их в вашем посте. Можно ссылку? Они что работают лучше чем ±?
                                                  0
                                                  И чем же не биноминальное? Число испытаний конечно, вероятность фиксирована (хотя это кажется с первого взгляда неочевидным), варианта 2, а не 3.

                                                  Букмарклеты внизу статьи, после слова «букмарклеты» :)
                                                    0
                                                    Конечность числа испытаний не говорит о том, что это биномиальное распределение.
                                                    Варианта, по три. Можно, конечно, разложить их на 2. Но и игральную кость тоже можно разложить на 2 варианта (3 и меньше — 0, в других случаях — 1), но тогда непонятно что будут описывать формулы.

                                                    По поводу буркмарклетов. Можно тест провести голосованием. Вы за?
                                                      0
                                                      Биномиа́льное распределе́ние в теории вероятностей — распределение количества «успехов» в последовательности из независимых случайных экспериментов, таких что вероятность «успеха» в каждом из них постоянна и равна p (Wikiprdia).

                                                      • Независимость — есть
                                                      • Число экспериментов n — конечно (при бесконечном мы получаем нормальное распределение, верно?)
                                                      • Вероятность постоянна (и зависит от обобщённого мнения сообщества)


                                                      Вариант с «закрыл страницу непроголосовав» — просто не входит в эксперимент. Минус означает что пользователь с постом не согласен или считает неподходящим для сообщества (неподходящим тематике, некомпетентным или неинтересным). Плюс — солгасен, пост компетентен, интересен, помог в решении проблемы и т.д. и явно подходит сообществу. Когда оценка не ставится — скорее всего человек считает его подходящим для сообщества, но неинтересным лично для себя (например не его область компетенции).

                                                      Голосованием? Можно, только я не очень понял о чём вы. Но использовать код можете как угодно.
                                                        –2
                                                        Независимость — есть

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

                                                        Число экспериментов n — конечно (при бесконечном мы получаем нормальное распределение, верно?)

                                                        Вырождение в нормальное распределение на бесконечности не ставит условие конечности числа опытов. Биномиальное и Нормальное — не взаимоисключающие распределения. В вики по ссылке n ограничен только снизу. Это так чисто математический спор.

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

                                                        Допустим у нас есть игральная кость, если нечет выпадет — неудача, если чет, значит успех. Чем не биномиальное распределение? Мы можем посчитать много чего в этом случае: отклонения, мат ожидания, дов. интервалы, но что эти данные нам дадут? Ровным счетом ничего! Для игральной кости можно выбрать больше сотни бинарных критериев успеха и ни один ничего полезного нам не даст.

                                                        Вариант с «закрыл страницу непроголосовав» — просто не входит в эксперимент.

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

                                                        Единственный математически корректный метод этого сделать — поменять критерий успеха. То есть уже решать другую задачу. Находить не вероятность того, что статья понравиться пользователям, а то что понравится и они проголосуют.
                                                          0
                                                          Э… похоже на троллинг честно говоря. Я тут из себя не строю гуру мат. статистики, но уж точно понимаю, что независимость эксперимента — это невозможность поставить плюс и минус одновременно, а не влияние способа отображения объектов на выбор пользователя за что голосовать.
                                                            0
                                                            В теории вероятностей два случайных события называются независимыми, если наступление одного из них не изменяет вероятность наступления другого.
                                                            Википедия
                                                              0
                                                              М… Да вы правы :) По крайней мере в определении. Но всё равно это нельзя считать достаточным основанием не применять данный алгоритм. Я уверен, если взять статистику голосования на Хабре, распределение всё равно будет очень близко к биноминальному.
                                                                0
                                                                Для лучших статей оно будет близким к биномиальному. И проблемы «одного голоса» в нет — сумма плюсов и минусов, если минусов мало, линейно зависит от числа голосов. Проблема наоборот в том, что «богатые богатеют».
                                                    +1
                                                    В посте, в первом постскриптуме два блока <code>.
                                                  –1
                                                  Статья затрагивает правильную тему, однако с точки зрения математики и здравого смысла она в корне не верна.

                                                  Слишком сильное и слишком наглое утверждение.

                                                  Использовать нижнюю границу доверительного интервала в качестве рейтинга — замечательная идея. Любой контент на сайте имеет вероятность того, что он понравится пользователю. Это физический параметр такого объекта как контент. Его можно переводить в рейтинг какими угодно способами (шкалы от 0 до 5, от -2 до 2 и т. п.), но его природный смысл от этого не поменяется.

                                                  Доверительный интервал позволяет с заданной вероятностью ошибки посчитать в какой интервал ляжет искомая вероятность при заданном количестве испытаний. Чем больше испытаний — тем меньше интервал и выше точность прогноза. И в этом смысле нижняя граница доверительного интервала (иными словами, пессимистичный прогноз) — отличная метрика для сравнения.

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

                                                  Статья, которую вы так запросто «опустили», дает много пищи для размышлений и предлагает взглянуть на суть такого объекта как рейтинг (вероятность, что понравится).

                                                  В вашей же статье (если это можно так назвать) вы зациклились на шкалах — это не особо важно. Как бы вы не изощрялись вы все равно придумаете модель, сводящуюся к вероятности — пусть она будет сложнее: учитывать динамику (устаревание), среднюю температуру по больнице, количества текста в статье или еще что-нибудь, — но в основе все равно будет понятная физическая характеристика объекта.
                                                    –1
                                                    Его можно переводить в рейтинг какими угодно способами (шкалы от 0 до 5, от -2 до 2 и т. п.)
                                                    «Формула на стекле» предназначена исключительно для биномиального распределения. Выбор из двух вариантов это частный случай и обобщать его на несколько вариантов нельзя. Для других вариантов есть другие формулы, но проблема в том, что нужно знать тип распределения.
                                                    В двухвариантном случае всегда распределение — биномиальное в этой и вся прелесть. В многовариантном случае возможны множество видов распределений и нет универсальной формулы для доверительного интервала. Нужно анализировать выборку голосов по всем статьям на тип распределения и его параметры и уже из этого считать доверительный интервал (получится больше 1000 строк кода, чтобы работало все правильно и быстро).
                                                    А для двухвариантного случая использовать сложные формулы не нужно, в плюсах и минусах нет описываемой проблемы.

                                                    Для общего случая формула не применима, для частного не нужна.

                                                    И в этом смысле нижняя граница доверительного интервала (иными словами, пессимистичный прогноз) — отличная метрика для сравнения.
                                                    Для сравнения двух вариантов в А/Б тестировании — да. Мы можем определить вероятность того, что вариант А лучше Б. Но мы должны сравнивать не нижние (или верхние) границы, а нижнюю лучшего с верхней худшего. Нижние границы нельзя сравнивать с друг-другом — это же границы диапазонов.

                                                    Ну, допустим, мы сравнили нижние границы доверительных интервалов для А и Б. Ну у А оказался больше. Ну и что? Какой вывод можно сделать? Да никакого! С таким-же успехом можно сравнить среднеквадратичные отклонения, моменты и еще кучу умных слов. Для сравнение выборок есть другие параметры: мат.ожидание, среднее, медиана и мода.

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

                                                    Любой контент на сайте имеет вероятность того, что он понравится пользователю. Это физический параметр такого объекта как контент.
                                                    Нижнюю границу чего предлагает считать автор? Вероятности того, что если пользователь проголосует, то он проголосует плюсом. А не процента пользователей которым нравится эта статья. Это две большие разницы.

                                                    Для варианта с кнопкой «Мне нравится» или просто с плюсом без минуса, можно считать по «формуле на стекле» в этой есть какой-то смысл поскольку варианта 2 (голосовать плюсом и не голосовать) и мы считаем какуе-то реальную величину. В случае ± в реальности есть три варианта: (голосовать +, голосовать -, не голосовать). Мы либо считаем комбинацию величин, либо просто неправильно применяем формулу и заставляем бедного Вильсона переворачиваться в гробу.
                                                      0
                                                      1. Есть контент.
                                                      2. Есть параметр этого контента — вероятность того, что он понравится пользователю.
                                                      3. Контент нравится или нет — это испытания Бернулли, распределение биномиальное.

                                                      Все шкалы — звезды, смайлы, лайки и прочие рейтинги — это лишь разные интерпретации этой вероятности.

                                                      4. Для пользователя может быть два исхода — глядя на рейтинг он примет решение потребить контент или нет. И это тоже испытание Бернулли.

                                                      В каждой отдельной задаче нужно формализовать понятие <контент понравился пользователю> и обратное. И это уже вопрос всяких звездочек и лайков.

                                                      Нижнюю границу чего предлагает считать автор? Вероятности того, что если пользователь проголосует, то он проголосует плюсом.

                                                      Если автор в его конкретном случае (в его модели) считает, что <если пользователь проголосует, то он проголосует плюсом> равно контент понравился пользователю, то в чем проблема?
                                                        –2
                                                        Если по вашей логике судить число плюсов нужно соотносить с числом визитов, а не с числом минусов
                                                          0
                                                          Я устал с вами спорить. В моих комментариях нет ничего про плюсы. Я говорю о природе рейтинга, как вероятности, что контент понравится, а вы про какие-то плюсы…
                                                            –1
                                                            Природа рейтинга — это численная оценка, а не вероятность чего-либо.

                                                            Кроме рейтингов «просто плюс» или «мне нравиться». Остальные голосования считают не процент пользователей, которым нравиться материал, а некоторую абстрактную оценку степени с которой нравится или не нравится пользователям статья.
                                                    0
                                                    А можно ли при отсутсвии рейтингов для продуктов использовать сглаживание(Smoothing), аналогично техникам используемым в обработке текста.

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

                                                    Вот как раз вопрос от дилетанта к разбираюшимся в рейтингах людям: можно ли вообще использовать такое сглаживание применительно к рейтингам, или в данном контексте оно принципиально не применимо?
                                                      0
                                                      А киньте ссылку почитать (лучше на русском). Может действительно найдётся что-то общее
                                                      0
                                                      Подход встретил в книге при беглом просмотре(название не вспомню, какой-то учебник по nlp)
                                                      Поверхностные слайды
                                                      Более подробно гуглить nlp ngramms smoothing
                                                        0
                                                        Недостаточно данных :)

                                                      Only users with full accounts can post comments. Log in, please.