• Рекомендательная система на коленке как средство против экзистенциального кризиса

      Может быть отсылка к экзистенциальному кризису звучит слишком громко, но лично для меня проблема поиска и выбора (или выбора и поиска, это имеет значение) как в мире интернета так и в мире простых вещей по мучениям иногда приближается к нему. Выбор фильма на вечер, книги неизвестного автора, сосисок в магазине, нового утюга — дикое количество вариантов. Особенно когда не очень знаешь чего хочешь. Да и когда знаешь, но не можешь попробовать — тоже не праздник — мир разнообразен и все сразу не перепробуешь.

      image

      Рекомендательные системы сильно помогают в выборе, но не везде и не всегда так как хотелось бы. Часто не учитывается семантика содержания. Кроме того, во весь рост встает проблема "длинного хвоста", когда рекомендации сосредоточены только на самых популярных позициях, а интересные, но не очень популярные в массе вещи ими не охвачены.

      Cвой эксперимент в этом направлении я решил начать с поиска интересных текстов взяв для этого довольно небольшое, но пишущее сообщество авторов, которые еще остались на блоговой платформе Живой Журнал. О том как сделать собственную рекомендательную систему а в результате получить еще и помощник в выборе вина на вечер — под катом.
      Читать дальше →
      • +15
      • 10.6k
      • 7
    • Бот для Telegram за 48 часов на Perl или как купить кошачий корм не выходя из чата



        Давно поглядывая в сторону темы ботов для Telegram и Facebook всё не находил времени взглянуть что же это за звери. А главное — не было внятной идеи зачем может понадобиться такой бот в реальной жизни, учитывая что ни Tg ни Fb Messanger в жизни я активно не пользуюсь.

        И совершенно случайно представилась возможность немного погрузиться в эту область и решить вполне себе прикладную задачу. Например, купить корм для кота не выходя из чата )
        Читать дальше →
      • Писатели и читатели — анализ структуры комментариев ЖЖ ТОП-500, часть 1

          Начало


          Я продолжаю серию публикаций-исследований на тему структурного анализа русскоязычного сегмента Живого Журнала. Первая публикация была посвящена некоторому анализу аудиторий 10-ти топовых блоггеров. Во время ее подготовки был собран граф связей русского ЖЖ, охватывающий более 2-х млн. блогов и 58 млн. связей между ними. К этому графу я еще вернусь в следующих сериях (пока я еще не осмыслил его), а сегодня о другом. А именно, о том кто, как часто и кого комментирует в самом бурлящем разборками и дискуссиями уголке ЖЖ — в журналах из ТОП-500.

          Взяв за основу состояние ЖЖ-рейтинга на начало апреля и отщипнув от него 500 верхних позиций я запустил сбор данных по следующей методике. У каждого блога из списка запрашивались 25 последних публикаций (доступно через штатные средства ЖЖ). Из каждой публикации вытаскивался список комментаторов (имя, id-комментария, место комментария в дереве) если, конечно, комментарии к записи открыты для посторонних.

          Штатные средства ЖЖ такого не позволяют, попытки сделать финт ушами и ободрать RSS-выдачу поиска по блогам от Яндекса натыкались на очень странное и несколько нелогичное поведение этой выдачи (это не претензия, это просто факт), поэтому информацию о структуре комментариев пришлось извлекать из страниц журналов. Но это оказалось к лучшему :) Кстати, если что: DDos на ЖЖ — это не я :)

          В итоге, после нескольких дней сбора информации (первоначальная версия краулера была не безглючной, ЖЖ притормаживал — в это время на него был очередной ДДоС) получились вот такие исходные данные:

          487 журналов, имеющих хотя бы один откомментированный пост;
          10546 постов, имеющих хотя бы один комментарий;
          809563 комментариев (без учета анонимных), из них 115326 (14,2%) — ответы владельцев журналов;
          114412 комментаторов, из них 3884 (3,4%) залогинены с помощью внешних сервисов (twitter, facebook и т.д.)

          Далее в программе:

          1. Статистика различных характеристик журналов из TOP-500
          2. Некоторые неявные, но любопытные рейтинги
          3. Поиск ответа «как стать популярным блоггером» с помощью кластерного и корреляционного анализа (это, правда, будет во второй части исследования)
          Читать дальше →
        • Кто кого читает в ЖЖ — анализ пересечения аудиторий топовых блоггеров

            Начало


            Тема исследования связей в социальных сетях становится все более актуальной по разным причинам: попытка ответить на вопрос о степени связности участников сетей; скорости и путях распространения информации; об эффективности целевой рекламы, в конце концов. Да и сам процесс исследования и поиска неявных связей затягивает!

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

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

            Забегая вперед скажу: социальный граф русского ЖЖ в моем исследовании имеет 2,08 млн. вершин и 58,05 млн. дуг. Интересно? Тогда под катом довольно много букв, цифр и картинок.

            Читать дальше →