Как счастье пользователя выражается в движении мышкой
Участники проекта
Руководитель
О проекте
Я в первый раз решила взять проект по практике. Было даже немного страшно. Мне хотелось проект в области Data Mining, но для них нужно было знать основы машинного обучения, а я этот курс еще не изучала. Вот поэтому и было страшновато, что не справлюсь.
У моего проекта забавное название: «Исследование того, как счастье пользователя выражается в его движениях мышкой». Как выяснилось позже, многие ребята на презентации практик в CS центре не сильно представляли, что из этого может получиться, думали, что это какая-то ерунда. Но после презентации результатов, где уже студентам нужно было отчитаться о проделанной работе, мне сказали, что их мнение было ошибочным :), что проект — не ерунда. Но самое главное то, что я довела его до логического завершения.
Чем же я занималась?
Современный человек постоянно пользуется поисковыми системами. Каждый день мы выполняем различные поисковые задачи. Но мало кто задумывался о поведении нашей мышки во время решения такой задачи. Мы никогда не обращаем внимания на то, как движется наша мышь, когда мы довольны результатами поиска и когда не очень. Нам стало интересен этот вопрос.
Было решено провести эксперимент, в котором группе пользователей было предложено решить ряд поисковых задач на различные тематики и поставить оценку удовлетворенности поиском. После проведения эксперимента было собрано достаточное количество сырых данных, в которых можно было добывать знания. Именно этим я и занималась: добывала знания. А инструментами были: машинное обучение и элементы статистического анализа.
Нужно было выяснить, в чем выражается раздраженность, в каких факторах. Например, если вы очень долго ищете ответ на ваш вопрос, то, скорее всего, вы будете немного раздражены (недовольны), количество кликов в таком случае увеличивается, так как вы кликаете на различные сниппеты и элементы страничек с целью найти ответ. Такой фактор должен нести в себе ценную информацию о раздраженности. Еще одним ярким примером может служить время, затраченное на сессию. Согласитесь, чем дольше мы ищем ответ на вопрос, тем больше мы недовольны.
Для того, чтобы наверняка убедиться, что фактор несет в себе информацию, нужно уметь как-то его оценивать. Ведь, на первый взгляд, неинформативный фактор может оказаться очень даже информативным.
Мое обучение происходило по спирали. От простого к сложному. Сначала я строила свои собственные классификаторы (бинарный и вероятностный). Так я познакомилась с классификаторами и получила готовый инструмент для выявления значимых признаков удовлетворенности пользователя. Для оценки информационной значимости факторов я пользовалась стандартными методами машинного обучения. Если просто, то для каждого фактора я считала численные характеристики и строила вот такие картинки:
2 кривые на графике называются ROC-кривыми. Синяя кривая — кривая фактора, красная — рандомная. Я сравнивала рандом с признаком . Данный признак очень даже ничего (он сильно отличается от рандома).
Так же в процессе я читала различные статьи по смежным темам, которые помогли мне полностью понять то, что я делала. В результате были разработаны факторы, отражающие в себе раздраженность пользователя, на основе этих факторов были обучены различные классификаторы, лучший классификатор с вероятностью 87 % по вектору параметров может сказать, доволен пользователь или не доволен результатом поиска. Так же были проведены оценки факторов и классификаторов.
Про руководителей
Мои руководители очень грамотно построили процесс обучения, они большие специалисты в своих областях. Без них бы у меня вряд ли что-либо дошло до логического заключения. Большая благодарность им за то, что они не переставали верить в меня, даже когда я сама уже в себя не верила.