Мультиагентная система анализа пользователей социальных сетей. Наивный байесовский классификатор Белевцев Д.А. Постановка задачи Разработка мультиагентной системы для взаимодействия с социальными сетями. Изучение принципов построения Наивного Байесовского классификатора (НБК). Получение репрезентативной выборки для обучения НБК. Разработка агентов для взаимодействия с НБК. Мультиагентная система - это система, образованная несколькими взаимодействующими агентами. Интеллектуальный агент программа, самостоятельно выполняющая задание, указанное пользователем, в течение длительных промежутков времени. Наи́вный ба́йесовский классифика́тор — простой вероятностный классификатор, основанный на применении Теоремы Байеса со строгими (наивными) предположениями о независимости. Моделирование МАС Платформа разработки – MadKit 5.0.4. Структура – AGR (Agent/Group/Role). Интеллектуальные агенты : - «Босс» - «Загрузчик» - «Анализатор» - «Сервер» - «БД» Наивный байесовский классификатор P(c|d) — вероятность что документ d принадлежит классу c P(c) — безусловная вероятность встретить документ класса c в корпусе документов; P(d|c) — вероятность встретить документ d среди всех документов класса c; P(d) — безусловная вероятность документа d в корпусе документов Оценка апостериорного максимума (англ. Maximum a posteriori estimation) Байесовский классификатор представляет документ как набор слов вероятности которых условно не зависят друг от друга. Этот подход иногда еще называется bag of words model Решение проблемы арифметического переполнения Наивный байесовский классификатор Оценка вероятностей P(c) и P(wi|c) осуществляется на обучающей выборке. Вероятность класса мы можем оценить как: Оценка вероятности слова в классе с помощью multinomial bayes model. где, Dc – количество документов принадлежащих классу c, а D – общее количество документов в обучающей выборке. •Wic — количество раз сколько i-ое слово встречается в документах класса c; •V — словарь корпуса документов (список всех уникальных слов). То есть, числитель описывает сколько раз слово встречается в документах класса (включая повторы), а знаменатель – это суммарное количество слов во всех документах этого класса. Наивный байесовский классификатор Если на этапе классификации встречается слово, которого не было на этапе обучения, то значения Wic, а следственно и P(wi|c) будут равны нулю. Это приведет к тому что документ с этим словом нельзя будет классифицировать, так как он будет иметь нулевую вероятность по всем классам. Решением проблемы неизвестных слов является аддитивное сглаживание (сглаживание Лапласа). Идея заключается в том что мы притворяемся как будто видели каждое слово на один раз больше, то есть прибавляем единицу к частоте каждого слова. Допустим, что на этапе обучения мы видели три имени собственных указанное количество раз. На этапе классификации появляется имемя «Иннокентий», которого не было на этапе обучения. Наивный байесовский классификатор Общая формула: в этой формуле: Dc — количество документов в обучающей выборке принадлежащих классу c; D — общее количество документов в обучающей выборке; |V| — количество уникальных слов во всех документах обучающей выборки; Lc — суммарное количество слов в документах класса c в обучающей выборке; Wic — сколько раз i-ое слово встречалось в документах класса c в обучающей выборке; Q – множество слов классифицируемого документа (включая повторы). Обучение НБК Класс «Простые люди» Выборка состоит из 2460 людей и включает ~ 700 000 слов, без повторов Класс «It-шники» Выборка состоит из 1900 людей и включает ~870 000 слов, без повторов Общее количество уникальных обработанных слов ~ 1 100 000 Изначальная схема работы МАС «Хранилище» «Босс» Сообщение: Токен Полуение токена Ответ: Токен получен Обработка информации от «Анализатора» Запуск «Анализатора» Запуск Загрузка сообщений «Вкотакте» Сообщение: Получил все сообщения Отправка сообщения. Отправка результатов анализа всех сообщений Передача сообщений другим агентам «Анализатор» Запрос очередного сообщения Общество Измененная схема МАС WWW «Сервер» «Босс» Vk.com «Загрузчик» Сообщение: id Сообщение: токен Сообщение : id для анализа Ответ: результат работы Ответ: токен получил Ответ: id добавлен Сообщение: стена «Анализатор» Общество «БД-Агент» Сообщение: Добавлено База данных Добавление в БД Пример работы Перспективы Создание веб-сервиса, обеспечивающего получение данный из социальных сетей. Легкость добавление дополнительных классификаторов. Высокая степень распределения программных задач. Заключение Изучены методы моделирования МАС. Разработан и обучен наивный байесовский классификатор. Разработана мультиагентная система, получающая информацию для классификации из социальной сети. СПАСИБО ЗА ВНИМАНИЕ!