Алгоритм ориентации на пользователя - PullRequest
4 голосов
/ 23 июня 2010

У меня есть приложение, которое посетители приходят и уходят.

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

Теперь я хотел бы настроить таргетинг на этих пользователей с соответствующим контентом.

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

Мне известно, что, учитывая список контента и пользователя, я буду искать наиболее подходящий контент для пользователя, а именно: A * search.

Как бы вы спроектировали и внедрили такое приложение?

Какой алгоритм (ы) / структуры данных вы бы использовали? графики? список смежности? матрица

Ответы [ 2 ]

1 голос
/ 25 июня 2010

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

Байесовский классификатор

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

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

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

Байесовское сетевое программное обеспечение

Программное обеспечение WEKA Data Mining является Java с открытым исходным кодом.библиотека, которая реализует многие распространенные методы классификации, в том числе байесовские сетевые классификаторы, и ее стоит попробовать.Я не могу рекомендовать какие-либо конкретные эквивалентные C # пакеты, но быстрый веб-поиск выявил по крайней мере один коммерческий байесовский пакет для .NET, Bayes Server .

Рекомендуемое чтение

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

Болстад, Уильям М. (2007). Введение в байесовскую статистику , второе издание, Джон Уайли.

Иудея Перл (2000). Причинность: модели, рассуждения и умозаключения , издательство Кембриджского университета.

1 голос
/ 23 июня 2010

Очень интересный вопрос!

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

Итак, у вас есть функция:

f(gender, age, location, personality, ..., advertisement) -> CTR

При каждом посещении вы получаете фиксированный пол, возраст, местоположение и т. Д. Под фиксированным я имею в виду: у вас уже есть этот посетитель, вы не можете изменять его возраст. И у вас есть параметр, который вы можете изменить: реклама. Ваша цель - максимально увеличить ЭЛТ.

В различных рекламных объявлениях вы можете собирать статистику для CTR в различных комбинациях. Получив минимальные начальные знания, вы можете попытаться использовать теорию оптимизации методы, в частности нелинейное программирование , чтобы найти оптимальный advertisement параметр для заданного gender, age, location, etc. Продолжайте собирать статистику CTR, чтобы последующие решения становились все более и более точными.

P.S. Была демонстрация запуска на TechCrunch . Они сделали то же самое и имели фантастические результаты. Поэтому, если вы добьетесь успеха, подумайте о том, чтобы начать свой собственный бизнес;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...