Russian Federation
Russian Federation
The article presents the author's algorithm for multi-criteria analysis of textual information, the main purpose of which is to increase the efficiency of emergency services, including the Ministry of Emergency Situations of Russia. This algorithm is based on a comprehensive assessment of information coming from social networks using a range of different types of heterogeneous data studies. The developed algorithm will speed up data collection, optimize their analysis, develop preventive scenarios for possible incidents, as well as reduce resource costs, optimize management proposals and justify decisions made.
social network, accident forecasting, data analysis, algorithm, efficiency, text information
Современные мегаполисы ежедневно сталкиваются с широким спектром происшествий различного характера и масштаба. От скорости реагирования на данные вызовы зависит как степень их развития, так и ущерб во всех его аспектах [1, 2]. Одним из ведомств, занимающихся реагированием на чрезвычайные ситуации, является МЧС России. От технического и информационного обеспечения деятельности министерства зависит успех ликвидации происшествий, своевременное реагирование, а также выполнение превентивных мероприятий [3, 4].
В сегодняшнем мире цифровых технологий огромную роль играет информация, её точность и скорость получения, а также обработки. В настоящее время система МЧС России обладает множеством различных баз данных, получение, обработка и объединение которых могло бы составить единую централизованную сеть, способную анализировать, измерять разнообразную информацию о происшествиях [5, 6], в том числе об её концентрации и зависимостях, например, от территории поступления сигнала.
Обладая достоверными источниками данных, необходимо также иметь средство получения и анализа информации из них, которое позволит обрабатывать весь огромный массив, выделяя только тематически релевантную информацию и предоставляя её в удобном для анализа виде оператору.
В этих целях в настоящей статье представлен авторский алгоритм многокритериального анализа текстовой информации, применение которого в работе сотрудников МЧС России позволит значительно облегчить сбор большого количества данных, оптимизировать их анализ, разработать сценарии превентивного характера для возможных происшествий, а также сократить расходы ресурсов (временных, финансовых и др.), оптимизировать управленческие предложения, обосновывать принятые решения, основываясь на конъюнктуре большого числа параметров и математического аппарата.
Методы исследования
Сложность анализа естественного языка заключается в том, что данные, подающиеся на вход, являются не структурированными, поэтому при анализе текстов возникают следующие проблемы:
– неоднозначность на уровне слов (некоторые слова имеют несколько значений);
– неоднозначность на уровне предложений (одно и то же слово может быть разными частями речи);
– флективность (изменение формы слова с помощью приставок, суффиксов, окончаний, также к этому относится падеж, число, род, время и вид);
– свободный порядок слов в предложении.
Для исключения выявленных проблем в предлагаемом алгоритме используются механизмы обработки естественного языка, которые состоят из графематического, морфологического, семантического, синтаксического и прагматического анализа текстовой информации.
Графематический анализ выделяет элементы структуры текста и является первым шагом при обработке естественного языка, в результате которого происходит декомпозиция текста на токены. Этапами проведения графематического анализа являются:
– сегментация текста на абзацы;
– сегментация каждого абзаца на предложения (основной сложностью данного этапа является то, что точки не всегда являются свидетельством об окончании предложения, например, инициалы, сокращение имени организации, название продукта через точку);
– сегментация предложений на слова. Для осуществления данного процесса существует несколько подходов: декомпозиция по пробелам, декомпозиция по знакам препинания, разделение на слова с полным удалением знаков препинания, деление на символы, разделение предложения на части слов (наиболее популярными алгоритмами являются Byte-Pair Encoding, WordPiece, Unigram и SentencePiece);
– приведение слов к нижнему регистру;
– удаление знаков препинания;
– удаление стоп-слов (как правило, это предлоги, союзы и т.д.).
Морфологический анализ представляет собой второй этап в обработке текста. Он позволяет определить морфологические характеристики для каждого из выделенных слов текста и определяет их нормальную форму (лемму).
Морфологический анализ обладает следующими ключевыми понятиями:
– словоформа (слово в тексте);
– лемма (словарная или каноническая форма слова);
– основа слова (грамматическая характеристика слова: время, род, часть речи, время и т.д.);
– лексема (набор всех форм одного слова).
Также на этапе морфологического анализа используется стемминг – каждое слово в тексте заменяется на основу слова. В некоторых случаях стемминг показывает лучшие результаты, чем при лемматизации, но на практике чаще всего применяется последнияя, так как она сохраняет больше информации из текста. Процессу лемматизации присуща лексическая и морфологическая неоднозначность, которая выражается в том, что одному слову могут соответствовать несколько лемм. Данная задача решается на следующем этапе – при синтаксическом анализе. В программной реализации данного этапа на языке программирования «Python» чаще всего используются библиотеки «pymorphy2» и «mystem».
Синтаксический анализ позволяет снять неоднозначность, которая возникает на морфологическом уровне, дополняя его результаты и формируя «дерево разбора предложения» (структура, элементы которой связаны синтаксическими правилами). Основными способами построения дерева синтаксического разбора являются: деревья зависимостей и деревья составляющих. Вершинами дерева зависимостей являются слова, а дугами – связи (зависимости) между словами, корневой вершиной является глагол. Наиболее эффективными библиотеками, используемыми для синтаксического анализа, являются: «spaCy» и «Natasha».
Следующим уровнем анализа текста является семантический анализ, который служит переходом от структуры синтаксических связей к ее смысловой интерпретации. На вход данного этапа подается синтаксическая структура текста, представленная в виде деревьев разбора, а на выходе формируется множество семантических структур, построенных в соответствии с принятой формальной нотацией (семантической моделью).
Завершающим этапом анализа текстов является прагматический анализ, который по своей структуре и методам похож на семантический. Принципиальной разницей между ними является то, что семантический анализ представляет собой процесс извлечения смысла текста на основе некоторой модели знаний, а прагматический анализ выходит за рамки моделей о предметной области и зачастую опирается на экстралингвистические факторы, такие как намерения автора, социальный контекст высказывания и т.д.
Предлагаемый в настоящем параграфе алгоритм включает в себя все рассмотренные виды анализа текста и состоит из трех этапов:
Этап 1 – Фильтрация данных.
Этап 2 – Смысловой анализ данных (включает в себя графематический, морфологический и синтаксический анализ текста).
Этап 3 – Анализ уровня эмоциональной напряженности (включает в себя семантический и прагматический анализ текста).
На первом этапе производится фильтрация поступающих данных из социальных сетей по определенным параметрам, таким как: временной интервал публикации сообщений, геопозиция автора, геопозиция места происшествия, фильтрация по тегам и т.д.
На втором этапе отобранные данные с первого этапа анализируются по смысловой нагрузке – производится поиск сообщений, по ключевым словам и словосочетаниям с целью составления выборки, например, по определенному происшествию.
На третьем этапе собранные данные анализируются по уровню эмоциональной нагрузки, выделяются сообщения с повышенной эмоциональной насыщенностью.
Рассмотрим более подробно способы получения данных и информационные процессы на каждом этапе.
На первом этапе, при получении оператором МЧС России списка сообщений из подтвержденных источников социальных сетей о происшествиях, они отправляются в систему фильтрации по заданным критериям (время публикации , геопозиции , тегам и т.д.):
После проведения фильтрации переходим на второй этап, где происходит сегментация текста на абзацы, затем на предложения и слова (токены). Полученные токены приводятся к нижнему регистру, удаляются знаки препинания и «стоп-слова». Затем слова приводятся к нормальной форме или к основе (лемматизация). Далее вычисляется ряд индикаторов, позволяющих ранжировать выделенные слова и словосочетания, а вместе с ними и сообщения:
1) индикатор дивергенции Кульбака-Лейблера [7] позволяет провести сравнение распределения терминов (реальное и теоретическое). Рассчитывается с помощью формулы:
где – реальное распределение термина; – вероятность найти термин во множестве исследуемых сообщений относительно длины определенного сообщения d, вычисляется с помощью формулы:
,
где – сумма терминов в сообщении d; – сумма терминов x во всем массиве сообщений D; – вероятность появления термина z в документе d, вычисляется с помощью формулы:
,
где – вероятность употребления термина z в сообщении d; – вероятность употребления термина z в массиве сообщений D;
2) индикатор информационной энтропии характеризует равномерность распределения термина по сообщению, вычисляется с помощью формулы:
Если данный показатель , то термин равномерно представлен в коллекции документов, если , то термин z встречается только в одном тексте или сообщении;
3) индикатор выделения общеупотребительных слов [8] демонстрирует отличие распределения терминов z в эталонном массиве. Индикатор вычисляется по формуле:
где – относительная частота встречаемости термина в эталонном массиве; – относительная частота встречаемости термина в Национальном корпусе русского языка.
Данный индикатор позволяет выделить большую часть общих слов, если они представлены на портале. Для общеупотребительных терминов индикатор имеет значение около 1, а для малоупотребительных >> 1;
4) индикаторы, основанные на распределении Бернулли [9], вычисляются с помощью сравнения реального распределения терминов в массиве с теоретическим распределением Бернулли по формулам:
где – количество документов в массиве, содержащих термин z; рассчитывается по формулам:
;
5) индикатор Флеша-Кинсайда [10] оценивает читабельность текста с помощью формулы:
где a – количество слов в документе; b – количество предложений в документе; c – количество слогов в документе.
Чем выше полученное значение, тем легче восприятие информации;
6) индикатор семантического алгоритма Гинзбурга [11] определяет семантическую близость двух терминов относительно их окружения в пределах сообщения. Индикатор вычисляется с помощью формулы:
где – встречаемость термина z со словом c; – общее число терминов в массиве сообщений; – сумма терминов в окружении термина c; – встречаемость термина z в массиве сообщений.
Индекс значимости рассчитывается для всех терминов Z, встречающихся в определенном предложении C. Если > 1 – то данный показатель значим при расчёте. Индикатор связанности по Гинзбургу [11] определяет силу семантической связи между двумя словами. Рассчитывается на основе индексов значимости по формуле:
где – сумма индексов значимости с термином Z >1 | Z ∉ C; – сумма абсолютных значений разностей индексов значимости в общей части; – сумма индексов значимости с термином C >1 | C ∉ Z; – сумма всех индексов значимости больших 1.
Значения индикатора связанности по Гинзбургу лежат в интервале (0 – слова не связаны, 1 – слова связаны максимально).
Далее, с помощью полученных значений производится отбор сообщений и текстов. Оператору представляется отфильтрованный список по требуемой теме. Результаты тематического поиска могут содержать большое число сообщений и текстов, с целью их сокращения и конкретизации под установленные задачи (например, срочность, неотложность) запускается третий модуль, основанный на оценке эмоциональности сообщений. Данный модуль позволяет выделить эмоционально насыщенные тексты и сообщения, которые могут свидетельствовать о критической ситуации, в которой находится автор. Полученные данные после ранжирования передаются оператору.
Для оценки уровня эмоционального напряжения (степени возбуждения автора в момент написания текста) используется набор маркеров, mi,– отдельный маркер, n – мощность множества ) [12–14]:
– соотношение количества глаголов к количеству существительных в единице текста ;
– соотношение количества глаголов к количеству прилагательных в единице текста ;
– соотношение суммы существительных и глаголов к сумме прилагательных и наречий в единице текста ;
– соотношение предлогов к общему количеству слов в единице текста ;
– соотношение существительных и прилагательных к количеству глаголов и причастий в единице текста ;
– соотношение предлогов к общему количеству предложений в единице текста ;
– наличие ненормативных слов ;
– количество слов в тексте ;
– средний размер предложений;
– количество знаков восклицания в документе ;
– наличие иконок с эмоциями .
Также имеется список коэффициентов, которые наиболее сильно отражают эмоциональную возбужденность [15–17]:
– коэффициент агрессивности вычисляется с помощью следующей формулы (нормальное значение не превышает 0,6):
где V – количество глаголов; Vf – количество глагольных форм (причастий и деепричастий); – общее количество всех слов;
– коэффициент Трейгера вычисляется с помощью следующей формулы (оптимальное значение, близкое к единице):
где A – количество прилагательных;
– коэффициент определенности действия, вычисляется с помощью следующей формулы (оптимальное значение, близкое к единице):
где – количество существительных.
Данные маркеры и коэффициенты имеют общие характеристики при диагностировании, а именно: если их значения завышены, то у автора имеется эмоциональное беспокойство или волнение.
Результаты исследования и их обсуждение
Перейдём к пошаговому описанию алгоритма:
Шаг 1 – Проведение фильтрации всего массива поступающих данных по времени публикаций, геопозиции, тегам и т.д. с помощью формулы (1).
Шаг 2 – Выборка кандидатов N сообщений для анализа.
Шаг 3 – Сегментация текста на абзацы .
Шаг 4 – Сегментация текста на предложения .
Шаг 5 – Сегментация текста на слова .
Шаг 6 – Приведение слов к нижнему регистру .
Шаг 7 – Удаление знаков препинания и стоп-слов .
Шаг 8 – Проведение лемматизации .
Шаг 9 – Вычисление индикаторов.
Шаг 9.1 – Проведение сравнения распределения терминов в тексте с помощью дивергенции Кульбака–Лейблера по формуле (2).
Шаг 9.2 – Оценка равномерности распределения термина по сообщению с помощью информационной энтропии по формуле (3).
Шаг 9.3 – Выделение общеупотребительных слов с помощью формулы (4).
Шаг 9.4 – Вычисление ключевых терминов с помощью распределения Бернулли по формуле (5).
Шаг 9.5 – Оценка читабельности текста с помощью индикатор Флеша-Кинсайда по формуле (6).
Шаг 10 – Если проверены все сообщения переход на шаг 11, если нет, возврат к шагу 2.
Шаг 11 – Нормализация полученных значений индикаторов для вычисления единого значения по каждому кандидату.
Шаг 12 – Ранжирование полученных значений по каждому кандидату.
Шаг 13 – Инициализация терминов наивысшего ранга, как ключевые термины.
Шаг 14 – Формирование на основе ключевых терминов биграмм и триграмм.
Шаг 15 – Вычисление биграмм и триграмм.
Шаг 15.1 – Определение силы семантической связи между словами с помощью семантического алгоритма Гинзбурга по формуле (7, 8).
Шаг 16 – Ранжирование полученных значений по каждому словосочетанию.
Шаг 17 – Выбор биграмм и триграмм с наивысшим значением ранга, присвоение им значения – ключевые.
Шаг 18 – Фильтрация полученных результатов с применением «стоп-слов».
Шаг 19 – Вывод ключевых слов и словосочетаний.
Шаг 20 – Оценка эмоциональной нагрузки сообщения (расчет значений маркеров).
Шаг 20.1 – Расчет соотношения количества глаголов к количеству существительных в единице текста .
Шаг 20.2 – Расчет соотношения количества глаголов к количеству прилагательных в единице текста .
Шаг 20.3 – Расчет соотношения суммы существительных и глаголов к сумме прилагательных и наречий в единице текста .
Шаг 20.4 – Расчет соотношения предлогов к общему количеству слов в единице текста .
Шаг 20.5 – Расчет соотношения существительных и прилагательных к количеству глаголов и причастий в единице текста .
Шаг 20.6 – Расчет соотношения предлогов к общему количеству предложений в единице текста .
Шаг 20.7 – Проверка на наличие ненормативных слов .
Шаг 20.8 – Вычисление количества слов в тексте .
Шаг 20.9 – Вычисление среднего размера предложений .
Шаг 20.10 – Вычисление количества знаков восклицания в документе .
Шаг 20.11 – Определение наличия иконок с эмоциями .
Шаг 20.12 – Определение коэффициента агрессивности по формуле (9).
Шаг 20.13 – Определение коэффициента Трейгера по формуле (10).
Шаг 20.14 – Определение коэффициента определенности действия по формуле (11).
Шаг 21 – Если проверены все тексты переход к шагу 22, если нет – возврат на шаг 19.
Шаг 22 – Нормализация полученных с помощью маркеров значений.
Шаг 23 – Ранжирование текстов и сообщений по эмоциональной нагрузке.
Шаг 24 – Вывод результатов оператору.
Конец алгоритма.
Схема алгоритма семантического, синтаксического и прагматического анализа текстовой информации представлена на рисунке.
Рис. Схема алгоритма семантического, синтаксического и прагматического анализа
текстовой информации
Таким образом, представленный в настоящей статье алгоритм многокритериального анализа текстовой информации позволяет провести оценку данных с помощью графематического, морфологического, синтаксического, семантического и прагматического анализа, что дает возможность облегчить сбор большого количества данных, оптимизировать их анализ, разработать сценарии превентивного характера для возможных происшествий природного и техногенного типа, а также сократить расходы ресурсов (временных, финансовых и др.), оптимизировать управленческие предложения, обосновывать принятые решения, основываясь на конъюнктуре большого числа параметров и математического аппарата.
Заключение
Разработанный алгоритм многокритериального анализа текстовой информации позволит повысить эффективность работы экстренных служб, в том числе и МЧС России за счёт всесторонней оценки данных с помощью спектра механизмов, в которые входят графематический, морфологический, синтаксический, семантический и прагматический анализ.
В дальнейшем планируется разработка программного продукта на основе представленного в настоящей статье алгоритма, что позволит автоматизировать процесс обработки информации.
1. Vostryh A.V., Shurakova D.G. Komponenty special'noj informacionnoj tekhnologii postroeniya optimal'nyh marshrutov // Aktual'nye problemy infotelekommunikacij v nauke i obrazovanii (APINO 2018): sb. nauch. statej VII Mezhdunar. nauch.-tekhn. i nauch.-metod. konf. 2018. S. 213-218.
2. Vodnev S.A., Matveev A.V. Ocenka effektivnosti reagirovaniya avarijno-spasatel'nyh sluzhb na chrezvychajnye situacii na transporte // Problemy upravleniya riskami v tekhnosfere. 2019. № 2 (50). S. 110-117. EDN XDDTYZ.
3. Matveev A.V., Maksimov A.V., Popivchak I.I. Perspektivnye napravleniya informacinno-analiticheskoj deyatel'nosti v oblasti obespecheniya pozharnoj bezopasnosti // Geopolitika i bezopasnost'. 2015. № 2 (30). S. 113-117. EDN VMLYLY.
4. Matveev A., Maksimov A., Vodnev S. Methods improving the availability of emergency-rescue services for emergency response to transport accidents // Transportation Research Procedia. SPb.: Elsevier, 2018. P. 507-513. DOI:https://doi.org/10.1016/j.trpro.2018.12.137 EDN: AWTRJK.
5. Vostryh A.V. Model' opisaniya pol'zovatelej social'nyh setej // Aktual'nye problemy matematiki i informacionnyh tekhnologij: sb. materialov IV Vseros. konf. s mezhdunar. uchastiem. 2023. S. 48-51.
6. Vostryh A.V. Analiz effektivnosti informacionnyh sistem, ispol'zuemyh sotrudnikami MCHS Rossii // Aktual'nye problemy obespecheniya bezopasnosti v Rossijskoj Federacii: sb. materialov Dnej nauki s mezhdunar. uchastiem, posvyashch. 90-letiyu Grazhdanskoj oborony Rossii. Ekaterinburg, 2022. S. 62-66.
7. Rabinovich A.E., August A.V. Application of Big Data technology in the field of railway communication // Original research. 2021. Vol. 11. P. 155-161.
8. Taduri A. Railway assets: a potential area for big data analysis // Procedia Computer Science. 2015. Vol. 53. P. 457-467.
9. Eremenko K. Working with data in any field. How to reach a new level using analytics. M.: Alpina Publisher, 2019. 304 p.
10. Stevens-Davidovits,S. Everyone lies. Search engines, big data and the Internet know everything about you. M.: Eksmo, 2018. 384 p.
11. Gudovskikh D.V., Moloshnikov I.A., Rybka R.B. Analysis of emotivity of texts based on psycholinguistic markers with determination of morphological properties // Bulletin of the Vsu. series: linguistics and intercultural communication. 2015. № 3. P. 92-97.
12. Pang B., Lee L. Collecting opinions and analyzing moods // Fundamentals and trends in the search for information. 2008. Vol. 2. № 1/2. P. 543-561.
13. Leontiev A.A. Fundamentals of psycholinguistics. SENSE. 1997. 287 p.
14. Sadegh M. Collecting Opinions and sentiment Analysis: A Survey // In: International Journal of Computers and Technologies. 2012. P. 171-178.
15. Beigi G. Overview of sentiment analysis in social networks and its application in disaster relief // In: Sentiment analysis and ontology development. Springer. 2016. P. 313-340.
16. Mika V.M., Graziotin D., Kuutila M. The evolution of sentiment analysis - an overview of research topics, venues and the most cited articles // In: Computer Science Review 27. 2018. P. 16-32.
17. Mikolov T. Distributed representations of words and phrases and their compositionality // In: Achievements in the field of neural information processing systems. 2013. P. 3111-3119.