УДК 004.048, 004.428.4
DOI 10.21685/2072-3059-2018-2-3
А. М. Ляпин
МЕТОДИКА СБОРА И ИНТЕЛЕКТУАЛЬНОГО АНАЛИЗА КОРОТКИХ СООБЩЕНИЙ ИЗ СЕТИ ИНТЕРНЕТ С ЦЕЛЬЮ ВЫЯВЛЕНИЯ ВНЕШТАТНЫХ СИТУАЦИЙ В ДОРОЖНО-ТРАНСПОРТНОЙ ИНФРАСТРУКТУРЕ1
Аннотация.
Актуальность и цели. Объектом исследования являются короткие сообщения из общедоступных источников, таких как социальные сети, форумы, открытые SMS-сообщения, имеющие прикрепленные геоданные о положении пользователя в момент публикации сообщения. Предметом исследования является классификация коротких сообщений с помощью методов интеллектуального анализа данных и сравнительный анализ методов «ближайших соседей» и «наивного Байеса». Цель работы - разработка методологии интеллектуального анализа данных, позволяющая классифицировать сообщения без предварительного обучения системы. Проведена экспериментальная проверка разработанной методологии на наборе данных, полученных из социальных сетей, с целью выявления внештатных ситуаций в дорожно-транспортной инфраструктуре.
Материалы и методы. Исследования обработки коротких текстовых сообщений из общедоступных источников с целью классификации дорожных инцидентов выполнены посредством методов интеллектуального анализа данных. Наборы данных для экспериментальной системы взяты из тематических форумов, групп социальных сетей и новостных сайтов.
Результаты. Предложена методология на основе ансамбля методов интеллектуального анализа данных, позволяющая классифицировать короткие текстовые сообщения без предварительного обучения системы. Разработана компьютерная программа на основе предложенной методологии, классифицирующая данные из общедоступных источников и отображающая полученные сообщения с прикрепленными геоданными на карте г. Пензы.
Выводы. Сравнительный анализ двух методов обработки данных показал, что метод «ближайших соседей» позволяет достичь большей точности на тестируемом наборе данных по сравнению с методом «наивного Байеса». Также это подтверждает утверждения, что методы машинного обучения можно успешно применять для обработки коротких текстовых сообщений разного характера и в разных сферах. Наряду с этим было выявлено, что информация, получаемая из социальных сетей и SMS-сообщений, является ценной для определения реакции участников дорожного движения в режиме реального времени.
Ключевые слова: интеллектуальная обработка данных, Smart city, метод ^-ближайших соседей, внештатная дорожная ситуация
1 Результаты работы получены при финансовой поддержке РФФИ в рамках гранта № 18-07-00975.
© 2018 Ляпин А. М. Данная статья доступна по условиям всемирной лицензии Creative Commons Attribution 4.0 International License (http://creativecommons.Org/licenses/by/4.0/), которая дает разрешение на неограниченное использование, копирование на любые носители при условии указания авторства, источника и ссылки на лицензию Creative Commons, а также изменений, если таковые имеют место.
A. M. Lyapin
METHOD FOR COLLECTION AND INTELLECTUAL ANALYSIS
OF SHORT COMMUNICATIONS FROM THE INTERNET NETWORK FOR THE IDENTIFICATION OF EXTRA SITUATIONS IN ROAD TRANSPORT INFRASTRUCTURE
Abstract.
Background. The subject of the study are short messages from public sources such as social networks, forums, public sms messages, with geodata about the status of the user at the time of publication of the messages. The subject of the study is the classification of short messages using methods of data mining and comparative analysis of the methods of "nearest neighbours" and "naive Bayes". The aim of the work is to develop a methodology for data mining, which allows you to classify messages without learning the system. Experimental verification of the developed methodology on the collection of data from social networks, with the aim of interfering with external work in the road and transport infrastructure.
Materials and methods. Research of the processing of short text messages from public sources for the purpose of classifying road incidents have been carried out using data mining techniques. Data sets for the experimental system are taken from thematic forums and groups of social networks and news sites.
Results. The methodology based on ensemble of methods of data mining, which allows to classify short text messages without preliminary training of the system. A computer program is developed on the basis of the proposed methodology, which classifies data from public sources and displays received messages with attached geodata on the map of Penza.
Conclusions. Comparative analysis of two data processing methods showed that the method of "nearest neighbors" allows to achieve greater accuracy on the test data set compared to the "naive Bayes" method. This also confirms the assertion that machine learning methods can be successfully applied to the processing of short text messages of a different nature and in different spheres. Along with this, it was revealed that information received from social networks and SMS messages is valuable for determining the reaction of road users in real time.
Key words: Data mining, Smart city, k-nearest neighbors, freelance road situation.
Введение
Технологии создания компонент интеллектуальной и безопасной городской среды «Smart & Save City» [1] активно развиваются и внедряются практически во все сферы жизнедеятельности человека, связанные со здоровьем, безопасностью, отдыхом, работой и транспортом. Для оценки и анализа проблем безопасности целесообразно использовать информацию, сгенерированную самими людьми в социальных сетях и медиапространстве сети Интернет. Именно здесь многочисленные информационные источники являются наиболее доступными, открытыми и актуальными.
В статье рассматривается предложенный подход для интеллектуального анализа данных из социальных сетей Twitter и «ВКонтакте». Twitter представляет собой сеть микроблогов, где пользователи обмениваются короткими сообщениями - твитами. В Twitter зарегистрировано более 600 млн пользова-
телей по всему миру, здесь ежедневно размещается примерно 65 млн твитов [1]. Сети «ВКонтакте» - социальная сеть российского Интернет-сегмента, крупнейшая в Европе. Среднесуточная аудитория составляет более 80 млн пользователей, а зарегистрировано более 450 млн [2].
Рассмотрим предложенный метод анализа сообщений на примере сообщений, связанных с безопасностью дорожного движения, которые имеют временные и геотегированные метки с информацией о координатах местоположения смартфона пользователя, отправившего сообщение, времени отправки. Сообщения, как правило, содержат информацию о дорожном инциденте или описание проблем с дорожно-транспортной инфраструктурой, результатом которых становятся пробки, изменения дорожного трафика, маршрутов движения и другие события.
Особенностью предлагаемой методологии является использование метода машинного обучения для классификации и кластеризации получаемых данных. В отличие от других подходов, в которых используются ручные классификаторы, процесс анализа полностью автоматизирован. Так как сообщения являются геотегированными и содержат сгенерированный пользователем контент с координатами и временем события, то результаты кластеризации визуализируются на цифровой картографической основе с целью определения текущего состояния дорожной обстановки и краткосрочного прогнозирования изменения ситуации в некоторой области рядом с инцидентом. Это позволит наглядно представить критические области, причину и оценить масштабность происшествия.
1. Метод классификации событий по информации из текстовых сообщений
Предложенный подход использует открытую информацию для классификации событий дорожного движения, которые влияют на степень загруженности транспортной системы в области мониторинга. Результаты необходимы для оптимизации дорожного трафика и улучшения дорожной обстановки в городе. Методика включает четыре этапа преобразования собираемых коротких сообщений в информацию о дорожной ситуации (рис. 1):
1. Установка контакта с социальными сетями и сбор данных.
2. Очистка данных.
3. Выбор и классификация событий.
4. Визуализация событий на карте.
На первом этапе в процессе сбора данных устанавливается контакт с источниками. Извлеченные данные сохраняются в необработанном виде. Вместе с сообщениями собирается временная и геопространственная информация, а именно особенности рельефа местности, о которой идет речь в сообщении, географические координаты для фиксации границы участка. Сообщения о дорожном движении и транспортной ситуации в районе исследования сохраняются в базе данных.
Сообщения собираются из открытых сообществ социальных сетей согласно учетным записям пользователей, а также из новостных сайтов. Существует несколько интерфейсов прикладных программ, которые позволяют извлекать сообщения в соответствии с запросами или путем настройки РИ8И-
уведомлений о появлении новых сообщений. Каждый раз, когда размещается новое сообщение в интересующем аккаунте пользователя или на новостном сайте, оно сохраняется в базы данных.
Рис. 1. Этапы преобразования данных
На этапе обработки сообщения классифицируются по ключевым словам, найденным в тексте сообщения. Определено пять классов дорожных событий: позитивные, заторы, препятствия, инциденты и прочие (табл. 1).
Таблица 1
Характеристика классов сообщений
Класс Описание
Позитивный Сообщения о хороших дорожных условиях. Указывают на то, что транспортные средства могут передвигаться свободно
Затор Сообщения о заторах и пробках
Препятствие Сообщения о событиях, которые препятствуют нормальному движению транспортных средств
Инцидент Сообщения о событиях, в которых люди или транспортные средства получили повреждения
Прочие Сообщение не удалось классифицировать. Недостаточно информации для определения класса события
Подготовка данных к классификации происходит по следующей методике:
1. Специальный скрипт проводит лексический разбор текста, разделяет его на слова и удаляет знаки препинания.
2. Далее удаляются специфичные «стоп-слова». Словарь таких слов составлен с помощью сервиса Ranks NL (https://www.ranks.nl/stopwords/russian).
3. Устанавливается предварительный класс сообщения, чтобы применить метод «k-ближайших соседей». Здесь необходимо иметь набор слов, идентифицирующий классы Bag of words, который составлен с помощью сервиса RusVectores (http://rusvectores.org/ru).
4. Подсчитывается количество совпадений слова в каждом наборе класса. Класс с наибольшим количеством совпадений присваивается сообщению.
В результате каждое сообщение получает метку класса, а также на выходе получается текст без специальных символов и стоп-слов, т.е. выполняется его «очистка».
На этапе классификации данных по событиям применяется алгоритм машинного обучения «^-ближайших соседей» (KNN - k-nearest neighbors), описание которого приведено ниже.
Пусть задана обучающая выборка пар «объект-ответ»
X™ = {( y),...,(xm, )}.
Пусть на множестве объектов задана функция расстояния p(x, x') . Эта функция должна быть достаточно адекватной моделью сходства объектов. Чем больше значение этой функции, тем менее схожими являются два объекта x, x'.
Для произвольного объекта u расположим объекты обучающей выборки xj в порядке возрастания расстояний до u :
Р ( x1,u ) Р ( x2,u ) • • • ^ P(^ x™,u X
где через xi u обозначается тот объект обучающей выборки, который является i -м соседом объекта u . Аналогичное обозначение введем и для ответа на i -м соседе: yi u.
Таким образом, произвольный объект u порождает свою перенумерацию выборки. В наиболее общем виде алгоритм ближайших соседей есть
т
a (u) = argmax xj u = y]w(i,u), i=1
где w(i, u) - заданная весовая функция, которая оценивает степень важности i -го соседа для классификации объекта u [3].
Перед использованием метода «^-ближайших соседей» сообщения нормализуются и приводятся к числовому виду. Для этого применяется векторная модель частоты слов в сообщениях. Строится словарь, который содержит слова, найденные в выбранных сообщениях, с информацией о частоте слов в каждом. Составление словаря происходит по следующему алгоритму:
1. Задается пустой словарь.
2. Для всех сообщений класса выполняется процесс:
а) сообщение разделяется на слова;
б) аналогичное слово ищется в словаре;
в) если слово присутствует в словаре, то его вес увеличивается на 1;
г) если слово не существует, то оно добавляется в словарь с весом 1.
3. Как только в словаре будут собраны все возможные ключевые слова
и их частотные значения (частота повторений в сообщениях класса),
выполняется переход к этапу нормализации сообщений.
На этапе нормализации строится векторное представление сообщения по следующему алгоритму:
1. Создается вектор с числом позиций, равным длине составленного словаря слов.
2. В каждую позицию вектора записывается количество повторений слова в сообщениях.
3. Если слово из словаря встречается n раз в сообщении, то в векторе на позиции слова сохраняется значение n.
4. Если слово из словаря не встречается в сообщении, то его значение в векторе устанавливается равным 0.
Полученные вектора сообщений далее используются при обучении и тестировании алгоритма «^-ближайших соседей». Алгоритм работает с ключами, которыми являются сгенерированные векторы. Алгоритм классифицирует сообщение, обрабатывая большое количество образцов, и в процессе кластеризации использует Евклидово пространство для вычисления расстояния между экземплярами.
Обучение и тестирование разработанного метода проводится посредством выполнения следующих действий:
1. Обрабатываются сообщения из обучающего набора данных.
2. Вычисляется классификация каждого вектора с помощью алгоритма «£-ближайших соседей».
3. Применяется «десятикратная перекрестная проверка». Основная идея: образцы делятся на десять наборов и каждый раз, когда один набор классифицируется, девять оставшихся наборов считаются обучающими.
4. Сообщению присваивается класс.
5. Присвоенный класс сравнивается с изначально назначенной классификационной меткой.
На этапах обучения и тестирования использовалась выборка из 500 сообщений. Набор сообщений был разделен на два массива:
1) обучающий, который состоит из 300 сообщений,
2) тестовый, который состоит из 200 сообщений.
Обучающая выборка имеет изначально установленную классификационную метку, присвоенную на втором этапе. Эта метка требуется, так как модель «^-ближайших соседей» учитывает отношение соседних сообщений для классификации тестового образца.
После классификации рассчитываются метрики для оценки эффективности. В качестве показателей эффективности выбраны: точность (precision), полнота (recall) и ^"-метрика. Показатель точность (precision) можно интерпретировать как долю объектов, названных классификатором положительными и при этом действительно являющимися положительными, а показатель полнота (recall) показывает, какая доля объектов положительного класса из всех объектов положительного класса была найдена [4]. Существует несколько различных способов объединить точность (precision) и полноту (recall) в агрегированный критерий качества. -F-мера (в общем случае
F) является одним из этих способов и представляет среднее гармоническое precision и recall:
в в данном случае определяет вес точности в метрике, при в = 1 это среднее гармоническое (с множителем 2, чтобы в случае precision = 1 и recall 1 иметь F = 1), F-мера достигает максимума при полноте и точности, равных единице, и близка к нулю, если один из аргументов близок к нулю [5, 6].
Как только данные метрики достигают удовлетворительных результатов, модель становится готовой для классификации тестового набора. Метрики также подсчитываются при обработке тестового набора для целей аналитики и статистики.
Целью предложенного подхода является выделение и цветовая дифференциация областей на карте с проблемным дорожным трафиком, а также определение причин. Для этого координаты источника сообщения привязываются к цифровой картографической основе и в результате сообщение представляется меткой на карте. Для демонстрации работы метода выбран период наиболее высокой активности дорожного движения, а именно время утреннего часа пик. Исследуемой областью является центральная часть г. Пензы. На рис. 2 показана карта и обработанные сообщения в виде меток.
На карте отображены не все сообщения, но можно заметить, что пользователи активно пишут о дорожной ситуации и отмечают координаты проблемных мест. Анализ показал, что проблемные места в основном находятся в центральном и южном районах города. Это обусловлено тем, что большинство офисных помещений находится в центральной части города, а в южной части дорожная сеть давно не реконструировалась и перегружена.
На карте метками в виде красного креста изображены сообщения, классифицированные как аварии и столкновения. Желтым цветом отмечены сообщения о заторах и пробках. Красным отмечены области с препятствиями и сужениями дорог. Можно заметить, что в районах с повышенным трафиком число дорожных инцидентов больше. С другой стороны, если около дорожного инцидента появляются пробки, то повышается плотность трафика.
Зеленым цветом отмечены сообщения, классифицированные как отзывы о благоприятных дорожных условиях. Таких сообщений меньше, чем сообщений о плотном трафике или инцидентах, и располагаются они вне центральной части города, как правило, на дорогах с новым асфальтовым покрытием и низким трафиком. Это объясняется тем, что для экспериментального исследования метода был выбран наиболее напряженный в плане дорожной обстановки временной промежуток, когда поток машин сконцентрирован в центральной части города. Кроме того, люди больше заинтересованы сообщать о проблемных местах, чтобы выразить возмущение и беспокойство, чем сообщать о нормальной дорожной обстановке.
recall
2. Визуализация результатов кластеризации
Рис. 2. Карта дорожных событий
3. Результаты исследования метода
Для проверки работы метода был выбран набор из 500 сообщений, связанных с дорожной обстановкой в исследуемой области, которые были структурированы и преобразованы в числовые вектора. Каждый из них был первоначально классифицирован путем анализа присутствующих в нем слов с помощью процедуры интеллектуального анализа. Для проверки метода создан тестовый набор из 200 сообщений: 38 из них являются «инциденты», 64 - «препятствия», 30 - «позитивные», 58 - «заторы» и 10 - прочие. На рис. 3 показана диаграмма распределения сообщений по классам.
Оценка эффективности показала, что показатель precision равен 0,92, показатель recall - 0,86, а ^-метрика - 0,69.
В целях сравнения результатов классификации и оценочных метрик был выбран алгоритм Naive Bayes (NB), который работал на том же тестовом наборе. Алгоритм NB выбран в качестве сравнения, поскольку является одним из наиболее популярных для классификации коротких сообщений электронной почты и SMS-сообщений, например, при идентификации спама.
Главным преимуществом алгоритма NB перед «-ближайших соседей», заключается в том, что NB генерирует собственный набор слов и вычисляет распределение слов до классификации данных. Несмотря на преимущества в нашем случае алгоритм NB показал худшие результаты. После тестирования показатель precision равен 0,75, recall - 0,69, F-метрика - 0,7.
Рис. 3. Диаграмма распределения сообщений по классам Заключение
В результате исследований были сделаны следующие выводы:
1. Метод обрабатывает тексты, полученные из социальных сетей, и позволяет классифицировать их с помощью алгоритма машинного обучения.
2. Метод был апробирован для анализа сообщений о событиях в дорожном движении. Однако его можно использовать для анализа и других сообщений, которые связаны с различными аспектами городской жизни, например: экология, реакция граждан на события и т.д.
3. Для анализа использовался набор сообщений из открытых групп, из социальных сетей. Информация из этих источников является достаточно актуальной и, помимо контента, содержит координатную информацию.
4. Набор классифицированных сообщений отражает дорожные события и показывает реакцию жителей, что позволяет использовать его для принятия решений по улучшению транспортной обстановки.
Поскольку муниципальная и научная сферы обеспокоены улучшением жизни людей, важность исследования процессов в городской среде возрастает с каждым годом. Дорожное движение в городе является одним из факторов, влияющих на городскую среду (например, пробки). Данные ситуации могут быть изучены с целью выявления причин и особенностей, а также оповещения аварийных и медицинских служб. Социальные сети являются важным источником информации, поскольку сообщения в них написаны людьми, описывающими события в непосредственной близости от них, причем в контенте хранится реакция участников дорожного движения.
Библиографический список
1. Википедия [Электронный ресурс]. - URL: https://en.wikipedia.org/wiki/Main_Page (дата обращения: 14.01.2018).
2. ВКонтакте [Электронный ресурс]. - URL: https://vk.com (дата обращения: 10.01.2018).
3. Профессиональный информационно-аналитический ресурс, посвященный машинному обучению, распознаванию образов и интеллектуальному анализу данных "MachineLearning.ru". - URL: http://www.machinelearning.ru (дата обращения: 16.01.2018).
4. Мерков, А. Б. Введение в методы статистического обучения / А. Б. Мерков. -Москва : Едиториал УРСС, 2011. - 254 с
5. Блог компании "Open Data Science". - URL: https://habrahabr.ru/company/ods/ (дата обращения: 17.01.2018).
6. Марманис, Х. Алгоритмы интеллектуального Интернета. Передовые методики сбора, анализа и обработки данных / Х. Марманис, Д. Бабенко. - СПб. : Символ-Плюс, 2011. - 480 с.
References
1. Vikipediya. Available at: https://en.wikipedia.org/wiki/Main_Page (accessed Jan. 14, 2018).
2. VKontakte. Available at: https://vk.com (accessed Jan. 10, 2018).
3. Professional'nyy informatsionno-analiticheskiy resurs, posvyashchennyy mashinnomu obucheniyu, raspoznavaniyu obrazov i intellektual'nomu analizu dannykh "Ma-chineLearning.ru" [Professional information and analytical resource dedicated to machine learning, pattern recognition and data mining "MachineLearning.ru"]. Available at: http://www.machinelearning.ru. (accessed Jan. 16, 2018).
4. Merkov A. B. Vvedenie v metody statisticheskogo obucheniya [Introduction to statistical methods]. Moscow: Editorial URSS, 2011, 254 p.
5. Blog kompanii "Open Data Science" [Blog of the "Open Data Science" company]. Available at: https://habrahabr.ru/company/ods/ (accessed Jan. 17, 2018).
6. Marmanis Kh., Babenko D. Algoritmy intelektual'nogo Interneta. Peredovye metodiki sbora, analiza i obrabotki dannykh [Algorithms of the intellectual Internet. Advanced techniques for collecting, analyzing and processing data]. Saint-Petersburg: Simvol-Plyus, 2011, 480 p.
Ляпин Артур Мансурович Lyapin Artur Mansurovich
аспирант, Пензенский государственный Postgraduate student, Penza
университет (Россия, г. Пенза, State University (40 Krasnaya
ул. Красная, 40) street, Penza, Russia)
E-mail: [email protected]
УДК 004.048, 004.428.4 Ляпин, А. М.
Методика сбора и интелектуального анализа коротких сообщений из сети Интернет с целью выявления внештатных ситуаций в дорожно-транспортной инфраструктуре / А. М. Ляпин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2018. - № 2 (46). -С. 27-36. - БОТ 10.21685/2072-3059-2018-2-3.