7. Larichev O.I., Olson D.L. Multiple Criteria Analysis in Strategic Siting Problems. Springer, 2013, 216 p.
8. Hwang C.L., Lin M.J. Group Decision Making under Multiple Criteria. SpringerVerlag, 1987.
9. Петровский, А.Б. Методы групповой классификации многопризнаковых объектов (часть 2) / А.Б. Петровский // Искусственный интеллект и принятие решений. -2009, -№ 4. -С. 3-14.
DOI: 10.37614/2307-5252.2020.8.11.003
УДК 004.853
П.А. Ломов1, М.Л. Малоземова1
1 Институт информатики и математического моделирования ФИЦ КНЦ РАН
ОБУЧЕНИЕ И ПРИМЕНЕНИЕ НЕЙРОСЕТЕВОЙ ЯЗЫКОВОЙ МОДЕЛИ ДЛЯ
ПОПОЛНЕНИЯ ОНТОЛОГИИ*
Аннотация
В статье рассмотрена одна из подзадач обучения онтологий - задача пополнения онтологии, которая предполагает включение в существующую онтологию новых экземпляров без изменения ее структуры. Представлен краткий обзор существующих подходов к обучению онтологий, а также их реализаций в виде программных средств. Предложена высокоавтоматизированная технология пополнения онтологии с помощью обучения и последующего применения нейросетевой языковой модели для выявления потенциальных экземпляров классов онтологии из текстов предметной области. Рассматриваются основные этапы применения технологии, результаты ее экспериментальной оценки и основные направления дальнейшего совершенствования.
Ключевые слова:
пополнение онтологии, нейросетевая модель, обучение онтологий.
P.A. Lomov, M.L. Malozemova
1 Apatity, Institute for Informatics and Mathematical Modelling, KSC RAS
TRAINING AND APPLICATION OF NEURAL NETWORK LANGUAGE MODEL FOR
ONTOLOGY POPULATION
Abstract
The article considers one of the subtasks of ontology learning - the ontology population, which implies the extension of existing ontology by new instances without changing the ontology structure. A brief overview of existing ontology learning approaches and their software implementations is presented. A highly automated technology for ontology population based on training and application of the neural network language model to identify and extract potential instances of ontology classes from domain texts is proposed. The main stages of its application, as well as the results of its experimental evaluation and the main directions of its further improvement are considered.
* Работа выполнена при поддержке РФФИ (грант № 20-07-00754 А).
Keywords:
ontology population, neural network, ontology learning. Введение
На сегодняшний день применение онтологий в той или иной форме для представления знаний предметной области в рамках информационных систем стало распространенной практикой. Онтология - это формальная, явная спецификация разделяемой концептуализации [1-3]. Концептуализация - это представление объектов, которые существуют в некоторой предметной области, и взаимосвязей между ними. Разделяемая концептуализация - это концептуализация, которую принимает некоторая группа агентов (люди, организации, информационные системы и т. д.). Формальная спецификация - это описание концептуализации с использованием формального языка, такого как Resource Description Framework (RDF), Web Ontology Language (OWL) или Simple Knowledge Organization System (SKOS).
Разработка онтологий, как правило, является сложной проблемой, требующей привлечения экспертов предметной области, а также специалистов по онтологическому моделированию. По этой причине предпринимаются попытки автоматизации ее различных аспектов для снижения затрат труда и времени с получением в результате качественной онтологии, отражающей в необходимой степени знания предметной области. Актуальной является и дальнейшая поддержка существующих онтологий для их повторного применения в информационных системах, ориентированных на адаптацию к изменяющимся требованиям пользователей. Решение данных задач рассматривается в рамках проблемы обучения онтологий (ontology learning).
В данной работе рассматривается решение задачи автоматического пополнения онтологии информационной системы (ontology population) с применением статистического подхода к анализу естественно-языковых текстов. Данная задача является одной из подзадач обучения онтологий. Она заключается в добавлении в онтологию экземпляров классов без какой-либо модификации ее структуры. Для решения данной задачи предлагается технология обучения и применения нейросетевой языковой модели для обнаружения и извлечения потенциальных экземпляров классов онтологии из текстов предметной области.
1. Обзор существующих подходов к обучению онтологий
Обучение онтологии можно рассматривать как реконструирование из текста модели предметной области, изначально сформированной в сознании эксперта - автора текста [4, 5]. Как правило, обучение онтологии предполагает анализ и извлечение из текстов терминов предметной области, их последующую группировку для определения классов онтологии и отношений между ними. В завершении над сформированной системой классов могут быть определены логические ограничения, обнаруженные в текстах.
На сегодняшний день подходы к обучению онтологий отличаются техниками, которые применяются на разных этапах формирования онтологии. Эти техники можно разделить на три типа: лингвистические, статистические и логические [6].
На начальном этапе текстовый корпус предварительно обрабатывается с использованием лингвистических техник, таких как тегирование частей речи (part-of-speech tagging), синтаксический разбор и лемматизация. После этого осуществляется
извлечение терминов предметной области. Для этого используются различные методы обработки естественного языка (NLP), такие как синтаксический анализ, фреймы субкатегоризации (subcategorization frames) и поиск с применением "seed words" [7], а также некоторые статистические методы текстового анализа, такие как выявление терминов, состоящих из нескольких слов, с помощью C-value/NC-value, сравнительный анализ [8], анализ смежности (co-occurrence analysis), латентно-семантический анализ (LSA) и кластеризация [9].
На следующем этапе необходимо сформировать структуру онтологии. Это предполагает выявление таксономических и нетаксономических отношений между найденными на предыдущем этапе терминами. Для этого также используются различные лингвистические и статистические методы обработки текстовой информации, такие как анализ зависимостей (dependency analysis), лексико-синтаксический анализ, категоризация терминов (term subsumption), анализ формальных понятий (formal concept analysis, FCA), иерархическая кластеризация (агломеративная [10] и разделяющая [11]) и анализ правил ассоциации (association rule mining, ARM).
Для формирования логических ограничений или правил на заключительном этапе могут применяться приемы индуктивного логического программирования (inductive logic programming, ILP) [12], позволяющие на основе элементов и отношений полученной онтологии выводить новые отношения в виде гипотез.
Среди известных программных средств, ориентированных на обучение онтологий, можно выделить:
• CRCTOL (Concept-Relation-Concept Tuple-based Ontology Learning) [13]. Данная система производит синтаксический анализ текста с присвоением его лексемам тегов частей речи и синтаксических тегов. Далее для формирования онтологии к нему применяется следующий набор алгоритмов: статистический алгоритм для извлечения ключевых понятий; алгоритм устранения неоднозначности найденных понятий; алгоритм на основе лексико-синтаксических паттернов для извлечения отношений.
• OntoGain [14]. Система для получения онтологий из текста, состоящая из следующих основных модулей: модуль предварительной обработки, выполняющий задачи синтаксического анализа; модуль извлечения понятий предметной области; модуль формирования таксономии обнаруженных понятий; модуль для извлечения нетаксономических отношений на основе ассоциативных правил [15].
• OntoLearn [16]. Система для автоматического формирования онтологии на основе извлеченных из текста понятий предметной области. Понятия извлекаются на основе статистических и NLP-методов [17]. Далее производится поиск определений найденных понятий в тезаурусах и текстах предметной области, их синтаксический анализ с отсевом нерелевантных. На основе результатов анализа определений формируется таксономия понятий.
Предлагаемая в данной работе технология ориентирована на решение одной из подзадач обучения онтологий, а именно пополнение онтологии. Таким образом, для своего применения она требует наличия уже существующей онтологии, с заданной системой понятий и отношений между ними. Технология предполагает использование лингвистических методов (токенизация,
лемматизация, синтаксический анализ) для предобработки текстов и формирования обучающей выборки с последующим обучением и применением нейросетевой языковой модели, ориентированной на решение задачи распознавания именованных сущностей (Named Entity Recognition, NER).
2. Описание предлагаемой технологии пополнения онтологии
Предлагаемая технология предполагает использование существующих в онтологии понятий для обнаружения в текстах предметной области семантически близких к ним новым понятиям. Близость в данном случае следует из употребления понятий в сходных контекстах, которые представляются похожими по структуре предложениями текста.
Для выявления таких предложений, содержащих понятия предметной области, выполняется анализ текстов с помощью языковой модели, основанной на нейронной сети, изначально ориентированной на решении задачи NER. Данная задача состоит в выделении и классификации именованных сущностей в тексте. Именованная сущность - это слово или словосочетание обозначающее объект, который можно отнести к определенной категории. Примерами именованных сущностей являются имена людей, названия организаций и локаций. В предлагаемой технологии роль распознаваемой сущности играет потенциальный экземпляр некоторого класса онтологии. Последний, в свою очередь, рассматривается в качестве назначаемой категории.
Ключевым компонентом технологии является процедура обучения языковой модели на основе обучающей выборки, которая автоматически формируется путем поиска в наборе текстов предметной области предложений, содержащих отдельные лексемы и именные группы, соответствующие экземплярам исходной онтологии. Предполагается, что множество найденных предложений представляет контексты, которые в иных текстах могут содержать новые термины, сходные по смыслу с исходными.
Далее на сформированной выборке обучается языковая модель из распространенной Python-библиотеки для анализа естественно-языковых текстов spaCy. Впоследствии с помощью обученной модели анализируются тексты предметной области с представлением эксперту обнаруженных понятий, которые выступают кандидатами на включение в онтологию в качестве экземпляров классов. Общая схема применения технология представлена на рис. 1.
Рис. 1. Схема применения технологии пополнения онтологии
Результативность использования технологии во многом определяется качеством обученной модели, которое, в свою очередь, зависит от объема обучающей выборки, разнообразия представленных в ней образцов, а также корректности присвоенным им меткам. Рассмотрим ее формирование более подробно.
На первом этапе производится формирование тематического набора текстов предметной области, который далее будет использован в качестве источника для получения обучающих примеров. Для решения этой задачи был разработан краулер [18], позволяющий в автоматическом режиме собрать набор документов (файлов в формате PDF, DOC, DOCX, TXT) заданной тематики и сформировать текстовый корпус. Для разработки краулера был взят Python-фреймворк Scrapy, ориентированный на поиск и анализ веб-страниц.
Разработанный краулер позволяет автоматически в фоновом режиме загружать документы, ссылки на которые опубликованы на конкретных вебстраницах, а также выполнять поиск с помощью поисковой системы и загружать документы с найденных веб-страниц. Последняя возможность обеспечивает постоянное фоновое пополнение текстового корпуса. В качестве источника для автоматического формирования поисковых запросов используется понятийная система пополняемой онтологии, что обеспечивает правильную тематическую ориентацию найденных текстов.
Далее производится предобработка текстового корпуса, в ходе которой полученные тексты делятся на предложения и токенизируются. Для этого был разработан комплекс методов на основе Python-библиотеки NLTK, который позволяет получать структурированные данные из текстового корпуса [19].
После предобработки осуществляется непосредственное формирование набора в виде множества обучающих примеров виде кортежей элементов:
(предложение, левая граница сущности, правая граница сущности, категория сущности). Например:
("Отправляйтесь в Кировск к подножию Хибинских гор и путешествуйте на снегоходах по труднопроходимым горным районам и красивой тундре", 16, 23, "CITY").
Для этого был разработан специализированный программный модуль [20]. Принцип работы модуля состоит в обнаружении лексем, соответствующих именам экземпляров классов онтологии, а также их границ. Основной проблемой в этом случае было обнаружение имен экземпляров, состоящих из нескольких лексем. В предложениях такой набор лексем мог быть представлен частично и/или лексемы могли не следовать друг за другом, как в исходном имени экземпляра, а перемежаться с другими лексемами предложения.
После формирования обучающего набора производится обучение языковой модели. В качестве таковой используется языковая модель на основе сверточной нейросети из Python-библиотеки spaCy. В результате обученную модель можно использовать для обнаружения специфических понятий в текстах предметной области. Найденные таким образом понятия представляются эксперту в качестве кандидатов для пополнения ими онтологии.
3. Оценка эффективности технологии
Эффективность предложенной технологии оценивалась в рамках эксперимента по обучению языковой модели и ее последующего использования
для пополнения онтологии хозяйственной деятельности в Арктике [21]. Классы и экземпляры данной онтологии представляют различные виды промышленной, исследовательской деятельности в Арктике, а также объекты, связанные с ней. Для обучения модели с помощью разработанного краулера было собрано и проанализировано около 400 текстов арктической тематики, которые потенциально могли содержать понятия, представленные в онтологии в виде экземпляров. В результате был сформирован набор, содержащий около 360 000 примеров.
Проверка качества обученной модели производилась на тестовом наборе аналогичной структуры. При его создании использовались тексты предметной области, не использовавшиеся для обучения модели. Их отбор и анализ выполнялись вручную. Таким образом, полученный тестовый набор представляет собой эталонный результат извлечения имеющихся и новых понятий онтологии. В ходе оценки качества модели выполнялось сравнение тестового набора и набора, полученного в результате применения языковой модели, и вычислялись оценки полноты и точности. Для сравнения оценивалась также и мультиязычная (multi-language) модель из библиотеки spaCy, ориентированная на извлечение имен людей, названий локаций и организаций из новостных текстов. Были получены следующие результаты:
Эксперимент 1. Обнаружение моделями понятий тестового набора:
- мультиязычная модель spaCy: точность = 0.13, полнота = 0.03;
- обученная модель: точность = 0.95, полнота = 0.35.
Эксперимент 2. Обнаружения моделями понятий тестового набора, не представленных в онтологии:
- мультиязычная модель spaCy: точность = 0.013, полнота = 0.012;
- обученная модель: точность = 0.25, полнота = 0.006.
Результаты первого эксперимента говорят о наличии некоторого положительного эффекта обучения. Модель научилась распознавать в текстах некоторые контексты употребления понятий, характерных для предметной области. Однако этого недостаточно для обнаружения новых понятий, что показывают результаты второго эксперимента.
Это также может быть вызвано тем, что исходная гипотеза о том, что имена экземпляров одного класса онтологии будут встречаться в одинаковых контекстах, подтверждается в большей степени для классов, потенциально имеющих большое разнообразие экземпляров в анализируемых текстах. Например, классы "Организация" или "Персона" потенциально могут иметь большое количество экземпляров в новостных текстах общей тематики. Таким образом, следует согласовывать специфичность классов пополняемой онтологии и анализируемых текстов. В контексте данного исследования это означает, что необходимо не только увеличить объем корпуса анализируемых текстов, но и обеспечить их более точный поиск и/или дополнительную фильтрацию по принадлежности к тематике пополняемой онтологии.
С другой стороны, причиной малых результатов поиска новых понятий может быть небольшое количество экземпляров у классов, что также не позволяет модели сформировать достаточное разнообразие обобщенных контекстов для обнаружение новых понятий.
Таким образом, исходя из полученных результатов в рамках дальнейшего исследования следует обеспечить увеличение объема обучающего набора и
повысить разнообразие входящих в него образцов. Для этого планируется усовершенствовать работу краулера в отношении сбора информации непосредственно с веб-страниц специализированных сайтов, блогов и форумов. Наряду с этим планируется рассмотреть использование имен отношений, заданных между классами в онтологии, для обнаружения контекстов употребления в текстах экземпляров этих классов. Перспективным также выглядит применение техник аугментации данных (data augmentation) в отношении уже сформированного обучающего набора [22] для его расширения путем генерации дополнительных правильно размеченных образцов на основе имеющихся.
Заключение
Обучение онтологий является многоаспектной проблемой, для решения которой можно применять различные стеки технологий, методов и программных средств в зависимости от постановки задачи обучения (создание онтологии с нуля, расширение структуры существующей онтологии новыми классами и отношениями, пополнение онтологии экземплярами), структурированности исходных данных, требуемой степени автоматизации и качества онтологии, получаемой в результате.
В данной работе предлагается высокоавтоматизированная технология для решения задачи пополнения экземплярами уже существующей онтологии с применением лингвистических и статистических методов анализа естественноязыковых текстов.
Технология предполагает автоматический сбор и формирование набора тематических текстов и их анализ с применение традиционных техник NLP (токенизация, лемматизация, синтаксический анализ) для поиска предложений, которые определяют контексты употребления названий экземпляров из исходной онтологии. На основе отобранных предложений формируется набор примеров для обучения языковой модели на основе сверточной нейронной сети, ориентированной на решение задачи извлечение именованных сущностей. Соответствие исходных текстов и обучающих примеров тематике наполняемой онтологии обосновывается использованием ее элементов - наименований экземпляров и классов при формировании соответствующих наборов. В результате обучения модель обобщает представленные контексты, что позволяет ей находить понятия, употребляемые в сходных контекстах в других текстах предметной области. Предполагается, что некоторые из этих понятий будут представлять новые экземпляры для включения в онтологию.
Экспериментальная проверка предложенной технологии показала положительный эффект в отношении нахождения понятий онтологии в произвольных текстах предметной области. Однако для полноценного ее использования необходимо увеличить количество обучающих примеров и их разнообразие. Это и определяет дальнейшее направление данного исследования.
Предложенная технология может применяться при повторном использовании онтологий для их актуализации и/или приведения их содержания в соответствие с задачами использующих их информационных систем. Высокая автоматизации технологии позволяет при этом снизить трудозатраты экспертов предметной области, обеспечивающих поддержку онтологий, и тем самым удешевить разработку и эксплуатацию информационных систем на основе онтологий.
Литература
1. Studer R., Benjamins V. R., Fensel D. Knowledge engineering: principles and methods. Data Knowl Eng 25(1-2):161-197// Data Knowl. Eng. 1998. Т. 25. С. 161197.
2. Gruber T. R. A translation approach to portable ontology specifications // Knowl. Acquis. 1993. Т. 5. № 2. С. 199-220.
3. Borst W. N., Borst W. N. Construction of Engineering Ontologies for Knowledge Sharing and Reuse // 1997.
4. Somodevilla M., Ayala D., Pineda I. An overview on ontology learning tasks // Comput. Sist. 2018. Т. 22.
5. Chen J. и др. Smart data integration by goal driven ontology learning. 2017. С. 283292.
6. Asim M. N. и др. A survey of ontology learning techniques and applications // Database- Mag. Electron. Database Rev. 2018. Т. 2018.
7. Hwang C. Incompletely and Imprecisely Speaking : Using Dynamic Ontologies for Representing and Retrieving Information // 1999.
8. Navigli R., Velardi P. Semantic interpretation of terminological strings // 2002.
9. Berkhin P. Survey Of Clustering Data Mining Techniques // Surv. Clust. Data Min. Tech. Group. Multidimens. Data Recent Adv. Clust. 2002. Т. 10.
10.Zepeda-Mendoza M. L., Resendis-Antonio O. Hierarchical Agglomerative Clustering // Encyclopedia of Systems Biology / под ред. W. Dubitzky и др. New York, NY: Springer, 2013. С. 886-887.
11.Dhillon I. S., Mallela S., Kumar R. A Divisive Information-Theoretic Feature Clustering Algorithm for Text Classification // J Mach Learn Res. 2003.
12.Lima R. и др. An Inductive Logic Programming-Based Approach for Ontology Population from the Web. 2013.
13.Jiang X., Tan A.-H. CRCTOL: A semantic-based domain ontology learning system // J Assoc Inf Sci Technol. 2010.
14.Drymonas E., Zervanou K., Petrakis E. Unsupervised Ontology Acquisition from Plain Texts: The OntoGain System. 1970. С. 277-287.
15.Srikant R., Agrawal R. Mining generalized association rules // Future Gener. Comput. Syst. 1997. Т. 13. № 2. С. 161-180.
16.Navigli R., Velardi P., Gangemi A. Ontology Learning and Its Application to Automated Terminology Translation // IEEE Intell. Syst. 2003. Т. 18. № 1. С. 2231.
17.Navigli R., Velardi P. Learning Domain Ontologies from Document Warehouses and Dedicated Web Sites // Comput. Linguist. 2004. Т. 30. № 2. С. 151-179.
18.Lomov P., Malozemova M. Crawler module [Электронный ресурс]. URL: https://gitlab.com/iimm-dev/tsg/-/tree/rc/crawler.
19.Lomov P., Malozemova M. Text processing module [Электронный ресурс]. URL: https://gitlab.com/iimm-dev/tsg/-/tree/rc/text_processing/arctic_text_corpus.
20.Lomov P., Malozemova M. Training module [Электронный ресурс]. URL: https://gitlab.com/iimm-dev/tsg/-/tree/rc/training.
21.Lomov P. Ontology of integrated knowledge space [Электронный ресурс]. URL: https://github.com/palandlom/ontology-of-integrated-knowledge-space/blob/master/src/poltes.owl.
22.Badimala P. и др. A study of various text augmentation techniques for relation classification in free text. 2019. С. 360-367.