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

• Блок Business Logic, реализующий логику работы клиентской части приложения в части интеграции с пользовательским интерфейсом (блок GUI), ввода исходных данных поисковых пользовательских запросов, взаимодействие с клиентской БД (реализуемой c использованием библиотеки SQLite), передачу запросов пользователей и получение результатов от серверной части с использованием RESTlike API-интерфейса. Основные функции блока реализованы на языке Objective-C, для взаимодействия с БД (на стороне клиента) используется библиотека SQLite.dylib, а для реализации пользовательских графических интерфейсов (блок GUI на схеме) - набор библиотек Cocoa Touch.

• Блок Internal Storage, включающий БД на стороне мобильного клиента, реализуется c использованием библиотеки SQLite.

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

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

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

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

Литература

1. Риз Д. Облачные вычисления. СПб: Изд-во БХВ-Пе-тербург, 2011.

2. Марк Д., Наттинг Д., Ламарш Д. Разработка приложений для iPhone, iPad и iPod touch с использованием iOS SDK. М.: Издат. дом «Вильямс», 2011.

3. Neuburg M. Programming iOS 5, 2nd Ed., Sebastopol, O'Reilly Media Inc., 2012.

References

1. Reese G., Cloud Application Architectures: Building Applications and Infrastructure in the Cloud, O'Reilly Media, 2009, 204 p.

2. Mark D., LaMarche J., Nutting J., Beginning iPhone 4 Development: Exploring the iOS SDK, NY, Apress, 2011, 674 p.

3. Neuburg M., Programming iOS 5, USA, Sebastopol, O'Reilly Media Inc., 2012.

УДК 004.021

АНАЛИЗ СВЯЗАННОСТИ СЛОЖНО СТРУКТУРИРОВАННЫХ ТЕКСТОВЫХ ДАННЫХ, ХАРАКТЕРИЗУЮЩИХ ПРОЦЕССЫ ФОРМИРОВАНИЯ, РАЗМЕЩЕНИЯ И ИСПОЛНЕНИЯ ГОСУДАРСТВЕННЫХ ЗАКАЗОВ В НАУЧНО-ТЕХНИЧЕСКОЙ СФЕРЕ

С.А. Пономарёв, м.н.с.; М.В. Корецкий, м.н.с.; Д.А. Сытник, к.т.н., генеральный директор; И.Г. Горюнов, к.т.н., с.н.с.

Проведен анализ существующих актуальных задач информационной поддержки административных государственных структур, отвечающих за реализацию федеральных и региональных целевых программ в научно-технической сфере. Описаны основные проблемы используемых способов накопления данных, характеризующих процессы формирования, размещения и исполнения государственных заказов (выполняемых в рамках целевых программ). Для решения данных задач предлагаются разработанные средства смыслового содержательного анализа исходного набора данных государственных контрактов с целью последующего установления связей между ними на основе методов семантического анализа. Проведен сравнительный анализ основных алгоритмов классификации и кластеризации текстовых данных, описано тестовое применение алгоритма LSA/LSI (Latent Semantic Analysis/Indexing) к имею-

щимся данным государственных контрактов научно-технической сферы, приведены необходимые сведения об их исходных характеристиках и о полученных результатах выявления тематически связанных групп (алгоритм реализован на базе разложения исходной диагональной матрицы употребляемости слов в документах по сингулярным значениям). Рассматриваются процедура морфологической обработки исходных текстовых описаний, проведенная с использованием библиотеки морфологического анализа Pymorphy, и процедура исключения стоп-слов, а также наиболее редко и наиболее часто встречающихся слов. Из-за отсутствия в алгоритме LSA/LSI поддержки пересекающихся кластеров обоснованно предложено и описано использование алгоритма нечеткой кластеризации FCM (Fuzzy Classifier Means). Подчеркивается научная новизна ожидаемых результатов, а также определена целевая аудитория конечных пользователей инструментальных программных средств, в которых в перспективе могут быть реализованы результаты работы.

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

THE ANALYSIS OF COMPLEX-STRUCTURED TEXT DATA, THAT CHARACTERIZE PROCESSES OF STATE ORDERS FORMATION, PLACEMENT AND PERFORMANCE IN SCIENCE AND TECHNOLOGY Ponomarev S.A, Junior Researcher; Koretsky M. V., Junior Researcher;

Sytnik D.A, Ph.D., Director General; Goryunov I.G., Ph.D., Senior Researcher

Аbstract. This article shows the analysis of current pressing problems of information support for administrative state structures, which are responsible for implementation of federal and regional programs actions in science and technology. The main problems of data accumulation patterns are shown. This data characterizes the processes of state orders formation, placement and performance (carried out under the program). To solve these problems, the authors propose to develop the method of semantic content analysis of state orders original data set in order to establish links between them based on semantic analysis techniques. Comparative analysis of the basic classification and text data clustering algorithms are shown, test application of the LSA/LSI (Latent Semantic Analysis/Indexing) algorithm for existing reports of state contracts in scientific and technical areas are described, the necessary information about their baseline characteristics and the results with identifying case-related groups are also shown (the algorithm is based on decomposition of the original coined in documents words diagonal matrix by singular value). The morphological processing of raw text descriptions procedure are described in article. It was carried out using Pymorphy, the morphological analysis library. Also this article shows the stop words and the most rare and most commonly used exclusion procedure. The use of FCM (Fuzzy Classifier Means) algorithm are proposed and described, because there are no any support for overlapping clusters in LSA/LSI algorithm. The expected results scientific novelty and end-users target groups of perspective software tools are shown.

Keywords: complex-structured text data, federal program, state orders, text data classification, clustering, semantic analysis, morphological analysis, LSA, FCM algorithm.

Для административных структур государственных заказчиков-координаторов и специализированных дирекций, отвечающих за реализацию мероприятий федеральных и региональных целевых программ в научно-технической сфере, в условиях постоянно растущего объема массива сложно-структурированных данных государственных контрактов (ГК) все более актуальным становится наличие средств информационной поддержки для решения следующих практических задач:

- классификация имеющегося объемного массива данных об информационных объектах процессов размещения и реализации ГК (далее -Объектах) по отраслям науки и техники, а также по прикладному назначению с последующим формированием соответствующих тематических кластеров знаний;

- анализ ретроспективной информации массива данных об Объектах с целью принятия рациональных управленческих решений по реализации мероприятий федеральных и региональных целевых программ в научно-технической сфере;

- анализ ретроспективной информации массива данных об Объектах с целью прогнозирования хода реализации мероприятий федеральных и

региональных целевых программ в научно-технической сфере;

- выявление схожих или идентичных по содержанию материалов различных ГК (дублирование документов или фрагментов документов).

В решении вышеуказанных практических задач следует выделить две основные проблемы.

1. Используемые принципы накопления данных ГК на сегодняшний день не позволяют при необходимости сгруппировать Объекты по их отраслевому и прикладному назначению, обобщить данные ГК по какому-либо специализированному направлению науки или техники. Например, на сегодняшний день отсутствует тематическая классификация контрактов, связанных даже с достаточно широкими техническими областями (микроэлектроника, полупроводниковая электроника, квантовая электроника и т.п.). Существующая классификация позволяет группировать данные только на уровне целевых программ, программных мероприятий и приоритетных направлений (в рамках конкретных программ) (Положение об управлении реализацией ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2012 гг.»).

2. Постоянное увеличение объема массива данных ГК обусловливает необходимость развития средств поиска Объектов по настраиваемым критериям, а также поиска связей между Объектами с целью выявления схожих и связанных Объектов (например, заявок на участие в конкурсе со схожим содержанием, контрактов по схожим тематикам одного и того же исполнителя, организаций, являющихся наиболее активными устоявшимися исполнителями контрактов по определенным тематикам, и т.д.).

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

Рассмотрим основные алгоритмы классификации и кластеризации текстовых данных на предмет применения к данным государственных контрактов Федерального государственного бюджетного научного учреждения «Дирекция научно-технических программ» и проведем их сравнительный анализ по следующим характеристикам:

- возможность работы алгоритма в инкре-ментном режиме - тематическая рубрикация документов одновременно с поступлением их из источника без выполнения каждый раз всего цикла вычислений;

- пересекаемость - возможность попадания одного документа в несколько смежных тематических рубрик;

- возможность использования характеристик о множестве документов, вычисленных заранее, до основного процесса обработки (к таким характеристикам относятся матрица близости между документами similarity matrix, матрица весов документов TF-IDF);

- необходимость обучения алгоритма.

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

LSA/LSI - Latent Semantic Analysis/Indexing. С использованием факторного анализа множества документов выявляются латентные (скрытые) факторы, которые в дальнейшем являются основой для образования кластеров документов.

STC - Suffix Tree Clustering. Кластеры образуются в узлах специального вида дерева - суф-фиксного дерева, которое строится из слов и фраз входных документов.

Single Link, Complete Link, Group Average. Данные алгоритмы разбивают множество документов на кластеры, расположенные в древовидной структуре, получаемой с помощью иерархической агломеративной кластеризации.

Scatter/Gather. Итеративный процесс, сначала разбивающий множество документов на группы, а

затем представляющий эти группы пользователю для дальнейшего анализа. Далее процесс повторяется, но уже над указанными пользователем группами.

K-means. Относится к неиерархическим алгоритмам. Кластеры представлены в виде центроидов, являющихся «центром массы» всех документов, входящих в кластер.

CI - Concept Indexing. Разбивает множество документов методом рекурсивной бисекции, то есть разделяет на две части на каждом шаге рекурсии. Метод может использовать информацию, полученную на этапе обучения.

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

Поясним характеристики рассматриваемых в таблице алгоритмов:

- классификация - это отнесение каждого документа к определенному классу с заранее известными параметрами, полученными на этапе обучения; число классов строго ограничено;

- кластеризация - это разбиение множества документов на кластеры - подмножества, параметры которых заранее неизвестны; количество кластеров может быть произвольным или фиксированным;

- числовые алгоритмы - алгоритмы, использующие для работы числовые характеристики документов (например матрицу TF-IDF или матрицу близости документов Similarity matrix); нечисловые алгоритмы - алгоритмы, использующие непосредственно слова и фразы, составляющие текст.

Матрица TF-IDF (term frequency, inverse document frequency) вычисляется следующим образом:

TF - IDF = log2

(1+1 • Mt ) ,

2 2 m.

где N - количество документов; nt - количество документов, в которые входит термин t (термин -это слово, которое непосредственно влияет на отнесение документа к какой-либо категории); mdt -число вхождений термина t в документ d; md -maxd mdt.

Координаты документов в пространстве терминов записываются в матрицу TF-IDF.

Числовым алгоритмам кластеризации присущи два способа выполнения кластеризации множества документов - top-down и bottom-up. При top-down весь имеющийся объем документов изначально рассматривается как единый кластер, далее происходит его деление на более мелкие составляющие. При bottom-up изначально каждый документ рассматривается как отдельный кластер. В процессе работы наиболее близкие документы объединяются в кластеры, включающие все больше и больше документов.

Из вышеперечисленных алгоритмов первоначально был рассмотрен алгоритм LSA/LSI (алго-

v N У

Алгоритм Вид алгоритма Ограничения Поддержка пересекаемости кластеров Инкре-менталь- ность алгоритма Поддержка числовых характеристик документов Необходимость предварительного обучения

LSA / LSI Числовой, кластеризующий Количество кластеров - + tf-idf -

Suffix Tree Clustering Нечисловой, кластеризующий Нет ограничений + + - -

Single Link, Complete Link, Group Average Числовой, bottom-up, кластеризующий Количество документов в кластере - + Similarity matrix -

Scatter/ Gather Числовой, bottom-up, кластеризующий Количество кластеров - - Similarity matrix -

K-means Числовой, кластеризующий Количество кластеров - - tf-idf -

Concept Indexing -необучаемый вариант Числовой, top-down, кластеризующий Количество кластеров - - Similarity matrix -

Concept Indexing -обучаемый вариант Числовой, классифицирующий Количество кластеров - - Similarity matrix или tfidf +

ритм латентно-семантического анализа, или ЛСА), являющийся одним из наиболее известных алгоритмов, изначально разработанных для выявления семантических структур текстов, фактов смысловой связанности и представления баз знаний. Реализация алгоритма заключается в сравнении множества всех контекстов, в которых употребляются слова или группы слов, и контекста, в которых они не употребляются, что позволяет сделать вывод о степени близости смысла этих слов или групп слов. Также данный алгоритм позволяет успешно преодолевать проблемы синонимии и омонимии, основываясь только на статистической информации о множестве документов и терминов.

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

Пусть А - матрица, где элемент (г, у) отображает употребление слова г в отрывке у [1]. Матрица А будет иметь следующий вид:

tT ^

т, 1 т,

Элемент ху представляет собой количество употреблений г-го слова в у-м отрывке. Каждая строка в этой матрице - это вектор, соответствующий слову и отражающий его употребляемость в каждом документе = [х11 ... х1 п].

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

•ч, j

Таким образом, расположение имеет следую-

щий вид:

('T) -

= (tT) - [[«, ]...[«,]]X

w, - 0 [Vi ]

0

w,

^ J |>/]_

Числа wь ..., называются сингулярными числами, а мь ..., м^ и VI, ..., V правыми и левыми сингулярными векторами соответственно. Следует заметить, что единственная часть матрицы V, которая влияет на элементы вектора ti, - это ее г-я строка. Аналогично на di влияет только у-й столбец иТ, 4.

Если из всех сингулярных значений отобрать k наибольших, получим аппроксимацию исходной матрицы векторами ранга k. Такое разложение обладает следующей особенностью: если в матрице Ш оставить только k наибольших сингулярных значений, а в матрицах и и V - только соответствующие этим значениям столбцы, произведение получившихся матриц Ш, и и V будет наилучшим приближением исходной матрицы А к матрице А ранга k.

В рамках НИР была проведена экспериментальная проверка использования алгоритма ЛСА

x

m, j

x

x

1.1

1.И

x

x

m.i

m.n

X

X

X

1,1

1 ,n

для анализа имеющихся данных о заключенных контрактах научно-технической сферы.

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

В этой структуре очевидными недостатками исходных данных являются периодически встречающееся дублирование данных в описаниях, разнородность описаний контрактов по объему текста и наличие незаполненных полей.

В качестве исходных данных были взяты 4 212 анализируемых контрактов, 1 561 контракт с пустыми общими описаниями работ, 1 283 контракта с пустыми описаниями работ по этапам выполнения контракта.

На первом этапе проводилась морфологическая обработка исходных текстовых описаний:

- все слова, встречающиеся в описаниях контрактов, были приведены к нормальной форме с использованием библиотеки морфологического анализа Pymorphy, реализованной на языке программирования Python (распространяется по лицензии свободного программного обеспечения MIT);

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

С учетом проведенной морфологической обработки анализируемые тексты имели следующие характеристики (в символах): минимальная длина текста - 10, максимальная длина текста - 1 118, средняя длина текста - 149, дисперсия длин текстов - 11 207,26.

На следующем этапе исключались наиболее редко и наиболее часто встречающиеся слова. Например, если слово встречается в 3 736 документах (максимальное выявленное значение, составляет 88 % от общего числа документов), то оно не влияет на классификацию документов по тематикам.

Далее приводится список найденных слов с максимальной частотой вхождений (указывается количество документов, в которые слово вошло не менее одного раза): исследование - 3 736, разработка - 3 727, провести - 3 597, разработать -3 533, проведение - 3 314, анализ - 2 699, патентный - 2 467, результат - 2 389, метод - 2 371, основа - 2 194, работа - 2 188, методика - 2 103, создание - 2 090, материал - 1 966, система -1 932, экспериментальный - 1 912, оценка - 1 902, использование - 1 899, технический - 1 883, документация - 1 866.

В документах научно-технической сферы данные слова не влияют на классификацию.

Слова, встречающиеся крайне редко, тоже следует исключить из исходных текстов. Подбор верхней и нижней границ частот осуществляется эмпирически экспертом и индивидуален для каждой тематики документов. Для исследуемых данных были отобраны слова, значения частот вхождения которых составили от 10 до 600. Изначально в документах содержалось 34 516 слов, исключение редко и часто встречающихся слов сократило объем слов, используемых при классификации, до 4 200.

Далее была заполнена и нормализована (методом TF-IDF) матрица употребляемости отобранных слов в документах, проведено ее сингулярное разложение. Подбор ранга для полученных в результате разложения ортогональных и диагональной матриц (понижение ранга) осуществлялся также эмпирически:

1 000 - хорошо находит похожие тексты, но не выявляет тематическое сходство;

600 - выявляется тематическое сходство, но заметно существенное влияние «шумов»;

300 - наиболее успешно выявляются тематически связанные группы слов и текстов;

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

В итоге при наиболее успешном варианте понижения ранга до 300 было выявлено 60 тематических групп слов. В каждой из групп содержалось от 4 до 15 слов. Группы, включающие менее 4 слов, не рассматривались, так как не имели смысловой практической значимости.

Приведем примеры найденных тематических групп слов, подтверждающих возможность применения метода ЛСА для поставленных задач. Группа 1: преподаватель, рассмотрение, совет, ученый, школа, молодой. Группа 2: жилой, сооружение, энергопотребление, отопление, здание. Группа 3: больной, лечение, ранний, мозг, пациент, патология, аппаратно-программный. Группа 4: сервис, облако, высокоскоростной, трафик, реальный, сетевой, атака, облачный.

Одним из главных недостатков метода ЛСА является отсутствие поддержки пересекающихся кластеров, то есть при кластеризации текстов отсутствует потенциальная возможность включения документа в несколько кластеров. Таким образом, в рамках исследуемой предметной области отсутствует возможность отнести контракт к нескольким тематикам одновременно (что встречается на практике).

По этой причине, помимо алгоритма ЛСА (и других методов, приведенных в таблице), был рассмотрен наиболее распространенный FCM-ал-горитм нечеткой кластеризации (Fuzzy Classifier

Means, Fuzzy C-Means), обеспечивающий обработку данных ситуаций. Найденные алгоритмом кластеры представляются нечеткими множествами, границы между кластерами также являются нечеткими.

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

Для заданного множества К входных векторов хк и N выделяемых кластеров Cj предполагается, что любой хк принадлежит любому Cj с принадлежностью интервалу [0, 1], где j - номер кластера; k - номер входного вектора [2].

Принимаются во внимание следующие условия

N

нормирования для |jk: jk = 1, Vk = 1,..., K,

j=i

0 < fpjk < K, Vj = 1, ..., N.

k=1

Цель алгоритма - минимизация суммы всех взвешенных расстояний ||xk - cj|:

N K

jk )Q||x - cj || ^ min, где Q - фиксиро-

j= 1 k=1

ванный параметр, задаваемый перед итерациями.

Для достижения вышеуказанной цели необходимо решить следующую систему уравнений:

д/

Ж,

ZZ 0* )Q

V *=1 k =1

Л

=0,

д/

<де , XX) IK - C|| = 0 •

^ M k=1 У

Совместно с условиями нормирования ц,к данная система дифференциальных уравнений имеет

iN I \в

такое решение: c j =

S h ) S L ta)Q

(взвешенный

центр гравитации) и ц jk = -

^ j=1

Л •

V1)

На каждом итерационном шаге выполнения алгоритма осуществляются:

14 -

1) регулирование позиций с> центров кластеров;

2) корректировка значений принадлежности Ц|к; учитывая известные с> , вычисляются , если хк Ф с, в противном случае ц= I ' ^ \

3) проверка условия остановки алгоритма.

Алгоритм нечеткой кластеризации останавливается при выполнении следующего условия: < £, где У II - матричная норма (например Евклидова норма), е - заранее задаваемый уровень точности.

На данный момент проводятся экспериментальные исследования использования алгоритма применительно к имеющимся данным ГК.

Научная новизна ожидаемых результатов будет заключаться в следующем:

- применение алгоритмов классификации и кластеризации текстовой информации для классификации имеющегося объемного массива данных ГК по отраслям науки и техники (включая построение классификатора);

- реализация анализа связанности данных ГК на основе семантического анализа, обеспечивающей возможность выявлять схожие или идентичные по содержанию материалы различных контрактов (документов), а также группировать и фильтровать классифицированную информацию об Объектах по настраиваемым семантическим факторам.

Результаты работ, реализованные в виде инструментального программного средства, могут использоваться административными структурами государственных заказчиков-координаторов и специализированных дирекций, отвечающих за реализацию мероприятий федеральных и региональных целевых программ в научно-технической сфере, в качестве инструмента поддержки принятия управленческих решений и прогнозирования хода реализации мероприятий целевых программ в научно-технической сфере, а также выявления схожих или идентичных по содержанию материалов различных ГК; представителями инвестиционных организаций для информационного обеспечения выбора направлений инвестиций в научно-технической сфере; участниками проектов в научно-технической сфере для систематизации и классификации массива данных ГК по интересующему отраслевому и прикладному назначению.

Литература

1. Михайлов Д.В. Семантическая кластеризация текстов предметных языков (морфология и синтаксис) // Компьютерная оптика. 2009. Т. 33. Вып. 4. С. 473-480.

2. Miyamoto S., Ichihashi H., Honda K. Algorithms for Fuzzy Clustering: Methods in C-Means Clustering with Applications. Springer 2008, 247 p.

References

1. Mihajlov D.V., Kompyuternaya optika, 2009. Vol. 33, Iss. 4, pp. 473-480.

2. Miyamoto S., Ichihashi H., Honda K., Algorithms for Fuzzy Clustering: Methods in C-Means Clustering with Applications, Springer 2008, 247 p.

xk — c j