...

четверг, 15 февраля 2018 г.

Психологический портрет с помощью нейросети и обычной камеры

Хабр, привет! В этом году мы в очередной раз организовываем Imagine Cup — конкурс студенческих стартапов в сфере IT. Приглашаем всех (студентов) поучаствовать! Ну а пока рассказываем о ребятах из команды Social Globe, которые заняли третье место в прошлом году. И не зря, ведь их сервис способен отследить цифровой след и составить психологический профиль человека по его данным из соцсетей. А идентификация происходит с помощью обычной камеры и нейросетей.

Предисловие, описание идеи и постановка задачи


В этом году конкурс Imagine Cup проходил уже в 15-й раз и наша команда из 3х человек решили принять в нем участие. Началось все с хакатона, проводимого в рамках Imagine Cup в Высшей школе экономики, целью которого было помочь придумать идею проекта, которую можно было бы успешно представить в конкурсе. В результате продолжительного мозгового штурма была предложена идея проекта, нацеленного на поиск подходящих по интересам и характеру пользователя людей, будь то друзья или вторая половинка, опирающийся на данные о человеке из соцсетей.

Существует много сервисов, занимающихся этим на основании анкетирования, но заполнять анкеты долго, а главное — крайне неэффективно. Люди не пишут правду о себе, они пишут о том, каким человеком они хотят быть. Из-за этого точность таких анкет всего 40%.

Мы стали изучать научных работы различных университетов мира — University of Cambridge, Stanford University, University of Antwept и др.

Список некоторых из научных работ:

  • Mining Facebook Data for Predictive Personality Modeling
    (Dejan Markovikj,Sonja Gievska, Michal Kosinski, David Stillwell)
  • Personality Traits Recognition on Social Network — Facebook
    (Firoj Alam, Evgeny A. Stepanov, Giuseppe Riccardi)
  • The Relationship Between Dimensions of Love, Personality, and Relationship Length
    (Gorkan Ahmetoglu, Viren Swami, Tomas Chamorro-Premuzic)

Во многих работах, в первую очередь в работах Михала Косински, обвиняемого в использовании данных из соцсетей в предвыборной кампании Дональда Трампа, было отмечено, что психологическую информацию о человеке можно с определенной точностью узнать, проанализировав данные его “цифровых следов” в социальных сетях – постов, репостов, лайков, комментариев. Исследования проводились в рамках соцсети Facebook. Например, благодаря примерно 68 лайкам в соцсети система Косински могла с 95% точностью утверждать о цвете кожи пользователя, с 88% о сексуальной ориентации, а с 85% — о поддержке конкретной политической партии (США).

Кроме того, на основании данных работ можно было заключить – между комбинацией черт характера и качеством отношений корреляция есть. Характер зачастую оценивается при помощи модели Big-5, описывающей личность человека пятью независимыми характеристиками: экстраверсией (Extraversion), доброжелательностью (Agreeableness), добросовестностью (Conscientiousness), нейротизмом (Neuroticism) и открытостью опыту (Openness to experience).

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

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

Заняв с этим прототипом второе место на финале конкурса в Высшей школе экономики (и первое по результатам зрительского голосования), мы начали готовиться к Всероссийскому финалу, к которому было решено модифицировать проект. Теперь пользователь смотрит на людей, их психологию и интересы не в веб-сервисе, а в реальном мире! Сервис при помощи обычной камеры, распознает людей и выдает о них необходимую информацию, полученную из социальных сетей, прямо рядом с лицом человека. В перспективе предполагалась доработка проекта для использования совместно с такой перспективной технологией от Microsoft, как Hololens.

Реализация и используемые технологии


Общие слова


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

Поэтому здесь очень пригодились разнообразные когнитивные сервисы Azure для синтаксического и семантического (выделение ключевых слов) анализа текста, а также переводчик на английский язык для того, чтобы можно было работать с различными языками.

Частные слова об интересах


Интересы человека определялись из ограниченного списка. Каждая категория в этом списке характеризовалась несколькими ключевыми словами (например, кулинария могла бы характеризоваться словами: овощи, фрукты, фритюрница, сковорода и т.д.). С помощью семантического анализа слов мы определяли, к каким категориям относятся твиты пользователя.

Частные слова о характере


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

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

Архитектура

В целом, процесс работы пользовательской части выглядел следующим образом:

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

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

О заполнении базы и анализе профиля:

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

В качестве основных языков для написания микросервисов использовались Go и C#. На C# был написаны обертки для word2vec, анализа текста, переводчика, нейронная сеть для анализа характера человека. Go на себе держал обработку информации, отправку запросов микросервисам, кеширование, и балансировку нагрузки.

Блок анализа контента на предмет интересов

Работа данного блока заключалась в обработке твитов пользователя на английском языке (твиты на других языках предварительно переводились на английский посредством сервиса-переводчика) и отправки их в сервис анализа текста от Microsoft для получения ключевых слов.

После этого полученные ключевые слова отправлялись в микросервис Word2Vec (Подробнее). С помощью него вычислялось семантическое расстояние от слова до ключевых слов из каждой категории интересов. Значимые расстояния складывались, и в итоге мы получали вектор расстояний, в котором i-ое число характеризовало близость всего текста к i-ой категории интересов. Этот вектор нормировался, после чего его можно было использовать для определения интересов человека и поиска людей с похожим вектором (интересами).

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

Среда разработки Visual Studio ускорила разработку благодаря возможностьи быстрого деплоя новых версий на сервера, а аналитика облака Azure позволила быстро находить узкие места и следить за работоспособностью серверов.

Полученные результаты


Мы гордимся тем, что заняли третье место в российском финале Imagine Cup, но больше всего нас радуют те положительные отзывы, которые мы получили от посетителей нашего стенда.

Немного о команде


Наша цель — помочь людям найти и развить свои сильные стороны, чтобы самореализоваться в эпоху 4-ой промышленной революции. Для этого мы разрабатываем систему анализа профилей людей на основе методики Михала Косински с помощью машинного обучения и анализа больших данных, и последующего персонализированного обучения.

Кстати, вот тут вы можете посмотреть мини-интервью с ребятами.

Imagine Cup 2018


Крупнейший международный технологический конкурс от Microsoft, в котором вы можете побороться за приз в $100 000. Для этого нужно собрать команду до 3 человек, придумать и реализовать идею проекта в категории AI, Big Data, Mixed Reality и презентовать её нам.

Всю последнюю информацию можно найти в группе ВКонтакте и в канале Telegram.

Регистрируйтесь!

Вы из России: aka.ms/ImagineCup2018_ru
Вы из Казахстана: aka.ms/ImagineCup2018_kz
Вы из Беларуси: aka.ms/ImagineCup2018_by

Let's block ads! (Why?)

Комментариев нет:

Отправить комментарий