Что следует учитывать при создании механизма рекомендаций?

StackOverflow https://stackoverflow.com/questions/54179

  •  09-06-2019
  •  | 
  •  

Вопрос

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

Победитель, очевидно, создал лучший алгоритм, ограничив объем подаваемой в него информации.

В качестве первого эмпирического правила я думаю..."Больше информации не обязательно значит лучше, когда дело касается нечетких алгоритмов».

Я знаю, это субъективно, но в конечном итоге это измеримая вещь (клики в ответ на рекомендации).

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

В двух словах, «Как лучше всего составить рекомендацию?»

Это было полезно?

Решение

Не стоит использовать «общую популярность», если у вас нет информации о пользователе.Вместо этого вы хотите сопоставить этого пользователя с похожими пользователями и соответствующим образом присвоить ему вес.

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

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

Наконец-то появилась компания, специализирующаяся именно на этом, под названием SenseArray.Владелец (Ян Кларк из слава во фринете) очень доступен.Вы можете использовать мое имя, если позвоните ему.

Другие советы

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

Согласен с @Ricardo.Этот вопрос слишком широк, как вопрос «Как лучше всего оптимизировать систему?»

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

(Конечно, вы должны быть готовы к тому, что большинство ваших векторов будут очень редкими!)

Мой ответ, конечно, слишком запоздал для @Allain, но для других пользователей, которые нашли этот вопрос через поиск - пришлите мне в личку и задайте более конкретный вопрос, и я обязательно отвечу.

(Я профессионально разрабатываю системы рекомендаций.)

@ Лао Цзы, я согласен с тобой.

По моему мнению, рекомендательные системы состоят из:

  • Контекстный ввод, поступающий из контекстно-зависимых систем (регистрация всех ваших данных)
  • Логические рассуждения для фильтрации самого очевидного
  • Экспертные системы, которые улучшают ваши субъективные данные с течением времени на основе входных данных контекста и
  • Вероятностные рассуждения для принятия решений, близких к близости, на основе взвешенной суммы предыдущих действий (убеждения, желания и намерения).

P.S.Я сделал такой рекомендательный двигатель.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top