Перейти на главную страницу
Институт автоматики и процессов управления, г. Владивосток, Россия
[email protected], [email protected]
Специализированный компьютерный банк знаний по органической химии
и его разработка на основе онтологии1
В работе описаны методы разработки интеллектуальной интернет-системы для органической химии – специализированного компьютерного банка знаний. Описана архитектура банка знаний, структура базы знаний, разработанной на основе онтологии, лежащей в основе системы, а также методы решения задач органической химии. Показано, как модель онтологии была использована при разработке методов решения этих задач.
Введение
В настоящее время специалистам предметной области «Органическая химия» доступны в Интернете различные базы данных, содержащие информацию, используемую при решении задач профессиональной деятельности. Кроме этого, пользователи имеют в своем распоряжении программные системы для решения задач. Для данной предметной области существуют также системы, основанные на знаниях, которые позволяют при решении задач использовать изменяемые знания данной области. Но многие программные системы предназначены для решения задач одного класса. В то же время при решении прикладных задач данной области приходится использовать знания других разделов химии и (в качестве подзадач) решать задачи этих разделов. Поэтому нужны программные системы, интегрирующие знания разных разделов химии и позволяющие использовать эти знания при решении задач на компьютере.
При разработке программных систем такого типа должен быть решен ряд проблем. Первой проблемой является определение способов интеграции знаний разных разделов внутри одной программной системы. Использование онтологии предметной области для разработки программной системы позволяет решить данную проблему: онтология определяет структуру представления знаний разных разделов. Это позволяет интегрировать знания разных разделов в рамках одной системы понятий.
Вторая проблема состоит в том, что используемые в разных разделах системы понятий отличаются друг от друга. Поэтому нужны способы интеграции уже этих систем понятий (онтологий). Исследования показали, что интеграция онтологий может выполняться в терминах других систем понятий, определяемых онтологиями второго и третьего уровней [1].
Третья проблема состоит в том, что программные системы указанного класса должны обеспечивать совместное создание и редактирование онтологий и знаний, т.е. должны быть системами для Интернет.
В работе [2] была описана концепция программной системы требуемого класса – специализированного компьютерного банка знаний по химии. Специализированный компьютерный банк знаний по органической химии является частью банка по химии, он имеет тот же состав и структуру. Целью данной работы является описание методов его реализации на основе модели онтологии органической химии [3-6].
Архитектура банка знаний для органической химии
Архитектура специализированного компьютерного банка знаний для органической химии представлена на рис. 1.
Рисунок 1 – Архитектура специализированного компьютерного банка знаний для органической химии
Специализированный компьютерный банк знаний для органической химии имеет две части: серверную и клиентскую. Серверная часть состоит из информационного и программного наполнения [2]. Информационное наполнение содержит онтологию второго и первого уровня, а также знания данной предметной области, а программное наполнение – редакторы этих онтологий и знаний, а также системы для решения различных прикладных задач. Клиентская часть содержит интерфейсы редакторов онтологий и знаний данной области, а также интерфейсы решателей задач. Специалист-эксперт предметной области (ПО) имеет возможность с помощью редакторов изменять онтологию и знания ПО. Графический компонент интерфейса используется при вводе и просмотре графической информации (например, информации о структурных формулах и кратких структурных формулах) в привычном пользователю графическом виде. Графическая информация хранится в базе знаний (БЗ) в вербальном представлении, определяемом моделью онтологии [4].
Онтологии и знания хранятся средствами реляционной СУБД: онтологии каждого уровня соответствует своя база данных, знания хранятся в другой базе данных. Структура баз данных для хранения онтологии второго уровня определяется онтологией третьего уровня, для онтологии первого уровня – онтологией второго уровня, базы знаний – онтологией первого уровня. Каждому термину соответствует своя таблица. Задание онтологии второго (первого) уровня состоит в задании значений терминов онтологии третьего (второго) уровня. Задание знаний состоит в задании значений терминов онтологии первого уровня.
Таблицы для представления значений терминов онтологии второго уровня формируются автоматически при определении этого термина в редакторе онтологии данного уровня. Таблицы для представления значений терминов онтологии первого уровня формируются автоматически при определении этого термина в редакторе онтологии данного уровня.
Чтобы проиллюстрировать использование модели онтологии для представления графической информации, приведем фрагмент модели онтологии, в котором определяются термины, используемые для представления краткой структурной формулы органических соединений. Модель онтологии представлена средствами языка прикладной логики [7]. Для облегчения понимания к некоторым утверждениям даны комментарии.
1. (сокращенная структурная формула) = (органические соединения возможные структурные формулы)
Термин «сокращенная структурная формула» представляет собой функцию, аргументом которой является органическое соединение, а результатом – его краткая структурная формула.
Термин «возможные структурные формулы» обозначает множество представлений структурных формул. Каждая формула представляется последовательностью разных компонент.
Термин «возможные компоненты структурной формулы» обозначает множество кортежей, состоящих из химического элемента либо компонента и его связей.
Компонента структурной формулы представляется элементной формулой.
Структура представления краткой структурной формулы в базе данных приведена на рис. 2.
Графический компонент позволяет преобразовать заданную в базе данных информацию о сокращенной структурной формуле в графическое представление.
Если термин в модели онтологии определен как множество, то он представлен в виде таблицы, содержащей два поля: код каждого элемента множества (ключевое поле) и значение элемента множества. Например, термин «химические соединения» определен в модели онтологии как (химические соединения) = {}N, т.е. его значением является множество названий химических соединений. В базе знаний ему соответствует таблица Chemical Substances. Структура таблицы приведена на рис. 3.
Рисунок 3 – Структура таблицы Chemical Substances
Если термин определен как функция, возвращающая единственное значение, то ему соответствует таблица, число полей которой равно сумме числа аргументов функции и числа элементов в представлении результата (если результат есть элемент декартова произведения, то каждому элементу этого произведения соответствует свое поле). Например, термин «агрегатное состояние соединения» определен в модели онтологии как (агрегатное состояние соединения) = (органические соединения возможное агрегатное состояние). Ему соответствует таблица Aggregative State. Структура таблицы приведена на рис. 4.
Рисунок 4 – Структура таблицы Aggregative State
Если термин определен как функция, возвращающая множество значений, то ему соответствует таблица, число полей которой равно на одно больше суммы числа аргументов функции и числа элементов в представлении результата (дополнительное поле является ключевым). Например, термин «стимулятор реакции» определен в модели онтологии как (стимулятор реакции) = собственные свойства реакций ({}методы стимуляции реакций). Ему соответствует таблица ORStimulators, структура которой представлена на рис. 5.
Рисунок 5 – Структура таблицы ORStimulators
Модель онтологии первого уровня для органической химии содержит 138 терминов, т.е. для представления БЗ данной области требуется такое же количество таблиц.
Разработка методов решения задач на основе модели онтологии
Информация, хранимая в базах данных (информационном наполнении банка знаний), используется решателем задач органической химии. Решатель задач органической химии позволяет решать пять основных классов задач: вычислительные задачи, задачи определения значения свойства (не числового), задачи определения класса органического соединения, задачи определения пути синтеза органического соединения, задачи прогнозирования физико-химических свойств.
Спецификация задач описывается с использованием терминов модели онтологии первого уровня, а метод решения задачи строится на основе онтологических соглашений, зафиксированных онтологией и определяющих связь входных и выходных данных задачи. Спецификация задачи определяет входные и выходные параметры задачи и их связи с терминами онтологии предметной области [8]. Определение входных и выходных параметров задачи состоит в задании их сорта (множества значений). Некоторые из прикладных задач органической химии сводятся к задачам поиска информации из базы знаний.
Рассмотрим спецификацию задачи определения класса органического соединения и метод ее решения.
Существуют два вида входных параметров данной задачи. В первом случае входной параметр задает название органического соединения. Тогда его определение в спецификации задачи будет следующим:
Во втором случае входной параметр задает краткую структурную формулу органического соединения. Тогда его определение в спецификации задачи будет следующим:
Определим выходной параметр данной задачи:
Приведем теперь метод решения данной задачи для разных типов входных параметров.
В случае, когда входной параметр Name_Compound, Result = класс вещества по функциональной группе(Name_Compound).
В случае, когда входной параметр Short_Structural_Formula,
Result = {(i: I[1, length(Short_Structural_Formula)]) классы функциональной группы(формула функциональной группы(компонента структурной формулы(i)))}
Приведенные методы получены на основе онтологических соглашений. В обоих случаях решение задачи сводится к выполнению запросов к базе знаний.
Рассмотрим задачу определения пути синтеза органического соединения и метод ее решения. Существуют различные формулировки данной задачи. Рассмотрим некоторые из них.
Приведем постановку задачи определения пути синтеза соединения, если задано название синтезируемого соединения или его краткая структурная формула. Эта задача сводится к поиску по базе знаний.
Входные данные: (Name_Compound) = органические соединения
Выходные данные: (Reactions) ={}химические реакции
Приведем формальное описание метода на языке прикладной логики [7].
/({(v: химические реакции) Name_Compound результаты(v)}
Reactions = {(v: химические реакции) Name_Compound результаты(v)}),
({(v: химические реакции) Name_Compound результаты(v)} =
Reactions = {(v: химические реакции) Name_Compound результаты(v)}
{(v: химические реакции класса соединений) результаты реакций(v) =
Приведем комментарий к методу.
Выбираем из базы знаний все реакции, результатом которых является соединение Name_Compound. Если таких реакций нет, то определяем класс искомого соединения и выбираем из базы знаний все реакции для класса соединений, такие, в результате которых получается соединение, класс которого совпадает с классом заданного соединения.
Возможна вторая постановка данной задачи.
Входные данные:
(Short Structural Formula) = возможные структурные формулы
Выходные данные: (Reactions) ={}химические реакции
Метод: Reactions = {(v: химические реакции) ( (v1: результаты(v)) сокращенная структурная формула соединения(v1) = Short_Structural_Formula)}
Другие постановки данной задачи требуют поиска пути синтеза, число шагов которого может быть больше двух.
Для облегчения понимания этих постановок приведем термины модели онтологии, используемые для описания химического процесса (подробное описание представления химического процесса в модели приведено в работе [6]).
Приведем онтологические соглашения, задающие связи терминов.
Рассмотрим спецификацию задачи определения пути синтеза соединения (по названию соединения или по краткой структурной формуле соединения), в которой задано соединение, принадлежащее множеству соединений первого шага синтеза. Существуют два вида входных параметров данной задачи. В первом случае входной параметр задает название органического соединения, которое требуется синтезировать, и соединение, принадлежащее множеству соединений первого шага синтеза.
Определим входные параметры данной задачи:
(Name_Compound) = органические соединения
( FirstSub) = органические соединения
Определим выходные параметры данной задачи:
В данной задаче требуется определить число шагов синтеза, а также построить последовательность реакций, позволяющих синтезировать требуемое соединение; длина этой последовательности на единицу меньше числа шагов синтеза.
Зададим связи входных и выходных параметров с терминами онтологии органической химии.
(1, Process) = число шагов процесса
Число шагов синтеза должно совпадать с числом шагов химического процесса.
Name Compound вещества процесса(число шагов процесса)
Синтезируемое соединение должно принадлежать множеству соединений последнего шага.
FirstSub вещества процесса(1)
Начальное соединение должно принадлежать множеству соединений первого шага.
Данное утверждение задает связь значения выходного параметра задачи со значением термина «реакции процесса» модели онтологии органической химии.
Приведем формальное представление метода на языке прикладной логики.
/({(v: химические реакции) Name_Compound результаты(v) & First Sub реагенты(v)} число шагов процесса = 2 & реакции процесса(1) {(v: химические реакции) Name_Compound результаты(v) & First Sub реагенты(v)}),
{(v: химические реакции) Name_Compound результаты(v) & First Sub реагенты(v)} = реакции процесса(1) {(v: химические реакции) First Sub реагенты(v)} & реакции процесса(число шагов процесса-1) {(v: химические реакции) Name_Compound результаты(v)} & (v1: I[2, число шагов процесса-2]) реакции процесса(v1) {(v: химические реакции) реагенты(v) результаты(реакции процесса(v1-1))}
Приведем комментарий к методу. Если существует реакция, множеству реагентов которой принадлежит соединение First Sub, а множеству результатов – Name_Compound, то число шагов химического процесса равно двум, а данная реакция будет реакцией первого шага процесса. Если такой реакции нет, то требуемый процесс синтеза обладает следующими свойствами:
Рассмотрим второй вариант постановки данной задачи. В этом случае входной параметр задает краткую структурную формулу органического соединения, которое требуется синтезировать, и соединение, принадлежащее множеству соединений первого шага синтеза.
Так же, как и в первом случае, требуется определить число шагов синтеза, а также построить последовательность реакций, позволяющих синтезировать требуемое соединение.
Зададим связи входных и выходных параметров с терминами онтологии органической химии.
FirstSub вещества процесса(1)
( (v: вещества процесса(число шагов процесса)) Short Structural Formula = сокращенная структурная формула соединения(v))
Прокомментируем последнее утверждение: среди множества соединений последнего шага должно быть соединение, имеющее краткую структурную формулу Short Structural Formula.
Приведем формальное представление метода на языке прикладной логики.
/({(v: химические реакции) First Sub реагенты(v) & ( (v1: результаты(v)) сокращенная структурная формула соединения(v1) = Short_Structural_Formula)} число шагов процесса = 2 & реакции процесса(1) {(v: химические реакции) Name_Compound результаты(v) & First Sub реагенты(v)}),
{(v: химические реакции) First Sub реагенты(v) & ( (v1: результаты(v)) сокращенная структурная формула соединения(v1) = Short_Structural_Formula)} = реакции процесса(1) {(v: химические реакции) First Sub реагенты(v)} & реакции процесса(число шагов процесса) {(v: химические реакции) ( (v1: результаты(v)) сокращенная структурная формула соединения(v1) = Short_Structural_Formula)} & (v1: I[2,число шагов процесса-1]) реакции процесса(v1) {(v: химические реакции) реагенты(v) результаты(реакции процесса(v1-1))}
Рассмотрим спецификацию задачи определения такого пути синтеза соединения, для которого заданы соединения, которые могут принимать участие в процессе синтеза.
Существуют два вида входных параметров данной задачи. В первом случае первый входной параметр задает краткую структурную формулу органического соединения, которое требуется синтезировать, а второй – соединения, которые могут принимать участие в процессе синтеза. Во втором случае первый входной параметр задает название органического соединения, а второй – соединения, которые могут принимать участие в процессе синтеза:
Требуется определить число шагов синтеза, а также построить последовательность реакций, позволяющих синтезировать требуемое соединение.
Зададим связи входных и выходных параметров с терминами онтологии органической химии.
Name Compound вещества процесса(число шагов процесса)
SubsCould вещества процесса(1)
Приведем формальное представление метода на языке прикладной логики.
/({(v: химические реакции) SubsCould реагенты(v) & Name_Compound результаты(v)} число шагов процесса = 2 & реакции процесса(1) {(v: химические реакции) SubsCould реагенты(v) & Name_Compound результаты(v)}),
{(v: химические реакции) SubsCould реагенты(v) & Name_Compound результаты(v)} = реакции процесса(1) {(v: химические реакции) SubsCould реагенты(v) } & реакции процесса(число шагов процесса-1) {(v: химические реакции) Name_Compound результаты(v)} & (v1: I[2,число шагов процесса-1]) реакции процесса(v1) {(v: химические реакции) реагенты(v) результаты(реакции процесса(v1-1)) & SubsCould реагенты(v) }
Рассмотрим спецификацию задачи определения такого пути синтеза соединения, для которого заданы соединения, которые должны принимать участие в процессе синтеза. Первый входной параметр задает название органического соединения, которое требуется синтезировать, а второй – соединения, которые должны принимать участие в процессе синтеза:
(Name_Compound) = органические соединения
( SubsWill) = {}органические соединения
Во втором случае первый входной параметр задает название органического соединения, а второй – соединения, которые могут принимать участие в процессе синтеза:
Зададим связи входных и выходных параметров с терминами онтологии органической химии:
/({(v: химические реакции) SubsWill = реагенты(v) & Name_Compound результаты(v)} число шагов процесса = 1 & реакции процесса(1) {(v: химические реакции) SubsWill = реагенты(v) & Name_Compound результаты(v)}),
{(v: химические реакции) SubsWill = реагенты(v) & Name_Compound результаты(v)} = реакции процесса(1) {(v: химические реакции) SubsWill реагенты(v) } & вещества процесса(1) = SubsWill реагенты(реакции процесса(1)) & дополнительные вещества(1) = & реакции процесса(число шагов процесса-1) {(v: химические реакции) Name_Compound результаты(v)} & (& (v1: I[2,число шагов процесса-1]) реакции процесса(v1) {(v: химические реакции) реагенты(v) результаты(реакции процесса(v1-1)) & (SubsWill \ дополнительные вещества(v1-1)) реагенты(v) } & дополнительные вещества(v1) = (SubsWill \ дополнительные вещества(v1-1)) реагенты(реакции процесса(v1)) & вещества процесса(v1) = дополнительные вещества(v1) результаты(реакции процесса(v1-1)))
Приведем комментарий к методу. Если существует реакция, множеству результатов которой принадлежит соединение Name_Compound, а множество реагентов совпадает с множеством SubsWill, то число шагов химического процесса равно двум, а данная реакция будет реакцией первого шага процесса. Если такой реакции нет, то требуемый процесс синтеза обладает следующими свойствами:
1) число шагов процесса больше двух;
2) реакцией первого шага является реакция, множеству реагентов которой принадлежит хотя бы одно соединение из множества SubsWill;
3) множество веществ первого шага есть пересечение множества реагентов реакции первого шага и множества SubsWill;
4) множество веществ, добавленных на первом шаге, пусто;
5) реакцией предпоследнего шага является реакция, множеству результатов которой принадлежит соединение Name_Compound;
6) для всех шагов, начиная со второго, и до номера, равного разности числа шагов процесса и 2, выполняются следующие свойства:
Существуют и другие постановки данной задачи, в которых дополнительные условия задают ограничения на число шагов синтеза, ограничения на классы соединений, используемых при синтезе и т.д. Все из задач могут иметь множество решений. Дополнительные условия позволяют выбрать из этого множества некоторое подмножество.
Заключение
В работе описана разработка специализированного компьютерного банка знаний по органической химии на основе модели онтологии. Приведена архитектура специализированного компьютерного банка знаний, описан процесс разработки структуры информационного наполнения банка знаний по модели онтологии. Также приведены примеры спецификаций прикладных задач, решаемых в органической химии, и методов их решения. Решатель задач специализированного банка содержит библиотеку методов решения задач, классы которых фиксируются при разработке специализированного банка знаний по органической химии. Более того, поскольку онтология третьего уровня определяет свойства всех множеств терминов онтологии второго уровня, поэтому в библиотеке методов решения задач содержатся более общие методы решения классов задач, спецификация которых дана в терминах онтологии третьего уровня. Библиотека методов разрабатывается один раз и многократно используется при задании новых онтологий второго и первого уровней и новой базы знаний.
Специализированный трехуровневый редактор метаонтологий, онтологий и знаний для компьютерного банка знаний по химии1
14 12 2014
1 стр.
Описана архитектура банка знаний, структура базы знаний, разработанной на основе онтологии, лежащей в основе системы, а также методы решения задач органической химии. Показано
17 12 2014
1 стр.
Также описывается структура модульной онтологии и ее модели. Приводятся три модуля онтологии и ее модели, описывающие электронное строение и элементный состав органических соединен
01 09 2014
1 стр.
Артемьева А. Н. старший преподаватель кафедры «Коммерция и маркетинг» Самарского института фгбоу впо
06 10 2014
1 стр.
Согласно постановления главы мр «Амгинский улус (район)» Артемьева А. Е. №67 от 10 марта 2010 г. «О задачах по безопасному пропуску весеннего половодья в 2010 г.»
15 09 2014
1 стр.
Целью настоящей работы является рассмотрение существующих определений понятия "онтология предметной области", а также анализ их достоинств и недостатков
15 09 2014
1 стр.
Артемьева И. Л., Князева М. А., Купневич О. А. Модель онтологии предметной области "оптимизация последовательных программ". Термины для описания объекта оптимизации. Препринт 29-20
15 09 2014
5 стр.
Отношения между онтологиями предметных областей. Часть онтологии, представляющие одну и ту же концептуализацию, упрощение онтологий1
14 12 2014
3 стр.