Методы и средства управления научной

advertisement
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИМЕНИ М.В. ЛОМОНОСОВА
Механико-математический факультет
На правах рукописи
Голомазов Денис Дмитриевич
Методы и средства управления научной информацией
с использованием онтологий
Специальность 05.13.17 — теоретические основы информатики
Диссертация на соискание ученой степени
кандидата физико-математических наук
Научный руководитель:
доктор физико-математических наук,
профессор В.А. Васенин
Москва — 2012
Оглавление
Введение
4
1 Учет и анализ научной информации
10
1.1
Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.2
Методы и средства управления научной информацией . . . . . . . . . . . . . . . .
12
1.3
Системы управления научной информацией . . . . . . . . . . . . . . . . . . . . . .
13
1.3.1
Крупные веб-сервисы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
1.3.2
Зарубежные исследовательские проекты . . . . . . . . . . . . . . . . . . . .
18
1.3.3
Российские семантические системы . . . . . . . . . . . . . . . . . . . . . . .
24
Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
1.4
2 Архитектура системы учета и анализа научной информации
36
2.1
Онтологический подход к представлению знаний . . . . . . . . . . . . . . . . . . .
36
2.2
Модель и архитектура системы учета и анализа научной информации . . . . . . .
40
2.3
Выделение терминов, характеризующих область знания . . . . . . . . . . . . . . .
42
2.4
Построение онтологии области научного знания . . . . . . . . . . . . . . . . . . . .
47
2.5
Загрузка данных в систему . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
2.6
Установление связей между загруженными данными и онтологией области научного знания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
2.7
Выполнение аналитических запросов к данным . . . . . . . . . . . . . . . . . . . .
59
2.8
Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
3 Алгоритмы выделения терминов и построения онтологии области знания
3.1
3.2
69
Алгоритм Brainsterm выделения терминов из коллекции текстов с заданным тематическим делением . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
3.1.1
Математическая модель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
3.1.2
Пространственный критерий . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
3.1.3
Критерий частотности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
3.1.4
Критерий характерности . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
3.1.5
Критерий значимых рубрик . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
Алгоритм Sonmake построения онтологии области научного знания . . . . . . . .
79
2
3.3
3.2.1
Построение множества имен понятий . . . . . . . . . . . . . . . . . . . . . .
81
3.2.2
Выделение терминов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
3.2.3
Фильтрация терминов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
3.2.4
Выявление ассоциативных отношений . . . . . . . . . . . . . . . . . . . . .
84
3.2.5
Построение иерархии терминов . . . . . . . . . . . . . . . . . . . . . . . . .
84
3.2.6
Перевод терминов на русский язык . . . . . . . . . . . . . . . . . . . . . . .
86
3.2.7
Разбиение терминов на категории . . . . . . . . . . . . . . . . . . . . . . . .
87
Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
4 Программная реализация и анализ эффективности базовых алгоритмов
4.1
4.2
91
Программная реализация и исследование эффективности алгоритма выделения
терминов Brainsterm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
4.1.1
Методика оценки эффективности . . . . . . . . . . . . . . . . . . . . . . . .
92
4.1.2
Результаты тестирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
94
4.1.3
Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Программная реализация и исследование эффективности алгоритма построения
онтологии Sonmake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.2.1
4.3
Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5 Программная система учета и анализа научной информации ИСТИНА
112
5.1
Особенности программной реализации . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.2
Результаты практической апробации . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.3
Соответствие прототипа системы предъявляемым требованиям . . . . . . . . . . . 119
5.4
Дальнейшее развитие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.5
Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Заключение
146
Список использованных источников
148
Приложения
155
А. Требования к качеству программной системы управления научной информацией . . 155
Б. Описание сервиса WikiCFP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
В. Выделение информации из неструктурированных текстов . . . . . . . . . . . . . . . 163
Г. Использование онтологий для выделения информации . . . . . . . . . . . . . . . . . 170
Д. Описание языка SPARQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Е. Описание используемых алгоритмов . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Ж. Политика информационной безопасности в системе ИСТИНА . . . . . . . . . . . . 183
3
Введение
Актуальность
Для улучшения работы научных организаций и, как следствие, повышения эффективности
развития науки в масштабах государства необходимо перманентно анализировать информацию о результатах деятельности отдельных ученых и коллективов исследователей. Основными
результатами деятельности организаций, входящих в научное сообщество, как правило, считаются публикации сотрудников, результаты патентных исследований, участие в конференциях, руководство курсовыми, дипломными и диссертационными работами, чтение лекций и ряд
других. При этом, как показывает практика, далеко не все результаты такой деятельности
представлены в открытом доступе в Интернет. Зачастую единственным источником подобной
информации могут служить лишь годовые отчеты сотрудников научных организаций, представленные с той или иной степенью подробности. Естественным образом возникает необходимость
автоматизированной (с участием человека) обработки данных из подобных научных отчетов в
целях количественного и качественного анализа эффективности научной деятельности отдельного коллектива, вклада каждого его участника и возможной корректировки планов, мер и
мероприятий на основе такого анализа. Целями проведения анализа могут быть следующие.
• Сравнение данных о работе подразделения с данными других подразделений, в том числе – зарубежных, которые работают на рассматриваемом направлении.
• Интеграция данных о работе подразделения с данными других подразделений в целях
анализа развития науки в рамках структур корпоративного масштаба и по стране в целом.
• Корректировка финансирования подразделений, поощрения отдельных их членов на основе результатов научных достижений.
• Публикация обзорных аналитических статей, посвященных научным достижениям организации.
• Получение интегрированной информации о направлении исследований в отдельной области знания, например, список основных публикаций, задач, методов, уровень активности
ученых, ключевые персоны и конференции на этом направлении.
Такая информация может представлять интерес для исследователя, которому необходимо
получить первое, общее представление о еще недостаточно знакомом научном направлении.
4
Инструментом аналитика, целью которого является получение адекватного представления
о деятельности организации или объединения нескольких организаций, могут служить результаты выполнения аналитических запросов к системе, занимающейся загрузкой, обработкой и
хранением информации о научной деятельности работающих в них сотрудников. Примером такого запроса может служить «найти все публикации сотрудников интересующего учреждения
за последний год, посвященные вопросам выделения данных из неструктурированных текстов
и включенные в материалы международных конференций».
В качестве предмета исследования и анализа в диссертации выступает научная информация,
которая определяется как совокупность данных, характеризующих результаты деятельности
отдельных научных сотрудников. К такой информации относятся данные о научных статьях,
которые включают их названия, списки авторов, места публикации и другие сведения, книгах,
патентах, докладах на конференции и других видах научной деятельности.
Побудительным мотивом и конечной целью исследований, результаты которых представлены в настоящей диссертации, является создание интеллектуальной программной системы для
поиска, систематизации и анализа научной информации. Отметим еще одну проблему, решению которой способствует создание такой системы. По состоянию на июль 2011 года среди первых 800 позиций авторитетного рейтинга Webometrics1 , который оценивает информативность
веб-сайтов университетов мира, из российских вузов был лишь МГУ имени М.В. Ломоносова,
занявший 304 место. Как указано в работе [1], этот факт связан с тем обстоятельством, что по
разным причинам в России в значительно меньшей степени, чем за рубежом, распространена
практика публикации в Интернет работ сотрудников научных организаций. Информация, содержащаяся в системе учета и анализа результатов научной деятельности, описанию одной из
которых посвящена настоящая диссертация, может быть полностью или частично доступна для
просмотра в Интернет и индексации поисковыми системами. Этот факт будет способствовать
повышению рейтинга российских научных учреждений в мировом сообществе.
Актуальность поставленной задачи определяется острой необходимостью контролировать и анализировать информацию, характеризующую деятельность научных организаций, а
также большими объемами такой информации и низкой степенью автоматизации процессов ее
сбора и анализа.
Цель работы
Целью диссертационной работы является исследование и разработка математических моделей,
алгоритмов и программных средств поиска и систематизации, хранения и анализа информации, характеризующей деятельность научных организаций, с использованием онтологий. Такая
деятельность соответствует областям исследований, отмеченным в пп. 2, 5, 9 Паспорта специальности 05.13.17 – теоретические основы информатики.
1
http://www.webometrics.info
5
На защиту выносятся:
• разработанные на основе результатов исследования предметной области математические
модели и алгоритмы, архитектурные и технологические решения, опирающиеся на онтологии, для создания системы пополнения и хранения, анализа и выдачи по запросу
информации, характеризующей результаты деятельности научной организации;
• формальное описание запросов к системе с использованием онтологий и языка SPARQL,
создающее гарантии вычисления запросов и дополнительные возможности для эффективной верификации кода системы на всех этапах ее жизненного цикла;
• алгоритмы построения онтологии отдельной области научного знания и выделения
терминов-пар слов из коллекции текстов с заданным тематическим делением, удовлетворяющие предъявляемым к ним требованиям; аналитические оценки сложности их программной реализации, полученные с использованием математических моделей;
• прототип программного комплекса для учета и анализа научной информации, именуемый
Интеллектуальной Системой Тематического Исследования НАучно-технической информации (ИСТИНА), тестовые испытания которого подтвердили справедливость аналитических оценок сложности реализации основных алгоритмов, а также тот факт, что комплекс
в целом удовлетворяет предъявляемым к нему требованиям.
Методы исследования
В работе применяются методы анализа текстов на естественном языке, методы классификации и методы программной инженерии. При изложении результатов диссертационной работы
используется аппарат математической логики и математической статистики.
Научная новизна
Автором разработан новый алгоритм построения онтологии отдельной области научного знания
на основе выделения терминов из анонсов научных конференций, а также путем использования информации из поисковых систем в Интернет. Математически доказана оценка вычислительной сложности его реализации. Отличительными особенностями разработанного алгоритма
являются: мягкие требования к исходным данным; автоматическое выделение терминов области знания; возможность использования алгоритма для построения онтологий других областей
научного знания без его модификации; отсутствие необходимости в большом объеме ручного труда экспертов. Автором разработан также новый, удовлетворяющий предъявляемым к
нему требованиям алгоритм выделения терминов-пар слов из коллекций текстов с заданным
тематическим делением, эффективность которого в сравнении с классическими алгоритмами
продемонстрирована на задачах классификации и кластеризации текстов. Математически до6
казана оценка вычислительной сложности его реализации и тот факт, что базовая функция
веса термина в рубрике удовлетворяет предъявляемым к ней требованиям.
Практическая значимость
Рассматриваемый в диссертации программный комплекс учета и анализа научной информации
ИСТИНА, реализующий архитектуру и разработанные автором алгоритмы построения онтологии предметной области и выделения терминов представляет собой самостоятельный инновационно перспективный продукт. Вместе с тем, его математическое, алгоритмическое и программное обеспечение может найти эффективное применение при построении других информационноаналитических систем, в том числе – систем подготовки принятия решений в организациях
научно-технического профиля и высших учебных заведениях.
Апробация работы
Основные результаты диссертации докладывались на всероссийской конференции с международным участием «Знания–Онтологии–Теории (ЗОНТ-2011)», на научно-практической конференции «Актуальные проблемы системной и программной инженерии (АПСПИ-2011)», на международных конференциях «3rd International Conference on Language and Automata Theory and
Applications (LATA 2009)» и «Ломоносовские чтения» (2008–2010), на научном семинаре РАН
«Виртуальные научные сообщества и технологии нечетких распределенных вычислений (Cloud
Computing)» (2010), на механико-математическом факультете МГУ имени М.В. Ломоносова
на семинаре «Проблемы современных информационно-вычислительных систем» под руководством д.ф.-м.н., проф. В.А. Васенина (2008, 2010, 2011), на факультете бизнес-информатики
НИУ ВШЭ на семинаре под руководством д.ф.-м.н., проф. С.О. Кузнецова (2011).
Публикации
По теме диссертации опубликовано 9 научных работ, в том числе – две в зарубежных изданиях.
Три статьи [2–4] опубликованы в изданиях из перечня ВАК ведущих рецензируемых журналов.
Структура и объем диссертации
Работа состоит из введения, пяти глав, заключения, списка литературы. Объем диссертации —
154 страницы, Приложений – 34 страницы. Список литературы включает 83 наименования. В
текст диссертации входят 39 рисунков и 33 таблицы.
Первая глава является вводной и посвящена исследованию и систематизации подходов
к учету и анализу научной информации. В разделе 1.1 ставится задача разработки системы
7
управления научной информацией, которая включает перечень требований к качеству разработанного программного средства. В разделе 1.2 приводится классификация существующих
подходов к учету и анализу научной информации. В разделе 1.3 анализируются достоинства и
недостатки существующих систем работы с научной информацией.
Во второй главе представлены разработанные автором архитектурно-технологические решения, которые используются в автоматизированной системе управления научной информацией. В разделе 2.1 дано описание используемого семантического подхода, включающее формальные основы онтологий, которые определяются на языке дескриптивной логики. В разделе 2.2
представлена математическая модель разработанной системы, в рамках которой задача учета и
анализа научной информации разбивается на пять подзадач. Разделы 2.3–2.7 посвящены этим
подзадачам. В разделе 2.3 рассматривается задача выделения терминов из текстовых документов, приводится обзор литературы и краткая характеристика разработанного автором метода
извлечения терминов из текстов, разделенных на рубрики. В разделе 2.4 определяется задача
построения онтологии области научного знания, приводится обзор информационных систем,
использующих онтологии и краткая характеристика разработанного автором метода построения онтологии научной области на основе информации из анонсов научных конференций и
поисковых систем в Интернет. Раздел 2.5 посвящен модулю загрузки данных в систему. В этом
разделе приведен обзор методов и средств выделения информации из неструктурированных
текстов, а также предложен подход к загрузке данных, используемый в разработанной системе.
В разделе 2.6 представлено описание задачи установления связей между загруженной в систему информацией и онтологией области научного знания, а также подхода на основе расстояния
Левенштейна, который применяется в разработанной системе. Раздел 2.7 посвящен модулю выполнения запросов к данным в онтологии. С использованием онтологий и языка SPARQL в нем
предложено формальное описание перечисленных в разделе 1.1 запросов к системе, которое
обосновывает возможность решения поставленной в диссертации задачи на основе разработанной архитектуры системы и технологических средств.
Третья глава посвящена разработанным автором алгоритмам построения онтологии области научного знания и выделения терминов из коллекции текстов с заданным тематическим
делением. В разделе 3.1 приводится описание алгоритма Brainsterm выделения терминов, который состоит из четырех критериев, а именно – пространственного, критерия частотности,
характерности и критерия значимых рубрик. Доказано, что предложенная автором в составе
алгоритма базовая функция веса термина в рубрике удовлетворяет предъявляемым к ней требованиям. Доказательно обоснованы аналитические оценки, характеризующие вычислительную
сложность программной реализации алгоритма. В разделе 3.2 представлен алгоритм Sonmake
построения онтологии области научного знания на основе коллекции анонсов научных конференций, разделенных на рубрики, а также информации из поисковых систем в Интернет. Алгоритм состоит из семи этапов: построение множества имен понятий; выделение терминов области
знания; фильтрация терминов; выявление ассоциативных отношений между ними; построение
иерархии терминов; перевод терминов на русский язык; классификация терминов по поняти8
ям онтологии. Получены аналитические оценки, характеризующие вычислительную сложность
программной реализации алгоритма.
В четвертой главе приведены результаты исследования эффективности разработанных
автором алгоритмов выделения терминов и построения онтологии. В разделе 4.1 рассматривается эффективность алгоритма выделения терминов Brainsterm, которая оценивается с использованием полученных терминов как базиса векторного пространства в задачах классификации и кластеризации текстов. В разделе 4.2 представлены результаты тестирования алгоритма
Sonmake построения онтологии области научного знания на основе информации из анонсов
научных конференций и Интернет на примере онтологии информатики. Показано, что разработанные алгоритмы удовлетворяют предъявляемым к ним требованиям.
Пятая глава посвящена описанию разработанного автором на основе предложенной архитектуры программного комплекса ИСТИНА. В разделе 5.1 перечислены особенности программной реализации системы. Раздел 5.2 посвящен описанию результатов ее практической
апробации в НИИ механики МГУ имени М.В. Ломоносова. В разделе 5.3 приводится анализ
разработанного прототипа системы на предмет ее соответствия предъявляемым к системе требованиям. Делается вывод, что прототип соответствует основным требованиям, а предложенная
архитектура позволяет построить целевую систему, которая при ее реализации в полном объеме будет удовлетворять всем предъявляемым к ней требованиям. В разделе 5.4 перечисляются
направления дальнейшего развития системы.
В заключении перечисляются основные результаты диссертационной работы.
9
Глава 1
Учет и анализ научной информации
Настоящая глава посвящена описанию задачи построения системы учета и анализа информации о результатах деятельности сотрудников научных организаций и известных подходов к ее
решению. Раздел 1.1 включает постановку задачи, направленной на разработку системы управления научной информацией, в том числе – перечень требований к качеству разрабатываемого
программного продукта. В разделе 1.2 приводится описание распространенных подходов к учету и анализу научной информации. В разделе 1.3 анализируются программные комплексы для
работы с научной информацией.
1.1
Постановка задачи
Исходными для решения рассматриваемой далее задачи являются представленные в виде электронной коллекции результаты деятельности отдельных научных сотрудников. Такая информация может храниться в различном виде, например, в форме годового отчета или списка
публикаций. Примером такой информации могут служить данные о научной статье, которые
включают ее название, список авторов, место публикации и другие сведения. Кроме статей,
в рамках настоящей работы анализу подлежат такие объекты, как книги, патенты, доклады
на конференциях, тезисы докладов, научные проекты, научные отчеты, свидетельства о регистрации прав на программное обеспечение, диссертации, членство ученого в редколлегиях
журналов, сборников, программных комитетах конференций и диссертационных советах, руководства диссертациями и дипломными работами, а также учебные курсы. Конечной целью
исследований, результаты которых представлены в настоящей диссертации, является создание
системы (программного комплекса), способной на основе анализа данных из коллекции отвечать на различные аналитические запросы. Результатами выполнения таких запросов могут
быть:
• перечень направлений, которые активно исследуются в рамках интересующей области
знания (в запросе направление исследования может задаваться набором ключевых слов);
• список направлений, методов и средств, которые появились относительно недавно;
10
• перечень задач, в которых используются методы интересующего направления;
• перечень направлений научных интересов ученого;
• динамика интереса исследователей к отдельному направлению исследований во времени;
• перечень конференций, посвященных интересующему направлению;
• перечень конференций, похожих на заданную;
• список исследователей, работающих на интересующем направлении;
• список исследователей, которые занимаются похожими задачами;
• список публикаций по конкретному направлению за определенный период времени;
• список публикаций, похожих на заданную;
• научный вклад отдельного ученого в решение задач на интересующем направлении;
• научный вклад отдельного подразделения в результаты деятельности научной организации за прошедший период и другие, аналогичные им.
Далее в разделе 2.7 представлен один из возможных способов формализации перечисленных
типов запросов на языке SPARQL1 .
В соответствии со стандартом ГОСТ Р ИСО/МЭК 9126-93 [5] к качеству системы управления научной информацией предъявляются следующие требования:
1. функциональность;
2. надежность;
3. практичность;
4. эффективность;
5. сопровождаемость;
6. мобильность.
В Приложении А представлены характеристики и показатели, более детально раскрывающие
каждое из этих требований применительно к программной системе, которая рассматривается в
настоящей работе. Нумерация таких детализированных требований, определенная в Приложении А, используется далее по тексту диссертации при анализе соответствия функций системы
и качества их выполнения требованиям, предъявляемым к системе при постановке задачи. Эти
характеристики, в частности, подчеркивают отличие задачи, которая решается в рамках настоящей работы, от широко известного класса задач, связанных с построением электронных библиотек, которые в большей степени ориентированы на индексацию и предоставление доступа к
электронным информационным ресурсам. В подобных системах меньшее внимание уделяется
тематическому анализу работ и привязке данных к модели, описывающей отдельную область
знания.
1
http://www.w3.org/TR/rdf-sparql-query
11
1.2
Методы и средства управления научной информацией
В настоящее время известны представленные далее методы и средства анализа научной и тесно связанной с ней педагогической деятельности подразделений организации и отдельных их
сотрудников.
Количественный анализ результатов научной деятельности по информации из отчетов
Рассматриваемый подход заключается в оценке числа публикаций, участия в конференциях,
подготовки научных кадров, а также ряда других позиций на основе результатов ручного анализа научных отчетов экспертами. Отметим, что в настоящее время в научных организациях
Российской Федерации, как правило, проводится лишь количественный анализ эффективности
их деятельности. Предметом анализа служат такие характеристики, как число научных публикаций сотрудников, числов докладов на конференциях, число защищенных под руководством
сотрудника курсовых проектов, дипломных и диссертационных работ и другие параметры.
Вместе с тем, тематический анализ научной деятельности подразделений организации является очень важной задачей. Он позволяет выяснить: направления исследований, которые
развиваются в организациях более активно, а также те, которые менее динамичны; понять, каким отраслям уделяется недостаточное внимание по сравнению с общемировыми тенденциями;
провести общее, и, что более важно, тематическое сравнение деятельности российских научных
организаций с зарубежными. Главными недостатками подхода являются необходимость ручного
просмотра всех отчетов, а также отсутствие возможности анализировать научную деятельность
подразделения качественно, а не количественно. После проведения анализа нельзя ответить на
такие естественные и важные вопросы, как «какие направления исследований преобладают в
работах интересующего подразделения за последний год?» Еще одним существенным недостатком такого традиционного подхода является отсутствие возможности проверить достоверность
полученных данных.
Экспертный анализ материалов конференций и журналов
Анализ области знания можно провести вручную, обработав для этого большое число статей,
опубликованных в научных журналах и материалах конференций по соответствующей тематике. Большой объем ручной работы является основным недостатком этого метода. Осложняют
ситуацию многоязычность публикаций, а также необходимость интеграции материалов из различных источников (конференций и журналов). Статьи далеко не всегда бывают должным
образом классифицированы даже в рамках одного журнала или конференции.
12
Анализ обзорных статей
Для уменьшения объема ручной работы, которая необходима для анализа публикаций в рамках области знания, часто прибегают к прочтению обзорных статей, описывающих основные
результаты по интересующему направлению. Основными недостатками этого метода являются субъективный взгляд авторов обзорных статей, как правило, недостаточно широкий охват
области знания, отсутствие наиболее актуальной информации (из источников, опубликованных после обзорной статьи), сложность поиска обзорных статей, а также их фиксированный
уровень детализации. Последнее обстоятельство означает, что невозможен анализ в автоматизированном режиме на более высоком или более низком уровне детализации, например, на
уровне нескольких более узких направлений в рамках рассматриваемой области знания или,
наоборот, на уровне нескольких областей знания.
Поиск по ключевым словам
С развитием Всемирной паутины (World Wide Web) и появлением эффективных поисковых
средств представилась возможность фильтровать большие объемы текстовой информации в
электронном виде, используя для этого поиск по ключевым словам. Этот способ поиска информации приобрел огромную популярность, однако он обладает существенными недостатками.
Во-первых, неэффективна работа с многозначными словами и источниками на разных языках.
Одним из путей решения вопросов синонимии и многоязычности является написание сложных
запросов, которое требует работы эксперта. Вопросы, связанные с уровнем детализации ответов
на запрос, также являются актуальными. Например, статья, посвященная теории групп Ли, с
большой вероятностью не найдется в ответ на запрос «теория групп». И, наконец, главным
недостатком поиска по ключевым словам является отсутствие возможности получать ответы
на сложные запросы, которые требуют трудоемкой предварительной обработки данных. Примером такого запроса является «какие ученые из Московского университета участвовали в
зарубежных конференциях по анализу данных за последние два года?»
Системы управления научной информацией
Для эффективного анализа научной деятельности, лишенного отмеченных выше недостатков,
было создано большое число автоматизированных систем учета научной информации, которые
получили широкое распространение с развитием Интернет и веб-технологий обработки данных.
Краткий обзор основных классов таких систем представлен в следующем разделе.
1.3
Системы управления научной информацией
В настоящем разделе рассматриваются основные классы существующих систем управления и
анализа научной информации, а именно – крупные веб-сервисы, зарубежные исследовательские
13
проекты и российские семантические системы. Отметим, что разделение на эти три типа условно и продиктовано соображениями группировки систем по их назначению и способу обработки
данных. В первом классе находятся крупные веб-сервисы, получившие широкое распространение. Они индексируют большое количество единиц информации. Как показывает анализ, их
функциональные возможности во многом схожи, и их дальнейшее деление на группы затруднительно. В качестве примера службы из этого класса приводится более подробный анализ системы Web of Science1 . Ко второму классу относятся зарубежные проекты, которые используют
семантические технологии и обладают вследствие этого более разнообразными функциями. В
разделе приводится подробный анализ нескольких относительно популярных систем. Особенное внимание уделено двум российским разработкам, образовавшим третью группу проектов –
платформе ИСИР и комплексу, разработанному в Институте систем информатики Сибирского
отделения РАН (ИСИ СО РАН). Необходимость их более подробного анализа обусловлена тем,
что идеи и подходы, использовавшиеся при разработке этих систем, более чем в каких-либо
других соответствуют решению задачи, поставленной в настоящей диссертации. При этом в
обзоре отмечаются отличия решения, предлагаемого автором, от этих двух разработок и обосновывается необходимость создания новой системы.
1.3.1
Крупные веб-сервисы
В настоящем подразделе представлены краткие описания крупных веб-сервисов, которые работают с библиографической информацией. К ним относятся такие проекты, как Web of Science
(часть системы Web of Knowledge2 ), Google Scholar3 , Scopus 4 , российский портал eLibrary.ru5 ,
PubMed6 , AGRICOLA7 , ChemXSeer8 , CiteSeerX9 , DBLP10 , ACM Portal
11
, IEEE Xplore12 и дру-
гие, аналогичные им. Некоторые из этих систем могут использоваться на безвозмездной основе (Google Scholar, eLibrary.ru, PubMed, DBLP), другие доступны по платной подписке (Web
of Science, Scopus). Часть сервисов ориентирована на отдельные области знаний (например,
PubMed – на медицину, ChemXSeer – на химию, AGRICOLA – на сельское хозяйство, CiteSeerX
и DBLP – на информатику), другие рассчитаны на работу с текстами, которые представляют
сведения из различных областей науки (Web of Science, Google Scholar, Scopus, eLibrary.ru).
Отметим, что в некоторых сервисах, например CiteULike13 , используется метод обработки ин1
http://thomsonreuters.com/products_services/science/science_products/a-z/web_of_science
http://thomsonreuters.com/products_services/science/science_products/a-z/isi_web_of_knowledge
3
http://scholar.google.com
4
http://www.scopus.com
5
http://elibrary.ru
6
http://www.ncbi.nlm.nih.gov/pubmed
7
http://agricola.nal.usda.gov
8
http://chemxseer.ist.psu.edu
9
http://citeseerx.ist.psu.edu
10
http://dblp.uni-trier.de
11
http://portal.acm.org
12
http://ieeexplore.ieee.org
13
http://www.citeulike.org
2
14
формации с помощью пользователей, которые могут создавать свои базы статей и обмениваться
ими с другими. Более полный список веб-сервисов, которые работают с библиографической информацией, доступен по ссылке1 .
1.3.1.1
Web of Science
В качестве примера крупной системы, обзор которых представлен в настоящем разделе, рассмотрим широко известную службу Web of Science, которая является частью проекта Web of
Knowledge. Эта система разработана в Институте научной информации (ISI) в корпорации
Thomson Scientific. Важнейшим ее достоинством являются огромные объемы индексируемой
информации, а именно – научные статьи, опубликованные с 1900 года. Система Web of Science
индексирует ключевые слова и метаданные о публикациях (автор, название, цитаты, место
публикации, год публикации). База системы включает в себя более 40 миллионов статей из
более чем 11 тысяч журналов и 12 тысяч конференций. В Web of Science индексируются не
только статьи, но также химические соединения (база Index Chemicus) и химические реакции
(база Current Chemical Reactions). Отметим, что названия публикаций на языках, отличных от
английского, переводятся на английский, и в дальнейшем не могут быть найдены по запросу
на первоначальном языке. Одним из достоинств системы, которое отличает ее, например, от
Google Scholar, является возможность поиска по тематике публикаций.
Еще одним важным отличием системы является возможность анализа найденных публикаций. Результаты поиска можно группировать по автору, типу документа, дате публикации,
организации, тематике, названию, языку и стране. Система позволяет визуализировать сгруппированные данные, что облегчает анализ. Поддерживается ранжирование, например, рейтинг
авторов и институтов по числу цитат, количество статей по тематике, что позволяет проводить
сравнение различных организаций и анализировать тренды. Как и в других системах, в Web
of Science есть функция поиска похожих публикаций, основанная на анализе совместных библиографических ссылок. Функции визуализации позволяют просматривать публикации в виде
графа, вершины которого представляют научные работы, а ребра обозначают ссылки между
ними (см. рис. 1.1).
Необходимо отметить, что кроме своего практического значения как системы анализа библиографической информации, Web of Science является важной составляющей поля научных
исследований, так как в рамках нее ежегодно выпускается список журналов с их индексами
влияния, который широко используется в научной среде. Web of Science является хорошим примером системы учета, поиска и анализа библиографической информации. Большинство других
сервисов, перечисленных в разделе 1.3.1, не предлагают такой же функциональности. Несмотря
на небольшие различия, в основе своей все эти системы являются базами научных статей и в
той или иной степени совмещают в себе следующие функции.
• Индексация научных публикаций.
1
http://en.wikipedia.org/wiki/List_of_academic_journal_search_engines
15
Рис. 1.1. Визуализация ссылок между публикациями в системе Web of Science.
В большинстве сервисов учитывается следующая информация.
– Полные тексты публикаций, если они доступны для загрузки в систему.
– Основные метаданные, такие как название, авторы, место издания, год издания.
В некоторых системах выявляется тематика публикации.
– Библиографические ссылки между работами.
Это важная функция, которая позволяет автоматически выявлять связи между публикациями, создавая, тем самым, единый граф научных работ, а также – осуществлять ранжирование журналов, публикаций, ученых и стран, которые они представляют.
• Поиск научных публикаций.
Результаты поиска ранжируются по степени релевантности, причем большую роль в оценке релевантности работы играет количество библиографических ссылок на нее. В случае
наличия полного текста статьи, системы предоставляют к нему доступ. В большинстве
систем доступны перечисленные далее виды поиска.
– Поиск по ключевым словам в текстах статей.
– Поиск по ключевым словам и значениям в метаданных.
– Поиск похожих публикаций.
16
Этот вид поиска осуществляется на основе анализа библиографических ссылок, общая идея которого сводится к тому, что если две научные работы ссылаются на одни
и те же статьи, или, наоборот, на две научные работы ссылаются одни и те же статьи,
то эти две работы считаются похожими.
– Поиск публикаций, которые ссылаются на заданную.
Этот вид поиска полезен для получения статей, в которых могут использоваться
результаты заданной работы.
Перечислим основные особенности систем, рассматриваемых в настоящем разделе.
• Поисковые механизмы служб основаны на поиске по ключевым словам и доступным метаданным.
• Отсутствие семантической обработки данных, которые поступают в систему.
Здесь имеется в виду то обстоятельство, что в процессе добавления материалов в сервис не
применяются алгоритмы глубокого семантического анализа содержания публикаций, деятельности авторов и другие, аналогичные им. В некоторых системах (например, Scopus,
Web of Science) происходит классификация работ по областям знания, которая в большинстве случаев является очень общей (например, публикации распределяются по таким
категориям, как «математика», «информатика», «физика») и не дает представления о
содержательной части публикаций. В ряде систем, например PubMed, статьи классифицируются по тематикам на основе древовидного классификатора.
• Сильно ограниченные возможности анализа результатов поиска.
Абсолютное большинство веб-сервисов не предоставляет никаких средств анализа результатов поиска. В качестве редкого примера здесь следует упомянуть систему Web of Science,
которая позволяет группировать результаты поиска по различным характеристикам и
строить аналитические графики и диаграммы на основе метаданных. Однако тематический, содержательный анализ текста статей не представляется возможным. Причина
отсутствия таких возможностей состоит в том, что данные, которые поступают на вход
системам, недостаточно структурированы, а эффективные алгоритмы, способные выполнять обработку неструктурированных данных из различных областей знаний, еще не разработаны или не используются на практике.
• Новые публикации, как правило, добавляются в системы со значительным запаздыванием.
Информация в большинстве систем обновляется только после публикации статей, в то
время как статья может быть уже написана и существовать на протяжении нескольких
месяцев или даже лет в виде электронной версии или препринта. Одним из немногочисленных исключений является сервис Google Scholar, который, благодаря использованию
поискового механизма Google, способен индексировать любые электронные документы,
включая не опубликованные еще статьи.
• Управление информацией, которая хранится в системах, осуществляется администраторами сервисов. Вновь поступающая информация чаще всего проверяется вручную.
17
• Сервисы являются программными продуктами с закрытым исходным кодом.
В заключение отметим то обстоятельство, что рассмотренные системы ориентированы на
анализ библиографической информации, а не содержательной стороны документов. Основными типами анализируемых данных в таких системах служат информация о цитировании работ
и сети соавторства. Основными функциями рассмотренных систем являются: поиск статей по
ключевым словам; поиск наиболее цитируемых статей в рамках области знаний; анализ цитируемости работ по ссылкам назад и вперед. Эти факты, а также ряд других особенностей этих
систем, перечисленных выше, не позволяют использовать рассмотренные сервисы в качестве
средства решения основной задачи, поставленной в настоящей диссертации.
1.3.2
Зарубежные исследовательские проекты
Второй класс систем, рассматриваемых в настоящем обзоре, содержит ряд зарубежных проектов, которые основаны на семантических технологиях и имеют целью анализ научной информации.
1.3.2.1
Bibster
Bibster1 представляет собой программную систему, которая позволяет исследователям управлять и обмениваться библиографической информацией по технологии peer-to-peer [6]. Комплекс
Bibster разработан в рамках совместного проекта нескольких европейских организаций, список
которых включает университет г. Карлсруэ, университет г. Амстердам, Dresden Bank и ряд других. Интерфейс рабочего окна Bibster представлен на рис. 1.2. Важной особенностью системы
является использование онтологий при хранении данных, формулировке запроса, при маршрутизации запроса и представлении результатов пользователю. Отметим, что для внутреннего
представления библиографической информации, независимого от предметной области, используется онтология Semantic Web for Research Communities (SWRC)2 [7]. Для описания тематики
публикаций применяется онтология ACM Topic Hierarchy 3 . Эти две онтологии используются и
при формулировке поискового запроса к системе. Части запроса, которые касаются научной деятельности в общем (название публикации, год издания, место публикации и другие свойства),
формулируются в терминах онтологии SWRC, а части запроса, которые относятся к области
научного знания (в данном случае, информатике), задаются в терминах онтологии ACM Topic
Hierarchy. Важным преимуществом Bibster является тот факт, что из системы можно экспортировать данные в формате RDF [8], что позволяет интегрировать данные системы с другими
хранилищами. Отметим, что в настоящей диссертации используется такой же подход, включающий использование двух онтологий, одной из которых также является SWRC, а второй может
быть любая онтология, которая описывает область научного знания.
1
http://bibster.semanticweb.org
http://ontoware.org/swrc
3
http://www.acm.org/about/class/1998
2
18
Рис. 1.2. Интерфейс системы Bibster.
Главное отличие системы Bibster от системы, разработанной автором в ходе подготовки
настоящей диссертации, заключается в том, что Bibster направлена на работу с библиографической информацией в peer-to-peer сетях, в то время как задача, которая решается в диссертации, существенно отличается. В частности, на этапе загрузки данных в Bibster необходимо
вводить информацию в виде файлов в формате BibTeX [9], которые имеют жесткую структуру.
В рассматриваемой в настоящей работе системе входными данными могут служить неструктурированные списки публикаций. Другим отличием этой системы является использование разработанного автором диссертации метода полуавтоматического создания онтологии области
научного знания, которая содержит не только иерархические, но и ассоциативные отношения.
В комплексе Bibster онтология задается изначально и является ни чем иным, как классификатором. Заключая описание системы Bibster сделаем вывод, что данный комплекс имеет сходную
архитектуру, однако решает другие задачи.
1.3.2.2
JeromeDL
Система JeromeDL1 предназначена для организации электронных библиотек с использованием семантических технологий, которая разрабатывается в Институте исследований цифровых
технологий DERI (Ирландия) и Технологическом университете г. Гданьска (Польша) [10]. Ис1
http://www.jeromedl.org
19
пользование онтологий позволяет облегчить загрузку разнородных ресурсов в систему, осуществлять более сложные запросы, а также интегрировать целые электронные библиотеки,
предоставляя унифицированный доступ к их ресурсам. Для ввода метаданных используются форматы BibTeX и Marc211 , либо ручной ввод в форму. В качестве онтологии используется
Dublin Core2 . Ключевыми понятиями онтологии являются «ресурс», «автор», «ключевое слово»
и «область интересов» (см. рис. 1.3).
Рис. 1.3. Базовая онтология системы JeromeDL.
Отметим, что большое внимание в системе уделяется выполнению запросов. В частности,
пользователи могут осуществлять простой поиск по ключевым словам и семантический поиск,
который требует задания элементов онтологии. Особо следует подчеркнуть использование логического вывода при выполнении запроса, что является редкостью для семантических систем
на данном этапе их развития. Система JeromeDL позволяет пользователям оценивать, классифицировать и аннотировать электронные ресурсы, содержащиеся в библиотеке. Для хранения
информации о пользователях применяется онтология Friend of a Friend (FOAF)3 [11]. В системе используется также онтология MarcOnt [12], которая связывает электронные ресурсы с
тематиками (см. рис. 1.4).
Недостатком системы JeromeDL является необходимость вносить информацию в структурированном виде или же вводить ее вручную (интерфейс окна ввода представлен на рис. 1.5),
а также отсутствие поддержки больших онтологий предметных областей, которые позволяют
выполнять более сложные запросы.
1
http://www.loc.gov/marc/bibliographic
http://dublincore.org/documents/dces
3
http://www.foaf-project.org/docs/specs
2
20
Рис. 1.4. Схема онтологий системы JeromeDL.
1.3.2.3
Flink
Система Flink разработана в университете г. Амстердам для выделения и анализа информации
о научных сообществах. Она основана на семантических технологиях [13]. Система позволяет выделять данные о научных связях ученых (соавторство, социтирование, совместное участие в исследовательских проектах) из веб-страниц, списков рассылок и онлайновых коллекций
публикаций. Затем информация добавляется в общую базу. Отметим, что система позволяет
осуществлять логический вывод. Например, из того факта, что ученый А отправил письмо
ученому B, который, в свою очередь, является автором некоторой книги, система автоматически делает вывод, что ученый А знает автора этой книги (хотя, возможно, не знаком с ним
лично). Еще одной особенностью комплекса является способность определять область интересов ученых на основе анализа совместной встречаемости ключевых слов. Для работы системы
при этом необходимо вручную составить онтологию предметной области, а также список имен
людей, информация о которых будет собираться и анализироваться. Отметим, что в качестве
вспомогательных онтологий в системе Flink используются словари FOAF и SWRC. Таким образом, система позволяет оценить научный вклад различных исследователей в решение задач
на рассматриваемом направлении, а также другие показатели. Отметим, что цель авторов этой
системы состояла в создании средств сбора и анализа информации о социальных связях людей
из научного сообщества. Этот проект близок по тематике и подходу к задаче, рассматриваемой
21
Рис. 1.5. Добавление публикации в систему JeromeDL.
в настоящей диссертации. Однако очевидно, что напрямую применить Flink для анализа научной информации нельзя из-за специфики входных данных, требования изначально предоставить список потенциально задействованных ученых, отсутствия модуля автоматизированного
построения онтологии и ряда других факторов.
1.3.2.4
AIR
Система AIR разработана в рамках совместного проекта ученых университетов г. Вулверхэмптон (Великобритания) и г. Аликанте (Испания) [14]. Целью AIR является индексирование
публикаций сотрудников университета, информация о которых размещена на университетских
веб-сайтах. Система позволяет в автоматизированном режиме связывать найденные данные с
онтологией Dublin Core, а именно – выделять такие поля, как автор, название, год публикации,
место публикации и аналогичные им. Классификация входящей информации осуществляется с
помощью методов машинного обучения и подходов, основанных на наборах правил. Отметим,
что данные сначала собираются в AIR автоматически, а потом происходит уведомление авторов
публикаций, информация о которых была получена. Авторы заходят на портал, редактируют
и подтверждают корректность собранных данных. Подобный подход, который заключается в
ручном подтверждении выделенных данных из источников, используется и в настоящей диссертации. Этим сходства систем не ограничиваются. Еще одной общей идеей является то об22
стоятельство, что комплекс AIR не ищет полные тексты статей, а лишь находит веб-страницы,
содержащие библиографические списки, например, списки публикаций сотрудника. Важно отметить, что сфера применения AIR сходна со сферой применения подхода, предлагаемого в
настоящей работе (анализ данных в масштабе, начиная от университета). Недостатком комплекса AIR является отсутствие сложных онтологий, моделирующих предметную область, которые позволили бы более полно анализировать входящую информацию и осуществлять более
сложные запросы. Выделение метаданных происходит на уровне онтологии научной деятельности и совершенно не затрагивает содержательный аспект документов. Другой особенностью
рассматриваемой системы является отсутствие на настоящее время поискового интерфейса, который позволял бы производить тематический анализ полученных данных. При этом в планах
разработчиков AIR предусмотрена интеграция системы с комплексом QALL-ME1 [15], который
является платформой для построения экспертных систем.
1.3.2.5
Семантические базы данных
В заключительной части краткого описания зарубежных исследовательских проектов необходимо упомянуть семантические базы знаний общего назначения, такие как Cyc2 [16], YAGO3 [17],
True Knowledge4 , на основе которой построена экспертная система, а также – Freebase5 [18],
DBpedia6 [19], Wikitology [20]. Они основаны на онтологиях, содержат факты, и некоторые из
них поддерживаются средствами логического вывода. Отметим, что эти хранилища информации используются как источники структурированных данных для более специализированных систем. Часть баз данных связана между собой ссылками в рамках проекта Linking Open
Data7 [21]. Проект Linking Open Data (LOD) поддерживается консорциумом W3C8 . Целью этого
проекта является перевод коллекций структурированных данных, доступных в World Wide Web,
в единую модель данных RDF9 , используя для этого глобальные идентификаторы URI10 , а также – проставить как можно большее число ссылок между различными коллекциями. Инициатива LOD призвана способствовать началу широкомасштабной реализации концепции Semantic
Web [22]. Отметим, что LOD не фокусирует свое внимание на связывании словарей (терминологических частей онтологий), а также на логическом выводе. Распространенными онтологиями,
в которых публикуются данные, являются WordNet11 , FOAF, SKOS12 [23]. По данным на сентябрь 2011 года в результате реализации проекта опубликовано более 31 миллиарда связанных
1
http://qallme.sourceforge.net
http://www.cyc.com
3
http://www.mpi-inf.mpg.de/yago-naga/yago
4
http://www.trueknowledge.com
5
http://www.freebase.com
6
http://dbpedia.org
7
http://esw.w3.org/SweoIG/TaskForces/CommunityProjects/LinkingOpenData
8
http://www.w3.org
9
http://www.w3.org/RDF
10
http://tools.ietf.org/html/rfc3986
11
http://wordnet.princeton.edu
12
http://www.w3.org/2004/02/skos
2
23
между собой RDF-утверждений в рамках 295 коллекций данных, и эти показатели постоянно
растут. В частности, несколько широко известных каталогов публикаций, например, CiteSeer1
и DBLP2 , опубликовали свои данные в формате RDF, просмотр которых доступен с помощью
инструмента RKB Explorer3 [24]. На рис. 1.6 изображены коллекции данных, подключенные к
проекту. Размер круга зависит от количества утверждений в коллекции, а толщина стрелок
соответствует количеству связей между коллекциями.
DB
Tropes
Hellenic
FBD
Hellenic
PD
Crime
Reports
UK
NHS
(EnAKTing)
Open
Election
Data
Project
EU
Institutions
Ordnance
Survey
legislation
data.gov.uk
UK Postcodes
ESD
standards
ISTAT
Immigration
Lichfield
Spending
Scotland
Pupils &
Exams
Traffic
Scotland
Data
Gov.ie
reference
data.gov.
uk
TWC LOGD
(DBTune)
Eurostat
(FUB)
(RKB
Explorer)
Linked
EDGAR
(Ontology
Central)
EURES
FTS
New
York
Times
URI
Burner
World
Factbook
Geo
Species
UMBEL
Italian
public
schools
BibBase
DBLP
(FU
Berlin)
Uberblic
dataopenac-uk
TCM
Gene
DIT
Daily
Med
Twarql
EUNIS
WordNet
(VUA)
SIDER
Ocean
Drilling
Codices
Turismo
de
Zaragoza
Janus
AMP
Climbing
Linked
GeoData
WordNet
(W3C)
Alpine
Ski
Austria
AEMET
Metoffice
Weather
Forecasts
PDB
Yahoo!
Geo
Planet
ChEMBL
Open
Data
Thesaurus
Sears
Swedish
Open
Cultural
Heritage
lobid
Organisations
ECS
(RKB
Explorer)
DBLP
(RKB
Explorer)
STW
GESIS
Budapest
Pisa
RESEX
Scholarometer
IRIT
ACM
NVD
IBM
DEPLOY
Newcastle
RAE2001
LOCAH
Roma
CiteSeer
Courseware
VIVO
Indiana
dotAC
ePrints
IEEE
RISKS
PROSITE
Affymetrix
SISVU
GEMET
Airports
National
Radioactivity
JP
Wiki
ECS
Southampton
ECS
Southampton
EPrints
HGNC
(Bio2RDF)
PubMed
ProDom
VIVO
Cornell
STITCH
Linked
Open
Colors
SGD
Gene
Ontology
AGROV
OC
Product
DB
Weather
Stations
NSZL
Catalog
LAAS
NSF
KISTI
JISC
WordNet
(RKB
Explorer)
EARTh
lobid
Resources
P20
Eurécom
UniProt
LODE
SMC
Journals
Europeana
Ulm
Pfam
LinkedCT
Taxono
my
Cornetto
VIAF
Deutsche
Biographie
UN/
LOCODE
Drug
Bank
Enipedia
Lexvo
DBLP
(L3S)
ERA
Diseasome
lingvoj
Norwegian
MeSH
OAI
data
dcs
UniProt
GeoWord
Net
El
Viajero
Tourism
BNB
Freebase
YAGO
Open
Cyc
riese
ndlna
data
bnf.fr
OS
dbpedia
lite
Rådata
nå!
GND
UB
Mannheim
Calames
DDC
Project
Gutenberg
LCSH
MARC
Codes
List
IdRef
Sudoc
iServe
Geo
Names
LIBRIS
PSH
RDF
Book
Mashup
Open
Calais
Greek
DBpedia
ntnusc
Sudoc
SW
Dog
Food
Portuguese
DBpedia
LEM
Thesaurus W
totl.net
US Census
(rdfabout)
Piedmont
Accomodations
Linked
MDB
Event
Media
US SEC
Scotland
Geography
Finnish
Municipalities
Chronicling
America
t4gm
info
RAMEAU
SH
LinkedL
CCN
theses.
fr
my
Experiment
flickr
wrappr
NDL
subjects
Open
Library
(Talis)
Plymouth
Reading
Lists
Revyu
Fishes
of Texas
(rdfabout)
Semantic
XBRL
Goodwin
Family
Pokedex
NTU
Resource
Lists
Open
Library
SSW
Thesaur
us
Didactal
ia
DBpedia
Linked
Sensor Data
(Kno.e.sis)
Eurostat
(Ontology
Central)
GovTrack
Source Code
Ecosystem
Linked Data
semantic
web.org
BBC
Music
Geo
Linked
Data
CORDIS
CORDIS
(FUB)
Classical
(DB
Tune)
St.
Andrews
Resource
Lists
Manchester
Reading
Lists
gnoss
Poképédia
Telegraphis
NASA
(Data
Incubator)
Ontos
News
Portal
Sussex
Reading
Lists
Bricklink
yovisto
Semantic
Tweet
Linked
Crunchbase
Jamendo
(DBtune)
Last.FM
(rdfize)
Taxon
Concept
LOIUS
transport
data.gov.
uk
Eurostat
Music
Brainz
(DBTune)
BBC
Wildlife
Finder
Rechtspraak.
nl
Openly
Local
data.gov.uk
intervals
London
Gazette
Discogs
(Data
Incubator)
BBC
Program
mes
OpenEI
statistics
data.gov.
uk
GovWILD
Brazilian
Politicians
educatio
n.data.g
ov.uk
Music
Brainz
(zitgist)
RDF
ohloh
FanHubz
patents
data.go
v.uk
research
data.gov.
uk
Mortality
(EnAKTing)
CO2
Emission
(EnAKTing)
Energy
(EnAKTing)
EEA
Surge
Radio
Klappstuhlclub
Lotico
(Data
Incubator)
Last.FM
artists
Population (EnAKTing)
reegle
Ren.
Energy
Generators
EUTC
Productions
business
data.gov.
uk
Crime
(EnAKTing)
Ox
Points
(DBTune)
tags2con
delicious
Slideshare
2RDF
(DBTune)
Music
Brainz
John
Peel
Linked
User
Feedback
LOV
Audio
Scrobbler
Moseley
Folk
GTAA
Magnatune
OMIM
MGI
InterPro
Smart
Link
Product
Types
Ontology
Open
Corporates
Italian
Museums
Amsterdam
Museum
UniParc
UniRef
UniSTS
GeneID
Linked
Open
Numbers
Reactome
OGOLOD
KEGG
Pathway
Medi
Care
Google
Art
wrapper
meducator
KEGG
Drug
Pub
Chem
UniPath
way
Chem2
Bio2RDF
Homolo
Gene
VIVO UF
ECCOTCP
bible
ontology
KEGG
Enzyme
PBAC
KEGG
Reaction
KEGG
Compound
KEGG
Glycan
Media
Geographic
Publications
User-generated content
Government
Cross-domain
Life sciences
As of September 2011
Рис. 1.6. Коллекции данных, которые участвуют в проекте Linking Open Data (по состоянию на
сентябрь 2011 г.).
1.3.3
Российские семантические системы
Рассмотрим подробнее две крупные системы учета и анализа научной информации, разработанные в России, а именно – «Интегрированную систему информационных ресурсов» (ИСИР),
созданную в Российской академии наук, а также – подход к созданию интернет-порталов знаний, предлагаемый сотрудниками Института систем информатики имени А.П. Ершова Сибирского отделения РАН (ИСИ СО РАН), на основе которого создано два предметных портала.
1
http://citeseer.ist.psu.edu
http://www.informatik.uni-trier.de/ ley/db/
3
http://www.rkbexplorer.com/explorer
2
24
Причина их выделения в отдельный класс состоит в том, что идеи и подходы, использовавшиеся при разработке этих систем, более чем в каких-либо других соответствуют решению задачи,
поставленной в настоящей диссертации.
1.3.3.1
ИСИР
Проект ИСИР инициирован и поддерживается Российской академией наук. Целью этого проекта является организация Единого научно-информационного пространства РАН (ЕНИП РАН)
путем интеграции разнородных научно-информационных и программных ресурсов отдельных
научных учреждений [25]. Создание такого пространства позволит предоставить пользователям более эффективные средства интеграции и поиска информации, научных коммуникаций и
сотрудничества. Отметим, что задача проекта ИСИР является более общей, чем задача, рассматриваемая в настоящей работе, так как состоит в создании единого научного информационного пространства, а не только системы для учета и анализа научной информации. Важную
часть системы ИСИР при этом составляет именно загрузка в систему слабоструктурированных
данных, таких как описания публикаций и научные отчеты. На рис. 1.7 представлена общая
схема работы ИСИР.
Рис. 1.7. Схема работы системы ИСИР.
Следует заметить, что в качестве базиса архитектуры системы ИСИР используются семантические технологии (Semantic Web). Подход Semantic Web обладает рядом преимуществ по
сравнению с традиционным реляционным подходом. Во-первых, он более соответствует «объектной» парадигме, то есть предоставляет более абстрактную, более богатую семантически и
более естественную форму представления информации. Во-вторых, подход Semantic Web следует последним Web-стандартам, в частности – требованиям XML-технологий, что важно с точки
25
зрения удобства обмена информацией в формате XML. В-третьих, семантическая модель данных позволяет хранить и получать доступ к информации распределенно.
Для описания модели данных в проекте ИСИР используются такие онтологии, как
Dublin Core Metadata Initiative (DCMI) [26], Publishing Requirements for Industry Standard
Metadata (PRISM)1 , Open Archives Metadata Set (OAMS)2 , vCard3 , Common European Research
Information Format (CERIF)4 [27], а также собственное пространство имен.
Несомненным достоинством системы ИСИР является возможность получать доступ к разнородным данным, которые хранятся в различном виде, например, в реляционных базах данных, объектно-ориентированных базах данных, каталогах LDAP [28], а также в виде RDFутверждений, с помощью так называемых оберток (wrappers). Обертки позволяют экспортировать схемы данных различных типов источников. Система ИСИР способна осуществлять
работу с распределенной информацией, обеспечивая интеграцию схем данных с помощью так
называемых посредников, которые выполняют репликацию, маршрутизацию и кэширование
запросов. Гибкая настраиваемость системы ИСИР и возможности ее применения к различным областям знания также являются достоинствами. Система позволяет относительно легко
и быстро разрабатывать порталы, ориентированные на конечного пользователя.
Из недостатков ИСИР нужно выделить следующие особенности. Самым главным недостатком является отсутствие интеллектуальных алгоритмов определения тематики публикаций и
других объектов. Это означает, что в систему могут быть загружены только метаданные, которые касаются формальных параметров публикации (название, издатель, автор, год издания и
подобные им) и не загружается информация, которая описывает тематику публикации (кроме
кодов классификации, например, УДК, специфицированных явным образом). Еще одним недостатком системы является то, что она не позволяет генерировать онтологии области знания в
автоматизированном режиме. Наконец, интерфейс поискового запроса к системе не разрешает ввода запроса в свободной форме. Тематику желаемых результатов поиска можно задать
только явным образом, указав коды классификатора ВИНИТИ5 .
Несмотря на большое число важных достоинств, отмеченные недостатки не позволяют использовать систему ИСИР для решения задачи, которая поставлена в настоящей диссертации.
1.3.3.2
Система, разработанная в ИСИ СО РАН
Значительный вклад в решение задач на рассматриваемом направлении вносят работы, выполненные в Институте систем информатики Сибирского отделения РАН. Целью этих работ
является разработка методологии создания интернет-порталов знаний, которые представляют
научную дисциплину и интегрируют ресурсы по тематике (публикации, сайты, организации и
другие) в единое информационное пространство. Отметим, что на основе предлагаемой методи1
http://www.prismstandard.org
http://www.openarchives.org/sfc/sfc_oams.htm
3
http://www.imc.org/pdi
4
http://www.eurocris.org
5
http://scs.viniti.ru/rubtree/main.aspx?tree=RV
2
26
ки были созданы два предметных портала, которые функционируют в настоящее время. Один
из них посвящен компьютерной лингвистике1 , а другой – археологии2 . Далее по тексту диссертации программный комплекс, разработанный в ИСИ СО РАН, для краткости обозначается
как «система ИСИ СО РАН».
Как и в случае с системой ИСИР, в рассматриваемом подходе используются семантические
технологии. В портале, посвященном компьютерной лингвистике, используются три онтологии:
онтология научной деятельности, научного знания и онтология базовых задач. Онтология научной деятельности, построенная на основе Dublin Core, включает в себя такие понятия, как
персона, документ, событие и другие концепты. Онтология научного знания включает такие
метапонятия, как раздел науки, метод исследования, объект исследования и подобные им, а
также онтологию предметной области, которая состоит из пять иерархий, соответствующих
пяти метапонятиям. Основные концепты онтологий научной деятельности и научного знания
представлены на рис. 1.8. Часть онтологии области научного знания на примере компьютерной лингвистики схематически представлена на рис. 1.9. Онтология базовых задач содержит
спецификацию требований к пользовательскому интерфейсу в рамках таких задач, как поиск,
навигация, просмотр и фильтрация информации. Отметим, что все три онтологии строятся
полностью вручную [29].
Рис. 1.8. Схема основных онтологий системы ИСИ СО РАН.
В системе хранятся в виде экземпляров как локальные документы, так и сведения об информационных ресурсах в Интернет. Программный комплекс ИСИ СО РАН способен отвечать на
многие запросы, которые перечислены в требованиях к системе, созданной в ходе работ по под1
2
http://uniserv.iis.nsk.su/cl
http://www.sati.archaeology.nsc.ru/classarch2
27
Рис. 1.9. Фрагмент онтологии компьютерной лингвистики в системе ИСИ СО РАН.
готовке настоящей диссертации. В частности, он позволяет искать информацию об ученых, исследовательских группах и организациях, а также об их деятельности. Выделение информации
ограничивается автоматизацией сбора релевантных интернет-ресурсов, которые индексируются и классифицируются. При этом для каждого документа строится семантическая аннотация,
и он классифицируется по разделам науки [30]. Общая архитектура системы представлена на
рис. 1.10.
Частью портала является тезаурус, содержащий слова и словосочетания, с помощью которых понятия онтологии представляются в текстах и пользовательских запросах. Тезаурус
выступает в качестве лингвистической поддержки онтологии и может быть многоязычным.
Опишем подробнее модуль заполнения онтологии [31]. Для поиска и добавления в онтологию экземпляров понятий используются словари разных типов, составляемые экспертамилингвистами. Ключевая лексика для словарей и онтологий извлекается автоматически из обучающей выборки документов, которые относятся к рассматриваемой предметной области. Словари связываются с понятиями и отношениями онтологии с помощью специальных структур,
называемых схемами фактов.
Заполнение онтологии информацией происходит следующим образом. В систему загружается база ссылок на документы предметной области, создаваемая экспертами. По этим ссылкам документы скачиваются и анализируются на предмет их релевантности тематике портала.
28
Рис. 1.10. Архитектура системы ИСИ СО РАН.
Ссылки на другие ресурсы, содержащиеся в этих текстах, добавляются в базу, и, таким образом,
осуществляется обход Интернет. Один из недостатков этого подхода состоит в том, что релевантный документ может не входить в данный граф ссылок, например, потому, что он появился
лишь недавно. Другой недостаток заключается в том, что для регулярного скачивания большого количества документов необходимы значительные вычислительные ресурсы. С этой точки
зрения более обоснованно использование поисковых служб, которые регулярно индексируют
все электронные ресурсы и предоставляют более полную и актуальную информацию.
Модуль заполнения онтологии ориентирован на анализ и ранжирование документов. Отметим, что во многом он дублирует функциональные возможности поисковых систем в Интернет, которые используют алгоритмы, разрабатываемые годами. В предлагаемом в настоящей
диссертации подходе информация выделяется из уже проиндексированных и отранжированных поисковыми «движками» ресурсов. Это увеличивает полноту охвата предметной области
и точность получаемых данных. Использование поисковых служб подчеркивает специфику семантических технологий, которая заключается в поиске не документов, а информации. Отметим, что в системе ИСИ СО РАН содержится модуль индексирования и классификации,
который отвечает за выделение из документов объектов и связей онтологии. В работе модуля
используется технологический комплекс Алекс+, предназначенный для создания предметноориентированных словарей. Комплекс позволяет создавать словари как в ручном, так и в авто-
29
матическом режиме на основе обучающей выборки. В словаре хранится как семантическая, так
и статистическая информация о терминах, что позволяет проводить классификацию документов по разделам науки. Внешний вид окна редактирования словаря представлен на рис. 1.11. На
этапе индексирования происходит выделение из текста документа объектов и связей, которые
соответствуют понятиям и отношениям онтологии. На вход модуля индексирования поступает
множество терминов, выделенных на этапе лексического анализа текста.
Рис. 1.11. Окно редактирования словаря в системе ИСИ СО РАН.
К сожалению, подробную схему работы модуля индексирования и классификации, а также
оценки ее качества в публикациях, которые посвящены системе, найти не удалось.
Для настройки системы ИСИ СО РАН на другую предметную область необходимо выполнение следующих действий [32].
• Разработка онтологии.
С помощью экспертов вручную необходимо создать иерархии, «привязанные» к метапонятиям онтологии знаний, а затем провести полуавтоматический выбор оставшихся понятий
предметной области из коллекции текстов в обучающей выборке, посвященных этой предметной области.
30
• Разработка тезауруса предметной области.
Тезаурус строится на основе анализа текстов с участием экспертов.
• Настройка шаблонов пользовательского интерфейса.
• Информационное наполнение портала.
Отметим следующие важные достоинства системы.
• Использование нескольких онтологий, часть которых является предметно-зависимыми,
а часть – предметно-независимыми, что облегчает настройку системы на произвольную
область знания.
• Выполнение сложных аналитических запросов.
• Система позволяет задавать поисковый запрос как в свободной форме в строке поиска,
так и специфицировать сложный запрос в терминах объектов онтологии и связей между
ними.
• Возможность редактирования онтологии в процессе эксплуатации портала.
• Развитая методика визуализации онтологии.
Внешний вид окна просмотра объекта представлен на рис. 1.12.
Рис. 1.12. Окно просмотра объекта в системе ИСИ СО РАН.
31
Система ИСИ СО РАН обладает следующими особенностями, которые препятствуют ее
использованию для решения задачи, поставленной в настоящей диссертации.
• Отсутствие модуля автоматизированного построения онтологии области знания, которую
необходимо строить вручную.
Например, в портале по компьютерной лингвистике онтология содержит 130 понятий.
• Необходимость формирования подборки документов, релевантных области знания, для
поддержки автоматизированного создания словарей экспертами.
• Методика скачивания документов не позволяет находить наиболее актуальную информацию по тематике.
• Отсутствие анализа эффективности модулей комплекса в работах, посвященных системе.
Анализ двух конкретных интернет-порталов (по компьютерной лингвистике и археологии),
разработанных на основе подхода ИСИ СО РАН, выявил следующие недостатки.
• Малый охват области знания.
На настоящее время в онтологии, которая используется в портале по компьютерной лингвистике, содержится 85 классов, 73 отношения, 2002 экземпляра, 4000 связей между экземплярами.
• Неудобная визуализация объектов и связей между ними.
В описании объектов представлено много информации, которая недостаточно понятно
организована и содержит очень малое количество визуальных элементов, облегчающих
навигацию.
• Отсутствие описания модели области знания, что затрудняет навигацию и поиск.
Например, из интерфейса системы непонятно, чем отличается отношение «разделиспользует-метод» от отношения «раздел-рассматривает-метод».
• Недостаток механизмов для интеллектуальной обработки поискового запроса.
Приведем пример. Согласно онтологии системы1 , в задаче понимания текста используется
алгоритм Портера2 . Однако на запросы «алгоритмы понимания текста» (и его варианты
«методы понимания текста», «алгоритм понимание текст» и подобные им) система не
выдает результатов.
• Сложность интерфейса расширенного поиска.
Расширенный поиск предназначен для задания поискового запроса в терминах понятий
и отношений онтологии, что позволяет выполнять сложные аналитические запросы. К
сожалению, реализация расширенного поиска на портале компьютерной лингвистики
3
затрудняет ориентацию пользователя в пространстве понятий и отношений онтологии.
1
http://uniserv.iis.nsk.su/cl/index.php?obj=217
http://uniserv.iis.nsk.su/cl/index.php?obj=669
3
http://uniserv.iis.nsk.su/cl/quest.php
2
32
Фрагмент интерфейса расширенного поиска на портале представлен на рис. 1.13. Одним из путей решения данной проблемы может быть добавление визуальных элементов
и интерактивных подсказок, которые помогают пользователю разобраться в структуре
онтологии и сформулировать запрос.
Рис. 1.13. Интерфейс расширенного поиска в системе ИСИ СО РАН (фрагмент).
• Отсутствие логического вывода при поиске.
Приведем пример. Упомянутому выше алгоритму Портера, который используется в зада33
че понимания текста, посвящена публикация 1980 года1 . Задача понимания текста также
рассматривает алгоритм Ножова 2 , который описан в публикации 2003 года3 . При поиске
публикаций по разделу науки «понимание текста» среди 31 результата поиска не выводится ни одна, ни другая публикация. Это позволяет сделать вывод, что логические переходы
система автоматически не осуществляет, хотя данная возможность является важнейшим
преимуществом семантических технологий.
Завершая краткое описание систем ИСИР и ИСИ СО РАН, заметим, что они обладают
большим числом достоинств, перечисленных выше. Некоторые идеи, на которых основаны рассмотренные подходы, были использованы при разработке комплекса, описанию которого посвящена настоящая диссертация. Вместе с тем отметим, что главное отличие рассмотренных
систем состоит в формулировке их основной цели. Цель проекта ИСИР – интегрировать информационные и программные ресурсы отдельных научных учреждений. Цель портала ИСИ –
предоставить адекватное описание области знания. Важнейшей характеристикой такой системы
является актуальность и полнота информации, а основным источником данных для наполнения
портала является Интернет. Главной целью системы, предлагаемой в настоящей диссертации,
является анализ научной деятельности отдельной организации или объединения организаций.
Это обстоятельство накладывает дополнительные требования на качество выделения информации из загружаемых данных, имеющих формат, который обладает своей спецификой. Система
рассчитана в первую очередь на регулярную обработку информации о научной деятельности
сотрудников, а информация из Интернет является вспомогательной. Данное различие в целях,
а также ряд других особенностей, перечисленных выше, не позволяют использовать комплекс
ИСИ СО РАН в качестве средства для решения задачи, поставленной в настоящей диссертации.
1.4
Выводы
Подводя итог представленным подходам к решению поставленной в настоящей диссертации задачи, а также существующим методам и средствам управления научной информацией, перечислим основные недостатки известных на настоящее время систем обработки и анализа научных
данных, которые могли бы рассматриваться как возможные решения основной задачи.
• Сложность ввода данных.
Большинство рассмотренных систем не позволяют вводить данные в текстовом формате
произвольной структуры, а требуют ввода данных в заданные формы. Практика показывает, что заставить сотрудников заносить данные вручную в поля некоторой структуры
очень сложно, а потребовать от них предоставлять отчеты в едином формате для крупных
организаций, а тем более корпоративных структур, является объективно нереализуемой
задачей.
1
http://uniserv.iis.nsk.su/cl/index.php?obj=671
http://uniserv.iis.nsk.su/cl/index.php?obj=1530
3
http://uniserv.iis.nsk.su/cl/index.php?obj=652
2
34
• Сложность и малые возможности поиска информации.
В запросе необходимо задавать тематику объектов (например, публикаций), которые нужно найти. Тематика публикации может находиться на стыке нескольких направлений одной области знаний и описываться несколькими ключевыми фразами, а не одной. Целью
настоящей диссертации является создание системы, способной обрабатывать запрос, заданный произвольным набором ключевых фраз на естественном языке. Это усложняет
выполнение запроса и переносит часть алгоритмической сложности с процесса загрузки
данных на процесс выполнения запроса, повышая, тем самым, гибкость системы.
• Использование жестких и малоинформативных моделей области знания, нехватка гибкости систем.
Предметные области в современных программных комплексах, как правило, задаются
заранее и вручную. Это связано с несколькими проблемными вопросами, главными из
которых являются необходимость задействовать большой объем человеческих ресурсов, а
также необходимость постоянного ручного обновления модели.
• Направленность на обработку информации из Интернет, а не на полуавтоматический ввод
пользователем.
Как было отмечено ранее, далеко не вся информация, содержащаяся в научных отчетах,
находится в Интернет в открытом доступе. Не весь объем такой информации индексируется веб-сервисами. Это обстоятельство ограничивает их применимость для рассматриваемой задачи.
• Ориентация на распределенный характер хранения и доступа к данным и недостаточное
внимание к интеллектуализации алгоритмов загрузки, обработки и поиска информации.
Использование онтологий позволяет сравнительно легко перейти от централизованной к
распределенной модели хранения и доступа к данным. Вместе с тем, в настоящей диссертации основной акцент делается не на распределенный характер информации, а на
интеллектуализацию алгоритмов ее загрузки, обработки, поиска и анализа.
В заключение необходимо отметить следующие два обстоятельства. Во-первых, программный комплекс, выступающий в качестве целевого в настоящей работе, с успехом может применяться во взаимодействии с другими системами, которые представлены выше, использовать
отдельные их компоненты или информационные активы. Во-вторых, изложенные в главе 1
результаты исследования методов, средств и систем управления научной информацией, как
предметной областью, позволяют системно представить эту область. Это создает исходные посылки:
• для формирования подлежащего разработке комплекса, автоматизирующего технологические процессы в области поиска и хранения, систематизации и анализа данных о научной
деятельности;
• для построения общей формальной модели такого автоматизированного комплекса в целом и более детальных моделей отдельных составляющих его компонент.
35
Глава 2
Архитектура системы учета и анализа
научной информации
В настоящей главе представлены принятые автором архитектурно-технологические решения,
которые используются при разработке автоматизированной системы управления научной информацией. Эти решения выбраны на основе результатов предпроектных исследований и легли
в основу созданного прототипа такой системы. Прототип системы является основным практическим результатом деятельности в рамках подготовки настоящей диссертации. В разделе 2.2
приведена общая модель прототипа разработанного автором программного комплекса и его архитектура, согласно которой он разбивается на пять основных модулей. С использованием этих
модулей решаются отдельные задачи, имеющие свою формальную постановку. Описанию этих
задач посвящены разделы 2.3–2.7, в которых представлены результаты проведенного автором
поиска и анализа известных подходов в рамках соответствующих направлений исследований.
На основе такого анализа выбраны методы, с помощью которых можно получить решения,
удовлетворяющие сформулированным в диссертации требованиям к целевой программной системе. Для двух ключевых модулей, а именно – выделения терминов и построения онтологии
области научного знания, автором разработаны алгоритмы, которые учитывают специфику
поставленной в диссертации цели. Подробному описанию этих алгоритмов посвящена глава 3.
2.1
Онтологический подход к представлению знаний
Исходя из требований к разрабатываемой системе, которые сформулированы в разделе 1.1 и
детализированы в Приложении А, в настоящей диссертации в качестве базовой модели представления знаний автор использует онтологии. Согласно классическому определению Т. Грубера [33], онтология – это «формальная, явная спецификация общей концептуализации». Другими словами, это способ представления знаний с помощью конечного множества понятий и
отношений между ними. Онтологии используются для формального описания области знания.
Понятие, или сущность - это класс индивидуальных объектов, или экземпляров. Связи между
понятиями бывают следующих типов:
36
• иерархические («собаки являются животными»);
• свойства («учитель обучает ученика»);
• ограничения значений («только человек может быть родителем человека»);
• определяющие непересекаемость понятий («кошка или собака»);
• конкретизирующие логические отношения («в статье должен быть как минимум один
автор»).
Для задания онтологии предметной области используются следующие классы языков, основанных на различных математических моделях.
• Языки, основанные на графических моделях.
В качестве примеров приведем семантические сети [34], тематические карты (topic
maps) [35], язык UML [36] и модель RDF [8].
• Языки, основанные на математической логике.
Примерами являются языки, основанные на дескриптивной логике (OIL [37], DAML+OIL
[38], OWL [39]), правилах (RuleML [40], Prolog [41]), логике первого порядка (KIF [42]),
логиках высших порядков (LBase [43]) и неклассической логике (F-logic [44]).
• Языки, основанные на вероятностных и нечетких моделях.
Распространенные языки описания онтологий, такие как OWL Lite [39], OWL DL и OWL 2,
отображаются в подклассы дескриптивной логики [45, 46]. Отметим преимущества таких отображений.
• Они позволяют использовать для описания знаний языки, которые имеют формальную
семантику.
• Дескриптивная логика обеспечивает возможность выполнять логический вывод новых
утверждений в онтологии, в том числе – используя уже существующие алгоритмы.
• Существуют эффективные программные системы, разработанные на основе подхода дескриптивной логики, которые можно использовать повторно.
Приведем определения основных понятий базовой дескриптивной логики 𝒜ℒ𝒞 [47]. Следует
заметить, что широко используемые языки описания онтологий, такие как OWL Lite, OWL DL
и OWL 2, отображаются в более сложные дескриптивные логики. Например, математической
основой языка OWL Lite является дескриптивная логика 𝒮ℋℐℱ(𝒟) [45], а языка OWL 2 –
логика 𝒮ℛ𝒪ℐ𝒬(𝒟) [46]. Эти логики являются расширениями базовой логики 𝒜ℒ𝒞. В целях
краткости и общности изложения все определения и формальные рассуждения в настоящем
разделе приведены для логики 𝒜ℒ𝒞 с использованием терминологии из [48].
Определение 2.1. Пусть 𝑁𝐶 – множество имен понятий и 𝑁𝑅 – множество имен отношений.
Множеством 𝒜ℒ𝒞-понятий называется такое наименьшее по мощности множество, что
37
1. ⊤ (универсальное понятие), ⊥ (пустое понятие) и все имена понятий 𝐴 ∈ 𝑁𝐶 являются
𝒜ℒ𝒞-понятиями;
2. если 𝐶 и 𝐷 – 𝒜ℒ𝒞-понятия и 𝑟 ∈ 𝑁𝑅 , то выражения 𝐶 ⊓𝐷, 𝐶 ⊔𝐷, ¬𝐶, ∀𝑟.𝐶, ∃𝑟.𝐶 являются
𝒜ℒ𝒞-понятиями.
Семантика дескриптивных логик задается с помощью интерпретации, определяемой для
логики 𝒜ℒ𝒞 следующим образом.
Определение 2.2. Интерпретацией называется пара ℐ = (∆ℐ , ·ℐ ), состоящая из непустого
множества ∆ℐ , называемого доменом интерпретации и функции ·ℐ , которая отображает каждое
𝒜ℒ𝒞-понятие в подмножество домена ∆ℐ , а каждое имя отношения из 𝑁𝑅 – в подмножество
декартова произведения ∆ℐ ×∆ℐ так, что для любых 𝒜ℒ𝒞-понятий 𝐶, 𝐷 и произвольного имени
отношения 𝑟 справедливо:
⊤ℐ = ∆ℐ ,
⊥ℐ = ∅,
(𝐶 ⊓ 𝐷)ℐ = 𝐶 ℐ ∩ 𝐷ℐ ,
(𝐶 ⊔ 𝐷)ℐ = 𝐶 ℐ ∪ 𝐷ℐ ,
¬𝐶 ℐ = ∆ℐ ∖ 𝐶 ℐ ,
(∃𝑟.𝐶)ℐ = {𝑥 ∈ ∆ℐ | ∃𝑦 ∈ ∆ℐ : (𝑥, 𝑦) ∈ 𝑟ℐ ∧ 𝑦 ∈ 𝐶 ℐ },
(∀𝑟.𝐶)ℐ = {𝑥 ∈ ∆ℐ | ∀𝑦 ∈ ∆ℐ : если (𝑥, 𝑦) ∈ 𝑟ℐ , то 𝑦 ∈ 𝐶 ℐ }.
Определение 2.3. Аксиомой вложенности понятий называется утверждение вида 𝐶 ⊑ 𝐷,
где 𝐶 и 𝐷 – произвольные 𝒜ℒ𝒞-понятия.
Определение 2.4. Конечное множество аксиом вложенности понятий называется 𝑇 𝐵𝑜𝑥,
или терминологической частью онтологии.
Определение 2.5. Интерпретация ℐ называется моделью аксиомы вложенности понятий
𝐶 ⊑ 𝐷, если 𝐶 ℐ ⊆ 𝐷ℐ .
Определение 2.6. Интерпретация ℐ называется моделью 𝑇 𝐵𝑜𝑥 𝒯 , если она является моделью всех аксиом вложенности понятий из 𝒯 .
Определение 2.7. Пусть 𝑁𝑥 – множество имен экземпляров. Тогда утверждениями об
экземплярах называются выражения вида 𝑥 : 𝐶 и (𝑥, 𝑦) : 𝑟, где C – произвольное 𝒜ℒ𝒞-понятие,
𝑟 – произвольное имя отношения, а 𝑥, 𝑦 ∈ 𝑁𝑥 .
Определение 2.8. Конечное множество утверждений об экземплярах называется 𝐴𝐵𝑜𝑥,
или фактологической частью онтологии.
Определение 2.9. Интерпретация ℐ называется моделью утверждения об экземплярах
вида 𝑥 : 𝐶, если 𝑥ℐ ∈ 𝐶 ℐ . Интерпретация ℐ называется моделью утверждения об экземплярах
вида (𝑥, 𝑦) : 𝑟, если (𝑥ℐ , 𝑦 ℐ ) ∈ 𝑟ℐ .
Определение 2.10. Интерпретация ℐ называется моделью 𝐴𝐵𝑜𝑥 𝒜, если она является моделью всех утверждений об экземплярах из 𝒜.
Определение 2.11. Базой знаний (онтологией) называется пара (𝒯 , 𝒜), где 𝒯 является
𝑇 𝐵𝑜𝑥, а 𝒜 − 𝐴𝐵𝑜𝑥.
Определение 2.12. Интерпретация ℐ называется моделью базы знаний 𝒦 = (𝒯 , 𝒜), если
она одновременно является моделью 𝒯 и моделью 𝒜.
38
Использование онтологий для представления знаний имеет ряд преимуществ. Вопервых, онтология содержит общее видение области знания, что позволяет устранить различия
в терминологии, проблемы синонимии и многоязычности. Во-вторых, математический аппарат
дескриптивной логики предоставляет средства логического вывода новых фактов на основе
существующих. Таким образом, использование онтологий обеспечивает выполнение требования 1.5 к разработанной системе, которое заключается в необходимости осуществления логического вывода новых знаний. Подробные описания этого и других детализированных требований
к системе представлены в Приложении А. Логический вывод новых утверждений позволяет
превращать скрытое знание в явное, а также находить противоречия в онтологиях. Следует
отметить, что неявное знание, как правило, и содержит смысл явного. Именно в этом контексте принято утверждать, что в рамках семантического подхода компьютер «понимает» смысл
информации. Задание специальных связей (таких, как «является подклассом») между понятиями в терминах логического вывода по существу означает задание семантики области знания.
С помощью логического вывода можно автоматически классифицировать экземпляры по классам на основе их атрибутов. Большим достоинством логического вывода является возможность
не вводить в онтологию всю информацию, а ввести лишь ее базовую часть, из которой можно
вывести все необходимые утверждения. Заметим, что правила логического вывода отличаются
для различных языков на основе RDF-модели, так как эти языки имеют разную семантику.
Рассмотрим в качестве примера задачу поиска объектов, разделенных на категории, которые организованы в иерархическую структуру. Предположим, что согласно условию задачи, в
результаты поиска по категории должны входить также и объекты, принадлежащие ее подкатегориям. Для решения этой задачи можно использовать более сложную формулировку запроса,
которая явно перечисляет все подкатегории выбранной категории, а можно использовать логический вывод, организуя информацию в онтологию. Отметим, что при последнем подходе
необходимая функциональность достигается с минимальными усилиями, так как большое количество универсальных программных средств логического вывода для основных языков на
основе модели RDF уже разработано.
Следует обратить внимание на основной вопрос, который возникает при проектировании систем на основе онтологий, использующих логический вывод. Он заключается в том, как управлять утверждениями-тройками, полученными в результате логического вывода. Если хранить
их в общей базе утверждений, то при любом ее изменении (например, добавлении или удалении
любого утверждения) необходимо удалять все выведенные утверждения и выводить их заново,
чтобы поддерживать базу в актуальном состоянии. Если же не хранить выведенные утверждения, то необходимо выводить их при выполнении каждого запроса. Этому вопросу посвящено
большое количество публикаций, и ответ на него в большой степени зависит от специфики
рассматриваемой системы. В настоящей работе принято решение хранить автоматически выведенные утверждения в онтологии, так как предполагается, что она будет перестраиваться
сравнительно редко.
39
Представление знаний с помощью онтологий в информационно-поисковых системах позволяет выполнять сложные структурированные (объектно-ориентированные) запросы, которые
можно представить в виде графа. Необходимость выполнения именно таких запросов отмечена
в требовании 1.3 к разработанной системе. Примером такого запроса является «выдать имена
президентов США, жены которых являлись членами общественно-политических организаций».
Практически выполнение такого запроса сводится к поиску подграфа в графе. На основе онтологии информационно-поисковая система может предложить конкретизировать или, наоборот,
расширить запрос, если ему удовлетворяет слишком много (соответственно, слишком мало)
объектов. Более того, онтология позволяет предложить пользователю самому осуществить обзор области знания с помощью навигации по понятиям, переходя от одного понятия к другому
по связям между ними.
Еще одним важным преимуществом использования онтологий является возможность объединять данные различных организаций с минимальными усилиями. Это свойство онтологий
обеспечивает выполнение требования 1.6 к разработанной системе, которое заключается в необходимости интеграции информации, содержащейся в системе, с другими хранилищами. При использовании реляционных баз данных для объединения информации необходимо согласование
множества величин, которые имеют технический характер, например, названий полей таблиц.
Онтологии позволяют вынести процесс согласования на семантический уровень. Это означает, что если две организации используют одну и ту же онтологию, то есть модель данных, то
конкретная реализация системы ее хранения не имеет значения. Объединение данных в таком
случае можно осуществить со сравнительно небольшими затратами ресурсов, просто соединив
две базы утверждений-троек, входящих в фактологические части онтологий.
Отметим еще несколько преимуществ использования онтологий для представления знаний.
• Гибкость модели данных, которая позволяет сравнительно легко ее изменять и расширять.
Это свойство онтологий обеспечивает выполнение требования 5.1 к разработанной автором
системе, которое заключается в возможности оперативного расширения и модификации
используемых моделей данных.
• Возможность повторного применения существующих онтологий.
Это преимущество позволяет не создавать схему данных заново, а воспользоваться готовыми решениями, прошедшими практическую апробацию. Например, в настоящей диссертации для описания формальных характеристик результатов научной деятельности
используется онтология Semantic Web for Research Communities (SWRC) [7].
2.2
Модель и архитектура системы учета и анализа научной информации
Рассмотрим общую формальную модель сложно организованного процесса учета и анализа
научно-технической информации, который положен автором в основу созданного для его реа40
лизации прототипа автоматизированной системы.
Пусть задана область научного знания 𝐷 (например, «информатика»). Пусть 𝐼 – множество
описаний единиц (атомарных гранул) научно-технической информации в рамках этой области
знания. К таким единицам относятся: научные статьи; патенты; отчеты; доклады на конференциях; тезисы докладов; монографии; учебные пособия и иные авторские разработки (рефераты,
переводы). Каждый элемент множества 𝐼 представляет собой некоторое текстовое описание соответствующего объекта.
Основной целью системы является выполнение поисково-аналитических запросов, примеры
которых представлены в разделе 1.1. Обозначим множество типовых запросов символом 𝑄.
Задача состоит в построении отображения 𝑟𝐼 : 𝑄 → 2𝐼 , которое сопоставляет запросу 𝑞 ∈ 𝑄
подмножество описаний единиц научно-технической информации 𝐼𝑞 ⊆ 𝐼.
На рисунке 2.1 представлена общая архитектура разработанной системы, которая включает
следующие модули:
• модуль выделения терминов, которые характеризуют область научного знания 𝐷, из текстовых описаний научно-технических конференций, посвященных этой области знания;
• модуль построения онтологии рассматриваемой области научного знания 𝐷;
• модуль загрузки данных о результатах научной деятельности сотрудников;
• модуль установления связей между загруженной информацией о результатах научной деятельности и экземплярами построенной онтологии области знания;
• модуль выполнения аналитических запросов к полученной информации.
Рис. 2.1. Общая архитектура разрабатываемой системы управления научной информацией.
41
Представленная архитектура обеспечивает выполнение требования 5.9 к разработанной системе, которое заключается в том, что она должна иметь модульную архитектуру. Рассмотрим
общую схему работы системы. На этапе выделения терминов из анонсов научных конференций,
разбитых на рубрики, извлекаются ключевые слова, которые характеризуют область научного
знания 𝐷. Затем на основе этих терминов и с использованием поисковых систем в Интернет выполняется построение онтологии области 𝐷. Построенная онтология применяется при
дальнейшем функционировании программного комплекса. На этапе загрузки данных из информации, которую пользователи вводят в систему, выделяются необходимые сведения об их
научной деятельности. На следующем этапе происходит установление связей (тематическая
классификация) между научными результатами пользователей и понятиями построенной онтологии. Наконец, модуль выполнения запросов обеспечивает анализ полученной информации.
Далее в разделах 2.3–2.7 каждый из пяти перечисленных этапов рассматривается подробнее.
2.3
Выделение терминов, характеризующих область знания
Важнейшим этапом построения онтологии является формирование множества терминов (ключевых слов), которые характеризуют область знания 𝐷. Следует отметить, что задача выделения терминов имеет и самостоятельную ценность. В настоящем разделе дано ее описание и
краткая характеристика разработанного автором алгоритма выделения терминов из коллекции
текстов с заданным тематическим делением. Подробному описанию этого алгоритма посвящен
раздел 3.1.
Задача выделения терминов является важной на направлении исследований, связанных с
извлечением информации из текстовых документов. Актуальность этих исследований обусловлена быстро увеличивающимся объемом подобной информации, например, в крупных корпоративных информационных системах и в Интернет.
Под терминами понимаются слова или словосочетания, несущие информацию о тематике
документа. Термины, или ключевые слова, представляют собой краткое описание документа,
которое может быть использовано как непосредственно для выдачи пользователю, например в
результатах поиска, так и для дальнейшей обработки, например, классификации и кластеризации информации.
Задача выделения терминов привлекает внимание многих исследователей. Существует большое число алгоритмов, которые позволяют выделять термины-одиночные слова (их обзор представлен в [49]). К выделению терминов существует два популярных подхода, которые принято
именовать лингвистическим и статистическим.
Лингвистический подход подразумевает выделение ключевых слов и фраз на основе морфологии и семантики текста. В рамках этого подхода широко используются базы семантических
42
связей между словами (например, база WordNet1 ), словари синонимов, средства морфологического разбора и анализа. Самые известные разработки на основе лингвистического подхода –
это системы TERMS [50] и LEXTER [51]. Основным проблемным вопросом при реализации
лингвистических методов является «шум», а именно – большое количество словосочетаний,
характерных для естественного языка, но не являющихся терминами.
Статистический подход подразумевает оценивание важности слова на основе информации о числе его вхождений в документы. Для этого чаще всего используются модели на основе
TF-IDF [52] – нормализованного веса слова. В рамках статистического подхода широко применяются средства, основанные на вероятностных моделях [53, 54]. С одной стороны, это позволяет использовать мощный математический аппарат и получать теоретические доказательства
эффективности алгоритмов. С другой стороны, большинство таких подходов имеют один существенный недостаток. Его суть в том, что они опираются на предположение о независимости
появления слов в предложении. Для естественного языка такая гипотеза является слишком
сильным условием. Например, слова «теорема» и «доказывать» являются гораздо более зависимыми, чем слова «теорема» и «петь». Другим методом в рамках статистического подхода
является формулирование «базовых требуемых свойств», на основе которых строится критерий
отбора терминов. Именно этот метод используется в алгоритме, разработанном автором.
В отличие от лингвистического подхода, основным проблемным вопросом при реализации
статистического подхода является «тишина» – ситуация, при которой термины, состоящие
из одного слова, остаются незамеченными системой. В исследованиях последних лет статистические и лингвистические методы часто комбинируются. Здесь можно выделить систему
ACABIT [55], а также TRUCKS [56].
Определение 2.13. Под термином в настоящей диссертации понимается пара слов, характеризующая документ, в котором она встречается, с точки зрения его принадлежности к одной
или нескольким рубрикам.
Приведем формальную постановку задачи выделения терминов, которая решается в настоящей диссертации. Пусть дано множество документов 𝐷𝑜𝑐, разделенных на рубрики 𝑟1 , . . . , 𝑟𝑛 .
Задача состоит в построении множества 𝑇 𝑒𝑟𝑚𝑠 терминов. Каждый термин 𝐴 ∈ 𝑇 𝑒𝑟𝑚𝑠 состоит
из двух упорядоченных слов: 𝐴 = (𝐴1 , 𝐴2 ). Подробное описание формальной модели, которая
используется на этапе выделения терминов, приведено в разделе 3.1.1.
В настоящей диссертации рассматривается разработанный автором новый алгоритм выделения терминов, получивший название Brainsterm [3]. Его подробное описание представлено в
разделе 3.1. Исходя из общих требований к разработанной системе, перечислим требования к
алгоритму выделения терминов.
• Алгоритм должен извлекать из документов термины, которые характеризуют направления, задачи, методы и средства в рамках заданной области научного знания.
Это указание следует из общего требования 1.3 к функциональности системы, которое
заключается в необходимости выполнения аналитических запросов определенного вида.
1
http://wordnet.princeton.edu
43
• Точность и полнота извлекаемых терминов не должна уступать показателям существующих и прошедших апробацию алгоритмов выделения терминов.
Это предписание обусловлено требованием 4.3, которое обращается к качеству выполнения
поисковых запросов к системе.
• Алгоритм не должен требовать обучения, либо должна существовать возможность получать необходимые обучающие выборки из открытых источников, не затрачивая больших
усилий по их обработке.
Это указание напрямую продиктовано требованием 4.5 к разработанной системе, которое
означает необходимость минимизировать трудоемкость подготовки обучающих выборок
для настройки системы на конкретную область научного знания.
• Алгоритм не должен требовать большого объема ручного труда экспертов по настройке
на заданную предметную область.
Это указание следует из требования 4.6, которое предписывает минимизировать объем
ручного труда экспертов по настройке системы на определенную область знания.
• Источники данных для алгоритма должны находиться в открытом доступе и регулярно
обновляться.
Эти характеристики определяются требованием 5.2, которое указывает на необходимость
автоматизированного обновления информации о заданной предметной области.
• Алгоритм должен иметь модульную архитектуру.
Этот пункт напрямую связан с требованием 5.9 модульности архитектуры всей разработанной системы.
• Должна существовать возможность автоматизированной настройки алгоритма на конкретную область знания.
Это предписание продиктовано требованием 6.1, которое заключается в возможности автоматизированного обучения и настройки всей системы на заданную предметную область.
Алгоритм Brainsterm позволяет извлекать термины, состоящие из пар слов, из текстовых
документов 𝐷𝑜𝑐, которые разделены на рубрики. Выбор в качестве терминов пар слов обусловлен тем обстоятельством, что пары слов могут описывать документ точнее, чем одиночные
слова. Например, по отдельности слова «граф» и «теория» могут характеризовать различные
тематические направления. Однако, употребляемые вместе они с большой вероятностью свидетельствуют о том, что заданный документ посвящен математике.
Важной особенностью рассматриваемой задачи является требование разделения подлежащих анализу документов 𝐷𝑜𝑐 на рубрики. Выделенные термины зависят от исходных рубрик.
С одной стороны, такое требование накладывает дополнительное условие на систему, которая
использует алгоритм Brainsterm. Его суть в том, что документы, из которых нужно выделить
термины, должны быть предварительно классифицированы. Для этого можно использовать
обучающую выборку, составленную экспертом. Термины, извлеченные из документов, которые
44
входят в обучающую выборку, можно применять для классификации и кластеризации новых
документов, а также для других задач. Требование рубрицируемости документов дает важное
преимущество. Благодаря относительному характеру терминов, которые зависят от исходных
рубрик, достигается их высокая информативность в рамках конкретной задачи. Это обстоятельство позволяет применять алгоритм Brainsterm в узко специализированных областях, в
которых применение алгоритмов выделения «абсолютных» (не зависящих от рубрик) терминов
не позволяет получить должных результатов.
Заметим, что свойство «быть термином» зависит от контекста имеющихся рубрик. Например, пусть даны рубрики «наука», «искусство», «спорт». Тогда пара слов «доказательство теоремы» будет идеальным термином, так как документ, в котором эта пара встречается, почти
со стопроцентной вероятностью принадлежит рубрике «наука». Рассмотрим пример других
рубрик, а именно –«алгебра», «геометрия», «топология». В контексте данных рубрик пара «доказательство теоремы» уже не будет термином, так как такая пара характерна для всех рубрик,
и судить о тематике документа по наличию в нем этой пары нельзя.
В качестве внешнего источника информации об области знания, которая является разделом
науки, в рамках предлагаемого в настоящей диссертации подхода используются данные о проходящих конференциях, которые можно получить из открытых источников. Этот тип документов
носит название «Call for Papers» (CFP). Документы CFP содержат основные сведения о конференциях, в том числе – название, место и даты проведения, состав программного комитета,
описание конференции, список направлений области знания, работы по которым принимаются
на рассмотрение. Пример документа-анонса конференции CFP представлен на рис. 2.2. Предложенный автором подход на основе использования анонсов научных конференций в качестве
основного источника данных позволяет получать актуальную, полную, надежную информацию
о научной области с требуемым уровнем детализации. Регулярность структуры документов CFP
при этом облегчает выделение нужных данных. Анонсы новых конференций появляются в открытом доступе ежедневно, что позволяет с заданной периодичностью обновлять информацию
об области знания в системе. Это обстоятельство обеспечивает выполнение требования 5.2 к
разработанному программному комплексу, которое заключается в возможности автоматизированного обновления данных в нем. Подробное описание преимуществ использования анонсов
конференций и их связь с сформулированными к системе требованиями представлены в разделе 4.2.1.
Существуют следующие типы источников информации о конференциях.
• Структурированные данные, размеченные организаторами конференций.
Цель разметки может состоять в том, чтобы сообщить как можно большему количеству
людей и систем о конференции, а также в повышении позиции в рейтингах поисковых
систем.
• Структурированные данные, размеченные пользователями.
45
Рис. 2.2. Пример анонса научной конференции.
Примером может служить проект WikiCFP1 , в рамках которого пользователи сами добавляют и редактируют страницы с документами CFP.
• Неструктурированные данные, представленные в списках рассылок и Интернет.
В настоящей диссертации используется второй тип источников информации о конференциях, а
именно – данные, размеченные пользователями на сайте WikiCFP. В Приложении Б приведено
краткое описание этого сервиса. Основными его достоинствами как источника данных для разрабатываемой системы являются: крупный размер каталога конференций; доступность каталога для загрузки; задание тематик конкретных конференций пользователями. Отметим, что для
применения подхода к учету и анализу научной информации, предложенного в диссертации,
не обязательно использовать сервис WikiCFP в качестве источника информации. Достаточно
взять в качестве множества 𝐷𝑜𝑐 любую коллекцию текстовых документов «Call for Papers»,
разбитых на рубрики. Списки электронных почтовых рассылок представляют собой еще один
возможный источник информации о предстоящих конференциях. Отметим, что такой список
рассылки обычно посвящен определенному разделу научного знания. Этот факт означает, что
необходимая рубрикация документов CFP может быть получена естественным образом путем
применения в качестве источников данных нескольких списков рассылок, посвященных различным областям науки. Таким образом, использование анонсов конференций в качестве источника
1
http://www.wikicfp.com
46
информации о предметной области обеспечивает выполнение требования 4.5 к разработанной
системе, которое указывает на необходимость минимизировать объем ручного труда экспертов
по подготовке обучающих выборок документов в рамках заданной области научного знания.
2.4
Построение онтологии области научного знания
Для того, чтобы предоставлялась возможность выполнять сложные аналитические запросы к
данным о результатах научной деятельности ученых, необходима дополнительная информация, которая описывает область знания и связывает единицы научной информации (например,
публикации) с понятиями этой области знания. В этом случае возможен тематический анализ
научных работ, подразумевающий выполнение запросов, основные виды которых отмечены в
разделе 1.1. Примером запроса служит «найти все публикации, посвященные описанию экспериментов с вязкой жидкостью». С учетом изложенного, первым этапом решения поставленной
задачи является построение формальной модели рассматриваемой области знания 𝐷 с помощью
онтологии.
Формально задача построения онтологии на основе коллекции текстов определяется следующим образом.
Определение 2.14. Задача построения онтологии 𝒪 = (𝒯 , 𝒜) состоит в выборе экспертом
(или группой экспертов) коллекции текстов 𝐷𝑜𝑐, которая адекватно характеризует интересующую разработчика онтологии предметную область и в формировании на основе ее формального
(автоматизированного) анализа: множества имен понятий 𝑁𝐶 ; множества имен отношений 𝑁𝑅 ;
множества имен экземпляров 𝑁𝑥 ; конечного множества 𝒯 = 𝑇 𝐵𝑜𝑥 аксиом вложенности понятий (терминологической части онтологии); конечного множества 𝒜 = 𝐴𝐵𝑜𝑥 утверждений об
экземплярах (фактологической части онтологии).
Похожей является задача заполнения онтологии, которая определяется следующим образом.
Определение 2.15. Пусть задано множество имен понятий 𝑁𝐶 , множество имен отношений
𝑁𝑅 и конечное множество 𝒯 = 𝑇 𝐵𝑜𝑥 аксиом вложенности понятий. Тогда задача заполнения
онтологии 𝒪 = (𝒯 , 𝒜) состоит в выборе коллекции текстов 𝐷𝑜𝑐 и построении на основе информации из нее множества имен экземпляров 𝑁𝑥 и конечного множества 𝒜 = 𝐴𝐵𝑜𝑥 утверждений
об экземплярах (фактологической части онтологии).
Построение онтологии включает выделение множеств понятий и имен отношений, а также
экземпляров этих понятий и связей между ними. Заполнение онтологии подразумевает наличие
понятий, связей и имеет целью поиск экземпляров понятий и отношений между ними. Поясним различие между этими задачами на примере области научного знания «теория регулярных
языков и конечных автоматов». Результатом построения терминологической части онтологии
может быть набор таких понятий, как «область исследований», «метод», «задача», «решение»,
«термин» и таких отношений, как «метод используется для решения задачи», «область исследований включает задачу», «термин применяется в методе», «термин является ключевым
понятием области исследований». Задача же заполнения данной онтологии состоит в поиске
47
конкретных методов, задач, решений, терминов и их связей. Например, в фактологическую
часть онтологии могут войти такие утверждения, как «регулярный язык является термином»,
«конечный автомат является термином», «теория автоматов является областью исследований», «термин конечный автомат связан с областью теория автоматов», «минимизация
конечного автомата является задачей, связанной с областью теория автоматов», «алгоритм
минимизации Хопкрофта является методом решения задачи минимизации конечного автомата». Результатом процесса заполнения онтологии является онтология, в которой понятиям
сопоставлены множества экземпляров понятий, связанные между собой отношениями из множества имен отношений.
Следует отметить, что задачи построения и заполнения онтологий в настоящее время являются очень актуальными по следующим причинам.
• Построение и заполнение онтологий требует разработки алгоритмов автоматического выделения информации из текстов на естественном языке.
Большая часть информации в Интернет содержится именно в таком виде. По некоторым
оценкам [57], 80% данных типовой корпорации находятся в текстах на естественном языке.
Ручная обработка таких данных требует очень больших перманентно увеличивающихся
человеческих ресурсов в связи с колоссальными объемами накапливаемой информации.
Именно поэтому интеллектуальные алгоритмы, которые автоматизируют этот процесс,
приобретают огромную важность.
• Заполненная онтология является готовым информационным ресурсом для Семантической
паутины (Semantic Web [58]).
Для реализации видения Semantic Web необходимы автоматические средства генерации
метаданных. Заполнение онтологий подразумевает построение семантической аннотации,
то есть преобразование информации из веб-страниц в онтологию. Семантическая аннотация позволяет в дальнейшем обрабатывать эту информацию машинами, воплощая концепцию Семантической паутины.
• Заполнение онтологии может использоваться для повышения ее качества.
Как отмечается в работах [59, 60], выделение информации с помощью онтологии может
использоваться для оценки качества этой онтологии. Основная идея состоит в том, что
в случае, если онтология помогает эффективно выделять необходимую информацию из
текстов, можно сделать вывод, что эта онтология адекватно описывает область знания.
Недостатки онтологии можно выявить путем анализа информации, которую не получилось извлечь с помощью онтологии.
Построение и заполнение онтологий тесно связано с выделением информации с использованием онтологий (ontology-based information extraction, OBIE) [61]. В Приложении Г приведен краткий обзор методов и средств извлечения данных с применением онтологий. Основной
проблемный вопрос в области выделения информации состоит в том, что либо существующие
системы нуждаются в обучении по документам, размеченным экспертами вручную, либо позво48
ляют выделять данные только из структурированных текстов. Алгоритмы, которые нуждаются
в обучении, обычно эффективно работают только с документами, похожими на обучающие по
стилю и жанру.
В контексте настоящей диссертации для учета и анализа научной информации необходимо
построить онтологию 𝒪𝐷 = (𝒯𝐷 , 𝒜𝐷 ) заданной области научного знания 𝐷. Согласно определению 2.14, для этого необходимо выбрать коллекцию текстов 𝐷𝑜𝑐 и сформировать множества
имен понятий 𝑁𝐶𝐷 , имен отношений 𝑁𝑅𝐷 , имен экземпляров 𝑁𝑥𝐷 , аксиом 𝑇 𝐵𝑜𝑥𝐷 и утверждений
𝐴𝐵𝑜𝑥𝐷 . Исходя из общих требований к разработанной системе, перечислим требования к этой
онтологии и к алгоритму ее построения. Отметим, что этап выделения терминов, которому
посвящен раздел 2.3, является частью алгоритма построения онтологии. В том же разделе изложены требования к алгоритму извлечения терминов. Далее сформулированы требования к
остальным этапам реализации алгоритма построения онтологии и ко всему алгоритму в целом.
• Алгоритм должен извлекать иерархические и ассоциативные отношения между терминами.
Это указание следует из общего требования 1.3 к функциональности системы, которое
заключается в необходимости выполнения аналитических запросов определенного вида.
В онтологии должно содержаться как можно больше информации об области знания, в
частности, не только иерархия понятий и направлений, но и неиерархические (ассоциативные) связи, например, сведения о том, что конкретный метод используется в некотором направлении исследований. Примером иерархического отношения является следующее утверждение: гипотеза Римана «является частным случаем» термина обобщенная
гипотеза Римана. Примером ассоциативного отношения является следующее утверждение: метод конечных элементов «связан» с дифференциальными уравнениями в частных
производных.
• Онтология должна отражать актуальное состояние заданной области научного знания.
Этот пункт означает, что онтология области знания должна содержать наиболее актуальную информацию, в частности, изменения в структуре предметной области, произошедшие за последний год. Это требование связано с тем обстоятельством, что для выполнения запросов, на которые ссылается требование 1.3, необходимы данные, описывающие в
том числе недавнюю деятельность сотрудников. Модель предметной области, тем самым,
должна быть адекватна ее текущему состоянию.
• Точность и полнота извлекаемых терминов и отношений не должна уступать показателям
существующих и прошедших апробацию алгоритмов построения онтологии.
Это предписание обусловлено требованием 4.3, которое обращается к качеству выполнения
поисковых запросов к системе.
• Алгоритм не должен требовать обучения, либо должна существовать возможность получать необходимые обучающие выборки из открытых источников, не затрачивая больших
усилий по их обработке.
49
Это указание напрямую продиктовано требованием 4.5 к разработанной системе, которое
означает необходимость минимизировать трудоемкость подготовки обучающих выборок
для настройки системы на конкретную область научного знания.
• Алгоритм не должен требовать большого объема ручного труда экспертов по настройке
на заданную предметную область.
Это указание следует из требования 4.6, которое предписывает минимизировать объем
ручного труда экспертов по настройке системы на определенную область знания.
• Источники данных для алгоритма должны находиться в открытом доступе и регулярно
обновляться.
Эти характеристики определяются требованием 5.2, которое указывает на необходимость
автоматизированного обновления информации о заданной предметной области.
• Алгоритм должен иметь модульную архитектуру.
Этот пункт напрямую связан с требованием 5.9 модульности архитектуры всей разработанной системы.
• Должна существовать возможность автоматизированной настройки алгоритма на конкретную область знания.
Это предписание продиктовано требованием 6.1, которое заключается в возможности автоматизированного обучения и настройки всей системы на заданную предметную область.
Простейшими примерами онтологий областей знаний служат классификаторы, такие как
универсальная десятичная классификация (УДК)1 , Государственный рубрикатор научнотехнической информации (ГРНТИ)2 и ACM Computing Classification System3 . Для решения
задачи, рассматриваемой в настоящей диссертации, использование существующих классификаторов представляется неэффективным в силу того, что они не удовлетворяют упомянутым
выше требованиям. Во-первых, они содержат только иерархические связи между понятиями
и не содержат ассоциативных связей, которые представляют огромную ценность для выполнения аналитических запросов. Во-вторых, классификаторы сравнительно редко обновляются.
Например, в основную часть классификатора УДК, содержащего сведения о самых разнообразных областях знания, были внесены 43 крупных изменения с 1993 года4 , причем области
«информатика» коснулись лишь три из них (в 1995, 2001 и 2004 годах). Последнее на настоящее время (шестое) издание рубрикатора ГРНТИ датируется 2007 годом. Последняя на настоящее время версия широко используемого рубрикатора в области компьютерных наук ACM
Computing Classification System датируется 1998 годом, причем за 34 года, начиная с первого
издания 1964 года, было выпущено всего 6 версий рубрикатора (в 1964, 1982, 1983, 1987, 1991
и 1998 годах).
1
http://www.udcc.org
http://www2.viniti.ru/index.php?option=content&task=view&id=57
3
http://www.acm.org/about/class
4
http://www.udcc.org/major_changes.htm
2
50
Важно отметить, что информация, которая загружается абонентом системы, не может использоваться в качестве единственного источника для построения онтологии области знания.
Причиной является, во-первых, тот факт, что в данных о результатах научной деятельности
содержится далеко не исчерпывающая информация об области знания, а во-вторых, то обстоятельство, что загружаемая информация в дальнейшем связывается с моделью области знания, а
это подразумевает независимое построение последней. Таким образом, для построения онтологии области знания необходимо использовать дополнительную информацию, не содержащуюся
в данных, загружаемых пользователями.
Для построения онтологии области научного знания автором разработан алгоритм Sonmake
(Science Ontology Maker) [62]. Он состоит из следующих семи этапов:
1. построение множества имен концептов 𝑁𝐶𝐷 , которое состоит из понятий, общих для различных областей знаний;
2. выделение терминов, которые характеризуют заданную область научного знания 𝐷, с
помощью разработанного автором алгоритма Brainsterm;
3. фильтрация терминов;
4. выделение ассоциативных связей между терминами;
5. построение иерархии терминов;
6. перевод терминов на русский язык;
7. классификация терминов по понятиям онтологии.
Отметим, что в соответствии с требованием 4.6 к разработанной системе, которое указывает
на необходимость минимизации объема ручного труда экспертов по ее настройке на конкретную предметную область, алгоритм построения онтологии не должен существенно зависеть
от той области знания, к которой он применяется. Подробное описание алгоритма построения
онтологии Sonmake представлено в разделе 3.2.
2.5
Загрузка данных в систему
Процесс загрузки информации в систему включает первичную обработку вводимых пользователем данных и выделение из них необходимой информации, например, списка публикаций
сотрудника с указанием даты, места, названия публикации, сведений о конференциях и проектах, в которых участвовал сотрудник. В контексте настоящей диссертации для представления
этих данных применяется онтология Semantic Web for Research Communities (SWRC)1 [7], разработанная в институте прикладной информатики и методов формального описания AIFB (г.
1
http://ontoware.org/swrc
51
Карлсруэ). Эта онтология успешно используется в проекте Bibster [6]. Информация о научных публикациях, написанных сотрудниками института AIFB, предлагается на его сайте, в
том числе – в виде данных, представленных на языке онтологии. Онтология включает такие
концепты, как человек, организация, публикация, конференция, проект, а также связи между
ними. Многие понятия, необходимые для формального описания сведений, которые содержатся в исходных документах, с позиции общих характеристик научной деятельности (без анализа
содержательной составляющей публикаций, конференций и других видов деятельности), уже
формализованы в этой онтологии. Ключевые понятия онтологии SWRC изображены на рис. 2.3.
Выбор онтологии SWRC сделан автором на основе результатов проведенного им анализа существующих в этой области словарей [63]. Например, онтология Dublin Core1 может быть также
использована для решения рассматриваемой задачи. Преимуществом Dublin Core является ее
широкое распространение, а недостатком – малая выразительность. Еще одним преимуществом
онтологии SWRC по сравнению с Dublin Core является возможность задания порядка следования авторов публикации. Тем не менее, онтология Dublin Core также используется в системе
в качестве вспомогательной для задания некоторых отношений, например, dc:creator (автор
работы). Отметим, что для использования в разрабатываемой системе онтология SWRC была
расширена путем добавления понятий и отношений, которые характеризуют ранее не предусмотренные ею типы результатов научной деятельности, например, патенты, свидетельства о
регистрации прав на программное обеспечение, членства в редколлегиях журналов и другие,
аналогичные им. Далее по тексту диссертации расширенная таким образом онтология для краткости обозначается SWRC.
Рассмотрим онтологию 𝒪𝑆 = (𝒯𝑆 , 𝒜𝑆 ) научной деятельности. Эта онтология совпадает с
онтологией SWRC. Пусть 𝑁𝐶𝑆 , 𝑁𝑅𝑆 и 𝑁𝑥𝑆 – множества имен ее понятий, отношений и экземпляров, соответственно. Пусть дано множество 𝐼 текстовых описаний единиц научно-технической
информации. Цель рассматриваемого этапа состоит в том, чтобы заполнить онтологию 𝒪𝑆 экземплярами понятий и значениями отношений на основе информации из 𝐼. В соответствии с
определением 2.15 эта задача формулируется следующим образом. Пусть 𝑝 ∈ 𝐼 – текстовое описание некоторого результата научной деятельности, например, публикации. В онтологии 𝒪𝑆 в
числе других содержатся такие концепты, как 𝑃 𝑒𝑟𝑠𝑜𝑛, 𝐽𝑜𝑢𝑟𝑛𝑎𝑙, 𝑃 𝑟𝑜𝑐𝑒𝑒𝑑𝑖𝑛𝑔𝑠 и такие отношения,
как 𝑐𝑟𝑒𝑎𝑡𝑜𝑟, 𝑡𝑖𝑡𝑙𝑒 и 𝑦𝑒𝑎𝑟. Для заданного элемента 𝑝 необходимо создать экземпляры перечисленных понятий и извлечь значения упомянутых отношений. Другими словами, из описания 𝑝
нужно выделить название публикации, имена авторов, год публикации, название соответствующего журнала или конференции, и, если это возможно, экземпляры других понятий и значения
других отношений, имена которых определены в онтологии 𝒪𝑆 . Таким образом, загрузка данных состоит в заполнении онтологии 𝒪𝑆 экземплярами, выделяемыми из информации, которую
вводят сотрудники. В соответствии с требованием 1.1 в разработанном автором прототипе системы предполагается следующие четыре возможных способа ввода данных:
• разбор библиографических ссылок;
1
http://dublincore.org
52
Рис. 2.3. Онтология Semantic Web for Research Communities (фрагмент).
• разбор BibTeX-записей;
• импорт страницы автора или страницы публикации в системе eLibrary.ru;
• заполнение полей вручную.
Ввод данных в систему состоит из трех шагов. На первом этапе пользователь вводит исходные данные, например, библиографические ссылки, BibTeX-записи или адрес страницы в системе eLibrary.ru. Система автоматически извлекает информацию из исходных данных и предоставляет пользователю заполненные поля, такие как «автор», «название», «место публикации»
и другие поля, которые описывают работу. На втором шаге пользователь может отредактировать значения полей. На третьем шаге происходит сопоставление сущностей, содержащихся в
значениях полей, с объектами, которые находятся в хранилище системы. Этот этап обеспечивает
выполнение требования 1.2 к разработанному программному комплексу, которое заключается в
необходимости осуществлять разрешение неоднозначностей при вводе данных. Например, для
имени каждого автора публикации, которая добавляется в систему, происходит поиск похожих
авторов в системе. Пользователь выбирает одного из найденных авторов или же добавляет нового. При этом он может на этой же странице просмотреть краткую информацию о найденных
сотрудниках, чтобы сделать правильный выбор. Аналогичным образом происходит сопоставление имен журналов, конференций, диссертационных советов, организаций и других типов
объектов. Следует отметить, что этап сопоставления является очень важным. Во-первых, он
53
обеспечивает эффективное решение проблемы неоднозначности фамилий ученых с помощью
пользователя, при этом не обременяя его необходимостью выполнять отдельный поиск дополнительной информации. Во-вторых, на третьем этапе происходит коррекция ошибок ввода. Например, если пользователь ввел название журнала с ошибкой в одной букве, то система найдет
в каталоге нужный журнал и отобразит его пользователю, который подтвердит этот выбор.
Опишем подробнее, как происходит обработка исходных данных на первом этапе добавления
информации в случае использования каждого из четырех перечисленных способов ввода.
Разбор библиографических ссылок
Извлечение информации из библиографических ссылок является частным случаем задачи выделения информации из неструктурированных текстов. Краткий обзор методов решения этой
задачи представлен в Приложении В. Доказанную эффективность демонстрируют алгоритмы
выделения информации, основанные на классификации элементов текста с применением алгоритмов машинного обучения. Как показывают результаты тестирования методов разбора библиографических ссылок, представленные в [64], наивысшую эффективность показал алгоритм
Conditional Random Fields (CRF) [65]. Программный комплекс FreeCite1 , разработанный в университете Брауна, США, использует библиотеку CRF++2 , которая реализует этот алгоритм.
Этот факт стал основной причиной выбора комплекса FreeCite для разбора библиографических ссылок в разработанной системе. Еще одним преимуществом системы FreeCite является
открытость исходного кода по свободной лицензии MIT3 , которая совместима с лицензией GPL.
На необходимость использовать компоненты с открытым кодом, которые распространяются по
лицензиям, совместимым с GPL, указывает требование 1.9 к разработанной системе.
Авторами комплекса FreeCite было проведено обучение программы на размеченных библиографических ссылках. Однако со ссылками на русском языке комплекс не работал. В ходе
работ по подготовке настоящей диссертации код программы FreeCite был модифицирован в
целях поддержки русского языка. Было проведено также ее дополнительное обучение на размеченных библиографических ссылках на русском языке.
Алгоритм работы комплекса FreeCite состоит из следующих этапов.
• На вход подается библиографическая ссылка в виде текстовой строки или нескольких
строк. Примером является следующая ссылка:
Udvarhelyi, I.S., Gatsonis, C.A., Epstein, A.M., Pashos, C.L., Newhouse, J.P.
and McNeil, B.J. Acute Myocardial Infarction in the Medicare population: process
of care and clinical outcomes. Journal of the American Medical Association, 1992;
18:2530-2536.
• Выделение отдельных ссылок.
1
http://freecite.library.brown.edu
http://crfpp.sourceforge.net
3
http://www.opensource.org/licenses/mit-license.php
2
54
В случае, если на вход подается несколько библиографических ссылок, разделенных символом новой строки, они разделяются. После этого алгоритм применяется независимо к
каждой из ссылок.
• Токенизация ссылки.
На этом этапе текстовая ссылка разбивается на последовательность атомарных элементовтокенов. В приведенном примере ссылка преобразуется в следующее представление:
“Udvarhelyi, ”, “I.S., ”, “Gatsonis, ”, “C.A., ”, “Epstein, ”, “A.M., ”,
“Pashos, ”, “C.L., ”, “Newhouse, ”, “J.P. ”, “and ”, “McNeil, ”, “B.J. ”,
“Acute ”, “Myocardial ”, “Infarction ”, “in ”, “the ”, “Medicare ”,
“population: ”, “process ”, “of ”, “care ”, “and ”, “clinical ”, “outcomes. ”,
“Journal ”, “of ”, “the ”, “American ”, “Medical ”, “Association, ”, “1992; ”,
“18:2530-2536”.
• Вычисление характеристических свойств каждого токена.
На этом этапе для каждого токена вычисляется набор свойств, таких как префикс токена
(первые несколько символов), суффикс токена, принадлежность к заранее составленным
словарям (например, словарям дат и географических названий) и другие характеристики.
В приведенном примере ссылка преобразуется в следующее представление:
[[“Udvarhelyi,”, “,”, “U”, “Ud”, “Udv”, “Udva”, “,”, “i,”, “yi,”, “lyi,”,
“udvarhelyi”, “InitCap”, “nonNum”, 0, “noMaleName”, “noFemaleName”, “noLastName”,
“noMonthName”, “noPlaceName”, “noPublisherName”, “noEditors”, 0, “contPunct”,
“notInBook”], [“I.S.,”, “,”, “I”, “I.”, “I.S”, “I.S.”, “,”, “.,”, “S.,”, “.S.,”,
“is”, “AllCap”, “nonNum”, 16, “noMaleName”, “noFemaleName”, “noLastName”,
“noMonthName”, “placeName”, “noPublisherName”, “noEditors”, 0, “contPunct”,
“notInBook”] .....].
• Классификация токена с использованием алгоритма Conditional Random Fields.
На этом этапе каждому токену ставится в соответствие одна из меток, обозначающих поле
ссылки, например, «автор», «название», «название журнала», «страницы». В приведенном
примере назначаются следующие метки:
“author”, “author”, “author”, “author”, “author”, “author”, “author”, “author”,
“author”, “author”, “author”, “author”, “author”, “title”, “title”, “title”,
“title”, “title”, “title”, “title”, “title”, “title”, “title”, “title”, “title”,
“title”, “journal”, “journal”, “journal”, “journal”, “journal”, “journal”, “date”,
“pages”.
• Приведение значений полей к стандартному виду.
На этом этапе происходит дополнительная обработка полученных значений полей для
того, чтобы привести их к стандартному унифицированному виду. В приведенном примере
преобразование выглядит следующим образом:
[“Udvarhelyi, ”, “I.S., ”] => “I S Udvarhelyi”; “18:2530-2536” => {:volume => 18,
55
:spage => 2530, :epage => 2536}.
Разбор BibTeX-записей
Следующим возможным способом ввода информации в систему является ввод записей в формате BibTeX [9]. Подобно случаю с вводом библиографической ссылки, система автоматически
разбирает введенную запись по полям. Благодаря тому, что BibTeX является структурированным форматом, эта процедура не требует использования интеллектуальных алгоритмов. В
качестве вспомогательного инструмента используется библиотека pybtex1 , написанная на языке Python. Для нее автором создана небольшая обертка, которая позволяет использовать ее в
общем интерфейсе системы.
Импорт информации из eLibrary.ru
Еще одним способом ввода информации в разработанную систему является импорт данных
из системы eLibrary.ru2 , которая является каталогом библиографической информации. Входящими данными при этом способе ввода являются URL-адрес страницы автора или URL-адрес
страницы публикации на портале eLibrary.ru. Автором разработан модуль, который копирует
необходимые данные с сайта eLibrary.ru и предоставляет пользователю заполненные поля для
проверки и редактирования, как и в случае использования других способов ввода. Отметим,
что при вводе адреса страницы автора система сама копирует информацию о всех публикациях
автора на портале eLibrary.ru, сводя объем необходимой ручной работы к минимуму.
Ручной ввод данных
Автоматизированные средства ввода данных в систему, описанные выше, доступны только в
случае добавления информации о публикациях. При вводе сведений о докладах на конференциях, патентах, участии в редколлегиях журналов, отчетах и других видах научной деятельности
пользователю необходимо вручную заполнить поля формы, такие как «название», «авторы»
и подобные им. Вместе с тем, система облегчает ему «ручную» работу, подсказывая по мере
набора фамилии авторов и имена сущностей, содержащихся в ней, например, названия конференций, журналов, организаций и других объектов.
В настоящее время в качестве поисковых механизмов на этапе загрузки данных в систему
используется разбор информации на портале eLibrary.ru. Отметим, что в будущем в разрабатываемый программный комплекс могут быть добавлены другие механизмы поиска информации о
результатах научной деятельности, в частности, с помощью внешних поисковых инструментов.
Примером такого инструмента является Автоматизированная Система Тематического Анализа
Информации (АСТАИ) [66], которая разрабатывается в Московском университете коллективом с участием автора диссертации. В разделе 5.4 представлена возможная схема интеграции
1
2
http://pybtex.sourceforge.net
http://elibrary.ru
56
системы АСТАИ и системы управления научной информацией, описанию которой посвящена
настоящая диссертация.
Следует подчеркнуть, что в случае ввода данных в виде библиографических ссылок, BibTeXзаписей или импорта информации из портала eLibrary.ru, пользователь может ввести в форму
информацию сразу о многих публикациях. Все полученные данные будут поставлены в очередь на разбор, и пользователь перейдет на второй шаг добавления первой работы из очереди.
Очередь добавления сохраняется между сеансами работы с системой, и пользователь может
вернуться к добавлению следующей публикации из очереди в любой момент. Эти особенности
разработанного программного комплекса обеспечивают выполнение требования 6. 4 к системе,
которое заключается в возможности оперативного ввода в нее данных, накопленных за всю
историю функционирования научной организации.
2.6
Установление связей между загруженными данными и
онтологией области научного знания
Установление связей между информацией из загруженных текстов, содержащих результаты научной деятельности сотрудников, и формализованной моделью области знания необходимо для
выполнения аналитических запросов. До этого этапа из исходных документов выделяется лишь
общая, количественная информация о научной деятельности сотрудника. К такой, например,
относятся сведения о том, в каких конференциях он участвовал и какие работы опубликовал.
Этап связи необходим для получения информации о содержательной стороне деятельности сотрудника. Такой, например, являются данные о том, каким областям знания посвящены публикации сотрудника, какие задачи в этих областях он решал, какие методы и средства применял
для их решения.
На рассматриваемом этапе устанавливаются связи между двумя онтологиями, а именно –
онтологией области научного знания 𝒪𝐷 , заполненной экземплярами на основе информации о
конференциях, и онтологией результатов научной деятельности 𝒪𝑆 , заполненной экземплярами на основе информации из данных, которые поступают в систему. В рамках используемой
модели представления знаний процесс установления таких связей означает слияние этих онтологий. Он сводится к формированию отношений (ссылок) между экземплярами онтологий.
Целью этапа является построение отображения 𝑆𝐷 : 𝑁𝑥𝑆 − > 2𝑁𝑥 , которое сопоставляет экзем𝐷
плярам из 𝑁𝑥𝑆 (статьям, отчетам и другим результатам деятельности) подмножества множества
экземпляров из 𝑁𝑥𝐷 , то есть – терминов заданной области научного знания 𝐷, характеризующих эти результаты. Это отображение можно рассматривать как множество отношений типа
swrc:isAbout между экземплярами онтологий 𝒪𝐷 и 𝒪𝑆 , которые связывают результаты научной деятельности из множества 𝑁𝑥𝑆 (например, статьи) и термины области знания из множества
𝑁𝑥𝐷 (например, названия методов, научных направлений, задач). Примером такого отношения
может быть связь swrc:isAbout между экземпляром онтологии 𝒪𝑆 «публикация в журнале
57
Nature под таким-то названием» и понятием онтологии биологии 𝒪𝐷 «структура белка». Формирование подобных связей необходимо для дальнейшего выполнения таких запросов, как «выдать все публикации, посвященные изучению белков». Таким образом, после завершения этого
этапа каждой единице 𝑒 научно-технической информации из 𝑁𝑥𝑆 будет сопоставлено множество
𝑁𝑥𝐷𝑒 ⊆ 𝑁𝑥𝐷 терминов-экземпляров онтологии 𝒪𝐷 .
Для классификации научных публикаций обычно применяются следующие методы.
• Каждая публикация попадает в категорию, соответствующую журналу, в котором она
публикуется.
Недостатком этого метода является, во-первых, тот факт, что журналы покрывают более
широкую область знаний, чем отражено в их тематиках. Во-вторых, при таком методе
классификации не учитываются более узкие направления области знаний.
• Совместное цитирование.
Этот метод подразумевает кластеризацию публикаций на основе их библиографии. Если
на две статьи ссылаются одни и те же публикации, то эти две статьи считаются похожими.
Этот метод эффективен для выявления новых трендов и областей исследований.
• Обратное совместное цитирование.
Идея этого ретроспективного метода состоит в том, что две публикации считаются похожими, если они ссылаются на одни и те же статьи.
• Анализ частотности слов, используемых в названиях публикаций.
В рамках этого метода для каждой статьи строится «словарный портрет» – список слов,
которые ее характеризуют [67]. Подобным образом можно построить словарный портрет
области знания. Отметим, что в некоторых исследованиях, например, [68], предлагается
анализировать сходство не публикаций, а их авторов.
• Анализ веб-ссылок на публикации.
Этот метод является адаптацией идеи анализа совместного цитирования на статьи в Интернет.
• Алгоритмы машинного обучения.
Характеристиками для этих алгоритмов могут служить слова из названия публикации,
список авторов, место публикации [69]. Широко используемым методом классификации
является метод опорных векторов [70]. Отметим, что в названиях статей встречаются множество различных слов. Для того, чтобы уменьшить количество слов, в исследовании [69]
предлагается объединять похожие слова в кластеры.
• Методы, основанные на расстоянии между строками, например, [71].
Простейший метод из этого класса используется в рассматриваемой диссертации.
В большинстве исследований, посвященных классификации научных публикаций, в качестве
основного источника информации используются ссылки на другие работы. В задаче, которая
поставлена в настоящей диссертации, информация о ссылках на другие публикации недоступна.
58
В общем случае пользователи системы вводят только название работы, ее авторов, год и место
публикации.
В настоящей диссертации для определения степени семантической близости 𝑆𝑖𝑚 между
экземпляром 𝑒 ∈ 𝑁𝑥𝑆 онтологии 𝒪𝑆 (например, статьей) и экземпляром 𝑡 ∈ 𝑁𝑥𝐷 онтологии 𝒪𝐷
(термином области знания) используется следующая формула:
𝑆𝑖𝑚(𝑒, 𝑡) = 𝑠𝑖𝑚𝑒𝑑𝑖𝑡 (𝑡𝑖𝑡𝑙𝑒(𝑒), 𝑡),
где 𝑡𝑖𝑡𝑙𝑒(𝑒) – название публикации 𝑒, а 𝑠𝑖𝑚𝑒𝑑𝑖𝑡 (𝑠1 , 𝑠2 ) =
1
1+𝑒𝑑𝑖𝑡𝐷𝑖𝑠𝑡(𝑠1 ,𝑠2 )
– функция похожести строк,
предложенная в [72] на основе расстояния Левенштейна 𝑒𝑑𝑖𝑡𝐷𝑖𝑠𝑡(𝑠1 , 𝑠2 ) [73], равного количеству
правок (вставок, удалений и замен), необходимых для превращения строки 𝑠1 в строку 𝑠2 . Если
значение функции 𝑆𝑖𝑚(𝑒, 𝑡) превышает значение константы 𝐶𝑠𝑖𝑚 , то между научной публикацией и экземпляром онтологии ставится связь swrc:isAbout. Примером применения формулы
может служить автоматически построенная связь между экземпляром онтологии «Персональные данные» и статьей под названием «Проблемы управления персональными данными». Расстояние между этими строками равно 24, а значение функции 𝑆𝑖𝑚(𝑒, 𝑡) равно 0.04.
Отметим, что используемый метод определения семантической близости между описаниями публикаций и экземплярами онтологии предметной области может быть улучшен путем
применения алгоритмов классификации, выявления семантических отношений [74], а также
использования дополнительной информации, такой как интересы соавторов и тематики конференций.
2.7
Выполнение аналитических запросов к данным
Выполнение аналитических запросов к данным обеспечивается в процессе взаимодействия конечного пользователя системы с программной реализацией модели, описывающей область знания. Такая модель, построенная автором, включает как общую информацию об области знания,
так и данные о результатах научных исследований сотрудников организации в этой области.
Отметим, что пользователь должен иметь возможность выполнять аналитические запросы,
примеры которых перечислены в разделе 1.1. При этом появляется необходимость реализовать
автоматическую перезапись запроса. Например, если пользователь ищет все публикации за последний год, посвященные группам Ли, то в случае, если их найдено мало, система должна
предложить пользователю выдать все публикации по более широким направлениям, например,
теории групп или алгебре в целом. И наоборот, при поиске публикаций или конференций, посвященных математическому анализу, система может предложить пользователю уточнить запрос,
предоставив возможность выбора конкретного направления в рамках этой области знания.
Онтологический подход к представлению знаний позволяет применять существующие и прошедшие апробацию алгоритмы выполнения аналитических запросов. В частности, перезапись
запроса при использовании онтологий может выполняться автоматически с помощью механизмов логического вывода. Кроме выбора языка запросов, для работы модуля выполнения
59
запросов необходимо спроектировать и реализовать удобный интерфейс, который позволяет
пользователю вводить запросы и просматривать полученные данные. В качестве языка запросов к онтологиям в разрабатываемой системе используется язык SPARQL1 . Выбор именно этого
языка обусловлен высоким уровнем его развития, зрелости и хорошем потенциалом, что подтверждают следующие факты:
• в 2008 году язык SPARQL получил статус официальной рекомендации консорциума Всемирной паутины W3C2 ;
• язык SPARQL не привязан к конкретному программному комплексу, в отличие от других
языков запросов к онтологиям;
• для языка SPARQL существует большое число программных реализаций и приложений.
Консорциум Всемирной паутины W3C занимается стандартизацией веб-технологий. Таким
образом, тот факт, что язык SPARQL является официальной рекомендацией консорциума, согласуется с требованием 1.7 к разработанной системе, которое заключается в необходимости
соответствовать принятым в индустрии стандартам и соглашениям. В целях иллюстрации синтаксиса языка SPARQL приведем пример запроса, который позволяет получить все публикации
2011 года, посвященные разработке программного обеспечения (“Software Engineering”). Краткое описание языка SPARQL представлено в Приложении Д.
PREFIX swrc:<http://istina.imec.msu.ru/ontologies/swrc#>
PREFIX cs:<http://istina.imec.msu.ru/ontologies/computer_science#>
SELECT DISTINCT ?pub
WHERE {
?pub a swrc:Publication .
?pub swrc:year 2011 .
?pub swrc:isAbout cs:Software_Engineering .
}
Основной целью системы управления научной информацией, описанию которой посвящена
настоящая диссертация, является выполнение запросов, список которых представлен в разделе 1.1. Формулировки этих запросов допускают различные интерпретации. Рассмотрим один
из возможных вариантов их формального представления на языке SPARQL. Для этого введем
вспомогательное определение.
Определение 2.16. Пусть заданы два экземпляра 𝑥1 , 𝑥2 ∈ 𝑁𝑥𝐷 онтологии 𝒪𝐷 . Будем
считать, что экземпляр 𝑥2 является потомком 𝑥1 , если либо в онтологии есть утверждение
𝑥2 isSubTerm 𝑥1 , либо существует непустое множество экземпляров 𝑥3 , . . . , 𝑥𝑚 ∈ 𝑁𝑥𝐷 таких,
что между этими экземплярами существует цепочка иерархических отношений isSubTerm: 𝑥2
isSubTerm 𝑥3 , 𝑥3 isSubTerm 𝑥4 , . . ., 𝑥𝑚−1 isSubTerm 𝑥𝑚 , 𝑥𝑚 isSubTerm 𝑥1 .
1
2
http://www.w3.org/TR/rdf-sparql-query
http://www.w3.org
60
Рассмотрим каждый из типов запросов и покажем, как при использовании онтологии 𝒪𝐷
области научного знания 𝐷 и онтологии научной деятельности 𝒪𝑆 , заполненной данными о результатах научной деятельности отдельных ученых, формализовать этот тип запроса на языке
SPARQL. Во всех запросах на языке SPARQL, представленных далее, предполагается, что заданы следующие пространства имен:
PREFIX cs:<http://istina.imec.msu.ru/ontologies/computer_science#>
PREFIX swrc:<http://istina.imec.msu.ru/ontologies/swrc#>
PREFIX dc:<http://purl.org/dc/elements/1.1/>
PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>
Пространство имен swrc используется для обозначения элементов онтологии научной деятельности 𝒪𝑆 (напомним, что она является расширенной версией онтологии Semantic Web
for Research Communities), а пространство имен cs – онтологии области знания «информатика» (Computer Science) как предметной области. Пространство имен dc обозначает онтологию
Dublin Core и является вспомогательным. Пространство имен xsd является стандартным и служит для задания базовых типов данных. Пусть задано множество терминов 𝑇 = {𝑡1 , . . . , 𝑡𝑛 },
определяющее отдельное научное направление в рамках области знания 𝐷. Заметим, что все
результаты научной деятельности, подлежащие анализу в системе (публикации, патенты, членства в редколлегиях журналов, научные отчеты, диссертации и другие, аналогичные им) принадлежат к классу Result, добавленному к исходной онтологии SWRC. Рассмотрим следующие запросы, формулировки которых выделены далее жирным шрифтом. Отметим, что для
выполнения некоторых запросов необходима дополнительная обработка ответов, полученных с
помощью запроса на языке SPARQL. Эта обработка требует применения стандартных функций работы со списками и множествами, которые в том или ином виде могут быть реализованы
с помощью любого современного языка программирования (например, C++ или Python). В
формулировках запросов, представленных далее, такие процедуры описаны на естественном
языке.
Перечень направлений, которые активно исследуются в рамках интересующей области знания.
Перепишем этот запрос следующим образом: «выдать все термины, сопоставленные результатам научной деятельности за последний (2011) год и отсортировать их по убыванию встречаемости в этих результатах». Формализуем его на языке SPARQL. Сначала сформируем множество
𝑇 𝑒𝑟𝑚𝑠, содержащее все термины (возможно, с повторениями), сопоставленные результатам научной деятельности за последний год.
SELECT ?term
WHERE {
?term a cs:term .
61
?res a swrc:Result .
?res swrc:isAbout ?term .
?res swrc:year 2011 .
}
Полученное множество терминов 𝑇 𝑒𝑟𝑚𝑠 необходимо отсортировать по убыванию количества
повторений каждого уникального элемента. Термины, расположенные в начале отсортированного списка, и определяют направления, которые активно исследуются в рамках интересующей
области знания.
Список направлений, методов и средств, которые появились относительно недавно.
Перепишем этот запрос следующим образом: «выдать все термины, сопоставленные результатам научной деятельности за последний год, которые не связаны ни с какими результатами
научной деятельности за предшествующие годы; сгруппировать их по категориям терминов».
Сформулируем его на языке SPARQL. Для начала сформируем множество 𝑇 𝑒𝑟𝑚𝑠1 , содержащее
все термины, сопоставленные результатам научной деятельности за последний год. Отметим,
что если термин принадлежит к каким-либо классам (например, классу «метод» или «средство»), то названия этих классов также извлекаются.
SELECT DISTINCT ?term1 ?cls
WHERE {
?term1 a cs:term .
?res a swrc:Result .
?res swrc:isAbout ?term1 .
?res swrc:year 2011 .
OPTIONAL { ?term1 a ?cls }
}
Ключевое слово DISTINCT позволяет исключить возможные дубликаты из возвращаемых результатов. Сформируем множество 𝑇 𝑒𝑟𝑚𝑠2 , содержащее все термины, сопоставленные результатам научной деятельности за все годы, кроме последнего.
SELECT DISTINCT ?term2
WHERE {
?term2 a cs:term .
?res a swrc:Result .
?res swrc:isAbout ?term2 .
?res swrc:year ?year .
FILTER { ?year < 2011 }
}
62
Теперь с помощью используемого языка программирования построим разность множеств
𝑇 𝑒𝑟𝑚𝑠3 = 𝑇 𝑒𝑟𝑚𝑠1 ∖ 𝑇 𝑒𝑟𝑚𝑠2 . Сгруппируем элементы множества 𝑇 𝑒𝑟𝑚𝑠3 по названиям классов, полученных в результате выполнения первого запроса для элементов множества 𝑇 𝑒𝑟𝑚𝑠1 .
Список этих элементов и будет составлять ответ на исходный запрос.
Перечень задач, в которых используются методы интересующего направления.
Интерпретируем этот запрос следующим образом. Во-первых, необходимо выделить все методы заданного направления 𝑇 = {𝑡1 , . . . , 𝑡𝑛 }. Для этого нужно взять множество всех потомков
method терминов из 𝑇 таких, которые являются методами. Далее нужно выбрать все задачи, в
которых используются эти методы, то есть экземпляры класса task, с которыми выбранные методы связаны отношением isSubTerm. Сформулируем этот запрос на языке SPARQL. Заметим,
что символ многоточия в запросе необходимо заменить на фрагменты вида { UNION ?method
isSubTerm t_i }, где 𝑖 = 3, . . . , 𝑛 − 1.
SELECT DISTINCT ?task
WHERE {
?task a cs:task .
?method a cs:method .
{ ?method isSubTerm t_1 }
UNION { ?method isSubTerm t_2 }
...
UNION { ?method isSubTerm t_n } .
?method isSubTerm ?task .
}
Следует подчеркнуть, что отношение isSubTerm определяется в онтологии как транзитивное.
Этот факт означает, что после применения средства логического вывода все потомки произвольного элемента 𝑡 из онтологии будут связаны с ним отношением isSubTerm не только через
цепочку промежуточных элементов, но и напрямую. Отметим, что использование логического
вывода упрощает формулировку представленного запроса, так как иначе было бы необходимо
выполнять поиск потомков в онтологии на произвольную глубину от элементов множества 𝑇 .
Перечень направлений научных интересов ученого.
Перепишем этот запрос следующим образом: «выдать список всех терминов, связанных с результатами научной деятельности, в авторах которых есть заданный ученый 𝑃 ». Далее представлена формальная запись этого запроса на языке SPARQL.
SELECT DISTINCT ?term
WHERE {
?term a cs:term .
63
?res a swrc:Result .
?res swrc:isAbout ?term .
?res dc:creator P .
}
Динамика интереса исследователей к отдельному направлению исследований во
времени.
Перепишем этот запрос следующим образом: «выдать количество результатов научной деятельности по заданному направлению 𝑇 = {𝑡1 , . . . , 𝑡𝑛 } за последние 10 лет, сгруппированное по
годам». Отметим, что конкретное количество лет может быть произвольным. Сформулируем
этот запрос на языке SPARQL.
SELECT DISTINCT ?res ?year
WHERE {
?res a swrc:Result .
?res swrc:year ?year .
{ ?res swrc:isAbout t_1 }
UNION { ?res swrc:isAbout t_2 }
...
UNION { ?res swrc:isAbout t_n } .
FILTER ( ?year > 2000 && ?year < 2012 )
}
В результате этого запроса будет получен список всех результатов научной деятельности по
направлению 𝑇 за последние 10 лет с указанием года. После этого необходимо с помощью
используемого языка программирования сгруппировать эти данные по годам и выдать количество результатов по каждому году. Эта задача может быть выполнена с помощью стандартных
функций работы со списками.
Перечень конференций, посвященных интересующему направлению.
Перепишем этот запрос следующим образом: «выдать список конференций, связанных с терминами заданного направления 𝑇 = {𝑡1 , . . . , 𝑡𝑛 }». Сформулируем этот запрос на языке SPARQL.
SELECT DISTINCT ?conf
WHERE {
?conf a swrc:Conference .
{ ?conf swrc:isAbout t_1 }
UNION { ?conf swrc:isAbout t_2 }
...
UNION { ?conf swrc:isAbout t_n } .
}
64
Перечень конференций, похожих на заданную.
Перепишем этот запрос следующим образом: «выдать список конференций, связанных с терминами, которые характеризуют заданную конференцию Conf». Далее представлена формулировка этого запроса на языке SPARQL.
SELECT DISTINCT ?c
WHERE {
?c a swrc:Conference .
?c swrc:isAbout ?term .
Conf swrc:isAbout ?term .
}
Список исследователей, работающих на интересующем направлении.
Перепишем этот запрос следующим образом: «выдать список ученых, результатов научной деятельности которых связаны с терминами заданного направления 𝑇 = {𝑡1 , . . . , 𝑡𝑛 }». Сформулируем этот запрос на языке SPARQL.
SELECT DISTINCT ?person
WHERE {
?person a swrc:Person .
?res a swrc:Result .
?res dc:creator ?person .
{ ?res swrc:isAbout t_1 }
UNION { ?res swrc:isAbout t_2 }
...
UNION { ?res swrc:isAbout t_n } .
}
Список исследователей, которые занимаются похожими задачами.
Перепишем этот запрос следующим образом: «выдать список ученых, результатов научной деятельности которых связаны с терминами, которые характеризуют работы заданного ученого
𝑃 ». Формулировка этого запроса на языке SPARQL представлена далее.
SELECT DISTINCT ?person
WHERE {
?person a swrc:Person .
?res1 a swrc:Result .
?res1 dc:creator ?person .
?res1 swrc:isAbout ?term .
65
?term a cs:term .
?res2 a swrc:Result .
?res2 dc:creator P .
?res2 swrc:isAbout ?term .
}
Список публикаций по конкретному направлению за определенный период времени.
Перепишем этот запрос следующим образом: «выдать список публикаций, связанных с терминами заданного направления 𝑇 = {𝑡1 , . . . , 𝑡𝑛 } за период времени Date=(startdate,enddate)».
Параметры startdate и enddate являются датами начала и конца периода, соответственно.
Они заданы строками вида «ГГГГ-ММ-ДД». Сформулируем этот запрос на языке SPARQL.
SELECT DISTINCT ?pub
WHERE {
?pub a swrc:Publication .
{ ?pub swrc:isAbout t_1 }
UNION { ?pub swrc:isAbout t_2 }
...
UNION { ?pub swrc:isAbout t_n } .
?pub swrc:date ?date .
FILTER (?date > startdate^^xsd:date && ?date < enddate^^xsd:date)
}
Список публикаций, похожих на заданную.
Перепишем этот запрос следующим образом: «выдать список публикаций, связанных с терминами, которые характеризуют заданную работу Pub». Далее представлена формальная запись
этого запроса на языке SPARQL.
SELECT DISTINCT ?p
WHERE {
?p a swrc:Publication .
?term a cs:term .
?p swrc:isAbout ?term .
Pub swrc:isAbout ?term .
}
66
Научный вклад отдельного ученого в решение задач на интересующем направлении.
Перепишем этот запрос следующим образом: «выдать список результатов научной деятельности
заданного ученого 𝑃 , связанных с терминами направления 𝑇 = {𝑡1 , . . . , 𝑡𝑛 }». Сформулируем
этот запрос на языке SPARQL.
SELECT DISTINCT ?res
WHERE {
?res a swrc:Result .
?res dc:creator P .
{ ?res swrc:isAbout t_1 }
UNION { ?res swrc:isAbout t_2 }
...
UNION { ?res swrc:isAbout t_n } .
}
Научный вклад отдельного подразделения в результаты деятельности научной организации за прошедший период.
Перепишем этот запрос следующим образом: «выдать список результатов научных деятельности за период времени Date=(startdate,enddate) ученых, работающих в подразделении Div».
Далее представлена формальная запись этого запроса на языке SPARQL.
SELECT DISTINCT ?res
WHERE {
?res a swrc:Result .
?res swrc:date ?date .
?res swrc:creator ?person .
?person a swrc:Person .
Div swrc:member ?person .
FILTER (?date > startdate^^xsd:date && ?date < enddate^^xsd:date)
}
Таким образом рассмотрены все перечисленные в разделе 1.1 типы запросов. Для каждого
из них приведен один из вариантов его формального представления на языке SPARQL. Этот
факт позволяет принять следующее утверждение.
Утверждение 1. Пусть задана область научного знания 𝐷 и ее онтология 𝒪𝐷 , заполненная всевозможными терминами предметной области и связями между ними. Пусть задана онтология научной деятельности 𝒪𝑆 , заполненная данными о результатах научной деятельности
отдельных ученых. Пусть между этими онтологиями установлены всевозможные связи вида
67
swrc:isAbout, то есть каждому результату научной деятельности ученого сопоставлено множество меток, характеризующих его тематику. Тогда язык запросов SPARQL и совокупность
онтологий 𝒪𝐷 и 𝒪𝑆 позволяют гарантированно получать ответы на запросы, перечисленные в
разделе 1.1.
Отметим, что для того, чтобы получать ответы на перечисленные запросы, должна быть
построена онтология 𝒪𝐷 области знания 𝐷 и онтология 𝒪𝑆 научной деятельности, удовлетворяющие определенным требованиям. Требования к модулю загрузки данных, с помощью которого
осуществляется заполнение онтологии 𝒪𝑆 , приведены в разделе 2.5. Требования к алгоритму
построения онтологии 𝒪𝐷 представлены в разделе 2.4. Далее в разделе 3.2 диссертации описан
разработанный автором алгоритм построения онтологии отдельной области научного знания и
показано, что он удовлетворяет этим требованиям.
Сформулированное утверждение позволяет сделать вывод, что с помощью предложенных в
настоящей главе архитектуры системы управления научной информацией и технологических
решений можно получать ответы на все типы запросов, список которых перечислен в разделе 1.1. Следует подчеркнуть, что указанная связь между запросами, формальной моделью
разрабатываемой системы и кодом запросов на языке SPARQL позволяет контролировать влияние:
• модификаций множества принятых в системе запросов (в том числе и появления новых)
и используемых онтологий на программный код системы;
• модификаций программного кода системы на используемые онтологии и рассматриваемые
запросы.
Последнее обстоятельство создает дополнительные возможности для эффективной верификации программной системы на всех этапах её жизненного цикла [75].
2.8
Выводы
В настоящей главе представлена общая формальная модель разработанной системы управления
научной информацией и ее архитектура, согласно которой система состоит из пяти основных
модулей. В качестве алгоритмической основы модулей загрузки данных, модуля установления
связей между ними и онтологией предметной области, а также – модуля выполнения запросов
по результатам анализа источников по соответствующим направлениям исследований автором
выбраны методы, которые позволяют получить требуемую функциональность. Программные
средства, которые реализуют эти методы, были адаптированы для использования в разработанной системе.
Для двух ключевых модулей, а именно – выделения терминов и построения онтологии области научного знания, автором разработаны новые алгоритмы, которые учитывают специфику
поставленной в диссертации задачи. Подробному описанию этих алгоритмов посвящена глава 3.
68
Глава 3
Алгоритмы выделения терминов и
построения онтологии области знания
Среди пяти представленных в предыдущей главе подзадач, каждая из которых является частью
основной задачи, выделим две. Для их решения необходимо создание сложных интеллектуальных алгоритмов. Первая из них имеет целью выделение терминов, которые характеризуют
заданную область научного знания, а вторая – построение онтологии области научного знания
с использованием этих терминов. Для решения задач используются методы лингвистического и
статистического анализа текстов, в частности, метод шаблонов Херст [76] и контекстный анализ
результатов поиска в Интернет с помощью поисковых систем. В настоящей главе дано описание
разработанных автором алгоритмов, которые положены в основу решения обеих задач.
3.1
Алгоритм Brainsterm выделения терминов из коллекции текстов с заданным тематическим делением
В настоящем разделе дана формальная модель, в рамках которой определяется алгоритм
Brainsterm, а также представлено описание алгоритма, реализацию которого условно можно
разделить на четыре этапа.
3.1.1
Математическая модель
Пусть 𝑊 – множество всех слов, которые встречаются во всех документах заданной коллекции 𝐷𝑜𝑐, включая 𝜀 – пустое слово, а 𝑃 𝑊 – множество всех упорядоченных пар слов, то есть
𝑃 𝑊 = 𝑊 × 𝑊 . Определим документ 𝑑 как отображение 𝑑 : N → 𝑊 , которое сопоставляет каждому натуральному числу 𝑛 слово, стоящее на 𝑛-той позиции в данном документе коллекции.
Номера позиций, на которых нет слов (после конца документа), отображаются в пустое слово.
Аналогично определим абзац 𝑝 как отображение 𝑝 : N → 𝑊 , которое сопоставляет каждому
натуральному числу 𝑛 слово, стоящее на 𝑛-той позиции в данном абзаце. Номера позиций, на
которых нет слов, отображаются в пустое слово. Обозначим множество всех абзацев в коллек69
ции через 𝑃 . Определим рубрику 𝑟 как произвольное подмножество множества документов,
а именно – 𝑟 ∈ 2𝐷𝑜𝑐 . Мощность рубрики, как количество документов в ней, будем обозначать
через |𝑟|. Обозначим множество всех заданных рубрик через 𝑅.
Определим еще несколько вспомогательных отображений:
• 𝜏1 : 𝑃 𝑊 → 𝑊, 𝜏2 : 𝑃 𝑊 → 𝑊 - проекции пары на множество слов, которые сопоставляют
паре первое (соответственно, второе) слово пары;
• 𝐹 𝑟𝑒𝑞 : 𝑃 𝑊 × 𝐷𝑜𝑐 → N ∪ {0} - функция, которая определяет число вхождений пары 𝑝𝑤 ∈
𝑃 𝑊 в документ 𝑑 ∈ 𝐷𝑜𝑐;
• 𝐹 𝑟𝑒𝑞 : 𝑊 × 𝐷𝑜𝑐 → N ∪ {0} - функция, которая определяет число вхождений слова 𝑤 ∈ 𝑊
в документ 𝑑 ∈ 𝐷𝑜𝑐;
• 𝐿(𝑑) = |{𝑛 ∈ N | 𝑑(𝑛) ̸= 𝜀}| - длина документа 𝑑;
• 𝑖𝑑(𝑎) = 𝑎 - тождественное отображение;
∑︀
• 𝐴𝑣(𝑓, 𝐴) =
𝑓 (𝑎)
𝑎∈𝐴
|𝐴|
- среднее значение функции 𝑓 на конечном множестве 𝐴. Например,
𝐴𝑣(| · |, 𝑅) - среднее количество документов в рубрике, 𝐴𝑣(𝐿, 𝐷𝑜𝑐) - средняя длина документа, 𝐴𝑣(𝑖𝑑, 𝐴) - среднее арифметическое чисел из множества 𝐴 = {𝑎1 , . . . , 𝑎𝑘 }.
Исходные данные для алгоритма Brainsterm представляют собой таблицу, в которой строки
соответствуют словам, встречающимся в документах коллекции. Отметим, что перед применением алгоритма рекомендуется провести первоначальную лингвистическую обработку документов – лемматизацию, то есть преобразование словоформ в нормальную (словарную) форму.
Например, для существительных в русском языке такой формой является именительный падеж, единственное число. В каждой строке исходной таблицы записано четыре числа: номер
рубрики; номер документа; номер абзаца; номер слова. Если слово А встречается в абзаце раньше слова Б, то и в таблице строка слова А будет выше строки слова Б. Таблица отсортирована
по первым трем колонкам. Таким образом, о конкретном слове известно только то, в каких
документах, сколько раз и на каких позициях оно встречается.
Алгоритм Brainsterm включает четыре этапа. На каждом из них с помощью некоторого
правила выбирается подмножество 𝑀𝑖 множества 𝑀𝑖−1 , полученного на предыдущем шаге. На
первом этапе выбор производится из множества 𝑃 𝑊 (всех пар слов), то есть 𝑀0 = 𝑃 𝑊 . Множество 𝑀4 и есть термины – пары, которые удовлетворяют всем четырем критериям.
3.1.2
Пространственный критерий
Первоначальный выбор пар для последующей обработки основывается на предположении о
том, что слова, которые образуют термин, расположены в тексте достаточно близко (хотя и не
обязательно рядом):
𝑀1 = {𝑝𝑤 ∈ 𝑀0 | ∃𝑝 ∈ 𝑃 : |𝑝−1 (𝜏1 (𝑝𝑤)) − 𝑝−1 (𝜏2 (𝑝𝑤))| 6 MAX_DIST}.
70
Пару образуют два слова, находящиеся в одном абзаце, между которыми в тексте стоят не
более MAX_DIST-1 других слов.
3.1.3
Критерий частотности
Как отмечалось ранее, выделенные в результате работы алгоритма пары слов можно рассматривать как базис векторного пространства текстов. Для того, чтобы такой базис был более
информативным, в нем должны быть слова, которые достаточно часто встречаются в документах. С целью обеспечить это требование, используется критерий частотности, исключающий из
множества 𝑀1 пары, которые встретились во всей коллекции меньше, чем MIN_FREQ раз:
∑︁ ∑︁
𝑀2 = {𝑝𝑤 ∈ 𝑀1 |
𝐹 𝑟𝑒𝑞(𝑝𝑤, 𝑑) > MIN_FREQ}.
𝑟∈𝑅 𝑑∈𝑟
3.1.4
Критерий характерности
Критерий характерности – основной критерий алгоритма. Его суть заключается в определении
термина, «пара должна быть характерной для некоторых рубрик».
3.1.4.1
Вес пары в рубрике
Каждой паре сопоставляется набор чисел – весов пары в каждой из рубрик. Вес пары 𝑝𝑤 в
рубрике 𝑟 вычисляется по следующей формуле:
√︃
(︂ √
)︂
∑︀
𝐹 𝑟𝑒𝑞(𝑝𝑤,𝑑)
ln
+1
𝐿(𝑑)
ln ( 𝐴𝑣(𝐿,𝐷𝑜𝑐) +1)
𝑑∈𝑟
(︁
)︁
.
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) =
|𝑟|
ln 𝐴𝑣(|·|,𝑅)
+1
Аналогично определяется вес слова в рубрике 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑤), а именно – в представленной выше
формуле 𝐹 𝑟𝑒𝑞(𝑝𝑤, 𝑑) заменяется на 𝐹 𝑟𝑒𝑞(𝑤, 𝑑).
3.1.4.2
Выбор функции веса
Приведем подробное обоснование выбора данного вида функции 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) веса пары 𝑝𝑤 в
рубрике 𝑟. Пусть рубрика 𝑟 состоит из 𝑘 документов 𝑑1 , . . . , 𝑑𝑘 . Будем считать, что 𝑘 > 1.
Требования
Для начала, следуя здравому смыслу, выберем требования, которым должна соответствовать
функция веса пары слов в рубрике (при прочих равных условиях):
• вес пары в рубрике – неотрицательное действительное число;
• при увеличении числа вхождений пары в документ вес пары в рубрике увеличивается;
• при увеличении относительной длины документа вес пары в рубрике уменьшается;
71
• при увеличении относительного числа документов в рубрике вес пары в рубрике уменьшается;
• если пара встречается в 𝑘 документах по 𝑛 раз, то вес ее в рубрике больше, чем если
она встречается в 1 документе 𝑘𝑛 раз (при условии, что все документы в рубрике имеют
одинаковую длину).
Заметим, что в требованиях упоминаются именно относительная длина документа и относительное число документов в рубрике. Это сделано для того, чтобы было возможно сравнивать веса пар из разных коллекций документов, имеющих разные показатели средней длины
документа и средней мощности рубрики. Последнее из перечисленных требований является
упрощенной формализацией того соображения, что если пара слов встречается во многих документах рубрики, ее значимость для этой рубрики должна быть выше, чем в случае, когда
она встречается лишь в одном или нескольких документах, даже если суммарное количество
вхождений пары в документы рубрики одно и то же.
Параметры
Исходя из сформулированных требований определим параметры, от которых должна зависеть
функция веса. К их числу относятся:
• число вхождений пары в документы рубрики: 𝐹 𝑟𝑒𝑞(𝑝𝑤, 𝑑𝑖 ), 𝑖 ∈ 1, 𝑘;
• относительные длины документов рубрики:
𝐿(𝑑𝑖 )
,
𝐴𝑣(𝐿,𝐷𝑜𝑐)
• относительное количество документов в рубрике:
𝑖 ∈ 1, 𝑘;
|𝑟|
.
𝐴𝑣(|·|,𝑅)
В итоге получаем, что функция 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 должна зависеть от 2𝑘 + 1 параметров:
(︂
𝐿(𝑑1 )
𝐿(𝑑𝑘 )
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) = 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 𝐹 𝑟𝑒𝑞(𝑝𝑤, 𝑑1 ), . . . , 𝐹 𝑟𝑒𝑞(𝑝𝑤, 𝑑𝑘 ),
,...,
,
𝐴𝑣(𝐿, 𝐷𝑜𝑐)
𝐴𝑣(𝐿, 𝐷𝑜𝑐)
)︂
|𝑟|
= 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑥1 , . . . , 𝑥𝑘 , 𝑦1 , . . . , 𝑦𝑘 , 𝑧) = 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (¯
𝑥, 𝑦¯, 𝑧).
𝐴𝑣(| · |, 𝑅)
Индекс 𝑟 у функции 𝑊 𝑒𝑖𝑔ℎ𝑡 подчеркивает тот факт, что для рубрик, содержащих различное
количество документов, функции 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 зависят от разного числа аргументов. Отметим область определения функции 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 :
𝐷(𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 ) : 𝑥𝑖 ∈ Z ∩ [0, +∞), 𝑦𝑖 ∈ (0, +∞), 𝑧 ∈ (0, +∞), 𝑖 ∈ 1, 𝑘.
Формальные требования
Пользуясь введенными обозначениями, формализуем требования к функции 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 . Они перечислены далее.
1. Неотрицательное значение: 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) > 0.
72
2. Прямая зависимость от частоты: ∀𝑖 ∈ 1, 𝑘 при 𝑥′𝑖 > 𝑥𝑖
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑥1 , . . . , 𝑥𝑖−1 , 𝑥′𝑖 , 𝑥𝑖+1 , . . . , 𝑥𝑘 , 𝑦¯, 𝑧) > 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑥1 , . . . , 𝑥𝑖−1 , 𝑥𝑖 , 𝑥𝑖+1 , . . . , 𝑥𝑘 , 𝑦¯, 𝑧).
3. Обратная зависимость от длины документа: ∀𝑖 ∈ 1, 𝑘 при 𝑦𝑖′ > 𝑦𝑖
𝑥, 𝑦1 , . . . , 𝑦𝑖−1 , 𝑦𝑖 , 𝑦𝑖+1 , . . . , 𝑦𝑘 , 𝑧).
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (¯
𝑥, 𝑦1 , . . . , 𝑦𝑖−1 , 𝑦𝑖′ , 𝑦𝑖+1 , . . . , 𝑦𝑘 , 𝑧) < 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (¯
4. Обратная зависимость от мощности рубрики: при 𝑧 ′ > 𝑧
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (¯
𝑥, 𝑦¯, 𝑧 ′ ) < 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (¯
𝑥, 𝑦¯, 𝑧).
5. Прямая зависимость от числа документов, в которых встречается пара:
при 𝑦1 = 𝑦2 = . . . = 𝑦𝑘 , ∀𝑛 ∈ N, ∀𝑙 ∈ 1, 𝑘
𝑙
⏟
⏞
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑛, . . . , 𝑛, 𝑦¯, 𝑧) > 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 ( 0, . . . , 0, 𝑘𝑛, 0, . . . , 0, 𝑦¯, 𝑧).
⏟
⏞
⏟ ⏞
𝑘
𝑘
Общий вид функции
Для облегчения подбора функций, которые удовлетворяют сформулированным требованиям,
выбран следующий общий вид функции 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 :
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (¯
𝑥, 𝑦¯, 𝑧) = ℎ(𝑔(𝑓 (𝑥1 , 𝑦1 ), . . . , 𝑓 (𝑥𝑘 , 𝑦𝑘 )), 𝑧).
Функция 𝑓 (𝑥, 𝑦) определяет вес пары в документе и зависит от числа вхождений пары в документ и относительной длины документа. После неё к вычисленным весам пары в документах
применяется функция 𝑔(𝑥1 , . . . , 𝑥𝑘 ), которая обеспечивает выполнение требования 5 (прямую
зависимость веса от числа документов, в которых встречается пара). После этого применяется функция ℎ(𝑥, 𝑦), которая выражает зависимость веса пары в рубрике от относительной
мощности рубрики. В целях облегчения тестирования выбран более специальный вид функции
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 , а именно – функция ℎ(𝑥, 𝑦) взята равной функции 𝑓 (𝑥, 𝑦). Этот выбор обусловлен
сходным характером этих функций: каждая из них определяет зависимость веса от количества
вхождений пары и относительного размера либо документа (𝑓 (𝑥, 𝑦)), либо рубрики (ℎ(𝑥, 𝑦)).
Итак, окончательный общий вид функции 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 выглядит так:
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (¯
𝑥, 𝑦¯, 𝑧) = 𝑓 (𝑔(𝑓 (𝑥1 , 𝑦1 ), . . . , 𝑓 (𝑥𝑘 , 𝑦𝑘 )), 𝑧).
Функции 𝑓 и 𝑔 должны иметь следующие области определения и значений:
𝐷(𝑓 ) : 𝑥 ∈ [0, +∞), 𝑦 ∈ (0, +∞), 𝐸(𝑓 ) = [0, +∞),
𝐷(𝑔) : 𝑥𝑖 ∈ [0, +∞), 𝑖 = 1, 𝑘, 𝐸(𝑔) = [0, +∞).
73
Сформулируем и докажем лемму, которая позволяет проверять выполнение требований 1-4
к функции 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 , используя функции 𝑓 и 𝑔.
Лемма 1. Пусть функции 𝑓 = 𝑓 (𝑥, 𝑦) и 𝑔 = 𝑔(𝑥1 , . . . , 𝑥𝑘 ), 𝑘 > 1 имеют области определения и значений, указанные выше. Пусть выполнены следующие условия на всей области
определения этих функций:
1. при 𝑥′ > 𝑥 𝑓 (𝑥′ , 𝑦) > 𝑓 (𝑥, 𝑦);
2. ∀𝑖 ∈ 1, 𝑘 при 𝑥′𝑖 > 𝑥𝑖
3. при 𝑦 ′ > 𝑦
𝑔(𝑥1 , . . . , 𝑥𝑖−1 , 𝑥′𝑖 , 𝑥𝑖+1 , . . . , 𝑥𝑘 ) > 𝑔(𝑥1 , . . . , 𝑥𝑖−1 , 𝑥𝑖 , 𝑥𝑖+1 , . . . , 𝑥𝑘 );
𝑓 (𝑥, 𝑦 ′ ) < 𝑓 (𝑥, 𝑦).
Тогда требования 1-4 к функции 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (¯
𝑥, 𝑦¯, 𝑧) = 𝑓 (𝑔(𝑓 (𝑥1 , 𝑦1 ), . . . , 𝑓 (𝑥𝑘 , 𝑦𝑘 )), 𝑧) выполнены.
Д о к а з а т е л ь с т в о.
Неотрицательность веса следует из области значений функции 𝑓 . Прямая зависимость
от частоты следует из условий 1 и 2: при 𝑥′𝑖 > 𝑥𝑖 𝑓 (𝑥′𝑖 , 𝑦𝑖 ) > 𝑓 (𝑥𝑖 , 𝑦𝑖 ), следовательно, 𝑔(𝑓 (𝑥1 , 𝑦1 ), . . . , 𝑓 (𝑥′𝑖 , 𝑦𝑖 ), . . . , 𝑓 (𝑥𝑘 , 𝑦𝑘 )) > 𝑔(𝑓 (𝑥1 , 𝑦1 ), . . . , 𝑓 (𝑥𝑖 , 𝑦𝑖 ), . . . , 𝑓 (𝑥𝑘 , 𝑦𝑘 )), а значит,
𝑓 (𝑔(𝑓 (𝑥1 , 𝑦1 ), . . . , 𝑓 (𝑥′𝑖 , 𝑦𝑖 ), . . . , 𝑓 (𝑥𝑘 , 𝑦𝑘 )), 𝑧) > 𝑓 (𝑔(𝑓 (𝑥1 , 𝑦1 ), . . . , 𝑓 (𝑥𝑖 , 𝑦𝑖 ), . . . , 𝑓 (𝑥𝑘 , 𝑦𝑘 )), 𝑧). Обратная зависимость от длины документа следует из условий 1, 2 и 3: при 𝑦𝑖′ > 𝑦𝑖 𝑓 (𝑥𝑖 , 𝑦𝑖′ ) < 𝑓 (𝑥𝑖 , 𝑦𝑖 ),
следовательно, 𝑔(𝑓 (𝑥1 , 𝑦1 ), . . . , 𝑓 (𝑥𝑖 , 𝑦𝑖′ ), . . . , 𝑓 (𝑥𝑘 , 𝑦𝑘 )) < 𝑔(𝑓 (𝑥1 , 𝑦1 ), . . . , 𝑓 (𝑥𝑖 , 𝑦𝑖 ), . . . , 𝑓 (𝑥𝑘 , 𝑦𝑘 )), а
значит, 𝑓 (𝑔(𝑓 (𝑥1 , 𝑦1 ), . . . , 𝑓 (𝑥𝑖 , 𝑦𝑖′ ), . . . , 𝑓 (𝑥𝑘 , 𝑦𝑘 )), 𝑧) < 𝑓 (𝑔(𝑓 (𝑥1 , 𝑦1 ), . . . , 𝑓 (𝑥𝑖 , 𝑦𝑖 ), . . . , 𝑓 (𝑥𝑘 , 𝑦𝑘 )), 𝑧).
Обратная зависимость от мощности рубрики следует из условия 3.
Тестирование
Для окончательного выбора функции веса пары слов в рубрике было проведено выборочное
поэтапное тестирование комбинаций семи вариантов функции 𝑓 (𝑥, 𝑦) и трех вариантов функции
𝑔(𝑥1 , . . . , 𝑥𝑘 ). Для тестирования выбраны функции следующего вида:
• 𝑓 (𝑥, 𝑦):
√
1.
𝑥
;
ln(1+𝑦)
2.
3.
𝑥2
;
𝑦
√
𝑥 𝑥
;
𝑦
4.
𝑥(1+ln(1+𝑥))
;
𝑦
5.
𝑥 ln(1+𝑥)
;
𝑦
6.
𝑥
;
ln(1+𝑦)
7.
𝑥
;
𝑦
• 𝑔(𝑥1 , . . . , 𝑥𝑘 ):
1.
𝑘
∑︀
ln(1 + 𝑥𝑖 );
𝑖=1
74
2.
𝑘
∏︀
(1 + 𝑥𝑖 );
𝑖=1
3. (
𝑘
∑︀
𝑥𝑖 ) · |{𝑥𝑖 | 𝑥𝑖 > 0}|.
𝑖=1
Все эти функции, очевидно, удовлетворяют условиям леммы 1, а значит, обеспечивают выполнение требований 1-4 к функции веса. Требование 5 на данном этапе не проверялось. Однако,
как будет показано ниже, комбинация функций, выбранная по результатам тестирования, обеспечивает выполнение этого требования.
Для наглядности протестированы еще 3 функции веса более простого вида, которые зависят
от меньшего числа аргументов.
1. 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) =
𝑘
∑︀
𝐹 𝑟𝑒𝑞(𝑝𝑤, 𝑑𝑖 );
𝑖=1
2. 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) =
𝑘
∑︀
ln(1 + 𝐹 𝑟𝑒𝑞(𝑝𝑤, 𝑑𝑖 ));
𝑖=1
3. 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) = (
𝑘
∑︀
𝐹 𝑟𝑒𝑞(𝑝𝑤, 𝑑𝑖 )) · |{𝑑 ∈ 𝑟 | 𝐹 𝑟𝑒𝑞(𝑝𝑤, 𝑑) > 0}|.
𝑖=1
Автором проведено выборочное поэтапное тестирование всех этих функций. Выборочность
означает, что протестированы не все комбинации функций 𝑓 и 𝑔, а лишь некоторые. Тем не менее, используемая методика тестирования позволяет с большой долей уверенности считать, что
наилучшая комбинация (из участвовавших в тестировании) найдена. Подробное описание методики и результатов тестирования представлено в разделе 4.1.2.4. Его результаты показали, что
самый высокий уровень точности классификации достигается при использовании следующей
комбинации функций:
√
𝑓 (𝑥, 𝑦) =
𝑥
;
ln(1 + 𝑦)
𝑔(𝑥1 , . . . , 𝑥𝑘 ) =
𝑘
∑︁
ln(1 + 𝑥𝑖 ).
𝑖=1
С учетом изложенного выше, в качестве функции веса пары в рубрике выбрана следующая
функция:
(︂ √
√︃
∑︀
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) =
ln
𝑑∈𝑟
ln
𝐹 𝑟𝑒𝑞(𝑝𝑤,𝑑)
𝐿(𝑑)
ln ( 𝐴𝑣(𝐿,𝐷𝑜𝑐) +1)
(︁
|𝑟|
𝐴𝑣(|·|,𝑅)
+1
)︁
)︂
+1
.
Докажем теорему, которая позволяет использовать определенную таким образом функцию
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 для вычисления веса пары в рубрике.
Теорема 1. Выбранная функция 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) удовлетворяет требованиям 1-5.
75
Д о к а з а т е л ь с т в о. Выполнение требований 1-4 следует из свойств функций 𝑓 и 𝑔 и леммы 1. Проверим выполнение требования 5.
Пусть 𝑘 ∈ N, 𝑘 > 1, 𝑦1 = . . . = 𝑦𝑘 = 𝑦0 , 𝑛 ∈ N, 𝑙 ∈ 1, 𝑘. Тогда
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑛, . . . , 𝑛, 𝑦¯, 𝑧) = 𝑓 (𝑔(𝑓 (𝑛, 𝑦0 ), . . . , 𝑓 (𝑛, 𝑦0 )), 𝑧) = 𝑓 (𝑘 ln(1 + 𝑓 (𝑛, 𝑦0 )), 𝑧).
⏟ ⏞
𝑘
𝑙
𝑙
⏟
⏞
⏞
⏟
В то же время 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 ( 0, . . . , 0, 𝑘𝑛, 0, . . . , 0, 𝑦¯, 𝑧) = 𝑓 (𝑔(0, . . . , 0, 𝑓 (𝑘𝑛, 𝑦0 ), 0, . . . , 0), 𝑧) =
⏞
⏟
𝑘
= 𝑓 (ln(1 + 𝑓 (𝑘𝑛, 𝑦0 )), 𝑧).
В силу монотонного возрастания функции 𝑓 по первому аргументу достаточно показать, что
𝑘 ln(1+𝑓 (𝑛, 𝑦0 )) > ln(1+𝑓 (𝑘𝑛, 𝑦0 )) или, что то же самое, (1+𝑓 (𝑛, 𝑦0 ))𝑘 > 1+𝑓 (𝑘𝑛, 𝑦0 ). Вместе с тем
функция 𝑓 (𝑥, 𝑦) =
√
𝑥
ln(1+𝑦)
удовлетворяет неравенству 𝑓 (𝑘𝑛, 𝑦) < 𝑘𝑓 (𝑛, 𝑦) при 𝑘 ∈ N, 𝑘 > 1, 𝑛 ∈ N.
Значит, 1 + 𝑓 (𝑘𝑛, 𝑦0 ) < 1 + 𝑘𝑓 (𝑛, 𝑦0 ). Однако ясно, что (1 + 𝑓 (𝑛, 𝑦0 ))𝑘 > 1 + 𝑘𝑓 (𝑛, 𝑦0 ), так как
𝑓 (𝑛, 𝑦0 ) > 0. Что и требовалось доказать.
3.1.4.3
Функция характерности пары
К вычисленному набору весов пары в рубриках применяется функция характерности 𝐷𝑖𝑠𝑐𝑟, которая сопоставляет набору неотрицательных действительных чисел 𝐴 = {𝑎1 , . . . , 𝑎𝑛 }, не равных
одновременно нулю, число – «показатель характерности набора»:
𝐷𝑖𝑠𝑐𝑟(𝑎1 , 𝑎2 , . . . , 𝑎𝑛 ) = 1 −
𝐴𝑣(𝑖𝑑, 𝐴)
.
max𝑎∈𝐴 𝑎 · (1 + ln (1 + max𝑎∈𝐴 𝑎))
Эта функция принимает значения из отрезка [0, 1], и чем более характерным является набор с
точки зрения определения термина, тем ближе значение этой функции к 1. На рис. 3.1 показаны
примеры параметров и значений функции 𝐷𝑖𝑠𝑐𝑟 на них.
Рис. 3.1. Примеры значений функции характерности 𝐷𝑖𝑠𝑐𝑟.
Пусть 𝑅 = {𝑟1 , . . . , 𝑟𝑛 }. Тогда 𝑀3 = {𝑝𝑤 ∈ 𝑀2 |
𝐷𝑖𝑠𝑐𝑟(𝑊 𝑒𝑖𝑔ℎ𝑡𝑟1 (𝑝𝑤), . . . , 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟𝑛 (𝑝𝑤)) > MIN_DISCR}.
76
Таким образом отбираются пары, значение функции 𝐷𝑖𝑠𝑐𝑟 на которых не меньше константы
MIN_DISCR, принадлежащей отрезку [0, 1].
3.1.5
Критерий значимых рубрик
Идея критерия значимых рубрик состоит в том, что слова, которые образуют термин, должны
встречаться достаточно часто в паре и сравнительно редко по отдельности. В частности, её учет
позволяет исключить следующую возможную ошибку. Пусть в документах рубрики некоторое
число раз встретилось слово, уникальное для данной рубрики (например, «гидрофосфат» в
рубрике «химия»). Тогда все слова, которые находятся на небольшом расстоянии от этого слова,
вероятнее всего будут удовлетворять критерию характерности, так как в других рубриках эти
пары не встречаются вообще. Вместе с тем, многие из них, очевидно, не являются терминами
(например, «гидрофосфат считается» или «имея гидрофосфат»).
Определение 3.1. Рубрика 𝑟 называется значимой для пары 𝑝𝑤, если
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) > 𝐴𝑣(𝑊 𝑒𝑖𝑔ℎ𝑡· (𝑝𝑤), 𝑅).
Пусть 2𝑅 = {𝐴 | 𝐴 ⊆ 𝑅}. Определим отображение 𝑖𝑚𝑝 : 𝑀3 → 2𝑅 , которое сопоставляет
каждой паре множество значимых для нее рубрик:
𝑖𝑚𝑝(𝑝𝑤) = {𝑟 ∈ 𝑅 | 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) > 𝐴𝑣(𝑊 𝑒𝑖𝑔ℎ𝑡· (𝑝𝑤), 𝑅)}.
Тогда 𝑀4 = {𝑝𝑤 ∈ 𝑀3 |
(︂
min
𝑟∈𝑖𝑚𝑝(𝑝𝑤)
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝜏1 (𝑝𝑤)) 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝜏2 (𝑝𝑤))
+
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤)
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤)
)︂
6 MAX_FREQ_RATIO}.
Таким образом отбираются пары, у которых среди значимых для них рубрик найдется рубрика,
в которой сумма весов каждого из слов пары превышает вес пары не более чем в MAX_FREQ_RATIO раз.
Сформулируем и докажем теорему, которая позволяет оценить вычислительную сложность
алгоритма Brainsterm.
Теорема 2. Пусть дано множество документов 𝐷𝑜𝑐, разделенных на рубрики из множества 𝑅. Пусть 𝑊 – множество всех различных слов, которые встречаются в этих документах,
а 𝑚 = |𝑊 | – количество таких слов. Пусть 𝐿(𝑑), 𝑑 ∈ 𝐷𝑜𝑐 – функция, выражающая длину доку∑︀
мента (количество слов в нем). Обозначим 𝑛 =
𝐿(𝑑) – количество всех слов во множестве
𝑑∈𝐷𝑜𝑐
документов. Тогда для алгоритма Brainsterm справедливы следующие оценки:
• временная сложность алгоритма (в худшем случае) равна 𝑂(|𝑅 ||𝐷𝑜𝑐 | min(𝑚2 , 𝑛) + 𝑛);
• пространственная сложность алгоритма (в худшем случае) равна 𝑂(|𝐷𝑜𝑐 | min(𝑚2 , 𝑛));
• количество терминов, извлеченных в результате работы алгоритма, равно 𝑂(min(𝑚2 , 𝑛)).
Под временной сложностью алгоритма понимается максимальное количество элементарных
операций (арифметических и операций сравнения), которые необходимо выполнить для решения задачи. Под пространственной сложностью понимается максимальное количество ячеек
памяти, которые необходимо выделить для работы алгоритма.
77
Д о к а з а т е л ь с т в о.
Алгоритм Brainsterm состоит из четырех шагов. Проанализируем каждый из них. Для выбора множества пар по пространственному критерию необходим один проход всего множества
документов. Для каждого слова выбираются следующие MAX_DIST подряд идущих слов, и эти
пары добавляются в множество 𝑀1 . При этом для каждой пары запоминается число вхождений в каждый документ. Таким образом, временная сложность этого шага равна 𝑂(𝑛). Для
удобства обозначим 𝑘 = |𝑀1 |. Отметим, что 𝑘 6 MAX_DIST · 𝑛 и 𝑘 6 𝑚2 . Первая оценка верна
потому, что для каждого слова во множество пар добавляется не более MAX_DIST пар, а вторая – потому, что 𝑚2 – это число всех различных упорядоченных комбинаций из двух слов из
множества мощности 𝑚. Пространственная сложность первого шага равна 𝑘|𝐷𝑜𝑐 |, так как для
каждой пары необходимо хранить число вхождений в каждый документ.
На втором шаге из множества 𝑀1 отбираются пары, которые встречаются во всех документах коллекции не менее чем MIN_FREQ раз. Число вхождений каждой пары в каждый документ
может быть вычислено при первом проходе всех документов на первом шаге, а значит, время
отбора пар на втором шаге равно 𝑂(𝑘). Пространственная сложность второго шага равна 𝑂(1),
так как дополнительно никакой информации не запоминается. Каждая пара либо остается в
памяти, либо выбрасывается. Отметим, что в на этапах алгоритма со второго по четвертый происходит фильтрация пар, отобранных на первом этапе. Поэтому |𝑀4 | 6 |𝑀3 | 6 |𝑀2 | 6 |𝑀1 | = 𝑘.
На третьем шаге для каждой пары из множества 𝑀2 пар, отобранных на предыдущем шаге,
вычисляется вес в каждой из рубрик. Для фиксированной пары 𝑝𝑤 и рубрики 𝑟 выполняется
число операций, равное 𝑂(|𝑟|), так как в вычислении участвуют частоты вхождения пары в
каждый документ рубрики. Таким образом, общее число операций при вычислении весов равно 𝑂(𝑘|𝑅 ||𝐷𝑜𝑐 |). Для вычисления функции характерности фиксированной пары необходимо
выполнить не более 𝑂(|𝑅 |) операций. Таким образом, общая временная сложность этого этапа
равна 𝑂(𝑘|𝑅 ||𝐷𝑜𝑐 |). Множитель 𝑘 оценивает общее количество тестируемых пар.
Пространственная сложность третьего шага равна 𝑂(|𝑅|). Эта оценка следует из следующего рассуждения. Заметим, что шаги 2-4 алгоритма, на которых отобранные на первом шаге
пары проходят заданные проверки, могут быть выполнены независимо для всех пар. Это означает, что при последовательном выборе пары из множества 𝑀1 и последующем определении,
попадает ли она во множества 𝑀2 , 𝑀3 и итоговое множество 𝑀4 , необходимый для шагов 24 объем памяти не зависит от количества пар. В частности, на втором этапе алгоритма для
каждой пары необходимо хранить множество ее весов в каждой из рубрик. Отсюда и следует
оценка 𝑂(|𝑅|).
На четвертом шаге для каждой пары вычисляется множество значимых рубрик. К этому
моменту для всех пар уже вычислены веса во всех рубриках, поэтому количество операций для
построения множества значимых рубрик фиксированной пары равно 𝑂(|𝑅 |). Для проверки соответствия критерию для каждой пары необходимо вычислить веса обоих слов, составляющих
пару, в каждой из значимых рубрик. Аналогично рассуждению для третьего шага, получим,
что для этого необходимо выполнить 𝑂(|𝑅 ||𝐷𝑜𝑐 |) операций. Таким образом, всего на четвер78
том шаге производится 𝑂(𝑘|𝑅 ||𝐷𝑜𝑐 |) операций. Множитель 𝑘, как и ранее, оценивает общее
количество тестируемых пар.
Пространственная сложность четвертого шага алгоритма равна 𝑂(|𝑅|). Для получения этой
оценки воспользуемся свойством независимости пар в смысле прохождения критериев алгоритма, отмеченным при доказательстве оценки на предыдущем шаге. Для каждой пары необходимо хранить множество ее значимых рубрик, множество весов каждого из двух слов пары в
этих рубриках, а также общий показатель значимости пары, приведенный в критерии. Таким
образом, общий объем требуемой памяти линейно зависит от количества исходных рубрик.
Объединяя оценки для всех четырех этапов алгоритма, получаем, что его общая временная
сложность равна 𝑂(𝑛)+𝑂(𝑘)+𝑂(𝑘|𝑅 ||𝐷𝑜𝑐 |)+𝑂(𝑘|𝑅 ||𝐷𝑜𝑐 |) = 𝑂(𝑛+𝑘|𝑅 ||𝐷𝑜𝑐 |). Применяя оценки для 𝑘, получаем искомое выражение 𝑂(|𝑅 ||𝐷𝑜𝑐 | min(𝑚2 , 𝑛) + 𝑛). Аналогично выводим, что
пространственная сложность алгоритма равна 𝑂(𝑘|𝐷𝑜𝑐 |)+𝑂(1)+𝑂(|𝑅 |)+𝑂(|𝑅 |) = 𝑂(𝑘|𝐷𝑜𝑐 |) =
𝑂(|𝐷𝑜𝑐 | min(𝑚2 , 𝑛)).
Для доказательства оценки количества извлеченных терминов (обозначим его через 𝑡)
воспользуемся следующим неравенством: 𝑡 = |𝑀4 | 6 |𝑀1 | = 𝑘 = 𝑂(min(𝑚2 , 𝑛)). Отсюда
𝑡 = 𝑂(min(𝑚2 , 𝑛)).
Замечание. Выражение min(𝑚2 , 𝑛) нельзя упростить, так как значения переменных 𝑚2 и
𝑛 могут находиться в различных соотношениях. Например, пусть даны 100 различных слов,
которые встречаются во всевозможных комбинациях по 10 слов в 10010 = 1020 различных документах. Тогда 𝑚 = 100, 𝑚2 = 104 , а 𝑛 = 1021 , и 𝑚2 << 𝑛. С другой стороны, пусть даны
𝑚 = 𝑚1 𝑚2 различных слов, которые встречаются в 𝑚1 документах по 𝑚2 слов (ни одно слово
не повторяется). Тогда 𝑛 = 𝑚1 𝑚2 = 𝑚 << 𝑚2 при больших 𝑚.
Практические результаты исследования эффективности (и в том числе времени работы)
программной реализации алгоритма Brainsterm представлены в разделе 4.1.
3.2
Алгоритм Sonmake построения онтологии области научного знания
В настоящем разделе представлено краткое описание разработанного автором алгоритма
Sonmake построения формальной модели заданной области научного знания 𝐷. Целью алгоритма является формирование онтологии 𝒪𝐷 , которая в дальнейшем позволит выполнять
аналитические запросы, перечисленные в разделе 1.1. В разделе 2.7 эти запросы формализованы на языке SPARQL с использованием понятий онтологии 𝒪𝐷 . Утверждение 1 показывает,
что язык SPARQL позволяет формализовать перечисленные запросы и, при условии построения онтологии 𝒪𝐷 области научного знания 𝐷, обеспечить их выполнение. В качестве основного
источника данных для построения онтологии используются анонсы конференций, называемые
в научной среде call for papers (CFP). Как отмечено в разделе 2.3, этот подход обладает важными достоинствами. В частности, он позволяет получить достаточно надежную, актуальную
79
и полную информацию об области научного знания. Документы CFP содержат основные сведения о конференциях, в том числе – название, место и даты проведения, состав программного
комитета, описание конференции, список направлений области знания, работы по которым принимаются на рассмотрение. Вторым инструментарием, который используется в алгоритме для
получения информации, является поисковая система в Интернет. Алгоритм Sonmake построения онтологии области знания состоит из следующих семи этапов.
1. Построение множества имен понятий 𝑁𝐶𝐷 .
Это множество состоит из концептов, общих для различных областей научного знания.
2. Выделение терминов, которые характеризуют заданную область научного знания 𝐷.
На этом этапе применяется разработанный автором диссертации алгоритм Brainsterm. С
его помощью из коллекции анонсов конференций извлекаются ключевые слова.
3. Фильтрация терминов.
На этапе фильтрации происходит проверка качества полученных терминов. Оценивается,
во-первых, насколько устойчивым выражением является термин, а во-вторых, насколько
связан термин с заданной областью научного знания 𝐷. Термины, которые не удовлетворяют установленным критериям, отбрасываются.
4. Выделение ассоциативных связей между терминами.
На этом этапе выбираются пары терминов, которые сравнительно часто встречаются на
одних и тех же веб-страницах. Для проверки этого свойства используются результаты
запросов к поисковой системе в Интернет.
5. Построение иерархии терминов.
Для каждой пары терминов, между которыми на предыдущем этапе была установлена
связь, проверяется, является ли эта связь иерархической. Для этого используется модифицированный метод лингвистических шаблонов Херст.
6. Перевод терминов на русский язык.
Для добавления в онтологию терминов на русском языке выполняется автоматический
перевод терминов с английского языка с использованием связей между статьями в онлайнэнциклопедии Википедия1 .
7. Классификация терминов по понятиям онтологии.
На этом этапе каждому термину ставится в соответствие одно или несколько понятий
онтологии, сформированных на первом этапе алгоритма. Для извлечения связей применяются результаты запросов к поисковой системе в Интернет.
Общая схема алгоритма построения онтологии Sonmake представлена на рис. 3.2.
1
http://www.wikipedia.org
80
Рис. 3.2. Схема алгоритма Sonmake построения онтологии отдельной области научного знания.
3.2.1
Построение множества имен понятий
Список имен понятий онтологии 𝑁𝐶𝐷 , содержащий 60 элементов, фиксирован и является общим
для всех областей научного знания. В него входят такие слова, как направление, понятие,
алгоритм, парадигма, метод и другие, аналогичные им, а также их эквиваленты на английском
языке. Фрагмент множества имен понятий 𝑁𝐶𝐷 изображен на рис. 3.3.
Рис. 3.3. Понятия онтологии области научного знания (фрагмент).
81
3.2.2
Выделение терминов
На этапе выделения терминов из коллекции анонсов конференций с помощью алгоритма
Brainsterm извлекаются ключевые слова. В соответствии с требованиями алгоритма Brainsterm,
исходные документы должны быть разделены на рубрики. В случае анонсов конференций это
требование легко выполняется, например, при использовании списков рассылок анонсов конференций, посвященных различных областям знания. Каждый список рассылки будет представлять одну рубрику. Отметим, что одна из рубрик должна соответствовать области знания
𝐷, онтология которой строится. Назовем эту рубрику «целевой». Как отмечено в разделе 2.3,
в контексте настоящей диссертации в качестве исходных используются данные, размеченные
пользователями в каталоге анонсов конференций WikiCFP. В этом случае возникает небольшое затруднение, связанное с тем фактом, что анонсы конференций в каталоге не разбиты на
рубрики. Вместо этого пользователи помечают их метками. Для применения к этим документам алгоритма Brainsterm необходимо на основе меток разбить документы на рубрики. Опишем
процедуру такого разбиения, разработанную в ходе исследований, результаты которых описаны
в настоящей диссертации.
Рассмотрим множество текстовых документов 𝐷𝑜𝑐𝑠, содержащих анонсы научных конференций (call for papers), а также множество 𝑇 𝑎𝑔𝑠 текстовых меток, которые характеризуют
тематики этих конференций. Пусть 𝐸𝑣𝑒𝑛𝑡𝑇 𝑎𝑔𝑠 : 𝐷𝑜𝑐𝑠 → 2𝑇 𝑎𝑔𝑠 – отображение, которое сопоставляет каждому из документов непустое подмножество меток. Рассмотрим векторное пространство 𝑅‖𝑇 𝑎𝑔𝑠‖ , базисные вектора которого соответствуют элементам множества 𝑇 𝑎𝑔𝑠. Отобразим
документы из множества 𝐷𝑜𝑐𝑠 в точки этого векторного пространства. Для этого сопоставим
каждому документу набор из нулей и единиц длиной ‖𝑇 𝑎𝑔𝑠‖, 𝑖-я координата которого соответствует вхождению метки с номером 𝑖 в документ. Отметим, что координаты у всех векторовдокументов равны либо нулям, либо единицам, так как в одном документе метка тег может
встретиться максимум один раз.
Разобьем полученные точки векторного пространства на кластеры-рубрики, используя широко используемый алгоритм кластеризации «k средних» [77]. Для оценки отдельного разбиения в процессе работы алгоритма используется статистика Silhouette, предложенная в [78]. В
качестве метрики расстояния 𝑑(𝑢, 𝑣) между точками применяется стандартная функция оценки
различия двух булевых векторов 𝑢, 𝑣 длины 𝑚:
𝑑(𝑢, 𝑣) =
𝑐01 + 𝑐10
,
𝑚
где 𝑐𝑖𝑗 – количество таких пар элементов с одинаковыми индексами (𝑢𝑘 , 𝑣𝑘 ), 𝑘 ∈ {1, 𝑚}, что
𝑢𝑘 = 𝑖, 𝑣𝑘 = 𝑗. В результате кластеризации каждый документ попадает ровно в одну рубрику.
Обозначим полученное множество рубрик через 𝑅 = {𝑟1 , . . . , 𝑟𝑛 }.
Построим портрет каждой рубрики, который представляет собой множество наиболее значимых в ней меток. Возьмем произвольную рубрику 𝑟 ∈ 𝑅. Построим множество 𝑇 𝑎𝑔𝑠𝑟 , состоящее
из всех меток, сопоставленных документам из рубрики 𝑟. Для каждой метки 𝑡𝑎𝑔 из множества
82
𝑇 𝑎𝑔𝑠𝑟 вычислим ее вес 𝑊 в данной рубрике, используя классическую формулу TF-IDF [52]:
𝑊 (𝑡𝑎𝑔, 𝑟, 𝑅) =
𝑛𝑡𝑎𝑔
𝑛
×
,
𝑁𝑟
|{𝑟𝑗 ∈ 𝑅 : 𝑡𝑎𝑔 ∈ 𝑇 𝑎𝑔𝑠𝑟𝑗 }|
где 𝑛𝑡𝑎𝑔 – число документов из рубрики 𝑟, помеченных меткой 𝑡𝑎𝑔; 𝑁𝑟 – общее число меток,
сопоставленных документам из рубрики 𝑟, с учетом повторений. Смысл этой формулы состоит в
том, что вес метки в рубрике прямо пропорционален числу документов в ней, помеченных этой
меткой и обратно пропорционален общему количеству меток в рубрике (с учетом повторений),
а также доле рубрик, в документах которых встречается данная метка. Наибольший вес в
этом случае получают метки, которые сравнительно часто встречаются в документах данной
рубрики и сравнительно редко – в документах других рубрик. В качестве портрета рубрики 𝑟
возьмем набор из 𝐶𝑝 меток с наибольшим весом в этой рубрике. Число 𝐶𝑝 является параметром
алгоритма.
После построения портретов всех рубрик эксперт в области знания 𝐷 должен вручную просмотреть эти портреты и указать целевую рубрику 𝑟𝐷 ∈ 𝑅, портрет которой наиболее соответствует области знания 𝐷. Если по мнению эксперта ни одна из рубрик не соответствует
𝐷, необходимо провести кластеризацию заново, изменив требуемое количество кластеров. Если
портреты сразу нескольких рубрик отвечают области 𝐷, то необходимо уменьшить количество
кластеров для того, чтобы эти рубрики «слились» в одну. Если же портрет одной рубрики кроме ключевых слов, которые характеризуют область 𝐷, содержит большое количество других
ключевых слов, необходимо повторить кластеризацию, увеличив количество кластеров. Это
позволит разделить эту рубрику на несколько рубрик меньшего размера. В итоге эксперту
необходимо выделить одну целевую рубрику 𝑟𝐷 , наиболее соответствующую области знания 𝐷.
Применим к документам, разделенным на рубрики, алгоритм Brainsterm выделения терминов. Результатом работы алгоритма является множество терминов 𝑇 𝑒𝑟𝑚𝑠. Выделим из него
подмножество 𝑇 𝑒𝑟𝑚𝑠1 ⊆ 𝑇 𝑒𝑟𝑚𝑠, состоящее из терминов, которые встречаются в документах
целевой рубрики 𝑟𝐷 хотя бы один раз, и отсортируем его элементы по убыванию веса термина в этой рубрике. Веса терминов в рубриках вычисляются в процессе работы алгоритма
𝐵𝑟𝑎𝑖𝑛𝑠𝑡𝑒𝑟𝑚. Полученное множество 𝑇 𝑒𝑟𝑚𝑠1 содержит ключевые слова, которые описывают
тематики конференций в рамках области знания 𝐷.
3.2.3
Фильтрация терминов
Следующим шагом алгоритма Sonmake является фильтрация полученных терминов 𝑇 𝑒𝑟𝑚𝑠1 ,
состоящая из двух этапов. На первом этапе фильтрации исключаются пары слов, которые
не соответствуют критериям термина. Для этого используются перечисленные далее четыре
критерия. Пусть 𝐴 ∈ 𝑇 𝑒𝑟𝑚𝑠 – термин-кандидат, состоящий из двух слов – 𝐴1 и 𝐴2 , тогда эти
критерии формулируются следующим образом:
• в онлайн-энциклопедии Википедия есть статья с названием 𝐴;
•
ℎ𝑖𝑡𝑠(“A is a term”)
ℎ𝑖𝑡𝑠(𝐴)
> 𝐶1 ;
83
•
ℎ𝑖𝑡𝑠(“A is a concept”)
ℎ𝑖𝑡𝑠(𝐴)
•
ℎ𝑖𝑡𝑠(“𝐴1 AND 𝐴2 ”)
min (ℎ𝑖𝑡𝑠(𝐴1 ), ℎ𝑖𝑡𝑠(𝐴2 ))
> 𝐶2 ;
> 𝐶3 .
Функция ℎ𝑖𝑡𝑠(𝑥) обозначает количество страниц, найденных поисковой системой в Интернет в
ответ на запрос 𝑥. Термин-кандидат считается прошедшим первый этап фильтрации, если он
удовлетворяет хотя бы одному из перечисленных четырех критериев. Числа 𝐶1 , 𝐶2 , 𝐶3 ∈ [0, 1]
являются параметрами алгоритма.
Целью второго этапа фильтрации является исключение пар слов, которые не связаны с
заданной областью знания 𝐷. Для этого используется критерий
ℎ𝑖𝑡𝑠(“A AND D”)
> 𝐶4 ,
ℎ𝑖𝑡𝑠(𝐴)
где 𝐴 – термин-кандидат, 𝐷 – название заданной области знания, а 𝐶4 – параметр алгоритма.
Обозначим через 𝑇 𝑒𝑟𝑚𝑠2 множество всех терминов из 𝑇 𝑒𝑟𝑚𝑠1 , успешно прошедших оба
этапа фильтрации. Полученная совокупность терминов образует множество имен экземпляров
𝑁𝑥𝐷 онтологии 𝒪𝐷 : 𝑁𝑥𝐷 = 𝑇 𝑒𝑟𝑚𝑠2 .
3.2.4
Выявление ассоциативных отношений
Целью следующего этапа является выделение пар связанных терминов, то есть выбор из всех
возможных пар терминов из множества 𝑁𝑥𝐷 тех пар, которые являются семантически близкими. Для определения степени семантической близости между двумя терминами используется
широко распространенная мера Normalized Google Distance (NGD) [79]. Пусть 𝐴 и 𝐵 – термины,
а 𝑁 – общее число страниц, индексируемых поисковой системой. Тогда степень семантической
близости 𝑁 𝐺𝐷 между 𝐴 и 𝐵 определяется по формуле:
𝑁 𝐺𝐷(𝐴, 𝐵) =
max {log ℎ𝑖𝑡𝑠(𝐴), log ℎ𝑖𝑡𝑠(𝐵)} − log ℎ𝑖𝑡𝑠(“A AND B”)
.
log 𝑁 − min {log ℎ𝑖𝑡𝑠(𝐴), log ℎ𝑖𝑡𝑠(𝐵)}
После этого из всех пар терминов отбираются те, степень близости между которыми превышает
пороговое значение:
𝑇 𝑒𝑟𝑚𝑠𝑠 = {(𝐴, 𝐵) ∈ 𝑁𝑥𝐷 × 𝑁𝑥𝐷 | 𝑁 𝐺𝐷(𝐴, 𝐵) > 𝐶𝑁 𝐺𝐷 }.
Число 𝐶𝑁 𝐺𝐷 является параметром алгоритма. Для каждой пары терминов 𝐴, 𝐵 из множества
𝑇 𝑒𝑟𝑚𝑠𝑠 в онтологию добавляется симметричное отношение relatedTerm между ними.
3.2.5
Построение иерархии терминов
Следующим этапом алгоритма является построение иерархии терминов. Классический алгоритм построения иерархии понятий с помощью лингвистических шаблонов, разработанный
Херст [76], оказывается неэффективным для построения иерархии научных направлений. Это
связано с тем, что лингвистические шаблоны, предложенные в работе Херст, не употребляются
84
по отношению к научным направлениям в естественном языке. Приведем пример. Для построения гиперонимов слова «лев» (lion) можно использовать один из шаблонов Херст, например,
“such * as lions”, и вместо символа *, вполне вероятно, найдется такое слово, как “animals”, так
как выражение “such animals as lions” является употребимым в английском языке. Подтверждением этой гипотезы служит тот факт, что в Google находится 8620 результатов в ответ на
этот запрос. Если же применить этот подход к научным направлениям, результаты получаются неудовлетворительными. Например, при построении родительских направлений термина
“feature extraction” («выделение характеристик») с помощью подхода Херст, получаются такие
выражения, как “such * as feature extraction”. Возьмем термин “pattern recognition” («распознавание образов»), который является родительским для термина “feature extraction”. Согласно
подходу Херст, мы должны найти фразы типа “such pattern recognition as feature extraction”,
однако, это словосочетание не употребляется в английском языке, что подтверждает Google,
возвращая 0 результатов по этому запросу. Представленное рассуждение показывает, что подход Херст нельзя напрямую применить для построения иерархии терминов в научной области.
Несмотря на это затруднение, идеи, на которых основывается подход Херст, можно использовать для решения поставленной задачи.
В ходе работ по подготовке настоящей диссертации специально для построения иерархии
понятий в научной области автором разработаны лингвистические шаблоны. Основной шаблон
выглядит как
𝐴 𝑖𝑠 * 𝑘𝑒𝑦𝑤𝑜𝑟𝑑 * 𝑝𝑟𝑒𝑝 ( 𝑎𝑢𝑥)? 𝐵,
где 𝐴, 𝐵 – термины, между которыми происходит поиск иерархической связи, 𝑘𝑒𝑦𝑤𝑜𝑟𝑑 – ключевое слово из построенного словаря 𝑘𝑒𝑦𝑤𝑜𝑟𝑑𝑠 связей между научными терминами, 𝑝𝑟𝑒𝑝 – предлог,
содержащийся в построенном словаре предлогов, а 𝑎𝑢𝑥 – артикль или квантор из созданного
словаря вспомогательных слов. Словарь ключевых слов 𝑘𝑒𝑦𝑤𝑜𝑟𝑑𝑠 содержит 40 слов, которые
представлены в таблице 3.1. В колонке «тип» таблицы указан тип шаблона. Первый тип определен выше, а типы 2 и 3 определяются далее. Шаблон применяется к результатам-сниппетам
(небольшим фрагментам текстов найденных документов), которые возвратила поисковая система в ответ на запрос “A AND B”. Следует подчеркнуть, что эти запросы выполняются только
для тех пар терминов, которые вошли в множество 𝑇 𝑒𝑟𝑚𝑠𝑠 . Использование данных о семантической близости, полученных на предыдущем этапе, позволяет существенно сократить количество запросов к поисковой системе. Примером фразы, найденной по шаблону, служит “text
categorization is a fundamental task in document processing”. Здесь 𝐴 = “text categorization”, 𝐵 =
“document processing”, 𝑘𝑒𝑦𝑤𝑜𝑟𝑑 = “task”, 𝑝𝑟𝑒𝑝 = “in”, а элемент 𝑎𝑢𝑥 не используется.
Отметим, что кроме основной формы слова, указанной в словаре 𝑘𝑒𝑦𝑤𝑜𝑟𝑑𝑠, применяется
также вариант со множественным числом (к слову добавляются окончания “s” и “es”). Для
некоторых ключевых слов-связок используются модифицированные шаблоны следующего вида
(типы 2 и 3 в таблице 3.1):
85
№
слово
тип
№
слово
тип
№
слово
тип
№
слово
1
field
1
11
type
1
21
2
discipline
1
12
class
1
3
domain
1
13
branch
4
must
1
14
5
aspect
1
6
issue
7
тип
component
1
31
composed
1
22
step
1
32
divide
1
1
23
method
1
33
used
2
problem
1
24
common
1
34
key
2
15
phase
1
25
essential
1
35
means
2
1
16
sector
1
26
crucial
1
36
technique
2
part
1
17
activity
1
27
buzzword
1
37
solution
2
8
task
1
18
topic
1
28
form
1
38
application
3
9
term
1
19
technology
1
29
block
1
39
implementation
3
10
area
1
20
approach
1
30
feature
1
40
using
3
Таблица 3.1. Список ключевых слов 𝑘𝑒𝑦𝑤𝑜𝑟𝑑𝑠, используемых при построении иерархии терминов.
𝐴 𝑖𝑠 * 𝑘𝑒𝑦𝑤𝑜𝑟𝑑 * 𝑝𝑟𝑒𝑝_𝑒𝑥𝑡 ( 𝑎𝑢𝑥)? 𝐵,
𝐴 𝑖𝑠 * 𝑘𝑒𝑦𝑤𝑜𝑟𝑑 * 𝑎𝑢𝑥? 𝐵,
где 𝑝𝑟𝑒𝑝_𝑒𝑥𝑡 – предлог, содержащийся в расширенном множестве предлогов 𝑝𝑟𝑒𝑝 с помощью
слова “that”.
3.2.6
Перевод терминов на русский язык
Описанные выше этапы алгоритма Sonmake используются для построения онтологии на английском языке. Заметим, что алгоритм выделения терминов, а также второй этап фильтрации
не зависят от используемого языка. Первый этап фильтрации и алгоритм построения иерархии могут быть применены только к исходным данным на английском языке, так как в них
используются лингвистические шаблоны, характерные для английского языка. Отметим, что
для адаптации подхода, основанного на лингвистических шаблонах, для применения к русским текстам, требуется значительные усилия. Это связано с тем фактом, что в русском языке
используются более разнообразные и сложные конструкции.
Для того, чтобы добавить в онтологию термины на русском языке, применяется следующий
эвристический метод. Его идея заключается в использовании ручного труда людей, которые
составляют энциклопедию Википедия. Во многих статьях Википедии есть ссылки на версии
этой же статьи на других языках (см. рис. 3.4). С помощью этих ссылок можно найти термины
на русском языке, которые соответствуют термину на английском.
Для каждого термина из множества 𝑁𝑥𝐷 выполняется автоматическая проверка на существование статьи в Википедии с таким же названием (или же отличающимся окончанием “s”), а
потом проверяется факт наличия у этой статьи ссылки на русскую версию. Если такая ссылка
есть, то название соответствующей статьи на русском языке добавляется ко множеству экземпляров 𝑁𝑥𝐷 онтологии вместе со ссылкой на оригинальный термин.
86
Рис. 3.4. Ссылки на версии статьи на других языках в Википедии.
№
категория
№
категория
№
категория
1
field
11
algorithm
21
paradigm
2
domain
12
concept
22
technology
3
theory
13
notion
23
methodology
4
model
14
conception
24
tool
5
problem
15
idea
25
practice
6
task
16
technique
26
area
7
method
17
process
27
phase
8
law
18
approach
28
procedure
9
hypothesis
19
activity
29
application
10
experiment
20
discipline
30
mechanism
Таблица 3.2. Список понятий онтологии области научного знания.
3.2.7
Разбиение терминов на категории
Для того, чтобы получить больше информации о терминах-экземплярах онтологии, используется алгоритм классификации терминов по классам онтологии. Отметим, что каждый термин
может попасть в несколько классов. Классы зафиксированы и являются общими для всех областей знаний. Список используемых классов приведен в таблице 3.2. В таблице не перечислены
эквиваленты этих понятий на русском языке. Их краткий список представлен на рис. 3.3.
Для определения подмножества классов, к которым относится термин 𝐴 ∈ 𝑇 𝑒𝑟𝑚𝑠2 , рассчитывается степень его принадлежности к каждому классу 𝐶 ∈ 𝑁𝐶𝐷 по следующей формуле:
𝑠𝑐𝑜𝑟𝑒(𝐴, 𝐶) =
ℎ𝑖𝑡𝑠(“A is a C”)
.
ℎ𝑖𝑡𝑠(𝐴)
Если 𝑠𝑐𝑜𝑟𝑒(𝐴, 𝐶) > 𝐶5 , то между термином 𝐴 и классом 𝐶 строится отношение 𝑟𝑑𝑓 : 𝑡𝑦𝑝𝑒, которое означает, что экземпляр принадлежит классу. Число 𝐶5 является параметром алгоритма.
Еще раз отметим, что термин может принадлежать нескольким классам одновременно.
Сформулируем и докажем теорему, которая позволяет оценить вычислительную сложность
представленного алгоритма.
Теорема 3. Пусть дано множество документов 𝐷𝑜𝑐, разделенных на рубрики из множества 𝑅. Пусть 𝑊 – множество всех различных слов, которые встречаются в этих документах,
а 𝑚 = |𝑊 | – количество таких слов. Пусть 𝐿(𝑑), 𝑑 ∈ 𝐷𝑜𝑐 – функция, выражающая длину доку87
мента (количество слов в нем). Обозначим 𝑛 =
∑︀
𝐿(𝑑) – количество всех слов во множестве
𝑑∈𝐷𝑜𝑐
документов. Тогда для алгоритма Sonmake справедливы следующие оценки:
• временная сложность алгоритма (в худшем случае) равна
𝑂(min(𝑚4 , 𝑛2 ) + |𝑅 ||𝐷𝑜𝑐 | min(𝑚2 , 𝑛) + 𝑛);
• пространственная сложность алгоритма (в худшем случае) равна
𝑂(min(𝑚4 , 𝑛2 ) + |𝐷𝑜𝑐 | min(𝑚2 , 𝑛)).
Под временной сложностью алгоритма понимается максимальное количество элементарных
операций (арифметических, операций сравнения и операций разового обращения к поисковой
системе), которые необходимо выполнить для решения задачи. Под пространственной сложностью понимается максимальное количество ячеек памяти, которые необходимо выделить для
работы алгоритма.
Д о к а з а т е л ь с т в о.
Рассмотрим последовательно каждый этап алгоритма Sonmake. На первом этапе выполняется построение множества имен понятий онтологии. Это множество фиксировано, поэтому
временная и пространственная сложность этапа равна 𝑂(1). На втором шаге происходит выделение терминов из исходных документов. Для этого применяется алгоритм Brainsterm. Оценки
его вычислительной сложности были получены в теореме 2. Таким образом, временная сложность второго шага алгоритма Sonmake равна 𝑂(|𝑅 ||𝐷𝑜𝑐 | min(𝑚2 , 𝑛)+𝑛), а пространственная –
𝑂(|𝐷𝑜𝑐 | min(𝑚2 , 𝑛)). Отметим, что на этом этапе не происходит обращений к поисковым системам. В качестве исходных данных используются только документы заданной коллекции. Обозначим через 𝑡 количество терминов, извлеченных в результате работы алгоритма Brainsterm.
На третьем шаге алгоритма выполняется фильтрация полученных терминов-пар слов.
Для каждой пары слов 𝐴
=
(𝐴1 , 𝐴2 ) выполняется 8 запросов к поисковой систе-
ме: ℎ𝑖𝑡𝑠(𝐴), ℎ𝑖𝑡𝑠(“A is a term”), ℎ𝑖𝑡𝑠(“A is a concept”), ℎ𝑖𝑡𝑠(“𝐴1 AND 𝐴2 ”), ℎ𝑖𝑡𝑠(𝐴1 ), ℎ𝑖𝑡𝑠(𝐴2 ),
ℎ𝑖𝑡𝑠(“𝐴 AND 𝐷”) и один запрос к Википедии. В последней формуле 𝐷 представляет собой названий заданной области знания, онтология которой строится. Всего на этом шаге выполняется
8𝑡 запросов. Затем с полученными результатами производится 𝑂(𝑡) арифметических операций
и операций сравнения. Таким образом, временная сложность этого этапа равна 𝑂(𝑡). Пространственная сложность шага равна 𝑂(1), так как все операции выполняются последовательно и
независимо для каждого термина, и при этом никакой новой информации не сохраняется. По
итогам этапа из множества первоначально отобранных терминов выбрасываются те пары, которые не прошли по заданным критериям.
На четвертом этапе алгоритма происходит выявление ассоциативных отношений между терминами. Для этого для каждой пары терминов вычисляется функция 𝑁 𝐺𝐷. Выполнение этой
функции занимает константное время для каждой пары терминов 𝐴, 𝐵. Отметим, что при этом
производится один новый запрос к поисковой системе: ℎ𝑖𝑡𝑠(“𝐴 AND 𝐵”). После этого отбираются пары, для которых значение 𝑁 𝐺𝐷 превосходит заданное пороговое значение. Таким
88
образом, временная сложность этапа равна 𝑂(𝑡2 ). Всего на этом шаге выполняется не более
𝑡(𝑡−1)
2
обращений к поисковой системе. Пространственная сложность этапа равна 𝑂(𝑡2 ), так как
полученные статистически близкие пары терминов необходимо сохранить.
На пятом этапе алгоритма строится иерархия терминов. Для каждой пары терминов (𝐴, 𝐵),
между которыми есть связь, выявленная на предыдущем шаге, выполняется запрос к поисковой
системе вида “𝐴 AND 𝐵”. Отметим, что в отличие от запросов вида ℎ𝑖𝑡𝑠 , в ответ на этот запрос
возвращается не только количество веб-страниц, на которых встречаются слова запроса, но и
их названия, веб-адреса и краткие выдержки («сниппеты») из их текста, содержащие слова
запроса. В полученных результатах производится поиск по регулярным выражениям. Таким
образом, временная сложность этого этапа равна 𝑂(𝑡2 ). Пространственная сложность равна
𝑂(𝑡2 ), так как потенциально для каждой пары терминов нужно сохранить информацию об
иерархической связи.
На шестом этапе происходит поиск русских эквивалентов английских терминов с помощью
информации из Википедии. Для каждого термина выполняется одно обращение к Википедии.
Общее количество операций равно 𝑂(𝑡). Пространственная сложность равна 𝑂(𝑡), так как для
каждого термина как максимум необходимо сохранить один эквивалент.
На последнем, седьмом этапе алгоритма термины разбиваются на категории из множества
𝑁𝐶 . Это множество не зависит от рассматриваемого раздела науки и содержит порядка 30 слов.
Для каждого термина выполняется |𝑁𝐶 | запросов к поисковой системе. Временная сложность
этого этапа равна 𝑂(𝑡). Пространственная сложность также равна 𝑂(𝑡), так как для каждого
термина в крайнем случае необходимо сохранить |𝑁𝐶 | связей.
Объединяя полученные для каждого этапа оценки сложности, выводим итоговые показатели. Применим оценку для количества извлеченных терминов 𝑡 с помощью алгоритма Brainsterm, доказанную в теореме 2. Таким образом, временная сложность алгоритма
Sonmake равна 𝑂(1) + 𝑂(|𝑅 ||𝐷𝑜𝑐 | min(𝑚2 , 𝑛) + 𝑛) + 𝑂(𝑡) + 𝑂(𝑡2 ) + 𝑂(𝑡2 ) + 𝑂(𝑡) + 𝑂(𝑡) =
𝑂(|𝑅 ||𝐷𝑜𝑐 | min(𝑚2 , 𝑛) + 𝑛 + 𝑡2 ) = 𝑂(min(𝑚4 , 𝑛2 ) + |𝑅 ||𝐷𝑜𝑐 | min(𝑚2 , 𝑛) + 𝑛). Пространственная
сложность алгоритма равна 𝑂(1) + 𝑂(|𝐷𝑜𝑐 | min(𝑚2 , 𝑛)) + 𝑂(1) + 𝑂(𝑡2 ) + 𝑂(𝑡2 ) + 𝑂(𝑡) + 𝑂(𝑡) =
𝑂(|𝐷𝑜𝑐 | min(𝑚2 , 𝑛) + 𝑡2 ) = 𝑂(min(𝑚4 , 𝑛2 ) + |𝐷𝑜𝑐 | min(𝑚2 , 𝑛)).
Замечание. На практике при выделении терминов часто устанавливают пороговое значение
для их количества. Например, требуется выделить не более 10000 терминов. В этом случае
асимптотика времени работы алгоритма перестает зависеть от 𝑡 и совпадает с асимптотикой
времени работы алгоритма Brainsterm.
Замечание. На практике очень важным параметром алгоритма такого типа, который в
процессе работы использует поисковые системы в Интернет, является количество обращений к
ним. Запрос к удаленной поисковой системе является дорогостоящей операцией в следующих
трех смыслах. Во-первых, стоимость использования большинства платных для программного
доступа поисковых систем линейно зависит от количества обращений к ним. Во-вторых, в абсолютном большинстве бесплатных поисковых систем установлено ограничение на количество
программных запросов за период времени (например, за сутки). Наконец, время выполнения
89
запроса к удаленной поисковой системе обычно значительно превосходит время выполнения
любой элементарной операции, или даже целой функции, на локальном вычислительном узле.
3.3
Выводы
В настоящей главе представлены описания двух разработанных автором диссертации ключевых алгоритмов, которые используются в системе управления научной информацией. Алгоритм
Brainsterm служит для выделения терминов из коллекции текстов, разбитых на рубрики. Он
является статистическим и состоит из четырех шагов-критериев. Алгоритм Sonmake предназначен для построения онтологии заданной области научного знания. Он использует анонсы
научных конференций в качестве исходных данных для выделения терминов. Для извлечения
отношений между терминами применяется информация, получаемая из поисковых систем в
Интернет. В алгоритме комбинируются лингвистические и статистические методы.
Разработанные алгоритмы составляют основу соответствующих модулей системы учета и
анализа научной информации, описанию которой посвящена настоящая диссертация. Следует
подчеркнуть, что эти алгоритмы могут быть использованы и в других системах, в которых
возникает необходимость извлекать термины и строить онтологии областей научного знания.
90
Глава 4
Программная реализация и анализ
эффективности базовых алгоритмов
Настоящая глава посвящена исследованию эффективности программных реализаций разработанных автором алгоритмов выделения терминов Brainsterm и построения онтологии области
научного знания Sonmake. Программная реализация и эффективность алгоритма Brainsterm
рассматриваются в разделе 4.1, а алгоритма Sonmake – в разделе 4.2. В этих разделах под
алгоритмами будем понимать их программные реализации, разработанные автором. Другие
реализации этих алгоритмов, в том числе – соответствующие спецификации, вообще говоря,
могут вести себя иначе.
4.1
Программная реализация и исследование эффективности алгоритма выделения терминов Brainsterm
В настоящем разделе приводятся описание программной реализации и результаты исследования
эффективности алгоритма Brainsterm выделения терминов из коллекции текстов с заданным
тематическим делением.
Алгоритм Brainsterm реализован на языке С++. Программа составляет около 1200 строк.
В таблице 4.1 представлены результаты анализа кода программной реализации алгоритма, полученные с помощью инструмента CLOC1 . Отметим, что средство CLOC при подсчете не учитывает комментарии, которые находятся в той же строке, что и код (такая строка считается
строкой кода). Программный код алгоритма Brainsterm находится в открытом доступе2 . На
языках С++ и Python автором написана также программа сравнения эффективности алгоритмов Brainsterm, LSI [80] и TF-IDF [52]. Эта программа включает в себя реализацию алгоритмов
LSI и TF-IDF и составляет около 2000 строк, не считая используемой сторонней библиотеки
svd3 (около 7500 строк), которая выполняет сингулярное разложение матрицы, необходимое
1
http://cloc.sourceforge.net
https://bitbucket.org/goldan/brainsterm
3
http://www.alglib.net/matrixops/general/svd.php
2
91
Язык
Количество
файлов
код
C++
C/C++ Header
Python
Всего
13
12
1
26
878
169
68
1115
Количество строк
комментарии пустые
8
13
4
25
84
32
8
124
всего
970
214
80
1264
Таблица 4.1. Число строк в программной реализации алгоритма Brainsterm.
Язык
Количество
файлов
код
C++
C/C++ Header
Python
Всего
10
10
3
23
1293
91
277
1661
Количество строк
комментарии пустые
161
15
16
192
110
35
36
181
всего
1564
141
329
2034
Таблица 4.2. Число строк в программе сравнения эффективности алгоритмов Brainsterm, TF-IDF
и LSI.
для алгоритма LSI. В таблице 4.2 представлены результаты анализа кода этой программы.
4.1.1
Методика оценки эффективности
Необходимо отметить, что, несмотря на большое число работ, посвященных рассматриваемому классу задач, а также проделанный автором обширный анализ источников, результатов
исследований, содержащих решение задачи выделения терминов, состоящих из пар слов, из
текстовых документов, которые разделены на рубрики, обнаружить не удалось. Большинство
существующих методов направлены на выделение терминов из документов, не разделенных на
рубрики (разделение, если оно есть, не используется), либо позволяют выделять только одиночные слова. В связи с отмеченным обстоятельством, провести прямое сравнение алгоритма
Brainsterm с полностью аналогичными методами не представляется возможным. Принимая
это во внимание, проведено сравнение эффективности алгоритма Brainsterm с двумя широко
распространенными в области обработки данных алгоритмами, а именно – TF-IDF и LSI, которые не учитывают разделения исходных документов на рубрики. Их описания представлены в
Приложении Е. Таким образом, при сравнении следует иметь в виду, что алгоритм Brainsterm
использовал дополнительную информацию о документах, а именно, их разделение на рубрики.
Для сравнения с алгоритмом Brainsterm рассмотрены следующие методы:
• алгоритм TF-IDF (term frequency – inversed document frequency);
• алгоритм LSI (latent semantic indexing) с булевой матрицей;
• алгоритм LSI с матрицей частот;
• алгоритм LSI с матрицей из TF-IDF.
Для тестирования использовалась векторная модель представления документов. Как уже
было отмечено, алгоритмы выделения терминов позволяют строить сокращенный базис из значимых слов, понижая, тем самым, размерность задачи. При этом важным условием является
92
сохранение информации об исходных документах и их разделении на рубрики. Именно это
условие может быть формально проверено с помощью двух распространенных задач, решаемых в рамках векторной модели представления документов: классификации и кластеризации.
Заметим, что эти задачи играют ключевую роль во многих современных системах обработки
данных. Предполагается, что если сокращенный базис сохраняет всю важную информацию, которая содержится в документах, то алгоритмы классификации и кластеризации, использующие
векторы в этом базисе, должны показывать высокие результаты. Качество базиса формально
оценивалось с помощью алгоритма классификации и алгоритма оценки качества кластеризации. Необходимо заметить, что размерность пространства 𝑛 фиксируется заранее для алгоритмов Brainsterm и LSI. Размерность для алгоритма LSI не может превышать число документов в
обучающей выборке. Алгоритм TF-IDF не позволяет варьировать размерность итогового пространства, которая для него равна количеству различных слов во всех документах коллекции.
Для проверки условия сохранения информации в базисе выполняется следующая процедура. Берутся две выборки документов, разделенных на рубрики. Одна из выборок используется
в качестве обучающей, а другая – тестовой. Они содержат приблизительно равное количество
документов, рубрики в обеих выборках одни и те же. С помощью обучающей выборки производится обучение системы, то есть выделяются термины, которые образуют сокращенный базис
наперед заданного размера. После этого документам обучающей и тестовой выборок сопоставляются точки в пространстве на основе этого базиса, у которых 𝑖−тая координата есть число
вхождений пары-термина с номером 𝑖 в документ. Таким образом, из 𝑁 документов получаются 𝑁 точек, разбитых, с одной стороны, на два множества – обучающую и тестовую выборки
(каждое множество образовано точками-образами документов из соответствующей выборки),
а с другой стороны, на кластеры – образы исходных рубрик. Кластер, соответствующий некоторой рубрике, образован точками-образами документов этой рубрики. Анализ эффективности
алгоритма заключается в тестировании конфигурации кластеров с помощью методов классификации и кластеризации. Классификация показывает, насколько алгоритм сохраняет исходное
разделение на рубрики, а кластеризация – насколько компактными получились кластеры.
4.1.1.1
Оценка с помощью алгоритма классификации
Оценка с помощью классификации проводится следующим образом. Выполняется классификация точек тестовой выборки с помощью метода «K ближайших соседей» (его описание приведено в Приложении Е), для этого используется разбиение на кластеры точек обучающей выборки.
В результате классификации каждая точка тестовой выборки, которая представляет документ
одной из рубрик, попадает в один из кластеров – образов исходных рубрик. При этом точка
представляет документ, который сам изначально относится к одной из рубрик. Таким образом,
в результате классификации точек документы тестовой выборки еще раз распределяются по
рубрикам. Далее проверяется, насколько это распределение совпадает с исходным распределением документов по рубрикам. Для этого вычисляется процентное отношение количества документов тестовой выборки, попавших после классификации в образ той же рубрики, к которой
93
они принадлежали изначально, к общему числу документов выборки. Чем больше полученное
число (которое находится в промежутке от 0% до 100%), тем эффективнее рассматриваемый
алгоритм.
4.1.1.2
Оценка с помощью алгоритма кластеризации
Оценка с помощью метода кластеризации производится следующим образом. К кластерам, образованным точками тестовой выборки, применяется один из стандартных методов оценки кластеризации точек. Его описание приведено в Приложении Е. Этот метод оценивает относительный разброс точек внутри кластеров. Чем меньше относительный разброс, тем эффективнее
алгоритм.
4.1.2
Результаты тестирования
В целях сравнения эффективности алгоритмов использовалась выборка, содержащая около 1.4
миллиона слов в коллекции из 7 тысяч документов. Общее количество различных слов составило около 21 тысячи. Обучающая выборка включала 3591 документ, остальные документы
составили тестовую выборку. Заметим, что алгоритм LSI не допускает размерности выше, чем
количество документов в обучающей выборке. Именно поэтому на иллюстрациях графики показателей модификаций алгоритма LSI обрываются на точке 3591.
Алгоритм Brainsterm использует четыре параметра, по одному на каждый критерий. Для
выяснения оптимальных значений параметров проведено тестирование различных наборов. В
результате получены следующие значения, на которых алгоритм Brainsterm достигает максимальной эффективности:
• MAX_DIST – максимальное расстояние между словами, которые образуют пару – 1 (слова
должны стоять рядом);
• MIN_FREQ – минимальное количество вхождений пары в коллекцию для отбора в множество 𝑀2 – 5;
• MIN_DISCR – минимальное значение функции характерности пары для отбора в множество
𝑀3 – 0.7;
• MAX_FREQ_RATIO – максимальное значение константы в критерии значимых рубрик – 0
(фильтр отключен). Смысл этого параметра cледующий: должна существовать значимая
для пары рубрика, в которой сумма весов обоих слов пары превосходит вес пары не более,
чем в MAX_FREQ_RATIO раз. Неожиданным результатом тестирования оказался тот факт,
что при отключении критерия значимых рубрик точность классификации возрастает. Следует однако заметить, что этот вывод нельзя считать окончательным, так как на другой
обучающей выборке наилучшие значения параметров, вероятнее всего, будут отличаться. В каждом конкретном случае необходимо проводить предварительное тестирование с
целью определения оптимальных значений параметров.
94
4.1.2.1
Вычислительная сложность
Как показывает теорема 2, временная сложность алгоритма Brainsterm оценивается как
𝑂(|𝑅 ||𝐷𝑜𝑐 | min(𝑚2 , 𝑛) + 𝑛) , где 𝑛 – количество всех слов в документах коллекции, 𝑚 – количество различных слов, |𝐷𝑜𝑐 | – количество документов, а |R | – количество рубрик. Временная
сложность алгоритма TF-IDF составляет 𝑂(|𝐷𝑜𝑐 |𝑚). Вычислительная сложность алгоритма
LSI зависит от реализации подпрограммы сингулярного разложения матрицы. Соответствующих оценок для реализации, которая использовалась в настоящей диссертации, найти не удалось. Отметим, что даже при наличии таких оценок адекватного сравнения сложности алгоритмов получить бы не удалось, так как для алгоритма LSI параметром служит число различных
слов, а для алгоритма Brainsterm – число как различных, так и всех слов в коллекции.
4.1.2.2
Производительность
Общее представление о сравнительной производительности алгоритмов можно получить из результатов тестирования, оценивающих время их работы. Параметры используемой вычислительной установки: CPU AMD Opteron 2 Ghz, 8 Gb RAM. На рис. 4.1 представлен график
времени работы алгоритма Brainsterm в зависимости от размерности пространства.
Рис. 4.1. Время работы алгоритма выделения терминов Brainsterm.
На рис. 4.2 представлены показатели времени работы алгоритмов Brainsterm, LSI и TF-IDF.
Каждый алгоритм был запущен с параметром размерности целевого пространства, имеющим
оптимальное значение, при котором данный алгоритм достигает максимальных результатов
точности классификации. Для алгоритма Brainsterm это значение равно 10000, для алгоритма
LSI – 250. Алгоритм TF-IDF не позволяет выбрать размерность целевого пространства. Фактически она равна общему количеству уникальных слов в коллекции, то есть в данном случае
около 21000.
Как видно из диаграммы, алгоритмы Brainsterm и TF-IDF работают гораздо быстрее алгоритма LSI. Отметим, что при тестировании на имеющейся выборке алгоритму Brainsterm
95
Рис. 4.2. Сравнение времени работы алгоритмов.
потребовалось около 1 Gb оперативной памяти, алгоритму TF-IDF – около 550 Mb, а алгоритму LSI – около 2.2 Gb. Показатели времени работы программы, реализующей алгоритм
Brainsterm, и используемой ею памяти подтверждают справедливость полученных ранее (теорема 2) аналитических оценок вычислительной сложности алгоритма и свидетельствуют о его
практической применимости.
4.1.2.3
Организация работы с памятью
Одной из отличительных особенностей задач, связанных с обработкой текстов, является необходимость работать с большими объемами данных. В связи с этим обстоятельством отметим
некоторые аспекты организации работы с памятью в программе. Из описания алгоритма следует «наивный» вариант реализации алгоритма: построение множества 𝑀0 , затем исключение
из него пар, не вошедших в 𝑀1 , и так далее, пока не получится итоговое множество 𝑀4 . Однако в этом случае программа потребовала бы слишком много оперативной памяти (несколько
гигабайт для выборки объемом в миллион слов).
Другой вариант организации работы с памятью основан на идее, которая была использована
при доказательстве теоремы 2. Заметим, что различные пары слов полностью независимы в
смысле попадания в множество 𝑀𝑖 . Другими словами, будет ли пара отобрана в очередное
множество или будет отброшена, зависит только от ее характеристик (весов и частот), и не
зависит от других пар. С учетом этого замечания алгоритм реализован итерационно: исходное
множество пар 𝑃 𝑊 делится на подмножества равной (и достаточно небольшой) мощности,
и затем алгоритм применяется последовательно к каждому подмножеству (то есть из него
выделяются 𝑀1 , 𝑀2 , 𝑀3 и 𝑀4 ), при этом в памяти остаются только пары, вошедшие в 𝑀4 .
Итерационная реализация алгоритма позволяет значительно уменьшить требования к памяти
компьютера.
4.1.2.4
Тестирование функции веса для алгоритма Brainsterm
В качестве кандидатов на функции 𝑓 и 𝑔 для функции веса пары в рубрике, которая используется в алгоритме Brainsterm, выбраны следующие функции (здесь, как и ранее, рубрика 𝑟
состоит из документов 𝑑1 , . . . , 𝑑𝑘 , 𝑘 > 1):
• 𝑓 (𝑥, 𝑦):
1.
√
𝑥
ln(1+𝑦)
(обозначена цифрой 1 на графиках);
96
3.
𝑥2
(2);
𝑦
√
𝑥 𝑥
(3);
𝑦
4.
𝑥(1+ln(1+𝑥))
𝑦
5.
𝑥 ln(1+𝑥)
𝑦
6.
𝑥
ln(1+𝑦)
7.
𝑥
𝑦
2.
(4);
(5);
(6);
(7);
• 𝑔(𝑥1 , . . . , 𝑥𝑘 ):
1.
𝑘
∑︀
ln(1 + 𝑥𝑖 ) (обозначена g1 на графиках);
𝑖=1
2.
𝑘
∏︀
(1 + 𝑥𝑖 ) (g2);
𝑖=1
3. (
𝑘
∑︀
𝑥𝑖 ) · |{𝑥𝑖 | 𝑥𝑖 > 0}| (g3).
𝑖=1
Также для наглядности взяты функции более простого вида, которые зависят от меньшего
числа аргументов:
1. 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) =
𝑘
∑︀
𝐹 𝑟𝑒𝑞(𝑝𝑤, 𝑑𝑖 ) (8);
𝑖=1
2. 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) =
𝑘
∑︀
ln(1 + 𝐹 𝑟𝑒𝑞(𝑝𝑤, 𝑑𝑖 )) (9);
𝑖=1
3. 𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) = (
𝑘
∑︀
𝐹 𝑟𝑒𝑞(𝑝𝑤, 𝑑𝑖 )) · |{𝑑 ∈ 𝑟 :| 𝐹 𝑟𝑒𝑞(𝑝𝑤, 𝑑) > 0}| (10).
𝑖=1
Тестирование состояло в оценивании точности классификации при использовании различных функций веса. Результаты тестирования приведены для размерностей 2000, 3000, 4000,
5000 и 10000. Это вызвано тем, что на меньших размерностях алгоритм Brainsterm неэффективен вследствие низкой точности классификации (менее 70%) и большого числа документов с
нулевыми координатами (более 15%).
На первом этапе тестирования использовалась функция g1, а также функции 8-10. Результаты приведены на рис. 4.3. Отметим, что на графиках номер функции всегда стоит над ее
графиком. Максимальный результат (85.8%) достигнут при использовании функции под номером 1. Однако на размерностях ниже 10000 её показатели ниже, чем у большинства остальных
функций. Достаточно высокие результаты показали функции 5 (максимум 85%) и 6 (максимум
85.1%). Остальные функции не достигли отметки 85%. Отметим, что «упрощенные» функции
8 и 9 показали вполне неплохие результаты, а функция 8 даже показала рекордные результаты
на размерностях 2000, 3000, 4000.
После первого этапа тестирования были отброшены функции 2, 3, 4, 7, а также все упрощенные функции 8-10. Далее в тестировании участвовали функции 1, 5, 6, а также g2 и g3.
Результаты второго этапа тестирования приведены на рис. 4.4. Как хорошо видно из рис. 4.4,
97
Рис. 4.3. Точность классификации при использовании функции g1 и функций 1-10.
Рис. 4.4. Точность классификации при использовании функций g1, g2, g3 и функций 1, 5, 6.
98
эффективность функции g2 значительно ниже эффективности функций g1 и g3. Результаты
функций g1 и g3 схожи, при этом максимальные цифры достигнуты комбинациями функций
g1 и 1 (85.8%), а также g3 и 1 (85.5%). В качестве лучшей выбрана комбинация g1 и 1, поскольку
её максимальный результат выше, а проигрыш на размерностях 2000-5000 несущественен.
Таким образом, по результатам тестирования решено использовать функцию веса пары 𝑝𝑤
в рубрике 𝑟 следующего вида:
(︂ √
√︃
∑︀
𝑊 𝑒𝑖𝑔ℎ𝑡𝑟 (𝑝𝑤) =
ln
4.1.2.5
𝐿(𝑑)
ln ( 𝐴𝑣(𝐿,𝐷) +1)
𝑑∈𝑟
ln
𝐹 𝑟𝑒𝑞(𝑝𝑤,𝑑)
(︁
|𝑟|
𝐴𝑣(|·|,𝑅)
+1
)︂
+1
)︁
.
Точность классификации
На рис. 4.5 приведены результаты сравнения точности классификации. Их анализ позволяет
сделать следующие выводы:
• максимальный результат алгоритма Brainsterm (85.8%) превосходит результаты всех
остальных алгоритмов;
• алгоритм TF-IDF показал достаточно низкие результаты (73.5%);
• максимальный результат алгоритма LSI (83.6%) достигнут на размерности 250;
• алгоритмы LSI с матрицей частот и булевой матрицей эффективны на размерностях 503000, при дальнейшем увеличении размерности их эффективность падает;
• алгоритм LSI с матрицей из TF-IDF показал гораздо более низкие результаты, чем остальные алгоритмы;
• в целом точность классификации для алгоритма Brainsterm на размерностях от 2000 сопоставима с максимальными показателями алгоритмов LSI.
Заметим, что для алгоритма Brainsterm важным показателем является количество документов тестовой выборки, которые имеют нулевые координаты. Наличие таких документов связано
с тем обстоятельством, что при небольшой размерности пространства (а значит, и числе выделенных терминов) некоторое число тестовых документов не содержит ни одного термина из
базиса. При тестировании тестовые документы, которые имели все нулевые координаты, считались попавшими не в «свою» рубрику и учитывались как неверные попадания. Отметим, что
для алгоритмов TF-IDF и LSI этого вопроса не существует, все документы имеют хотя бы одну ненулевую координату. Результаты более детального анализа этого эффекта приведены на
рис. 4.6. На нем показаны графики точности классификации как при учете тестовых документов с нулевыми координатами как неверных попаданий (так называемая «реальная» точность,
которая и сравнивалась с точностью других алгоритмов), так и при пропуске таких документов
(то есть они просто отбрасывались). Во втором случае точность выше, однако разница заметна
только на размерностях до 1000. Этот факт связан с тем, что на размерностях, на которых
99
Рис. 4.5. Точность классификации при использовании алгоритмов Brainsterm, LSI и TF-IDF.
Рис. 4.6. Анализ результатов классификации с использованием алгоритма Brainsterm.
100
алгоритм Brainsterm показал высокие результаты точности классификации (от 2000), процент
документов с нулевыми координатами достаточно низкий (2.4% и ниже).
4.1.2.6
Качество кластеризации
На рис. 4.7 приведены итоги сравнения качества кластеризации. Напомним, что меньшее значение относительного разброса кластеров соответствует более высокой эффективности алгоритма.
Эта иллюстрация показывает, что алгоритмы, участвовавшие в сравнении, достигают примерно
одинаковых результатов. Вместе с тем, отметим, что у алгоритма Brainsterm нет таких скачков
ухудшения качества кластеризации, как у алгоритма LSI.
Рис. 4.7. Качество кластеризации при использовании алгоритмов Brainsterm, LSI и TF-IDF.
В таблице 4.3 приведены первые 50 терминов, полученных алгоритмом при построении онтологии области знания «информатика», отсортированные по весу в целевой рубрике. Подробно
процесс построения этой онтологии описан в разделе 4.2.
4.1.3
Выводы
В настоящем разделе представлено описание программной реализации и результаты исследования эффективности разработанного автором диссертации алгоритма Brainsterm выделения
терминов из коллекции текстов с заданным тематическим делением. Покажем, что алгоритм
удовлетворяет требованиям, которые сформулированы в разделе 2.3. Далее жирным шрифтом
выделены формулировки требований, после которых приведены отвечающие им характеристики алгоритма.
101
№
термин
№
термин
№
термин
1
data mining
18
experience reports
35
network analysis
2
software engineering
19
data analysis
36
trust management
3
machine learning
20
intrusion detection
37
hoc networks
4
artificial intelligence
21
software systems
38
mining algorithms
5
knowledge discovery
22
wireless communications
39
information integration
6
signal processing
23
knowledge representation
40
query languages
7
data management
24
programming languages
41
data sets
8
computational intelligence
25
data warehousing
42
recommender systems
9
network security
26
requirements engineering
43
reverse engineering
10
wireless networks
27
query processing
44
data quality
11
intelligent systems
28
text mining
45
software architecture
12
software development
29
data integration
46
cognitive radio
13
communication systems
30
digital libraries
47
project management
14
access control
31
software testing
48
data processing
15
formal methods
32
software architectures
49
identity management
16
database systems
33
empirical studies
50
ieee symposium
17
web mining
34
data streams
Таблица 4.3. Первые 50 выделенных с помощью алгоритма Brainsterm терминов в области
«Computer Science».
• Алгоритм должен извлекать из документов термины, которые характеризуют
направления, задачи, методы и средства в рамках заданной области научного
знания.
Алгоритм Brainsterm позволяет выделять пары слов, которые характеризуют документы,
в которых они встречаются, с точки зрения принадлежности рубрике, связанной с заданной областью научного знания. Как видно из таблицы 4.3, среди выделенных терминов
есть названия направлений (например, «data integration»), задач («reverse engineering»),
методов («formal methods») и средств («cad tools», этот термин был выделен, но не попал
в первые 50 терминов).
• Точность и полнота извлекаемых терминов не должна уступать показателям
существующих и прошедших апробацию алгоритмов выделения терминов.
Как показали результаты анализа, представленные в настоящей главе, алгоритм
Brainsterm сочетает в себе высокую скорость работы, значительно превышающую скорость работы алгоритма LSI и высокую эффективность, которая сравнима с эффективностью алгоритма LSI и превышает показатели TF-IDF.
• Алгоритм не должен требовать обучения, либо должна существовать возможность получать необходимые обучающие выборки из открытых источников, не
102
затрачивая больших усилий по их обработке.
Алгоритм Brainsterm не требует ни обучающих терминов, ни обучающих документов, из
которых были бы выделены термины. Единственное требование алгоритма ко входным
данным состоит в том, что документы, из которых необходимо выделить термины, должны быть разделены на рубрики.
• Алгоритм не должен требовать большого объема ручного труда экспертов по
настройке на заданную предметную область.
Для настройки алгоритма на предметную область необходимо отрегулировать численные
параметры, которые используются на каждом из его этапов. Отметим, что начальные значения параметров, при которых алгоритм продемонстрировал высокую эффективность,
приведены в диссертации. Кроме возможного изменения этих параметров, для адаптации алгоритма к работе с конкретной областью знания других действий производить не
требуется.
• Источники данных для алгоритма должны находиться в открытом доступе и
регулярно обновляться.
Алгоритм Brainsterm не требует использования каких-либо определенных источников данных. Они могут представлять собой произвольные текстовые документы. Единственным
требованием является необходимость разделения этих документов на рубрики. Заметим,
что оно никак не ограничивает доступность документов и регулярность их обновления.
• Алгоритм должен иметь модульную архитектуру.
Алгоритм Brainsterm состоит из четырех этапов-модулей, на каждом из которых происходит независимый отбор пар слов-кандидатов. Как отмечено в разделе 4.1.2.3, эти модули
не зависимы не только по функциям, но и по использованию памяти.
• Должна существовать возможность автоматизированной настройки алгоритма
на конкретную область знания.
Настройка алгоритма на конкретную область знания заключается в автоматизированном
подборе параметров, упомянутых ранее, а также в разделении исходных документов на
рубрики. Отметим, что рубрикация документов является глубоко исследованным направлением обработки информации. Существует большое число алгоритмов классификации,
которые позволяют в автоматическом или автоматизированном режиме разбить заданные
документы на рубрики. Основные методы классификации перечислены в Приложении Г.
Перечислим методы, с помощью которых можно повысить эффективность алгоритма
Brainsterm.
• Соединение алгоритмов Brainsterm и LSI.
После выделения терминов с помощью алгоритма Brainsterm, их можно подать на вход
алгоритму LSI (то есть вместо матрицы из всех слов рассмотреть матрицу из терминов).
Предполагается, что это значительно улучшит точность классификации.
103
• Расширение алгоритма Brainsterm на выделение троек, четверок слов и так далее.
Это можно сделать двумя способами: либо переработать сам алгоритм, либо использовать его в текущем виде, применяя к отобранным терминам процедуру образования более
длинных цепочек из пар слов (например, соединяя несколько пар по совпадающему слову).
• Использование лингвистических средств.
Как было отмечено выше, алгоритм Brainsterm не использует никаких лингвистических
методов, кроме первоначальной лемматизации (которая должна быть выполнена до применения алгоритма). Есть основания полагать, что лингвистические методы способны
улучшить результаты алгоритма. Самым простейшим расширением представляется добавление первоначальной фильтрации стоп-слов из документов. Другое интересное направление – использование дерева синтаксического разбора на этапе отбора пар. Выбор
пар, которые находятся на одной ветке дерева, возможно, позволит уменьшить время
работы алгоритма и увеличить его эффективность.
• Добавление в базис одиночных слов с высоким значением idf.
Это позволит убрать из базиса пары, которые образованы этими словами и имеют небольшой вес, что сократит размерность базиса.
• Модификация алгоритма с целью добавления возможности подключения пользовательской функции определения параметров алгоритма в зависимости от размерности целевого
пространства.
Как показали результаты анализа эффективности алгоритма, в ряде случаев наиболее
высокие показатели точности классификации достигаются при разных значениях параметров на разных размерностях. Это означает, что точность можно повысить, варьируя
параметры алгоритма в зависимости от размерности пространства (то есть требуемого количества терминов). Это варьирование должно осуществляться в пользовательской функции (или конфигурационном файле), так как оптимальные значения параметров зависят
от конкретной предметной области, в которой применяется алгоритм Brainsterm.
• Повышение эффективности алгоритма при работе с разнородными по мощности рубриками.
Для эффективной работы алгоритма Brainsterm необходимо, чтобы исходные рубрики
содержали примерно равное количество документов. Тестирование показало, что отличия в два-три раза допускаются, но при разнице в порядок качество выделенных терминов значительно падает. Этот факт обусловлен тем обстоятельством, что пары, которые
встречаются в рубриках, содержащих малое количество документов, получают неоправданно большой вес. Для повышения эффективности работы алгоритма с разнородными
по мощности рубриками необходима его модификация.
Подводя итог исследованию эффективности разработанного автором алгоритма Brainsterm
выделения терминов из коллекции текстов с заданным тематическим делением, сделаем вы104
Язык
Количество
файлов
код
Python
39
2165
Количество строк
комментарии пустые
115
269
всего
2549
Таблица 4.4. Число строк в программной реализации алгоритма Sonmake.
вод, что изложенные факты подтверждают хорошие перспективы применения алгоритма на
практике. Алгоритм Brainsterm соответствует предъявляемым к нему требованиям и может
быть использован как в соответствующем модуле системы учета и анализа научной информации, описанию которой посвящена настоящая диссертация, так и в других системах, в которых необходимо извлечение терминов из текстовых документов. Есть все основания полагать,
что дальнейшая модернизация алгоритма Brainsterm, соображения о которой представлены в
настоящем разделе, позволит улучшить показатели эффективности алгоритма и значительно
превысить результаты LSI.
4.2
Программная реализация и исследование эффективности алгоритма построения онтологии Sonmake
В настоящем разделе представлены результаты исследования эффективности разработанного
автором алгоритма Sonmake построения онтологии области научного знания на основе информации из анонсов научных конференций и Интернет. Программный код, который реализует
алгоритм Sonmake, находится в открытом доступе1 . Он написан на языке Python. Программа
составляет около 2500 строк. В таблице 4.4 представлены результаты анализа кода алгоритма,
полученные с помощью инструмента CLOC. Отметим, что в таблице не учтен код алгоритма
Brainsterm, который представляет собой независимую библиотеку. В качестве исходной коллекции анонсов конференций, как уже было отмечено в разделе 2.3, использовалась база портала
WikiCFP2 , содержащая 13098 документов. Разделение документов на рубрики производилось
на основе меток, присвоенных им пользователями сайта. Множество меток 𝑇 𝑎𝑔𝑠 содержит 6643
элемента. С помощью функции FindClusters 3 программного комплекса Mathematica 5, которая
реализует процедуру разбиения документов на рубрики, описанную в разделе 3.2.2, множество
рассматриваемых документов было разбито на 7 рубрик, содержащих следующее количество
документов: 9621, 714, 459, 609, 716, 497 и 482. В качестве области знания в тестовых испытаниях использовалась область «информатика» (Computer Science).
В результате применения алгоритма Brainsterm для выделения терминов получено 1793 термина. В таблице 4.3 приведены первые 50 терминов, полученных алгоритмом, отсортированные
по весу в целевой рубрике. Точность выделения терминов составила 70.5%. Термином считалась пара слов, характерная для области «Информатика» с точки зрения эксперта. В основном
ошибки при выделении терминов появляются в случае, когда термин на самом деле состоит
1
https://bitbucket.org/goldan/sonmake
http://wikicfp.com
3
http://reference.wolfram.com/mathematica/ref/FindClusters.html
2
105
№
термин
№
термин
1
doctoral symposium
11
tool support
2
multimedia databases
12
vision papers
3
experience papers
13
ieee 2-column
4
software processes
14
well-marked appendices
5
novel data
15
graph mining
6
process models
16
security requirements
7
preserving data
17
copies due
8
original technical
18
information flow
9
intelligent user
19
camera-ready
10
distributed software
20
substantially overlap
Таблица 4.5. Первые 20 исключенных терминов на первом этапе фильтрации.
№
термин
№
термин
1
access control
11
database technology
2
experience reports
12
model-driven engineering
3
recommender systems
13
model-driven development
4
web search
14
symposium series
5
collaborative filtering
15
software process
6
empirical software
16
web-based services
7
must conform
17
autonomous agents
8
personal information
18
pattern mining
9
modeling languages
19
multimedia communication
10
digital rights
20
services security
Таблица 4.6. Первые 20 исключенных терминов на втором этапе фильтрации.
из более, чем двух слов, а взятые два слова из него термином не являются. В качестве примеров приведем следующие термины: (eye) tracking technologies, (machine) learning techniques,
(ontology) based learning.
После применения первого критерия фильтрации выбрано 1403 термина из 1793. Точность
составила 73.5%, полнота – 81%. Отметим, что в качестве метрики полноты используется подход
локальной полноты, предложенный в [81]. В таблице 4.5 представлены первые 20 исключенных
терминов по первому критерию фильтрации.
После применения второго критерия фильтрации выбрано 874 термина из 1403. Точность
составила 77%, а полнота – 63.6%. В таблице 4.6 представлены первые 20 исключенных терминов
по второму критерию фильтрации.
В таблице 4.7 представлены результаты анализа эффективности выделения и фильтрации
терминов. Отметим, что при вычислении точности и локальной полноты [81] термином считалась пара слов, характерная для области «информатика» с точки зрения эксперта.
106
№
шаг алгоритма
терминов выделено
точность
локальная полнота
F-мера
1
Brainsterm
1793
70.5%
-
-
2
фильтрация-1
1403
73.5%
81%
77.1%
3
фильтрация-2
874
77%
63.6%
69.6%
фильтрация в целом
874
77%
51.7%
61.9%
2-3
Таблица 4.7. Оценки эффективности этапов выделения и фильтрации терминов.
№
тип отношений
отношений выделено
точность
4
ассоциативные
3771
-
5
иерархические
85
89.4%
6
категориальные
135
85.2%
Таблица 4.8. Оценки эффективности этапов выделения отношений между терминами.
При поиске ассоциативных отношений выделено 3771 пар из 381501. В среднем каждый термин связан с четырьмя другими. Кроме этого, выделено 85 иерархических отношений (точность
составила 89.4%) и 135 категориальных отношений (точность составила 85.2%). В таблице 4.8
приведены результаты анализа эффективности извлечения отношений между терминами.
На этапе перевода терминов на русский язык для 401 из 874 терминов (45.9%) в Википедии
была найдена статья. Из них для 212 терминов (24.2%) найдены русские эквиваленты, которые
были добавлены в онтологию.
В результате работы алгоритма Sonmake построена онтология информатики, содержащая
61 класс, 1086 экземпляров и 4203 отношения. Ее фрагмент изображен на рис. 4.8.
4.2.1
Выводы
В настоящем разделе представлено описание программной реализации и результаты исследования эффективности разработанного автором диссертации алгоритма Sonmake построения
онтологии области научного знания на основе анонсов научных конференций и информации
из Интернет. Покажем, что алгоритм удовлетворяет требованиям, которые сформулированы
в разделе 2.4. Далее жирным шрифтом выделены формулировки требований, после которых
приведены отвечающие им характеристики алгоритма.
• Алгоритм должен извлекать иерархические и ассоциативные отношения между терминами.
В состав алгоритма Sonmake включены модули выделения иерархических и ассоциативных отношений между терминами. Для предметной области «информатика» с помощью
алгоритма выделено 3771 ассоциативных отношений, 85 иерархических и 135 категориальных, которые также можно рассматривать как иерархические.
• Онтология должна отражать актуальное состояние заданной области научного
знания.
107
Рис. 4.8. Фрагмент построенной с помощью алгоритма Sonmake онтологии области «Computer
Science».
В качестве источника терминов, которые составляют множество экземпляров онтологии
области научного знания, используются анонсы предстоящих научных конференций. Конференции отражают текущее состояние раздела науки, что выгодно отличает их от журналов, публикации в которых обычно отстают от последних разработок на несколько месяцев, а иногда – лет. Информация о конференциях постоянно пополняется, что позволяет
в прямом смысле «следить» за развитием области знания на всех уровнях детализации.
Список тематик конференции и список принятых работ составляются вручную экспертами, что позволяет говорить о их достоверности.
• Точность и полнота извлекаемых терминов и отношений не должна уступать
показателям существующих и прошедших апробацию алгоритмов построения
онтологии.
Как показали результаты анализа, представленные в настоящей главе, алгоритм Sonmake
позволяет выделять термины и отношения между ними с высокой точностью и приемлемой полнотой.
Отметим, что анонсы научных конференций содержат отобранную и полную информацию об области научного знания. Если научное направление развивается, то существуют
посвященные ему конференции, что свидетельствует о достаточной полноте покрытия
области знания. По крупным разделам науки, например базам данных, в год проходят
108
несколько тысяч конференций. Из информации о конференциях можно выделить ключевые понятия области знания и связи между ними, то есть заполнить онтологию области
знания. Как было отмечено выше, конференции отражают текущее состояние разделов
науки, а значит, анализ информации о них позволит оценивать научные направления,
вклад различных ученых и организаций в мировом масштабе.
Еще одним достоинством использования документов CFP в качестве источников информации является то обстоятельство, что письма в списках рассылки, содержащие информацию
о международных конференциях, обычно имеют относительно регулярную структуру. То
же самое, хотя и в меньшей степени, верно и для веб-сайтов конференций. Этот факт
позволяет разработать средства выделения информации, которые будут демонстрировать
более высокую эффективность, чем, например, инструменты, позволяющие выделять данные из Всемирной паутины в целом. Отметим, что в этом аспекте научные журналы отстают от конференций, потому что формат данных, представленных в электронных версиях
журналов, сильно отличается у разных издательств.
• Алгоритм не должен требовать обучения, либо должна существовать возможность получать необходимые обучающие выборки из открытых источников, не
затрачивая больших усилий по их обработке.
За счет использования информации из результатов поиска в Интернет, которые предоставляют поисковые системы, алгоритм Sonmake не требует обучения. Единственное требование алгоритма ко входным данным состоит в том, что документы, из которых необходимо
выделить термины, должны быть разделены на рубрики.
• Алгоритм не должен требовать большого объема ручного труда экспертов по
настройке на заданную предметную область.
Для настройки алгоритма на предметную область необходимо отрегулировать численные
параметры, которые используются на каждом из его этапов. Кроме возможного изменения
этих параметров, для адаптации алгоритма к работе с конкретной областью знания других
действий производить не требуется.
Отметим, что существуют как конференции, посвященные крупным областям, что позволяет оценить данные направления «с высоты птичьего полета», так и посвященные
узкоспециализированным разделам науки, что дает возможность проводить более детализированный и подробный анализ. Отметим, что при анализе научных журналов затруднительно получить информацию по узкому направлению исследований потому, что
журналы обычно посвящены сравнительно крупным направлениям.
• Источники данных для алгоритма должны находиться в открытом доступе и
регулярно обновляться.
Информация на сайте WikiCFP, а также в списках рассылок анонсов научных конференций находится в открытом доступе и постоянно обновляется. Это обстоятельство позволяет использовать алгоритм Sonmake с требуемой периодичностью для поддержания модели
109
области научного знания в актуальном состоянии.
• Алгоритм должен иметь модульную архитектуру.
Алгоритм Sonmake состоит из семи этапов-модулей. Отметим, что первый этап, на котором строится терминологическая часть онтологии, полностью описан в диссертации.
Понятия онтологии, построенные на этом этапе, могут быть использованы для построения онтологии произвольной области научного знания. На втором этапе применяется
алгоритм Brainsterm выделения терминов, который, как показано в разделе 4.1.3, имеет
модульную архитектуру. На этапах 3-7 происходит фильтрация терминов и построение
отношений между ними различных видов. Эти этапы являются независимыми друг от
друга.
• Должна существовать возможность автоматизированной настройки алгоритма
на конкретную область знания.
Настройка алгоритма на конкретную область знания заключается в автоматизированном
подборе параметров, упомянутых ранее, а также в разделении исходных документов на
рубрики. Отметим, что как показано в разделе 2.3, рубрикация анонсов научных конференций может быть легко произведена с использованием разметки пользователями портала WikiCFP или применения нескольких списков рассылок, образующих естественную
рубрикацию.
Перечислим основные недостатки алгоритма Sonmake построения онтологии области знания.
• Ограничение на вид термина.
В рамках предложенного подхода термин состоит ровно из двух слов. Это уменьшает точность и полноту алгоритма, так как большое число терминов состоят из трех и более слов,
а также из одного слова. С этим ограничением связано большинство ошибок алгоритма.
Отметим, что алгоритм выделения терминов Brainsterm может быть модифицирован для
выделения терминов, которые состоят из трех и более слов.
• При определении связей между терминами не учитывается расширенный контекст.
При выявлении связей между двумя терминами с помощью лингвистических шаблонов
анализируется лишь часть предложения, заключенная между этими терминами. При этом
потенциально полезную информацию могли бы содержать части предложения, которые
находятся слева от первого термина или справа от второго.
• Недостаточная полнота выделения именованных отношений.
В результате применения алгоритма выявления связей между 874 терминами выделено 85
иерархических отношений и 135 категориальных отношений. Таким образом, для каждого
термина в среднем построено 0.25 отношений, что, безусловно, недостаточно.
• Малое количество типов выделения именованных отношений.
110
В нынешнем виде алгоритм позволяет выделять лишь иерархические отношения, а также
категориальные отношения. Другие виды ассоциативных отношений не выделяются.
• Высокая вычислительная сложность.
Результаты тестовых испытаний алгоритма Sonmake согласуются с аналитическими оценками его вычислительной сложности, доказанными в теореме 3. В связи с тем, что для
каждого термина необходимо выполнять большое число запросов к поисковой системе, алгоритм построения онтологии обладает высокой вычислительной сложностью. При этом
операции, выполняемые на локальном вычислительном узле, работают на порядок быстрее. Отметим, что обычно в информационных системах онтология строится и перестраивается сравнительно редко, что позволяет применять предложенный алгоритм на практике.
По сравнению с существующими алгоритмами построения онтологии, разработанный автором алгоритм Sonmake обладает следующими достоинствами:
• мягкие требования к исходным данным;
• автоматическое выделение терминов области знания;
• высокая точность извлечения именованных отношений;
• универсальность, имея в виду тот факт, что алгоритм может быть применен без модификаций на любые области научного знания и многие другие области знания;
• отсутствие необходимости в большом объеме ручного труда экспертов.
Резюмируя результаты исследования эффективности алгоритма Sonmake построения онтологии области научного знания на основе анонсов научных конференций и информации из
Интернет, можно сделать вывод, что изложенные факты подтверждают хорошие перспективы
применения алгоритма на практике. Алгоритм Sonmake соответствует предъявляемым к нему
требованиям и может быть использован как в соответствующем модуле системы учета и анализа научной информации, описанию которой посвящена настоящая диссертация, так и в других
системах, в которых необходимо построение онтологии какой-либо области научного знания.
4.3
Выводы
В настоящей главе представлены результаты исследования эффективности разработанных автором алгоритмов Brainsterm выделения терминов из коллекции текстов с заданным тематическим делением и Sonmake построения онтологии области научного знания. Как показывают
результаты проведенного анализа, алгоритмы удовлетворяют предъявляемым к ним требованиям и могут быть использованы в соответствующих модулях системы учета и анализа научной
информации. Отметим, что алгоритмы имеют и относительно независимое от отдельной проблемной области практическое значение. Они с успехом могут быть использованы и в других
системах, в которых возникает потребность извлекать термины из документов и строить онтологию предметной области.
111
Глава 5
Программная система учета и анализа
научной информации ИСТИНА
В целях реализации подхода к управлению научной информацией, который предлагается автором, разрабатывается Интеллектуальная Система Тематического Исследования НАучнотехнической информации (ИСТИНА)1 . Настоящая глава посвящена описанию и анализу характеристик прототипа этой системы, созданного автором на основе предложенной в диссертации
архитектуры. Описываются возможности прототипа и приводятся результаты его исследования
на соответствие предъявляемым к системе требованиям, которые сформулированы в разделе 1.1
и детализированы в Приложении А настоящей диссертации.
Целью системы ИСТИНА является учет и анализ информации о результатах деятельности в
научных организациях с целью подготовки и принятия решений. Основными задачами системы
являются: во-первых, предоставление возможности сотрудникам структурных подразделений
организации перманентно вести учет результатов своей научной деятельности и в автоматизированном режиме формировать годовые научные отчеты; во-вторых, предоставление руководителям отдельных структурных подразделений и организации в целом автоматизированного
средства проведения количественного и тематического анализа научной деятельности каждого
из сотрудников, отдельных подразделений и учреждения в целом.
В настоящее время система ИСТИНА позволяет в удобном для конечного пользователя
режиме вводить данные о публикациях путем автоматизированного разбора информации из
библиографических ссылок, BibTeX-записей и импорта из портала eLibrary.ru. На основе введенных в хранилище системы данных о публикациях для каждого сотрудника автоматически
создается отдельная «домашняя» страница, содержащая список результатов его научной и педагогической деятельности. На рисунке 5.1 представлена домашняя страница пользователя системы, на которой отображены все добавленные в систему работы с его авторством. В тестовом
режиме применяется автоматическое определение научных интересов пользователей на основе
введенных данных и онтологии. В настоящее время проводится внедрение системы ИСТИНА в
НИИ механики МГУ имени М.В. Ломоносова. В дальнейшем планируется использовать систему
1
http://istina.imec.msu.ru
112
в других подразделениях Московского университета.
Рис. 5.1. Домашняя страница пользователя в системе ИСТИНА.
5.1
Особенности программной реализации
Программный код прототипа системы ИСТИНА составляет около 16 тысяч строк без учета сторонних модулей. Основная часть кода написана на языках Python, HTML, Javascript и
CSS. В таблице 5.1 представлены результаты анализа кода системы, полученные с помощью
инструмента CLOC. Отметим, в этих показателях не учтены программные коды алгоритмов
выделения терминов Brainsterm и построения онтологии Sonmake, которые были разработаны
как независимые библиотеки. В таблицу не включены также программные коды многочисленных сторонних модулей, которые используются в системе. При подсчете учитывались только
файлы, написанные автором диссертации с участием коллег.
Прототип системы ИСТИНА реализован с применением следующих технологий.
• Основной код прототипа системы написан на языке Python с использованием фреймворка
(набора библиотек) Django1 . Фреймворк Django распространяется в открытых исходных
1
https://www.djangoproject.com
113
Язык
Количество
файлов
Количество строк
комментарии пустые
код
Python
HTML
Javascript
CSS
Bash
XML
Всего
169
95
17
15
6
4
306
8075
3822
831
610
52
35
13425
813
8
55
25
3
0
904
1420
444
67
40
9
10
1990
всего
10308
4274
953
675
64
45
16319
Таблица 5.1. Число строк программного кода прототипа системы ИСТИНА.
кодах по лицензии BSD1 , совместимой с GPL. В качестве схемы проектирования программного комплекса в Django используется широко распространенная схема «модельпредставление-поведение» (Model-View-Controller, MVC)2 . Использование этой схемы облегчает понимание, написание, модификацию и диагностику программного кода за счет
разделения трех основных частей программного комплекса – модели данных, представления данных и контроллера данных, который является связующим звеном между пользователем и системой.
Прототип системы ИСТИНА состоит из 40 модулей-приложений, из которых 17 – были
разработаны автором диссертации, 12 – входят в состав фреймворка Django и 11 – созданы
сторонними разработчиками. Отметим, что именно в первых 17 приложениях учитывается
специфика системы. Остальные 23 приложения являются вспомогательными.
Для разбора данных в формате BibTeX в системе используется библиотека pybtex3 , которая распространяется в открытых исходных кодах по лицензии MIT4 , совместимой с
GPL. Для отображения публикаций в различных форматах применяется набор утилит
bibutils5 . Отображение публикаций в различных стилях осуществляется с помощью программы bibtex2html6 . Библиотеки bibutils и bibtex2html распространяются в открытых
кодах по лицензии GPL. Для импорта данных из портала eLibrary.ru применяется библиотека lxml7 , которая распространяется в открытых исходных кодах по лицензии BSD.
• Разбор библиографических ссылок в системе выполняется с помощью программного комплекса FreeCite8 . Его подробное описание дано в разделе 2.5. Программа FreeCite написана на языке Ruby и распространяется в открытых исходных кодах по лицензии MIT.
Взаимодействие системы ИСТИНА с комплексом FreeCite, который запускается в виде
веб-сервиса на отдельной ЭВМ, происходит через web-интерфейс посредством HTTPзапросов. Этот способ взаимодействия повышает гибкость системы и позволяет эффек1
http://www.opensource.org/licenses/bsd-license.php
http://heim.ifi.uio.no/ trygver/themes/mvc/mvc-index.html
3
http://pybtex.sourceforge.net
4
http://www.opensource.org/licenses/mit-license.php
5
http://sourceforge.net/p/bibutils/home/Bibutils
6
http://www.lri.fr/∼ filliatr/bibtex2html
7
http://lxml.de
8
http://freecite.library.brown.edu
2
114
тивнее распределять нагрузку на нее.
• Для отображения информации используется подсистема шаблонов, которая входит в состав Django. В системе ИСТИНА применяются шаблоны на языках HTML и XML.
• Для оформления внешнего вида HTML-документов используется язык CSS. Для удобства работы с этим языком в системе ИСТИНА применяется CSS-фреймворк Blueprint1 ,
который распространяется в открытых исходных кодах по лицензии MIT.
• В качестве языка сценариев, исполняемых на стороне клиента, в системе используется
язык Javascript. В системе применяется широко распространенный Javascript-фреймворк
jQuery2 , набор библиотек для разработки пользовательского интерфейса jQuery UI3 , а
также сторонние модули (плагины) к jQuery. Фреймворк jQuery распространяется в открытых исходных кодах по лицензиям MIT и GPL.
• В качестве веб-сервера используется связка Apache HTTP Server4 и Nginx5 . Веб-сервер
Nginx служит для обработки внешних запросов. Те из них, которые имеют целью получить файлы со статическим содержимым (например, рисунками, сценариями Javascript,
таблицами стилей CSS), обрабатываются напрямую этим веб-сервером. Запросы, для исполнения которых необходим запуск интерпретатора языка Python, перенаправляются на
веб-сервер Apache. Из него с помощью технологии WSGI (Web Server Gateway Interface)6
выполняется код на языке Python, в котором формируется ответ, возвращаемый сервером.
Отметим, что оба веб-сервера распространяются в открытых исходных кодах, Apache –
по лицензии Apache License7 , совместимой с GPL, а Nginx – по собственной лицензии,
основанной на BSD.
• В качестве системы управления базами данных (СУБД) в комплексе ИСТИНА применяется продукт Oracle Database8 . Он предоставляется по коммерческой лицензии. Следует подчеркнуть, что объектно-реляционное отображение (ORM), которое входит в состав Django,
позволяет использовать различные системы управления базами данных без изменения
Python-кода основного программного комплекса. Это обстоятельство существенно облегчает смену используемой СУБД. В число поддерживаемых СУБД входят PostgreSQL9 ,
MySQL10 , SQLite11 и Oracle Database. Отметим, что первые три СУБД являются системами с открытым исходным кодом и распространяются по лицензиям, совместимым с GPL:
PostgreSQL – по лицензии, основанной на MIT, MySQL – по лицензии, основанной на GPL,
1
http://blueprintcss.org
http://jquery.com
3
http://jqueryui.com
4
http://httpd.apache.org
5
http://nginx.org
6
http://www.wsgi.org
7
http://www.apache.org/licenses
8
http://www.oracle.com/us/products/database/index.html
9
http://www.postgresql.org
10
http://www.mysql.com
11
http://www.sqlite.org
2
115
Тип объекта
Количество
Журнал
Издательство
Всего
20298
12392
32690
Таблица 5.2. Количество объектов, добавленных в систему ИСТИНА предварительно из открытых источников.
а SQLite – как общественное достояние1 . Для реализации отображения ORM на СУБД
Oracle Database в Django применяется библиотека cx_Oracle2 , которая распространяется
в открытых исходных кодах по лицензии, основанной на BSD.
• В качестве подсистемы кэширования запросов используется программный комплекс
memcached3 , который распространяется в открытых исходных кодах по лицензии BSD.
• Для управления программным кодом комплекса ИСТИНА применяется децентрализованная система управления версиями программного обеспечения Mercurial4 и веб-сервис
Bitbucket5 , который предоставляет такие услуги, как размещение исходного кода (приватное или публичное), веб-интерфейс просмотра и анализа версий кода, подсистема вики
для хранения различной информации о целевом комплексе и подсистема отслеживания
ошибок. Отметим, что программный комплекс Mercurial распространяется в открытых
исходных кодах по лицензии GPL.
5.2
Результаты практической апробации
Разработанный автором диссертации прототип системы учета и анализа научной информации
ИСТИНА проходит практическую апробацию в НИИ механики МГУ имени М.В. Ломоносова,
которая началась в феврале 2011 года и продолжается по настоящее время. В данном разделе
в краткой форме представлены ее текущие результаты.
Веб-интерфейс системы доступен по адресу http://istina.imec.msu.ru. На основе информации из открытых источников в систему были предварительно внесены данные о российских и
зарубежных журналах и издательствах. В таблице 5.2 представлены соответствующие количественные показатели. В систему была также введена информация о НИИ механики МГУ,
состоящем из 25 подразделений.
В таблице 5.3 представлены статистические данные о работе системы за период с февраля
по декабрь 2011 года. Под количеством пользователей понимается число зарегистрированных
в системе пользователей с уникальным электронным адресом, которые подтвердили владение
им, перейдя по ссылке из верификационного письма. Под сотрудником в таблице понимается автор, у которого указано место работы в НИИ механики МГУ. Отметим, что в системе
1
http://creativecommons.org/licenses/publicdomain
http://cx-oracle.sourceforge.net
3
http://memcached.org
4
http://mercurial.selenic.com
5
https://bitbucket.org
2
116
Тип объекта
Количество
Пользователь
Организация
Подразделение
Сотрудник
Автор
Добавленная работа
64
1
25
97
1567
3122
Таблица 5.3. Статистика основных объектов в системе ИСТИНА.
на настоящий момент разрешена регистрация нескольких пользователей с одним электронным
адресом. Это сделано для удобства, а именно – для того, чтобы сотрудник подразделения, ответственный за добавление работ своих коллег, мог создать для них учетные записи и добавить
их работы, а потом передать им эти учетные записи. Именно в связи с этим обстоятельством
количество сотрудников в таблице превышает количество пользователей. Часть сотрудников
была добавлена пользователями с одним и тем же электронным адресом (то есть фактически одним и тем же человеком). Следует заметить, что в будущем возможность регистрации
нескольких пользователей с одним электронным адресом может быть отключена или же разрешена только для заданного списка электронных адресов. Под автором в таблице понимается
либо зарегистрированный сотрудник, либо соавтор работы, добавленной в систему каким-либо
пользователем.
В таблице 5.4 представлена статистика добавленных в систему ИСТИНА работ, разделенная
по их типам. Как показывают данные в таблице, чаще всего пользователи добавляли в систему статьи, научные отчеты, тезисы докладов на конференциях, доклады на конференциях и
патенты. При этом следует отметить, что к 13 из 16 предусмотренных для добавления типов
работ была добавлена хотя бы одна работа.
В таблице 5.5 представлены количественные показатели применения пользователями системы различных ее функций. Под пакетным добавлением подразумевается возможность ввода
в форму на первом шаге добавления работы в систему информации не об одной работе, а о
нескольких (например, несколько библиографических ссылок или BibTeX-записей). При этом
система переходит в режим добавления первой записи, а остальные работы попадают в очередь
добавления, которая запоминается для данного пользователя. Он может добавить остальные
работы позже. Таким образом, во второй колонке первой строки таблицы представлено число раз, когда пользователь вводил в форму информацию о нескольких публикациях сразу. В
таблице также отображена статистика использования различных способов добавления работ и
количество сообщений, которые в режиме обратной связи были отправлены пользователями со
страниц сайта.
В процессе добавления работ в систему пользователь может одновременно внести в нее
информацию о связанных объектах. Например, при добавлении доклада на конференции он
может одновременно сохранить данные о самой конференции, если ее нет в системе. Статистика
добавления таких объектов представлена в таблице 5.6.
В заключение приведем результаты опроса 8 пользователей системы в НИИ механики МГУ
117
№
Тип работы
Количество
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Статья
Книга
Доклад на конференции
Тезисы доклада
Научный отчет
Патент
Свидетельство о регистрации прав на ПО
Диссертация
Дипломная работа
Учебный курс
Участие в проекте
Участие в привлечении инвестиций
Членство в редколлегии журнала
Членство в редколлегии сборника
Членство в программном комитете конференции
Членство в диссертационном совете
Всего
2280
38
156
204
298
75
9
18
31
6
0
0
1
3
3
0
3122
Таблица 5.4. Количество результатов научной деятельности, информация о которых была добавлена пользователями в систему ИСТИНА.
Тип события
Количество
Пакетное добавление публикаций
Разбор ссылки с помощью Freecite
Разбор BibTeX-записи
Импорт информации из eLibrary.ru
Сообщение обратной связи через сайт
2809
5939
128
794
42
Таблица 5.5. Статистика использования функций системы ИСТИНА.
Тип объекта
Количество
Журнал
Сборник
Файл, прикрепленный к статье или тезисам
Диссертационный совет
Конференция
Всего
164
719
87
14
158
1142
Таблица 5.6. Другие объекты, добавленные пользователями в систему ИСТИНА.
118
Число оценок
Вопрос
Насколько в целом полезна для Вас система ИСТИНА?
5
1
4
3
3
2
2
2
1
0
средний
балл
всего
оценок
3.4
8
Таблица 5.7. Результаты опроса пользователей по вопросу полезности системы ИСТИНА для
них.
имени М.В. Ломоносова, которым был задан следующий вопрос с пятью вариантами ответа.
• Оцените, пожалуйста, в целом, насколько полезна для Вас система ИСТИНА.
5 - система мне очень нужна и полезна;
4 - система достаточно полезна для меня;
3 - система время от времени помогает мне в работе;
2 - система не несет в себе большой ценности для меня;
1 - система абсолютно бесполезна.
В таблице 5.7 представлены результаты опроса. Как показывают эти результаты, разработанный в настоящее время прототип системы несет в себе ценность для большинства опрошенных
пользователей. Есть все основания полагать, что при дальнейшем развитии программного комплекса эта ценность будет повышаться. Несколько сотрудников НИИ механики, использующих
систему, выразили большое удовлетворение тем, что она позволяет управлять информацией
о всех их научных результатах, используя один и тот же инструментарий, доступный через
Интернет. Сотрудники могут добавлять и редактировать данные по мере необходимости. Отметим, что в дальнейшем в систему могут быть включены средства, позволяющие добавлять
полные тексты научных публикаций, а также их своевременно обновлять. Размещенная в сети
Интернет в свободном доступе научная работа, которая постоянно поддерживается ее автором
в актуальном состоянии, носит название «живой публикации» [82].
5.3
Соответствие прототипа системы предъявляемым требованиям
В настоящем разделе представлены результаты анализа разработанного автором прототипа
системы ИСТИНА на соответствие требованиям, которые сформулированы в разделе 1.1 и
детализированы в Приложении А. Жирным шрифтом выделены формулировки соответствующих требований, после которых кратко описаны отвечающие им характеристики прототипа
программного комплекса.
1. Функциональность
1.1. Автоматизированный ввод данных, которые описывают результаты научной и
учебной деятельности сотрудников.
119
Модуль ввода данных, который подробно описан в разделе 2.5, позволяет загружать в
систему информацию в следующих форматах:
• библиографические ссылки;
• BibTeX-записи;
• импорт страницы автора или страницы публикации из системы eLibrary.ru;
• заполнение полей вручную.
На рисунке 5.2 изображено окно выбора типа работы, информацию о которой пользователь
хочет ввести в систему. Окно ввода информации о публикации представлено на рисунке 5.3.
На рисунке 5.4 изображен результат автоматического разбора библиографической ссылки.
Пользователь может откорректировать заполненные системой поля и сохранить информацию в систему.
Рис. 5.2. Окно выбора типа работы для введения в систему ИСТИНА.
Рис. 5.3. Окно добавления работы в систему ИСТИНА.
Таким образом, это требование является выполненным.
120
Рис. 5.4. Окно добавления работы в систему ИСТИНА, шаг 2.
1.2. Полуавтоматическое (с участием пользователя) разрешение неоднозначностей
имен объектов при вводе данных.
Как показано в разделе 2.5, на третьем шаге ввода информации в систему происходит
разрешение неоднозначностей имен объектов. Этот шаг проиллюстрирован на рисунке 5.5.
С учетом изложенного, требование считается выполненным.
1.3. Вычисление типовых запросов, примеры которых представлены в разделе 1.1.
Как отмечено в разделе 2.1, выбранная автором модель представления знаний с помощью
онтологий позволяет выполнять структурированные запросы. В разделах 2.3 и 2.4 показано, как настоящее требование влечет за собой постановку требований к алгоритмам выделения терминов и построения онтологии, соответственно. В разделах 4.1 и 4.2 проанализированы разработанные автором алгоритмы, и сделан вывод о том, что они соответствуют
предъявленным требованиям. В разделе 2.7 обосновано, что с помощью предложенных в
диссертации архитектуры системы управления научной информацией и технологических
решений можно получать ответы на все типы запросов, список которых перечислен в разделе 1.1. Отметим, что в разработанном прототипе системы ИСТИНА модуль выполнения
запросов реализован пока только в тестовом режиме. Исходя из изложенных фактов, настоящее требование представляется выполненным частично.
1.4. Задание поискового запроса на естественном языке в свободной форме.
Это требование означает, что пользователь может не указывать типы сущностей, по описаниям которых он хочет выполнить поиск. Система должна искать слова, указанные в
121
Рис. 5.5. Окно добавления работы в систему ИСТИНА, шаг 3.
запросе, в описаниях объектов различных типов, например, научных статей, проектов и направлений исследований. Результаты поиска должны быть удобным для восприятия пользователем способом сгруппированы по типам найденных объектов. Эта функция находится
на стадии реализации. Отметим, что архитектура системы позволяет осуществлять полнотекстовые запросы. В фреймворке Django, который используется в системе, есть функции
для выполнения полнотекстовых запросов. Таким образом, настоящее требование является
невыполненным.
1.5. Реализация логического вывода новых данных из существующих.
Как отмечено в разделе 2.1, используемая модель представления знаний с помощью онтологий позволяет выполнять логический вывод новых фактов. В тестовом режиме функционирования системы были получены результаты, которые показывают, что осуществление логического вывода возможно и на практике. Полномасштабный модуль логического
вывода при поиске, который включает элементы интерфейса, иллюстрирующие источник
полученных результатов, находится в разработке. Изложенные факты позволяет сделать
вывод, что настоящее требование является частично выполненным.
1.6. Возможность интеграции информации, которая содержится в системе, с другими хранилищами.
Как показано в разделе 2.1, использование онтологической модели представления данных
значительно облегчает их интеграцию с другими хранилищами. В разработанном прототипе системы ИСТИНА реализован программный интерфейс доступа к данным в системе
(API, Application Programming Interface). С его помощью сторонние приложения могут
122
получать информацию об организациях, сотрудниках и их научной деятельности. В настоящее время с помощью этого интерфейса данные о научной деятельности сотрудников
НИИ механики МГУ имени М.В. Ломоносова поступают на официальный сайт организации1 . Таким образом, это требование является выполненным.
1.7. Соответствие принятым в индустрии стандартам и соглашениям.
Как отмечено в разделе 2.7, в качестве языка запросов к данным в системе применяется
язык SPARQL, который является официальной рекомендацией консорциума W3C с января
2008 года2 . Языки семейства OWL, с помощью которых описаны онтологии, используемые
в системе, стандартизированы консорциумом в феврале 2004 года3 . Модель данных RDF,
на которой основаны языки OWL, является рекомендацией консорциума с февраля 2004
года4 . Перечислим другие стандартизированные консорциумом технологии, которые применяются в разработанном прототипе системы. Для отображения данных используется
язык разметки HTML 4.01, получивший статус официальной рекомендации в декабре 1999
года5 . Отметим, что все страницы сайта проверены на соответствие этому стандарту (а
именно – версии XHTML 1.0 Transitional6 ) с помощью официального средства валидации7 .
Для оформления данных на сайте применяется язык CSS, стандартизированный в апреле
2008 года8 . Многие изображения на сайте представлены в формате PNG, который является
официальной рекомендацией консорциума с ноября 2003 года9 . Для интеграции информации в системе с другими хранилищами разработан программный интерфейс доступа к
данным (API) в формате XML. Язык XML был стандартизирован W3C в августе 2006
года10 . В модуле импорта информации с портала eLibrary.ru для разбора HTML-страниц
используется язык XPath, который является официальной рекомендацией консорциума с
ноября 1999 года11 . Для асинхронных запросов к системе со стороны клиента применяется
технология XMLHttpRequest, которая пока не получила статуса официальной рекомендации, но близка к этому. На настоящий момент она имеет статус кандидата в рекомендации
(Candidate Recommendation), полученный в августе 2010 года12 . Наконец, отметим, что
используемая реализация языка Python, на котором написана основная часть программного кода системы, а именно – CPython версии 2.7, соответствует стандарту ANSI C (C89),
принятому в 1989 году13 .
1
http://www.imec.msu.ru
http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115
3
http://www.w3.org/TR/2004/REC-owl-features-20040210
4
http://www.w3.org/TR/2004/REC-rdf-concepts-20040210
5
http://www.w3.org/TR/1999/REC-html401-19991224
6
http://www.w3.org/TR/2002/REC-xhtml1-20020801
7
http://validator.w3.org
8
http://www.w3.org/TR/2008/REC-CSS1-20080411
9
http://www.w3.org/TR/2003/REC-PNG-20031110
10
http://www.w3.org/TR/2006/REC-xml11-20060816
11
http://www.w3.org/TR/1999/REC-xpath-19991116
12
http://www.w3.org/TR/2010/CR-XMLHttpRequest-20100803
13
http://www.open-std.org/jtc1/sc22/wg14/www/standards
2
123
Изложенные факты позволяют сделать вывод, что настоящее требование выполнено.
1.8. Высокий уровень доверия и защищенность ресурсов системы от деструктивных воздействий путем соблюдения положений (стандартов) информационной
и функциональной безопасности, а также использования программного обеспечения с открытым исходным кодом.
В системе используются следующие программные компоненты с открытым исходным кодом: Django, FreeCite, pybtex, bibutils, bibtex2html, lxml, Blueprint, jQuery, Apache, Nginx,
cx_Oracle, memcached и другие. Для обеспечения защищенности ресурсов системы от
деструктивных воздействий разработана политика безопасности, которая была частично
внедрена в созданном прототипе. Неформальное описание этой политики представлено в
Приложении Ж. Формализация политики безопасности, а также верификация соответствия разработанной системы этой политике являются дальнейшими этапами развития
системы.
Следует заметить, что в разработанном прототипе системы используются средства, которые включены во фреймворк Django1 для защиты веб-приложения от основных типов возможных атак. Их список включает следующие угрозы: межсайтовый скриптинг (cross site
scripting, XSS), подделка межсайтовых запросов (cross site request forgery, CSRF), внедрение SQL-кода (SQL injections) и кликджекинг (clickjacking). Подробное описание этих угроз
выходит за пределы настоящей диссертации.
Учитывая изложенные факты, настоящее требование считается частично выполненным.
1.9. Используемые в системе программные компоненты сторонних разработчиков
должны распространяться в открытых исходных кодах по лицензии GPL или
совместимой с ней.
Как отмечено в разделе 5.1, в системе ИСТИНА используются большое количество программных компонент, которые распространяются в открытых исходных кодах по лицензии
GPL или совместимым с ней. Единственным компонентом, который имеет закрытый код,
является СУБД Oracle Database. Как отмечено ранее, объектно-реляционное отображение
(ORM), реализованное в фреймворке Django, позволяет в будущем сравнительно легко сменить эту СУБД на другую СУБД с открытым кодом, например, PostgreSQL или MySQL.
Этот процесс не потребует изменения основного исходного кода системы. Учитывая перечисленные обстоятельства, настоящее требование считается частично выполненным.
1.10. В целях реализации программы поэтапного перехода органов государственной власти на свободное программное обеспечение и замещения в его составе
проприетарных операционных систем (ОС) на ОС с открытым исходным кодом разрабатываемая система должна функционировать под управлением ОС
с открытым исходным кодом.
1
https://docs.djangoproject.com/en/dev/topics/security
124
№
Требование
Выполнено
1.1
Автоматизированный ввод данных в указанных форматах
+
1.2
Полуавтоматическое разрешение неоднозначностей имен объектов
+
1.3
Выполнение аналитических запросов
1.4
Задание поискового запроса на естественном языке
1.5
Логический вывод новых данных
1.6
Интеграция информации
+
1.7
Соответствие стандартам и соглашениям
+
1.8
Информационная безопасность
+/-
1.9
Сторонние компоненты с открытым кодом по лицензии GPL
+/-
1.10
Работа под управлением ОС с открытым кодом
+/+/-
+
Таблица 5.8. Соответствие прототипа системы ИСТИНА требованиям к функциональности.
Система ИСТИНА функционирует под управлением ОС Linux (дистрибутив CentOS). Требование является выполненным.
В таблице 5.8 в краткой форме представлены результаты анализа разработанного прототипа
системы ИСТИНА на соответствие предъявляемым требованиям к ее функциональности.
2. Надежность
2.1. Стабильная работа в условиях одновременного использования сотрудниками
крупной научной организации или корпорации.
Для проверки соответствия разработанного прототипа этому требованию проведено нагрузочное тестирование системы следующим образом. Были взяты 3 типовые страницы сайта:
главная страница1 , страница сотрудника (на примере В.А. Васенина2 ) и страница списка
сотрудников организации (на примере НИИ механики МГУ имени М.В. Ломоносова3 ). В
качестве инструмента тестирования выступал программный комплекс Siege4 , который распространяется в открытых исходных кодах по лицензии GPL. Тестирование проводилось в
четырех режимах: работа с одним пользователем, работа в нормальном режиме, в режиме
повышенной нагрузки и стрессовом режиме. В качестве базового уровня было взято время
выполнения запроса при последовательном выполнении. Этот показатель оценивает время
отклика системы при работе с одним пользователем. В нормальном режиме вычислялось
время параллельного доступа 5 пользователей к странице сайта, а в режиме повышенной
нагрузки – 10 пользователей. В стрессовом режиме определялось максимальное количество
одновременных запросов к странице сайта, при котором сайт продолжал функционировать
без сбоев, то есть были получены ответы на все запросы. Время загрузки страницы оцени1
http://istina.imec.msu.ru
http://istina.imec.msu.ru/accounts/profile/vasenin
3
http://istina.imec.msu.ru/organizations/211331/workers
4
http://www.joedog.org/index/siege-home
2
125
Страница сайта
Главная страница
Страница сотрудника
Страница списка сотрудников
Количество
последовательных
запросов
50
50
50
Время загрузки, с
мин.
среднее
макс.
общее
0.1
0.9
3.1
0.3
1.1
3.3
2.3
3.1
5.4
15
55
165
Таблица 5.9. Результаты нагрузочного тестирования прототипа системы в режиме одного
пользователя.
Страница сайта
Главная страница
Страница сотрудника
Страница списка сотрудников
Количество
параллельных
запросов
5
5
5
Время загрузки, с
мин.
среднее
макс.
общее
0.2
4.3
4.7
0.6
5
7.7
2.4
5.5
8.9
2.4
5.8
9.9
Таблица 5.10. Результаты нагрузочного тестирования прототипа системы в нормальном режиме.
валось по следующим показателям: общее время загрузки, то есть за сколько времени были
обработаны все запросы; минимальное время загрузки страницы; среднее время загрузки,
то есть за сколько времени в среднем был получен ответ на запрос; максимальное время
загрузки страницы. В таблицах 5.9-5.12 представлены результаты нагрузочного тестирования в этих четырех режимах.
Результаты тестирования показывают, что в нормальном режиме сайт обеспечивает комфортную работу как минимум 5 пользователям, которые осуществляют одновременные
запросы. Следует отметить, что в реальных условиях пользователей, которые могут одновременно комфортно работать с сайтом, может быть гораздо больше. Это связано с тем
обстоятельством, что пользователи обычно делают один запрос раз в несколько секунд, а
потом обрабатывают полученную информацию. Это наблюдение означает, что показатель
времени отклика на 5 одновременных запросов на самом деле демонстрирует скорость раСтраница сайта
Главная страница
Страница сотрудника
Страница списка сотрудников
Количество
параллельных
запросов
10
10
10
Время загрузки, с
мин.
среднее
макс.
общее
0.2
5.5
9
0.8
6
12
2.5
7.5
16
2.5
8
17
Таблица 5.11. Результаты нагрузочного тестирования прототипа системы в режиме повышенной нагрузки.
126
Страница сайта
Главная страница
Страница сотрудника
Страница списка сотрудников
Предельное
количество
параллельных
запросов
350
200
70
Время загрузки, с
мин.
среднее
макс.
общее
4
5.5
5
16.5
46.5
45.5
29.5
87
87
30
88
88
Таблица 5.12. Результаты нагрузочного тестирования прототипа системы в стрессовом режиме.
боты с десятками пользователей. В режиме повышенной нагрузки (10 одновременных запросов) сайт работает с приемлемой, хотя и более низкой скоростью. В стрессовом режиме
оценивается, сколько одновременных запросов может обработать сайт без ошибок. Приведенный результат показывает, что даже при сотнях запросах в секунду сайт продолжает
функционировать без сбоев, хотя среднее время отклика существенно увеличивается.
Для дальнейшего обоснования выполнения настоящего требования был проведен опрос
9 пользователей системы. Им были заданы два следующих вопроса с пятью вариантами
ответов.
• Насколько часто возникают системные ошибки при работе с ИСТИНОЙ?
5 - ошибки не возникают или возникают очень редко;
4 - ошибки возникают довольно редко, почти не влияя на удобство работы;
3 - ошибки возникают время от времени, иногда затрудняя работу;
2 - ошибки возникают часто, работать с системой неудобно;
1 - ошибки возникают постоянно, работать с системой крайне сложно.
• Насколько быстро загружаются страницы системы?
5 - страницы загружаются очень быстро, задержек в работе нет;
4 - страницы загружаются с хорошей скоростью, не мгновенно, но достаточно быстро;
3 - страницы загружаются со средней скоростью, что в целом приемлемо, хотя иногда
раздражает;
2 - страницы загружаются довольно медленно, работа с системой постоянно доставляет дискомфорт;
1 - страницы загружаются очень медленно, приходится ждать подолгу, работать с
системой крайне сложно.
В таблице 5.13 представлены результаты опроса. Как показывают эти результаты, средняя
оценка стабильности системы равна 4.6 по критерию возникновения системных ошибок и
3.8 по критерию скорости загрузки страниц сайта. Средняя оценка стабильности системы
127
Число оценок
Вопрос
Насколько часто возникают системные ошибки при
работе с ИСТИНОЙ?
Насколько быстро загружаются страницы системы?
Всего
5
7
4
0
3
2
2
0
1
0
2
9
4
4
2
4
1
1
0
0
средний
балл
всего
оценок
4.6
9
3.8
4.2
9
18
Таблица 5.13. Результаты опроса пользователей по вопросам стабильности системы.
по результатам опроса составляет 4.2, что превышает показатель, заявленный в требовании.
Подводя итог анализу работы сайта в условиях одновременного выполнения запросов многих пользователей, сделаем вывод, что разработанный прототип отвечает потребностям
научной организации среднего размера (до 1000 сотрудников). Для внедрения в крупной
организации, возможно, потребуется увеличение вычислительных мощностей путем добавления дополнительных серверов и/или дальнейшая оптимизация сайта. Таким образом,
настоящее требование считается частично выполненным.
2.2. Устойчивость к программным ошибкам и нарушениям интерфейсов.
Выполнение этого требования обеспечивается следующими фактами. Во-первых, в системе используются программные компоненты с открытым исходным кодом, что облегчает их
анализ и устранение недостатков. Во-вторых, работа системы осуществляется в транзакционном режиме. Этот факт означает, что если в процессе обработки запроса пользователя возникла ошибка, то все выполненные операции отменяются. Это свойство повышает
устойчивость системы к программным ошибкам и нарушениям интерфейсов. Еще одним
таким свойством является та особенность, что возникновение ошибки системы при работе с
одним пользователем не повлияет на ее работу с другими пользователями. Перечисленные
характеристики системы позволяют сделать вывод о выполнении настоящего требования.
2.3. Возможность оперативного восстановления при ошибках на входных данных и
сбоях оборудования путем использования средств непрерывного мониторинга
состояния системы на предмет работоспособности и реагирования в режиме
«реального времени» на внештатные ситуации.
В системе ИСТИНА предусмотрены следующие средства мониторинга ее состояния, журналирования и оперативного реагирования.
• При возникновении ошибки в системе сразу же отправляется электронное письмо ее
администраторам, которое включает полный текст ошибки и трассировку стека.
• С помощью модуля django-sentry1 выполняется мониторинг системы в реальном времени. Новые ошибки сразу же показываются в веб-интерфейсе администратора, выво1
https://github.com/dcramer/django-sentry
128
№
Требование
Выполнено
2.1
Стабильная работа
2.2
Устойчивость к программным и аппаратным ошибкам
+
2.3
Оперативная восстанавливаемость
+
+/-
Таблица 5.14. Соответствие прототипа системы ИСТИНА требованиям к надежности.
дится разнообразная статистика. Отметим, что модуль django-sentry распространяется
в открытых исходных кодах по лицензии BSD.
• С использованием встроенных средств веб-серверов Apache и Nginx ведется журнал
всех HTTP-запросов к сайту. В отдельные файлы записываются возникающие ошибки.
• С помощью встроенных средств языка Python ведется журнал событий в системе,
который включает такой показатель, как степень важности события.
• С использованием модуля django-activity-stream1 ведется журнал действий пользователей, который отображается в реальном времени в веб-интерфейсе администратора
системы. Отметим, что модуль django-activity-stream распространяется в открытых
исходных кодах по лицензии BSD.
• Для управления программным кодом комплекса используется децентрализованная система управления версиями программного обеспечения Mercurial2 . Она позволяет в
случае возникновения ошибок, вызванных модификацией системы, оперативно вернуть его в стабильное состояние путем отката к предыдущей версии.
• С помощью веб-сервиса UptimeRobot3 осуществляется перманентный (раз в 5 минут)
мониторинг сайта. В случае его недоступности электронное письмо сразу же отправляется администраторам.
Учитывая изложенные факты, настоящее требование считается выполненным.
В таблице 5.14 в краткой форме представлены результаты анализа разработанного прототипа системы ИСТИНА на соответствие предъявляемым требованиям к ее надежности.
3. Практичность
3.1. Система должна иметь ясную для пользователя схему работы.
3.2. Система должна включать легко доступную и понятную для потенциальных
пользователей инструкцию по эксплуатации.
3.3. Система должна иметь дружественный к пользователю интерфейс.
1
https://github.com/justquick/django-activity-stream
http://mercurial.selenic.com
3
http://www.uptimerobot.com
2
129
Для проверки соответствия разработанного прототипа системы требованиям 3.1-3.3 был
проведен опрос 9 пользователей системы в НИИ механики МГУ имени М.В. Ломоносова.
Им были заданы три следующих вопроса с пятью вариантами ответов.
• Насколько ясной является схема работы системы? Насколько Вам было понятно, что
и зачем нужно делать?
5 - суть и схема работы системы абсолютно прозрачны, всегда ясно, что нужно делать;
4 - суть и схема работы системы довольно понятны, были незначительные затруднения;
3 - суть и схема работы системы ясны в средней степени, есть непонятные моменты;
2 - суть и схема работа системы в целом неясны, возникает множество затруднений;
1 - суть и схема работы системы абсолютно непонятны.
• Насколько понятна инструкция по эксплуатации?
5 - инструкция абсолютно прозрачна и понятна;
4 - инструкция в целом понятна, есть незначительное число сложных мест;
3 - инструкция понятна в средней степени, есть неясные места;
2 - инструкция по большей части непонятна и сложна в освоении;
1 - инструкция крайне сложна в освоении;
• Имеет ли система дружественный интерфейс? Насколько удобно работать в системе?
5 - работать с системой очень удобно и комфортно;
4 - работать с системой довольно удобно, хотя в ней есть незначительные недостатки;
3 - работать с системой более или менее удобно, хотя время от времени возникают
проблемы;
2 - работать с системой неудобно, возникает множество проблем;
1 - работать с системой крайне неудобно, проблемы возникают постоянно.
В таблице 5.15 представлены результаты опроса. Как показывают эти результаты, средняя
оценка ясности схемы работы системы равна 4, средняя оценка понятности инструкции
по эксплуатации равна 4.5, а средняя оценка дружественности интерфейса системы равна 4.1. Эти значения превышают уровень, заявленный в требованиях к системе. Отметим,
что семь из девяти опрошенных пользователей не читали инструкцию по эксплуатации
системы. Подробная статистика ответов на соответствующий вопрос представлена в таблице 5.16. Инструкция по работе с системой находится на сайте в разделе «Помощь»1 .
Ссылка на инструкцию расположена в верхней части каждой страницы сайта. На инструкцию ведут также ссылки из меню пользователя и с главной страницы системы. Исходя из
представленных фактов, требования 3.1-3.3 считаются выполненными.
1
http://istina.imec.msu.ru/help
130
Число оценок
Вопрос
Насколько ясной является схема работы системы?
Насколько понятна инструкция по эксплуатации?
Насколько удобно работать в системе?
5
3
1
4
4
3
1
2
3
3
0
3
2
0
0
0
1
0
0
0
средний
балл
всего
оценок
4
4.5
4.1
9
2
9
Таблица 5.15. Результаты опроса пользователей по вопросам практичности системы.
Вариант ответа
Число
ответов
5 - инструкция абсолютно прозрачна и понятна
4 - инструкция в целом понятна, есть незначительное число сложных мест
3 - инструкция понятна в средней степени, есть неясные места
2 - инструкция по большей части непонятна и сложна в освоении
1 - инструкция крайне сложна в освоении
0а - не читал(а) инструкцию, потому что все и так было понятно
0б - не читал(а) инструкцию, потому что не нашел(ла) ее
0в - не читал(а) инструкцию по другой причине
Всего
1
1
0
0
0
3
1
3
9
Таблица 5.16. Результаты опроса пользователей по вопросу понятности инструкции к системе.
3.4. Система должна включать средства обратной связи между пользователями и
разработчиками системы.
В нижней части каждой страницы сайта есть форма обратной связи, которая появляется
при нажатии на ссылку «связаться с разработчиками». Отметим, что для отправки сообщения пользователю не нужно переходить на отдельную страницу, что повышает удобство
работы с системой. При вводе сообщения в эту форму оно отображается в веб-интерфейсе
администраторов сайта. При отправке сообщения в системе запоминается такая информация, как имя пользователя, который его отправил, и страница сайта, с которой оно было
отправлено. Эти данные облегчают дальнейшую коммуникацию между администраторами
системы и пользователем. Отметим, что в инструкции к системе есть контактные данные
ее разработчиков. Исходя из представленных фактов, настоящее требование считается выполненным.
В таблице 5.17 в краткой форме представлены результаты анализа разработанного прототипа системы ИСТИНА на соответствие предъявляемым требованиям к ее практичности.
№
Требование
Выполнено
3.1
Ясная схема работы
+
3.2
Инструкция по эксплуатации
+
3.3
Дружественный пользователю интерфейс
+
3.4
Средства обратной связи
+
Таблица 5.17. Соответствие прототипа системы ИСТИНА требованиям к практичности.
131
4. Эффективность
4.1. Низкие затраты на внедрение и модификацию.
Эффективность внедрения системы в научной организации обеспечивается следующими
ее свойствами. Во-первых, тот факт, что она выполнена в виде веб-приложения, позволяет
сравнительно легко внедрить ее в организации. Для этого не требуется оборудовать рабочие места пользователей дополнительным программным или аппаратным обеспечением.
Для доступа к системе требуется только веб-браузер, который есть во всех современных
операционных системах. Важным свойством системы является то обстоятельство, что она
может функционировать как единый портал для всех подразделений организации или даже
для нескольких различных организаций. При этом аналитические функции системы, которыми пользуются руководители подразделений и организаций, могут быть настроены для
каждого руководителя на конкретное подразделение или организацию. Решение вопросов
прав доступа, которые возникают естественным образом, описано в политике безопасности
системы, характеристика которой представлена в Приложении Ж.
Низкие затраты на модификацию системы обеспечиваются следующими ее свойствами:
• применение программных компонентов с открытым кодом;
• модульная архитектура системы, использование схемы проектирования MVC;
• применение широко распространенных в индустрии и прошедших практическую апробацию технологий, например, языка Python, фреймворков Django и jQuery.
Исходя из представленных свойств системы, настоящее требования считается выполненным.
4.2. Малое время обработки входных данных при добавлении информации пользователем.
Для проверки соответствия разработанного прототипа системы этому требованию был проведен опрос 8 пользователей системы в НИИ механики МГУ имени М.В. Ломоносова. Им
был задан следующий вопрос с пятью вариантами ответа.
• Насколько быстро происходит автоматический разбор данных на первом шаге добавления публикации?
5 - разбор данных происходит очень быстро, задержек в работе нет;
4 - разбор данных происходит с хорошей скоростью, не мгновенно, но достаточно
быстро;
3 - разбор данных происходит со средней скоростью, что в целом приемлемо, хотя
иногда раздражает;
2 - разбор данных происходит довольно медленно, добавлять работы затруднительно;
1 - разбор данных происходит очень медленно, добавлять работы крайне сложно.
132
Число оценок
Вопрос
Насколько быстро происходит автоматический разбор данных на первом шаге добавления публикации?
5
4
4
4
3
0
2
0
1
0
средний
балл
всего
оценок
4.5
8
Таблица 5.18. Результаты опроса пользователей по вопросу эффективности ввода данных в систему.
В таблице 5.18 представлены результаты опроса. Как показывают эти результаты, средняя
оценка скорости автоматического разбора данных при их вводе в систему равна 4.5. Это
значение превышает уровень, заявленный в требованиях к системе. Отметим, что служба
FreeCite, с помощью которого выполняется разбор библиографических ссылок, реализована в виде веб-сервиса. Этот факт позволяет в будущем при необходимости создать несколько копий этого сервиса на разных машинах для повышения скорости добавления данных
в систему. Следует заметить, что в качестве одного из недостатков алгоритма Sonmake
построения онтологии области научного знания была отмечена высокая вычислительная
сложность. Это обстоятельство влияет на общую эффективность обработки входных данных лишь незначительно, так как построение и обновление онтологии области научного
знания должно происходить сравнительно редко, например, раз в несколько недель или
месяцев. Исходя из представленных фактов, настоящее требование считается выполненным.
4.3. Высокое качество выполнения поисковых запросов, которое выражается в степени точности и полноты возвращаемой информации.
Качество выполнения поисковых запросов, которое выражается в степени точности и полноты результатов, напрямую зависит от качества используемой онтологии области знания. Выполнение этого требования следует из свойств алгоритмов выделения терминов
Brainsterm и построения онтологии Sonmake, которые описаны в разделах 4.1 и 4.2 соответственно. Как отмечено в этих разделах, разработанные алгоритмы полностью соответствуют предъявляемым к ним требованиям, в том числе по качеству получаемых результатов.
Таким образом, настоящее требование считается выполненным.
4.4. Малое время выполнения запросов.
Модуль выполнения аналитических запросов в настоящее время запущен в тестовом режиме, поэтому оценок его эффективности пока не проводилось. Это требование считается
невыполненным.
4.5. Низкая трудоемкость подготовки обучающих выборок документов.
4.6. Малый объем необходимого ручного труда экспертов по настройке системы на
конкретную область знания.
Из требований 4.5 и 4.6 были выведены соответствующие требования к алгоритмам
Brainsterm и Sonmake, которые представлены в разделах 2.3 и 2.4 соответственно. Как
133
отмечено в разделах 4.1 и 4.2, разработанные алгоритмы полностью соответствуют предъявляемым к ним требованиям. Этот факт означает выполнение также и требований 4.5 и
4.6.
4.7. Масштабируемость по количеству новых функций.
О выполнении настоящего требования свидетельствуют следующие свойства системы.
• Расширяемость модели представления знаний.
Используемая модель представления знаний в виде онтологии является расширяемой.
В онтологию можно добавлять новые классы, экземпляры (термины области знаний),
отношения и даже типы отношений. К расширенной онтологии можно выполнять запросы новых видов.
• Возможность добавления новых областей знаний.
Система может функционировать одновременно с несколькими объединенными онтологиями, которые описывают различные области знаний. Интеграция семантически
непересекающихся онтологий является сравнительно несложной задачей. Отметим,
что в системе есть средства построения онтологий произвольных областей научного
знания. Это свойство позволяет добавлять в систему все новые и новые онтологии,
расширяя ее возможности и широту охвата научного знания. Важно заметить, что основная часть системы не зависит от конкретной предметной области, которая описана
в онтологии.
• Модульность архитектуры системы на всех уровнях.
Это свойство позволяет добавлять в систему новые функции пользовательского интерфейса, добавлять поддержку новых форматов входных данных, расширять возможности интеграции системы с другими хранилищами и другую функциональность.
Исходя из перечисленных особенностей системы, сделаем вывод, что настоящее требование
является выполненным.
4.8. Масштабируемость по объему обрабатываемых входных данных.
Сервис Freecite, который обеспечивает работу модуля разбора библиографических ссылок
при добавлении работ, является независимым от основной части системы и запущен на
отдельном компьютере. Это свойство позволяет при необходимости добавлять копии этого сервиса для повышения пропускной способности системы по объему обрабатываемых
данных. Большой объем данных, которые добавляет пользователь, сказывается лишь на
необходимом объеме дисковой памяти. Отметим, что для каждой работы в базу данных
добавляется небольшое количество информации. Например, в настоящий момент в базе
данных системы ИСТИНА хранится информация о более чем 3000 результатах научной
деятельности более чем 1500 авторов. При этом размер базы данных не превышает 10 мегабайт. Это значение увеличивается линейно по количеству добавляемых в систему работ.
134
Файлы, прикрепляемые пользователями к работам, хранятся отдельно от основной базы
данных, что тоже повышает гибкость и масштабируемость системы. Алгоритмы выделения терминов Brainsterm и построения онтологии Sonmake способны работать с большими
по объему входными данными. Этот факт следует из теорем 2 и 3, в которых оценивается вычислительная сложность алгоритмов. Онтология области знания, которая строится с
помощью алгоритма Sonmake, может храниться в отдельной базе данных.
Исходя из перечисленных свойств системы, сделаем вывод, что настоящее требование является выполненным.
4.9. Масштабируемость по количеству пользователей.
На выполнение настоящего требования указывают следующие обстоятельства.
• Архитектура системы является распределенной.
Основные компоненты системы, такие как веб-сервер, база данных, онтология области
знания (и средства ее построения) и сервис Freecite, находятся на различных машинах.
При необходимости система может быть масштабирована путем добавления новых
вычислительных мощностей.
• Результаты проведенного нагрузочного тестирования, которые представлены ранее в
этом разделе, показывают, что система может быть использована в масштабах научной
организации среднего размера (до 1000 сотрудников).
• Веб-фреймворк Django, с применением которого работает большая часть кода системы, используется в ряде крупных проектов.
К ним относятся такие веб-сайты, как сайт дополнений к браузеру Firefox1 (150 миллионов просмотров в месяц), веб-каталог Mahalo.com2 (10 миллионов посетителей в
месяц), портал бразильской телевизионной сети Rede Globo3 (занимает 103 позицию
в мире в рейтинге популярности сайтов Alexa4 ), сервис онлайн-комментариев Disqus5
(400 миллионов посетителей в месяц), российский сервис Яндекс.Афиша6 (3 миллиона посетителей в месяц). Эти факты свидетельствуют о высокой масштабируемости
фреймворка Django и обоснованности его выбора для применения в системе ИСТИНА.
Исходя из перечисленных фактов, сделаем вывод, что настоящее требование является выполненным.
В таблице 5.19 в краткой форме представлены результаты анализа разработанного прототипа системы ИСТИНА на соответствие предъявляемым требованиям к ее эффективности.
1
https://addons.mozilla.org/en-US/firefox
http://mahalo.com
3
http://globo.com
4
http://www.alexa.com
5
http://disqus.com
6
http://afisha.yandex.ru
2
135
№
Требование
Выполнено
4.1
Низкие затраты на внедрение и модификацию
+
4.2
Малое время обработки входных данных
+
4.3
Высокое качество выполнения запросов
+
4.4
Малое время выполнения запросов
-
4.5
Низкая трудоемкость подготовки обучающих выборок
+
4.6
Малый объем ручного труда экспертов по настройке
+
4.7
Масштабируемость по функциям
+
4.8
Масштабируемость по объему входных данных
+
4.9
Масштабируемость по количеству пользователей
+
Таблица 5.19. Соответствие прототипа системы ИСТИНА требованиям к эффективности.
5. Сопровождаемость
5.1. Система должна обеспечивать возможность оперативного расширения и модификации используемых моделей данных.
Выполнение этого требования обеспечивается двумя следующими свойствами системы. Вопервых, как отмечено в разделе 2.1, используемая модель представления знаний в виде
онтологий облегчает оперативное расширение модели данных. Во-вторых, в программном
коде модуля добавления в систему результатов научной деятельности применяется технология Django Wizards1 , которая позволяет максимально отделить код, необходимый для
добавления работ любого типа, от специфичного для каждого типа работ кода. Это обстоятельство значительно облегчает расширение функциональности системы по добавлению
новых типов работ. Общие функции, такие как редактирование формы, поиск похожих
сотрудников, журналов и сборников, разрешение неоднозначностей имен объектов и привязка авторов, могут быть применены в готовом виде. Перечисленные факты позволяют
сделать вывод о выполнении настоящего требования.
5.2. Система должна обеспечивать возможность автоматизированного обновления
данных для их поддержания в актуальном состоянии.
Из настоящего требования были выведены соответствующие требования к алгоритмам
Brainsterm и Sonmake, которые представлены в разделах 2.3 и 2.4 соответственно. Как
отмечено в разделах 4.1 и 4.2, разработанные алгоритмы полностью соответствуют предъявляемым к ним требованиям. Этот факт влечет за собой выполнение также и настоящего
требования. Для дополнительного его обоснования отметим следующие особенности программного комплекса ИСТИНА. Во-первых, любой пользователь системы может редактировать все результаты научной деятельности, соавтором которых он является, даже если
не он добавил этот результат в систему. Этот факт облегчает поддержание данных в си1
https://docs.djangoproject.com/en/dev/ref/contrib/formtools/form-wizard
136
стеме в актуальном состоянии, так как любой соавтор может добавить и отредактировать
работу. Как было отмечено ранее, уже в процессе функционирования системы онтология
научного знания может быть расширена путем добавления новых областей знаний. При
этом не нужно перестраивать онтологию заново, а достаточно просто добавить в нее новые классы, экземпляры и отношения, сохраняя при этом и все старые. Наконец, отметим
возможность модификации и расширения онтологии экспертами, например, с помощью
редактора онтологий Protégé1 . Эта возможность обеспечивается тем фактом, что для описания онтологий в системе используется стандартный язык OWL, который поддерживается
этим редактором.
Перечисленные особенности системы позволяет сделать вывод о выполнении настоящего
требования.
5.3. Система должна иметь полную документацию.
Документация к системе ИСТИНА состоит из следующих частей.
• Руководство пользователя системы, доступное на ее сайте2 .
• Подсистема вики, в которой содержится более 30 документов, описывающих различные аспекты функционирования системы, в том числе частичную проектную документацию и техническую документацию.
• Подсистема отслеживания ошибок, в которой содержится информация об около 700
ошибок, задач и предлагаемых улучшений в системе.
Каждая ошибка, задача или предлагаемое улучшение сопровождается подробным описанием. Существует возможность их комментирования.
• Подсистема хранения исходного кода, которая содержит около 900 фиксаций изменений в нем.
Каждая из фиксаций сопровождается описанием изменений по сравнению с предыдущей версией.
• Комментарии в исходном программном коде системы.
Как показывают результаты анализа исходного кода с помощью инструмента CLOC,
программный код системы на языке Python содержит 813 строк комментариев, что
составляет 8% от 10308 строк исходного кода.
Несмотря на существование перечисленных выше компонентов документации системы, для
выполнения настоящего требования необходимо оформление полного пакета документации
по стандартам ГОСТ Р ИСО 9127-94 «Документация пользователя и информация на упаковке для потребительских программных пакетов», ГОСТ Р ИСО/МЭК 15910-2002 «Процесс создания документации пользователя программного средства» и серии стандартов
1
2
http://protege.stanford.edu
http://istina.imec.msu.ru/help
137
ЕСПД. Учитывая изложенные обстоятельства, настоящее требование считается частично
выполненным.
5.4. Система должна быть оперативно диагностируемой на недостатки, случаи отказов и определение составных частей для модернизации.
Как отмечено ранее в этом разделе в комментариях к пункту 2.3 требований к надежности системы, программный комплекс ИСТИНА включает целый ряд средств мониторинга,
журналирования и оперативного реагирования. Следует особенно выделить модуль djangoactivity-stream ведения журнала основных действий пользователей в системе, включающий
функцию отображения этого журнала в веб-интерфейсе администратора системы. В дополнение к перечисленным особенностям следует упомянуть такие свойства системы, как
модульную архитектуру и использование схемы проектирования MVC. Эти свойства облегчают диагностику системы. Исходя из отмеченных обстоятельств, настоящее требование
считается выполненным.
5.5. Система должна быть открытой для перманентной модификации за счет использования программного обеспечения с открытым исходным кодом.
Как отмечено ранее в этом разделе, в системе ИСТИНА используется множество программных компонентов с открытым исходным кодом. Это обстоятельство позволяет сделать вывод о том, что настоящее требование является выполненным.
5.6. Система должна быть устойчивой к непредвиденным эффектам модификации.
Выполнение настоящего требования следует из того обстоятельства, что в системе предусмотрен целый ряд перечисленных ранее средств мониторинга, журналирования и оперативного реагирования. Следует особенно выделить использование системы управления версиями исходного кода, которая позволяет в любой момент оперативно перевести систему на
более стабильную раннюю версию кода в случае непредвиденных эффектов модификации.
Еще одним свойством, которое повышает устойчивость программного комплекса, является
создание ежедневных резервных копий данных системы. Исходя из перечисленных фактов,
сделаем вывод о том, что настоящее требование выполнено.
5.7. Система должна включать средства проверки модифицированного программного обеспечения.
В языке Python предусмотрены средства автоматического тестирования программного кода, включая юнит-тестирование. Существуют средства автоматизированного тестирования
пользовательского интерфейса, например, selenium1 . Для проверки кода системы ИСТИНА был создан ряд автоматизированных тестов, но на настоящий момент тестовое покрытие кода является недостаточным. Отметим, что для экспертной проверки модификаций
1
http://seleniumhq.org
138
программного кода развернуты тестовые сервера с копиями системы, на которых разработчики могут протестировать свои изменения. Тем не менее, учитывая недостаток созданных
тестов, настоящее требование является невыполненным.
5.8. Система должна включать веб-средства администрирования системы для поддержки мобильности рабочих мест администраторов.
Одним из основных достоинств веб-фреймворка Django, который используется в системе,
является автоматическое создание веб-интерфейса администрирования, в котором авторизованные администраторы могут выполнять такие функции, как просмотр, добавление,
редактирование и удаление объектов системы. Доступ к этому интерфейсу может быть осуществлен с любого компьютера, подключенного к Интернет. Авторизация администратора
выполняется с помощью ввода имени пользователя и пароля. Таким образом, настоящее
требование является выполненным.
5.9. Система должна иметь модульную архитектуру, которая облегчает анализ и
модификацию отдельных частей системы.
Выполнение настоящего требования обеспечивается следующими обстоятельствами.
• Как отмечено в разделе 2.2, общая архитектура системы является модульной.
• Модульность архитектуры является одним из требований к алгоритмам выделения
терминов и построения онтологии, которые указаны в разделах 2.3 и 2.4 соответственно. Как отмечено в разделах 4.1 и 4.2, разработанные автором диссертации алгоритмы
Brainsterm и Sonmake удовлетворяют этому требованию.
• Программные компоненты на языке Python распространяются в виде модулей (Python
packages/modules).
• Система, написанная с использованием веб-фреймворка Django, делится на
приложения-модули (apps).
• В соответствии со схемой проектирования MVC, каждый Django-модуль системы состоит из трех отдельных частей: модели, представления и контроллера.
Исходя из перечисленных свойств системы и ее программных компонент, настоящее требование считается выполненным.
В таблице 5.20 в краткой форме представлены результаты анализа разработанного прототипа системы ИСТИНА на соответствие предъявляемым требованиям к ее сопровождаемости.
6. Мобильность
6.1. Возможность автоматизированного обучения и настройки на конкретное научное направление в рамках более широкой области научного знания.
139
№
Требование
Выполнено
5.1
Возможность модификации моделей данных
+
5.2
Автоматизированное обновление данных
+
5.3
Полная документация
5.4
Оперативная диагностируемость на недостатки
+
5.5
Открытость для перманентной модификации
+
5.6
Устойчивость к ошибкам модификации
+
5.7
Средства проверки модифицированного ПО
-
5.8
Веб-средства администрирования
+
5.9
Модульная архитектура
+
+/-
Таблица 5.20. Соответствие прототипа системы ИСТИНА требованиям к сопровождаемости.
Из этого требования к системе были выведены требования к алгоритмам выделения терминов и построения онтологии. Как показано в разделах 4.1 и 4.2, разработанные автором алгоритмы удовлетворяют им. Отметим, что программный код и функционирование
остальной части сайта не зависит от конкретной области научного знания, на которую настроена система. Исходя из этих обстоятельств, сделаем вывод, что настоящее требование
выполнено.
6.2. Адаптируемость к переносу на различные платформы.
Выполнение настоящего требования обеспечивается тем фактом, что в системе используются компоненты, которые могут работать на различных платформах, и языки, которые имеют реализации для различных платформ. В частности, язык Python, вебфреймворк Django, веб-сервера Apache и Nginx, СУБД Oracle Database, система кэширования memcached и система управления версиями Mercurial являются кроссплатформенными, то есть имеют программные реализации для различных платформ. Другими факторами, которые повышают гибкость и адаптируемость системы, являются, во-первых, тот
факт, что база данных системы хранится на отдельном сервере, а также то обстоятельство,
что реализация объектно-реляционного отображения (ORM) в Django позволяет менять используемую СУБД на другую без модификации кода системы. На основе перечисленных
фактов сделаем вывод, что настоящее требование выполнено.
6.3. Возможность оперативного внедрения в научной организации.
Основные свойства системы, которые свидетельствуют о выполнении этого требования, перечислены ранее в этом разделе в комментарии к требованию 4.1 к ее эффективности. Они
включают в себя тот факт, что система является веб-приложением, а также возможность
обслуживания одним экземпляром системы сразу нескольких организаций. Исходя из этих
обстоятельств, настоящее требование является выполненным.
6.4. Возможность оперативного ввода в систему данных, накопленных за всю исто140
рию функционирования организации.
Выполнение этого требования обеспечивается следующими свойствами системы.
• Как указано в разделе 2.5, в системе ИСТИНА предусмотрены четыре способа ввода
информации о результатах научной деятельности.
Отметим, что ввод данных в виде библиографических ссылок является сравнительно универсальным, потому что не предполагает строгого формата ссылки. Формат
BibTeX, в котором также возможен ввод данных в систему, является широко используемым в научной среде. Наконец, сервис eLibrary.ru, из которого возможен автоматизированный импорт данных в систему ИСТИНА, является очень популярным в российской научной среде. Он индексирует более 30 тысяч научных журналов и содержит
информацию о более чем 15 миллионах статей. Отметим, что система eLibrary.ru обладает недостатками, которые перечислены в разделе 1.3, и не может быть использована
для цели, поставленной в настоящей работе.
• В трех способах ввода из четырех, исключая ручное заполнение формы, поддерживается пакетный (множественный) ввод данных.
• При вводе работы одним из соавторов она появляется на личных страницах у каждого
из них.
Эта особенность системы предотвращает дублирование труда при вводе данных.
• Вводить в систему информацию о публикации может не только ее автор, но и любой
зарегистрированный пользователь.
Это свойство системы, в частности, позволяет назначить по подразделениям специальных людей, которые будут вводить данные обо всех его сотрудниках.
В дополнение к перечисленным особенностям системы приведем результаты опроса 8 ее
пользователей в НИИ механики МГУ имени М.В. Ломоносова, которым был задан следующий вопрос с пятью вариантами ответа.
• Насколько быстро в целом Вам удалось внести свои работы в систему? Ваше общее
впечатление от этого опыта.
5 - я добавил(а) свои работы в систему очень быстро;
4 - я добавил(а) свои работы в систему достаточно быстро;
3 - я добавил(а) свои работы в систему за приемлемое время;
2 - я потратил(а) довольно много времени, работы происходила медленно;
1 - я потратил(а) очень много времени, работа происходила крайне медленно.
В таблице 5.21 представлены результаты опроса. Как показывают эти результаты, средняя
оценка общей скорости добавления работ в систему равна 3.75. Этот показатель не превосходит значение, заявленное в требовании (4). Исходя из перечисленных фактов, настоящее
требование считается выполненным частично.
141
Число оценок
Вопрос
Насколько быстро в целом Вам удалось внести свои
работы в систему?
5
2
4
3
3
2
2
1
1
0
средний
балл
всего
оценок
3.75
8
Таблица 5.21. Результаты опроса пользователей по вопросу скорости добавления данных в систему.
№
Требование
Выполнено
6.1
Автоматизированная настройка на область знания
+
6.2
Адаптируемость к переносу
+
6.3
Возможность оперативного внедрения
+
6.4
Возможность оперативного ввода накопленных данных
+/-
Таблица 5.22. Соответствие прототипа системы ИСТИНА требованиям к мобильности.
В таблице 5.22 в краткой форме представлены результаты анализа разработанного прототипа системы ИСТИНА на соответствие предъявляемым требованиям к ее мобильности.
5.4
Дальнейшее развитие
Дальнейшее развитие системы ИСТИНА включает в себя реализацию функции формирования
годовых научных отчетов и подсчета научных баллов сотрудников организации в автоматизированном режиме на основе введенных ими данных, а также создание на основе системы средства
сравнительного тематического анализа научной деятельности подразделений МГУ и университета в целом. Для этого планируется расширить систему с помощью модулей, описанных в
настоящей диссертации, в частности, модуля построения семантической модели области знания
с помощью онтологий, модуля поиска информации в Интернет, а также модуля тематической
классификации публикаций, данные о которых содержатся в хранилище системы. Еще одним
направлением развития системы ИСТИНА является ее использование в качестве программной платформы для создания веб-сайтов отдельных структурных подразделений Московского
университета.
Перечислим возможные области применения онтологии отдельной области научного знания
и онтологии научной деятельности в системе ИСТИНА.
• Автоматическое определение тематики отдельного результата научной деятельности.
• Навигация по информации, которая хранится в системе.
Здесь следует отметить такую функцию, как отображение «похожих» ученых, статей,
конференций, а также связанных понятий области знания.
• Автоматическое определение научных интересов отдельного ученого на основе тематик
результатов его научной деятельности.
• Персонифицированный поиск.
142
Автоматически формируемый список научных интересов отдельного ученого может быть
использован в поисковой системе для осуществления поиска, учитывающего информацию о пользователе, который выполняет поиск. В частности, в Московском университете
коллективом с участием автора разрабатывается Автоматизированная Система Тематического Анализа Информации (АСТАИ) [66]. Возможность интеграции этих двух систем
представляется интересным направлением дальнейшего развития данного направления. В
качестве примера приведем результаты двух запросов к системе Google1 (рис. 5.6a, 5.6b).
Оба запроса содержат слово «microsoft», но во второй запрос кроме этого слова входят еще
и термины из онтологии, которые характеризуют научные интересы пользователя системы. Как видно из иллюстрации, во втором случае результаты поиска с большей вероятностью соответствуют информационной потребности пользователя. На рис. 5.7 представлена
общая схема интеграции системы ИСТИНА и поисковой системы в целях расширения и
уточнения запросов.
(a) без учета интересов пользователя
(b) с учетом интересов пользователя
Рис. 5.6. Результаты запроса «microsoft» в Google.
1
http://google.com
143
Рис. 5.7. Схема интеграции системы ИСТИНА и поисковой системы в целях расширения и уточнения запросов.
• Мониторинг новой информации по научным интересам пользователя.
Автоматически формируемый список научных интересов ученого может быть также использован для автоматического его оповещения о новой информации по интересующей
его тематике как среди материалов, добавляемых в систему ИСТИНА, так и в Интернет
в целом.
На рис. 5.8 приведен список научных интересов трех пользователей системы ИСТИНА. Эти
интересы сформированы автоматически на основе сопоставления понятий построенной онтологии информатики и названий научных работ, добавленных пользователями в систему. На рисунке используются следующие обозначения. Символом ∼ обозначается связь между аналогичными понятиями на английском и русском языках в онтологии информатики, символом “<” –
иерархическое отношение isSubTerm, а символом “>” – обратное к нему отношение isSuperTerm.
Отметим, что цепочки отношений на рисунке соответствуют применению логического вывода.
Так, например, на основе термина «Тестирование программного обеспечения» с помощью трех
логических переходов пользователю К.А. Шапченко (см. рис. 5.8) автоматически сопоставлен
интерес «Разработка программного обеспечения».
144
Рис. 5.8. Научные интересы пользователей системы ИСТИНА, выявленные на основе онтологии
информатики.
Программный
компонент
ИСТИНА
Sonmake
Brainsterm
Сравнение
Brainsterm/TF-IDF/LSI
Всего
Число
файлов
Количество строк
HTML Javascript CSS
Python
C++
Bash
XML
всего
306
39
26
23
10308
2549
80
329
0
0
1184
1705
4274
0
0
0
953
0
0
0
675
0
0
0
64
0
0
0
45
0
0
0
16319
2549
1264
2034
394
13266
2889
4274
953
675
64
45
22166
Таблица 5.23. Число строк в программных реализациях прототипа системы ИСТИНА и базовых
алгоритмов.
5.5
Выводы
В настоящей главе представлено описание прототипа программного комплекса ИСТИНА, который разработан автором на основе предложенной в диссертации архитектуры и с использованием описанных алгоритмов Brainsterm и Sonmake. Показано, что прототип соответствует
основным предъявляемым к системе требованиям, а предложенная архитектура позволяет построить целевую систему, которая при ее реализации в полном объеме будет удовлетворять
всем предъявляемым к ней требованиям.
В таблице 5.23 представлены результаты совокупного анализа кода прототипа системы ИСТИНА и алгоритмов Brainsterm и Sonmake, полученные с помощью инструмента CLOC. Эта
таблица отражает количество программного кода, который был написан автором с участием
коллег в ходе подготовки настоящей диссертации.
145
Заключение
В настоящей диссертации представлено описание методов и средств построения систем управления научной информацией. Теоретической основой подхода являются онтологии. Разрабатываемая в настоящее время версия предлагаемой автором системы содержит в своем составе такие
модули, как модуль построения формальной модели области знания, модуль загрузки информации, модуль установления связей между загруженными в систему сведениями о результатах
научной деятельности ученых и построенной онтологией, а также модуль выполнения запросов.
Отметим, что предложенный в работе подход к построению информационных систем, основанных на онтологиях, может с успехом применяться не только для учета и анализа научной
деятельности исследователей, но и для решения ряда других практически значимых задач.
Например, такие же принципы могут быть использованы для учета, анализа и поиска гридсервисов [4, 83].
В ходе работ по подготовке настоящей диссертации получены следующие основные результаты.
1. На основе исследования предметной области построены математические модели и алгоритмы, разработаны опирающиеся на онтологии архитектурные и технологические решения для создания системы пополнения и хранения, анализа и выдачи по запросу информации, характеризующей результаты деятельности научной организации. С использованием онтологий и языка SPARQL предложено формальное описание запросов к системе,
создающее гарантии их вычисления и дополнительные возможности для эффективной
верификации кода системы на всех этапах ее жизненного цикла.
2. Разработан алгоритм построения онтологии отдельной области научного знания, основанный на выделении терминов из анонсов научных конференций, а также на использовании
информации из поисковых систем в Интернет. Получены аналитические оценки, характеризующие вычислительную сложность его программной реализации.
3. Разработан алгоритм выделения терминов-пар слов из коллекции текстов с заданным тематическим делением. Доказано, что предложенная автором в составе алгоритма базовая
функция веса термина в рубрике удовлетворяет предъявляемым к ней требованиям. Получены аналитические оценки, характеризующие вычислительную сложность программной
реализации алгоритма.
146
4. Создан прототип программного комплекса для учета и анализа научной информации, именуемый Интеллектуальной Системой Тематического Исследования НАучно-технической
информации (ИСТИНА), тестовые испытания которого подтвердили справедливость аналитических оценок сложности реализации основных алгоритмов, а также тот факт, что
комплекс в целом удовлетворяет предъявляемым к нему требованиям.
Благодарности. Автор выражает глубокую благодарность своему научному руководителю доктору физико-математических наук, профессору Валерию Александровичу Васенину за
постановку задачи и постоянное внимание к работе. Автор благодарит кандидатов физикоматематических наук С. А. Афонина и А. С. Козицына за ценные замечания с их стороны по
ходу выполнения работы.
147
Список использованных источников
[1] Горбунов-Посадов, М.М. Интернет-активность как обязанность ученого / М.М. ГорбуновПосадов // Информационные технологии и вычислительные системы. — 2007. — № 3. —
С. 88–93.
[2] Afonin, Sergey. Minimal Union-Free Decompositions of Regular Languages / Sergey Afonin,
Denis Golomazov // Language and Automata Theory and Applications / Ed. by Adrian Dediu,
Armand Ionescu, Carlos Martı́n-Vide. — Berlin / Heidelberg: Springer-Verlag, 2009. — Vol. 5457
of Lecture Notes in Computer Science. — Pp. 83–92.
[3] Голомазов, Д.Д. Выделение терминов из коллекции текстов с заданным тематическим делением / Д.Д. Голомазов // Информационные технологии. — 2010. — № 2. — С. 8–13.
[4] Васенин, В.А. Использование семантических технологий для обнаружения грид-ресурсов /
В.А. Васенин, С.А. Афонин, Д.Д. Голомазов // Программная инженерия. — 2011. — № 7.
— С. 2–8.
[5] ГОСТ ИСО/МЭК 9126-93. Информационная технология. Оценка программной продукции.
Характеристики качества и руководства по их применению // Руководящий документ.
Госстандарт России. — 1994.
[6] Bibster – A Semantics-Based Bibliographic Peer-to-Peer System / Peter Haase, Jeen Broekstra,
Marc Ehrig et al. // The Semantic Web – ISWC 2004 / Ed. by Sheila A McIlraith,
Dimitris Plexousakis, Frank van Harmelen. — Springer Berlin / Heidelberg, 2004. — Vol. 3298
of Lecture Notes in Computer Science. — Pp. 122–136.
[7] The swrc ontology - semantic web for research communities / York Sure, Stephan Bloehdorn,
Peter Haase et al. // Proceedings of the 12th Portuguese Conference on Artificial Intelligence
- Progress in Artificial Intelligence (EPIA 2005), volume 3803 of LNCS. — Covilha: Springer,
2005. — Pp. 218–231.
[8] Lassila, Ora. Resource Description Framework (RDF) Model and Syntax Specification /
Ora Lassila, Ralph R Swick // World Wide Web Internet And Web Information Systems. —
1999. — Vol. October. — Pp. 1–54.
148
[9] Lamport, Leslie. Latex: a document preparation system / Leslie Lamport. — Boston, MA, USA:
Addison-Wesley Longman Publishing Co., Inc., 1986.
[10] Kruk, Sebastian Ryszard. JeromeDL - Adding Semantic Web Technologies to Digital Libraries /
Sebastian Ryszard Kruk, Stefan Decker, Lech Zieborak // Database and Expert Systems
Applications / Ed. by Kim Viborg Andersen, John Debenham, Roland Wagner. — Springer
Berlin / Heidelberg, 2005. — Vol. 3588 of Lecture Notes in Computer Science. — Pp. 716–725.
[11] Brickley, Dan. FOAF Vocabulary Specification. [Электронный ресурс]. Режим доступа:
http://xmlns.com/foaf/spec/, свободный. — 2010.
[12] Kruk, Sebastian Ryszard. MarcOnt: integration ontology for bibliographic description formats /
Sebastian Ryszard Kruk, Marcin Synak, Kerstin Zimmermann // Proceedings of the 2005
international conference on Dublin Core and metadata applications: vocabularies in practice.
— Dublin Core Metadata Initiative, 2005. — Pp. 31:1–31:5.
[13] Mika, Peter. Application of semantic technology for social network analysis in the sciences /
Peter Mika, Tom Elfring, Peter Groenewegen // Scientometrics. — 2006. — Vol. 68, no. 1. —
Pp. 3–27.
[14] Ponomareva, Natalia. AIR: A Semi-Automatic System for Archiving Institutional Repositories /
Natalia Ponomareva, Jose Gomez, Viktor Pekar // Natural Language Processing and
Information Systems / Ed. by Helmut Horacek, Elisabeth Métais, Rafael Muñoz,
Magdalena Wolska. — Springer Berlin / Heidelberg, 2010. — Vol. 5723 of Lecture Notes in
Computer Science. — Pp. 169–181.
[15] Development and Alignment of a Domain-Specific Ontology for Question Answering / S. Ou,
V. Pekar, C. Orasan et al. // Artificial Intelligence. — 2008. — Pp. 2221–2228.
[16] Lenat, D. CYC: a large-scale investment in knowledge infrastructure / D. Lenat //
Communications of the ACM. — 1995. — Vol. 38, no. 11. — Pp. 33–38.
[17] Suchanek, Fabian M. Yago: a core of semantic knowledge / Fabian M Suchanek, Gjergji Kasneci,
Gerhard Weikum // Structure. — WWW ’07. — ACM, 2007. — Pp. 697–706.
[18] A Platform for Scalable , Collaborative , Structured Information Integration / Kurt Bollacker,
Patrick Tufts, Tomi Pierce, Robert Cook // Sixth International Workshop on Information
Integration on the Web Association for the Advancement of Artificial Intelligence. — 2007.
[19] Dbpedia: A nucleus for a web of open data / Sören Auer, Christian Bizer, Georgi Kobilarov
et al. // The Semantic Web. — 2007. — Vol. 4825. — Pp. 722–735.
[20] Syed, Z S. Wikitology : Using Wikipedia as an Ontology / Z S Syed, Tim Finin, Anupam Joshi //
Artificial Intelligence. — 2008. — Pp. 1–2.
149
[21] Bizer, C. Linked data-the story so far / C. Bizer, T. Heath, T. Berners-Lee // International
Journal on Semantic Web and Information Systems. — 2009. — Vol. 5, no. 3. — Pp. 1–22.
[22] Bizer, Chris. Interlinking Open Data on the Web / Chris Bizer, Tom Heath // 4th European
Semantic Web Conference (ESWC 2007). — 2007. — Pp. 1–2.
[23] SKOS Core: Simple knowledge organisation for the web / Alistair Miles, B Matthews, M Wilson,
D Brickley // DCMI. — 2007. — Vol. 5, no. 3. — Pp. 69–83.
[24] Glaser, Hugh. RKB Explorer : Application and Infrastructure / Hugh Glaser, Ian C Millard //
Proceedings of Semantic Web Challenge. — 2007. — Pp. 1–8.
[25] Возможности технологий ИСИР в поддержке Единого Научного Информационного Пространства РАН / А.А. Бездушный, А.К. Нестеренко, Т.М. Сысоев и др. // Электронные
библиотеки. — 2004. — Т. 7, № 6. — С. 15–30.
[26] Weibel, Stuart L. The Dublin Core Metadata Initiative / Stuart L Weibel // DLib Magazine. —
2000. — Vol. 6, no. 12. — Pp. 1082–1873.
[27] Asserson, A. CERIF: past, present and future: an overview / A. Asserson, K. Jeffery,
A. Lopatenko // Gaining Insight from Research Information, 6th Int. Conf. on Current Research
Information Systems, Kassel Germany. — Citeseer, 2002. — Pp. 29–31.
[28] Yeong, W. Lightweight Directory Access Protocol / W Yeong, T Howes, S Kille // Search. —
1995. — Vol. 2251, no. 1777. — Pp. 1–11.
[29] Боровикова, О.И. Онтологический подход к построению систем информационной поддержки научной и производственной деятельности / О.И. Боровикова, Ю.А. Загорулько, Е.А. Сидорова // Материалы Всероссийской конференции с международным участием
«Знания – Онтологии – Теории» (ЗОНТ–09). — Т. 2. — Новосибирск: Институт математики
им. С.Л. Соболева СО РАН, 2009. — С. 93–102.
[30] Загорулько, Ю.А. Портал знаний по компьютерной лингвистике: содержательный доступ
к лингвистическим информационным ресурсам / Ю.А. Загорулько, О.И. Боровикова,
Г.Б. Загорулько // Компьютерная лингвистика и интеллектуальные технологии. Электронные публикации Международной конференции «Диалог-2008». [Электронный ресурс].
Режим доступа: http://www.dialog-21.ru/digests/dialog2008/materials/html/Zagorulko.htm,
свободный. — 2008.
[31] Боровикова, О.И. Подход к автоматизации сбора онтологической информации для
интернет-портала знаний / О.И. Боровикова, Ю.А. Загорулько, Е.А. Сидорова // Компьютерная лингвистика и интеллектуальные технологии: Труды международной конференции
«Диалог 2005». — Москва: Наука, 2005. — С. 65–70.
150
[32] Загорулько, Ю.А. Технология разработки порталов научных знаний / Ю.А. Загорулько //
Программные продукты и системы. — 2009. — № 4. — С. 1–8.
[33] Gruber, Thomas R. A translation approach to portable ontology specifications /
Thomas R Gruber // Knowledge Acquisition. — 1993. — Vol. 5, no. 2. — Pp. 199–220.
[34] Sowa, J F. Semantic Networks / J F Sowa // Encyclopedia of Artificial Intelligence. — 1992. —
Vol. 5, no. 3. — Pp. 291–299.
[35] Pepper, Steve. The TAO of Topic Maps / Steve Pepper // Knowledge Creation Diffusion
Utilization. — 2000. — no. 02/02/2004. — Pp. 1–21.
[36] Rumbaugh, J. The Unified Modeling Language Reference Manual / J Rumbaugh, I Jacobson,
G Booch. — Addison-Wesley, 1999. — P. 30.
[37] OIL: An Ontology Infrastructure for the Semantic Web / D Fensel, F Van Harmelen, I Horrocks
et al. // IEEE Intelligent Systems. — 2001. — Vol. 16, no. 2. — Pp. 38–45.
[38] Horrocks, Ian. DAML+OIL: a Description Logic for the Semantic Web / Ian Horrocks // IEEE
Data Engineering Bulletin. — 2002. — Vol. 25, no. 1. — Pp. 4–9.
[39] McGuinness, D. OWL Web Ontology Language Overview: Tech. Rep. February /
D. McGuinness, F. Van Harmelen: W3C, 2004.
[40] Boley, Harold. Design Rationale of RuleML: A Markup Language for Semantic Web Rules /
Harold Boley, S Tabet, G Wagner // World Wide Web Internet And Web Information Systems.
— 2001. — Pp. 381–402.
[41] Colmerauer, A. Prolog, theoretical principles and current trends. / A Colmerauer // TECHNOL.
SCI. INFORMATICS. — 1983. — Vol. 2, no. 4. — Pp. 255–292.
[42] Genesereth, M R. Knowledge Interchange Format, Version 3.0 Reference Manual /
M R Genesereth, R E Fikes // Interchange. — 1992. — no. Logic-92-1. — Pp. 1–68.
[43] Guha, Ramanathan V. LBase: Semantics for Languages of the Semantic Web /
Ramanathan V Guha, Patrick Hayes // Change. — 2003. — no. 10. — Pp. 1–22.
[44] Kifer, M. F-logic: a higher-order language for reasoning about objects, inheritance, and scheme /
M Kifer, G Lausen // ACM SIGMOD Record. — 1989. — Vol. 18, no. 2. — Pp. 134–146.
[45] Horrocks, I. Reducing OWL entailment to description logic satisfiability / I. Horrocks, P. PatelSchneider // Web Semantics: Science, Services and Agents on the World Wide Web. — 2004. —
Vol. 1, no. 4. — Pp. 345–357.
[46] Hitzler, P. Foundations of semantic web technologies / P. Hitzler, M. Krötzsch, S. Rudolph. —
Chapman & Hall / CRC, 2009. — P. 427.
151
[47] Schmidt-Schauß,
Manfred.
Attributive
concept
descriptions
with
Manfred Schmidt-Schauß, Gert Smolka // Artificial Intelligence. —
complements
1991. —
/
Vol. 48,
no. 1. — Pp. 1–26.
[48] Harmelen, F V. Handbook of Knowledge Representation / F V Harmelen, V Lifschitz, B Porter;
Ed. by F Van Harmelen, V Lifschitz, Bruce Porter. — Elsevier, 2008. — Vol. 3 of Foundations
of Artificial Intelligence. — P. 1035.
[49] Kageura, K. Methods of automatic term recognition: A review / K Kageura, B Umino //
Terminology. — 1996. — Vol. 3, no. 2. — Pp. 259–289.
[50] Justeson, John S. Technical Terminology: Some Linguistic Properties and an Algorithm for
Identification in Text / John S Justeson, Slava M Katz // Natural Language Engineering. —
1995. — Vol. 1, no. 1. — Pp. 9–27.
[51] Bourigault, D. Lexter: A terminology extraction software for knowledge acquisition from texts /
D Bourigault // KAW’95. — 1995.
[52] Salton, Gerard. Extended Boolean information retrieval / Gerard Salton, Edward A Fox,
Harry Wu // Commun. ACM. — 1983. — Vol. 26, no. 11. — Pp. 1022–1036.
[53] Lin, D. Extracting Collocations from Text Corpora / D Lin // First Workshop on Computational
Terminology. — 1998. — Pp. 57–63.
[54] Fub at trec-10 web track: A probabilistic framework for topic relevance term weighting /
Gianni Amati, Claudio Carpineto, Giovanni Romano, Fondazione Ugo Bordoni Roma // In
Proceedings of the 10th Text Retrieval Conference TREC 2001. — 2001. — Pp. 182–191.
[55] Daille, Béatrice. Reperage et extraction de terminologie par une approche mixte statistique et
linguistique / Béatrice Daille // Traitement Automatique des Langues (T.A.L.). — 1995. —
Vol. 36, no. 1–2. — Pp. 101–118.
[56] Maynard, Diana. Term Recognition Using Combined Knowledge Sources: Ph.D. thesis /
Department of Computing and Mathematics, Manchester Metropolitan University. —
Manchester (UK), 1999. — P. 365.
[57] Ritsko, John J. Preface. / John J Ritsko, David I Seidman // IBM Systems Journal. — 2004.
— Vol. 43, no. 3. — Pp. 449–450.
[58] Berners-Lee, T. Weaving the Web: the original design and ultimate destiny of the World Wide
Web by its inventor / T Berners-Lee, M Fischetti. — HarperSanFrancisco, 1999. — P. 256.
[59] Maynard, D. Metrics for evaluation of ontology-based information extraction / D. Maynard,
W. Peters, Y. Li // WWW 2006 Workshop on Evaluation of Ontologies for the Web (EON). —
Edinburgh, Scotland: Citeseer, 2006. — Pp. 1–8.
152
[60] Kietz, Joerg-Uwe. A Method for Semi-Automatic Ontology Acquisition from a Corporate
Intranet / Joerg-Uwe Kietz, Alexander Maedche, Raphael Volz // Architecture / Citeseer. —
Vol. 1937 of Lecture Notes in Artificial Intelligence. — Springer, 2000. — Pp. 2–6.
[61] Buitelaar, P. Ontology learning and population: bridging the gap between text and knowledge /
P. Buitelaar, P. Cimiano. — 167 edition. — Ios Pr Inc, 2008. — P. 273.
[62] Васенин, В.А. К созданию системы управления научной информацией на основе семантических технологий / В.А. Васенин, С.А. Афонин, Д.Д. Голомазов // Материалы Всероссийской конференции с международным участием "Знания - Онтологии - Теории"(ЗОНТ2011), 3-5 октября 2011 г., том 1 Новосибирск. — Институт математики им. С.Л. Соболева
СО РАН, Новосибирск, 2011. — С. 78–87.
[63] Luger, Michael. — Bibliographic Resource Management Based on Semantic Web Technologies.
— Master’s thesis, University of Innsbruck - UIBK, 2009.
[64] Peng, F. Accurate Information Extraction from Research Papers using Conditional Random
Fields / F. Peng, A. McCallum // HLT-NAACL. — 2004. — Pp. 329–336.
[65] Lafferty, J. Conditional random fields: Probabilistic models for segmenting and labeling sequence
data / J. Lafferty, A. McCallum, F.C.N. Pereira // Proc. 18th International Conf. on Machine
Learning. — Morgan Kaufmann, 2001. — Pp. 282 – 289.
[66] Васенин, В.А. Автоматизированная система тематического анализа информации / В.А. Васенин, А.С. Козицын, С.А. Афонин // Информационные технологии - приложение. — 2009.
— № 4. — С. 1–32.
[67] Braam, R.R. Mapping of science by combined co-citation and word analysis. I. Structural
aspects / R.R. Braam, H.F. Moed, A.F.J. Van Raan // Journal of the American Society for
Information Science. — 1991. — Vol. 42, no. 4. — Pp. 233–251.
[68] White, H.D. Author cocitation: A literature measure of intellectual structure / H.D. White,
B.C. Griffith // Journal of the American Society for Information Science. — 1981. — Vol. 32,
no. 3. — Pp. 163–171.
[69] Han, H. Name disambiguation in author citations using a K-way spectral clustering method /
H. Han, H. Zha, C.L. Giles // Digital Libraries, 2005. JCDL’05. Proceedings of the 5th
ACM/IEEE-CS Joint Conference on. — IEEE, 2007. — Pp. 334–343.
[70] Byron, W. Semi-automated screening of biomedical citations for systematic reviews / W Byron,
T Thomas // BMC Bioinformatics. — 2010. — Vol. 11, no. 1. — P. 55.
[71] McCallum, A. Efficient clustering of high-dimensional data sets with application to reference
matching / A. McCallum, K. Nigam, L.H. Ungar // Proc. of the 6th ACM SIGKDD Int. Conf.
on Knowledge discovery and data mining. — ACM, 2000. — Pp. 169–178.
153
[72] Lin, Dekang. An Information-Theoretic Definition of Similarity / Dekang Lin // Quality / Ed.
by Jude W Shavlik; Citeseer. — Vol. 1. — Citeseer, 1998. — Pp. 296–304.
[73] Левенштейн, В.И. Двоичные коды с исправлением выпадений, вставок и замещений символов / В.И. Левенштейн // ДАН СССР. — 1965. — Т. 163, № 4. — С. 845–848.
[74] Afonin, Sergey.
Calculating
Semantic
Similarity
Between
Facts
/
Sergey
Afonin,
Denis Golomazov // Proceedings of the International Conference on Knowledge Discovery and
Information Retrieval (KDIR 2010) / Ed. by Ana Fred. — Valencia, Spain: INSTICC Press,
2010. — Pp. 514–517.
[75] Липаев, В. В. Процессы и стандарты жизненного цикла сложных программных средств /
В. В. Липаев. — Москва: СИНТЕГ, 2006. — С. 276.
[76] Hearst, M.A. Automatic acquisition of hyponyms from large text corpora / M.A. Hearst //
Proceedings of the 14th conference on Computational linguistics-Volume 2. — Association for
Computational Linguistics, 1992. — Pp. 539–545.
[77] MacQueen, J. B. Some Methods for classification and Analysis of Multivariate Observations /
J. B. MacQueen, J. B MacQueen. — University of California Press, 1967. — Pp. 281 – 297.
[78] Rousseeuw, P. Silhouettes: A graphical aid to the interpretation and validation of cluster
analysis / P Rousseeuw // Journal of Computational and Applied Mathematics. — 1987. —
Vol. 20, no. 1. — Pp. 53–65.
[79] Cilibrasi, R. The Google Similarity Distance / R Cilibrasi, P Vitanyi // IEEE Transactions on
Knowledge and Data Engineering. — 2007. — Vol. 19, no. 3. — Pp. 370–383.
[80] Deerwester, S. Improving Information Retrieval with Latent Semantic Indexing /
S Deerwester // Proceedings of the 51st Annual Meeting of the American Society for Information
Science / Ed. by Christine L Borgman, Edward Y H Pai. — Vol. 25. — 1988. — Pp. 36–40.
[81] Sánchez, D. Domain ontology learning from the web / D. Sánchez // The Knowledge Engineering
Review. — 2009. — Vol. 24, no. 04. — Pp. 413–413.
[82] Горбунов-Посадов, М.М. Живая публикация / М.М. Горбунов-Посадов // Открытые системы. — 2011. — № 4. — С. 48–49.
[83] Афонин, С.А. Использование семантических технологий для решения задачи обнаружения Grid-ресурсов / С.А. Афонин, Д.Д. Голомазов // Материалы II Научно-практической
конференции «Актуальные проблемы системной и программной инженерии», сборник научных трудов. — Москва: Издательство МЭСИ, 2011. — С. 108–116.
154
Приложение А. Требования к качеству
программной системы управления
научной информацией
В настоящем Приложении представлены характеристики и показатели, более детально раскрывающие требования, предъявляемые в соответствии со стандартом ГОСТ Р ИСО/МЭК 9126-93
к качеству программной системы управления научной информацией, которые перечислены в
разделе 1.1.
1. Функциональность
Система должна обеспечивать выполнение следующих функций.
1.1. Автоматизированный ввод данных, которые описывают результаты научной и учебной деятельности сотрудников.
В системе должен поддерживаться ввод данных в следующих форматах:
• библиографические ссылки;
• BibTeX-записи;
• импорт страницы автора или страницы публикации из системы eLibrary.ru;
• заполнение полей вручную.
Самым сложным для реализации способом ввода информации в систему является разбор библиографических ссылок. Это связано с тем обстоятельством, что такие ссылки
представляют собой полуструктурированные данные. Выделение информации из полу- и
неструктурированных данных является алгоритмически сложной задачей.
1.2. Полуавтоматическое (с участием пользователя) разрешение неоднозначностей имен объектов при вводе данных.
Объекты, для имен которых необходимо разрешение неоднозначностей, включают авторов публикаций, журналы, конференции, диссертационные советы и другие, аналогичные
155
им. Эта функция необходима, например, для корректного анализа деятельности сотрудников, имеющих совпадающие фамилии. Отметим, что она должна выполняться быстрым и
удобным для пользователя способом.
1.3. Вычисление типовых запросов, примеры которых представлены ранее.
Такие запросы являются аналитическими, они требуют интеллектуальной обработки исходных данных. Этот факт означает, например, что на них нельзя ответить, используя
только относительно простые алгоритмы, такие как поиск по ключевым словам.
1.4. Задание поискового запроса на естественном языке в свободной форме.
Это требование означает, что пользователь может не указывать типы сущностей, по описаниям которых он хочет выполнить поиск. Система должна искать слова, указанные
в запросе, в описаниях объектов различных типов, например, научных статей, проектов
и направлений исследований. Результаты поиска должны быть удобным для восприятия
пользователем способом сгруппированы по типам найденных объектов.
1.5. Реализация логического вывода новых данных из существующих.
Например, если пользователь вводит запрос «бигармонические уравнения», а в онтологии
содержится информация о том, что метод конечных элементов может использоваться для
решения бигармонических уравнений, то система может выдать среди результатов поиска
научные статьи, посвященные методу конечных элементов. При этом система должна в
удобном для восприятия пользователем виде указать причину включения этих статей в
результаты поиска.
1.6. Возможность интеграции информации, которая содержится в системе, с другими хранилищами.
В дополнение к перечисленным выше система должна удовлетворять следующим требованиям к ее реализации.
1.7. Соответствие принятым в индустрии стандартам и соглашениям.
1.8. Высокий уровень доверия и защищенность ресурсов системы от деструктивных воздействий путем соблюдения положений (стандартов) информационной и функциональной безопасности, а также использования программного обеспечения с открытым исходным кодом.
1.9. Используемые в системе программные компоненты сторонних разработчиков должны распространяться в открытых исходных кодах по лицензии GPL1 или совместимой с ней.
Под совместимостью в данном случае подразумевается возможность распространения системы, которая включает такие компоненты, под лицензией GPL.
1
http://www.gnu.org/copyleft/gpl.html
156
1.10. В целях реализации программы поэтапного перехода органов государственной власти на
свободное программное обеспечение и замещения в его составе проприетарных операционных систем (ОС) на ОС с открытым исходным кодом разрабатываемая система должна
функционировать под управлением ОС с открытым исходным кодом.
2. Надежность
Система должна обладать следующими свойствами.
2.1. Стабильная работа в условиях одновременного использования сотрудниками крупной научной организации или корпорации.
Проверка этого требования должна включать нагрузочное тестирование страниц сайта, а
также опрос пользователей. Опрос пользователей должен демонстрировать уровень стабильности системы не ниже 4 баллов из 5.
2.2. Устойчивость к программным ошибкам и нарушениям интерфейсов.
2.3. Возможность оперативного восстановления при ошибках на входных данных и сбоях оборудования путем использования средств непрерывного мониторинга состояния системы на
предмет работоспособности и реагирования в режиме «реального времени» на внештатные
ситуации.
3. Практичность
Термин «практичность» (англ. usability) используется в стандарте ГОСТ Р ИСО/МЭК 912693 и включает набор атрибутов, относящихся к объему работ, требуемых для исполнения и
индивидуальной оценки такого исполнения определенным или предполагаемым кругом пользователей [5]. В настоящей диссертации к числу этих атрибутов относятся следующие.
3.1. Система должна иметь ясную для пользователя схему работы.
3.2. Система должна включать легко доступную и понятную для потенциальных пользователей
инструкцию по эксплуатации.
3.3. Система должна иметь дружественный к пользователю интерфейс.
Проверка требований 3.1-3.3 должна состоять в опросе пользователей системы. По его
результатам средний балл по каждому из трех критериев должен быть не менее 4 из 5.
3.4. Система должна включать средства обратной связи между пользователями и разработчиками системы.
157
4. Эффективность
Система должна быть эффективной по следующим показателям:
4.1. затраты на внедрение и модификацию;
4.2. время обработки входных данных при добавлении информации пользователем;
4.3. качество выполнения поисковых запросов, которое выражается в степени точности и полноты возвращаемой информации;
4.4. время выполнения запросов;
4.5. трудоемкость подготовки обучающих выборок документов;
4.6. объем необходимого ручного труда экспертов по настройке системы на конкретную область
знания.
Требование 4.2 должно проверяться путем опроса пользователей системы. По его результатам
средний балл по критерию скорости разбора данных должен быть не менее 4 из 5.
Система должна быть масштабируемой по следующим характеристикам:
4.7. количество новых функций;
4.8. объем обрабатываемых входных данных;
4.9. количество пользователей.
5. Сопровождаемость
Система должна:
5.1. обеспечивать возможность оперативного расширения и модификации используемых моделей данных;
5.2. обеспечивать возможность автоматизированного обновления данных для их поддержания
в актуальном состоянии;
5.3. иметь полную документацию;
5.4. быть оперативно диагностируемой на недостатки, случаи отказов и определение составных
частей для модернизации;
5.5. быть открытой для перманентной модификации за счет использования программного обеспечения с открытым исходным кодом;
5.6. быть устойчивой к непредвиденным эффектам модификации;
5.7. включать средства проверки модифицированного программного обеспечения;
158
5.8. включать веб-средства администрирования системы для поддержки мобильности рабочих
мест администраторов;
5.9. иметь модульную архитектуру, которая облегчает анализ и модификацию отдельных частей системы.
6. Мобильность
Система должна обладать следующими свойствами.
6.1. Возможность автоматизированного обучения и настройки на конкретное научное направление в рамках более широкой области научного знания.
Настоящее требование связано с возможной областью применения разрабатываемой системы, а именно, с анализом научной информации в рамках крупной организации или корпорации, например, Московского государственного университета имени М.В. Ломоносова1 .
Последнее обстоятельство указывает на необходимость анализа большого объема данных,
которые имеют отношение к различным научным направлениям.
6.2. Адаптируемость к переносу на различные платформы.
6.3. Возможность оперативного внедрения в научной организации.
6.4. Возможность оперативного ввода в систему данных, накопленных за всю историю функционирования организации.
Это требование должно проверяться путем опроса пользователей системы. По его результатам средний балл по критерию общей скорости добавления данных в систему должен
быть не менее 4 из 5.
Перечисленные требования определяют специфику разрабатываемого программного комплекса, главные особенности которого состоят в следующем.
• Система предназначена для обработки специальных классов документов (годовых научных отчетов сотрудников, BibTeX-файлов, списков публикаций и других). Отсюда, в
частности, следует, что о конкретной статье сотрудника может быть доступна только
ограниченная информация, например, название, авторы, место публикации и год публикации. В большинстве систем анализа научных материалов широко используются списки
библиографических ссылок между работами. В рамках рассматриваемой задачи такая
информация в общем случае недоступна.
1
В настоящей диссертации в качестве примера типовой крупной организации (учреждения) или корпоратив-
ного объединения, имеющих свою специфику и адекватно отображающих связанные с этим трудности реализации рассматриваемой системы, приводится МГУ имени М.В. Ломоносова.
159
• Необходимость использования интеллектуальных алгоритмов выделения, обработки и поиска данных. Она обусловлена требованием выполнения сложных аналитических запросов, которые адекватно описывают содержательную сторону документов, на неструктурированных данных с минимальными трудозатратами на подготовку обучающих выборок
и другие виды ручного труда экспертов.
160
Приложение Б. Описание сервиса
WikiCFP
WikiCFP1 – это семантический вики-сервис, который индексирует информацию о более чем 15
тысячах так называемых «Call for Papers» (CFP) – небольших текстовых документах, описывающих конференцию и условия подачи работ на нее. Пример окна документа на сайте приведен
на рис. Б.1. Сайт предназначен для ручного добавления документов «Call for Papers» и краткой
информации о конференциях. Недостатком сервиса является необходимость вручную добавлять информацию, что требует больших затрат временных ресурсов, так как для добавления
одной конференции необходимо заполнить порядка 18 полей. Другим недостатком является
отсутствие поиска по полям. Доступна только функция полнотекстового поиска. Еще одним
недостатком является отсутствие алгоритма автоматизированного заполнения полей информацией о конференции, выделяемой из поля «Call for Papers». В качестве достоинств сервиса
отметим наличие функции списка конференций, похожих на заданную, и распределение конференций по тематикам, которые задают пользователи с помощью меток. Следует отметить, что
метки конференций, как правило, содержат всего несколько ключевых слов общего характера и
не отражают специфики конференций и многообразия предлагаемых организаторами тематик.
Тематики конференций на сайте в основном в той или иной степени касаются информационных
технологий, но также включают и множество других областей знаний, например, химию, архитектуру, лингвистику, биологию, нанотехнологии, науки о человеке, экономику, математику
и философию.
1
http://wikicfp.com
161
Рис. Б.1. Окно анонса конференции в системе WikiCFP.
162
Приложение В. Выделение информации
из неструктурированных текстов
Задача выделения информации из неструктурированного текста (Information Extraction, IE) является важной на направлении обработки и анализа данных. Актуальность задачи обусловлена
быстро возрастающим объемом неструктурированной информации, например, в сети Интернет.
В общем случае выделение информации подразумевает заполнение некоторой структуры данных, или шаблона, информацией, содержащейся в текстовых данных на естественном языке,
или, другими словами, выявление экземпляров определенных классов объектов или событий
и связей между ними (см. работу Рассела и Норвига1 ). Экземпляр заполненной структуры
данных называется записью, а элементы структуры – полями. Поля могут заполняться как
произвольными значениями (например, цена продукта), так и значениями из заданного списка
(например, валюта цены продукта). Согласно упомянутому исследованию Рассела и Норвига, выделение информации находится «посередине» между поиском информации (information
retrieval), который заключается в подборе документов, отвечающих запросу пользователя, и
пониманием смысла текста, подразумевающим глубокий анализ текста с целью выявления его
семантики. Выделение информации может использоваться в широком классе информационных
систем, например, экспертных системах, поисковых системах и программных комплексах управления знаниями. Отметим, что заполнение форм на основе неструктурированной информации
(например, газет) долгое время выполнялось только вручную, что требовало больших затрат
человеческих ресурсов. Автоматизация этого процесса и есть одна из главных целей направления. Подробный анализ методов и средств выделения информации приведен в работе Cowie и
Wilks2 . Приведем несколько примеров конкретных задач выделения информации.
• Выделение библиографических данных.
Именно эта задача рассматривается в настоящем разделе.
• Выделение биомедицинской информации из научной литературы.
Например, могут выделяться данные о взаимодействии белков в целях построения сети
1
Russell, Stuart J. Artificial Intelligence: A Modern Approach / Stuart J Russell, Peter Norvig. — 2 edition. —
Pearson Education, 2003.
2
Cowie, Jim. Information Extraction / Jim Cowie, Yorick Wilks // A Handbook of Natural Language Processing:
Techniques and Applications for the Processing of Language as Text / Ed. by Robert Dale, Hermann Moisland, Harold
Somers. — New York, USA: Marcel Dekker, New York, 2000.
163
связей между белками, прогнозирования функции белка и разработки новых лекарственных средств. Примером такой системы может служить BioPPIExtractor1 .
• Выделение информации о товарах для дальнейшего поиска, например, Google Products2 .
• Поиск и выделение информации о вакансиях и резюме в целях автоматизированного подбора персонала и рабочих мест.
В качестве источников данных для выделения долгое время использовались подборки текстовых документов. В последнее время все большее внимание исследователей обращается к
задаче выделения информации из Всемирной паутины. Подробный обзор таких систем приведен в работе3 . HTML-страницы в Интернет обладают тем преимуществом перед
обычными текстами, что в них присутствуют элементы разметки, например, списки, заголовки
и таблицы. Другой особенностью веб-документов является тот факт, что информация в них
обычно генерируется автоматически из некоторых баз данных, что превращает процесс выделения информации из таких текстов в процесс «декодирования». Наконец, нельзя не отметить
огромное количество данных, содержащихся в Интернет и их неоднородность. Перечисленные
особенности обуславливают набор методов, обычно применяемых при выделении данных из
Всемирной паутины. Если в традиционных системах выделения информации из неструктурированных текстов обычно применяются методы обработки естественного языка, такие как
словари и грамматики, то в системах выделения информации из Интернет чаще используются
алгоритмы машинного обучения и выделения шаблонов, которые опираются на синтаксические
свойства и визуальную структуру веб-страниц.
Информация на веб-страницах в Интернет делится на два класса. Во-первых, это информация, которая генерируется автоматически из структурированных баз данных, а во-вторых –
информация, публикуемая вручную. Примером сайта из первой категории может служить
интернет-магазин Amazon, на котором представлена, в частности, информация о продаваемых
книгах, которая включает такие общие поля, как название, цена и рейтинг книги. В качестве
примера сайта из второго класса приведем домашние страницы исследователей, на которых они
выкладывают списки своих публикаций, составленные вручную. Это разделение веб-страниц
определяет соответствующее разделение среди систем выделения информации, а именно – существуют системы, направленные на извлечение данных из однотипных блоков страниц, сгенерированных из баз данных, и существуют системы, которые позволяют выделять информацию
из более разнородных источников, созданных вручную. В первый класс систем обычно входят
комплексы, которые требуют частичного обучения или не требуют обучения вовсе, а во второй
класс – системы, настраиваемые вручную или же с обучением. Системы первого класса обыч1
Yang, Zhihao. BioPPIExtractor: A protein-protein interaction extraction system for biomedical literature / Zhihao
Yang, Hongfei Lin, Baodong Wu // Expert Systems with Applications. — 2009. — Vol. 36, no. 2, Part 1. — Pp.
2228–2233.
2
http://www.google.com/products
3
A Survey of Web Information Extraction Systems / Chia-Hui Chang, Mohammed Kayed, Moheb Ramzy Girgis,
Khaled F Shaalan // IEEE Trans. on Knowl. and Data Eng. — 2006. — Vol. 18, no. 10. — Pp. 1411–1428.
164
но опираются на большое число характеристик текста, такие как количество символов, доля
прописных букв и другие, аналогичные им, а второго – на общий шаблон генерации страниц,
в частности, структурные элементы, такие как HTML-теги. Часть систем, в основном те, что
требуют обучения, могут быть применены к полуструктурированным документам в текстовом
формате, не содержащим HTML-тегов. Информация может быть представлена на языке HTML
или в виде свободного текста, и может быть полуструктурированной или неструктурированной.
Отдельные разработки ориентируются на полуструктурированную информацию, предоставляемую веб-сервисами, например, онлайн-энциклопедией Википедия1 .
Задача выделения информации (information extraction) отличается от задачи поиска информации (information retrieval). Поиск информации заключается в выборе релевантных документов из крупной коллекции. В рамках этой задачи документ представляет собой ни что иное, как
набор слов, значения и связи которых не рассматриваются. Поисковая система в общем случае не позволяет выполнять сложные аналитические запросы, требующие анализа содержания
документов. Направление извлечения данных, которое является менее разработанным, как раз
ставит задачу выделения структуры, то есть значения информации из неструктурированных
текстов.
Для выделения информации может использоваться обучение на подготовленной выборке
источников, и/или эвристические модели, которые могут быть основаны, например, на использовании заданных лексико-синтаксических шаблонов или же на онтологиях. Отметим, что направление извлечения информации с помощью онтологий выделилось из общей задачи выделения информации сравнительно недавно, но уже отмечено как перспективное направление
развития систем выделения информации2 . Использование онтологий является естественным
развитием направления. Выделение информации традиционно имеет целью найти сведения,
которые описывают некоторую область знаний, заданную структурой данных. Онтологии же
как раз и представляют собой формальную модель предметной области, выраженную, например, в виде графа понятий и связей, что обобщает иерархическую структуру данных, обычно
используемую для заполнения в задаче выделения информации.
Заметим, что если в первых системах выделения информации, например, JASPER3 , созданной для компании Reuters в 1986 году, использовались сложнейшие лексико-синтаксические
шаблоны, построенные вручную, то в последние годы все больше внимания уделяется выделению шаблонов полуавтоматически или автоматически путем анализа больших объемов текста.
Отдельно отметим направление выделения открытой информации (Open Information Extraction
Task, см. работу Banko4 ), которое не подразумевает наличия жесткой структуры данных, кото1
2
http://wikipedia.org
Wimalasuriya, Daya C. Ontology-based information extraction: An introduction and a survey of current approaches
/ Daya C Wimalasuriya, Dejing Dou // J. Inf. Sci. — 2010. — Vol. 36, no. 3. — Pp. 306–323.
3
P.M. Andersen P.J. Hayes, A K Heuttner L M Schmandt I B Nirenberg. Automatic Extraction / A K Heuttner
L M Schmandt I B Nirenberg P.M. Andersen P.J. Hayes // Proceedings of the Conference of the Association for
Artificial Intelligence. — Philadelphia: 1986. — Pp. 1089–1093.
4
Open information extraction from the web / Michele Banko, Michael J Cafarella, Stephen Soderland et al. //
Proceedings of the 20th international joint conference on Artifical intelligence. — San Francisco, CA, USA: Morgan
165
рую нужно заполнить. Система TextRunner, предлагаемая в упомянутой работе Banko, позволяет обрабатывать большие объемы текстов без предварительно размеченной обучающей выборки
и без ручного задания правил.
Системы выделения информации можно разделить на следующие четыре типа по степени участия эксперта в создании и адаптации системы.
• Настраиваемые вручную.
Пользователь задает на некотором языке правила выделения информации из конкретных
сайтов. Примерами таких систем являются TSIMMIS, Minerva, Web-OQL, W4F и XWRAP.
• С обучением.
Пользователь вручную размечает обучающую выборку документов, которая используется
для построения модуля выделения информации. В качестве примеров таких систем можно
привести SRV, RAPIER, WHISK, WIEN, STALKER, SoftMealy, NoDoSE и DEByE.
• С частичным обучением.
Пользователь не размечает всю обучающую выборку, а лишь предоставляет некоторую
дополнительную информацию, например, выбирает шаблон из вариантов, представленных системой, и отмечает данные, которые нужно выделить. Примерами систем из этого
класса являются IEPAD, OLERA и Thresher.
• Без обучения.
Система автоматически размечает обучающую выборку и создает модуль выделения
информации полностью без участия пользователя. Примерами таких систем являются
TextRunner, RoadRunner, EXALG, DeLa и DEPTA. Отдельно следует отметить систему
RoadRunner, которая основана на сравнении двух страниц с целью выделения шаблона
кодирования данных. Для уменьшения вычислительной сложности RoadRunner использует регулярные выражения без объединений (union-free regular expressions) [2]. Еще одним
примером является система Kylin, в которой обучающая выборка дополняется автоматически с помощью поиска в Интернет.
В качестве структуры данных в системах выделения информации обычно выступает древовидная модель, в которой листья отвечают базовым типам, а внутренние вершины – совокупностям полей. Примерами таких систем служат NoDoSE, DEByE и Stalker.
Во многих системах выделение информации включает в себя следующие этапы:
• поиск информации;
• выделение терминов;
• выделение именных групп, например, имен людей, организаций, географических мест;
• выделение слов и словосочетаний, которые обозначают один и тот же объект (coreference
resolution);
Kaufmann Publishers Inc., 2007. — Pp. 2670– 2676.
166
• нормализация терминов, которая позволяет связать их с формализованным описанием
предметной области;
• выделение семантических отношений между терминами;
• поиск дублирующих записей;
• нормализация записей, то есть приведение их к стандартному виду.
Показатели эффективности алгоритмов выделения информации делятся на два класса, а именно – показатели корректности, например, точность (корректность выделенной информации),
полнота (количество выделенной информации по отношению к объему всей доступной информации) и мера избыточности, а также оценки вычислительных ресурсов, таких как время и
память.
Большинство методов, разработанных в рамках направления обработки естественного языка
(Natural Language Processing, NLP), были применены к задаче выделения информации. Самые
успешные результаты были показаны системами на основе конечных автоматов, использующими шаблоны, которые либо задаются вручную экспертами в компьютерной лингвистике, либо
выделяются автоматически из обучающей выборки. Для адаптации такой системы к другой
предметной области необходимо либо с помощью экспертов создать новые шаблоны, либо подготовить обучающую выборку документов, релевантных этой области. Главными достоинствами
таких систем является относительная простота архитектуры, которая позволяет быстро тестировать шаблоны на основе обратной связи от подсистемы оценки эффективности. В некоторых
системах используются классификаторы.
В упомянутой выше работе Cowie и Wilks перечисляются модули, из которых состоит
типовая система выделения информации.
• Модуль разбиения текста на сегменты.
Этот модуль преобразует входные тексты различных форматов в стандартный вид. Кроме
этого в модуле происходит выделение специальных частей текстов, например, заголовков,
дат и таблиц для отдельной обработки.
• Модуль предварительной обработки, который преобразует сегмент в последовательность
предложений, состоящих из последовательностей лексем.
• Модуль фильтрации, который отбрасывает нерелевантные предложения.
Основная цель модуля – уменьшить нагрузку на остальные части системы, сократив количество предложений для обработки. В работе модуля обычно используются словарь или
набор шаблонов, а также статистические методы.
• Модуль предварительного разбора, который получает на вход последовательность лексем
и выделяет локальные связи между ними.
В этом модуле определяются и классифицируются именные группы, например, названия компаний, имена людей, географические названия, а также даты, числа и другие
167
объекты, которые имеют относительно стандартный вид. В работе модуля используются средства, которые позволяют осуществлять сравнительно быструю обработку больших
объемов данных, например, информация о прописных и строчных буквах, специальные
словари и контекстно-независимые шаблоны.
• Модуль разбора, который получает на вход набор лексем и выводит фрагменты дерева
синтаксического разбора, например, словосочетания с существительным (noun phrases) и
придаточные предложения.
Отметим, что во многих системах на этом этапе вместо синтаксического разбора к последовательностям лексем применяется подход на основе конечно-автоматных шаблонов,
получаемых из коллекции текстов. В этом случае данный модуль обычно обозначают как
«модуль семантического разбора».
• Модуль соединения фрагментов, который собирает из частей дерево синтаксического разбора всего предложения.
В работе модуля обычно используются эвристики для определения связей между фрагментами, полученными на предыдущем этапе. Отметим, что модули вплоть до данного
обычно являются независимыми от области знания.
• Семантический интерпретатор, который выделяет семантические структуры из фрагментов дерева синтаксического разбора.
На этом этапе осуществляется отображение синтаксических структур в семантические,
которые соответствуют полям исходной структуры данных.
• Модуль разрешения неоднозначностей, который ставит в соответствие каждой лексеме
единственный смысл.
Отметим, что этот модуль может применяться и на более ранних стадиях обработки лексем.
• Модуль выявления кореферентных выражений, которые описывают один и тот же объект
или понятие.
Этот модуль позволяет соединить различные семантические структуры, относящиеся к
одному и тому же объекту, понятию или событию.
• Модуль генерации шаблонов, который заполняет поля данных выделенными семантическими структурами в требуемом формате.
В качестве примера конкретной системы выделения информации можно привести комплекс,
описанный в статье1 , в которой авторы сравнивают три стратегии выделения шаблонов «компания приобрела компанию» и «сотрудник покинул компанию». В частности, в ней иллюстрируется гипотеза, что для достижения высокой точности выделения информации необходим синтаксический и семантический разбор предложений, то есть применение таких модулей, как
1
A Comparative Study of Information Extraction Strategies / Ronen Feldman, Yonatan Aumann, Michal
Finkelstein-Landau et al. // Computational Linguistics and Intelligent Text Processing / Ed. by Alexander Gelbukh.
— Springer Berlin / Heidelberg, 2002. — Vol. 2276 of Lecture Notes in Computer Science. — Pp. 21–34.
168
выделение частей речи, именных групп, групп существительных и глаголов, а также семантических шаблонов.
169
Приложение Г. Использование онтологий
для выделения информации
Краткая схема многих OBIE-алгоритмов имеет следующий вид. На первом шаге выделяются
термины (именные группы), которые на втором шаге соотносятся с понятиями онтологии. Для
извлечения терминов применяются лингвистические методы выделения токенов, частей речи
и других характеристик, а затем – алгоритмы распознавания именных групп (named entity
recognition) с использованием справочников, грамматик, основанных на правилах, или методов
машинного обучения.
В статье1 перечисляются следующие характеристики систем выделения информации, основанных на использовании онтологий. Авторами упомянутой работы предлагается именно эти, перечисленные далее характеристики считать определяющими для данного
класса систем.
• Исходными для системы данными являются неструктурированные или полуструктурированные тексты на естественном языке.
• Конечной целью работы системы является выделение из текстов данных определенных
типов.
• В процессе извлечения информации используется онтология.
Эта характеристика означает, что OBIE-система может применять готовую терминологическую часть онтологии для поиска экземпляров, или строить онтологию заново, выделяя
не только экземпляры, но и сами понятия и отношения. Отметим, что большинство существующих и прошедших апробацию подходов ориентируются именно на заполнение
онтологии. Это означает, что множество понятий и отношений задано заранее, а задача
состоит в извлечении экземпляров этих понятий и отношений между ними.
• Результаты работы системы представляются в виде онтологии.
Отметим, что выделяться может различная информация, в частности, понятия, отношения и экземпляры.
Перечисленные особенности характерны и для системы, рассматриваемой в настоящей диссертации. Задачи загрузки данных и построения модели области знания обладают именно этими
1
Wimalasuriya, Daya C. Ontology-based information extraction: An introduction and a survey of current approaches
/ Daya C Wimalasuriya, Dejing Dou // J. Inf. Sci. — 2010. — Vol. 36, no. 3. — Pp. 306–323.
170
характеристиками.
Информационные системы, основанные на выделении информации с помощью онтологий, в
общем случае имеют архитектуру, представленную на рис. Г.1.
Рис. Г.1. Общая архитектура информационной системы, основанной на выделении информации с
помощью онтологий.
Документ, поступающий в систему, сначала попадает в модуль первоначальной обработки, в
котором он конвертируется в формат, предназначенный для дальнейшей обработки. Например,
на этом этапе из HTML-документа могут вырезаться теги. В следующем модуле с помощью онтологии из документа извлекается необходимая информация. Во многих системах на этом этапе
также применяется семантический словарь, например, WordNet1 , который содержит группировку слов английского языка в классы синонимов и семантические связи между этими классами,
в частности, иерархические. Онтология, используемая в OBIE-системе, может генерироваться
автоматически, полуавтоматически или вручную с помощью редактора онтологий, например,
Protégé2 . Отметим, что OBIE-система часто является важной частью информационной системы, ориентированной на выполнение пользовательских запросов. В этом случае онтология,
построенная и заполненная в процессе работы OBIE-системы, становится частью базы знаний,
1
Miller, G A. WordNet - A lexical database for the English language. — http://wordnet.princeton.edu, last accessed
on March 8th, 2006. — 2006.
2
Musen, M. The Protégé Ontology Editor and Knowledge Acquisition System. — http://protege.stanford.edu. —
2007.
171
с помощью которой система отвечает на запросы пользователя. При этом на этапе выполнения
запроса, или на более раннем, может осуществляться логический вывод новых утверждений на
основе имеющихся.
Во многих системах, основанных на онтологиях, используются следующие методы извлечения информации.
• Языковые правила, сформулированные с помощью регулярных выражений.
Языковые правила могут как создаваться экспертом, так и быть сгенерированы автоматически на основе анализа текстов. Наборы регулярных выражений обычно реализуются с помощью конечных преобразователей, состоящих из последовательностей конечных автоматов. Кроме регулярных выражений, используются такие методы обработки
естественного языка, как распознавание частей речи и выделение из предложений выражений с существительными (noun phrases). В статье1 предлагается подход, который
объединяет языковые правила, записанные в виде регулярных выражений, и элементы
онтологий, такие как понятия и отношения, в так называемые «извлекающие онтологии»
(extraction ontologies). В публикации2 эта идея получила свое развитие. Отметим, что в
некоторых системах правила создаются вручную, однако это требует трудоемкой работы
экспертов в предметной области. Существуют подходы, например, за авторством VargasVera3 и Soderland4 , которые позволяют извлекать правила автоматически на основе обучающей выборки текстов. Статья Soderland интересна тем, что в ней для автоматического
построения правил используется алгоритм индуктивного обучения5 , который выделяет
минимальные обобщения, покрывающие все положительные примеры экземпляров и значений свойств, которые задаются вручную в обучающей выборке. Другой подход к автоматическому построению правил представлен в публикации6 и заключается в выделении
максимальной общей подпоследовательности из последовательностей лексем, задающих
экземпляры понятий.
• Справочники (gazetteers).
Этот подход также использует конечные автоматы, однако в отличие от предыдущего, он
1
Embley, D W. Toward semantic understanding: an approach based on information extraction ontologies / D W
Embley // Proceedings of the 15th Australasian Database Conference. — Vol. 27 of CRPIT. — Dunedin, New Zealand:
Australian Computer Society, Inc., 2004. — Pp. 3–12.
2
Yildiz, Burcu. ontoX - A Method for Ontology-Driven Information Extraction / Burcu Yildiz, Silvia Miksch //
Main. — 2007. — Pp. 660 – 673.
3
Knowledge extraction by using an ontology-based annotation tool / Maria Vargas-Vera, Enrico Motta, John
Domingue et al. // Knowledge Creation Diffusion Utilization. — 2001. — Pp. 5–12.
4
CRYSTAL: Inducing a Conceptual Dictionary / Stephen Soderland, David Fisher, Jonathan Aseltine, Wendy
Lehnert // Arxiv preprint cmplg9505020. — 1995. — P. 6.
5
Mitchell, Tom M. Generalization as search / Tom M Mitchell // Artificial Intelligence. — 1982. — Vol. 18, no. 2.
— Pp. 203–226.
6
Romano, Roni. Automatic Discovery of Regular Expression Patterns Representing Negated Findings in Medical
Narrative Reports / Roni Romano, Lior Rokach, Oded Maimon // Next Generation Information Technologies and
Systems. — Springer, 2006. — Pp. 300–311.
172
ориентирован на распознавание конкретных слов и словосочетаний, а не шаблонов. Список слов содержится в специальных справочниках, например, справочниках географических названий, списках имен людей, компаний и других объектов. Информация из таких
справочников используется для распознавания именных групп (named entity recognition)
в случае, когда тип именной группы невозможно выделить из контекста. Часто в OBIEсистемах используются справочники, содержащие все экземпляры каких-либо понятий,
например, стран мира, ведущих компаний и других объектов. Отметим, что для корректного использования справочников информация в них должна быть получена из надежных
источников без применения сложных алгоритмов ее поиска и обработки.
• Методы классификации.
Основные алгоритмы классификации включают метод опорных векторов, модели максимальной энтропии, деревья решений, скрытые марковские модели, условные случайные
поля и перцептронные модели. Обзор основных алгоритмов классификации приведен в
статье1 . Входными данными для этих методов служат характеристики, которые включают информацию о частях речи, словах, начинающихся с заглавных букв и другие свойства
слов. Целью применения алгоритмов является извлечение из предложений таких компонентов онтологии, как экземпляров понятий и значений свойств. Во многих системах
алгоритмы классификации применяются в совокупности независимых компонент – бинарных классификаторов. Примерами решений бинарных классификаторов могут быть
такие свойства, как является ли лексема началом понятия, является ли лексема концом
понятия, содержит ли предложение определенное отношение и другие характеристики.
• Построение частичных деревьев синтаксического разбора предложений с семантической
аннотацией.
Этот метод относится к «поверхностной» обработке естественного языка, в отличие от
глубокого анализа, используемого в системах, направленных на понимание смысла текста.
Несмотря на этот факт, данный подход подразумевает более сложный анализ содержания
текста, чем, например, метод языковых правил. Примерами систем, которые используют
построение частичных деревьев разбора предложений, могут служить2 , Vulcain3 и TextTo-Onto4 .
• Анализ HTML/XML-тегов.
Например, из информации, содержащейся в теге <table> HTML-документа, можно выде1
Moens, M.F. Information extraction: algorithms and prospects in a retrieval context / M.F. Moens //
Computational Linguistics. — 2008. — Vol. 34, no. 2. — Pp. 315–317.
2
Maedche, A. Bootstrapping an ontology-based information extraction system / A. Maedche, G. Neumann, S. Staab
// Studies In Fuzziness And Soft Computing. — 2003. — Vol. 111. — Pp. 345–362.
3
Todirascu, Amalia. Vulcain - An Ontology-Based Information Extraction System / Amalia Todirascu, Laurent
Romary, Dalila Bekhouche // Proceedings of the 6th International Conference on Applications of Natural Language
to Information Systems-Revised Papers. — NLDB ’02. — London, UK, UK: Springer-Verlag, 2002. — Pp. 64–75.
4
Maedche, A. The text-to-onto ontology learning environment / A Maedche, S Staab // Software Demonstration
at ICCS. — Springer, 2000. — Pp. 14–18.
173
лить названия полей таблиц. Эти названия часто означают типы объектов и атрибутов,
значения которых содержатся в таблице. Примером системы, реализующей этот подход,
является SOBA1 , которая извлекает информацию о футбольных матчах из HTML-таблиц.
• Поиск в Интернет.
Этот подход является относительно новым в направлении выделения информации. Основная идея подхода состоит в использовании Всемирной паутины как огромного хранилища данных. Для доступа к информации обычно применяются поисковые системы.
В программных комплексах PANKOW2 и C-PANKOW
3
Интернет используется в каче-
стве источника данных для построения семантической аннотации документов. В системе
OntoSyphon4 в Интернет выполняется поиск различных сведений о понятиях онтологии.
Необходимо отметить, что многие системы используют комбинации перечисленных методов,
например, алгоритмы классификации и поиск в Интернет.
По способу получения онтологии OBIE-системы делятся на следующие классы.
• Используется уже существующая онтология.
• Онтология создается вручную.
Этот и предыдущий способ используются в большинстве систем.
• Онтология создается автоматически или полуавтоматически в процессе выделения информации.
Этот вариант в литературе именуется примером «открытого извлечения информации»
(open information extraction)5 . Онтология может создаваться «с нуля» или же расширять
некоторую базовую онтологию. Отметим, что существуют системы, например, Text-ToOnto, которые направлены именно на построение терминологической части онтологии, а
не на заполнение ее экземплярами. Следует также упомянуть системы, которые в процессе заполнения онтологии экземплярами могут расширять ее терминологическую часть,
например,работа Dung6 .
1
Ontology-based information extraction with SOBA / P. Buitelaar, P. Cimiano, S. Racioppa, M. Siegel //
Proceedings of the International Conference on Language Resources and Evaluation. — Citeseer, 2006. — Pp.
2321–2324.
2
Cimiano, Philipp. Towards the self-annotating web / Philipp Cimiano, Siegfried Handschuh, Steffen Staab //
Proceedings of the 13th conference on World Wide Web WWW 04. — 2004. — Vol. 462-471. — P. 462.
3
Cimiano, Philipp. Gimme’the context: context-driven automatic semantic annotation with C- PANKOW / Philipp
Cimiano, G Ladwig, Steffen Staab // Assessment. — 2005. — Pp. 332–341.
4
Mcdowell, Luke K. Ontology-Driven Information Extraction with OntoSyphon / Luke K Mcdowell, Michael
Cafarella // Science. — 2006. — Vol. 4273. — Pp. 428–444.
5
Open information extraction from the web / Michele Banko, Michael J Cafarella, Stephen Soderland et al. //
Proceedings of the 20th international joint conference on Artifical intelligence. — San Francisco, CA, USA: Morgan
Kaufmann Publishers Inc., 2007. — Pp. 2670– 2676.
6
Dung, Tran Quoc. Ontology-Based Information Extraction and Information Retrieval in Health Care Domain /
Tran Quoc Dung, Wataru Kameyama // International Journal of Geographical Information Science. — 2007. — Vol.
3, no. 3. — Pp. 323–333.
174
В общем случае онтология состоит из понятий, отношений, экземпляров, значений отношений и ограничений. Большинство систем, направленных на построение онтологии «с нуля»,
позволяют выделять информацию, связанную только с классами объектов. В качестве такой информации могут рассматриваться названия понятий, иерархические отношения между ними и,
реже, другие связи между понятиями (например, в Text-To-Onto). Следует отметить, что существуют системы, которые позволяют извлекать отношения, экземпляры и значения отношений,
например, Kylin1 . Многие системы, ориентированные на заполнение онтологии экземплярами,
позволяют находить лишь имена экземпляров (PANKOW, OntoSyphon). Некоторые системы
умеют распознавать еще и значения свойств экземпляров (SOBA, система, предлагаемая в работе Saggion2 ).
Заметим, что во многих случаях поиск экземпляров для всех понятий и отношений онтологии является слишком ресурсоемким. Тогда применяется следующий алгоритм. Из множества
всех классов и отношений онтологии выделяется целевое подмножество, для элементов которого затем выполняется поиск экземпляров. Одним из подходов к формированию этого подмножества является метод, использующий структурированные шаблоны. Например, в системе
iDocument3 такие шаблоны задаются на языке SPARQL4 . Отметим, что идея этого подхода
близка к классической задаче извлечения информации, в рамках которой структура данных,
которую необходимо заполнить, задается набором полей.
Многие OBIE-системы позволяют обрабатывать любые типы документов на естественном
языке, однако требуют, чтобы они относились к заданной предметной области (работы Maedche,
Embley, Saggion). Некоторые системы используют другие источники. Например, SOBA скачивает и обрабатывает веб-страницы, используя информацию из HTML-тегов. Система Kylin предназначена для выделения информации из Википедии, а именно – из так называемых сниппетов,
содержащих структурированные данные.
Перечислим основные типы инструментов, используемых в OBIE-системах.
• Средства «поверхностной» обработки текстов на естественном языке, в частности, выделения частей речи, разбиения предложений и поиска по регулярным выражениям.
Такие инструменты используются во многих системах. В подходе, основанном на языковых правилах, алгоритмы поверхностной обработки представляют собой главные средства обработки информации, а в подходе с использованием классификаторов они позволяют выделять характеристики, которые служат входными данными для алгоритмов
1
Wu, F. Information extraction from Wikipedia: Moving down the long tail / F Wu, R Hoffmann, D S Weld //
Learning. — 2008. — Vol. 10. — Pp. 731–739.
2
Ontology-based Information Extraction for Business Intelligence / Horacio Saggion, Adam Funk, Diana Maynard,
Kalina Bontcheva // Intelligence. — 2007. — Vol. 4825. — Pp. 843–856.
3
iDocument: Using Ontologies for Extracting and Annotating Information from Unstructured Text / Benjamin
Adrian, Jorn Hees, Ludger Van Elst, Andreas Dengel // KI 2009 Advances in Artificial Intelligence / Ed. by Barbel
Mertsching, Marcus Hund, Zaheer Aziz. — Vol. 5803 of Lecture Notes in Computer Science. — Springer-Verlag,
Heidelberg, 2009. — Pp. 249–256.
4
Prud’hommeaux, E. SPARQL Query Language for RDF. — 2008. http://www.w3.org/TR/ rdf-sparql-query/.
175
классификации. Часто используются такие системы, как GATE1 , sProUT2 , SMES (работы Maedche), а также инструменты, разработанные в Stanford NLP Group и организации
Center for Intelligent Information Retrieval (CIIR) в Массачусетском технологическом институте. Широко используемой платформой для реализации алгоритмов обработки естественного языка является система GATE. В частности, OBIE-система KIM3 и система,
предлагаемая в упомянутой работе Saggion реализованы на основе данной платформы.
• Семантические словари.
Такие словари содержат значения слов естественного языка и их семантические связи.
Широко известным примером семантического словаря является WordNet, содержащий
разбиение слов английского языка на группы синонимов и отношения гипонимии и гиперонимии между этими группами.
• Инструменты для ручного редактирования онтологий.
Такие средства используются как для создания онтологии «с нуля», так и для редактирования онтологии, построенной автоматически. Самыми распространенными системами
для редактирования онтологий являются Protégé и OntoEdit4 . Отметим, что некоторые
системы, ориентированные на комплексный подход к работе с онтологиями, например,
GATE, содержат собственные редакторы онтологий.
• Инструменты для ручного аннотирования текстов с помощью понятий и отношений онтологии.
Такие средства используются в двух задачах. Во-первых, аннотированные вручную тексты служат «золотым стандартом» для оценки работы OBIE-систем. Во-вторых, средства
ручного аннотирования позволяют редактировать аннотации, выделенные автоматически.
Примерами инструментов аннотирования служат OCAT, входящий в состав GATE, а также система аннотирования, используемая в iDocument.
Важной задачей в области построения OBIE-систем является создание стандартных коллекций текстов, служащих для оценки работы алгоритмов и систем. В области выделения информации такие коллекции были созданы в процессе работы Message Understanding Conferences
(MUC) и их последователей Automatic Content Extraction Program (ACE). Специалисты отмечают, что создание стандартных коллекций текстов послужило важным фактором бурного
развития методов выделения информации. Подобные коллекции необходимо построить и для
OBIE-систем. В настоящее время исследователи чаще всего создают собственные коллекции
для оценки разработанных ими систем. Это затрудняет сравнительный анализ различных ин1
Cunningham, H. GATE, a General Architecture for Text Engineering / H Cunningham // Computers and the
Humanities. — 2002. — Vol. 36, no. 2. — Pp. 223–254.
2
SProUT - Shallow Processing with Typed Feature Structures and Unification / M. Becker, W. Drozdzynski, H.
Krieger et al. // Proceedings of the International Conference on NLP (ICON 2002). — 2002.
3
KIM – Semantic Annotation Platform / Borislav Popov, Atanas Kiryakov, Angel Kirilov et al. // The SemanticWeb
- ISWC 2003. — Springer Berlin / Heidelberg, 2003. — Vol. 2870 of Lecture Notes in Computer Science. — Pp. 834–849.
4
D. Fensel. OntoEdit. — 2002. www.ontoknowledge.org/about.shtml.
176
струментов и замедляет развитие научного направления. Отметим, что и для OBIE-систем
существуют примеры стандартных коллекций, например, собрание OntoNews 1 , которое состоит из 292 новостных статей из трех новостных агентств, аннотированных с использованием
понятий онтологии PROTON2 .
Далее представлены основные направления дальнейших исследований в области выделения информации с использованием онтологий.
• Повышение эффективности процесса выделения информации.
Основными целями являются повышение точности и полноты извлечения данных. Это
направление относится не только к онтологиям, но и к области выделения информации в
целом. Несмотря на этот факт, существуют задачи, характерные именно для извлечения
информации с помощью онтологий. Одной из них является согласование сущностей, то
есть определение, описывают ли два экземпляра онтологии один и тот же объект реального мира. Примером может служить задача разделения различных людей с одинаковыми
именами.
• Интеграция OBIE-систем с Семантической паутиной.
Как было отмечено ранее, OBIE-системы позволяют генерировать метаданные, которые
могут быть использованы в семантических сервисах. При этом необходимо разработать
архитектурные решения и стандарты, регулирующие подобные взаимодействия. В частности, остается открытым вопрос, нужно ли разрабатывать OBIE-системы в виде генераторов контента конкретных веб-сайтов, или же в виде отдельных сервисов, предоставляющих информацию, которая относится к заданной области знания и может быть использована на многих сайтах.
• Улучшение алгоритмов создания и расширения онтологий.
В исследованиях все большее внимание уделяется системам, которые позволяют создавать
и улучшать используемую онтологию в процессе выделения данных. Еще одним направлением исследований является использование нескольких различных онтологий для выделения информации. Следует отметить, что большинство существующих систем опирается на
одну онтологию. При этом не используется важное преимущество семантических технологий, которое заключается в относительной легкости интеграции данных из различных
онтологий.
1
Maynard, D. Metrics for evaluation of ontology-based information extraction / D. Maynard, W. Peters, Y. Li //
WWW 2006 Workshop on Evaluation of Ontologies for the Web (EON). — Edinburgh, Scotland: Citeseer, 2006.
2
http://proton.semanticweb.org
177
Приложение Д. Описание языка SPARQL
Для эффективного доступа к информации, которая хранится в онтологиях, необходимо использовать соответствующие языки запросов. Стандартизированные и широко распространенные
языки для описания онтологий, например, языки семейства OWL, основаны на модели данных
RDF (Resource Description Framework). Существует несколько языков запросов к данным в модели RDF, например, RDQL, nRQL, OWL-QL, SPARQL. Следует отметить, что все они, кроме
языка SPARQL, не стандартизированы консорциумом W3C и относительно жестко привязаны к
конкретным системам. Язык RDQL, например, используется в системе Jena2, nRQL – в RACER,
OWL-QL – в одноименной системе. Вместе с тем, язык SPARQL получил статус рекомендации
W3C 15 января 2008 года. Для этого языка существует большое количество реализаций и приложений. Все это свидетельствует о высоком уровне развития, зрелости и хорошем потенциале
языка SPARQL. С тем, чтобы лучше понять его роль в предлагаемой в настоящей диссертации
системе, далее представлено краткое описание этого языка.
Язык SPARQL представляет собой эффективный язык запросов к RDF-графам. Он позволяет делать запросы и получать результаты, например, по протоколу HTTP или SOAP. Запрос на
языке SPARQL графически можно представить в виде ориентированного графа с помеченными
ребрами. Некоторые вершины и ребра помечены идентификаторами ресурсов, а некоторые –
переменными. Результатом выполнения запроса являются ресурсы (классы, экземпляры и отношения), содержащиеся в онтологии. Эти ресурсы выбираются таким образом, что в онтологии
существует подграф, изоморфный графу запроса, в котором переменные заменены на идентификаторы этих ресурсов. Практически результаты SPARQL-запроса напоминают результаты
SQL-запроса. Они также являются таблицами, в которых столбцы соответствуют переменным
запроса, а строки – результатам. Результатом называется совокупность ресурсов, соответствующих заданным переменным. В качестве примера рассмотрим RDF-утверждение, которое имеет
вид следующей тройки:
<http://example.org/book/book1>
<http://purl.org/dc/elements/1.1/title>
‘‘SPARQL Tutorial’’
Рассмотрим запрос следующего вида:
SELECT ?title
WHERE
178
{
<http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> ?title .
}
В запросе определена переменная ?title и шаблон утверждения. Если предположить, что в
онтологии больше нет утверждений, то результатом выполнения этого запроса будет следующая
таблица:
title
‘‘SPARQL Tutorial’’
Синтаксис SPARQL похож на синтаксис языка SQL. Более того, синтаксис запроса напоминает
интуитивно понятную нотацию N3 (Turtle), в которой вместо некоторых идентификаторов ресурсов записаны символы переменных. Эти факты облегчают обучение языку SPARQL. Кроме
шаблонов утверждений, SPARQL-запрос может содержать конъюнкции, дизъюнкции и опциональные шаблоны. С помощью языка SPARQL можно создавать «универсальные» запросы.
Например, следующий запрос возвращает в качестве результата список всех людей и их электронных адресов из коллекции данных:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name ?email
WHERE {
?person a foaf:Person.
?person foaf:name ?name.
?person foaf:mbox ?email.
}
Для того, чтобы результатом выполнения запроса действительно стал полный список жителей
планеты, имеющих электронные адреса, необходимо, чтобы информация о них содержалась в
виде RDF-троек в терминах онтологии FOAF (Friend of a Friend). Тогда с помощью SPARQLпротокола станет возможным выполнить такой запрос к распределенным RDF-хранилищам.
Отметим, что именно использование уникальных идентификаторов ресурсов, что является особенностью языка RDF, позволяет унифицировать имена понятий и свойств, в то время как,
например, в реляционных базах данных значение электронного адреса может храниться и под
именем “email”, и под именем “e-mail”, что делает невозможным выполнение подобных универсальных запросов без создания средств трансляции, которые учитывают специфику различных
хранилищ. С помощью языка SPARQL можно выполнять запросы не только к данным в формате RDF, однако для этого необходимо создание специальных сервисов, называемых точками
доступа SPARQL (SPARQL endpoints), которые выполняют конвертацию данных в RDF.
179
Приложение Е. Описание используемых
алгоритмов
Алгоритм TF-IDF
Алгоритм TF-IDF может применяться для отображения множества документов 𝐷 в векторное
пространство. Каждому документу 𝑑 из множества документов 𝐷 сопоставляется набор координат следующим образом: для каждого слова 𝑤, которое входит в документ 𝑑, вычисляется вес
этого слова в документе 𝑊 по следующей формуле (𝑛𝑤 - число вхождений слова 𝑤 в документ
𝑑):
𝑊 (𝑤, 𝑑, 𝐷) =
|𝐷|
𝑛𝑤
×
.
|𝑑| |{𝑑1 ∈ 𝐷 : 𝑤 ∈ 𝑑1 }|
Алгоритм LSI
Входным параметром для алгоритма LSI является матрица 𝑋 размера 𝑝 × 𝑞, где 𝑝 – количество
различных слов во всех документах обучающей выборки 𝐷, а 𝑞 – количество документов. Таким образом, строки этой матрицы соответствуют словам, а столбцы – документам. Каждый
элемент 𝑎𝑖𝑗 этой матрицы есть некоторое число, которое характеризует вес слова с номером 𝑖
в документе с номером 𝑗. Конкретная формула для веса слова в документе определяется модификацией алгоритма. В настоящей диссертации используются три модификации алгоритма
LSI:
• LSI с булевой матрицей, элемент 𝑎𝑖𝑗 которой равен единице, если слово с номером 𝑖 встречается в документе с номером 𝑗, иначе он равен нулю;
• LSI с матрицей частот, элемент 𝑎𝑖𝑗 которой равен количеству вхождений слова 𝑖 в документ
𝑗;
• LSI с матрицей из TF-IDF, элемент 𝑎𝑖𝑗 которой равен TF-IDF слова 𝑖 для документа 𝑗.
Далее вычисляется сингулярное разложение матрицы 𝑋: 𝑋 = 𝑈 Σ𝑉 𝑇 , где 𝑈, 𝑉 – ортогональные матрицы: 𝑈 размера 𝑝 × 𝑟, 𝑉 размера 𝑞 × 𝑟, где 𝑟 – ранг матрицы 𝑋, а Σ – диагональная
матрица размера 𝑟 × 𝑟. После этого в качестве координат образа документа 𝑑𝑗 используются
первые n элементов столбца 𝑗 в матрице 𝑉 𝑇 .
180
Для вычисления координат абстрактного документа, не вошедшего в обучающую выборку,
используется следующий способ.
• Документу сопоставляется столбец 𝑑 длины 𝑝, который характеризует вес каждого слова
обучающей выборки в документе (аналогично столбцам исходной матрицы 𝑋).
• Вычисляются новые координаты документа по следующей формуле:
𝑑ˆ = 𝑑𝑇 𝑈𝑛 Σ−1
𝑛 ,
где 𝑈𝑛 – матрица размера 𝑝 × 𝑛 из первых 𝑛 столбцов матрицы 𝑈 , а Σ𝑛 – матрица размера
𝑛 × 𝑛 из первых 𝑛 столбцов и 𝑛 строк матрицы Σ. Полученная таким образом строка
координат 𝑑ˆ длины 𝑛 и объявляется координатами документа в построенном пространстве.
Алгоритм «К ближайших соседей»
Алгоритм «К ближайших соседей» применяется для классификации точек векторного пространства. Он состоит в следующем.
• Фиксируется точка 𝑋 из тестовой выборки. Вычисляются расстояния от нее до всех точек
обучающей выборки.
• Из обучающей выборки выбираются К точек с наименьшим расстоянием до точки 𝑋 –
К «соседей».
• Точка 𝑋 попадает в тот кластер, из которого у нее оказалось больше всего соседей. При
равенстве количества соседей для нескольких кластеров точка 𝑋 попадает в любой из них
(выбранный случайным образом).
Алгоритм оценки качества кластеризации
В настоящем разделе представлено описание классического алгоритма, который используется
для оценки качества кластеризации точек.
Пусть {𝑥𝑖 , 𝑖 = 1 . . . 𝑚} – имеющиеся точки, 𝑑 – функция расстояния между точками, 𝑅 =
{𝑅1 , . . . , 𝑅𝑘 } – кластеры. Центр тяжести 𝑥ˆ всех точек определяется по формуле:
𝑚
1 ∑︁
𝑥ˆ =
𝑥𝑖 .
𝑚 𝑖=1
Для определения общего квадратичного разброса совокупности объектов используется следующая формула:
𝑆𝑆𝑇 =
𝑚
∑︁
𝑑2 (𝑥𝑖 , 𝑥ˆ).
𝑖=1
181
Далее, центр тяжести класса 𝑅𝑙 определяется по формуле:
|𝑅𝑙 |
1 ∑︁ 𝑠
𝑥𝑙 .
𝑥ˆ𝑙 =
|𝑅𝑙 | 𝑠=1
Внутриклассовый разброс характеризуется показателем:
𝑆𝑆𝑄(𝑅) =
𝑘 ∑︁
∑︁
𝑑2 (𝑥𝑖 , 𝑥ˆ𝑙 ).
𝑙=1 𝑅𝑙
Итоговый оценочный параметр – доля остаточной дисперсии – определяется как
𝑄(𝑅) =
𝑆𝑆𝑄(𝑅)
.
𝑆𝑆𝑇
Величина 𝑄(𝑅) характеризует относительный разброс точек внутри кластеров. Чем меньше
величина 𝑄(𝑅), тем выше считается качество кластеризации.
182
Приложение Ж. Политика
информационной безопасности в системе
ИСТИНА
В настоящем Приложении представлено краткое описание политики информационной безопасности, которая разработана для будущего применения в системе ИСТИНА.
Группы пользователей
Все пользователи системы должны быть разделены на следующие группы:
• незарегистрированные пользователи;
• зарегистрированные неподтвержденные пользователи;
• зарегистрированные условно подтвержденные пользователи (те, кто указали электронный
адрес *.msu.ru);
• зарегистрированные подтвержденные пользователи;
• модераторы;
• администраторы.
Модераторы
Модераторы являются доверенными пользователями. Цель модераторов состоит в контроле
качества информации, поступающей в систему. Функционирование системы в штатном режиме
не должно требовать вмешательства ее разработчиков. Модераторы организованы в иерархию.
Каждый модератор должен быть прикреплен к одной или нескольким организациям и/или их
подразделениям.
Каждому модератору сопоставлено множество подчиненных сотрудников следующим образом. Пусть модератор 𝑀 прикреплен к подразделению 𝐴, имеющему множество дочерних
подразделений 𝐵1 , . . . , 𝐵𝑛 (не обязательно прямых потомков). Тогда множество подчиненных
модератора 𝑀 состоит из сотрудников, которые работают в подразделении 𝐴, а также сотрудников, работающих в тех подразделениях из 𝐵1 , . . . , 𝐵𝑛 , для которых ближайшим родительским подразделением, имеющим модератора, является 𝐴. Для каждого сотрудника определим
183
множество ближайших модераторов, состоящих из модераторов, для которых этот сотрудник
является подчиненным. Отметим, что подчиненные модератора 𝑀 не являются подчиненными
модераторам, прикрепленным к родительским подразделениям 𝐴.
Функции модераторов
Каждый модератор должен иметь возможность выполнять функции из следующего списка
(возможно, не все). Конкретный набор функций, доступных модератору, задается при его назначении.
• Подтверждение зарегистрированных пользователей, а также удаление спамеров.
Подробно этот пункт освещен в разделе «Регистрация в системе» далее.
• Редактирование информации.
Модератор может редактировать только объекты, добавленные его подчиненными.
• Решение спорных вопросов об авторстве статей.
Подробно этот пункт освещен в разделе «Авторство статей» далее.
• Редактирование структуры организации/подразделения.
Модератор может добавлять/редактировать/удалять подразделения, являющиеся потомками подразделения, к которому он прикреплен.
• Создание новых модераторов.
Модератор может, согласно регламенту работы системы, назначить любого пользователя
модератором любого подразделения, являющегося потомком подразделения, к которому
прикреплен модератор (включая его само). При этом он указывает права, которые он
делегирует назначаемому модератору. Отметим, что он не может делегировать ему больше
прав, чем имеет сам.
Отметим, если модератор не отвечает на запрос, входящий в его компетенцию, в течение
определенного промежутка времени (например, недели), то после этого запрос автоматически
перенаправляется модератору родительского подразделения.
Регистрация в системе
Регистрация в системе ИСТИНА должна осуществляться в свободной форме. Для начала работы с системой, после регистрации каждому пользователю необходимо «привязать» (соотнести)
себя к сотруднику в системе, а также указать место работы своего сотрудника. Если при регистрации пользователем указан и подтвержден адрес электронной почты на домене msu.ru, то
после регистрации пользователь должен попадать в группу условно подтвержденных пользователей и должен сразу же иметь возможность добавлять в систему научные работы. При этом
в течение определенного регламентом работы системы времени модератор должен подтвердить
подлинность этого пользователя. Если при регистрации пользователь указал адрес электронной почты на другом домене, то после регистрации он попадает в группу неподтвержденных
184
пользователей, которые не могут добавлять результаты своей учебно-научной деятельности в
систему до подтверждения модератором своей подлинности. Если модератор не подтверждает
подлинность пользователя (что равносильно признанию этого пользователя спамером), то пользователь удаляется. При этом все объекты, которые он добавил в систему, также стираются,
если только на них нет ссылок других пользователей. При этом, если к сотруднику, привязанному к пользователю-спамеру, другими пользователями были добавлены работы, то этот
сотрудник сохраняется.
Права доступа
Возможность просматривать добавленные в систему данные должны иметь все пользователи
Интернет. Исключением являются данные специальных типов, предназначенные для руководителей подразделений. Примером такой информации являются инвестиции. Их могут просматривать только пользователи, участвующие в привлечении инвестиции, а также модераторы
соответствующих подразделений. К числу таких данных в соответствии с регламентом работы
системы могут быть отнесены и другие.
Возможность добавлять данные в систему должны иметь только зарегистрированные пользователи, входящие хотя бы в одну из групп «условно подтвержденные пользователи», «подтвержденные пользователи», «модераторы», «администраторы». Отметим, что пользователи
могут привязывать добавляемые результаты учебно-научной деятельности не только к своему
сотруднику, но и к любым другим сотрудникам в системе, создавая, при необходимости, новых
сотрудников.
Возможность редактировать и удалять результаты учебно-научной деятельности должны
иметь следующие пользователи:
• пользователь, добавивший эту работу в систему;
• пользователи, привязанные к сотрудникам-соавторам данной работы;
• ближайший модератор для пользователя, добавившего работу;
• администраторы.
При прикреплении файлов к объектам пользователь должен отметить пункт, что загрузка
и возможный просмотр данного файла не нарушает лицензионного соглашения с правообладателем.
Возможность просматривать и анализировать агрегированные количественные и тематические показатели по подразделениям (общее количество работ, разбитых по типам/годам, тематики исследований подразделения и подобные им) должны иметь только модераторы соответствующих подразделений, а также модераторы родительских подразделений.
185
Редактирование общих объектов
Общими называются объекты, которые не являются прямыми результатами учебно-научной
деятельности сотрудников, однако имеют к ним косвенное отношение. Примерами общих объектов являются конференции, журналы, диссертационные советы и другие сущности. Заметим,
что с каждым общим объектом могут быть связаны результаты работы сотрудников (частные
объекты). Например, с конференцией связаны работы типа «участие в конференции», с журналами – публикации в этих журналах, с диссертационными советами – членство в их редакционных коллегиях и защита диссертаций. Пользователи могут добавлять общие объекты в
процессе добавления результатов выполнения своих работ. Например, добавляя информацию о
своем участии в конференции, пользователь, не обнаружив эту конференцию в системе, может
самостоятельно добавить ее. В связи с глобальным характером общих объектов (например,
конференций и журналов) права на их редактирование и удаление существенно ограничены
следующим образом.
• После добавления общего объекта пользователь имеет право его редактировать и удалять,
но только до того момента, когда к этому объекту будет привязан хотя бы один другой
пользователь.
Например, пользователь А добавляет участие в конференции K. Не найдя эту конференцию в системе, он добавляет ее. После добавления пользователь А может редактировать
конференцию, например, с целью исправления опечаток. Допустим, после этого пользователь Б добавляет участие в той же конференции. Так как она уже существует в системе,
он привязывается к ней. После этого момента ни пользователь А, ни пользователь Б не
могут редактировать информацию о конференции К. При этом они оба могут редактировать свое участие в ней, например, изменить название своего доклада.
• Независимо от того, сколько пользователей привязано к общему объекту, его также могут
редактировать все модераторы, для которых все пользователи, привязанные к этому объекту, являются либо непосредственными подчиненными, либо подчиненными модераторов
дочерних подразделений.
Другими словами, модератор может редактировать общий объект только в том случае,
если все сотрудники, привязанные к этому объекту, располагаются в рамках поддерева
подразделений, вершиной которого является подразделение, к которому прикреплен этот
модератор.
Отметим, что любой пользователь, даже не имеющий права редактирование объекта (как
общего, так и частного) должен иметь возможность отправить запрос на его редактирование
или удаление модератору этого объекта. В случае частного объекта запрос отправляется ближайшему модератору пользователя, добавившего объект в систему. В случае общего объекта он
отправляется самому «младшему» (с точки зрения расположения в иерархии подразделений)
модератору, который имеет право редактировать этот объект.
186
Авторство работ
Будем называть свободными сотрудников, не привязанных к пользователям системы. Такие
сотрудники могут быть добавлены как соавторы работ. Сотрудников, привязанных к пользователям системы, будем называть занятыми. Отметим, что большинство работ в системе могут
быть привязаны сразу к нескольким сотрудникам, часть из которых могут быть занятыми, а
часть – свободными. Например, статья в журнале может иметь несколько авторов, часть из
которых зарегистрированы в системе, а часть – нет.
В системе должен быть реализован алгоритм определения степени сходства двух сотрудников, учитывающий их имена, места работы и другие критерии. Будем называть похожими
сотрудников, для которых этот алгоритм выдает положительный результат.
В системе должны быть предусмотрены механизмы исправления ошибок авторства работ,
которые заключаются в том, что при добавлении работа может быть по ошибке привязана не
к нужному сотруднику. Если в систему добавляется работа, среди авторов которой есть свободные сотрудники, то всем пользователям, на которых похожи эти сотрудники, отправляется
уведомление вида «В систему добавлена работа, автором которой, возможно, являетесь Вы».
Пользователь может посмотреть на эту работу и указать, является ли он истинным ее автором
(нажав на кнопки «это моя работа»/«это не моя работа»). Если он нажимает кнопку «это моя
работа», то она сразу же привязывается к этому пользователю (и открепляется от свободного
сотрудника).
Если к пользователю была добавлена новая работа (другим пользователем, который указал
его в качестве соавтора), то ему должно прийти уведомление об этом событии. При этом он
должен иметь возможность отказаться от этой работы, нажав на кнопку «это не моя работа», а
также подтвердить ее авторство. При отказе от работы она должна быть привязана к свободному сотруднику, похожему на автора этой работы (в том виде, в котором его имя указано при ее
добавлении). Если в системе нет таких сотрудников, то должен быть создан новый свободный
сотрудник с именем, совпадающим с именем автора работы, к которому и будет привязана эта
работа.
Если работа была по ошибке привязана к неправильному занятому сотруднику, то эта ошибка должна исправляться следующим образом. Настоящий автор работы находит ее в системе
(например, с помощью подсистемы поиска) и нажимает кнопку «это моя работа». После этого
система посылает сообщения пользователю, добавившему эту работу, а также его ближайшему
модератору. Они могут подтвердить правомерность претензии, либо отклонить ее. При подтверждении запроса работа перепривязывается от этого пользователя к пользователю, нажавшему
на кнопку «это моя статья».
Безопасность данных
В системе должны быть реализованы эффективные механизмы защиты от несанкционированного систематического копирования (scraping) и DDOS-атак. Для безопасного функциониро187
вания системы доступ к ней должен быть реализован по протоколу HTTPS. Для обеспечения
сохранности данных необходима подсистема их регулярного резервного копирования. Система
должна обеспечивать средства защиты персональных данных, определенные законом № 152-ФЗ
«О персональных данных». В частности, при регистрации пользователь должен указывать, что
он согласен считать его персональные данные, вводимые в систему (ФИО, фотография, место
работы, результаты научной деятельности), общедоступными.
188
Download