Введение 3
Обзор литературы 6
Глава 1. Разработка программного комплекса для определе¬ния геолокации пользователей в дискуссиях в в со¬циальных сетях 7
1.1. Проектирование архитектуры программного обеспечения 7
1.2. Алгоритм геолокации пользователей 7
1.3. Получение геолокации по имени пользователя 7
1.4. Обработка верно указанных геопозиций 8
1.5. Обработка геопозиций, содержащих грязные данные ... 8
1.6. Обработка данных, не содержащих полезной информации 13
1.7. Формат данных 14
1.8. Оценка результатов 14
1.9. Веб-сервис 15
Заключение 17
Список литературы
Актуальность
Сервисы социальных сетей в интернете, такие как микроблоги, предлагаемые такими платформами, как Twitter, продемонстрировали феноменальный рост своей пользовательской базы. Этот рост вызвал интерес к
использованию данных, предоставляемых этими платформами, для извлечения разного рода информации, такой как, например, географическое положение, от пользователей. Полученные данные можно использовать для
предоставления пользователям персонализированных услуг, таких как релевантные новости, реклама и прочий контент. Также знания о местоположении пользователей могут позволить исследователям анализировать мировые события с точки зрения того, как и какие слои населения они задевают. С более чем 200 миллионами учетных записей в Twitter в разных
географических точках короткие сообщения (твиты) образуют огромный
набор данных, который может быть проанализированы для извлечения такой географической информации.
Проблемы
Twitter позволяет своим пользователям самостоятельно указывать
свое географическое положение. Эта информация о местоположении вводится пользователем вручную или обновляется с помощью GPS (но активировано это лишь у небольшого процента пользователей [1]). Следовательно, данные о географическом местоположении для большинства пользователей могут отсутствовать или быть неверными. Есть несколько недостатков в использовании обновления местоположения вручную:
• основной и единственный инструмент для получения информации о
геолокации пользователей - официальный сервис Twitter API. К сожалению, доступ к данному сервису открыт исключительно на платной основе.
3• пользователи могут ввести неверные данные о географическом местоположении. Например, пользователь может ввести свое местоположение как “Марс, кратер Ковальский”. Также это может быть не
название реального географического местоположения “Криптон”;
• пользователи могут неоднозначно указать свое местоположение. Например, “космополит, но из Москвы”. Такую строку сложно обработать, так как в ней много лишней информации;
• у пользователей может быть не указано местоположение.
Следовательно, надежность таких данных для определения географического местоположения пользователя невысока. Чтобы преодолеть эту
проблему редко доступной информации о местоположении пользователей,
мы оцениваем географическое положение пользователя Twitter на уровне
страны, основываясь не только содержании указанного поля местоположения, но и на геолокации пользователей, с которыми взаимодействует
рассматриваемый.
Цель и задача работы
В Twitter пользователи могут публиковать микроблоги, известные
как твиты, которые могут читать другие пользователи. Наряду с этой
службой микроблогов Twitter также предоставляет службу социальной сети, в которой пользователь (подписчик) может следить за твитами другим
пользователем. Каждый край социальной сети формируется этими отношениями «подписки». Как подписчик, пользователь получает все твиты, отправленные подписчиком, и, в свою очередь, может отвечать на эти твиты
с помощью ответного твита. Этот ответ-твит - ключевой инструмент взаимодействия пользователей Twitter, который составляет основу разговора
между двумя разными пользователями. Согласно исследованию [2] ответные твиты и направленные твиты составляют около 25,4% всех сообщений
в Twitter. Это показывает, что функция ответа-твита широко используется
пользователями Twitter. Основная идея моей работы заключается в том,
что так как разговор между пользователями может быть посвящен темам
4(погода, спорт и т. д.) связанным с местоположением, предполагается, что
этот набор тем остается неизменным во время обсуждения. Тогда можно
предполагать, что геолокация участника дискуссии связана с геолокацией
остальных участников. Таким образом, составив граф того, с кем пользователь взаимодействует в Twitter, можно составить представление о его
местоположении.
Результаты
В данной работе рассматривалась задача детекции геолокации пользователей в социальной сети Twitter. В изучаемых данных были представлены графы дискуссий, посвященные различным нашумевшим мировым
событиям. Разработанный в результате исследования алгоритм способен
определить геолокацию для пользователей, которые указали данную информацию о себе, а также предсказать геолокацию для пользователей без
подобной информации.
В ходе работы были выполнены все стадии обработки рассматриваемых данных. Был реализован сбор информации о поле геолокации пользователей посредством скрапинга Twitter API. Также было произведено
распознование именованных сущностей из полученных через Twitter API
строк местоположений. Затем была реализована нормализация распознанных геолокаций при помощи Open Street Maps API. Последним шагом в
обработке данных было заполнение графа связей пользователей геолокациями в соответствии с определенными на предыдущих шагах местоположениях. Были собраны результаты работы алгоритма на разных датасетах, отражающие результативность алгоритма на каждом этапе обработки.
Также был реализован web-сервис, в функционал которого входит:
• загрузка данных об участниках дискуссии,
• обработка этих данных при помощи реализованного алгоритма,
• визуализация результатов обработки алгоритма.
Полученная система может быть применена для анализа вовлеченности пользователей из разных стран в обсуждения мировых событий.
Перспективы развития
Представленная работа имеет следующие потенциальные пути развития:
17• Обработка информации о лайках и ретвитах. Использование этой информации может позволить как расширить множество участников
дискуссии, так и увеличить точность предсказаний.
• Обработка информации о подписках пользователя. Данный подход
также может увеличить точность предсказываний.
• Использование семантических свойств самих сообщений в дискуссии.
• Использование гео-меток сообщений пользователей.