Продолжаем разговор. Прошлая статья была переходной от предыдущего цикла о графических моделях вообще (часть 1, часть 2, часть 3, часть 4) к новому мини-циклу о тематическом моделировании: мы поговорили о сэмплировании как методе вывода в графических моделях. А теперь мы начинаем путь к модели латентного размещения Дирихле (latent Dirichlet allocation) и к тому, как все эти чудесные алгоритмы сэмплирования применяются на практике. Сегодня – часть первая, в которой мы поймём, куда есть смысл обобщать наивный байесовский классификатор, и заодно немного поговорим о кластеризации.
Рубрика «Блог компании Surfingbird» - 6
Вероятностные модели: от наивного Байеса к LDA, часть 1
2014-07-02 в 10:49, admin, рубрики: data mining, байесовские сети, Блог компании Surfingbird, искусственный интеллект, классификация, кластеризация, математика, математическое моделирование, теория вероятностейВероятностные модели: сэмплирование
2014-06-20 в 11:52, admin, рубрики: data mining, Алгоритмы, байесовские сети, Блог компании Surfingbird, искусственный интеллект, математика, математическое моделирование, сэмплирование, теория вероятностей, метки: data mining, байесовские сети, математика, математическое моделирование, сэмплирование, теория вероятностей И снова здравствуйте! Сегодня я продолжаю серию статей в блоге Surfingbird, посвящённую разным методам рекомендаций, а также иногда и просто разного рода вероятностным моделям. Давным-давно, кажется, в прошлую пятницу летом прошлого года, я написал небольшой цикл о графических вероятностных моделях: первая часть вводила основы графических вероятностных моделей, во второй части было несколько примеров, часть 3 рассказывала об алгоритме передачи сообщений, а в четвёртой части мы кратко поговорили о вариационных приближениях. Цикл заканчивался обещанием поговорить о сэмплировании — ну что ж, не прошло и года. Вообще говоря, в этом мини-цикле я поведу речь более предметно о модели LDA и о том, как она помогает нам делать рекомендации текстового контента. Но сегодня начну с того, что выполню давнее обещание и расскажу о сэмплировании в вероятностных моделях — одном из основных методов приближённого вывода.
Читать полностью »
Surfingbird for IOS 2.0 betta
2013-08-26 в 8:33, admin, рубрики: iOS, mobile development, Блог компании Surfingbird, разработка под iOS, метки: iOSВсе лето мы трудились над Surfingbird for IOS ver 2.0, стараясь учесть все ошибки допущенные при разработке предыдущей версии
Во-первых, приложение стало в несколько раз быстрее и стабильнее
Во-вторых, мы постепенно стали адаптировать все страницы в базе под приложение. Только текст и фото без флешовых банеров и т.д
В-третьих, переработаны весь дизайн и логика работы приложения. Мы старались прийти в полному flat дизайну, отрезая все лишнее. Чем проще, тем лучше.
В-четвертых, все фичи, которые есть у нас на WEB, доступны в новом приложении. В том числе работа с коллекциями.
Вероятностные модели: борьба с циклами и вариационные приближения
2013-08-02 в 16:03, admin, рубрики: data mining, байесовские сети, Блог компании Surfingbird, искусственный интеллект, математика, математическое моделирование, теория вероятностей, метки: data mining, байесовские сети, математика, математическое моделирование, теория вероятностейВ четвёртой серии цикла о графических вероятностных моделях (часть 1, часть 2, часть 3) мы продолжим разговор о том, как справляться со сложными фактор-графами. В прошлый раз мы изучили алгоритм передачи сообщений, который, правда, работает только в тех случаях, когда фактор-граф представляет собой дерево, и в каждом узле можно без проблем пересчитать распределения грубой силой. Что делать в по-настоящему интересных случаях, когда в графе есть большие содержательные циклы, мы начнём обсуждать сегодня – поговорим о паре относительно простых методов и обсудим очень мощный, но непростой в использовании инструмент – вариационные приближения.
Вероятностные модели: искусство расставлять скобки
2013-07-04 в 17:20, admin, рубрики: data mining, байесовские сети, Блог компании Surfingbird, искусственный интеллект, математика, математическое моделирование, теория вероятностей, метки: data mining, байесовские сети, математика, математическое моделирование, теория вероятностейПосле большого перерыва продолжаем цикл о графических вероятностных моделях (часть 1, часть 2). Сегодня мы наконец-то от постановок задач перейдём к алгоритмам; поговорим мы о самом простом, но часто полезном алгоритме вывода на фактор-графах – алгоритме передачи сообщений. Или, как его ещё можно назвать, алгоритме правильной расстановки скобок.
Вероятностные модели: примеры и картинки
2013-04-25 в 6:26, admin, рубрики: data mining, байесовские сети, Блог компании Surfingbird, искусственный интеллект, математика, математическое моделирование, теория вероятностей, метки: data mining, байесовские сети, математика, математическое моделирование, теория вероятностейСегодня – вторая серия цикла, начатого в прошлый раз; тогда мы поговорили о направленных графических вероятностных моделях, нарисовали главные картинки этой науки и обсудили, каким зависимостям и независимостям они соответствуют. Сегодня – ряд иллюстраций к материалу прошлого раза; мы обсудим несколько важных и интересных моделей, нарисуем соответствующие им картинки и увидим, каким факторизациям совместного распределения всех переменных они соответствуют.
Вероятностные модели: байесовские сети
2013-04-12 в 12:31, admin, рубрики: data mining, байесовские сети, Блог компании Surfingbird, искусственный интеллект, математика, математическое моделирование, теория вероятностей, метки: data mining, байесовские сети, математика, математическое моделирование, теория вероятностейВ этом блоге мы уже много о чём поговорили: были краткие описания основных рекомендательных алгоритмов (постановка задачи, user-based и item-based, SVD: 1, 2, 3, 4), о нескольких моделях для работы с контентом (наивный Байес, LDA, обзор методов анализа текстов), был цикл статей о холодном старте (постановка задачи, текстмайнинг, теги), была мини-серия о многоруких бандитах (часть 1, часть 2).
Чтобы двигаться дальше и поместить эти и многие другие методы в общий контекст, нам нужно выработать некую общую базу, научиться языку, на котором разговаривают современные методы обработки данных, – языку графических вероятностных моделей. Сегодня – первая часть этого рассказа, самая простая, с картинками и пояснениями.
Как мы повышаем лояльность пользователей Surfingbird
2013-04-05 в 10:05, admin, рубрики: Блог компании Surfingbird, маркетинг, метки: маркетингОбычно подобные статьи очень общие и сводятся к советам из серии «Делайте хороший продукт, зарядку по утрам и слушайтесь маму — и тогда ваши пользователи будут возвращаться к вам снова и снова». Я же, хоть и не обещаю серебряную пулю в плане повышения retention rate, но зато расскажу, что конкретно мы для этого делаем в Surfingbird.
В нашем случае с нами остается треть юзеров, причем навсегда. Они пользуются Surfingbird каждый месяц.
Рекомендательная система: достаем теги пользователей из соцсетей
2013-03-26 в 16:51, admin, рубрики: surfingbird, Алгоритмы, Блог компании Surfingbird, искусственный интеллект, рекомендательные системы, социальные сети, метки: surfingbird, рекомендательные системы, социальные сетиСегодня я расскажу о том, как можно использовать данные о пользователях из социальных сетей для рекомендаций веб-страниц на холодном старте. Все приведенные в статье результаты носят чисто экспериментальный характер и в настоящий момент мы не реализованы в продакшене. Здесь, как и в прошлой статье, будут использоваться элементы текстмайнига для анализа текстового контента веб-страниц.
Сначала немного статистики для того, чтобы показать важность настоящего исследования. Около 50% пользователей нашей системы регистрируются с привязкой аккаунтов социальных сетей vkontakte (VK) и facebook (FB). Причем из зарегистрированных через социальные сети 71% приходится на VK и 29% на FB.
API FB и API VK позволяют извлекать некоторые данные об интересах и предпочтениях пользователя. Но не все так просто, как может показаться. Для получения данных пользователя нужно получить особые права, согласие на которые дает сам пользователь при регистрации в системе. Здесь возникает тонкий момент. С одной стороны, мы ходим вытянуть как можно больше информации о пользователе. С другой стороны, просить слишком много прав — наглость, которая может отпугнуть пользователя. Нужно найти компромисс — тонкое равновесие между полезностью получаемых данных для улучшения рекомендаций и «суммой» кредита доверия от пользователя, который соглашается, чтобы мы залезли в его персональные данные.
Читать полностью »
Рекомендательная система: полезные задачи текстмайнинга
2013-03-15 в 11:09, admin, рубрики: surfingbird, text mining, Алгоритмы, Блог компании Surfingbird, искусственный интеллект, рекомендательная система, метки: surfingbird, text mining, рекомендательная системаЯ продолжаю цикл статей по применению текстмайнинг-методов для решения различных задач, возникающих в рекомендательной системе веб-страниц. Сегодня я расскажу о двух задачах: автоматическое определение категорий для страниц из RSS-лент и поиск дубликатов и плагиата среди веб-страниц. Итак, по порядку.
Автоматическое определение категорий для веб-страниц из RSS-лент
Обычная схема добавления веб-страниц (вернее, ссылок на них) в Surfingbird такова: при добавлении новой ссылки пользователь должен указать до трёх категорий, к которым принадлежит эта ссылка. Понятно, что в такой ситуации задача автоматического определения категорий не стоит. Однако, кроме ручного добавления, ссылки попадают в базу и из RSS-потоков, которые предоставляют многие популярные сайты. Поскольку ссылок, поступающих через RSS-потоки, очень много, зачастую модераторы (а в этом случае именно они вынуждены проставлять категории) просто не справляются с таким объёмом. Возникает задача создания интеллектуальной системы автоматической классификации по категориям. Для ряда сайтов (например, lenta.ru или sueta.ru) категории можно вытащить непосредственно из rss-xml и вручную привязать к нашим внутренним категориям: