Навеяно постом Eurogamer поддержал моду. Теперь и они отказались от десятибалльной системы оценивания игр. Рассматриваю вариант реализации этой системы на Игротопе, но как обычно, нужно хорошо подумать.

Скажем, это будет называться "Игра мне понравилась", "Игра мне не понравилась", типа как на Youtube:


или "Реколмендую"-"Не рекомендую".

В посте про Eurogamer был поднят вопрос, "рекомендую кому?". Рекомендация идет людям со схожими с тобой вкусами. Т.е. тем, у кого такой же набор любимых и не любимых игр (хотя бы частично).

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

Из плюсов мне видится следующее
• простота, нет проблемы выбора оценки
• не будут смущать люди, ставящие 10-ки играм, которые понравились и 1-цы играм, которые не понравились, многим (как и мне) это не очень-то нравится
• играм из топа пользователя можно автоматом ставить "понравилась"
• игры, которые ОЧЕНЬ понравились, можно будет добавить в свой Топ лучших
• похожих людей (для рекомендаций во что поиграть) искать по этим да-нет + по Топам лучших игр
• такую систему для игр в рунете редко где встретишь, будем выделяться

Хотелось бы узнать у пользователей, которые активно голосуют - достаточно Вам будет двух кнопок + отзыв? Или важно ставить оценки типа 7.0, 8.5 и т.п.
Комментарии
  • 5SAXAHOID | 15 февраля 2015 г.
    Для системы оценивания цифры лучше.
    Куда проще и точнее искать схожие вкусы по совпадению оценок в границах маржи +/- 0.5 (то есть если ты поставил какой-то игре 8, а кто-то ещё 7.5 и 8.5, то эти оценки считаются как "одинаковые" с твоей, а если разница больше — уже не одинаковые, и учитывается отклонение при подборе людей для совета).
    А если да/нет? Вот например Shaggy. Он поставил аудиосёрфу 6, я — 10. Если оставить "понравилось/не понравилось", то у нас будет одинаково "Понравилось" и система это себе отметит. Дальше она ищет общие для нас игры: Arcanum, HL, Jets'n'Guns; других общих нет (фоллаут, но о нём позже). Везде совпадает "Понравилось", 100% совместимость. Значит, мне можно советовать то, что понравилось ему, а ему — то, что понравилось мне.
    Допустим теперь, что у меня есть фоллаут, который "Понравился", а у него фоллаута нет. В результате ему советуют фоллаут (который ему не понравился, как видим). Система дала сбой. При оценках же "расшат" меж ними был бы достаточно большой, чтобы не дать совместимости в 100% и позволить как-то избежать такого сбоя.
    Или мне посоветует Дюка, хотя я вообще шутеры не люблю.

    Чем шире спектр оценок, тем лучше будет работать советующая система (при условии, что люди адекватно оценивают то, насколько им понравилась игра).

    А тем, кто ставит исключительно 10-ки и 1-ы, будут попадаться только такие же люди, ставящие 1-ы и 10-ки в "советчики". Будет повод прекратить так делать и ставить нормальные оценки, чтобы система начала давать нормальные советы.

    Покамест мне кажется, что если оставить оценки, то система советов будет точно советовать людям, ставящим их адекватно, и неточно — тыкающим крайности. Если же поменять на "понравилось-непонравилось", то система советов будет точно советовать ставящим крайности и неточно — всем остальным. Какой вариант лучше? ._.
    • 1LotusBlade | 15 февраля 2015 г.
      Собственно да, для удобства сайта полезнее иметь градацию оценок в 10 баллов, иначе подбирать по интересам будет кое-как. Если же чисто с точки зрения пользователей, то 'За / Против / Нормально' куда лучше вписываются.

      А теперь внимание, эпическое предложение только для вас. Приготовились? -Ввести обе системы! Поставил оценку по 0-бальной шкале, а затем указал рекомендуешь ли игру.
      • 0Nord | 15 февраля 2015 г.
        Это круто, да. Но сымсл тогда вводить вторую?
        • 1Forest_Swamp | 15 февраля 2015 г.
          Но сымсл тогда вводить вторую? - "Тээкс, что тут у нас. Ага, оценочки какие-то слишком разные, от единицы до десяти... Так, ладно, кароче, че там в упрощенном рейтинге, а то умников со своими оценками слишкомovermanydofiga... Ага, больше рекомендательных, отлично ept, беру"
          • 0Nord | 15 февраля 2015 г.
            Принято.
          • 0Dark_Kraken | 15 февраля 2015 г.
            Да, это будет самым нормальным вариантом.
    • 0Shaggy | 15 февраля 2015 г.
      Маржа в ±0,5 всё-таки излишняя: это не только будет сложнее при реализации кода, но и максимально затруднит поиск единомышленников, что негативно скажется на самой рекомендательной системе. Поэтому я предлагаю несколько иной подход (скопировано из личной переписки с iXy):

      "По точным оценкам единомышленников искать точно нет смысла, значит надо все оценки разделить на группы. Если оттолкнуться от верхних оценок, то точно игрок оценит игру на 8-10, если получил от неё удовольствие, равно как на 1-3 - игра точно не понравилась. То, что остаётся выше пяти - уже можно расценивать как игру выше среднего, но ниже отлично. Поэтому, думаю, на первых порах можно использовать такие группы:

      I. 1 — 3.5
      II. 4 — 5.5
      III. 6 — 7.5
      IV. 8 — 10

      Что будет соответствовать I - игра не понравилась; II - игра так-сяк; III - хорошая игра; IV - отличная игра. Итого, единомышленниками можно будет считать людей, которые ставят оценки, попадающие в одинаковые группы. Сами же точные числа тогда можно использовать для прогнозирования оценки. Причём тут даже можно брать "среднее значение по группе из мнений единомышленников", т.к. погрешность прогнозируемой оценки тогда явно не будет превышать значения в ± 1 балл (за исключением I группы).

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

      0-10% - противоположные мнения
      10-30% - иные мнения
      30-40% - удалённые мнения
      40-60% - неоднозначные мнения
      60-70% - похожие мнения
      70-90% - близкие мнения
      90-100% - идентичные мнения
      "

      Так как некоторые пользователи просто не могут поставить игре оценку 10 из-за того, что "идеальных игр нет", то IV группа (8-10) будет подходить идеально; оценки 1-3.5 явно слишком низкие, чтобы пользователь получил хоть какое-то удовольствие от игры, поэтому их тоже можно смело приравнивать. Оценка "5" - самая точная, т.к. это "золотая середина" и погрешность тут соответственно самая низкая. Остаётся 6-7.5 для неплохих игр. Итого погрешность при этом, предположительно, будет составлять порядка 10% (этот самый 1 балл), т.е. шанс, что прогнозируемая оценка ±1 будет точна составит порядка 90%. Это офигенно круто.

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

      Грубо говоря, это как показатель в деньгах. Можно 100500 раз говорить, что игра "хорошая", но "честной ценой" при этом считать 50% от заявленной. А можно говорить, что "игра далека от идеала" и при этом считать "честной" двойную цену (в 1200 руб). Цифры всегда честнее слов, какой бы баттхёрт они не вызывали.
      • 1Cherenkov | 15 февраля 2015 г.
        Можно было бы еще назначить рекомендациям группы. Например:

        70 80-90% - близкие мнения
        90-100% - идентичные мнения - 1) Рекомендуем.

        40 50-60% - неоднозначные мнения
        60-70 80% - похожие мнения - 2) "Вам также может понравится", ведь действительно есть вероятность 50-80%, что игра понравится.

        Или так: "У вас 70%-ое (подставить вычисленное сходство между пользователями) совпадение интересов по игре".
        • 0Shaggy | 15 февраля 2015 г.
          Да, так оно в принципе и должно бы действовать. Т.е. имеется игра, и напротив, исходя из группы, шанс, что игра понравится / не понравится. Типа "эта игра вам может понравится с вероятностью в 50%". Правда, какие там должны работать алгоритмы - без понятия.

          Ну и конечно же, представленные цифры (баллы по которым оценка уходит в ту или иную группу, проценты для вычисления отношения между группами пользователей) требуют анализа и коррекции исходя из потребительской психологии. А она - штука очень интересная, ведь 7999 руб по ней ближе к 7000 руб, чем к 8000.
      • 0SAXAHOID | 15 февраля 2015 г.
        Почему сложнее в реализации?..
        Хотя я не знаю, как это делать по базам данных или что там у нас, но...
        Делаем массив структур-пользователей (с нужными полями). К каждому привязываем в виде одного поля массив оцененных структур-игр (где есть поле адреса игры в описанном ниже массиве и оценка), отсортированный по оценкам.
        Делаем массив структур-игр. К каждой привязываем в виде одного поля массив юзеров, которые её оценили (где есть поле адреса юзера в описанном выше массиве и оценка), отсортированный по оценкам.

        Пользователь запрашивает совет? Проходим по его оценкам:
        - Заходим в массив чужих оценок к этой игре;
        - Находим похожие (тут задаётся маржа, без малейших проблем, "от" и "до");
        - В новый массив заносим в виде адресов всех, кто поставил похожие оценки;
        - Переходим к следующей оцененной игре и повторяем всю процедуру;
        - Когда оценки кончились, набранный новый массив сортируем по адресам юзеров и убираем дубликаты, притом каждому юзеру присваиваем балл, равный кол-ву раз, которые он попал в массив;
        - Результат сортируем по баллам;
        - Советуем юзеру высоко оцененные игры тех, у кого больше баллов, которые юзер сам ещё не оценил, и запоминаем самых совместимых с ним людей на будущее, чтобы не пришлось слишком часто повторять процедуру. Причём те игры, которые оценило высоко больше совместимых людей, имеют приоритет выше.

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

        В твоей групповой системе, например, оценки 6 и 5.5 выходят совершенно разными. Некрасиво...
        • 0Shaggy | 15 февраля 2015 г.
          Если не группировать так, то до получения адекватных рекомендаций придётся ждать несколько лет, пока не найдётся тот удивительный активный индивид, который проставит 90% оценок также как и ты.

          При этом стоит учитывать, что психологически важные барьеры у 99% людей будут одними и теми же. Вот давай просто сейчас определим группы на твоём примере. Тебе сильно важно, оценишь ты игру на 1 или на 3.5? Я так думаю, ты хочешь играть в более качественные игры, а 1 и 3.5 - не играют большого различия, эти игры не для удовольствия. Их можно объединять в одну категорию? Теперь что касается 8-10. Думаю, оценка 8 достаточно высока и скажет о том, что игра тебе достаточно понравилась. Можно объединять 8 и 10 в качестве рекомендуемых к ознакомлению игр?

          Чем смущает 6 и 5.5? Понятное дело, что не самой близостью значений, т.к 9, 9.5 и 10 просто равны. Значит тут вопрос не самого деления по группам, а определения этих границ исходя из психологии потребителя. Скажи, где здесь границы в средних значениях. Вот ровно так, как я размышлял насчёт нижних и высших границ.
          • 0SAXAHOID | 15 февраля 2015 г.
            >до получения адекватных рекомендаций придётся ждать несколько лет, пока не найдётся тот удивительный активный индивид, который проставит 90% оценок также как и ты.
            До получения адекватных рекомендаций в любом случае придётся ждать, пока не появится такой индивид, и группы тут не помогут.
            Или ты говоришь о использовании модификаторов (совпадение на сто процентов — вес мнения этого товарища единичка; на 50% — вес 0.5? Так это очень легко прикручивается в мою реализацию).

            Зачем границы? Если ты считаешь, что достаточно близкие значения надо объединять — пожалуйста, можно сделать маржу выше.

            Снижение кол-ва значимых оценок (что фактически являют собой группы) — это обоюдоострый меч. С одной стороны, проще анализировать и легче набрать схожих людей, да и самим людям не надо полчаса взвешивать, понравилась им игра на 1 или на 3.
            С другой стороны, людей-то схожих ты наберёшь больше, да вот только схожесть их будет меньше.
            Лично мне хочется увидеть рекомендации от одного или двух людей, но в которые я во все поиграю и все оценю минимум на 7-8, чем рекомендации от 100 людей, но которые будут такие-сякие. Более того, если мне будут давать рекомендации по второму случаю, то я быстро потеряю всякую веру в такую "советовательную систему" и не стану к ней прибегать.
            Качество > количество, нет?
            • 0Shaggy | 15 февраля 2015 г.
              Нет, потому что всегда и везде есть золотая середина, при которой кол-во не сильно влияет на качество. Причём влияние настолько незначительное, что это вписывается в банальную "математическую погрешность".

              Давай посмотрим на основы комбинаторики. Я всё делю на заранее определённые 4 группы. Соответственно, количество возможных вариантов оценки игры здесь будет вычисляться выбором с возвращением и учётом порядка. Пропускаем занудную теорию, и при 100 оценённых играх я получаю всего-лишь ≈177 тыс возможных вариантов. Найти единомышленника очень реально, причём вариантов - море. При добрых 500 играх, уже получается неприемлемое число-во в 21 млн. Как это дело ограничить - будет другая тема.

              Ты предлагаешь увеличить маржу. Хорошо, пусть она будет равна ±1 баллу. Тогда мы получим 8 полноценных вариантов (1-3, 2-4, 3-5 и т.д.) + 2 "куцых" (1-2 и 10-9). Хорошо, посчитаю по 8 вариантам. Оценка 100 игр выливается в 26 млрд возможных вариантов. Каковы шансы найти единомышленника из 26 миллиардов вариантов, когда всё население земли не дотягивает до этих чисел? 500 выливается уже в 1 охрениард (1 638 925 763 772 726).

              Да, скажешь ты, маржа в ±1 - отвратительно выглядит. Надо её сократить ещё вдвое. Только что мы тогда получим? Варианты 1-5 3-7 5-9 7-10. Оценка 3 и 7 тогда равны! А это уже полная жопа.

              Так что в твоём случае ум заходит за разум. Надо выбирать разумные решения, и математика здесь на моей стороне.
              • 0Shaggy | 15 февраля 2015 г.
                Да, продолжая тему комбинаторики. Если у нас всего 2 группы, то кол-во возможных вариантов становится равно кол-ву оценённых игр +1. Т.е. если мы оценили 50 игр, то получается всего 51 вариант, что негативно скажется на рекомендательную систему, как на примере это уже показал SAX. Боюсь, что тогда, для того чтобы получить приемлемые рекомендации, придётся оценить несколько тысяч игр.

                Тут предлагался ещё один вариант - 3 группы (плохо, средне, хорошо). В таком случае оценка 100 игр даст порядка 5 тыс вариантов, а 500 ≈125 тыс. Такое решение возможно и сработает. Но тогда средняя группа окажется слишком размытой, либо в третью придётся добавить оценку 7, что может ухудшить рекомендательную систему. Так это или нет можно будет узнать уже на практике.

                Теперь что касается возможного, но ещё не упоминавшегося, варианта с 5 группами. 100 игр ≈ 4.6 млн, что, лично мне кажется, уже перебор. Более высокие значения смотреть, очевидно, не имеет смысла.
                • 0SAXAHOID | 15 февраля 2015 г.
                  >при 100 оценённых играх я получаю всего-лишь ≈177 тыс возможных вариантов
                  100 игр с возможностью оценить каждую 4-я разными цифрами? Это разве не 4^100 вариантов будет? Вполне себе охрениард, шестидесятый порядок. Или я что-то упускаю на ночь глядя?..
                  Нет, не упускаю. Выбор с возвращением и с учётом порядка: Общее количество различных наборов при выборе k элементов из n с возвращением и с учётом порядка равняется n^k.
                  Про 500 я вообще молчу.

                  И да, заметь, в системе, которую предлагаю я, не зря сортировка. Там не ставится целью найти идеально совпадающего советчика, а максимально совпадающего, по максимальному кол-ву сопадений в границах маржи.
                  • 0Shaggy | 15 февраля 2015 г.
                    Нет, ты именно путаешь. Зачем в степень-то возводишь? Для самого примитивного выбора тебе надо вычислить факториал, что делается, блин, не возведением числа в степень.

                    И да, ты предлагаешь искать что-то там в границах маржи. И как всегда - сплошная демагогия без конкретики. Ты давай конкретные цифры и формулы, чтобы можно было проверить валидность предложения. Или молчи. Не люблю неконструктивный трёп. Повторяю: формула и значения. Всё остальное - пустая болтовня.
                    • 0SAXAHOID | 15 февраля 2015 г.
                      Выше описано всё.
                      Какая формула тебе нужна? Зачем ты вообще вычисляешь варианты? Я в упор не понимаю.
                      Задача: найти максимально похожего по предпочтениям человека и посоветовать игры, которые ему понравились.
                      Решение: выше.
                      Зачем формулы?..

                      P.S. Сказал "выбор с возвратом и учётом порядка" — я его и использую...
                      • 0Shaggy | 16 февраля 2015 г.
                        Тьфу, блин. Это уже я на ночь не соображаю. Без учёта порядка.

                        Т.е. ты предлагаешь найти первого попавшегося, у кого есть максимальный процент совпадений (даже если он - 30%) и использовать его как рекомендателя? Это будет номер.
                        • 0SAXAHOID | 16 февраля 2015 г.
                          Нет, не первого попавшегося, а того, у кого максимальный процент совпадений.
                          А что ты предлагаешь делать в такой ситуации (во всей юзербазе нет более точного совпадения, чем 30%)? Сказать "Извините, вы слишком неординарны, советов не будет"?
                          • 0Shaggy | 16 февраля 2015 г.
                            Я предлагаю снизить число возможных вариантов, чтобы процент вычислялся не по марже в ±1 или 1.5 - кол-во возможных вариантов при этом ты видел - оно просто зашкаливает. И тогда % реально будет не выше 30% причём у всех сразу - и ковыряй их всех, чтобы вычислить, с кем у тебя на самом деле максимально близкие вкусы. Не забывай: чем больше игр ты оценишь - тем более уникальным будет становится твоё мнение.

                            Моё предложение простое: ввод 4 групп, и уже из них поиск наиболее подходящих лиц. Или тебе 177 тыс возможных вариантов слишком мало - ты слишком уникален для того, чтобы среди них попался десяток с реально схожими оценками? Хорошо, оцени 200 игр - и выбирай из 1 млн вариантов.
                            • 0SAXAHOID | 16 февраля 2015 г.
                              >и ковыряй их всех, чтобы вычислить, с кем у тебя на самом деле максимально близкие вкусы
                              Эм. Я либо вообще ничего не понимаю, либо тебе кажется, что ограничив варианты, ты как-то сможешь заставить людей иметь меньше мнений.
                              % подходящих в любом случае будет очень низким. Просто потому, что люди слишком разные.
                              Если ты путём уменьшения diversity сделаешь его выше, то попросту добавишь к действительно полезным советчикам "шум" из менее полезных. Качество самих таких "шумных" советчиков это не повысит никак.
                              В самом деле, откуда 30%? 30% совместимости в моей системе — это когда у человека общих со мной 30 игр из 100 и эти 30 игр оценены идентично. В таком случае эти 30% можно спокойно приравнивать к сотне.
                              На случай ситуации "60 общих игр, 30 оценены так же, 30 — нет" можно ввести, повторюсь, модификаторы — положительные и отрицательные — которые будут влиять на "рейтинг" советчика и показывать отношение схожих оценок к несхожим.

                              Я всё ещё не понимаю, при чём тут число вариантов и на что оно должно влиять, так и до сих пор не могу понять, в чём преимущество сокращения кол-ва вариантов. Извини ._.
                              • 0Shaggy | 16 февраля 2015 г.
                                Разве это не очевидно, что количество уникальных мнений по-сути не играет ни какой роли для рекомендательной системы? Вот есть маржа в 1,5. Я оценил игру на 3 балла, а ещё один человек - в 1 балл. Уже наши оценки не считаются системой как одинаковые и если это 1 из 10 оценённых нами обоими игр, то соответствие становится -10%; при это разве суть оценки такая большая, что её надо учитывать как "различную"? Ведь я оценил игру на "плохо", он оценил игру на "плохо". Возможно, этот разброс связан с тем, что я оценивал игру в хорошем настроении, а он - в плохом.

                                Берём ещё один вариант: я и ещё один человек оцениваем игры, только я ставлю 10 без вопросов, он 10 не ставит из принципа: идеальной игры не существует. Ок, он оценивает игру на "8" (по его оценке это аналог моей 9), а я - на 10. Тут бы учесть наши высокие оценки данной игре, но нет, не совпадение -n% из соответствия. Но задача ведь найти не одинаковых, а близких? 8 и 10 - это очень близкие оценки, и их можно ставить на одну ступень, т.к. они - показатель хорошей игры.

                                Идём дальше. Я оценил игру на 6 баллов, товарищ - на 4 балла. Опять же, совпадения -n%. По-сути, так ли сильно различаются эти оценки, если 5 - это "средняя игра", то ±1 балл - это в рамках погрешности средней игры. Итого, у нас трижды -n% в совпадениях при очень похожих оценках.

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

                                Да, по поводу "люди слишком разные" - согласен. Но лишь в мелочах. В самых важных вещах они очень похожи. Интроверт - экстраверт. Уже определят склонность к сингл / мультиплееру. Развита эмпатия / не развита эмпатия - уже определяет тип сингл / мультиплеера. А какое мясо больше любишь - куриное, или говядину - это частности, которые хоть и делают людей уникальными, но не влияют на действительно важные вещи - вегетарианец ты или нет.
                                • 0SAXAHOID | 16 февраля 2015 г.
                                  Ух, ясно, ты идёшь от того, что пользователь сам не знает, что оценивает, а я — наоборот, что пользователь способен определить, насколько ему что понравилось.

                                  Если опираться на такой фундамент, то цифры действительно не нужны, а оставить надо лишь что-то вроде пяти пунктов "Отстой" "Не понравилось" "Средне" "Понравилось" "Щедевр".

                                  Понимаешь, циферная система подразумевает равномерный спектр. В ней 5.5 и 6 должны быть не менее различными, чем 6 и 6.5. Это всё та же психология: пользователь не ожидает, что скинув полбалла внезапно попадёт на деле в совсем другую значимую оценку.

                                  Либо оставляем циферную систему и строим рекомендации именно на цифрах (можно с модификаторами, которые нивелируют описанные тобой неприятности ничем не хуже), либо выкидываем к чертям циферную систему, вводим вышеописанные пять "баллов" и строим систему чётко по ним.

                                  Показывать пользователю цифры, когда "внутри" всё работает совершенно иначе — это уже как минимум некрасиво, а как максимум — сбивает с толку.
                                  • 0Shaggy | 16 февраля 2015 г.
                                    Понимаешь, в чём дело, оценка по числам даёт большую честность при ответе, что повышает рекомендательный потенциал. Но все психологи и социологи используют порядковую шкалу, так как она просто не требует сверх-точности (иначе бы использовали другие шкалы), зато позволяет быстро получить хорошие по точности результаты. Это проще обрабатывать, а результат имеет малую погрешность.

                                    Если объединить эти вещи, то мы получим эффективный гибрид: максимально честные ответы при оценке по интервальной шкале, и максимально быстрый и точный результат с малой погрешностью.

                                    Вопрос же с шагом ±0.5 балла - и в другой шкале, решается на уровне психологии. Для человека не существует равных значений; какие-то менее важные, какие-то более. Я уже приводил пример с 7000, 7999 и 8000 руб. Это используют и это работает.

                                    Определив психологически важные границы десятибалльной шкалы, можно максимально ускорить получение результата не потеряв в качестве. Конечно, погрешность будет, но это - то минимальное зло, на которое нужно идти, чтобы получить 1 из 10 игр, которая не окажется в предположительной группе (это вовсе не значит, что она окажется в противоположной), чем получить сейчас погрешность в 70%, в надежде на то, что через неизвестное кол-во лет она будет 3-5%.

                                    В любом случае, что мы получим: мы будем иметь все оценки. И перейти к иному вычислению (если наберётся достаточное кол-во пользователей с точными оценками) будет куда как проще, чем если этих точных оценок не будет вовсе, а будет 4 категории.
                                    • 0SAXAHOID | 16 февраля 2015 г.
                                      Группы не сделают ничего быстрее, они только зазря усложнят процесс.
                                      И я всё ещё не понимаю, каким таким волшебным способом группировка избавит нас от вылезшей непонятно откуда погрешности.
                                      • 0Shaggy | 16 февраля 2015 г.
                                        Ок. Ты - программер (в какой степени - не знаю), я — нет, и я не пойму как один алгоритм может быть эффективней другого, сколько бы ты мне не объяснял. Точно также, как ты не поймёшь... СТОП! Попробую по аналогии с программированием.

                                        Мы пишем метод (или класс - это уже сам определи правильно), который может принимать какое-то значение - не стринг, не булевое, а NUM. Далее в этом методе мы преобразуем это значение в одно из четырёх (стринг/num - не важно), которое возвращаем. Далее мы определяем по одному из 4-х значений соответствие. Кол-во необходимых циклов для заполнения таблицы соответствий будет меньше, так как сравнение идёт по 4-м позициям вместо 8-ми. С той лишь разницей, что один цикл в реале = голос 1 пользователя по конкретной (одной из n тыс) игре. Если в коде разница по времени ничтожна, то в реале каждый цикл - это огромные временные затраты.
                                        • 0SAXAHOID | 16 февраля 2015 г.
                                          Отнюдь.
                                          Я не предлагаю делать сравнение, я предлагаю делать сортировку. Сортировка работать будет намного резвее на системе циферной нынешней.
                                          По сравнениям (case на каждый вариант) реально будет очень долго и с четырьмя пунктами, и с восемью пунктами, и даже с двумя, потому что это чертовски невыгодная процедура.

                                          Выбор же схожих по массивам делается совсем иными механизмами; там просто всё загружается в int, который процессор сравнивает за один такт. Значений у инта от −32767 до +32767, и все сравниваются без проблем в процессе сортировки/поиска.
                                          Зато вот конвертация из цифры в пятизначный вариант будет жрать минимум по два такта на каждый конверт, это уже совсем некрасиво когда пропарсить надо кучу пользователей.

                                          Впрочем, фигня это. Выше занятные результаты эксперимента.
                                    • 0SAXAHOID | 16 февраля 2015 г.
                                      Нет, это пустая болтовня действительно, я сейчас проведу эксперимент и узрю всё воочию (или покажу тебе).
                                      Пытаюсь "порекомендовать себе" игры. Беру рандомных людей из списка с отзывами, у которых этих отзывов много: LotusBlade; adagio; Cherenkov. Пробиваю по моей системе с модификаторами и без, потом по твоей как я её понимаю, даю результирующий рейтинг советчика.

                                      Моя без модификаторов:
                                      Lotus — 12
                                      Cherenkov — 8
                                      adagio — 3
                                      Моя с модификаторами (положительными и отрицательными):
                                      Lotus — 8
                                      Cherenkov — 9.5
                                      adagio — 3
                                      Твоя как я её вижу:
                                      Lotus — 14
                                      Cherenkov — 11
                                      adagio — 3

                                      Результаты... Неоднозначны.
                                      Самым естественным мне кажется вариант с модификатором, т.к. рекомендации Лотуса я буду слушать в пол-уха (его вкусы где-то совпадают с моими, а где-то расходятся кардинально), Черенкова — в одно ухо (судя по его отзывам, схож), а про adagio вообще ничего сказать не могу, пока общих игр у нас так мало.

                                      Все три способа дали, впрочем, довольно сходный разброс, так что не вижу где тут разница "Погрешность 70%" и "Погрешности почти нет", прости.
                                      • 0Shaggy | 16 февраля 2015 г.
                                        Ты, конечно же, в моей системе не учёл, как ты это называешь "модификаторы" (хотя это странно - какие там могут быть модификаторы в принципе? Но это, видать, вопрос software, т.к. учитывая процент совпадений ты учитываешь и процент не совпадений). Я тоже провёл эксперимент на тех же пользователях только для себя. И на выходе получил такие результаты:

                                        По моей системе процент совпадения с

                                        adagio - 40%
                                        Lotus - 53%
                                        Cherenkov - 60%

                                        По твоей системе:

                                        adagio - 40%
                                        Lotus - 53%
                                        Cherenkov - 60%

                                        Какой из этого можно сделать вывод? Что сука всё надо считать: мои опасения, что по твоей системе, как более точной, придётся ждать много больше пользователей для получения приличных результатов не подтвердились, равно как твои опасения насчёт моей, что она будет давать большую погрешность.
                                        • 0Shaggy | 16 февраля 2015 г.
                                          Это выглядит занятным. Как итог: мы получаем одни и те же результаты, используя разные методики. Т.е. у нас получается спор двух иностранцев: один говорит "No, she is beautiful!", другой - "Да нет же, она красивая!". Исходя из этого, в следующий раз, чтобы не писать такие вот простыни, предлагаю сразу переходить к тестированию механизмов и выводу конечных результатов. Вероятно, они будут идентичными, а экономия времени будет огромной :)
                                          • 0Shaggy | 16 февраля 2015 г.
                                            З.Ы. Это ещё одна гирька в пользу числовой системы: слова всеми воспринимаются по-разному, а числа - одинаково.
                                            • 0SAXAHOID | 16 февраля 2015 г.
                                              Так и я за систему оценок цифрами. Но без сведения к группам потом — это просто лишнее усложнение, которое только зря вносит смуту и ест процессорное время.

                                              Btw, если тебе интересны более конкретные тесты, я могу написать код этого алгоритма и прогнать по тестовому набору значений. Но набор значений тогда с тебя, в легко парсимом виде.
                                              Например, название файла — имя гипотетического пользователя; содержание (голый текст, латиница) типа Х строк вида "Game name;Mark (number)".
                                              Для теста, думаю, достаточно будет 5-10 пользователей. Вот оценок у каждого и игр желательно уже как можно больше.
                                              Заполняешь так, чтобы можно было предугадать "советчиков" (то есть чтобы были сходные вкусы), запускаем программу по всем трём вариантам и смотрим, какой точнее попадёт на истину.
                                              • 0Shaggy | 16 февраля 2015 г.
                                                По-моему, это уже лишнее. Даже если беглый взгляд показывает ≈результатов (а у нас тут вышла 100% идентичность), то тут уже стоит выбор, что будет эффективнее в плане кода (просто если один из вариантов будет точнее другого на 1-2%, то это погоды не сделает). Если твой вариант эффективней в плане софта (не кодер этого не знает), значит он будет лучше.
                                                • 0SAXAHOID | 16 февраля 2015 г.
                                                  Проблема в том, что мой вариант сферический в вакууме. На Си с массивами и указателями он хорош, конечно, а как на базах данных это будет работать я без понятия — не моё направление вообще
                                                  • 0Shaggy | 16 февраля 2015 г.
                                                    Ну тут, думаю, уже решит iXy, что и как там надо будет сделать )
                                              • Свернуть ветку
                                    • Свернуть ветку
                                • 0Cherenkov | 16 февраля 2015 г.
                                  Интроверт - экстраверт. Уже определят склонность к сингл / мультиплееру. - Боюсь, с этим не всё так однозначно. Школьники в коде, например, могут быть интровертами, но с комплексами неполноценности. Таким образом, pwn'я врагов в КоД, они могут вымещать злобу, достаточно вживаясь в процесс. Короче, сдаётся мне, есть намного больше разных вариантов с поправкой на дополнительные обстоятельства.

                                  Но это так) В целом с мыслью согласен)
                                  • 1Shaggy | 16 февраля 2015 г.
                                    Поэтому я и использовал формулировку "склонность", т.к. даже самая большая вероятность - не гарантия.
                          • Свернуть ветку
                • Свернуть ветку
    • 0Cherenkov | 15 февраля 2015 г.
      Естественно, оценки намного точнее.
  • 3nikivarvar | 15 февраля 2015 г.
    Или лучше 3 кнопки, типа "Плохо", "Нормально", "Отлично"? Или что-нибудь между "Рекомендую" и "Не рекомендую".
    Если нет, то оценочки оставить, я думаю.
    Можно ещё прикрутить возможность СОГЛАШАТЬСЯ и НЕ СОГЛАШАТЬСЯ с отзывом.
    • 0Nord | 15 февраля 2015 г.
      Дико плюсую! Иногда ведь игра вызывает спорные чувства. Вроде и да, но и не кажись. Так что третья кнопка была бы полезна.
    • 0Forest_Swamp | 15 февраля 2015 г.
      Или что-нибудь между "Рекомендую" и "Не рекомендую" - "Сомневаюсь" или "На любителя" или *допишите свой вариант*

      "Да" и "нет" (мне просто было лень писать "Реколмендую"-"Не рекомендую", ведь это долго и нудно) - слишком категорично. Бывает так, что игра вроде бы и не плохая, но не зацепила. "Нет" не хочется ставить, но и рекомендовать всем не стал бы.
  • 1FruitGish | 17 февраля 2015 г.
    Системку как на Ньюграундс бы
  • 0yan141 | 15 февраля 2015 г.
    Не думал, что это так заразно. Я категорически против "рекомендую" и прочей чепухи. Скажем, фильм/игра мне понравился/понравилась, но в нём/ней есть изъяны. А при выставлении 10 бальной оценки учитывается абсолютно всё.
    • 0Forest_Swamp | 15 февраля 2015 г.
      А при выставлении 100-бальной оценки, учитывается вапще фсё-фсё-фсё и даже больше.)
      • 0LotusBlade | 16 февраля 2015 г.
        Я не смогу запомнить каждый балл адекватно и приписать ему особое значение.
        • 0MonstraG | 18 февраля 2015 г.
          По этому мы вводим 10К-бальную систему, вы спокойно можете накинуть пару-тройку сотен, если не уверены)
      • 0yan141 | 16 февраля 2015 г.
        Ага. Всё должно быть предельно точно.
  • 0iXy | 18 февраля 2015 г.
    Создал обновленную тему Рейтинги + Топы (часть 2)