2015-01-22 2 views
5

Я рассматривал документы и книги о системах рекомендаций и подходах, предлагаемых для их создания. Во многих из них в качестве примера был представлен конкурс Netflix. На Netflix пользователи оценивают фильмы (от 1 до 5). В этом соревновании участникам была предоставлена ​​база данных фильмов и соответствующие рейтинги пользователей, и они должны были внедрить систему, которая наилучшим образом прогнозирует рейтинг фильмов, и использование этого рейтинга предложит фильмы для пользователей.Внедрение системы рекомендаций для неконтролируемого обучения

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

Я пытаюсь создать систему рекомендаций для новостей. Проблема, с которой я столкнулся сейчас, заключается в том, что новости актуальны только на короткое время, и почти никто не даст рейтинг новостям. Итак, у меня есть только неявная обратная связь (мнения) и отсутствие явной обратной связи (рейтинг). Также в проблеме Netflix они снабжены базой данных. Мне интересно, как справиться с проблемой «холодного старта», потому что в начале новостей не было бы прочитано (просмотрено).

Я буду так благодарен, если вы могли бы предложить мне, как избежать проблемы с холодным запуском, и как только у меня будет алгоритм, как я могу проверить, работает ли он нормально.

Спасибо!

+0

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

+1

«Я пытаюсь создать систему рекомендаций для новостей» https://sites.google.com/site/newsrec2013/ – dranxo

ответ

0

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

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

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

Вы также можете проверить простирание ключевых слов от google, bing и т. д. ... по конкретным темам, чтобы убедиться, что статья, которую вы показываете, является релевантной.

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

Вот больше информации о неконтролируемом обучении: http://en.wikipedia.org/wiki/Unsupervised_learning

Вы также можете посмотреть в Максимизация Ожидания, чтобы выяснить, какие переменные улучшат ненаблюдаемые вами данные получены. Вот полное объяснение EM https://stats.stackexchange.com/questions/72774/numerical-example-to-understand-expectation-maximization

2

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

В то время как у вас по-прежнему будет проблема с холодным запуском пользователя - если новый пользователь в вашей системе не предоставил вам никаких сведений о своих предпочтениях, если вы не загрузите его из разработки своих твитов или интересов Facebook или что-то в этом роде - - вы можете избежать проблемы с холодным запуском. Вместо того, чтобы полагаться на новости, читайте через свое сообщество как единственный способ получить сходство предметов, вы можете использовать другой корпус. В частности, попробуйте Wikipedia, и проверьте WikiBrain (https://github.com/shilad/wikibrain). Это API, благодаря которому вы можете получить сходство одной концепции с другой и применить ее к вашим рекомендациям.

Смежные вопросы