ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
УДК 004.89
И. А. Бессмертный УПРАВЛЕНИЕ КОНТЕКСТОМ В ИНФОРМАЦИОННЫХ СИСТЕМАХ
Исследована проблема поиска данных в информационных системах, построенных на принципах Semantic Web. Обоснована необходимость использования данных контекста в поисковых запросах, предложена концептуальная модель интеллектуального агента, осуществляющего поиск с автоматическим управлением контекстом.
Ключевые слова: информационная система, контекст, онтология, информационный поиск.
Допущение открытого мира и поиск в базах знаний. Системы управления базами данных предоставляют возможность абстрагироваться от файловой системы, индексации и пр. при программировании приложений. При этом остается невозможным доступ на уровне языка SQL для конечного пользователя, поскольку для успешного поиска в базах данных (БД) при составлении SQL-запросов помимо владения языком SQL требуется знание структуры данных. Это означает, что запрос к БД всегда выполняется в заранее определенном и хорошо известном программисту контексте. Появление новых сущностей или отношений требует перепроектирования БД. Отсутствие в БД данных о факте автоматически означает его отрицание, т. е. в БД реализуется допущение замкнутого мира.
В отличие от БД в базах знаний (БЗ) отсутствуют заранее определенные модели данных, а разные фрагменты БЗ могут храниться на распределенных сетевых ресурсах, объединяемых в виде семантической сети во время выполнения поискового запроса. Кроме того, в БЗ обычно применяется допущение открытого мира, при котором отсутствие данных о факте не означает отрицания факта. Указанные свойства БЗ приводят к тому, что вычисление любых, даже очевидных, фактов может потребовать глобального поиска, сложность которого будет несоразмерна ценности полученного результата.
Из первых двух свойств вытекает третье, связанное с формированием запросов к БЗ. Аналогом инфологической модели БД для баз знаний является онтология предметной области. Поисковый запрос к БЗ должен базироваться на онтологии, а интерпретация онтологии представляет собой сложную задачу. Между тем допущение открытого мира означает необходимость неограниченного расширения пространства поиска, а значит и автоматической интерпретации онтологий. В рамках настоящего исследования предполагается, что поиск выполняется в документах, подготовленных на основе одной и той же онтологии.
Роль контекста в задаче поиска. Извлечение знаний из конкретного документа, созданного на основе известной онтологии, практически не отличается от обработки SQL-запросов к БД. Если документ не задан в запросе, возникает задача его поиска. Поиск с помощью серверов, ориентированных на использование человеком (Google, Yahoo, Yandex и др.), бесполезен,
поскольку теги HTML и любой другой разметки не индексируются, в то время как знания формализуются с применением разметки. В последнее время появился ряд сервисов, таких как SWOOGLE <http://swoogle.umbc.edu/>, SWSE <http://swse.org/> и др., позволяющих осуществлять поиск формализованных данных. Необходимость извлечения документов интеллектуальным агентом, в том числе с использованием таких поисковых сервисов, делает актуальной задачу автоматической оценки релевантности найденных документов запросу.
При написании документа всегда предполагается, что читатель знаком с его контекстом. Если название документа не полностью отражает содержание, то оно уточняется во вводной части. В лингвистике контекст есть фрагмент текста минус определяемая единица [1]. Таким образом, контекст ^(m) для сообщения m устанавливается как
£(m) = <С, L, P, I, V > - m,
где C — множество классов объектов, L — множество отношений или предикатов (связей) между объектами, P — множество свойств объектов, I — множество экземпляров объектов, V — множество значений. Следовательно, для каждого последующего mi+1 сообщения предыдущее mi включается в состав контекста:
£(m¿+i) = ^(m¿_i) + mi.
Данное определение является антропоморфным, ориентировано на речевое взаимодействие и предполагает, что субъект и объект такого взаимодействия обладают интеллектом и могут идентифицировать (установить) контекст для каждого коммуникационного акта. В случае информационного поиска установление контекста может быть простым только для локальных БЗ, как, например, это делается с помощью микротеорий в продукте ResearchCyc компании Cycorp <www.cyc.com>. Автор запроса к БЗ должен знать, каким образом факты в базе знаний группируются в микротеории, и эксплицитно указывать идентификатор микротеории в запросе. Необходимость владения микротеориями, идентификаторами элементов БЗ, а также специальным языком запросов делает взаимодействие с такой БЗ подобным работе с БД, которая доступна только для программиста, а не конечного пользователя.
В настоящей работе под контекстом будем понимать множество понятий предметной области, которое должно быть общим для всех участников информационного обмена и позволять обмениваться короткими сообщениями. Другое назначение контекста — ограничение предметной области, позволяющее сократить размерность задачи поиска и избежать противоречивости фактов. Обычно контекст задается в начале коммуникационного акта и при необходимости может уточняться. Таким образом, для правильной интерпретации сообщений все участники обмена информацией должны владеть контекстом. Визуализация знаний также требует использования контекста, как это сделано, в частности, в разработанной автором программе Semantic [2, 3], предназначенной для создания БЗ, извлечения и визуализации знаний.
Концептуальная модель агента для поиска в базах знаний. В соответствии с концепцией Semantic Web [4] извлечение знаний осуществляется интеллектуальными агентами, которые самостоятельно отыскивают требуемую информацию, формулируя при необходимости запросы к другим агентам. В отличие от SQL-запросов к БД (SELECT ... FROM ... WHERE ...) запросы к БЗ, в частности на языке SPARQL, не содержат конструкции FROM, поскольку запрос всегда выполняется в пределах целого документа. Поиск документа должен выполняться по контексту запроса. Это означает, что извлечение фактов из Semantic Web представляет собой двухэтапный процесс (рис. 1).
Поскольку точное совпадение контекста документа и контекста запроса является идеальным случаем, данный процесс не всегда завершается успешно и может итеративно повторяться.
Поиск и извлечение документов
Документы
£
1 г
Поиск и извлечение фактов
1
Факты
Г
Рис. 1
На рис. 2 показаны все возможные сочетания контекста запроса Q и контекста предметной области (домена) Б:
a) запрос породил набор фактов, ни один из которых не является релевантным (отсутствие решений);
b) найдены часть релевантных фактов и некоторое количество нерелевантных (решение есть, но оно неполное и противоречивое);
c) найдены все релевантные факты и часть нерелевантных (решение полное, но противоречивое);
ф) найдена часть релевантных фактов и при этом нет нерелевантных (решение непротиворечивое, но неполное);
е) найдены все релевантные факты и ни одного нерелевантного (целевое состояние: решение полное и непротиворечивое).
Контекст запроса
Контекст домена
а
Ь
В таблице приведены условия появления данных сочетаний и признаки, с помощью которых можно идентифицировать каждое из состояний.
Идентификатор Решение Условие
наличие полнота противоречивость
а 0 0 0 0 П Б = 0
Ь 1 0 1 0 П Б *0 & 0 П Б * 0 и Б
с 1 1 1 0 с Б
а 1 0 0 0 з Б
е 1 1 0 0 = Б
Если запрос не привел к состоянию е, следует изменить запрос. Ограничим модификации запросов двумя операциями: х — обобщение запроса (расширение контекста) и у — уточнение запроса (сужение контекста). Граф на рис. 3 отображает конечный автомат, в котором разрешенными являются только переходы, приближающие к целевому состоянию е (не отдаляющие от е).
Рис. 3
Расширение пространства поиска может привести к увеличению времени извлечения фактов за счет применения правил, и это обстоятельство требует исследования.
Исследование производительности поиска в расширяющемся контексте. Пусть N — число фактов в базе знаний, т — среднее время доступа к одному факту, А^ — число атрибутов или классов, релевантных ¡-му условию запроса, ¡=1, п. При обработке запроса первое условие применяется в среднем к А1/2 атрибутам (классам), второе — если первое выполнено, а вероятность данного события Р1 = 1/А1 и т.д. Заметим, что речь идет не о ветвлении поиска на дереве решений, а о фильтрации фактов, поэтому здесь нет экспоненциального роста сложности поиска.
Таким образом, среднее время Т обработки запроса на извлечение фактов для точно определенного контекста составит
Т = Т | 1+ А + Р1А + Р1Р2 А + ... + Р1Р2. ..РП-1Ап | =
(
= тN
Для А=А1 = А2
1 + ^ + -
2
Ап
2 А
2 А1А2
2 А1А2... Ап-
Л ( = тN
1J
1п
1 +1 У
А
л
2^ ¡-1
2'= П Ак
к=1
Ап при п>2
T = tN il + A + -+ — + ... + - 1
tN
( A + 3)
2 2 2А 2 А"-1) 2
если пренебречь малыми значениями членов ряда, заключенных в скобки.
В случае поиска в расширенном контексте для каждого условия запроса из базы знаний должны извлекаться факты с близкими значениями атрибутов. Пусть 5г- — число допустимых значений /-го атрибута. При этом для каждого атрибута в условии запроса число извлекаемых фактов удваивается, поскольку требуются дополнительные факты, характеризующие близость значений атрибута. Тогда среднее время Тх обработки запроса на извлечение фактов для расширенного контекста будет
Í
Tx =tN
1 + A1 +
М2 A
ô1ô2 A3 A1A2
+... +
5152-5и-1 An 1
f
= tN
Для случая, когда A=A\= A2=
f
Tx =tN
1+A+Ô+
A1A2... An-1
An и ¿=ô1= ô2=.. .= Sn, при n>2, ô
1 + Al
n-1 ô ■ 1
A' П J
i=1 J=1 AJ J
î2 ôn-1 1
- + ... + -
лП-2
' tN(1 + A + ô),
А Аг' ,
если также пренебречь малыми значениями членов ряда.
Если контекст расширяется до целого класса, то для /-го условия запроса атрибут может принадлежать одному из С классов. Первое условие запроса порождает в среднем А1+С1 обращений к базе знаний. Вероятность успешного выполнения первого условия ^р1 = 1/С1. Тогда среднее время Тс обработки запроса на извлечение фактов в пределах класса для каждого из условий запроса составит
tc =tN
(Л A C A2 + C2 A3 + C3
1 + A1 +C1 + 2 _. 2 + 3 _. 3 + ... +
C
CC
1W
A + C
^n^ ^ n C1C2...Cn-1,
Л
f
= tN
n A' + C
\
1+ъ-к
П C
J=1
Для случая, когда A=Ai= A2=.. .=An и С=С\= С2=...= Cn,
Tc = tN I 1 + A + C + A + 1+ A + — + ... + — + -
1
^n-1
^ С с2 С С" С ,
Экспериментальное исследование скорости извлечения фактов производилось в среде 8'^-Рго1о§ на синтетической базе фактов, фрагмент которой представлен ниже.
t 1, isa, matematician). t (1,lives in,denmark).
t 2, isa, player). t (2,lives in,korea).
t 3, isa, restorer). t (3,lives in,mexico).
t 4, isa, graver). t (4,lives in,spain).
t 5, isa, informatics). t (5,lives in,usa).
t 6, isa, conductor). t (6,lives in,switzerland)
t painter , isa, artist). t (painter, id, 1).
t graphic artist, isa,artist). t (graphic artist, id, 2).
t matematician, isa,scientist) . t (matematician, id, 13).
t conductor, isa, musician). t (conductor, id, 23).
t singer, isa, musician). t (singer, id, 2 4).
t korea, isa, asia). t (korea, id, 1).
t china, isa, asia). t (china, id, 2).
t england , isa, europe). t (england, id, 12).
t usa, isa, america). t usa, id, 13).
Базу составляют сгенерированные случайным образом факты о субъектах, идентифицируемых числами и имеющих атрибуты „профессия" и „страна". Экземпляры группируются в классы (континент, ученый, художник, инженер, ...). Кроме того, атрибуты имеют численные идентификаторы, присвоенные таким образом, чтобы близкие значения идентификаторов соответствовали близким профессиям или соседним странам. В точном запросе выбирались все представители конкретной профессии, проживающие в конкретной стране, в расширенном запросе — профессии и страны, имеющие смежные идентификаторы, а в поиске по классам — субъекты, представляющие класс профессий и континент.
На рис. 4 представлены теоретические результаты (цифры без штриха) и данные, полученные с помощью экспериментов (цифры со штрихом) для поиска в точно заданном контексте 1, а также поиска в ближайшем окружении заданного контекста 2 и в классе, объединяющем все контексты уровнем выше 3. Приведенные результаты демонстрируют, во-первых, хорошее совпадение теоретических результатов с экспериментами, во-вторых, линейный рост сложности поиска при увеличении числа фактов в базе данных, в-третьих, заметно большее время поиска в ближайшем окружении заданного контекста по сравнению с поиском в пределах целого класса. Последнее обстоятельство объясняется тем, что при поиске в целом классе
Рис. 4
Заключение. Представленные результаты исследования демонстрируют линейный рост сложности поиска в расширяющемся контексте, что позволяет использовать предложенную концептуальную модель интеллектуального агента для извлечения знаний из Semantic Web. Отдельного исследования заслуживает проблема идентификации контекста, решение которой может позволить автоматически оценивать степень доверия к результатам поиска.
Работа выполнена при финансовой поддержке ФЦП „Научные и научно-педагогические кадры инновационной России на 2009—2013 годы" (соглашение № 14.В37.21.0406).
список литературы
1. ТорсуеваИ. Г. Контекст // Лингвистический энциклопедический словарь. М.: СЭ, 1990. С. 238—239.
2. Бессмертный И. А. Методы поиска информации с использованием интеллектуального агента // Изв. вузов.
Приборостроение. 2009. Т. 52, № 12. С. 26—31.
Применение технологии CUDA для ускорения расчета цен опционов
13
3. Bessmertny I. A. Knowledge Visualization Based on Semantic Networks // Programming and Computer Software. 2010. Vol. 36, N 4. P. 197—204.
4. Berners-Lee T., Hendler J., Lassila O. The Semantic Web // Scientific American Magazine. 2001. May. Игорь Александрович Бессмертный —
Рекомендована кафедрой вычислительной техники
Сведения об авторе
канд. техн. наук, доцент; Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, кафедра вычислительной техники; E-mail: [email protected]
Поступила в редакцию 08.02.12 г.
УДК 519.688
М. С. Косяков, Д. Н. Шинкарук, А. В. Торопов, Ю. А. Шполянский
ПРИМЕНЕНИЕ ТЕХНОЛОГИИ CUDA ДЛЯ УСКОРЕНИЯ РАСЧЕТА ЦЕН ОПЦИОНОВ ЕВРОПЕЙСКОГО ТИПА
СЕТОЧНЫМ МЕТОДОМ
Дифференциальное уравнение Блэка—Шоулза решено численно по схеме Кранка—Николсона на графическом процессоре с применением технологии CUDA. Использование видеокарты NVIDIA GTX 580 позволило достичь ускорения более чем в 20 раз по сравнению с однопоточным расчетом на процессоре Intel Core i7 3,4 ГГц и в 2—3 раза по сравнению с наилучшими показателями многопоточной версии, основанной на технологии GCD на процессорах 2x Intel Xeon 3,06 ГГц с 24 ядрами. Результаты получены для нагрузочных параметров, представляющих практический интерес в системах алгоритмической торговли.
Ключевые слова: CUDA, GPU общего назначения, параллельная циклическая редукция, алгоритмическая торговля, опцион, схема Кранка—Николсона.
Введение. Одной из важнейших задач систем алгоритмической торговли, позволяющих совершать торговые операции на электронных финансовых рынках с помощью специализированных компьютерных систем, является расчет цен опционов в режиме реального времени с учетом постоянного изменения их параметров. Точные аналитические решения доступны не для всех типов опционов и вариантов постановки задач. Поэтому для теоретического ценообразования широко применяются численные методы [1]. В последние годы активно исследуются возможности применения современных видеокарт с мощными графическими процессорами (ГП) для ускорения расчетов [2—5]. В большинстве работ рассматриваются численные методы, обладающие естественным параллелизмом — метод Монте-Карло, биномиальная модель или явные разностные схемы [2, 3].
Для ускорения расчета цен опционов с использованием неявной схемы Кранка—Николсона второго порядка точности в настоящей работе применена технология CUDA-вычислений (Compute Unified Device Architecture) на ГП, разработанном компанией NVIDIA. Алгоритмы реализованы в виде CUDA-программы, исполняемой ГП видеокарты, а также в виде одно- и многопоточного приложения для выполнения центральным процессором (ЦП). Проведено сравнение времени вычислений и погрешности получаемых на современном оборудовании результатов в условиях, характерных для систем алгоритмической торговли. Выявлены условия и способы оптимальной организации вычислительного процесса.