Книга
Книга
Предисловие
Вы открываете необычный учебник — учебник, предназначенный для студентов технических университетов и их преподавателей, для аспирантов, магистров, бакалавров и практиков-разработчиков. Этот учебник написан для тех, кто хочет вступить в мир науки с интригующим названием — ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ.
Несмотря на обилие книг с аналогичным названием (см. список основной литературы), на сегодняшний день нет вузовского учебника по предметам «Интеллектуальные системы», «Экспертные системы», <Базы знаний» и т. д. Тем не менее практически все технические университеты совершенно справедливо включили такого рода дисциплины в свои программы. Поскольку бум в этой науке пришелся на конец 70-х и 80-е, большинство книг на русском языке издано в эти годы. И авторы приносят благодарность создателям первых отечественных монографий и справочников, а также переводчикам классических книг в этой области —Д. А. Поспелову, Э. В. Попову, В. Л. Стефанюку, Г. С. Осипову и другим пионерам, без работ которых создание этого учебника было бы невозможно.
Необычность этого учебника связана также с подчеркнутой междисциплинарностью выбранного подхода, отказом от «клановости» отдельных научных школ и направлений. Этот учебник могут читать инженеры и математики, экономисты и биологи, программисты и медики. Он практически не требует предварительной подготовки в данной области знаний и рассчитан на широкий круг читателей, заинтересованных разработкой интеллектуальных систем, основанных на знаниях.
Мы отказались от излишней специализации в пользу широты изложения, нам хотелось представить горизонты этой науки, а не прокопать в ней глубокий, но узкий туннель.
Другой особенностью учебника является его практическая направленность. Освоив изложенный материал, студент или другой заинтересованный читатель сможет самостоятельно приступить к разработке интеллектуальной системы в роли инженера по знаниям. Акцент в учебнике сделан именно на работу со знаниями. Фактически он ориентирован на подготовку уникальных специалистов, спрос на которых на современном рынке высоких информационных технологий многократно превышает спрос на программистов. Этих специалистов называют по-разному —системные аналитики, постановщики задач, инженеры по знаниям, инже- неры-когнитологи. По английски это — knowledge engineers.
Рассмотренные в учебнике вопросы представляют лишь вершину айсберга сравнительно молодой науки — ИНЖЕНЕРИИ ЗНАНИЙ. И, надеемся, показывают ее новые горизонты в мире информационных технологий.
Учитывая значительное число достижений и публикаций в этой области за рубежом, авторы сознательно будут приводить терминологию, используемую в ориги- налах, что существенно облетит изучение проблемы желающим повысить свою квалификацию через Интернет и другие источники англоязычной информации. Материал учебника основан на курсах лекций, прочитанных авторами для студентов Санкт-Петербургского государственного технического университета (бывший Политех) и Московского физико-технического института (Технического университета). Объем курса от 32 до 64 лекционных часов плюс столько же практических занятий. По сути дела здесь в одном учебнике собрано несколько курсов лекций, ориентированных на разные специализации и разную базовую подготовку.- В целом же данный учебник, по опыту авторов, содержит материал для двухгодовых курсов с общим названием «Искусственный интеллект».
Разные категории читателей могут читать учебник по различным «сценариям».
Сценарий 1 — для студентов - ^сачков > технических вузов перед сессией. Пометить в оглавлении параграфы, вошедшие в список вопросов для экзамена, и читать на максимальной скорости.
Сценарий 2 — для студентов-отличников. Внимательно прочесть весь учебник последовательно, затем перейти к сценарию 1.
Сценарий 3 — для студентов-непрограммистов и всех, кто просто интересуется проблемой для расширения кругозора. Главы 1, 2,4,9.
Сценарий 4 — для преподавателей вузов и тех, кто хочет овладеть инженерией знаний. Использовать учебник как готовый конспект, расширив или сократив материал по своему усмотрению. Варианты:
минимальный курс: параграфы 1.1-1.4, 2.1-2.4, 3.2, 3.4, 4.1-4.3, 4.4, 6.3, 82 9.1;
главы 1-2 могут составить основу вводного курса в проблематику искусственного интеллекта и систем, основанных на знаниях;
аналогичный вводный курс по тематике программных средств искусственного интеллекта может дать материал главы 6, параграфа 7.1 и, при наличии времени, 9.1, 9.2;
семестровый курс по базам знаний экспертных систем может быть прочитан на основе глав 2-4, 7;
базовый курс по инженерии знаний составляют главы 3,4;
наконец, главы 8, 9 дают основу для курса по тематике интеллектуальных Интернет-технологий.
• Сценарий 5 — для системных аналитиков. Главы 3-6.
.• Сценарий 6 — для программистов и разработчиков. Главы 2-4, 6-9.
Материал, набранный более мелким шрифтом, носит иллюстративный характер.
В заключение авторы благодарят заведующую редакцией технической литературы издательства «Питер» Екатерину Строганову за энергию и энтузиазм при убеждении авторов принять решение о начале работы над учебником и поддержку в ее завершении.
В параграфе 4.6. четвертой главы использованы материалы монографии «Приобретение знаний интеллектуальными системами», любезно предоставленные ее автором Г. С. Осиповым.
На подготовку материалов, представленных в параграфах 8.2 и 8.3 восьмой главы, а также в параграфах 9.1 и 9.3 девятой главы, в значительной мере повлияла работа по мультиагентным системам и интеллектуальным Интернет-ориентиро- ванным системам поиска информации, проведенная Н. В. Майкевич при подготовке кандидатской диссертации на тему «Исследование методов анализа Ин- тернет-ресурсов и реализация на этой основе мультиагентной системы поиска информации» (ИПС РАН, Переславль-Залесский, 1999). По сути дела именно ей один из авторов данной книги обязан своей «миграцией» в эту новую, чрезвычайно интересную и перспективную область интеллектуальных информационных технологий из проблематики экспертных систем и программного обеспечения систем искусственного интеллекта.
Отдельная благодарность должна быть высказана Е. Васильевой, Н. Нумеровой и Н. Сташ, сотрудницам Института высокопроизводительных вычислений и баз данных Миннауки РФ, за техническую помощь при работе над рукописью, без которой книга могла бы так и не дойти до читателей.
Главы 1-5 написаны д. т. н., проф. Гавриловой Т. А., главы 6-9 — д. т. н., проф. Хорошевским В. Ф. Предисловие и заключение — результат совместной работы авторов, которые с надеждой на дальнейшее сотрудничество выражают глубокую признательность всем, кто помог выходу этой книги.
Об авторах
Т. А. Гаврилова — д. т. н., профессор кафедры компьютерных интеллектуальных технологий Санкт-Петербургского государственного технического университета, председатель Петербургского отделения Ассоциации искусственного интеллекта. В. Ф. Хорошевский — д. т. н., профессор МФТИ, ведущий научный сотрудник вычислительного центра РАН, член Научного Совета Российской Ассоциации искусственного интеллекта.
От издательства
Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты comp@piter-press.ru (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
Подробную информацию о наших книгах вы найдете на Web-сайте издательства http://www.piter-press.ru.
Введение в интеллектуальные системы
口 Краткая история искусственного интеллекта
口 Основные направления исследований в области искусственного интеллекта
口 Представление знаний и вывод на знаниях
口 Нечеткие знания
□ Прикладные интеллектуальные системы
Краткая история искусственного интеллекта
Предыстория
Идея создания искусственного подобия человека для решения сложных задач и моделирования человеческого разума витала в воздухе еще в древнейшие времена. Так, в древнем Египте была создана «оживающая» механическая статуя бога Амона. У Гомера в «Илиаде» бог Гефест ковал человекоподобные существа-автоматы. В литературе эта идея обыгрывалась многократно: от Галатеи Пигмалиона до Буратино папы Карло. Однако родоначальником искусственного интеллекта считается средневековый испанский философ, математик и поэт Раймонд Луллий, который еще в XIII веке попытался создать механическую машину для решения различных задач, на основе разработанной им всеобщей классификации понятий. В XVIII веке Лейбниц и Декарт независимо друг от друга продолжили эту идею, предложив универсальные языки классификации всех наук. Эти работы можно считать первыми теоретическими работами в области искусственного интеллекта. Окончательное рождение искусственного интеллекта как научного направления произошло только после создания ЭВМ в 40-х годах XX века. В это же время Норберт Винер создал свои основополагающие работы по новой науке — кибернетике.
Термин «искусственный интеллект» — ИИ — (AI — artificial intelligence) был предложен в 1956 г. на семинаре с аналогичным названием в Дартсмутском колледже (США). Семинар был посвящен разработке методов решения логических, а не вычислительных задач. В английском языке данное словосочетание не имеет той слегка фантастической антропоморфной окраски, которую оно приобрело в довольно неудачном русском переводе. Слово intelligence означает «умение рассуждать разумно», а вовсе не «интеллект», для которого есть термин intellect.
Вскоре после признания искусственного интеллекта отдельной областью науки произошло разделение его на два направления: нейрокибернетика и ^кибернетика черного ящикам. Эти направления развиваются практически независимо, существенно различаясь как в методологии, так и в технологии. И только в настоящее время стали заметны тенденции к объединению этих частей вновь в единое целое.
Зарождение нейрокибернетики
Основную идею этого направления можно сформулировать следующим образом: Единственный объект, способный мыслить, — это человеческий мозг. Поэтому любое 《мыслящее» устройство должно каким-то образом воспроизводить его структуру.
Таким образом, нейрокибернетика ориентирована на программно-аппаратное моделирование структур, подобных структуре мозга. Физиологами давно установлено, что основой человеческого мозга является большое количество (до 1021) связанных между собой и взаимодействующих нервных клеток — нейронов. Поэтому усилия нейрокибернетики были сосредоточены на создании элементов, аналогичных нейронам, и их объединении в функционирующие системы. Эти системы принято называть нейронными сетями, или нейросетями.
Первые нейросети были созданы Розенблаттом и Мак~Каллоком в 1956-1965 гг. Это были попытки создать системы, моделирующие человеческий глаз и его взаимодействие с мозгом. Устройство, созданное ими тогда, получило название персептрона (perceptron). Оно умело различать буквы алфавита, но было чувствительно к их написанию. Например, буквы Л, А и А для этого устройства были тремя разными знаками. Постепенно в 70-80 годах количество работ по этому направлению искусственного интеллекта стало снижаться. Слишком неутешительны были первые результаты. Авторы объясняли неудачи малой памятью и низким быстродействием существующих в то время компьютеров.
Однако в 1980-х в Японии в рамках проекта «ЭВМ V поколения» был создан первый нейрокомпьютер, или компьютер VI поколения. К этому времени ограничения по памяти и быстродействию были практически сняты. Появились транспьютеры —параллельные компьютеры с большим количеством процессоров.
Транспьютерная технология — это только один из десятка новых подходов к аппаратной реализации нейросетей, которые моделируют иерархическую структуру мозга человека. Основная область применения нейрокомпьютеров сегодня —
это задачи распознавания образов, например идентификация объектов по результатам аэрофотосъемки из космоса.
Можно выделить 3 подхода к созданию нейросетей:
Аппаратный — создание специальных компьютеров, нейрочипов, плат расширения, наборов микросхем, реализующих все необходимые алгоритмы.
Программный — создание программ и инструментариев, рассчитанных на высокопроизводительные компьютеры. Сети создаются в памяти компьютера, всю работу выполняют его собственные процессоры.
Гибридный — комбинация первых двух. Часть вычислений выполняют специальные платы расширения (сопроцессоры), часть — программные средства.
Более глубокое рассмотрение этого чрезвычайно перспективного и интересного направления исследований искусственного интеллекта выходит за рамки данной книги. Подробнее см. работы [Соколов, Вейткявичус, 1989; Амамия, Танака, 1993].
От кибернетики «черного ящика» к ИИ
В основу этого подхода был положен принцип, противоположный нейрокибернетике.
Не имеет значения, как устроено《Мыслящее» устройство. Главное, чтобы на заданные входные воздействия оно реагировало так же, как человеческий мозг. Сторонники этого направления мотивировали свой подход тем, что человек не должен слепо следовать природе в своих научных и технологических поисках. Так, например, очевиден успех колеса, которого не существует в природе, или самолета, не машущего крыльями, подражая птице. К тому же пограничные науки о человеке не смогли внести существенного теоретического вклада, объясняющего хотя бы приблизительно, как протекают интеллектуальные процессы у человека, как устроена память и как человек познает окружающий мир.
Это направление искусственного интеллекта было ориентировано на поиски алгоритмов решения интеллектуальных задач на существующих моделях компьютеров. Существенный вклад в становление новой науки внесли ее «пионеры»: Маккарти (автор первого языка программирования для задач ИИ — ЛИСПа), Минский (автор идеи фрейма и фреймовой модели представления знаний), Ньюэлл, Саймон, Шоу, Хант и другие.
В 1956-1963 гг. велись интенсивные поиски моделей и алгоритмов человеческого мышления и разработка первых программ на их основе. Представители существующих гуманитарных наук — философы, психологи, лингвисты — ни тогда, ни сейчас не в состоянии были предложить таких алгоритмов. Тогда кибернетики начали создавать собственные модели. Так последовательно были созданы и опробованы различные подходы.
В конце 50~х годов родилась модель лабиринтного поиска. Этот подход представляет задачу как некоторое пространство состояний в форме графа, и в этом графе проводится поиск оптимального пути от входных данных к результиру-
ющим. Была проделана большая работа по разработке этой модели, но для решения практических задач эта идея не нашла широкого применения. В первых учебниках по искусственному интеллекту [Хант, 1986; Эндрю, 1985] описаны эти программы — они играют в игру «15», собирают «Ханойскую башню», играют в шашки и шахматы.
Начало 60-х — это эпоха эвристического программирования. Эвристика — правило, теоретически не обоснованное, которое позволяет сократить количество переборов в пространстве поиска. Эвристическое программирование — разработка стратегии действий на основе известных, заранее заданных эвристик [Александров, 1975].
В 1963-1970 гг. к решению задач стали подключать методы математической логики, Робинсон разработал метод резолюций, который позволяет автоматически добывать теоремы при наличии набора исходных аксиом. Примерно в это же время выдающийся отечественный математик Ю. С. Маслов предложил так называемый обратный вывод, впоследствии названный его именем, решающий аналогичную задачу другим способом [Маслов, 1983]. На основе метода резолюций француз Альбер Кольмероэ в 1973 г. создает язык логического программирования Пролог. Большой резонанс имела программа ^Логик-теоретик^, созданная Ньюэлом, Саймоном и Шоу, которая доказывала школьные теоремы. Однако большинство реальных задач не сводится к набору аксиом, и человек, решая производственные задачи, не использует классическую логику, поэтому логические модели при всех своих преимуществах имеют существенные ограничения по классам решаемых задач.
История искусственного интеллекта полна драматических событий, одним из которых стал в 1973 г. так называемый «доклад Лайтхилла», который был подготовлен в Великобритании по заказу Британского совета научных исследований. Известный математик Д. Лайтхим, никак с ИИ профессионально не связанный, подготовил обзор состояния дел в области ИИ. В докладе были признаны определенные достижения в области ИИ, однако уровень их определялся как разочаровывающий, и общая оценка была отрицательная с позиций практической значимости. Этот отчет отбросил европейских исследователей примерно на 5 лет назад, так как финансирование ИИ существенно сократилось.
Примерно в это же время существенный прорыв в развитии практических приложений искусственного интеллекта произошел в США, когда к середине 1970-х на смену поискам универсального алгоритма мышления пришла идея моделировать конкретные знания специалистов-экспертов. В США появились первые коммерческие системы, основанные на знаниях, или экспертные системы (ЭС). Стал применяться новый подход к решению задач искусственного интеллекта — представление знаний. Созданы MYCIN и DENDRAL [Shortliffe, 1976; Buchanan, Feigenbaum, 1978} ставшие уже классическими, две первые экспертные системы для медицины и химии. Существенный финансовый вклад вносит Пентагон, предлагая базировать новую программу министерства обороны США (Strategic Computer Initiative — SCI) на принципах ИИ. Уже вдо-
гонку упущенных возможностей в начале 80-х объявлена глобальная программа развития новых технологий ESPRIT (Европейский Союз), в которую включена проблематика искусственного интеллекта.
В ответ на успехи США в конце 70-х в гонку включается Япония, объявив о начале проекта машин V поколения, основанных на знаниях. Проект был рассчитан на 10 лет и объединял лучших молодых специалистов (в возрасте до 35 лет) крупнейших японских компьютерных корпораций. Для этих специалистов был создан специально новый институт ICOT, и они получили полную свободу действий, правда, без права публикации предварительных результатов. В результате они создали достаточно громоздкий и дорогой символьный процессор, программно реализующий ПРОЛОГо-подобный язык, не получивший широкого признания. Однако положительный эффект этого проекта был очевиден. В Японии появилась значительная группа высококвалифицированных специалистов в области ИИ, которая добилась существенных результатов в различных прикладных задачах. К середине 90-х японская ассоциация ИИ насчитывает 40 тыс. человек.
Начиная с середины 1980-х годов, повсеместно происходит коммерциализация искусственного интеллекта. Растут ежегодные капиталовложения, создаются промышленные экспертные системы. Растет интерес к самообучающимся системам. Издаются десятки научных журналов, ежегодно собираются международные и национальные конференции по различным направлениям ИИ.
Искусствейный интеллект становится одной из наиболее перспективных и престижных областей информатики (computer science).
История искусственного интеллекта
в России
В 1954 г. в МГУ начал свою работу семинар «Автоматы и мышление» под руководством академика Ляпунова А. Л. (1911-1973), одного из основателей российской кибернетики. В этом семинаре принимали участие физиологи, лингвисты, психологи, математики. Принято считать, что именно в это время родился искусственный интеллект в России. Как и за рубежом, выделились два основных направления — нейрокибернетики и кибернетики «черного ящика».
В 1954-1964 гг. создаются отдельные программы и проводятся исследования в области поиска решения логических задач. В Ленинграде (ЛОМИ — Ленинградское отделение математического института им. Стеклова) создается программа АЛПЕВ ЛОМИ, автоматически доказывающая теоремы. Она основана на оригинальном обратном выводе Маслова, аналогичном методу резолюций Робинсона. Среди наиболее значимых результатов, полученных отечественными учеными в 60-е годы, следует отметить алгоритм «Кора» М. М. Бонгарда, моделирующий деятельность человеческого мозга при распознавании образов. Большой вклад в становление российской школы ИИ внесли выдающиеся ученые Цетлин М.乙, Пушкин В. Н“ Гаврилов М. А, чьи ученики и явились пионерами этой науки в России (например, знаменитая Гавриловская школа).
В 1965-1980 гг. происходит рождение нового направления — ситуационного управления (соответствует представлению знаний, в западной терминологии). Основателем этой научной школы стал проф. Поспелов Д. Л. Были разработаны специальные модели представления ситуаций — представления знаний [Поспелов, 1986].
При том что отношение к новым наукам в советской России всегда было настороженное, наука с таким ^вызывающими названием тоже не избежала этой участи и была встречена в Академии наук в штыки [Поспелов, 1997]. К счастью, даже среди членов Академии наук СССР нашлись люди, не испугавшиеся столь необычного словосочетания в качестве названия научного направления. Двое из них сыграли огромную роль в борьбе за признание ИИ в нашей стране. Это были академики А. И. Берг и Г. С Поспелов.
Только в 1974 году при Комитете по системному анализу при президиуме АН СССР был создан Научный совет по проблеме «Искусственный интеллект», его возглавил Г. С. Поспелов, его заместителями были избраны Д. А. Поспелов и Л. И. Микулич. В состав совета входили на разных этапах М. Г. Гаазе-Рапопорт, Ю. И. Журавлев, Л. Т. Кузин, А. С. Нариньяни, Д. Е. Охоцимский, А. И. Половинкин, О. К. Тихомиров, В. В. Чавчанидзе.
По инициативе Совета было организовано пять комплексных научных проектов, которые были возглавлены ведущими специалистами в данной области. Проекты объединяли исследования в различных коллективах страны: «Диалог» (работы по пониманию естественного языка, руководители А. П. Ершов, А. С. Наринь- яни), «Ситуация» (ситуационное управление, Д. А. Поспелов), «Ванк» (банки данных, Л. Т. Кузин), «Конструктор» (поисковое конструирование, А. И. Половинкин), «Интеллект робота» (Д. Е. Охоцимский).
В 1980-1990 гг. проводятся активные исследования в области представления знаний, разрабатываются языки представления знаний, экспертные системы (более 300). В Московском университете создается язык РЕФАЛ.
В 1988 г. создается АИИ — Ассоциация искусственного интеллекта. Ее членами являются более 300 исследователей. Президентом Ассоциации единогласно избирается Д. А. Поспелов, выдающийся ученый, чей вклад в развитие ИИ в России трудно переоценить. Крупнейшие центры — в Москве, Петербурге, Пе- реславле-Залесском, Новосибирске. В научный совет Ассоциации входят ведущие исследователи в области ИИ — В. П. Гладун, В. И. Городецкий, Г. С. Осипов, Э. В. Попов, В. Л. Стефанюк, В. Ф. Хорошевский, В. К. Финн, Г. С. Цейтин, А. С. Эрлих и другие ученые. В рамках Ассоциации проводится большое количество исследований, организуются школы для молодых специалистов, семинары, симпозиумы, раз в два года собираются объединенные конференции, издается научный журнал.
Уровень теоретических исследований по искусственному интеллекту в России ничуть не ниже мирового. К сожалению, начиная с 80-х гг. на прикладных работах начинает сказываться постепенное отставание в технологии. На данный момент отставание в области разработки промышленных интеллектуальных систем составляет порядка 3-5 лет.
Основные направления исследований в области искусственного интеллекта
Синтезируя десятки определений ИИ из различных источников, в данной книге в качестве рабочего определения можно предложить следующее.
Искусственный интеллект — это одно из направлений информатики, целью которого является разработка аппаратно-программных средств, позволяющих пользователю-непрограммисту ставить и решать свои, традиционно считающиеся интеллектуальными задачи, общаясь с ЭВМ на ограниченном подмножестве естественного языка.
Среди множества направлений искусственного интеллекта есть несколько ведущих, которые в настоящее время вызывают наибольший интерес у исследователей и практиков. Опишем их чуть подробнее.“
Представление знаний и разработка систем, основанных на знаниях (knowledge-based systems)
Это основное Направление в области изучения искусственного интеллекта. Оно связано с разработкой моделей представления знаний, созданием баз знаний, образующих ядро экспертных систем. В последнее время включает в себя модели и методы извлечения и структурирования знаний и сливается с инженерией знаний. Именно исследованиям в этой области посвящена данная книга. Подробнее см. главы 2-5.
Программное обеспечение систем ИИ (software engineering for Al)
В рамках этого направления разрабатываются специальные языки для решения интеллектуальных задач, в которых традиционно упор делается на преобладание логической и символьной обработки над вычислительными процедурами. Эти языки ориентированы на символьную обработку информации — LISP, PROLOG, SMALLTALK, РЕФАЛ и др. Помимо этого создаются пакеты прикладных программ, ориентированные на промышленную разработку интеллектуальных систем, или программные инструментарии искусственного интеллекта, например КЕЕ, ARTS, G2 [Хейес-Рот и др., 1987; Попов, Фоминых, Кисель, Шапот, 1996]. Достаточно популярно также создание так называемых пустых экспертных систем или «оболочек» — КАРРА, EXSYS, Ml, ЭКО и др., базы знаний которых можно наполнять конкретными знаниями, создавая различные прикладные системы. Подробно эти технологии рассмотрены в главе 6.
Разработка естественно-языковых интерфейсов и машинный перевод (natural language processing)
Начиная с 50-х годов одной из популярных тем исследований в области ИИ является компьютерная лингвистика, и, в частности, машинный перевод (МП). Идея машинного перевода оказалась совсем не так проста, как казалось первым исследователям и разработчикам.
Уже первая программа в области естественно-языковых (ЕЯ) интерфейсов — переводчик с английского на русский язык — продемонстрировала неэффективность первоначального подхода, основанного на пословном переводе. Однако еще долго разработчики пытались создать программы на основе морфологического анализа. Неплодотворность такого подхода связана с очевидным фактом: человек может перевести текст только на основе понимания его смысла и в контексте предшествующей информации, или контекста. Иначе появляются переводы в стиле «Моя дорогая Маша — my expensive Masha». В дальнейшем системы МП усложнялись и в настоящее время используется несколько более сложных моделей:
применение так называемых ^языков-посредников^ или языков смысла, в результате происходит дополнительная трансляция «исходный язык оригинала —язык смысла — язык перевода»;
ассоциативный поиск аналогичных фрагментов текста и их переводов в специальных текстовых репозиториях или базах данных;
структурный подход, включающий последовательный анализ и синтез естественно-языковых сообщений. Традиционно такой подход предполагает наличие нескольких фаз анализа:
Морфологический анализ — анализ слов в тексте.
Синтаксический анализ — разбор состава предложений и грамматических связей между словами.
Семантический анализ — анализ смысла составных частей каждого предложения на основе некоторой предметно-ориентированной базы знаний.
Прагматический анализ — анализ смысла предложений в реальном контексте на основе собственной базы знаний.
Синтез ЕЯ-сообщений включает аналогичные этапы, но несколько в другом порядке. Подробнее см. работы [Попов, 1982; Мильковский, 1985].
Интеллектуальные роботы (robotics)
Идея создания роботов далеко не нова. Само слово «робот» появилось в 20-х годах, как производное от чешского «робота» — тяжелой грязной работы. Его автор — чешский писатель Карел Чапек, описавший роботов в своем рассказе 《Р.У.Р».
Роботы — это электротехнические устройства, предназначенные для автоматизации человеческого труда.
Можно условно выделить несколько поколений в истории создания и развития робототехники:
I поколение. Роботы с жесткой схемой управления. Практически все современные промышленные роботы принадлежат к первому поколению. Фактически это программируемые манипуляторы.
II поколение. Адаптивные роботы с сенсорными устройствами. Есть образцы таких роботов, но в промышленности они пока используются мало.
III поколение. Самоорганизующиеся или интеллектуальные роботы. Это — конечная цель развития робототехники. Основные нерешенные проблемы при создании интеллектуальных роботов — проблема машинного зрения и адекватного хранения и обработки трехмерной визуальной информации.
В настоящее время в мире изготавливается более 60 000 роботов в год. Фактически робототехника сегодня — это инженерная наука, не отвергающая технологий ИИ, но не готовая пока к их внедрению в силу различных причин.
Обучение и самообучение (machine learning)
Активно развивающаяся область искусственного интеллекта. Включает модели, методы и алгоритмы, ориентированные на автоматическое накопление и формирование знаний на основе анализа и обобщения данных [Гаек, Гавранек, 1983; Гладун, 1994; Финн, 1991]. Включает обучение по примерам (или индуктивное), а также традиционные подходы из теории распознавания образов.
В последние годы к этому направлению тесно примыкают стремительно развивающиеся системы data mining — анализа данных и knowledge discovery — поиска закономерностей в базах данных.
Распознавание образов (pattern recognition)
Традиционно — одно из направлений искусственного интеллекта, берущее начало у самых его истоков, но в настоящее время практически выделившееся в самостоятельную науку. Ее основной подход — описание классов объектов через определенные значения значимых признаков. Каждому объекту ставится в соот-1 ветствие матрица признаков, по которой происходит его распознавание. Процедура распознавания использует чаще всего специальные математические процедуры и функции, разделяющие объекты на классы. Это направление близко к машинному обучению и тесно связано с нейрокибернетикой [Справочник по ИИ, 1990].
Новые архитектуры компьютеров (new hardware platforms and architectures)
Самые современные процессоры сегодня основаны на традиционной последовательной архитектуре фон Неймана, используемой еще в компьютерах первых поколений. Эта архитектура крайне неэффективна для символьной обработки. Поэтому усилия многих научных коллективов и фирм уже десятки лет нацелены на разработку аппаратных архитектур, предназначенных для обработки символьных и логических данных. Создаются Пролог- и Лисп-машины, компьютеры V и VI поколений. Последние разработки посвящены компьютерам баз данных, параллельным и векторным компьютерам [Амамия, Танака, 1993].
И хотя удачные промышленные решения существуют, высокая стоимость, недостаточное программное оснащение и аппаратная несовместимость с традиционными компьютерами существенно тормозят широкое использование новых архитектур.
Игры и машинное творчество
Это, ставшее скорее историческим, направление связано с тем, что на заре исследований ИИ традиционно включал в себя игровые интеллектуальные задачи — шахматы, шашки, го. В основе первых программ лежит один из ранних подходов —лабиринтная модель мышления плюс эвристики. Сейчас это скорее коммерческое направление, так как в научном плане эти идеи считаются тупиковыми.
Кроме того, это направление охватывает сочинение компьютером музыки [Зарипов, 1983], стихов, сказок [Справочник по ИИ, 1986] и даже афоризмов [Любич, 1998]. Основным методом подобного «творчества» является метод пермутаций (перестановок) плюс использование некоторых баз знаний и данных, содержащих результаты исследований по структурам текстов, рифм, сценариям и т. п.
Другие направления
ИИ — междисциплинарная наука, которая, как мощная река по дороге к морю, вбирает в себя ручейки и речки смежных наук. Выше перечислены лишь те направления, которые прямо или косвенно связаны с основной тематикой учебника —инженерией знаний. Стоит лишь взглянуть на основные рубрикаторы конференций по ИИ, чтобы понять, насколько широко простирается область исследований по ИИ:
генетические алгоритмы;
когнитивное моделирование;
интеллектуальные интерфейсы;
распознавание и синтез речи;
дедуктивные модели;
многоагентные системы;
онтологии;
менеджмент знаний;
логический вывод;
формальные модели;
мягкие вычисления и многое другое.
Конечно, невозможно в рамках одного учебника рассмотреть все многообразие подходов и идей в области ИИ. Однако некоторые новые направления будут подробнее описаны в главах 5,8, 9.
Представление знаний и вывод
на знаниях
Данные и знания
При изучении интеллектуальных систем традиционно возникает вопрос — что же такое знания и чем они отличаются от обычных данных, десятилетиями обрабатываемых ЭВМ. Можно предложить несколько рабочих определений, в рамках которых это становится очевидным.
Данные — это отдельные факты, характеризующие объекты, процессы и явления предметной области, а также их свойства.
При обработке на ЭВМ данные трансформируются, условно проходя следующие этапы:
D1 — данные как результат измерений и наблюдений;
D2 — данные на материальных носителях информации (таблицы, протоколы, справочники);
D3 — модели (структуры) данных в виде диаграмм, графиков, функций;
D4 — данные в компьютере на языке описания данных;
D5 — базы данных на машинных носителях информации.
Знания основаны на данных, полученных эмпирическим путем. Они представляют собой результат мыслительной деятельности человека, направленной на обобщение его опыта, полученного в результате практической деятельности.
Знания — это закономерности предметной области (принципы, связи, законы), полученные в результате практической деятельности и профессионального опыта, позволяющие специалистам ставить и решать задачи а этой области.
При обработке на ЭВМ знания трансформируются аналогично данным.
Z1 — знания в памяти человека как результат мышления;
Z2 — материальные носители знаний (учебники, методические пособия);
Z3 — поле знаний — условное описание основных объектов предметной области, их атрибутов и закономерностей, их связывающих;
Z4 — знания, описанные на языках представления знаний (продукционные языки, семантические сети, фреймы — см. далее);
Z5 — база знаний на машинных носителях информации.
Часто используется такое определение знаний.
Знания — это хорошо структурированные данные, или данные о данных, или метаданные.
Существует множество способов определять понятия. Один из широко применяемых способов основан на идее интенсионала. Интенсионал понятия — это определение его через соотнесение с понятием более высокого уровня абстракции с указанием специфических свойств. Интенсионалы формулируют знания об объектах. Другой способ определяет понятие через соотнесение с понятиями более низкого уровня абстракции или перечисление фактов, относящихся к определяемому объекту. Это есть определение через данные, или экстенсионал понятия.
Пример 1.1
Понятие «персональный компьютер». Его интенсионал: «Персональный компьютер — это дружественная ЭВМ, которую можно поставить на стол и купить менее чем за $2000-3000».
Экстенсионал этого понятия: ^Персональный компьютер — это Mac, IBM PC, Sinkler...^
Для хранения данных используются базы данных (для них характерны большой объем и относительно небольшая удельная стоимость информации), для хранения знаний — базы знаний (небольшого объема, но исключительно дорогие информационные массивы). База знаний — основа любой интеллектуальной системы.'
Знания могут быть классифицированы по следующим категориям:
Поверхностные — знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области.
Глубинные — абстракции, аналогии, схемы, отображающие структуру и природу процессов, протекающих в предметной области. Эти знания объясняют явления и могут использоваться для прогнозирования поведения объектов.
Пример 1.2
Поверхностные знания: «Если нажать на кнопку звонка, раздастся звук. Если болит голова, то следует принять аспирина.
Глубинные знания: «Принципиальная электрическая схема зввонка и проводки. Знания физиологов и врачей высокой квалификации о причинах, видах головных болей и методах 〃х лечения».
Современные экспертные системы работают в основном с поверхностными знаниями. Это связано с тем, что на данный момент нет универсальных методик, позволяющих выявлять глубинные структуры знаний и работать с ними.
Кроме того, в учебниках по ИИ знания традиционно делят на процедурные и декларативные. Исторически первичными были процедурные знания, то есть знания, «растворенные» в алгоритмах. Они управляли данными. Для их изменения требовалось изменять программы. Однако с развитием искусственного интеллекта приоритет данных постепенно изменялся, и все большая часть знаний сосредоточивалась в структурах данных (таблицы, списки, абстрактные типы данных), то есть увеличивалась роль декларативных знаний.
Сегодня знания приобрели чисто декларативную форму, то есть знаниями считаются предложения, записанные на языках представления знаний, приближенных к естественному и 口叫巾нмх неспециалистам.
Модели представления знаний
Существуют десятки моделей (или языков) представления знаний для различных предметных областей. Большинство из них может быть сведено к следующим классам:
продукционные модели;
семантические сети;
фреймы;•
формальные логические модели. 一
Продукционная модель
Продукционная модель или модель, основанная на правилах, позволяет представить знания в виде предложений типа «Если (условие), то (действие)».
Под «условием» (антецедентомJ понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под «действием» (консеквентом) — действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия и терминальными или целевыми, завершающими работу системы).
Чаще всего вывод на такой базе знаний бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения — к данным). Данные — это исходные факты, хранящиеся в базе фактов, на основании которых запускается машина вывода или интерпретатор правил, перебирающий правила из продукционной 6aqiя знаний (см. далее).
Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода.
Имеется большое число программных средств, реализующих продукционный подход (язык OPS 5; «оболочки» или «пустые» ЭС — EXSYS Professional, Карра, ЭКСПЕРТ; ЭКО, инструментальные системы ПЙЭС [Хорошевский, 1993] и СПЭИС [Ковригин, Перфильев, 1988] и др.), а также промышленных ЭС на его основе (например, ЭС, созданных средствами G2 [Попов, 1996]) и др.
Семантические сети
Термин семантическая означает «смысловая», а сама семантика — это наука, устанавливающая отношения между символами и объектами, которые они обозначают, то есть наука, определяющая смысл знаков.
Семантическая сеть — это ориентированный граф, вершины которого — понятия, а дуги —отношения между ними.
В качестве понятий обычно выступают абстрактные или конкретные объекты, а отношения — это связи типа: «это» («АКО — А-Kind-Of», «is»), «имеет частью» («has part疹),«принадлежит», «любит». Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:
класс — элемент класса (цветок — роза);
свойство — значение (цвет — желтый);
пример элемента класса (роза — чайная).
Можно предложить несколько классификаций семантических сетей, связанных с типами отношений между понятиями.
По количеству типов отношений:
Однородные (с единственным типом отношений).
Неоднородные (с различными типами отношений).
По типам отношений:
Бинарные (в которых отношения связывают два объекта).
N-арные (в которых есть специальные отношения, связывающие более двух понятий).
Наиболее часто в семантических сетях используются следующие отношения:
связи типа участь — целое» («класс — подкласса, ^элемент —множеством, и т. п.);
функциональные связи (определяемые обычно глаголами «производит», 《влияет»...);
количественные (больше, меньше, равно...);
пространственные (далеко от , близко от, за, под, над...);
временные (раньше, позже, в течение.,.);
атрибутивные связи (иметь свойство, иметь значение);
логические связи (И, ИЛИ, НЕ);
лингвистические связи и др.
Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, отражающей поставленный запрос к базе.
Пример 1.3
На рис. 1.1 изображена семантическая сеть. В качестве вершин тут выступают понятия «человек», «т. Иванов», «Волга», «автомобиль», «вид транспорта» и «двигатель».
Данная модель представления знаний была предложена американским психологом Куиллианом. Основным ее преимуществом является то, что она более других соответствует современным представлениям об организации долговременной памяти человека [Скрэгг, 1983].
Недостатком этой модели является сложность организации процедуры поиска вывода на семантической сети.
Для реализации семантических сетей существуют специальные сетевые языки, например NET [Цейтин, 1985], язык реализации систем SIMER+MIR [Осипов, 1997] и др. Широко известны экспертные системы, использующие семантические сети в качестве языка представления знаний — PROSPECTOR, CASNET, TORUS [Хейес-Рот и др., 1987; Durkin, 1998].
Фреймы
Термин фрейм (от английского frame, что означает《каркас» или《рамка») был предложен Марвином Минским [Минский, 1979], одним из пионеров ИИ, в 70-е годы для обозначения структуры знаний для восприятия пространственных сцен. Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование.
Фрейм — это абстрактный образ для представления некоего стереотипа восприятия.
В психологии и философии известно понятие абстрактного образа. Например, произнесение вслух слова «комната» порождает у слушающих образ комнаты: «жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6-20 м2». Из этого описания ничего нельзя убрать (например, убрав окна, мы получим уже чулан, а не комнату), но в нем есть «дырки» или «слоты» — это незаполненные значения некоторых атрибутов — например, количество окон, цвет стен, высота потолка, покрытие пола и др.
В теории фреймов такой образ комнаты называется фреймом комнаты. Фреймом также называется и формализованная модель для отображения образа.
Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фреймы -экземпляры, которые создаются для отображения реальных фактических ситуаций на основе поступающих данных. Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через:
фреймы-структуры, использующиеся для обозначения объектов и понятий (заем, залог, вексель);
фреймы-роли (менеджер, кассир, клиент);
фреймы-сценарии (банкротство, собрание акционеров, празднование именин);
фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.
Традиционно структура фрейма может быть представлена как список свойств:
(ИМЯ ФРЕЙМА:
(имя 1-го слота: значение 1-го слота),
(имя 2-го слота: значение 2-го слота),
(имя N-ro слота: значение N-ro слота))..
Ту же запись можно представить в виде таблицы, дополнив ее двумя столбцами.
Таблица 1.1. Структура фрейма
Имя фрейма.
Имя слота
Значение слота
Способ получания значения
Присоединенная процедура
В таблице дополнительные столбцы предназначены для описания способа получения слотом его значения и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов. В качестве значения слота может выступать имя другого фрейма, так образуются сети фреймов.
Существует несколько способов получения слотом значений во фрейме-экземпляре:
по умолчанию от фрейма-образца (Default-значение);
через наследование свойств от фрейма, указанного в слоте АКО;
по формуле, указанной в слоте;
через присоединенную процедуру;
явно из диалога с пользователем;
из базы данных.
Важнейшим свойством теории фреймов является заимствование из теории семантических сетей — так называемое наследование свойств. И во фреймах, и в семантических сетях наследование происходит по АКО-связям (A-Kind-Of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, то есть переносятся, значения аналогичных слотов.
Пример 1.4
Например, в сети фреймов на рис. 1.2 понятие «ученик* наследует свойства фреймов «ребенок» и «человек», которые находятся на более высоком уровне иерархии. Так, на вопрос «любят ли ученики сладкое» следует ответ «да», так как этим свойством обладают все дети, что указано во фрейме «ребенок». Наследование свойств может быть частичным, так как возраст для учеников не наследуется из фрейма «ребенок», поскольку указан явно в своем собственном фрейме.
Рис. 1.2. Сеть фреймов
Основным преимуществом фреймов как модели представления знаний является то, что она отражает концептуальную основу организации памяти человека [Шенк, Хантер, 1987], а также ее гибкость и наглядность.
Специальные языки представления знаний в сетях фреймов FRL (Frame Representation Language) [Байдун, Бунин, 1990], KRL (Knowledge Representation Language) [Уотермен, 1989], фреймовая «оболочка» Карра [Стрельников, Борисов, 1997] и другие программные средства позволяют эффективно строить промышленные ЭС. Широко известны такие фрейм-ориентированные экспертные системы, как ANALYST, МОДИС, TRISTAN, ALTERID [Ковригин, Перфильев, 1988; Николов, 1988; Sisodia, Warkentin, 1992].
Формальные логические модели
Традиционно в представлении знаний выделяют формальные логические модели, основанные на классическом исчислении предикатов I-го порядка, когда предметная область или задача описывается в виде набора аксиом. Мы же опустим описание этих моделей по следующим причинам. Исчисление предикатов I-го порядка в промышленных экспертных системах практически не используется. Эта логическая модель применима в основном в исследовательских «и^ушечных» системах, так как предъявляет очень высокие требования и о^аничения к предметной области.
В промышленных же экспертных системах используются различные ее модификации и расширения, изложение которых выходит за рамки этого учебника.
Вывод на знаниях
Несмотря на все недостатки, наибольшее распространение получила продукционная модель представления знаний. При использовании продукционной модели база знаний состоит из набора правил. Программа, управляющая перебором правил, называется машиной вывода.
Машина вывода
Машина вывода (интерпретатор правил) выполняет две функции: во-первых, просмотр существующих фактов из рабочей памяти (базы данных) и правил из базы знаний и добавление (по мере возможности) в рабочую память новых фактов и, во-вторых, определение порядка просмотра и применения правил. Этот механизм управляет процессом консультации, сохраняя для пользователя информацию о полученных заключениях, и запрашивает у него информацию, когда для срабатывания очередного правила в рабочей памяти оказывается недостаточно данных [Осуга, Саэки, 1990].
В подавляющем большинстве систем, основанных на знаниях, механизм вывода представляет собой небольшую по объему программу и включает два компонента —один реализует собственно вывод, другой управляет этим процессом.
Действие компонента вывода основано на применении правила, называемого modus ponens.
Правило modus ponens. Если известно, что истинно утверждение А и существует правило вида «ЕСЛИ А, ТО В», тогда утверждение В Также истинно.
Правила срабатывают, когда находятся факты, удовлетворяющие их левой части: если истинна посылка, то должно быть истинно и заключение.
Компонент вывода должен функционировать даже при недостатке информации. Полученное решение может и не быть точным, однако система не должна останавливаться из-за того, что отсутствует какая-либо часть входной информации.
Управляющий компонент определяет порядок применения правил и выполняет четыре функции.
Сопоставление — образец правила сопоставляется с имеющимися фактами.
Выбор — если в конкретной ситуации может быть применено сразу несколько правил, то из них выбирается одно, наиболее подходящее по заданному критерию (разрешение конфликта).
Срабатывание — если образец правила при сопоставлении совпал с какими- либо фактами из рабочей памяти, то правило срабатывает.
Действие — рабочая память подвергается изменению путем добавления в нее заключения сработавшего^ правила. Если в правой части правила содержится указание на какое-либо действие, то оно выполняется (как, например, в системах обеспечения безопасности информации).
Интерпретатор продукций работает циклически. В каждом цикле он просматривает все правила, чтобы выявить те, посылки которых совпадают с известными на данный момент фактами из рабочей памяти. После выбора правило срабатывает, его заключение заносится в рабочую память, и затем цикл повторяется сначала.
В одном цикле может сработать только одно правило. Если несколько правил успешно сопоставлены с фактами, то интерпретатор производит выбор по определенному критерию единственного правила, которое срабатывает в данном цикле. Цикл работы интерпретатора схематически представлен на рис. 1.3.
Рис. 1.3. Цикл работы интерпретатора
Информация из рабочей памяти последовательно сопоставляется с посылками правил для выявления успешного сопоставления. Совокупность отобранных пра-
вил составляет так называемое конфликтное множество. Для разрешения конфликта интерпретатор имеет критерий, с помощью которого он выбирает единственное правило, после чего оно срабатывает. Это выражается в занесении фактов, образующих заключение правила, в рабочую память или в изменении критерия выбора конфликтующих правил. Если же в заключение правила входит название какого-нибудь действия, то оно выполняется.
Работа машины вывода зависит только от состояния рабочей памяти и от состава базы знаний. На практике обычно учитывается история работы, то есть поведение механизма вывода в предшествующих циклах. Информация о поведении механизма вывода запоминается в памяти состояний (рис. 1.4). Обычно память состояний содержит протокол системы.
Рис. 1.4. Схема функционирования интерпретатора
Огратегии управления выводом
От выбранного метода поиска, то есть стратегии вывода, будет зависеть порядок применения и срабатывания правил. Процедура выбора сводится к определению направления поиска и способа его осуществления. Процедуры, реализующие поиск, обычно «зашиты» в механизм вывода, поэтому в большинстве систем инженеры знаний не имеют к ним доступа и, следовательно, не могут в них ничего изменять по своему желанию.
При разработке стратегии управления выводом важно определить два вопроса:
Какую точку в пространстве состояний принять в качестве исходной? От выбора этой точки зависит и метод осуществления поиска — в прямом или обратном направлении.
Какими методами можно повысить эффективность поиска решения? Эти методы определяются выбранной стратегией перебора — глубину, в ширину, по подзадачам или иначе.
Прямой и обратный вывод
При обратном порядке вывода вначале выдвигается некоторая гипотеза, а затем механизм вывода как бы возвращается назад, переходя к фактам, пытаясь найти
те, которые подтверждают гипотезу (рис. 1.5, правая часть). Если она оказалась правильной, то выбирается следующая гипотеза, детализирующая первую и являющаяся по отношению к ней подцелью. Далее отыскиваются факты, подтверждающие истинность подчиненной гипотезы. Вывод такого типа называется управляемым целями, или управляемым консеквентами. Обратный поиск применяется в тех случаях, когда цели известны и их сравнительно немного.
Обратный выводОбратный выводПрямой выводПрямой вывод
Обратный вывод
Обратный вывод
Прямой вывод
Прямой вывод
Рис. 1.5. Стратегии вывода
В системах с прямым выводом по известным фактам отыскивается заключение, которое из этих фактов следует (см. рис. 1.5, левая часть). Если такое заключение удается найти, то оно заносится в рабочую память. Прямой вывод часто называют выводом, управляемым данными, или выводом, управляемым антецедентами. Существуют системы, в которых вывод основывается на сочетании упомянутых выше методов — обратного и ограниченного прямого. Такой комбинированный метод получил название циклического.
Пример 1.5
Имеется фрагмент базы знаний из двух правил:
Ш. Если «отдых — летом» и «человек — активный», то «ехать в горы».
П2. Если «любит солнце», то «отдых летом».
Предположим, в систему поступили факты — «человек активный» и «любит солнце». ПРЯМОЙ ВЫВОД — исходя из фактических данных, получить рекомендацию.
1-й проход.
Шаг 1. Пробуем П1, ие работает (не хватает данных «отдых — летом»).
Шаг 2. Пробуем П2, работает, в базу поступает факт «отдых — летом».
2-й проход.
Шаг 3. Пробуем 777, работает, активируется цель «ехать в горы», которая и выступает как совет, который дает ЭС.
ОБРА ТНЫЙ ВЫВ ОД — подтвердить выбранную цель при помощи имеющихся правил и данных.*
1'й проход.
Шаг 1. Цель — «ехать в горы»: пробуем П1 — данных «отдых — летом» нет, они становятся новой целью и ищется правило, где цель в левой части.
Шаг 2. Цель «отдых — летом»: правило П2 подтверждает цель и активирует ее.
2・й проход.,
Шаг 3. Пробуем П1, подтверждается искомая цель.
Методы поиска в глубину и ширину
В системах, база знаний которых насчитывает сотни правил, желательным является использование стратегии управления выводом, позволяющей минимизировать время поиска решения и тем самым повысить эффективность вывода. К числу таких стратегий относятся: поиск в глубину, поиск в ширину, разбиение на подзадачи и альфа-бета алгоритм [Таунсенд, Фохт, 1991; Уэно, Исидзука, 1989; Справочник по ИИ, 1990].
При поиске в глубину в качестве очередной подцели выбирается та, которая соответствует следующему, более детальному уровню описания задачи. Например, диагностирующая система, сделав на основе известных симптомов предположение о наличии определенного заболевания, будет продолжать запрашивать уточняющие признаки и симптомы этой болезни до тех пор, пока полностью не опровергнет выдвинутую гипотезу.、
При поиске в ширину, напротив, система вначале проанализирует все симптомы, находящиеся на одном уровне пространства состояний, даже если они относятся к разным заболеваниям, и лишь затем перейдет к симптомам следующего уровня детальности.
Разбиение на подзадачи — подразумевает выделение подзадач, решение которых рассматривается как достижение промежуточных целей на пути к конечной цели. Примером, подтверждающим эффективность разбиения на подзадачи, является поиск неисправностей в компьютере — сначала выявляется отказавщая подсистема (питание, память и т. д.)» что значительно сужает пространство поиска. Если удается правильно понять сущность задачи и оптимально разбить ее на систему иерархически связанных целей-подцелей, то можно добиться того, что путь к ее решению в пространстве поиска будет минимален.
Альфа-бета алгоритм позволяет уменьшить пространство состояний путем удаления ветвей, неперспективных для успешного поиска. Поэтому просматриваются только те вершины, в которые можно попасть в результате следующего шага,
после чего неперспективные направления исключаются. Альфа-бета алгоритм нашел широкое применение в основном в системах, ориентированных на различные игры, например в шахматных программах.
Нечеткие знания
При попытке формализовать человеческие знания исследователи вскоре столкнулись с проблемой, затруднявшей использование традиционного математического аппарата для их описания. Существует целый класс описаний, оперирующих качественными характеристиками объектов (много, мало, сильный, очень сильный и т, п.). Эти характеристики обычно размыты и не могут быть однозначно интерпретированы, однако содержат важную информацию (например, «Одним из возможных признаков гриппа является высокая температура»).
Кроме того, в задачах, решаемых интеллектуальными системами, ча^то приходится пользоваться неточными знаниями, которые не могут быть интерпретированы как полностью истинные или ложные (логические true/false или 0/1). Существуют знания, достоверность которых выражается некоторой промежуточной цифрой, например 0.7.
Как, не разрушая свойства размытости и неточности, представлять подобные знания формально? Для разрешения таких проблем в начале 70-х американский математик Лотфи Заде предложил формальный аппарат нечеткой (fuzzy) алгебры и нечеткой логики [Заде, 1972]. Позднее это направление получило широкое распространение [Орловский, 1981; Аверкин и др., 1986; Яшин, 1990] и положило начало одной из ветвей ИИ под названием — мягкие вычисления (soft computing).
Л. Заде ввел одно из главных понятий в нечеткой логике — понятие лингвистической переменной.
Лингвистическая переменная (ЛП) — это переменная, значение которой определяется набором вербальных (то есть словесных) характеристик некоторого свойства.
Например, ЛП «рост» определяется через набор {карликовый, низкий, средний, высокий, очень высокий}.
Основы теории нечетких множеств
Значения лингвистической переменной (ЛП) определяются через так называемые нечеткие множества (НМ), которые в свою очередь определены на некотором базовом наборе значений или базовой числовой шкале, имеющей размерность. Каждое значение ЛП определяется как нечеткое множество (например, НМ «низкий рост»). '
Нечеткое множество определяется через некоторую базовую шкалу В и функцию принадлежности НМ — ц(х), хе В, принимающую значения на интервале [0...1]. Таким образом, нечеткое множество В — это совокупность пар вида (х, ц(х)), где хе В. Часто встречается и такая запись:
8 = £ 丄,£咐)
где 餐一i-e значение базовой шкалы.
Функция принадлежности определяет субъективную степень уверенности эксперта в том, что данное конкретное значение базовой шкалы соответствует определяемому НМ. Эту функцию не стоит путать с вероятностью, носящей объективный характер и подчиняющейся другим математическим зависимостям.
Например, для двух экспертов определение НМ «высокая» для ЛП «цена автомобиля» в условных единицах может существенно отличаться в зависимости от их социального и финансового положения.
«Высокая_цена_автомобиля_1» = {50000/1 + 25000/0.8 + 10000/0.6 + 5000/0.4}.
«Высокая_цена_автомобиля_2» = {25000/1 + 10000/0.8 + 5000/0.7 + 3000/0.4}
Пример 1.6
Пусть перед нами стоит задача интерпретации значений ЛП《возраст», таких как «молодой» возраст, «преклонный» возраст или «переходный» возраст. Определим «воз- раст» как ЛП (рис. 1.6). Тогда «молодой», «преклонный», «переходный» будут значениями этой лингвистической переменной. Более полно, базовый набор значений ЛП 《возраст» следующий:
В н {младенческий, детский, юный, молодой, зрелый, преклонный, старческий}.
Рис. 1.6. Лингвистическая переменная «возраст» и нечеткие множества, определяющие ее значения
Для ЛП «возраст» базовая шкала — это числовая шкала от 0 до 120, обозначающая количество прожитых лет, а функция принадлежности определяет, насколько мы уверены в том, что данное количество лет можно отнести к данной категории возраста. На рйс. 1.7 отражено, как одни и те же значения базовой шкалы могут участвовать в определении различных НМ.
012345676910
Рис. 1 -7, Формирование нечетких множеств
Например, определить значение НМ «младенческий возраст» можно так:
^младенческий» =^младенческий» =0.51234510]
^младенческий» =
^младенческий» =
10.90.80.70.60.30.1/
Рисунок 1.8 иллюстрирует оценку НМ неким усредненным экспертом, который ребенка до полугода с высокой степенью уверенности относит к младенцам (т = 1). Дети до четырех лет причисляются к младенцам тоже, но с меньшей степенью уверенности (0.5< m <0.9), а в десять лет ребенка называют так только в очень редких случаях — к примеру, для девяностолетней бабушки и 15 лет может считаться младенчеством. Таким образом, нечеткие множества позволяют при определении понятия учитывать субъективные мнения отдельных индивидуумов.
Рис. 1.8. График функции принадлежности нечеткому множеству «младенческий возраст»
Операции с нечеткими знаниями
Для операций с нечеткими знаниями, выраженными при помощи лингвистических переменных, существует много различных способов. Эти способы являются в основном эвристиками. Мы не будем останавливаться на этом вопросе подробно, укажем лишь для примера определение нескольких операций. К примеру, операция «ИЛИ» часто задается так [Аверкин и др., 1986; Яшин, 1990]:
д(х) = тах(д1(х),д2(х))
(так называемая логика Заде) или так:
д(х) = д1(х) + д2(х) - д1(х)*д2(х) (вероятностный подход).
Усиление или ослабление лингвистических понятий достигается введением специальных квантификаторов. Например, если понятие «старческий возраст» определяется как
то понятие кочень старческий возраст» определится как
то есть «очень старческий возраст» равен
! 60 [ 70 JO ] 90][озб+Км + оЛ+Т) *
Для вывода на нечетких множествах используются специальные отношения и операции над ними (подробнее см. работу [Орловский, 1981]).
Одним из первых применений теории НМ стало использование коэффициентов уверенности для вывода рекомендаций медицинской системы MYCIN [Shortliffe, 1976]. Этот метод использует несколько эвристических приемов. Он стал примером обработки нечетких знаний, повлиявших на последующие системы.
В настоящее время в большинство инструментальных средств разработки систем, основанных на знаниях, включены элементы работы с НМ, кроме того, разработаны специальные программные средства реализации так называемого нечеткого вывода, например «оболочка» FuzzyCLIPS.
Прикладные интеллектуальные системы
Центральная парадигма интеллектуальных технологий сегодня — это обработка знаний. Системы, ядром которых является база знаний или модель предметной области, описанная на языке сверхвысокого уровня, приближенном к естественному, называют интеллектуальными. Будем называть такой язык сверхвысокого уровня — языком представления знаний (ЯПЗ). Чаще всего интеллектуальные системы (ИС) применяются для решения сложных задач, где основная сложность решения связана с использованием слабо-формализованных знаний специалистов-практиков и где логическая (или смысловая) обработка информации превалирует над вычислительной. Например, понимание естественного языка, поддержка принятия решения в сложных ситуациях, постановка диагноза и рекомендации по методам лечения, анализ визуальной информации, управление диспетчерскими пультами и др.
Фактически сейчас прикладные интеллектуальные системы используются в десятках тысяч приложений. А годовой доход от продаж программных и аппаратных средств искусственного интеллекта еще в 1989 г. в США составлял 870 млн долларов, а в 1990 г. — 1,1 млрд долларов [Попов, 1996]. В дальнейшем почти трвдцатипроцентный прирост дохода сменился более плавным наращиванием темпов (по материалам [Поспелов, 1997; Хорошевский, 1997; Попов, 1996; Walker, Miller, 1987; Tuthill, 1994, Durkin, 1998]).
На рис. 1.9 отражены различные аспекты состояния рынка искусственного интеллекта: инвестиции в разработку в области ИИ (США, Европа, Япония) (рис. 1.9, а); доля систем ИИ в информатике (программном обеспечении) (рис. 1.9, 8 доходы от продаж традиционных Языков программйрования (рис. 1.9, в); инвестиции
только в программное обеспечение (США) (рис. 1.9> г); инвестиции в аппаратное обеспечение (США) (рис. 1.9, Э); структура рынка ЭС (США, 1993) (рис. 1.9, е).
Рис. 1.9. Состояние и перспективы рынка ИИ
Наиболее распространенным видом ИС являются экспертные системы.
Экспертные системы (ЭС) — это наиболее распространенный класс ИС, ориентированный на тиражирование опыта высококвалифицированных специалистов в областях, где качество принятия решений традиционно Зависит от уровня экспертизы, например, медицина, юриспруденция, геология, экономика, военное дело и др.
.ЭС эффективны лишь в специфических «экспертных» областях, где важен эмпирический опыт специалистов.
Только в США ежегодный доход от продаж инструментальных средств разработки ЭС составлял в начале 90-х го^ов 300-400 млн долларов, а от применения ЭС — 80-90 млн долларов [Поцо^, 1996], Ежегодно крупные фирмы разрабатывает десятки ЭС типа《in-house» для внутреннего пользования. Эти системы интегрируют одыт специалистов компании по ключевым и стратегически важным технологиям. В начале 90-х гг. появилась новая наука — ^менеджмент знаний»
(knowledge management), ориентированная на методы обработки и управления корпоративными знаниями (см. главу 5).
Современные ЭС — это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и распространяющие этот эмпирический опыт для консультирования менее квалифицированных пользователей. Разработка экспертных систем, как активно развивающаяся ветвь информатики, направлена на использование ЭВМ для обработки информации в тех областях науки и техники, где традиционные математические методы моделирования малопригодны. В этих областях важна смысловая и логическая обработка информации, важен опыт экспертов.
Приведем некоторые условия, которые могут свидетельствовать о необходимости разработки и внедрения экспертных систем (частично из [Уотермен, 1989]):
нехватка специалистов, затрачивающих значительное время для оказания помощи другим;
выполнение небольшой задачи требует многочисленного коллектива специалистов, поскольку ни один из них не обладает достаточным знанием;
сниженная производительность, поскольку задача требует полного анализа сложного набора условий, а обычный специалист не в состоянии просмотреть (за отведенное время) все эти условия;
большое расхождение между решениями самых хороших и самых плохих исполнителей;
наличие конкурентов, имеющих преимущество в силу того, что они лучше справляются с поставленной задачей.
Подходящие задачи имеют следующие характеристики:
являются узкоспециализированными;
не зависят в значительной степени от общечеловеческих знаний или соображений здравого смысла;
не являются для эксперта ни слишком легкими, ни слишком сложными. (Время, необходимое эксперту для решения проблемы, может составлять от трех часов до трех недель.)
Экспертные системы достаточно молоды — первые системы такого рода, MYCIN [Shortliffe, 1976] и DENDRAL [Buchanan, Feigenbaum, 1978], появились в США в середине 70-х годов. В настоящее время в мире насчитывается несколько тысяч промышленных ЭС, которые дают советы:
при управлении сложными диспетчерскими пультами, например сети распределения электроэнергии, — Alarm Analyser [Walker, Miller, 1987];
при постановке медицинских диагнозов — ARAMIS [Shortliffe, Buchanan, Feigenbaum, Д979], NEUREX [Reggia, 1988];
при поиске' неисправностей в электронных приборах, диагностика отказов контрольно-измерительного оборудования — Intelligence Ware [Slagle, Gardiner, Kyungsook, 1990], Plant Diagnostics [Уотермен, 1989], FOREST [Finin, McAdams, Kleinosky, 1984];
по проектированию интегральных микросхем — DAA [Сойер, Фостер, 1988], NASL [Walker, Miller, 1988], QO [Pega, Sticklen, Bond, 1993];
по управлению перевозками — AIRPLAN [Masui, McDermott, 1983];
по прогнозу военных действий — ANALYST [Bonasso, 1984], BATTLE [Slagle, Gaynor, 1983];
по формированию портфеля инвестиций, оценке финансовых рисков — RAD [Kestelyn,1992], налогообложению — RUNE [Durkin, 1998] и т. д.
Наиболее популярные приложения ИС отображены на рис. 1.10 [Durkin, 1998].
Транспортные системы Космонавтика Наука Системы управления Горная промышленность Военное дело Метеорология Медицина Математика Производстео Юриспруденция Управление информацией Обработка мзо^ажений Геология Окружающая среда Инженерия Электроника Образование Компьютерные системы Коммуникации Химия Бизнес Сельское хозяйство
Рис. 1.10. Основные пр^ложбнма ИС
Сейчас легче назвать области, где еще нет ЭС, чем те, где они уже применяются. Уже в 1987 г. опрос пользователей, проведенный журналом «Intelligent Technologies» (США), показал, что примерно:
25 % пользователей используют ЭС;
25 % собираются приобрести ЭС в ближайшие 2-3 года;
、• 50 % предпочитают провести исследование об эффективности их использования.
Главное отличие ИС и ЭС от других программных средств — это наличие базы знаний (БЗ), в которой знания хранятся в форме, понятной специалистам предметной области, и могут быть изменены и дополнены также в понятной форме. Это и есть языки представления знаний — ЯПЗ.
До последнего времени именно различные ЯПЗ были центральной проблемой при разработке ЭС. Сейчас существуют десятки языков или моделей представления знаний (см. параграф 1.3). Наибольшее распространение получили следующие модели:
продукции (OPS5 [Forgy, 1981], ROSIE [Fain, Hayes-Roth, Sowizral, Waterman, 1982]);
• семантические сети (SIMER+MIR [Осипов, 1997]; NET [Цейтин, 1985]);
фреймы (FRL [Байдун, Бунин, 1988; Справочник по ИИ, 1990]);
логическое программирование (ПРОЛОГ [Макалистер» 1990; Стерлинг, Шапиро, 1990]);
объектно-ориентированные языки (SMALLTALK [Goldberg, Robson, 1983; Буч, 1993], CLOS [Pega, Sticklen, Bond, 1993]).
Для перечисленных выше моделей существует соответствующая математическая нотация, разработаны системы программирования, реализующие эти ЯПЗ, и имеется большое количество реальных коммерческих ЭС. Подробнее вопросы программной реализации прикладных ЙС'{Й1Ссмотрены в главе б.
Современное состояние разработок в области ЭС в России можно охарактеризовать как стадию все возрастающего интереса среди широких слоев специалистов —финансистов, топ-менеджеров, преподавателей, инженеров, медиков, психологов, программистов, лиргвистов. В последние годы этот интерес имеет пока достаточно слабое материальное подкрепление — явная нехватка учебников и специальной литературы, отсутствие символьных процессоров и рабочих станций, ограниченное финансирование исследований в этой области, слабый отечественный рынок программных продуктов для разработки ЭС.
Поэтому появляется возможность распространения ^подделок» под экспертные системы в виде многочисленных диалоговых систем и интерактивных пакетов прикладных программ, которые дискредитируют в глазах пользователей это чрезвычайно перспективное направление. Процесс создания экспертной системы требует участия высококвалифицированных специалистов в области искусственного интеллекта, которых пока выпускает н^олыпое количество высших учебных заведений страны.
Наибольшие трудности в разработке ЭС вызывает сегодня не процесс машинной реализации систем, а домашинный этап анализ^ знаний и проектирования базы знаний. Этим занимается специальная наука — инженерия знаний [Гаврилова, Червинская, 1992; Adeli, 1994; Scott, Clayton, Gibson, 1994].
Современному состоянию этой науки и посвящены последующие главы этой книги.
Разработка систем, основанных на знаниях
Введение в экспертные системы. Определение и структура
Классификация систем, основанных на знаниях
Коллектив разработчиков
口 Технология проектирования и разработки
Введение в экспертные системы. Определение и структура
В качестве рабочего определения экспертной' системы примем следующее.
Экспертные системы (ЭС) — это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей.
Обобщенная структура экспертной системы представлена на рис. 2.1. Следует учесть, что реальные ЭС могут иметь более сложную структуру, однако блоки, изображенные на рисунке, непременно присутствуют в любой действительно экспертной системе, поскольку представляют собой стандарт de facto структуры современной ЭС.
В целом процесс функционирования ЭС можно представить следующим образом: пользователь, желающий получить необходимую информацию, через пользовательский интерфейс посылает запрос к ЭС; решатель, пользуясь базой знаний, генерирует и выдает пользователю подходящую рекомендацию, объясняя ход своих рассуждений при помощи подсистемы объяснений.
ПользовательПользовательИнженер Эксперт по знаниямИнженер Эксперт по знаниям
Пользователь
Пользователь
Инженер Эксперт по знаниям
Инженер Эксперт по знаниям
Рис, 2.1. Структура экспертной системы
Так как терминология в области разработки ЭС постоянно модифицируется, определим основные термины в рамках данной работы.
Пользователь — специалист предметной области, для которого предназначена система. Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС.(
Инженер по знаниям — специалист в области искусственного интеллекта, выступающий в роли промежуточного буфера между экспертом и базой знаний. Синонимы: когнитолог, инженер-интерпретатор, аналитик.
Интерфейс пользователя — комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и при получении результатов. База знаний (БЗ) — ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному). Параллельно такому «человеческому» представлению существует БЗ во внутреннем «машинном» представлении.
Решатель — программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ. Синонимы: дедуктивная машина, машина вывода, блок логического вывода.
.^Подсистема объяснений — программа, позволяющая пользователю получить от・ ъ^ёты на вопросы: «Как была получена та или иная рекомендация?» и «Почему си央ё^^рщ^яла такое решение?» Ответ на вопрос «как» — это трассировка всего проц^с^получения решения с указанием использованных фрагментов БЗ, то есть всё^ йгцгов цепи умозаключений! Ответ на вопрос «почему» — ссылка на умо- заключейие, непосредственно предшествовавшее полученному решению, то есть отход на одшм^аг назад. Развитые подсистемы объяснений поддерживают и другие типы вопрогов.
Интеллектуальный редактор БЗ — программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок («help» — режим) и других сервисных средств, облегчающих работу с базой.
Еще раз следует подчеркнуть, что представленная на рис. 2.1 структура является минимальной, что означает обязательное присутствие указанных на ней блоков. Если система объявлена разработчиками как экспертная, только наличие всех этих блоков гарантирует реальное использование аппарата обработки знаний. Однако промышленные прикладные ЭС могут быть существенно сложнее и дополнительно включать базы данных, интерфейсы обмена данными с различными пакетами прикладных программ, электронными библиотеками и т. д.
Классификация систем, основанных на знаниях
Класс ЭС сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям. Полезными могут оказаться классификации, представленные на рис. 22
Рис. 2.2. Классификация экспертных систем
Классификация по решаемой задаче
Рассмотрим указанные на рисунке типы задач подробнее.
• Интерпретация данных. Это одна из традиционных задач для экспертных систем. Под интерпретацией понимается процесс определения смысла данных, результаты которого должны быть согласованными и корректными. Обычно предусматривается многовариантный анализ данных.
Все примеры далее из работ [Попов и Др„ (ред.), 1990; Соловьев, Соловьев^, 1989; Хейес-Рот и др., 1987].
Обнаружение и идентификация различных типов океанских судов по результатам аэрокосмического сканирования — SIAP;
определение основных свойств личности по результатам психодиагностического тестирования в системах АВТАНТЕСТ и МИК^ОЛЮШЕР и др.
Диагностика. Под диагностикой понимается процесс соотнесения объекта с некоторым классом объектов й/или обнаружение неисправности в некоторой системе. Неисправность — это отклонение от нормы. Такая трактовка позволяет с единых теоретических позиций рассматривать и нейсправность оборудования в технических системах, и заболевания живых организмов, и всевозможные природные аномалии. Важной спецификой является здесь необходимость понимания функциональной структуры («анатомии») диагностирующей систему.
Диагностика и терапия сужения коронарных сосудов — ANGY;
диагностика ошибок в аппаратуре и математическом обеспечении ЭВМ — система CRIB и др.
Мониторинг. Основная задача мониторинга — непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы — «пропуск» тревожной ситуации и инверсная задача «ложного» срабатывания. Сложность этих проблем в размытости симптомов тревожных ситуаций и необходимость учета временного контекста.
Контроль за работой электростанций СПРИНТ, Помону диспетчерам атомного реактора — REACTOR;
контроль аварийных датчиков на химическом заводе —, FALCON к др,
Проектирование. Проектирование состоит в подготовке спецификаций на создание «объектов» с заранее определенными свойствами. Под, спецификацией понимается весь набор необходимых документов — чертёж, пояснительная записка и т. д. Основные проблемы здесь — получение четкого структурного описания знаний об объекте и проблема «следа». Для организации эффективного проектирования и в еще большей степени перепроектирования необходимо формировать не только сами проектные решения, но и мотивы их принятия. Таким образом, в задачах проектирования тесно связываются два основных процесса, выполняемых в рамках соответствующей ЭС: процесс вывода , решения и процесс объяснения. 〔.工》
Проектирование конфигураций ЭВМ VAX — И/780 в системе XCON (или R1), проектирование БИС — CADHELP;
синтез электрических цепей — SYN и др..
♦ Прогнозирование. Прогнозирование позволяет предсказывать последствия некоторых событий или явлений на основании анализа имеющихся данных. Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций. В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров «подгоняются» под заданную ситуацию. Выводимые из этой модели следствия составляют основу для прогнозов с вероятностными оценками.
Предсказание погоды — систем^ WILLARD;
оценки будущего урожая — PLANT;
прогнозы в экономике — ECON и др.
Планирование, Под планированием понимается нахождение планов действий» относящихся к объектам, способным выполнять некоторые функции. В таких ЭС используются модели поведения реальных объектов с тем, чтобы логически вывести последствия планируемой деятельности.
Планирование поведения робота — STRIPS;
планирование промышленных заказов — ISIS;
планирование эксперимента — MOLGEN и др.
Обучение. Под обучением понимается использование компьютера для обучения какой-то дисциплине или предмету. Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипотетическом «ученике» и его характерных ошибках, затем в работе они способны диагностировать слабости в познаниях обучаемых и находить соответствующие средства для их ликвидации. Кроме того, они планируют акт общения с учеником в зависимости от успехов ученика с целью передачи знаний.
Обучение языку программирования ЛИСП в системе «Учитель ЛИСПа»;
система PROUST — обучение языку Паскаль и др.
• Управление, Под управлением понимается функция организованной системы, поддерживающая определенный режим деятельности. Такого рода ЭС осуществляют управление поведением сложных систем в соответствии с заданными спецификациями.
♦ Помощь в управлении газовой котельной — GAS;
尹 ♦ управление системой календарного планирований Project Assistant и др.
• Поддержка принятия решений. Поддержка принятия решения — это совокупность процедур, обеспечивающая лицо, принимающее решения, необходимой информацией и рекомендациями, облегчающими процесс принятия решения. Эти ЭС помогают специалистам выбрать и/или сформировать нужную альтернативу среди множества выборов при принятии ответственных решений!
♦ Выбор стратегии выхода фирмы из кризисной ситуации — CRYSIS; , ♦ помощь в выборе страхов。访 компании или инвестора — CHOICE и др.
В общем случае все системы, основанные на знаниях, можно подразделить на системы, решающее задачи анализа, и на системы, решающие задачи синтеза. Основное отличие задач анализа от задач синтеза заключается в том, что если в задачах анализа множество решений может быть перечислено и включено в систему, то в задачах синтеза множество решений потенциально не ограничено и строится из решений компонент или под-проблем. Задачами анализа являются: интерпретация данных, диагностика, поддержка принятия решения; к задачам синтеза относятся проектирование, планирование, управление. Комбинированные: обучение, мониторинг, прогнозирование.
Классификация по связи с реальным временем
Статические ЭС разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются во времени. Они стабильны.
Пример
Диагностика неисправностей в автомобиле.
Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени/
Пример
Микробиологические ЭС, в которых снимаются лабораторные измерения с технологического процесса один раз в 4-5 часов (производство лизина, например) и анализируется динамика полученных показателей по отношению к предыдущему измерению.
Динамические ЭС работают в сопряжении с датчиками объектов в режиме реального времени с непрерывной интерпретацией поступающих в систему данных.
Примеры
Управление гибкими производственными комплексами, мониторинг в реапимациоп- ных палатах;
программный инструментарий для разработки динамических систем — G2 [Попов, 1996].
Классификация по типу ЭВМ
На сегодняшний день существуют:
ЭС для уникальных стратегически важных задач на суперЭВМ (Эльбрус, CRAY, CONVEX и др.);
ЭС на ЭВМ средней производительности (типа ЕС ЭВМ, mainframe);.
ЭС на символьных процессорах и рабочих станциях (SUN, Silicon Graphics, APOLLO);
ЭС на мини- и супермин-ЭВМ (VAX, micro-VAX и др.);'
ЭС на персональных компьютерах (IBM PC, MAC II и т. п.).
Классификация по степени интеграции с другими программами
Автономные ЭС работают непосредственно в режиме консультаций с пользователем для специфически «экспертных» задач, для решения которых не требуется привлекать традиционные методы обработки данных (расчеты, моделирование и т. д.).
Гибридные ЭС представляют программный комплекс, агрегирующий стандартные пакеты прикладных -программ (например, математическую статистику, линейное программирование или системы управления базами данных) и средства манипулирования знаниями. Это может быть интеллектуальная надстройка над ППП (пакетами прикладных программ) или интегрированная среда для решения сложной задачи с элементами экспертных знаний.
Несмотря на внешнюю привлекательность гибридного подхода, следует отметить, что разработка таких систем являет собой задачу на порядок более сложную, чем разработка автономной ЭС. Стыковка не просто разных пакетов, а разных методологий (что происходит в гибридных системах) порождает целый комплекс теоретических и практических трудностей,
2.3. Коллектив разработчиков
Под коллективом разработчиков (КР) будем понимать группу специалистов, ответственных за создание ЭС.
Как видно из рис. 2.1, в состав КР входят по крайней мере три человека — пользователь, эксперт и инженер по знаниям. На рисунке не видно программиста. Таким образом, минимальный состав КР включает четыре человека; реально же он разрастается до 8-10 человек. Численное увеличение коллектива разработчиков происходит по следующим причинам: необходимость учета мнения нескольких пользователей, помощи нескольких экспертов; потребность как в проблемных, так и системных программистах. На Западе в этот коллектив дополнительно традиционно включают менеджера и одного технического помощника.
Если использовать аналогии из близких областей, то КР более всего схож с группой администратора базы Данных при построений интегрированных, информационных систем или бригадой программистов, разрабатывающих сложный программный комплекс. При отсутствии профессионального менеджера руководителем КР, участвующим во всех стадиях разработки, является инженер по знаниям, поэтому к его квалификации предъявляются самые высокие требования. В целом уровень и численность группы зависят от характеристик поставленной задачи.
Для обеспечения эффективности сотрудничества любой творчейсой группы, в том числе и группы КР ЭС, необходимо возникновение атмосферы взаимопонимания и доверия, которое, в свою очередь, обусловлено психологической совместимостью членов группы; следовательно, при формировании КР должны учитываться психологические свойства участников.
В настоящий момент в психологии существует несколько десятков методик по определению свойств личности, широко используемых в вопросах профессиональной ориентации. Эти психодиагностические методики, часть из которых уже автоматизирована, различаются направленностью, глубиной, временем опроса и способами интерпретации. В частности, система АВАНТЕСТ (Автоматический Анализ ТЕСТов) [Гаврилова, 1984] позволяет моделировать рассуждения психолога при анализе результатов тестирования по 16-факторному опроснику Р. Кэт- тела и выдает связное психологическое заключение на естественном русском языке, характеризующее такие свойства личности, как общительность, аналитичность, добросовестность, самоконтроль и т. п. Модифицированная база знаний системы АВТАНТЕСТ позднее была использована в ЭС《Cattell» (см. параграф 73).
Ниже приведены два аспекта характеристик членов КР: 1 — психофизиологиче- ски访,2 — профессиональный.
Пользователь“
К пользователю предъявляются самые слабые требования, поскольку его не выбирают. Он является в некотором роде заказчиком системы. Желательные качества:
дружелюбие;,
умение объяснить, что же он хочет от системы;
отсутствие психологического барьера к применению вычислительной техники;二
интерес к новому. От пользователя зависит, будет ли применяться разра^ ботанная ЭС. Замечено, что наиболее ярко качества в) и г) проявляются в молодом возрасте, поэтому иногда такие пользователи охотнее применяют ЭС, не испытывая при этом комплекса неполноценности оттого, что ЭВМ им что-то подсказывает.
Необходимо, чтобы пользователь имел некоторый базовый уровень квалификации, который позволит ему правильно истолковать рекомендации ЭС. Кроме того, должна быть полная совместимость в терминологии интерфейса к ЭС с той, которая привычна и удобна для пользователя. Обычно требования к квалификации пользователя не очень велики„ иначе он переходит в разряд экспертов н совершенно не нуждается в ЭС: •
,Эксперт
Эксперт — чрезвычайно важная фигура в группе КР. В конечном счете, его подготовка определяет уровень компетенции базы знаний. Желательные качества:
доброжелательность;
готовность поделиться своим опытом;
в} умение объяснить (педагогические навыки);
заинтересованность (моральная, а лучше еще и материальная) в успешности разработки. Возраст эксперта обычно почтенный, что необходимо учитывать всем членам группы. Часто встает вопрос о количестве экспертов. Поскольку проблема совмещения подчас противоречивых знаний остается открытой, обычно с каждым из экспертов работают индивидуально, иногда создавая альтернативные базы.
Помимо безусловно высокого профессионализма в выбранной предметной области, желательно знакомство эксперта с популярной литературой по искусственному интеллекту и экспертным системам для того, чтобы эффективнее прошел этап извлечения знаний.
Программист
Известно, что программисты обладают самой низкой потребностью в общении среди представителей разных профессий. Однако при разработке ЭС необходим тесный контакт членов группы, поэтому желательны следующие его качества:
общительность;
способность отказаться от традиционных навыков и освоить новые методы;
интерес к разработке.
Поскольку современные ЭС — сложнейшие и дорогостоящие программные комплексы, программисты в КР должны иметь опыт и навыки разработки программ. Обязательно знакомство с основными структурами представления знаний и механизмами вывода, состоянием отечественного и мирового рынка программных продуктов для разработки ЭС и диалоговых интерфейсов.
Инженер по знаниям
Существуют такие профессии и виды деятельности, для которых природные качества личности (направленность, способности, темперамент) могут иметь характер абсолютного показания или противопоказания к занятиям. По-ви- димому, инженерия знаний принадлежит к таким профессиям. По различным оценкам, это одна из самых малочисленных, высокооплачиваемых и дефицитных в мире специальностей. Попытаемся дать наброски к портрету инженера по знаниям (без претензии на полноту и точность определений).
Пол, Психологи утверждают, что мужчины более склонны к широкому охвату явлений и в среднем у них выше аналитичность» чрезвычайно полезная инженеру по знаниям, которому наДо иметь развитое логическое мышление и умение оперировать сложными формальными структурами: Кроме того, при общении с экспертами, которые в большинстве своем настроены скептически по отношению к будущей ЭС, инженер по знаниям-мужчина вызывает более высокую мотивацию успешности со стороны эксперта-женщины. С другой стороны, известно, что у женщин выше наблюдательность к отдельным деталям объектов. Так что пол не является окончательным показанием или противопоказанием к данной профессии.
Интеллект, Это понятие вызывает самые бурные споры психологов; существует до 50 определений интеллекта, но с прагматической точки зрения очевидно, что специалист в области искусственного интеллекта должен стремиться к максимальным оценкам по тестам как вербального, так и невербального интеллекта.
Стиль общения. Инженер по знаниям «задает тон» в общении с экспертом, он ведет диалог, и от него в конечном счете зависит его продуктивность. Можно выделить два стиля общения: деловой (или жесткий) и дружеский (или мягкий, деликатный). Нам кажется, что дружеский будет заведомо более успешным, так как снижает «эффект фасада» у эксперта, раскрепощает его. Деликатность, внимательность, интеллигентность, ненавязчивость, скромность, умение слушать и задавать вопросы, хорошая коммуникабельность и в то же время уверенность в себе — вот рекомендуемый .стиль общения. Безусловно, что это дар и искусство одновременно, однако занятия по психологическому тренингу могут дать полезные навыки.
Портрет инженера по знаниям можно было бы дополнить другими характеристиками —широтой взглядов и интересов, артистичностью, чувством юмора, обаянием и т. д.
При определении профессиональных требований к аналитику следует учитывать, что ему необходимы различные навыки и умения для грамотного и эффективного проведения процессов извлечения, концептуализации и формализации знаний.
Инженер по знаниям имеет дело со всеми формами знаний (см. параграф 1.3). Z1 (знания в памяти) т Z2 (знания в книгах) т Z3 (поле знаний) —> Z4 (модель знаний) т Z5 (база знаний).
Работа на уровне Z1 требует от инженера по знаниям знакомства с элементами когнитивной психологии и способами репрезентации понятий и процессов в памяти человека, с двумя основными механизмами мышления — логическим и ассоциативным, с такими способами активизации мышления как игры, мозговой штурм и др., с различными моделями рассуждений.
Изучение и анализ текстов на уровне Z2 подразумевает широкую общенаучную подготовку инженера; знакомство с методами реферирования и аннотирования текстов; владение навыками быстрого чтения, а также текстологическими методами извлечения знаний.
Разработка поля знаний на уровне Z3 требует квалифицированного знакомства с методологией представления знаний, системным анализом, теорией познания, аппаратом многомерного шкалирования, кластерным и факторным анализом.
Разработка формализованного описания Z4 предусматривает предварительное изучение аппарата математической логики и современных языков представления знаний. Модель знаний разрабатывается на основании результатов глубокого анализа инструментальных средств разработки ЭС и имеющихся «оболочек». Кроме того, инженеру по знаниям необходимо владеть методологией разработки ЭС, включая методы быстрого прототипирования.
И наконец, реализация базы знаний Z5, в которой инженер по знаниям участвует вместе с программистом, подразумевает овладение практическими навыками работы на ЭВМ и, возможно, одним из языков программирования.
Так как инженеров по знаниям «выращивают» из программистов, уровень Z5 обычно не вызывает затруднения, особенно если разработка ведется на традиционных языках типа С или Паскаль. Специализированные языки искусственного интеллекта Лисп и Пролог требуют некоторой перестройки архаично-алгоритмического мышления.
Успешность выбора и подготовки коллектива разработчиков ЭС определяет эффективность и продолжительность всего процесса разработки.
Технология проектирования и разработки
Проблемы разработки промышленных ЭС
Разработка программных комплексов экспертных систем как за рубежом, так и в нашей стране находится на уровне скорее искусства, чем науки. Это связано с тем, что долгое время системы искусственного интеллекта внедрялись в основном во время фазы проектирования, а чаще всего разрабатывалось несколько прототип- ных версий программ, и на их основе уже создавался конечный продукт. Такой подход действует хорошо в исследовательских условиях, однако в коммерческих условиях он является слишком дорогим, чтобы оправдать затраты на разработку. Процесс разработки промышленной экспертной системы, опираясь на традиционные технологии [Николов и др., 1990; Хейес-Рот и др., 1987; Tuthill, 1994], практически для любой предметной области можно разделить на шесть более или менее независимых зтанбв (рис. 2.3).
Рис. 2.3. Этапы разработки ЭС
Последовательность этапав; дана только с целью получения ^общего представления о процессе создания, идеального проекта. Конечно, последовательность эта не вполне фиксированная. В действительности каждый последующий этап разработки может принести новые идем, которые могут повлиять на предыдущие решения и даже привести к их переработке. Именно поэтому многие специалисты по информатике весьма критично относятся к методологии экспертных систем. Они считают, что расходы на разработку та单их систем очень большие, время разработки слишком велико, а полученные в результате программы накладывают тяжелое бремя на вычислительные ресурсы.
В целом за разработку экспертных систем целесообразно браться организации, где накоплен опыт по автоматизации рутинных процедур обработки мнформа^ ции, таких как:
формирование корпоративных информационных систем;
организация сложных расчетов;
работа с компьютерной графикой;
обработка текстов и автоматизированный документооборот.
Решение таких задач, во-первых, подготавливает высококвалифицированных специалистов по информатике, необходимых для создания интеллектуальных систем, во-вторых, позволяет отделить от экспертных систем неэкспертные задачи;
Выбор подходящей проблемы
Этот этап определяет деятельность, предшествующую решению начать разрабатывать конкретную ЭС. Он включает [Николов и др., 1990]:
определение проблемной области и задачи;
нахождение эксперта, желающего сотрудничать при решении проблемы, и назначение коллектива разработчиков;
определение предварительного подхода к решению проблемы;
анализ расходов и прибылей от разработки;
подготовку подробного плана разработки.
Правильный выбор проблемы представляет самую критическую часть разработки в целом. Если выбрать неподходящую проблему, можно очень быстро увязнуть в «болоте» проектирования задач, которые никто не знает, как решать. Неподходящая проблема может также привести к созданию экспертной системы, которая стоит намного больше, чем экономит. Дело будет обстоять еще хуже, если разработать систему, которая работает, но неприемлема для пользователей. Даже если разработка выполняется самой организацией для собственных целей, эта фаза является подходящим моментом длн получения рекомендаций извне, чтобы гарантировать удачно выбранный И осуществимый с технической точки зрения первоначальный проект.
При выборе области применения следует учитывать, что если знание, необходимое для решения задач, постоянное, четко формулируемое и связано с вычислительной обработкой, то обычные алгоритмические, программы, по всей вероятности, будут самым целесообразным способом решения проблем в этой области.
Экспертная система йи в коем случае не устранит потребность в реляционных базах данных, статистическом программном обеспечении, электронных таблицах и системах текстовой обработки. Но если результативность задачи зависит от знания, которое является субъективным, изменяющимся, символьным или вытекающим частично из соображений здравого смысла, тогда область может обоснованно выступать претендентом на экспертную систему.
Обычно экспертные системы разрабатываются путем получения специфических знаний от эксперта и ввода их в систему. Некоторые системы могут содержать стратегии одного индивида. Следовательно, найти подходящего эксперта — это ключевой шаг в созданий экспертных систем.
В процессе разработки и последующего расширения системы инженер по знаниям и эксперт обычно работают вместе. Инженер по знаниям помогает эксперту структурировать знания, определять и формализовать понятия и правила, необходимые для решения проблемы.
Во время первоначальных бесед они должны решить, будет ли их сотрудничество успешным. Это немаловажно, поскольку обе стороны будут работать совместно, по меньшей мере в течение одного года. Кроме них в коллектив разработчиков целесообразно включить потенциальных пользователей и профессиональных программистов. Подробно функции каждого члена коллектива описаны в следующем параграфе.
Предварительный подход к программной реализации задачи определяется, исходя из характеристик задачи и ресурсов, выделенных на ее решение. Инженер по знаниям выдвигает обычно несколько вариантов, связанных с использованием имеющихся на рынке программных средств. Окончательный выбор возможен лишь на этапе разработки прототипа.
После того как задача определена, необходимо подсчитать расходы и прибыль от разработки экспертной системы. В расходы включаются затраты на оплату труда коллектива разработчиков. В дополнительные расходы будет включена стоимость приобретаемого программного инструментария, с помощью которого будет разработана экспертная система.
Прибыль может быть получена за счет снижения цены продукции, повышения производительности труда, расширения номенклатуры продукции или услуг или даже разработки новых видов продукции или услуг в области, в которой -будет использоваться ЭС. Соответствующие расходы и прибыль от системы определяются относительно времени, в течение которого возвращаются средства, вложенные в разработку. На современном этапе большая часть фирм, развивающих крупные экспертные системы, предпочли разрабатывать дорогостоящие проекты, приносящие значительную прибыль.
Можно ожидать развития тенденции разработки менее дорогостоящих систем, хотя и с более длительным сроком окупаемости вложенных в них средств, так как программные средства разработки экспертных систем непрерывно совершенствуются.
После того как инженер по знаниям убедился, что:
данная задача может быть решена с помощью экспертной системы;
экспертную систему можно создать предлагаемыми на рынке средствами;
имеется подходящий эксперт;
предложенные критерии производительности являются разумными;
затраты и срок их окупаемости приемлемы для заказчика,
он составляет план разработки. План определяет шаги процесса разработки и необходимые затраты, а также ожидаемые результаты.
Технология быстрого прототипирования
Прототипная система является усеченной версией экспертной системы, спроектированной для проверки правильности кодирования фактов, связей и стратеги访 рассуждения эксперта. Она также дает возможность инженеру по знаниям привлечь эксперта к активному участию в процессе разработки экспертной системы, и, следовательно, к принятию им обязательства приложить все усилия к созданию системы в полном объеме.
Объем прототипа — несколько десятков правил, фреймов или примеров. На рис. 2.4 изображено шесть стадий разработки прототипа и минимальный коллектив разработчиков, занятых на каждой из стадий (пять стадий заимствовано из работы [Хейес-Рот и др., 1987]). Приведем краткую характеристику каждой из стадий, хотя эта схема представляет собой грубое приближение к сложному, итеративному процессу.
②硝②硝
②硝
②硝
ПользовательПользователь©Инженер познаниям©Инженер познаниямЭкспертЭкспертПрограммистПрограммист
Пользователь
Пользователь
©
Инженер познаниям
©
Инженер познаниям
Эксперт
Эксперт
Программист
Программист
Хотя любое теоретическое разделение бывает часто условным, осознание коллективом разработчиков четких задач каждой стадии представляется целесообразным. Роли разработчиков (эксперт, программист, пользователь и аналитик) являются постоянными на протяжении всей разработки. Совмещение ролей нежелательно.
Сроки приведены условно, так как зависят от квалификации специалистов и особенностей задачи.
Идентификация проблемы
Уточняется задача, планируется ход разработки прототипа экспертной системы, определяются:
необходимые ресурсы (время, люди, ЭВМ и т. д.);
источники знаний (книги, дополнительные эксперты, методики);
имеющиеся аналогичные экспертные системы;
цели (распространение опыта, автоматизация рутинных действий и др.);
классы решаемых задач и т. д.
Идентификация проблемы ——знакомство и обучение членов коллектива разработчиков, а также создание неформальной формулировки проблемы.
Средняя продолжительность 1-2 недели.
Извлечение знаний
На этой стадии происходит перенос компетентности от эксперта к инженеру по знаниям, с использованием различных методов (см. главу 4):
анализ текстов;
диалоги;
экспертные игры;
лекции;
дискуссии;
интервью;
наблюдение и другие.
Извлечение знаний — получение инженером по знаниям наиболее полного из возможных представлений о предметной области и способах принятия решения в ней.
Средняя продолжительность 1-3 месяца.、
Структурирование или концептуализация знаний
Выявляется структура полученных знаний о предметной области, то есть определяются:
терминология;
список основных понятий и их атрибутов;
отношения между понятиями;
/ структура входной и выходной информации;,
стратегия принятия решений;
ограничения стратегий и т. д.*
Структурирование (или концептуализация) знаний — разработка неформального описания знаний о предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области.
Такое описание называется полем знаний. Средняя продолжительность этапа 2-4 недели. Подробно стадия структурирования описана в главе 3.
Формализация
Строится формализованное представление концепций предметной области на основе выбранного языка представления знаний (ЯПЗ). Традиционно на этом этапе используются:
логические методы (исчисления предикатов I-го порядка и др.);
продукционные модели (с прямым и обратным выводом);
семантические сети;
фреймы;、
объектно-ориентированные языки, основанные на иерархии классов, объектов.
Формализация знаний — разработка бдзы зйанйй на языке представления знаний, который, с одной стороны, соответствует структуре поля знаний, а с другой ——позволяет реализовать прототип системы на следующей стадии программной реализа^и.
Все чаще на этой стадии используется симбиоз языков представления знаний, например, в системе ОМЕГА [Справочник по ИИ, 1990] — фреймы + семантические сети + полный набор возможностей языка исчисления предикатов. Средняя продолжительность 1-2 месяца. Подробно см. в главах 3, 4.
Реализация
Создается прототип экспертной системы, включающий базу знаний и остальные блоки, при помощи одного из следующих способов:
программирование на традиционных языках тапа Pascal, C++ и др.;
программирование на специализированных языках, применяемых в задачах искусственного интеллекта: LISP [Хювянен, Сеппянен, 1991], FRL [Байдун, Бунин, 1990], SMALLTALK [Справочник по ИИ, 1990} и др.;
использование инструментальных средств разработки ЭС типа СПЭИС [Ковригин, Перфильев, 1988], ПИЭС [Хорошевский, 1993], G2 [Попов, Фоминых, Кисель, 1996];
использование «пустых» ЭС или «оболочек» типа ЭКСПЕРТ [Кирсанов, Попов, 1990], ФИАКР [Соловьев, Соловьева, 1989] и др.
Реализация ——разработка программного комплекса, демонстрирующего жизнеспособность подхода в целом. Чаще всего первый прототип отбрасывается на этапе реализации действующей ЭС.
Средняя продолжительность 1-2 месяца. Более подробно эти вопросы рассматриваются в главе 6.
Тестирование
Оценивается и проверяется работа программ прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется на: • удобство и адекватность интерфейсов ввода/вывода (характер вопросов в диалоге, связность выводимого текста результата и др.);
эффективность стратегии управления (порядок перебора, использование нечеткого вывода и др.);
качество проверочных примеров;
корректность базы знаний (полнота и непротиворечивость правил).
Тестирование — выявление ошибок в подходе и реализации прототипа и выработка рекомендаций по доводке системы до-промышленного варианта.
Средняя продолжительность 1-2 недели.
Развитие прототипа до промышленной ЭС
При неудовлетворительном функционировании прототипа эксперт и инженер по знаниям имеют возможность оценить, что именно будет включено в разработку окончательного варианта системы.
Если первоначально выбранные объекты или свойства оказываются неподходящими, их необходимо изменить. Можно сделать оценку общего числа эвристических правил, необходимых для создания окончательного варианта экспертной системы. Иногда [Хювянен, Сеппянен, 1991] при разработке промышленной и/ или коммерческой системы выделяют дополнительные этапы для перехода (табл. 2,1).
демонстрационный прототип т действующий прототип т промышленная система т коммерческая система
Однако чаще реализуется плавный переход от демонстрационного прототипа к промышленной системе, при этом, если программный инструментарий был выбран удачно, не обязательно даже переписывать окончательный вариант другими программными средствами.
Понятие же коммерческой системы в нашей стране входит в понятие «промышленный программный продукт», или «промышленная ЗС» (в этой работе).
Основная работа на данном этапе заключается в существенном расширении базы знаний, то есть в добавлении большого числа дополнительных правил, фреймов, узлов семантической сети или других элементов знаний. Эти элементы знаний обычно увеличивают глубину системы, обеспечивая большее число правил для трудно уловимых аспектов отдельных случаев. В то же время эксперт и инженер по знаниям могут увеличить базу знаний системы, включая правила, управляю- шие дополнительными подзадачами или дополнительными аспектами экспертной задачи (метазнания).
Таблица 2.1, Переход от прототипа к промышленной зкспертно访 системе
Система
Описание
Демонстрационный прототип ЭС
Система решает часть задач, демонстрируя жизнеспособность подхода (несколько десятков правил или понятий)
Исследовательский прототип ЭС
Система решает большинство задач, но неустойчива в работе и не полностью проверена (несколько сотен правил или понятий)
Действующий прототип ЭС
Система надежно решает все задачи на реальных примерах, но для сложной задачи требует много времени и памяти
Промышленная система
Система обеспечивает высокое качество решений при минимизации требуемого времени и памяти; переписывается с использованием более эффективных средств представления знаний
Коммерческая система
Промышленная система, пригодная к продаже, то есть хорошо документирована и снабжена сервисом .
После установления основной структуры ЭС знаний инженер по знаниям приступает к разработке и адаптации интерфейсов, с помощью которых система будет общаться с пользователем и экспертом. Необходимо обратить особое внимание на языковые возможности интерфейсов, их простоту и удобство для управления работой ЭС. Система должна обеспечивать пользователю возможность легким и естественным образом уточнять непонятные моменты, приостанавливать работу и т. д. В частности, могут оказаться полезными графические представления.
На этом этапе разработки большинство экспертов узнают достаточно о вводе правил и могут сами вводить в систему новые правила. Таким образом, начинается процесс, во время которого инженер по знаниям передает право собственности и контроля за системой эксперту для уточнения, детальной разработки и обслуживания.
Оценка системы
После завершения этапа разработки промышленной экспертной системы необходимо провести ее тестирование в отношении критериев эффективности. К тестированию широко привлекаются другие эксперты с целью апробирования ра-
ботоспособности системы на различных примерах. Экспертные системы оцениваются главным образом для того, чтобы проверить точность работы программы и ее полезность. Оценку можно проводить, исходя из различных критериев, которые сгруппируем следующим образом:
критерии пользователей (понятность и «прозрачность» работы системы, удобство интерфейсов и др.);
критерии приглашенных экспертов (оценка советов-решений, предлагаемых системой, сравнение ее с собственными решениями, оценка подсистемы объяснений и др.);
критерии коллектива разработчиков (эффективность реализации, производительность, время отклика, дизайн, широта охвата предметной области, непротиворечивость БЗ, количество тупиковых ситуаций, когда система не может принять решение, анализ чувствительности программы к незначительным изменениям в представлении знаний, весовых коэффициентах, применяемых в механизмах логического вывода, данных и т. п.).
Стыковка системы
На этом этапе осуществляется стыковка экспертной системы с другими программными средствами в среде, в которой она будет работать, и обучение лрдей, которых она будет обслуживать. Иногда это означает внесение существенных изменений. Такие изменения требуют непременного вмешательства инженера по знаниям или какого-либо другого специалиста, который сможет модифицировать систему. Под стыковкой подразумевается также разработка связей между экспертной системой и средой, в которой она действует.
Когда экспертная система уже готова, инженер по знаниям должен убедиться в том, что эксперты, пользователи и персонал знают, как эксплуатировать и обслуживать ее. После передачи им своего опыта в области информационной технологии инженер по знаниям может полностью предоставить ее в распоряжение пользователей.
Для подтверждения полезности системы важно предоставить каждому из пользователей возможность поставить перед ЭС реальные задачи, а затем проследить, как она выполняет эти задачи. Для того чтобы система была одобрена, необходимо представить ее как помощника, освобождающего пользователей от обременительных задач, а не как средство их замещения.
Стыковка включает обеспечение связи ЭС с существующими базами данных и другими системами на предприятии, а также улучшение системных факторов, зависящих от времени, чтобы можно было обеспечить ее более эффективную работу и улучшить характеристики ее технических средств, если система работает в необычной среде (например, связь с измерительными устройствами).
Пример 2.1
Успешно состыкована со своим окружением система PUFF — экспертная система для диагностики заболеваний легких [Хейес-Рот и др., 1987]. После того как PUFF была
закончена и все были удовлетворены ее работой, систему перекодировали с LISP на Бейсик. Затем систему перенесли на ПЭВМ, которая уже работала в больнице. В свою очередь, эта ПЭВМ была связана с измерительными приборами. Данные с измерительных приборов сразу поступают в ПЭВМ. PUFF обрабатывает эти данные и печатает рекомендации для врача. Врач в принципе не взаимодействует с PUFF. Система полностью интегрирована со своим окружением — она представляет собой интеллектуальное расширение аппарата исследования легких, который врачи давно используют.
Пример 2.2
Другой системой, которая хорошо функционирует в своем окружении, является САТ-1 [Уотермен, 1990] — экспертная система для диагностики неисправностей дизелей локомотивов.
Эта система была разработана также на LISP, а затем была переведена на FORTH с тем, чтобы ее можно было более эффективно использовать в различных локомотивных цехах. Мастер по ремонту запрашивает систему о возможных причинах неисправности дизеля. Система связана с видеодиском, с помощью которого мастеру показывают визуальные объяснения и подсказки, касающиеся более подробных проверок, которые он должен сделать.
Кроме того, если оператор не уверен в том, как устранить неисправность, система предоставляет ему обучающие материалы, которые фирма подготовила предварительно, и показывает ему их на видеотерминале. Таким образом, мастер по ремонту может с помощью экспертной системы диагностировать проблему, найти тестовую процедуру, которую он должен использовать, получить на дисплее объяснение» как провести Tect, или получить инструкции о том, как справиться с возникшей проблемой.
Поддержка системы
При перекодировании системы на язык, подобный С, повышается ее быстродейг; ствие и увеличивается переносимость, однако гибкость при этом уменьшается. Это приемлемо лишь в том случае, если система сохраняет все знания проблем-. ной области и это знание не будет изменяться в ближайшем будущем. Однако если экспертная система создана именно из-за того, что проблемная ^область изменяется, то необходимо поддерживать систему в ее инструментальной среде разработки. ,
Пример 2.3
Удачным примером ЭС, внедренной таким образом, является XCON (R1) — ЭС, которую фирма DEC использует для комплектации ЭВМ семейства VAX. Одной из клю-, чевых проблем, с которой столкнулась фирма DEC, является необходимость постоянного внесения изменений для новых версий оборудования, новых спецификаций и т. д. Для этой цели XCON поддерживается в программной среде OPS5.
Теоретические аспекты инженерии знаний
Поле знаний、
口 Страте「ии получения знаний
Теоретические аспекты извлечения знаний
Теоретические аспекты структурирования знаний
Поле знаний
Инженерия знания — достаточно молодое направление искусственного интеллекта, появившееся тогда, когда практические разработчики столкнулись с весьма нетривиальными проблемами трудности «добычи» и формализации знаний. В первых книгах по ИИ эти факты обычно только постулировались, в дальнейшем начались серьезные исследования по выявлению оптимальных стратегий выявления знаййй [Воойе, 1990; Wielinga, Schreiber, Breuker, 1992; Tuthill, 1994; Adeli, 1994}.
Данная глава целиком посвящена теоретическим проблемам инженерии знаний, другими словами — прйектированию баз знаний — получению и структурированию знаний специалистов для последующей разработки баз знаний. Центральным понятием на стадиях получения и структурирования является так называемое поле знаний, уже упоминавшееся в параграфе 1.3.
Лоле знаний ——это условное неформальное описание основных понятий и взаимосвязей между понятиями предметной области, выявленных из системы знаний эксперта, в виде графа, диаграммы, таблицы или текста.
О языке описания поля знаний
Поле знаний Pz формируется на третьей стадии разработки ЭС (см. п. 2.4) — стадии структурирования.
Поле знаний, как первый шаг к формализации, представляет модель знаний о предметной области, в том виде, в каком ее сумел выразить аналитик на некото-
ром «своем» языке. Что это за язык? Известно, что словарь языка конкретной науки формируется путем пополнения общеупотребительного языка специальными терминами и знаками, которые либо заимствуются из повседневного языка, либо изобретаются [Кузичева, 1987]. Назовем этот язык L и рассмотрим его желаемые свойства, учитывая, что стандарта этого языка пока не существует, а каждый инженер по знаниям вьщужден сам его изобретать.
Во-первых, как и в языке любой науки, в нем должно быть как можно меньше неточностей, присущих обыдбнным языкам. Частично точность достигается более строгим определением понятий. Идеалом точности, конечно, является язык математики. Язык L, видимо, занимает промежуточное положение между естественным языком и языком математики.
Во-вторых, желательно не использовать в нем терминов иных наук в другом, то есть новом» смысле. Это вызывает недоразумения. ,
В-третьих, язык L, видимо, будет либо символьным языком, либо языком графическим (схемы, рисунки, пиктограммы).
При выборе Языка описания поля знаний не следует забывать, что на стадии формализации необходимо его заменить на машинно-реализуемый язык представления знаний (ЯПЗ), выбор которого зависит от структуры поля знаний.
Существует ряд языков, достаточно универсальных, чтобы претендовать на роль языка инженерии знаний, — это структурно-логический язык SLL, включающий аппарат лямбда-конверсии [Вольфенгаген и др., 1979], язык К-систем [Кузнецов, 1989], УСК [Мартынов, 1977] и др. Однако они не нашли широкого применения. В некотором смысле создание языка L очень близко к идеям разработки универсальных языков науки [Кузичева, 1987]. К XVII веку сложились два подхода в разработке универсальных языков: создание языков-классификаций клогико- конструктивных языков. К первому примыкают проекты, восходящие к идее Ф. Бэкона, — это языки Вилкинса и Дал гарно. Второй подход связан с исследованиями в рамках поиска универсального метода познания, наиболее четко высказанного Р. Декартом, а затем в проекте универсальной характеристики Г. Лейбница. Именно Лейбниц наметил основные контуры учения о символах, которые в соответствии с его замыслами в XVIII веке развивал Г. Ламберт, который дал имя науке «семиотика». Семиотика в основном нашла своих адептов в сфере гуманитарных наук. В последнее время сложилась также новая ветвь семиотики — прикладная семиотика [Pospelov, 1995].
Представители естественных наук еще не до конца осознали достоинства семиотики только из-за того, что имеют дело с достаточно простыми и «жесткими» предметными областями. Им хватает аппарата традиционной математики. В инженерии знаний, однако, мы имеем дело с «мягкими» предметными областями, где явно не хватает выразительной адекватности классического математического аппарата и где большое значение имеет эффективность нотации (ее компактность, простота модификации, ясность интерпретации, наглядность и т. д.). В главе 8 рассматриваются современные тенденции в этой области и вводится понятие онотологического инжиниринга, как одного из подходов к семиотическому моделированию предметной области.
Языки семиотического моделирования [Осипов, 1988; Поспелов, 1986] как естественное развитие языков ситуационного управления являются, как нам кажется, первым приближением к языку инженерии знаний. Именно изменчивость и условность знаков делают семиотическую модель применимой к сложным сферам реальной человеческой деятельности. Поэтому главное на стадии концептуализации —сохранение естественной структуры поля знаний, а не выразительные возможности языка.
Традиционно семиотика включает (рис. 3.1):
синтаксис (совокупность правил построения языка или отношения между знаками);/
семантику (связь между элементами языка и их значениями или отношения между знаками и реальностью);
прагматику (отношения между знаками и их пользователями).
Рис. 3.1. Структура семиотики
Семиотическая модель поля знаний
Поле знаний Pz является некоторой семиотической моделью, которая может быть представлена как граф, рисунок, таблица, диаграмма, формула или текст в зависимости от вкуса инженера по знаниям и особенностей предметной области. Особенности ПО могут оказать существенное влияние на форму и содержание компонентов структуры Pz.
Рассмотрим соответствующие компоненты Pz (рис. 3.2).
Рис. 3.2. Структура поля знаний
Синтаксис. Обобщенно синтаксическую структуру поля знаний можно представить как
П = (1,О,М),
где I — структура исходных данных, подлежащих обработке и интерпретации в экспертной системе;
О — структура выходных данных, то есть результата работы системы;
М — операциональная модель предметной области, на основании которой происходит модификация I в О.
Включение компонентов I и О в Р обусловлено тем, что составляющие и структура этих интерфейсных компонентов имплицитно (то есть неявно) присутствуют в модели репрезентации в памяти эксперта. Операциональная Модель М может быть представлена как совокупность концептуальной структуры Sk)отражающей понятийную структуру предметной области, и функциональной структуры Sf, моделирующей схему рассуждений эксперта:
M = (Sk,S》
Sk выступает как статическая, неизменная составляющая Р, в то время как Sf представляет динамическую, изменяемую составляющую.
Формирование Sk основано на выявленйи понятийной структуры предметной области. Параграф 3.4. описывает достаточно универсальный алгоритм проведения концептуального анализа на основе модификации парадигмы структурного анализа [Your(Jon, 1989] и построения иерархии понятий (так называемая «пирамида знаний»). Пример Sk и Sf представлен на рис. 3.3 и 3.4.
科帛,毎
/
(СИМПТ©Е|] \
\ [鄧теина,потребность]
' ухо zr
[Пораженке жеп^доино*кии»еиного тракта]
/
(Лечение L_
Эритема
п
[NEDOSTAT.VCO]
..■■jBeuwcTBo).
L-Витамин ВЭ (Р₽)
I—Гиперкератоз / 1-Пигментации/ / МУелушени^ / [Нерени® бопезхн) ^Нервно-мышечные боли
学 6 /(Внутренние болезни]
Z'n
[В пегких случаяхj t-анутрь по 0.025 г X раза в день
L-Понос /
Поражение кожи} |~Сухосгь н бседмость
Язык обяо>шнный отечный Язык сухой ярко-красный Язык болезненный с трещинами
Рис. 3.3. Концептуальная составляющая поля знаний
[Причины
[—Недостаток белковой пищи I—Поносы
|~Цирроз печени
《рохнмески 伪 алкоголизм
:魏憑應域發旦篁殮幾磋
[Недостаточность]
[Содержится в] |~М;8 |-Рыба [-Орехи I—Бобовые Ц<леб
[Действие)
|—Обменбелков 1~Обмен)шров
|—Обмен углеводов
、|—Сосуоорасширяющее
J1—Гипотензивное
I Психические нардщенк*) -Раздражительность -Бессонница -Подавленность -Звторможенность
{разные босезни:
Поражение слизистых
[В тяжелых слдчаях j
1=Пёрёнтёрально1 мл 5% раствора никотинамида в лень
Рис. 3.4. Функциональная составляющая поля знаний
Структура Sf включает понятия предметной области А и моделирует основные функциональные связи RA или отношения между понятиями, образующими Sk. Эти связи отражают модель или стратегию принятия решения в выбранной ПО. Таким образом Sf образует стратегическую составляющую М.
Семантика. Семантика, предающая определенное значение предложениям любого формального языка, определяется на некоторой области. Фактически это набор правил интерпретации предложений и формул языка. Семантика L должна быть композиционной, то есть значение предложения определяется как функция значений его составляющих.
Семантика языка L зависит от особенностей предметной области, она обладает свойством полиморфизма, то есть одни и те же операторы языка в разных задачах могут иметь свои особенности.
Семантику поля знаний Pz можно рассматривать на двух уровнях. На первом уровне P*Zg есть семантическая модель знаний эксперта i о некоторой предметной области Og. На втором уровне любое поле знаний Pz является моделью некоторых знаний, и, следовательно, можно говорить о смысле его как некоторого зеркала действительности. Рассматривать первый уровень в отрыве от конкретной области нецелесообразно, поэтому остановимся подробнее на втором.
Схему, отображающую отношения между реальной действительностью и полем знаний, можно представить так, как показано на рис. 3.5.
MgiMgiMgjMgjРис. 3.5. «Испорченный телефон» при формировании поля знанийРис. 3.5. «Испорченный телефон» при формировании поля знаний
Mgi
Mgi
Mgj
Mgj
Рис. 3.5. «Испорченный телефон» при формировании поля знаний
Рис. 3.5. «Испорченный телефон» при формировании поля знаний
Как следует из рисунка, поле P%g — это результат, полученный «после 4-й трансляции» (если говорить на языке информатики).
1-я трансляция (I) — это восприятие и интерпретация действительности О предметной области gi-м экспертом. В результате,в памяти эксперта образуется модель % как семантическая репрезентация действительности и его личного опыта по работе с ней.
2-я трансляция (Vj ) — это вербализация опыта i-ro эксперта, когда он пытается объяснить свои рассуждения 5,- и передать свои знания Z, инженеру по знаниям. В результате Vi образуется либо текст Т『либо речевое сообщение С-
3-я трансляция (I,— это восприятие и интерпретация сообщений 幻 или С. j-M инженером по знаниям. В результате в памяти инженера по знаниям образуется модель мира 此“
4-я трансляция (К/ — это кодирование и вербализация модели М讨 в форме поля знаний P^g.
Более всего эта схема напоминает детскую игру в «испорченный телефон»; перед инженером по знаниям стоит труднейшая задача — добиться максимального соответствия М@ и P^zg. У читателей не должно возникать иллюзий, что Pzg отображает Og. Ни в коем случае, ведь знания — вещь сугубо авторизованная, следовало бы на каждой ЭС ставить четкий ярлык i-j, то есть «база знаний эксперта i в понимании инженера по знаниям j>. Стоит заменить, например, инженера по знаниям j на h, и получится совсем другая картина.
Пример 3.1
Приведем пример влияния субъективных взглядов эксперта на 心 и V『Реальность (Og): два человека прибегают на вокзал за 2 минуты до отхода поезда. В кассы — очередь. В автоматических кассах свободно, но ни у того, ни у другого пет мелочи. Следующий поезд через 40 минут. Оба опаздывают на важную встречу.
Интерпретация 1-го эксперта (1〔): нельзя приходить на вокзал менее чем за 10 минут.
Интерпретация 2-го эксперта (12): надо всегда иметь мелочь в кармане.
Вербализация 1-го эксперта (V〕): опоздал к нужному поезду, так как не рассчитал время.
Вербализация 2-го эксперта (V2): опоздал, так как на вокзале неразбериха, в кассах толпа.
Последующие трансляции еще больше будут искажать и видоизменять модель, но теперь уже с учетом субъективного восприятия инженеров по знаниям.
Таким образом, если считать поле знаний смысловой (семантической) моделью предметной области, то эта модель дважды субъективна. И если модель 此;(см. рис. 3.5)— это усеченное отображение Ogf то само Pz — лишь отблеск Mgi через призму V】и M#
Прагматика. В качестве прагматической составляющей семиотической модели следует рассматривать технологии проведения структурного анализа ПО, пользуясь которым инженер по знаниям может сформировать Pz по результатам стадии извлечения знаний.
Таким образом, под прагматикой будем понимать практические аспекты разработки и использования поля, то есть как от хаоса черновиков и стенограмм сеансов извлечения знаний перейти к стройной или хотя бы ясной модели.
Подробнее эти вопросы освещены в параграфах 3.4. и 4.4. Однако поле знаний, несмотря на все старания инженера по знаниям и эксперта, всегда будут лишь бледным отпечатком реально существующей предметной области, ведь окружающий нас мир так изменчив, сложен и многообразен, а то, что хранится в нашем сознании, так плохо поддается вербализации. Тем не менее с точки зрения науч-
ной методологии без продуманного, четкого и красивого поля знаний не мо求ет; идти и речи о создании базы знаний промышленной ЭС.
«Пирамида» знаний
Иерархичность понятийной структуры сознания подчеркивается в работах многих психологов [Брунер, 1971; Веккер, 1976]. Поле знаний можно стратифицировать, то есть рассматривать на различных уровнях абстракции понятий. В «пирамиде знаний» каждый следующий уровень служит для восхождения на новую ступень обобщения и углубления знаний в предметной области. Таким образом, возможно наличие нескольких уровней понятийной структуры Sk Представляется целесообразным связать это с глубиной профессионального опыта (например, как в системе АВТАНТЕСТ [Гаврилова, Червинская, 1992]) или с уровнем иерархии в структурной лестнице организации (рис. 4.12 главы 4).
Естественно, что и стратегии принятия решений, то есть функциональные структуры S# на различных уровнях будут существенно отличаться.
Если попытаться дать математическую интерпретацию уровней пирамиды знаний U н (U[, U2, U3 ,...» Un ), то наиболее прозрачным является понятие гомоморфизма —отображения некоторой системы Е, сохраняющего основные операции и основные отношения этой системы.
Пусть
E = (E|(*iW I),(rj:jW J))
некоторая система с основными понятиями о;, i G I и основными отношениями q; jej.
Гомоморфизмом системы Е в однотипную ей систему Е':
E、(El(d:iW I),(耳:jW J)), называется отображение'
①:Е n Е',
удовлетворяющее следующим двум условиям:
①9(5,enj)) = о; (Ф (е)…,Ф (enj));
•(е“ …,em) е tj=> (①(e),…,Ф (em)) W r[・
Для всех элементов e〔,…,em из E и всех i Е I, j G J.
Согласно введенным обозначениям уровни пирамиды суть гомоморфизмы моделей (то есть понятий и отношений) предметной области
①:мn Ml
где М к (A, R, S); М' = (А‘, R', S,), А* — мета-понятия, или понятия более высокого уровня абстракции; R' — мета-отношения; S' — мета-стратегии.
Восходя по ступеням пирамиды, мы получаем систему гомоморфизмов, что соответствует результатам, полученным в когнитивной психологии об уменьшении размерности семантического пространства памяти с увеличением опыта экспертов.
Стратегии получения знаний
При формировании поля знаний ключевым вопросом является сам процесс по- 、лучения знаний, когда происходит перенос компетентности экспертов на инженеров по знаниям. Для названия этого процесса в литературе по ЭС получило распространение несколько терминов: приобретение, добыча, извлечение, получение, выявление, формирование знаний. В англоязычной специальной литературе в основном используются два: acquisition (приобретение) и elicitation (выявление, извлечение, установление).
Термин《приобретение» трактуется либо очень широко — тогда он включает весь процесс передачи знаний от эксперта к базе знаний ЭС, либо уже как способ автоматизированного построения базы знаний посредством диалога эксперта и специальной программы (при этом структура поля знаний заранее закладывается в программу). В обоих случаях термин «приобретение» не касается самого таинства экстрагирования структуры знаний из потока информации о предметной области. Этот процесс описывается понятием ^извлечением.
Авторы склонны использовать этот термин как более емкий и более точно выражающий смысл процедуры переноса компетентности эксперта через инженера по знаниям в базу знаний ЭС.'
Извлечение знаний (knowledge elicitation) — это процедура взаимодействия эксперта с источником знаний, в результате которой становятся явными процесс рассуждений специалистов при принятии решения и структура их представлений о предметной области.
В настоящее время большинство разработчиков ЭС отмечает, что процесс извлечения знаний остается самым «узким» местом при построении промышленных ЭС. При этом им приходится практически самостоятельно разрабатывать ^етодьг извлечения, сталкиваясь со следующими трудностями [Gaines, 1989]:
организационные неувязки;*
неудачный метод извлечения, не совпадающий со структурой знаний в данной области;
неадекватная модель (язык) для представления знаний.
Можно добавить к этому [Гаврилова, Червинская, 1992]:
неумение наладить контакт с экспертом;
терминологический разнобой;.
отсутствие целостной системы знаний в результате извлечения только «фрагментов»;
упрощение «картины мира» эксперта и др.
Процесс извлечения знаний — это длительная и трудоемкая процедура, в которой инженеру по знаниям, вооруженному специальными знаниями по когнитивной психологии, системному анализу, математической логике и пр., необходимо воссоздать модель предметной области, которой пользуются эксперты для при-
нятия решения. Часто начинающие разработчики ЭС, желая упростить эту процедуру, пытаются подменить инженера по знаниям самим экспертом. По многим причинам это нежелательно.
Во-первых, большая часть знаний эксперта — это результат многочисленных наслоений, ступеней опыта. И часто, зная, что из А следует В, эксперт не отдает себе отчета, что цепочка его рассуждений была гораздо длиннее, например А т D т С тВ или А т Q т R т В,
Во-вторых, как было известно еще Платону, мышление диалогично. И поэтому диалог инженера по знаниям и эксперта — наиболее естественная форма изучения лабиринтов памяти эксперта, в которых хранятся знания, частью носящие невербальный характер, то есть выраженные не в форме слов, а в форме наглядных образов, например. И именно в процессе объяснения инженеру по знаниям эксперт на эти размытые ассоциативные образы надевает четкие словесные ярлыки, то есть вербализует знания.
В-третьих, эксперту труднее создать модель предметной области вследствие глубины и объема информации, которой он владеет. Еще в ситуационном управлении [Поспелов, 1986] было выявлено: объекты реального мира связаны более чем 200 типами отношений (временные, пространственные, причинно-следственные, типа «часть—целое» и др.). Эти отношения и связи предметной области образуют сложную систему, из которой выделить «скелет» или главную структуру иногда доступнее аналитику, владеющему к тому же системной методологией.
Термин «приобретением в рамках данного учебника оставлен за автоматизированными системами прямого общения с экспертом. Они действительно непосредственно приобретают уже готовые фрагменты знаний в соответствии со структурами, заложенными разработчиками систем. Большинство этих инструментальных средств специально ориентировано на конкретные ЭС с жестко обозначенной предметной областью и моделью представления знаний, то есть не являются универсальными.
Приобретение знаний (knowledge acquisition)——процесс наполнения базы знаний экспертом с использованием специализированных программных средств.
Например, система TEIRESIAS [Davis, 1982], ставшая прародительницей всех инструментариев для приобретения знаний, предназначена для пополнения базы знаний системы MYCIN или ее дочерних ветвей, построенных на «оболочке» EMYCIN [Shortliffe, 1976] в области медицинской диагностики с использованием продукционной модели представления знаний. Три поколения и основные тенденции СПЗ будут подробно описаны в параграфе 4.5. Более современные конкретные системы описаны далее в параграфе 4.6.
Термин формирование знаний традиционно закрепился за чрезвычайно перспективной и активно развивающейся областью инженерии знаний, которая занимается разработкой моделей, методов и алгоритмов обучения. Она включает индуктивные модели формирования знаний и автоматического порождения гипотез, например ДСМ-метод [Аншаков, Скворцов, Финн, 1986] на основе обучающих выборок, обучение по аналогии и другие методы. Эти модели позволяют выявить
причинно-следственНые эмпирические зависимости в базах данных с неполной информацией, содержащих структурированные числовые и символьные объекты (часто в условиях неполноты информации).
Формирование знаний (machine learning) — процесс анализа данных и выявление скрытых закономерностей с использованием специального математического аппарата и программных средств.
Традиционно к задачам формирования знаний или машинного обучения относятся задачи прогнозирования, идентификация (синтеза) функций, расшифровки языков, индуктивного вывода и синтеза с дополнительной информацией [Епифанов, 1984]. В широком смысле к обучению по примерам можно отнести и метод耳 обучения распознаванию образов [Аткинсон, 1989; Schwartz, 1988].
Индуктивный вывод правил из фактов применен также в системах AQ, AQUINAS, KSSI, INSTIL и некоторых других.
Наиболее продвинутыми среди методов машинного обучения являются, по-ви- димому, методы распознавания образов, в частности, алгебраический подход, в котором предусматривается обогащение исходных эвристических алгоритмов с помощью алгебраических операций и построение семейства алгоритмов, гарантирующего получение корректного алгоритма для решения изучаемого класса задач, то есть алгоритма, правильно классифицирующего конечную выборку по всем классам [Берков, 1972]. Однако применение методов формирования знаний пока не стало промышленной технологией разработки баз знаний.
Для того чтобы эти методы стали элементами технологии интеллектуальных систем, необходимо решить ряд задач [Осипов, 1997]:
обеспечить механизм сопряжения независимо созданных баз данных, имеющих различные схемы, с базами знаний интеллектуальных систем;
установить соответствие между набором полей базы данных и множеством элементов декларативной компоненты базы знаний;
выполнить преобразование результата работы алгоритма обучения в способ представления, поддерживаемый программными средствами интеллектуальной системы.
Помимо перечисленных существуют также и другие стратегии получения знаний, например, в случае обучения на примерах (case-based reasoning), когда источник знаний — это множество примеров предметной области [Осипов, 1997; Попов, Фоминых, Кисель, 1996]. Обучение на основе примеров (прецедентов) включает настройку алгоритма распознавания на задачу посредством предъявления примеров, классификация которых известна [Ибер- ла, 1980]./
Обучение на примерах тесно связано с машинным обучением. Различие заключается в том, что результат обучения в рассматриваемом здесь случае должен быть интерпретирован в некоторой модели, в которой, возможно, уже содержатся факты и закономерности предметной области, и преобразован в способ представ-
ления, который допускает использование результата обучения в базе знаний, длй моделирования рассуждений, для работы механизма объяснения и т. д., то есть делает результат обучения элементом соответствующей технологии.
Например, в системе INDUCE [Коов и др., 1988] порождается непротиворечивое описание некоторого класса объектов по множествам примеров и контр-примеров данного класса. В качестве языка представления используется язык переменно-значной логики первого порядка (вариант языка многозначной логики первого порядка).
Следует отметить также появление двух новых «флагов» в стане сторонников методов машинрого обучения — это data mining и knowledge discovery. Оба подхода базируются на анализе данных и поиске закономерностей.
Таким образом, можно выделить три основные стратегии проведения стадии получения знаний при разработке ЭС (рис. 3.6).
С использованием ЭВМ при наличии подходящего программного инструментария, иначе приобретение знаний.
С использованием программ обучения при наличии репрезентативной (то есть достаточно представительной) выборки примеров принятия решений в предметной области и соответствующих пакетов прикладных программ, иначе формирование знаний.
Без использования вычислительной техники путем непосредственного контакта инженера по знаниям и источника знаний (будь то эксперт, специальная литература или другие источники), иначе извлечение знаний.
Рис. 3.6. Стратегии получения знаний
В учебнике подробно будут рассматриваться процессы извлечения и приобретения знаний, так как на современном этапе разработки ЭС эти стратегии являются наиболее эффективными и перспективными. Формирование знаний, тяготеющее в большей степени к области machine learning, то есть индуктивному обучению, основываясь на хорошо исследованном аппарате распознавания образов [Гаек, Гавранек, 1983] и обнаружения сходства объектов [Гусакова, Финн, 1987], выходит за рамки данного учебника. Также вне этой книги остались вопросы формирования знаний из данных (data mining, knowledge discovery) и др.
Теоретические аспекты извлечения знаний
Поскольку основной проблемой инженерии знаний является процесс извлечения、 знаний, инженеру по знаниям необходимо четко понимать природу и особенности этих процессов. Для того чтобы разобраться в природе извлечения знаний, выделим три основных аспекта этой процедуры (рис. 3.7):
А = {Al, А2, АЗ} = {психологический, лингвистический, гносеологический}.
Рис. 3.7. Теоретические аспекты инженерии знаний
Психологический аспект
Из трех аспектов извлечения знаний психологический — А1 — является ведущим, поскольку он определяет успешность и эффективность взаимодействия инженера по знаниям (аналитика) с основным источником знаний — экспертом-профессионалом. Психологический аспект выделяется еще и потому, что извлечение знаний происходит чаще всего в процессе непосредственного общения разработчиков системы. А в общении психология является доминантной.
Общение, или коммуникация (от лат. communicatio — связь), — это междисциплинарное понятие, обозначающее все формы непосредственных контактов между людьми — от дружеских до деловых. Оно широко исследуется в психологии, философии, социологии, этологии, лингвистике, семиотике и других науках. Существует несколько десятков теорий общения, и единственное, в чем сходятся все авторы, — это сложность, многоплановость процедуры общения. Подчеркивается, что общение — не просто однонаправленный процесс передачи сообщений и не двухтактный обмен порциями сведений, а нерасчлененный процесс циркуляции информации, то есть совместный поиск истины [Каган, 1988] (рис. 3.8).
Итак, общение есть процесс выработки новой информации, общей для общающихся людей й рождающей их общность. И хотя общение — первый вид деятельности, которым овладевает человек в онтогенезе, по-настоящему владеют культурой и наукой общения единицы.
ЭкспертЭкспертпосланиепосланиеИнженер по знаниямИнженер по знаниямПравильная Эксперт схемаПравильная Эксперт схемаСредства общенияСредства общенияИнженер по знаниямИнженер по знаниям
Эксперт
Эксперт
послание
послание
Инженер по знаниям
Инженер по знаниям
Правильная Эксперт схема
Правильная Эксперт схема
Средства общения
Средства общения
Инженер по знаниям
Инженер по знаниям
Неправильная схема
Рис. 3.8. Структура процесса общения
Можно выделить четыре основных уровня общения [Саратовский, 1980].
Уровень манипулирования, когда один субъект рассматривает другого как средство или помеху по отношению к проекту своей деятельности.
Уровень «рефлексивной игры», когда в процессе своей деятельности человек учитывает «контрпроект» другого субъекта, но не признает за ним самоценность и стремится к «выигрышу», к реализации своего проекта.
Уровень правового общения, когда субъекты признают право на существование проектов деятельности друг друга и пытаются согласовать их хотя бы внешне.
Уровень нравственного общения, когда субъекты внутренне принимают общий проект взаимной деятельности.
Стремление и умение общаться на высшем, четвертом, уровне может характеризовать степень профессионализма инженера по знаниям. Извлечение знаний —это особый вид общения, который можно отнести к духовно-информационному типу. Согласно работе [Каган, 1988] общение делится на материально-практическое; духовно-информационное; практически-духовное. При этом информационный аспект общения для инженера по знаниям с прагматической точки зрения важнейший.
Известно, что потери информации при разговорном общении велики [Мицич, 1987] (рис. 3.9).
SHKSmcа•ооуеюоонкхосoz«3>53mAd8 2>ХОФШО5 ouadgosduSHKSmcа•ооуеюоонкхосoz«3>53mAd8 2>ХОФШО5 ouadgosdu
SHKSmcа•ооуеюоонкхосoz«3>53m
Ad8 2>ХОФШО5 ouadgosdu
SHKSmcа•ооуеюоонкхосoz«3>53m
Ad8 2>ХОФШО5 ouadgosdu
В связи с этим рассмотрим проблему увеличения информативности общения аналитика и эксперта за счет использования психологических знаний.
Можно выделить такие структурные компоненты модели общения при извлечении знаний:
участники общения (партнеры);
средства общения (процедура);
предмет общения (знания).
В соответствии с этой структурой выделим три «слоя» психологических проблем, возникающих при извлечении знаний (рис. 3.10):
А1 = {Sil, S12, S13 }匸{контактный, процедурный, когнитивный}.
Контактный слой (S11)
Практически все психологи отмечают, что на любой коллективный процесс влияет атмосфера, возникающая в группе участников. Существуют эксперименты, результаты которых неоспоримо говорят, что часто дружеская атмосфера в коллективе больше влияет на результат, чем индивидуальные способности отдельных членов группы [Немов, 1984]. Особенно важно, чтобы в коллективе разработчиков складывались кооперативные, а не конкурентные отношения. Для кооперации характерна атмосфера сотрудничества, взаимопомощи, заинтересованности в успехах друг друга, то есть уровень нравственного общения, а для отношений конкурентного типа — атмосфера индивидуализма и межличностного соперничества (более низкий уровень общения).
В настоящее время прогнозировать совместимость в общении со 100%-й гарантией невозможно. Однако можно выделить ряд факторов и черт личности, характера и других особенностей участников общения, несомненно, оказывающих влияние на эффективность процедуры.
Разработка проблематики контактного слоя позволила выявить следующие параметры партнеров, влияющие на результаты процедуры извлечения знаний:
S11 к {sll_i} к {пол, возраст, личность, темперамент, мотивация и др.}, часть из которых впоследствии вошли в формирование модели пользователя.
Значения параметров пола (sll_l) и возраста (sll_2) хотя и влияют на эффективность контакта, но не являются критическими. В литературе [Иванов, 1986] отмечается, что хорошие результаты дают гетерогенные пары (мужчина/женщи- на) и соотношение:
20>(Вэ-Ва)>5,
где Вэ — возраст эксперта; Ва — возраст аналитика.
Под личностью (sll_3) обычно понимается устойчивая система психологияес? ких черт, характеризующая индивидуальность человека. Рекомендуемые компоненты sll_3 исследованы в работе [Гаврилова, 1990] и дополнены качествами из руководства для журналистов в работе [Schouksmith G” 1978]. sll_3 = (доброжелательность, аналитичность, хорошая память, внимание, наблюдательность, воображение, впечатлительность, большая собранность, настойчивость, общительность, находчивость).
Со времен Галена и Гиппократа, выделивших четыре классических типа темперамента (sll_4), вошли в научную терминологию понятия
sll_4H (холерик, сангвиник, меланхолик, флегматик).
Известно, что флегматики и меланхолики медленнее усваивают информацию [Лунева, Хорошилова, 1987]. И для обеспечения психологического контакта с ними не следует задавать беседе слишком быстрый темп, торопить их с ответом. Зато они гораздо лучше усваивают новое, в отличие от холериков, для которых свойственно поверхностное усваивание информации. Последних следует специально наводить на размышление и рефлексию. У меланхоликов часто занижена самооценка, они застенчивы и в беседе их надо подбадривать. Таким образом, наиболее успешными в рамках слоя S11 являются сангвиники и холерики.
На эффективность коллективного решения задач влияет также и мотивация (si 15), то есть стремление к успеху. Инженер по знаниям в зависимости от условий разработки должен изыскивать разнообразные стимулы для экспертов (включая, разумеется, и материальные). Эксперт передает аналитику один из самых дорогих в мире продуктов — знания. И если одни люди делятся опытом добровольно и с удовольствием, то другие весьма неохотно приоткрывают свои профессиональные тайны. Иногда полезно оказывается возбудить в эксперте дух соперничества, конкуренции (не нарушая, естественно, обстановки кооперативности в коллективе).
Процедурный слой (S12)
Параметры процедурного слоя S12 описывают непосредственно процесс проведения процедуры извлечения знаний. Фактически это профессиональные параметры:
S12 к {sl2_i} = {ситуация общения (место, время, продолжительность); оборудование (вспомогательные средства, освещенность, мебель); профессиональные приемы (темп, стиль, методы и др.)}.
Инженер по знаниям, успешно овладевший наукой установления атмосферы доверия и взаимопонимания с экспертом (контактный слой — S11), должен еще суметь воспользоваться благоприятным воздействием этой атмосферы. Проблема процедурного слоя касается проведения самой процедуры извлечения знаний. Здесь мало проницательности и обаяния, полезных для решения проблемы контакта, тут необходимы профессиональные знания.
Остановимся на общих закономерностях проведения процедуры.
sl2_l — ситуация общения определяется следующими компонентами:
s 12_1_1 — место проведения сеансов;
sl2_l_2 — продолжительность проведения сеансов;
sl2_l_3 — время проведения сеансов.“
Беседу с экспертом лучше всего проводить в небольшом помещении наедине (sl2_l_l: место), поскольку посторонние люди нарушают доверительность беседы и могут породить эффект «фасада». Рабочее место эксперта является не самым оптимальным вариантом, так как его могут отвлекать телефонные звонки, сотрудники и пр. Атмосфера замкнутого пространства и уединенности положительно влияет на эффективность.
Американский психолог И. Атватер считает, что для делового общения наиболее благоприятная дистанция от 1,2 до 3 метров [Schouksmith, 1978]. Минимальным «комфортным» расстоянием можно считать 0,7-0,8 метра.
Реконструкция собственных рассуждений — трудоемкий процесс, и поэтому длительность одного сеанса (sl2_l_2: продолжительность) обычно не превышает 1,5-2 часа. Эти два часа лучше выбрать в первой половине дня, например с 10 до 12 часов, если эксперт типа «жаворонок» (sl2_l_3: время). Известно, что взаимная утомляемость партнеров при беседе наступает обычно через 20-25 минут [Ноэль, 1978], поэтому в сеансе нужны паузы.
sl2_2 — оборудование включает:
sl2_2_l — вспомогательные средства;
. sl2_2_2 — освещенность;
s!2_2_3 — мебель.
Вспомогательные средства (sl2_2_l):
средства для увеличения эффективности самого процесса извлечения знаний;
средства для протоколирования результатов.
К средствам для увеличения эффективности процесса извлечения знаний прежде всего относится наглядный материал. Независимо от метода извлечения (см. главу 4), выбранного в конкретной ситуации, его реализация возможна разными способами. Например, можно учитывать следующий фактор: широко известно, что людей, занимающихся интеллектуальной деятельностью, можно отнести к художественному либо мыслительному типу. Термины тут условны и не имеют отношения к той деятельности, которую традиционно называют художественной или
мыслительной. Важно, что, определив, тип эксперта, инженер по знаниям может плодотворнее использовать любой из методов извлечения, зная, что люди художественного типа легче воспринимают зрительную информацию в форме рисунков, графиков, диаграмм, так как эта информация воспринимается через первую сигнальную систему. Напротив, эксперты мыслительного типа лучше понимают язык формул и текстовую информацию. При этом учитывается факт, что большую часть информации человек получает от зрения. Совет пользоваться активнее наглядным материалом из работы [Хейес—Рот, Уотермена, Ленат, 1987] можно считать универсальным. Такие методы, как свободный диалог и игры, предоставляют богатые возможности использовать слайды, чертежи, рисунки.
Для протоколирования результатов в настоящее время используются следующие способы:
запись на бумагу непосредственно по ходу беседы (недостатки — это часто мешает беседе, кроме того, трудно успеть записать все, даже при наличии навы^ ков стенографии);
магнитофонная запись (диктофон), помогающая аналитику проанализировать весь ход сеанса и свои ошибки (недостаток — может сковывать эксперта);
запоминание с последующей записью после беседы (недостаток — годится только для аналитиков с блестящей памятью).
Наиболее распространенным способом на сегодня является первый. При этом наибольшая опасность тут — потеря знаний, поскольку любая запись ответов — это уже интерпретация, то есть привнесение субъективного понимания предмета. Значения параметров освещенности (sl2_2_2) и мебели (sl2_2_3) очевидны и связаны с влиянием внешних факторов на эксперта.
sl2_3 — профессиональные приемы аналитика, включают, в частности:
sl2_3_l — темп;
sl2_3_2 — стиль;
s!2_3_3 — методы.
Учет индивидуального темпа (sl2_3_l) и стиля (sl2_3_2) эксперта позволяет аналитику снизить напряженность процедуры извлечения знаний. Типичной ошибкой является навязывание собственных темпа и стиля.
На успешность также влияет длина фраз, которые произносит инженер по знаниям. Этот факт был установлен американскими учеными — лингвистом Ингве и психологом Миллером при проведении исследования о причинах низкой усвояемости команд на Военно-морском флоте США [Gammack, Young, 1985].
Причина была в длине команд. Оказалось, что человек лучше всего воспринимает предложения глубиной (или длиной) 7+2(-2) слова. Это число (7±2) получило название число Ингве—Миллера. Можно считать его мерой «разговорности» речи. Опытные лекторы используют в лекции в основном короткие фразы, уменьшая потерю информации с 20-30 % (у плохих лекторов) до 3-4 % [Горелов, 1987]. Большая часть информации поступает к инженеру по знаниям в форме предложений на естественном языке. Однако внешняя речь эксперта есть воспроизведение его внутренней речи (мышления), которая гораздо богаче и многообразнее.
При этом для передачи этой внутренней речи эксперт использует и невербальные средства, такие как интонация, мимика, жесты. Опытный инженер по знаниям старается записывать по возможности в протоколы (в форме ремарок) эту дополнительную интонацию.
В целом, невербальная компонента стиля общения важна и для проблем контактного слоя при установлении контакта, когда по отдельным жестам и выражению лица эксперта инженер по знаниям может установить границу возможной «дружественности» общения.
Значение параметра методов (sl2_3_3) подробно рассмотрено в следующей главе, исходя из позиции, что метод должен подходить к эксперту как «ключ к замку».
Когнитивный слой (S13)
Когнитивные (от англ, cognition — познание) науки исследуют познавательные процессы человека с позиций возможности их моделирования (психология, нейрофизиология, эргономика, инженерия знаний). Наименее исследованы на сегодняшний день проблемы когнитивного слоя S13, связанные с изучением семантического пространства памяти эксперта и реконструкцией его понятийной структуры и модели рассуждений.
Основными факторами, влияющими на когнитивную адекватнбсть, будут:
S13 н {sl3_i} = {когнитивный стиль, семантическая репрезентативность поля зна* ний и концептуальной модели}.
Под когнитивным стилем (sl3_l) человека понимается совокупность критериев предпочтения при решении задач и познании мира, специфическая для каждого человека. Когнитивный стиль определяет не столько эффективность деятельности, сколько способ достижения результата [Алахвердов, 1986]. Это способ познания, который позволяет людям с разными способностями добиваться одинаковых результатов в деятельности. Это система средств и индивидуальных приемов, к которым прибегает человек для организации своей деятельности.
Инженеру по знаниям полезно изучить и прогнозировать свой когнитивный стиль, а также стиль эксперта. Особенно важны такие характеристики когнитивного стиля, как:
sl3_l_l — (полезависимость — поленезависимость);
sl3_l_2 — (импульсивность — рефлективность (рефлексивность);
sl3_l_3 — (ригидность — гибкость);
sl3_l_4 — (когнитивная эквивалентность).
sl3_l_l. Поленезависимость позволяет человеку акцентировать внимание лишь на тех аспектах проблемы, которые необходимы для решения конкретной задачи, и уметь отбрасывать все лишнее, то есть не зависеть от фона или окружающего задачу шумового поля. Эта характеристика коррелирует с такими чертами личности, как невербальный интеллект, аналитичность мышления, способность
к пониманию сути. Очевидно, что помимо того, что самому аналитику необходимо иметь высокое значение параметра sl3_l_l, поленезависимый эксперт — это тоже желательный фактор. Однако приходится учитывать, что больше нуждаются в общении полезависимые люди, а потому они и более контактны [Орехов, 1985].
Особенно полезны для общения гетерогенные (смешанные) пары, например «полезависимый —поленезависимый» [Иванов, 1986]. В литературе описаны различные эксперименты, моделирующие общение, требующее понимания и совместной деятельности. Наиболее успешным в понимании оказались поленезависимые испытуемые (92 % успеха), для сравнения полезависимые давали 56 % успеха [Кулюткин, Сухобская, 1971].
Для совместной профессиональной деятельности важна также гибкость когнитивной организации, которая связана с поленезависимостью. Итак, большую способность к адекватному пониманию партнера демонстрируют субъекты с высокой психологической дифференциацией, то есть поленезависимостью.
Поленезависимость является одной из характерных профессиональных черт когнитивного стиля наиболее квалифицированных инженеров по знаниям. По некоторым результатам [Алахвердов, 1986] мужчины более поленезависимы, чем женщины.
sl3_l_2・ Под импульсивностью понимается быстрое принятие решения (часто без его достаточного обоснования), а под рефлексивностью — склонность к рассудительности. Рефлексивность по экспериментальным данным коррелирует со способностью к формирования понятий и продуктивностью стратегий решения логических задач [Кулюткин, Сухобская, 1971]. Таким образом, и инженеру по знаниям, и эксперту желательно быть рефлексивным, хотя собственный стиль изменяется лишь частично и с большим напряжением.
sl3_l_3. Ригидность — гибкость характеризует способность человека к изменению установок и точек зрения в соответствии с изменяющейся ситуацией. Ригидные люди не склонны менять свои представления и структуру восприятия, напротив, гибкие легко приспосабливаются к новой обстановке. Очевидно, что если эксперт еще может себе позволить ригидность (что характерно для долго работающих над одной проблемой специалистов, особенно старшего возраста), то для инженера по знаниям эта характеристика когнитивного стиля явно противопоказана. Увеличение ригидности с возрастом отмечается многими психологами [Кулюткин, Сухобская, 1971; Орехов, 1985].
sl3_l__4. Когнитивная эквивалентность характеризует способность человека к различению понятий и разбиению их на классы и подклассы. Чем уже диапазон когнитивной эквивалентности, тем более тонкую классификацию способен провести индивид, тем большее количество признаков понятий он может выделить. Обычно у женщин диапазон когнитивной эквивалентности уже, чем у мужчин. Семантическая репрезентативность (sl3_2) подразумевает подход, исключающий традиционное навязывание эксперту некой модели представлений (например, продукционной или фреймовой), и заставляет инженера по знаниям последовательно воссоздавать модель мира эксперта, используя как неформальные методы,
так и математический аппарат, например многомерное шкалирование (см. главу 4). Проблема семантической репрезентативности ориентирована на достижение когнитивной адекватности поля знаний и концептуальной модели. В настоящий момент она может быть сформулирована как проблема «испорченного телефона» [Гаврилова, Червинская, 1992] (см. рис. 3.5) — возможные трансформации и потери в цепи передачи информации:
(0g: предметная область или реальный мир)—>
Д: интерпретация i-го эксперта]—>
(Mgc модель мира эксперта)—>
М: вербализация модели мира эксперта/ —>
(Ti & Ci: вербальные и невербальные сообщения i-zo эксперта]- му аналитику} —»
&: их интерпретация j-ым аналитиком丿一>
(Mgj: модель мира j・zo аналитика)—>
[0: кодирование при формировании поля знаний с последующей структуризацией 8 концептуальную модель丿.
Круглые скобки определяют понятия, квадратные — процессы.
Лингвистический аспект
Лингвистический (А2) аспект касается исследований языковых проблем, так как язык — это основное средство общения в процессе извлечения знаний.
Сразу же следует оговорить, что поскольку тема данной книги ограничена изложением теории и технологии инженерии знаний, то область разработки естественно-языковых интерфейсов и весь спектр проблем, связанных с ней — лексических, синтаксических, семантических, прагматических и т. д. [Виноград, 1976; Мальковский, 1985; Попов, 1982], — не рассматривается.
В инженерии знаний можно выделить три слоя лингвистических проблем (рис 3.11):
А2 = {S21, S22, S23} = {«общий код», понятийная структура, словарь пользователя}.
«Общий код» (S21)
«Общий код» решает проблему языковых ножниц между профессиональной терминологией эксперта и обыденной литературной речью инженера по знаниям и включает следующие компоненты:
S21 н {s21_i} = {общенаучная терминология; специальные понятия из профессиональной литературы; элементы бытового языка; неологизмы, сформированные за время совместной работы; профессиональный жаргон и др.}.
Детализация схемы общения (см. рис. 3.8) на рис. 3.11 позволяет представить средства общения как два потока [Горелов, 1987], в которых нас интересуют компоненты VI и V2 — языки, на которых говорят аналитик и эксперт (VT, V2'— невербальные компоненты). Различие языков VI и V2 и обусловливает «языковый барьер» или «языковые ножницы» в общении инженера по знаниям и эксперта.
Эти два языка являются отражением «внутренней речи» эксперта и аналитика, поскольку большинство психологов и лингвистов считают, что язык — это основное средство мышления наряду с другими знаковыми системами «внутреннего пользования» (универсальный семантический код — УСК [Мартынов, 1977], языки «смысла» [Мельчук, 1974], концептуальные языки [Шенк, 1980] и др.).
Язык аналитика VI состоит из трех компонентов:
s21_l — общенаучной терминологии из его «теоретического багажа»;
s21_2 — терминов предметной области, которые он почерпнул из специальной литературы в период подготовки;
s21__3 — бытового разговорного языка, которым пользуется аналитик.
Язык эксперта V2 включает:
s21__l — общенаучную терминологию;
s21_2 — специальную терминологию, принятую в предметной области;
s21_3 — бытовой язык;
s21_4 — неологизмы, созданные экспертом за время работы, то есть его профессиональный жаргон.
Если считать, что бытовой и общенаучный языки у двух участников общения примерно совпадают (хотя реально объем второго компонента у эксперта существенно больше), то некоторый общий язык или код, который необходимо выработать партнерам для успешного взаимодействия, будет складываться из потоков, представленных на рис. 3.12.
В дальнейшем этот общий код преобразуется в некоторую понятийную (семантическую) сеть, которая является прообразом поля знаний предметной области. Выработка общего кода начинается с выписыванием аналитиком всех терминов, употребляемых экспертом, и уточнения их смысла. Фактически это составление словаря предметной области. Затем следует группирование терминов и выбор синонимов (слов, означающих одно и то же). Разработка общего кода заканчи-
вается составлением словаря терминов предметной области с предварительной группировкой их по смыслу, то есть по понятийной близости (это уже первый шаг структурирования знаний).
На этом этапе аналитик должен с большим вниманием отнестись ко всем специальным терминам, пытаясь максимально вникнуть в суть решаемых проблем и терминологию. Освоение аналитиком языка предметной области — пербый рубеж на подступах к созданию адекватной базы знаний.
s21_4Специальнаятерминологияэкспертаs21_4СпециальнаятерминологияэкспертаS21_1S21_1§21_2Специальныетерминыиз литературы§21_2Специальныетерминыиз литературыЭкспертЭкспертИнженер по знаниямИнженер по знаниям
s21_4Специальнаятерминологияэксперта
s21_4Специальнаятерминологияэксперта
S21_1
S21_1
§21_2Специальныетерминыиз литературы
§21_2Специальныетерминыиз литературы
Эксперт
Эксперт
Инженер по знаниям
Инженер по знаниям
Общенаучныетермины
Рис. 3.12. Структура общего кода
Рцсунок 3.12 дает представление о процессе неоднозначности интерпретации терминов двумя специалистами. В семиотике, науке о знаковых системах, проблема интерпретации является одной из центральных. Интерпретация связывает «знак» и «означаемый предмет». Только в интерпретации знак получает смысл. Так, на рис. 3.13 слова «прибор X» для эксперта означает некоторую конкретную схему, которая соответствует схеме оригинала прибора, а в голове начинающего аналитика слова «прибор X》вызывают пустой образ или некоторый черный ящик с ручками.
ЗнакРис. 3.13. Неоднозначность интерпретацииЗнакРис. 3.13. Неоднозначность интерпретации
Знак
Рис. 3.13. Неоднозначность интерпретации
Знак
Рис. 3.13. Неоднозначность интерпретации
Внимание к лингвистическому аспекту проблемы извлечения знаний способствует сближению образа 1 с образом 2 и интерпретации И с интерпретацией 12, а слова «прибор X» перейдут в действительно «общий» код.
Таким образом, слой S21 включает изучение и управление процессом разработки специального промежуточного языка, необходимого для взаимодействия инженера по знаниям и эксперта.
Понятийная структура (S22)
Проблемы формирования понятийной структуры представляют следующий слой S22 лингвистического аспекта проблемы извлечения знаний. Особенности формирования понятийной структуры обусловлены установленным постулатом когнитивной психологии о взаимосвязи понятий в памяти человека и наличии семантической сети, объединяющей отдельные термины во фрагменты, фрагменты в сценарии и т. д. Построение иерархической ;сети понятий, так называемой «пирамиды знаний», — важнейшее звено в проектировании интеллектуальных систем.
Большинство специалистов по искусственному интеллекту и когнитивной психологии считают, что основная особенность естественного интеллекта и памяти в частности — это связанность всех понятий в некоторую сеть. Поэтому для разработки базы знаний и нужен не словарь, а «энциклопедия» [Шенк, Бирнбаум, Мей, 1989], в которой все термины объяснены в словарных статьях со ссылками на другие термины.
Таким образом, лингвистическая работа инженера по знаниям на данном слое проблем заключается в построении таких связанных фрагментов с помощью «сшивания» терминов. Фактически зта работа является подготовкой к этапу концептуализации, где это «шитье» (по Шенку — КОП, концептуальная организация памяти [Шенк, Хантер, 1987]) приобретает некоторый законченный вид.
При тщательный работе аналитика и эксперта в понятийных структурах начинает просматриваться иерархия понятий, подробно о которой будет говориться в параграфах 4.4. и 8.2. Такие структуры имеют важнейшее гносеологическое и дидактическое значение и последнее время для них используется специальный термин — онтологии. Следует заметить, что эта иерархическая организация хорошо согласуется с теорией универсального предметного кода (УПК) [Горелов, 1987; Жинкин, 1982], согласно которой при мышлении используются не языковые конструкции, а их коды в форме некоторых абстракций, что в общем согласуется с результатами когнитивной психологии [Величковский, 1982].
Иерархия абстракций — это глобальная схема, которая может быть положена в основу концептуального анализа структуры знаний любой предметной области. Лингвистический эквивалент иерархии — иерархия понятий, которую необходимо построить в понятийной структуре, формируемой инженером по знаниям (рис. 3.14).
Следует подчеркнуть, что работа по составлению словаря и понятийной структуры требует.лингвистического «чутья», легкости манипулирования терминами и
богатого словарного запаса инженера по знаниям, так как зачастую аналитик вынужден самостоятельно разрабатывать словарь признаков. Чем богаче и выразительнее получается общий код, тем более полнее база знаний.
Рис. 3.14. Пример иерархии
Аналитик вынужден все время помнить о трудности передачи образов и представлений в вербальной форме. Полезными тут оказываются свойства многозначности слов естественного языка. Часто инженеру по знаниям приходится подсказывать слова и выражения эксперту, и такие новые лексические конструкции оказываются полезными.
Способность к словесной интерпретации зависит и от пола аналитика (параметр si_t). Установлено, что традиционно женщины придают большую значимость невербальным компонентам общения, а в вербальных имеют более обширный алфавит признаков. И вообще, существуют половые различия восприятия не только в бытовой сфере, что очевидно, но и в профессиональной. Следовательно, у эксперта-мужчины и у эксперта-женщины могут существенно отличаться алфавиты для вербализации признаков воспринимаемых объектов.
Словарь пользователя (S23)
Лингвистические результаты, соотнесенные к слоям общего кода и понятийной структуры, направлены на создание адекватной базы знаний. Однако часто профессиональный уровень конечного пользователя не позволяет ему применить специальный язык предметной области в полном объеме.
Неожиданными для начинающих разработчиков являются проблемы формирования отдельного словаря для создания дружественного интерфейса с пользователем ЭС, исследуемые в слое S23. Необходимы специальные приемы, увеличивающие «прозрачность» и доступность системы. Для разработки пользовательского интерфейса требуется дополнительная доработка словаря общего кода с поправкой на доступность и «прозрачность» системы.
Так, при разработке экспертной системы по психодиагностике АВТ АНТЕСТ [Гаврилова, 1984] пришлось разработать два словаря терминов — один для психологов-профессионалов, второй — для неспециалистов (испытуемых). Поскольку результат психодиагностического тестирования всегда интересен испытуемому, ему выдается листинг с психологическим заключением на общелитературном языке без употребления специальных терминов. Интересно, что при внедрении системы использовался в основном этот второй словарь; даже профессиональные психологи предпочитали получать тексты на обыденном языке,
Гносеологический аспект извлечения знаний
Гносеология — это раздел философии, связанный с теорией познания, или теорией отражения действительности в сознании человека. Гносеологический аспект (АЗ) извлечения знаний объединяет методологические проблемы получения нового научного знания, поскольку при создании БЗ эксперт часто впервые формуляру* ет некоторые закономерности, до того момента составлявшие его личный опыт.
Инженерия знаний как наука, если можно так выразиться, дважды гносеологич- на — сначала действительность (О) отражается в сознании эксперта (Ml), а затем деятельность и опыт эксперта интерпретируются сознанием инженера по знаниям (М2), что служит уже основой для построения третьей интерпретации (Р) — поля знаний экспертной системы (см. рис. 3.5). Процесс познания, в сущности, направлен на создание внутренней репрезентации окружающего мира в сознании человека.
Предметом данного учебника являются в основном процессы отображения 12 и 13 (И — изучают психология и философия); подробно интерпретация 13 будет рассмотрена далее.
Если описать процессы 12 и 13 в терминологии, введенной в главе 1, то мы имеем дело с превращением экспертного знания и теоретического (книжного) опыта Z1 в поле знаний Z2, которое есть материализация модели мира М2 инженера по знаниям.
В процессе извлечения знаний аналитика в основном интересует компонент Z1, связанный с неканоническими индивидуальными знаниями экспертов, поскольку предметные области, требующие именно такого типа знаний, считаются наиболее восприимчивыми к внедрению экспертных систем. Эти области обычно называют эмпирическими, так как в них накоплен большой объем отдельных эмпирических фактов и наблюдений, в то время как их теоретическое обобщение — вопрос будущего.
Если считать, что инженер по знаниям извлекает только фрагмент Z1', то есть часть из системы знаний эксперта Z1, то его задача, во-первых, стараться, чтобы структура ZT соответствовала Z1, и, во-вторых, чтобы Z1' как можно более полно отражал Z1.
Познание часто сопровождается созданием новых понятий и теорий. Иногда эксперт порождает новые знания прямо в ходе беседы с аналитиком. Такая генера-
ция знаний полезна и самому эксперту, который до того момента мог не осознавать ряд соотношений и закономерностей предметной области. Аналитику может помочь тут и инструментарий системной методологии, позволяющий использовать известные принципы логики научных исследований, понятийной иерархии науки. Эта методология заставляет его за частным всегда стремиться увидеть общее, то есть строить цепочки.
Гносеологическая цепочка: факт т обобщенный факт т эмпирический закон т теоретический закон.
Не всегда удается дойти до последнего звена этой цепочки, но уже само стремление к движению бывает чрезвычайно плодотворным. Такой подход полностью согласуется со структурой самого знания, которое имеет два уровня:
Эмпирический (наблюдения, явления).
Теоретический (законы, абстракции, обобщения).
Но теория — это не только стройная система обобщения научного знания, это также некоторый способ производства новых знаний. Основными методологическими критериями научности, позволяющими считать научным и само новое знание и способ его получения, являются [Коршунов, Манталов, 1988]:
АЗ = {S31, S32, S33} = {внутренняя согласованность, системность, объективность, историзм}.
Внутренняя согласованность (S31)
Основные характеристики эмпирического знания:
S31 = {s31_i} = {модальность, противоречивость, неполнота}.
На первый взгляд критерий внутренней согласованности знания не соответствует реальным характеристикам, описывающим знания с точки зрения слоя s31_i. Эти характеристики эмпирических знаний подчеркивают его «многоуклад- ность» — столь часто факты не согласуются друг с другом, определения противоречат, критерии диффузны и т. д. Аналитику, знающему особенности эмпирического знания, — приходится сглаживать эти «шероховатости» эмпирики.
Модальность (s31_l) знания означает возможность его существования в различных категориях, то есть в конструкциях существования и долженствования. Таким образом, часть закономерностей возможна, другая обязательна и т. д. Кроме того, приходится различать такие оттенки модальности, как:
эксперт знает, что...;
эксперт думает, что..,;
эксперт хочет, чтобы...;
эксперт считает, что....
Возможная противоречивость (s3i_2) эмпирического знания — естественное следствие из основных законов диалектики, и противоречия эти не всегда долж-
ны разрешаться в поле знаний, а напротив, именно противоречия служат чаще всего отправной точкой в рассуждениях экспертов.
Неполнота (s31_3) знания связана с невозможностью полного описания предметной области. Задача аналитика эту неполноту ограничить определенными рамками «полноты», то есть сузить границы предметной области либо ввести ряд ограничений и допущений, упрощающих проблему.
Системность (S32) %
Системно-структурный подход к познанию (восходящий еще к Гегелю) ориентирует аналитика на рассмотрение любой предметной области с позиций закономерностей системного целого и взаимодействия составляющих его частей.
Современный структурализм исходит из многоуровневой иерархической организации любого объекта, то есть все процессы и явления можно рассматривать как множество более мелких подмножеств (признаков, деталей) и, наоборот, любые объекты можно (и нужно) рассматривать как элементы более высоких классов обобщений. Например, системный взгляд на проблематику структурирования знаний позволяет увидеть его иерархическую организацию. Подробнее об этом в параграфе 3,4.
Объективность (S33)
Процесс познания глубоко субъективен, то есть он существенно зависит от особенностей самого познающего субъекта. «Факты существуют для одного глаза и отсутствуют для другого» (Виппер). Таким образом, субъективность начинается уже с описания фактов и увеличивается по мере углубления идеализации объектов.
Следовательно, более корректно говорить о глубине понимания, чем об объективности знания. Понимание — это сотворчество, процесс истолкования объекта с точки зрения субъекта. Это сложный и неоднозначный процесс, совершающийся в глубинах человеческого сознания и требующий мобилизации всех интеллектуальных и эмоциональных способностей человека. Всё свои усилия аналитик должен сосредоточить на понимании проблемы.
В психологии известен результат [Величковский, Капица, 1987], подтверждающий факт, что люди, быстро и успешно решающие интеллектуальные задачи, большую часть времени тратят на понимание ее, в то время как плохие решатели быстро приступают к поискам решения и чаще всего не могут его найти.
Историзм (S34)
Этот критерий связан с развитием. Познание настоящего — есть познание породившего его прошлого. И хотя большинство экспертных систем дают «горизонтальный» срез знаний — без учета времени (в статике), инженер по знаниям должен всегда рассматривать процессы с учетом временных изменений — как связь с прошлым, так и связь с будущим. Например, структура поля знаний и база знаний должны допускать подстройку и коррекцию как в период разработки, так и во время эксплуатации ЭС.
Рассмотрев основные критерии научности познания, попытаемся теперь описать его структуру. Методологическая структура познания может быть представлена как некоторая последовательность этапов [Коршунов, Манталов, 1988].
Параметры {S3i} органически вписываются в эту структуру познания, которая может быть представлена как последовательность этапов, описанных далее с позиций инженера по знаниям:
Э_1: описание и обобщение фактов;
Э_2: установление логических и математических связей, дедукция и индукция законов;
3_3: построение идеализированной модели;
Э_4: объяснение и предсказание явлений.
Э_1. Описание и обобщение фактов
Тщательность и полнота ведения протоколов во время процесса извлечения и пунктуальная «домашняя работа» над ними — вот залог продуктивного первого этапа познания и материал для описания и обобщения фактов.
На практике оказывается трудным придерживаться принципов объективности и системности, описанных выше. Чаще всего на этом этапе факты просто собирают и как бы бросают в «общий мешок»; опытный инженер по знаниям часто сразу пытается найти «полочку» или «ящичек» для каждого факта, тем самым подспудно готовясь к этапу концептуализации.
3_2・ Установление связей и закономерностей
В памяти эксперта все понятия увязаны и закономерности установлены, хотя часто и неявно задача инженера —^выявить каркас умозаключений эксперта. Реконструируя рассуждения эксперта, инженер по знаниям может опираться на две наиболее популярные теории мышления — логическую и ассоциативную. При этом если логическая теория благодаря горячим поклонникам в лице математиков широко цитируется и всячески эксплуатируется в работах по искусственному интеллекту, то вторая, ассоциативная, гораздо менее известна и популярна, хотя имеет также древние корни. Так, Р. Фейнман в своих «Лекциях по физике» отмечает, что в физике по-прежнему преобладающим является вавилонский, а не греческий метод построения знаний. Известно, что древневосточные математики1 умели делать сложные вычисления, но формулы их не были логически увязаны. Напротив, греческая математика дедуктивна (например, «Начала» Евклида).
Традиционная логика формирует критерии, которые гарантируют точность, валидность, непротиворечивость общих понятий рассуждений и выводов. Ее основы заложены еще в «Органоне» Аристотеля в 4 в. до н. з. Большой вклад в развитие логики внес Джон Стюарт Милль (1806-1873).
Инженер по знаниям и сам использует операции традиционной логики и выделяет их в схеме рассуждений эксперта. Это следующие операции:
определение;
сравнение и различение;
анализ;
абстрагирование;
обобщение;
классификация;
категоризация;
образование суждений;
умозаключение;
составление силлогизмов и т. д.
Однако красота и стройность логической теории не должны заслонять того, что человек редко мыслит в категориях математической логики [Поспелов, 1989].
Теория ассоциаций представляет мышление как цепочку идей, связанных общими понятиями. Основными операциями такого мышления являются:
ассоциации, приобретенные на основе различных связей;
припоминание прошлого опыта; пробы и ошибки со случайными успехами;
привычные («автоматические») реакции и пр.
Однако эти две теории не исчерпывают всего многообразия психологических школ. Большой интерес для инженерии знаний может представлять гештальт- психология. Одним из ее основателей является выдающийся немецкий психолог М. Вертгеймер (1880-1943). Под гештальтом (нем. Gestalt) понимается принцип целостности восприятия — как основа мышления. Гештальт-психологи стараются во всем выделять некий целостный образ или структуру как базис для понимания процессов и явлений окружающего мира. Эта теория близка теории фреймов и объектному подходу и направлена на постижение глубинного знания, которое характеризуется стабильностью и симметрией. При этом важен так называемый «центр ситуации», относительно которого развивается знание о предметной области.
Для инженера по знаниям это означает, что, выявляя различные фрагменты знаний, он не должен забывать о главном, о гештальте фрагмента, который влияет на остальные компоненты и связывает их в некоторую структурную единицу. Гештальтом может быть некий главный принцип, или идея, или гипотеза эксперта, или его вера в силу каких-то отдельных концепций. Этот принцип редко формулируется экспертом явно, он всегда как бы за «кадром», и искусство инженера по знаниям обнаружить этот основной гештальт эксперта.
В гештальт-теории существует закон «стремления к хорошему гештальту», согласно которому структуры сознания стремятся к гармонии, связности, прбстоте. Это близко к старинному классическому принципу «бритвы Оккама» — «сущности не должны умножаться без необходимости» — и формулируется как принцип прегнантности Вертгеймера [Вертгеймер, 1987]: «Организация поля имеет тенденцию быть настолько простой и ясной, насколько позволяют данные условия». Рассуждения о гештальте подводят вплотную к третьему этапу в структуре познания.
3_3・ Построение идеализированной модели
Для построения модели, отражающей представление субъекта о предметной области, необходим Специализированный язык, с помощью которого можно описывать и конструировать те идеализированные модели мира, которые возникают в процессе мышления. Язык этот создается постепенно с помощью категориального аппарата, принятого в соответствующей предметной области, а также формально-знаковых средств математик% и логики. Для эмпирических предметных областей такой язык пока не разработан, и поле знаний, которое полуформализо- ванным способом опишет аналитик, может быть первым шагом к созданию такого языка.
Любое познавательное отражение включает в себя условность, то есть упрощение и идеализацию. Инженеру по знаниям необходимо овладение такими специфическими гносеологическими приемами, как идеализация, огрубление, абстрагирование, которые позволяют адекватно отображать в модели реальную картину мира. Эти приемы доводят свойства и признаки объектов до пределов, позволяющих воспроизводить законы действительности в более лаконичном виде (без влияния несущественных деталей).
На тернистом пути познания проверенный диалектический подход оказывается лучшим «поводырем». Инженер по знаниям, который стремится познать проблемную область, должен быть готов постоянно изменять свои уже утвердившие1 ся способы восприятия и оценки мира и даже отказываться от них. При этом тщательнее всего следует проверять правильность суждений, которые кажутся самыми очевидными. ,
Э_4. Объяснение и предсказание моделей
Этот завершающий этап в структуре познания является одновременно и частичным критерием истинности полученного знания. Если выявленная система знаний эксперта полна и объективна, то на ее основании можно делать прогнозы и объяснять любые явления из данной предметной области. Обычно базы знаний ЭС страдают фрагментарностью и модульностью (несвязанностью) компонентов. Все это не позволяет создавать действительно интеллектуальные системы, которые, равняясь на человека, могли бы предсказывать новые закономерности и объяснять случаи, не указанные в явном виде в базе. Исключением тут являются обучающие системы, которые ориентированы на генерацию новых знаний и «предсказание».
Предлагаемая методология вооружает аналитика аппаратом, позволяющим избежать традиционных ошибок, приводящих к неполноте, противоречивости, фрагментарности БЗ, и указывает направление, в котором необходимо двигаться разработчикам. И хотя на сегодняшний день большинство БЗ прорабатываются лишь до этапа Э_3, знание полной схемы обогащает и углубляет процесс проектирования.
Теоретические аспекты структурирования знаний
Разделение стадий извлечения и структурирования знаний является весьма условным, поскольку хороший инженер по знаниям, уже извлекая знания, начинает работу по структурированию и формированию поля знаний, описанному в параграфе 3.1.
Однако в настоящее время прослеживается тенденция опережения технологических средств разработки интеллектуальных систем по отношению к их теоретическому обоснованию. Практически сейчас существует пропасть между блестящими, но несколько «постаревшими» математическими основами кибернетики (труды Винера, Эшби, Шеннона, Джорджа, Клира, Йордона, Ляпунова, Глушкова и др.) и современным поколением интеллектуальных систем, которые основаны на парадигме обработки знаний (экспертные системы, лингвистические процессоры, обучающие системы и т. п.).
С одной стороны, это объясняется тем, что с первых шагов наука об искусственном интеллекте (ИИ) была направлена на моделирование слабоформализуе- мых смысловых задач, в которых не применим традиционный математический аппарат; с другой стороны, ИИ — это ветвь информатики и активно развивается как промышленная индустрия программных средств в условиях жесткой конкуренции, где подчас важнее быстрое внедрение новых идей и подходов, чем их анализ и теоретическая проработка.
Необходимость разработки теоретических основ науки о методах разработки систем, основанных на знаниях — инженерии знаний, — обосновывается в работах Поспелова Д. А., Попова Э. В., Стефанюка В. Л., Шенка Р., Минского М. — ведущих специалистов в области ИИ в России и зарубежом. Первые шаги в создании методологии (работы Осипова Г. С., Хорошевского В. Ф., Яшина А. М., Wielinga, Slagle, etc.) фактически являются пионерскими и чаще всего ориентированы на определенный класс задач, моделируемых в рамках конкретного программного инструментария.
В данном параграфе рассмотрена новая методология [Гаврилова, 1995], позволяющая провести стадию структурирования независимо от последующей программной реализации, опираясь на достижения в области разработки сложных систем.
Историческая справка
Стадия концептуального анализа или структурирования знаний традиционно является (наряду со стадией извлечения) «узким местом» в жизненном цикле разработки интеллектуальных систем [Adeli, 1994]. Методология структурирования близка к современной теории больших систем [Гиг, 1981] или сложных систем [Courtois, 1985; Peters, 1981], где традиционно акцент делается на процессе проектирования таких систем. Большой вклад в эту теорию внесли классики объектно-ориентированного анализа [Буч, 1992].
Разработку интеллектуальных систем с уверенностью можно отнести к данному классу задач, поскольку они обладают основными признаками сложности (иерархия понятий, внутриэлементные и межэлементные связи и пр.). Сложность проектирования ИС определяется в основном сложностью предметных областей и управления процессом разработки, а также сложностью обеспечения гибкости конечного программного продукта и описания поведения отдельных подсистем.
Среди первых сторонников исследований по теории систем наиболее заметными были Берталанфи [Bertalanffy, 1950], Раппопорт и Боулдинг [Boulding, 1956].
Аналогичные концепции, но связанные не с общесистемными исследованиями, а рассматривающие информационные процессы в системах, таких как связь и управление, положили начало кибернетике как самостоятельной науке [Винер, 1958; Эшби, 1959]. Этот подход был существенно поддержан работами Шеннона по математическому моделированию понятия информации [Шеннон, Уивер, 1963; Feinstein, 1958; Watanabe, 1969].
Позднее, в 1960-х гг. было сделано несколько попыток сформулировать и развить математические теории систем высокого уровня общности [Mesarovic, 1964; Ар- биб, 1975]. Существенный вклад в математическую теорию систем и основы структурирования внесли отечественные исследователи Моисеев Н. Я. [Моисеев, 1981], Глушков В. М. [Глушков, 1964], Ивахненко А. Г. [Ивахненко, 1971], Поспелов Д. А. [Поспелов, 1986] и другие. Системный анализ тесно переплетается с теорией систем и включает совокупность методов, ориентированных на исследование и моделирование сложных систем — технических, экономических, экологических и т. п.
Иерархический подход
Проектирование сложных систем и методы структурирования информации традиционно использовали иерархический подход [Месарович, Такахара, 1972] как методологический прием расчленения формально описанной системы на уровни (или блоки, или модули). На высших уровнях иерархии используются наименее детализованные представления, отражающие только самые общие черты и особенности проектируемой системы. На следующих уровнях степень подробности возрастает, при этом система рассматривается не в целом, а отдельными блоками.
В теории САПР такой подход называется блочно-иерархическим (БИП) [Норен- ков, 1983; Петров, 1991]. Одно из преимуществ БИП состоит в том, что сложная задача большой размерности разбивается на последовательно решаемые группы задач малой размерности.
На каждом уровне вводятся свои представления о системе и элементах. Элемент к-го уровня является системой для уровня к-1. Продвижение от уровня к уровню имеет строгую направленность, определяемую стратегией проектирования — сверху вниз или снизу вверх.
Предлагаемый^ниже объектно-структурный подход позволяет объединить две, обычно противопоставляемые, стратегии проектирования — нисходящую или дедуктивную STRtd (top-down) с последовательной декомпозицией объектов и процессов сверху вниз и восходящую или индуктивную STRbu (bottom-up) с постепенным обобщением понятий и увеличением степени абстрактности описаний снизу вверх.
Синтез этих стратегий, а также включение возможности итеративных возвратов на предыдущие уровни обобщений позволили создать дуальную концепцию, предоставляющую аналитику широкую палитру возможностей на стадии структурирования знаний как для формирования концептуальной структуры предметной области Sk, так и для функциональной структуры Sf.
Рисунок 3.15. иллюстрирует дуальную концепцию при проектировании Sk для ЭС помощи оператору энергетического блока.
Рис, 3.15. Дуальная стратегия проектирования
Нисходящая концепция (top-down) декларирует движение от п п п+1, где п — п-й уровень иерархии понятий ПО (предметной области) с последующей детализацией понятий, принадлежащим соответствующим уровням.
где п — номер уровня порождающего концепта;
i — номер порождающего концепта;
kj — число порождаемых концептов, сумма всех ks по i составляет общее число концептов на уровне п+1.
Восходящая концепция (bottom-up) предписывает движение n п п-1 с последовательным обобщением понятий.
STRbu:P:,..,P;=PA,
где п — номер уровня порождающих концептов;
i — номер порождаемого концепта;
kj — число порождающих концептов, сумма всех k, по i составляет общее число концептов на уровне п.
Основанием для прекращения агрегирования и дезагрегирования является полное использование словаря терминов, которым пользуется эксперт, при этом число уровней является значимым фактором успешности структурирования (см. «вербальные отчеты» в главе 4).
Традиционные методологии структурирования
Существующие подходы к проектированию сложных систем можно разделить на два больших класса:-
Структурный (системный) подход или анализ, основанный на идее алгоритмической декомпозиции, где каждый модуль системы выполняет один из важнейших этапов общего процесса.
Объектный подход, связанный с декомпозицией и выделением не процессов, а объектов, при этом каждый объект рассматривается как экземпляр определенного класса. ■
В структурном анализе [Yourdon, 1989; DeMarco, 1979; Gane & Sarson, 1979] разработано большое число выразительных средств для проектирования, в том числе графических [Буч, 1993]: диаграммы потоков данных (DFD — data-flow diagrams), структурированные словари (тезаурусы), языки спецификации систем, таблицы решений, стрелочные диаграммы «объект—связь» (ERD — entity-relationship diagrams), диаграммы переходов (состояний), деревья целей, блок-схемы алгоритмов (в нотации Насси—Шнейдермана, Гамильтона—Зельдина, Фест- ля и др.), средства управления проектом (PERT-диаграммы, диаграммы Ганта и др.), модели окружения.
Множественность средств и их некоторая избыточность объясняются тем, что каждая. предметная область, используя структурный подход как универсальное средство моделирования, вводила свою терминологию, наиболее подходящую для отражения специфики конкретной проблемы. Поскольку инженерия знаний имеет дело с широким классом ПО (это «мягкие» ПО), встает задача разработки достаточно универсального языка структурирования.
Объектный (объектно-ориентированный) подход (ООП), возникший как технология программирования больших программных продуктов, основан на следующих основных элементарных понятиях [Буч, 1992]: объекты, классы как объекты, связанные общностью структуры и свойств, и классификации как средства упорядочения знаний; иерархии с наследованием свойств; инкапсуляции как средства ограничения доступа; методы и полиморфизм для определения функций и отношений.
ООП имеет свою систему условных обозначений и предлагает богатый набор логических и физических моделей для проектирования систем высокой степени сложности, при этом эти системы хорошо структурированы, что порождает легкость их модификации. Впервые принцип ООП установлен в 1979 [Jones, 1979], а затем развит в работах [Shaw, 1984; Peterson, 1987; Буч, 1992].
Широкое распространение объектно-ориентированных языков программирования C++, CLOS, Smalltalk и др. успешно демонстрирует жизнеспособность и перспективность этого подхода.
Объектно-структурный подход (ОСП)
Можно предложить в качестве базисной парадигмы методологии структурного анализа знаний и формирования поля знаний Pz обобщенный объектно-структурный подход (ОСП), последовательно разработанный от математического обоснования до технологии и программной реализации [Гаврилова, 1995].
Основные постулаты этой парадигмы заимствованы из ООП и расширены.
Системность (взаимосвязь между понятиями).
Абстрагирование (выявление существенных характеристик понятия, которые отличают его от других).
Иерархия (ранжирование на упорядоченные системы абстракций).
Типизация (выделение классов понятий с частичным наследованием свойств в подклассах).
Модульность (разбиение задачи на подзадачи или «возможные миры»).
Наглядность и простота нотации.
Использование пятого постулата ОСП в инженерии знаний позволяет строить глобальные БЗ с возможностью выделить локальные задачи с помощью горизонтальных и вертикальных сечений на отдельные модули пространства-описания предметной области.
Шестой постулат внесен в список последним, но не по значимости. В инженерии знаний формирование Pz традиционно является критической точкой [Гаврилова, Червинская, Яшин, 1988; Гаврилова, Червинская, 1992], так как создаваемая неформальная модель предметной области должна быть предельно ясной и лаконичной. Традиционно языком инженерии знаний были диаграммы, таблицы и другие графические элементы, способствующие наглядности представлений. Именно поэтому предлагаемый в данной работе подход к языку связан с возможной Визуализацией процесса проектирования.
ОСП позволяет наглядно и компактно отобразить объекты и отношения предметной области на основе использования шести постулатов.
Объектно-структурный подход подразумевает интегрированное использование сформулированных выше постулатов от первой до последней стадий разработки БЗ интеллектуальных и обучающих систем. На основе ОСП предлагается алгоритм объектно-структурного анализа (ОСА) предметной области, позволяющего оптимизировать и упорядочить достаточно размытые процедуры структурирования знаний.
Стратификация знаний
Основы ОСА были предложены автором еще в работах [Гаврилова, 1989; Гаврилова, Красовская, 1990] и успешно применялись при разработке ЭС МИКРОЛЮШЕР [Гаврилова, Тишкин, Золотарев, 1989] и АВЭКС [Гаврилрва, Минко- ва, Карапетян, 1992].
ОСА подразумевает дезагрегацию ПО, как правило, на восемь страт или слоев (табл. 3.1 и 3.2).
Таблица 3.1. Стратификация знаний предметной области
S_1
ЗАЧЕМ-знания
Стратегический анализ: назначение и функции системы
s_2
КТО-знания
Организационный анализ: коллектив разработчиков системы
s_3
ЧТО-знания
Концептуальный анализ: основные концепты, понятийная структура
s_4
КАК-знания
Функциональный анализ: гипотезы и модели принятия решения
s_5
СЦЕ-знания
Пространственный анализ: окружение, оборудование, коммуникации
s_6
КОГДА-знания
Временной анализ: временные параметры и ограничения
s_7
ПОЧЕМУ-знания
Каузальный или причинно-следственный анализ: формирование подсистемы объяснений
s_8
СКОЛЬКО-энания
Экономический анализ: ресурсы, затраты, прибыль, окупаемость
Объектно-структурный анализ подразумевает разработку и использование матрицы ОСА (см. табл. 3.2), которая позволяет всю собранную информацию дезагрегировать последовательно по слоям-стратам (вертикальный анализ), а затем
по уровням — от уровня проблемы до уровня подзадачи (горизонтальный анализ). Или наоборот — сначала по уровням, а потом по стратам.
Таблица 3.2. Матрица объектно-структурного анализа
Уровни Страты
Уровень области 5
Уровень проблемы и2
Уровень задачи и3
Уровень подзадачи и4
Un
Стратегический анализ s〔
Ен
е12
曰3
Е14.
E1n
Организационный анализ S2
Ег1
Концептуальный анализ s3
Е31
Функциональный анализ s4
е41
Пространственный анализ S5
е51
Временной анализ s6
Е61
Каузальный анализ s7
е71
Экономический анализ s6
Е61
Е"
Sm
Emi
При необходимости число страт может быть увеличено. В свою очередь знания каждой страты подвергаются дальнейшему ОСА и декомпозируются на составляющие
где m — номер уровня, п — номер страты, а етп принадлежит множеству К всех концептов (понятий) предметной области.
…е\п
小门■• • •»• •■ • •(1)
e加1ети .
Матрица (1) является матрицей над К. Пусть М (К) — совокупность всех mxn матриц над К. Тогда можно определить клеточную матрицу Е, в которой m == ml + ... + mk, n = nl + ... + nl, где тип— целые положительные числа. Е £ Mm,n (К), и ее можно представить в виде:
斤斤
E =
⑵
々i … Ен
где E^v £ Ming (К), ц - l,...,k; v = 1,..„1.
Матрица E является несимметричной, так как часть клеточных элементов Е^ могут подвергаться декомпозиции, а часть представляет некоторые базисные атомарные концепты из К, не подлежащие детализации.
Предлагаемый подход предполагает реализацию концёпции последовательного генезиса ОСП через ОСА к объектно-структурной разработке (ОСР).
Алгоритм ОСА
Алгоритм ОСА (объектно-структурного анализа) предназначен для детального практического структурирования знаний ПО. В основе ОСА заложен алгоритм заполнения ОСА-матрицы Emn. Алгоритм содержит последовательность аналитических процедур, позволяющих упростить и оптимизировать процесс структурирования. Алгоритм разделяется на две составляющие:
А_1. Глобальный (вертикальный) анализ, включающий разбиение ПО на методологические страты (чтпо-знания, как-знания и т. д.) на уровне всей ПО. В результате заполняется первый столбец матрицы (2).
А_П. Анализ страт (горизонтальный), включающий построение многоуровневых структур по отдельным стратам. Число уровней п определяется особенностями стратифицированных знаний ПО и может существенно отличаться для разных страт. С точки зрения методологии п<3 свидетельствует о слабой проработке ПО.
Первый уровень соответствует уровню всей ПО (уровень области). Второй — уровню проблемы, выделенной для решения. Третий — уровню конкретной решаемой задачи. Дальнейшие уровни соответствуют подзадачам, если имеет смысл их выделять.
При этом возможно как последовательное применение восходящей (bottom-up) и нисходящей концепций (top-down), так и их одновременное применение.
Глобальный анализ
Технология глобального анализа сводится к разбиению пространства основной задачи структурирования ПО на подзадачи, соответствующие особенностям ПО. Для разработки интеллектуальных систем существует минимальный набор s-страт, обеспечивающий формирование БЗ. Минимальный набор включает три страты:
s3 — формирование концептуальной структуры Sk;
s4 — формирование функциональной структуры Sf;
s7 — формирование подсистемы объяснений
Формирование остальных страт позволяет существенно оптимизировать процесс разработки и избежать многих традиционных ошибок проектирования. Страты s4 и s5 являются дополнительными и формируются в случаях, когда знания предметной области существенно зависят от временных и пространственных параметров (системы реального времени, планирование действий роботов и т. п.).
Алгоритм А_1 глобального анализа может быть кратко сформулирован следующим образом:
A l l. Собрать все материалы по идентификации задачи и по результатам извлечения знаний.
А_1_2. Выбрать набор страт N, подлежащих формированию (Nmin=3).
А_1_3. Отобрать всю информацию по первой выбранной страте (i-1, где i — номер из выбранного набора страт N).
А_1_4. Повторить шаг А_1_3 для i+1 для всех выбранных страт до i <= N.
А_1_5. Если часть информации останется неиспользованной, увеличив число страт и повторить для новых страт шаг А_1_3; иначе перейти к последовательной реализации алгоритмов горизонтального анализа страт А_2.
Анализ страт
Последовательность шагов горизонтального анализа зависит от номера страты, но фактически сводится к реализации дуальной концепции структурирования для решения конкретной подзадачи.
Ниже предлагается алгоритм ОСА для одной из обязательных страт S3 (ЧТО-ана- лиз), результатом которого является формирование концептуальной структуры предметной области Sk.
А_2_3_1. Из группы информации, соответствующей ЧТО-страте, выбрать все значимые понятия и сформулировать соответствующие концепты.
А_2_3_2. Выявить имеющиеся иерархии и зафиксировать их графически в виде структуры.
А_2_3_3. Детализировать концепты, пользуясь нисходящей концепцией (top- down).
А_2_3_4. Образовать метапонятия по концепции (bottom-up).
А_2_3_5. Исключить повторы, избыточность и синонимию.
А_2_3_6. Обсудить понятия, не вошедшие в структуру Sf, с экспертом и перенести их в другие страты или исключить.
А_2_3_7. Полученный граф или набор графов разделить на уровни и обозначить —согласно матрице ОСА (1).
Аналогичные алгоритмы разработаны для всех страт и апробированы при разработке экспертных систем ПРОГОР и АВЭКС.
Технологии инженерии знаний
Классификация методов практического извлечения знаний
Коммуникативные методы
Текстологические методы
Простейшие методы структурирования
Состояние и перспективы автоматизированного приобретения знаний
Примеры методов и систем приобретения знаний
Классификация методов практического извлечения знаний
Подробно рассмотрев в главе 3 теоретические аспекты инженерии знаний, мы, однако, в явном виде не определили, каким практическим методом эти знания будут получены. В неявном виде предполагалось, что это некоторое взаимодействие инженера по знаниям и эксперта в форме непосредственного живого общения. Однако это не единственная форма извлечения знаний, хотя и довольно распространенная. В работах [Волков, Ломнев, 1989; Осипов, 1998; Boose, 1989; Cullen, Bryman, 1988; Gammack, Young, 1985; Hart 1986] упоминается около 15 ручных (неавтоматизированных) методов извлечения и более 20 автоматизированных методов приобретения и формирования знаний.
Рисунок 4.1 иллюстрирует предлагаемую классификацию методов извлечения знаний, в которой используются наиболее употребительные термины, что позволит инженерам по знаниям в зависимости от конкретной задачи и ситуации выбрать подходящий метод.
Из предложенной схемы классификации видно, что основной принцип деления связан с источником знаний.
Извлечение знаний
Коммуникетивные методыКоммуникетивные методыТекстологические методыТекстологические методыРис. 4.1. Классификвция методов извлечения знанийРис. 4.1. Классификвция методов извлечения знанийКоммуникативные методы извлечения знаний охватывают методы и процедуры контактов инженера по знаниям с непосредственным источником знаний ——экспертом, а текстологические включают методы извлечения знаний из документов (методик, пособий, руководств) и специальной литературы (стетей, монографий, учебников).Коммуникативные методы извлечения знаний охватывают методы и процедуры контактов инженера по знаниям с непосредственным источником знаний ——экспертом, а текстологические включают методы извлечения знаний из документов (методик, пособий, руководств) и специальной литературы (стетей, монографий, учебников).
Коммуникетивные методы
Коммуникетивные методы
Текстологические методы
Текстологические методы
Рис. 4.1. Классификвция методов извлечения знаний
Рис. 4.1. Классификвция методов извлечения знаний
Коммуникативные методы извлечения знаний охватывают методы и процедуры контактов инженера по знаниям с непосредственным источником знаний ——экспертом, а текстологические включают методы извлечения знаний из документов (методик, пособий, руководств) и специальной литературы (стетей, монографий, учебников).
Коммуникативные методы извлечения знаний охватывают методы и процедуры контактов инженера по знаниям с непосредственным источником знаний ——экспертом, а текстологические включают методы извлечения знаний из документов (методик, пособий, руководств) и специальной литературы (стетей, монографий, учебников).
Разделение этих групп методов на верхнем уровне классификации не означает их антагонистичности, обычно инженер по знаниям комбинирует различные методы, например сначала изучает литературу, затем беседует с экспертами, или наоборот.
В свою очередь, коммуникативные методы можно также разделить на две группы: активные и пассивные. Пассивные методы подразумевают, что ведущая роль в процедуре извлечения как бы передается эксперту, а инженер по знаниям только протоколирует рассуждения эксперта во время его реальной работы по принятию решений или записывает то, что эксперт считает нужным самостоятельно рассказать в форме лекции, В активных методах, напротив, инициатива полностью в руках инженера по знаниям, который активно контактирует с экспертом различными способами — в играх, диалогах, беседах за круглым столом и т. д.
Следует еще раз подчеркнуть, что и активные и пассивные методы могут чередоваться даже в рамках одного сеанса извлечения знаний. Например, если инженер по знаниям застенчив и не имеет большого опыта, то вначале он может использовать пассивные методы, а постепенно, ближе знакомясь с экспертом, захватывать инициативу и переходить «в наступление».
Пассивные методы на первый взгляд достаточно просты, но на самом деле требуют от инженера по знаниям умения четко анализировать поток сознания эксперта и выявлять в нем значимые фрагменты знаний. Отсутствие обратной связи (пассивность инженера по знаниям) значительно ослабляет эффективность этих методов, чем и объясняется их обычно вспомогательная роль при активных методах. Активные методы можно разделить на две группы в зависимости от числа экспертов, отдающих свои знания. Если их число больше одного, то целесообразно помимо серии индивидуальных контактов с каждым применять и методы, групповых обсуждений предметной области. Такие групповые методы обычно активизируют мышление участников дискуссий и позволяют выявлять весьма нетривиальные аспекты их знаний. В свою очередь, индивидуальные методы на сегодняшний день остаются ведущими, поскольку столь деликатная процедура, как «отъем знаний», не терпит лишних свидетелей.
Отдельно следует сказать об играх. Игровые методы сейчас широко используются в социологии, экономике, менеджменте, педагогике для подготовки руководителей, учителей, врачей и других специалистов. Игра — это особая форма деятельности и творчества, где человек раскрепощается и чувствует себя намного свободнее, чем в обычной трудовой деятельности.
На выбор метода влияют три фактора: личностные особенности инженера по знаниям, личностные особенности эксперта и характеристика предметной области. Одна из возможных классификаций людей по психологическим характеристикам [Обозов, 1986] делит всех на три типа:
мыслитель (познавательный тип);
собеседник (эмоционально-коммуникативный тип);
практик (практический тип).
Мыслители ориентированы на интеллектуальную работу, учебу, теоретические обобщения и обладают такими характеристиками когнитивного стиля, как поле- независимость и рефлексивность (см. параграф 3.3). Собеседники — это общительные, открытые люди, готовые к сотрудничеству. Практики предпочитают действие разговорам, хорошо реализуют замыслы других, направлены на результативность работы.
Для характеристики предметных областей можно предложить следующую классификацию:
хорошо документированные;
средне документированные;
слабо документированные.
Эта классификация связана с соотношением двух видов знаний Z( и Z2, введенных в п. 1.3, где Z] — это экспертное «личное» знание, a Z2 — материализованное в книгах «общее» знание в данной конкретной области. Если представить знания Zno предметной области как объединение Z j и Z 2, то есть Zno^ Z1EZ2, то рис. 4.2 наглядно иллюстрирует предложенную классификацию.
Z1 4Z1 z2Z1 z2
Рис. 4.2. Классификация предметных облестей
Кроме этого, предметные области можно разделить по критерию структурированности знаний. Под структурированностью будем понимать степень теоретического осмысления и выявленности основных закономерностей и принципов, действующих в данной предметной области. И хотя ЭС традиционно применяются в слабо структурированных предметных областях, сейчас наблюдается тенденция расширения сферы внедрения экспертных систем.
По степени структурированности знаний предметные области могут быть:
хорошо структурированными — с четкой аксиоматизацией, широким применением математического аппарата, устоявшейся терминологией;
средне структурированными — с определившейся терминологией, развивающейся теорией, явными взаимосвязями между явлениями;
слабо структурированными — с размытыми определениями, богатой эмпирикой, скрытыми взаимосвязями, с большим количеством «белых пятен».
Введенные в данном параграфе классификации методов и предметных областей помогут инженеру по знаниям, четко определив свою предметную область, соотнести ее с предложенными типами и наметить подходящий метод или группу методов извлечения знаний. Однако, скорее всего, реальная работа полностью зачеркнет его выбор, и окажется, что его хорошо документированная область является слабо документированной, а метод наблюдений надо срочно заменять играми!
Такова реальная сложность процедуры извлечения знаний.
Коммуникативные методы
В соответствии с классификацией, представленной на рис. 4.1, рассмотрим подробнее обе разновидности коммуникативных методов: пассивные и активные.
Пассивные методы
Термин «пассивные» не должен вызывать иллюзий, поскольку он введен как противовес к «активным» методам. В реальности же пассивные методы требуют от инженера по знаниям не меньшей отдачи, чем такие активные методы, как игры и диалог.
Пассивные методы извлечения знаний включают такие методы, где ведущая роль в процедуре извлечения фактически передается эксперту, а инженер по знаниям только фиксирует рассуждения эксперта во время работы по принятию решений.
Согласно классификации (см. рис. 4.1) к этой группе относятся:
наблюдения;
анализ протоколов «мыслей вслух»;
лекции.
Наблюдения
В процессе наблюдений инженер по знаниям находится непосредственно рядом с экспертом во время его профессиональной деятельности или имитации этой деятельности. При подготовке к сеансу извлечения эксперту необходимо объяснить цель наблюдений и попросить максимально комментировать свои действия.
Во время сеанса аналитик записывает все действия эксперта, его реплики и объяснения. Может быть сделана и видеозапись в реальном масштабе времени. Непременное условие этого метода — невмешательство аналитика в работу эксперта хотя бы на первых порах. Именно метод наблюдений является единственно «чистым» методом, исключающим вмешательство инженера по знаниям и навязывание им каких-то своих структур представлений.
Существуют две основные разновидности проведения наблюдений:
наблюдение за реальным процессом;
наблюдение за имитацией процесса.
Обычно используются обе разновидности. Сначала инженеру по знаниям полезно наблюдать за реальным процессом, чтобы глубже понять предметную область и отметить все внешние особенности процесса принятия решения. Это необходимо для проектирования эффективного интерфейса пользователя. Ведь будущая ЭС должна работать именно в контексте такого реального производственного процесса. Кроме того, только наблюдение позволит аналитику увидеть предметную область, а, как известно, «лучше один раз увидеть, чем сто раз услышать».
Наблюдение за имитацией процесса проводят обычно также за рабочим местом эксперта, но сам процесс деятельности запускается специально для аналитика. Преимущество этой разновидности в том, что эксперт менее напряжен, чем в первом варианте, когда он работает на «два фронта» — и ведет профессиональную деятельность, и демонстрирует ее. Недостаток совпадает с преимуществом — именно меньшая напряженность эксперта может повлиять на результат — раз работа ненастоящая, то и решение может отличаться от настоящего.
Наблюдения за имитацией проводят также и в тех случаях, когда наблюдения за реальным процессом по каким-либо причинам невозможны (например, профессиональная этика врача-психиатра может не допускать присутствия постороннего на приеме).
Сеансы наблюдений могут потребовать от инженера по знаниям:
овладения техникой стенографии для фиксации действий эксперта в реальном масштабе времени;
ознакомления с методиками хронометража для четкого структурирования производственного процесса по времени;
развития навыков «чтения по глазам», то есть наблюдательности к жестам, мимике и другим невербальным компонентам общения;
серьезного предварительного знакомства с предметной областью, так как из-за отсутствия «обратной связи» иногда многое непонятно в действиях экспертов.
Протоколы наблюдений после сеансов в ходе домашней работы тщательно расшифровываются, а затем обсуждаются с экспертом.
Таким образом, наблюдения — один из наиболее распространенных методов извлечения знаний на начальных этапах разработки. Обычно он применяется не самостоятельно, а в совокупности с другими методами.
Анализ протоколов «мыслей вслух»
Протоколирование «мыслей вслух» отличается от наблюдений тем, что эксперта просят не просто прокомментировать свои действия н решения, но и объяснить, как это решение было найдено, то есть продемонстрировать всю цепочку своих рассуждений. Во время рассуждений эксперта все его слова, весь «поток сознания» протоколируется инженером по знаниям, при этом полезно отметить даже паузы и междометия. Иногда этот метод называют «вербальные отчеты» [Морго- ев, 1988].
Вопрос об использовании для этой цели магнитофонов и диктофонов является дискуссионным, поскольку магнитофон иногда парализующе действует на эксперта, разрушая атмосферу доверительности, которая может и должна возникать при непосредственном общении.
Основной трудностью при протоколировании «мыслей вслух» является принципиальная сложность для любого человека объяснить, как он думает. При этом существуют экспериментальные психологические доказательства того факта, что люди не всегда в состоянии достоверно описывать мыслительные процессы. Кроме того, часть знаний, хранящихся в невербальной форме (например, различные процедурные знания типа «как завязывать шнурки»), вообще слабо коррелируют с их словесным описанием. Автор теории фреймов М. Минский считает, что «только как исключение, а не как правило, человек может объяснить то, что он знает» [Minsky, 1981]. Однако существуют люди, склонные к рефлексии, для которых эта работа является вполне доступной. Следовательно, описанная в параграфе 3.3. такая характеристика когнитивного стиля, как рефлексивность, является для эксперта более чем желательной.
Расшифровка полученных протоколов производится инженером по знаниям самостоятельно с коррекциями на следующих сеансах извлечения знаний. Удачно
проведенное протоколирование «мыслей вслух» является одним из наиболее эффективных методов извлечения, поскольку в нем эксперт может проявить себя максимально ярко, он ничем не скован, никто ему не мешает, он как 6б1 свободно парит в потоке собственных умозаключений и рассуждений. Он может здесь блеснуть эрудицией, продемонстрировать глубину своих познаний. Для большого числа экспертов это самый приятный и лестный способ извлечения знаний.
От инженера по знаниям метод «мысли вслух» требует тех же умений, что и метод наблюдений. Обычно «мысли вслух» дополняются потом одним из активных методов для реализации обратной связи между интерпретацией инженера по знаниям и представлениями эксперта.
Лекции
Лекция является самым старым способом передачи знаний. Лекторское искусство издревле очень высоко ценилось во всех областях науки и культуры. Но нас сейчас интересует не столько способность к подготовке и чтению лекций, сколько способность эту лекцию слушать, конспектировать и усваивать. Уже говорилось, что чаще всего экспертов не выбирают, и поэтому учить эксперта чтению лекции инженер по знаниям не сможет. Но если эксперт имеет опыт преподавателя (например, профессор клиники или опытный руководитель производства), то можно воспользоваться таким концентрированным фрагментом знаний, как лекция. В лекции эксперту также предоставлено много степеней свободы для самовыражения; при этом необходимо сформулировать эксперту тему и задачу лекции. Например, тема цикла лекций «Постановка диагноза — воспаление легких», тема конкретной лекции «Рассуждения по анализу рентгенограмм», задача —научить слушателей по перечисленным экспертом признакам ставить диагноз воспаления легких и делать прогноз. При такой постановке опытный лектор может заранее структурировать свои знания и ход рассуждений. От инженера по знаниям в этой ситуации требуется лишь грамотно законспектировать лекцию и в конце задать необходимые вопросы. 一
Студенты хорошо знают, что конспекты лекций одного и того же лектора у разных студентов существенно отличаются. Списать конспект лекций просят, как правило, у одного-двух студентов из группы. Люди, умело ведущие конспект, обычно сильные студенты. Обратное не верно. В чем же заключается искусство ведения конспекта? В «помехоустойчивости». Записывать главное, опускать второстепенное, выделять фрагменты знаний (параграфы, под-параграфы), записывать только осмысленные предложения, уметь обобщать.
Хороший вопрос по ходу лекции помогает и лектору и слушателю. Серьезные и глубокие вопросы могут существенно поднять авторитет инженера по знаниям в глазах эксперта.
Опытный лектор знает, что все вопросы можно условно разбить на три группы:
умные вопросы, углубляющие лекцию;
глупые вопросы или вопросы не по существу;
вопросы «на засыпку» или провокационные.
Если инженер вд знаниям задает вопросы второго типа, то возможны две реак- ции. Вежливый эксперт будет разговаривать с таким аналитиком как с ребенком, который сейчас не понимает и все равно ничего уже не поймет. Заносчивый эксперт просто выйдет из контакта, не желая терять время. Если же инженер по знаниям захочет продемонстрировать свою эрудицию вопросами третьего типа, то ничего, кроме раздражения и отчуждения, он, по-видимому, в ответ не получит. Продолжительность лекции рекомендуется стандартная — от 40 до 50 минут и через 5-10 минут — еще столько же. Курс обычно от двух до пяти лекций.
Метод извлечения знаний в форме лекций, как и все Пассивные Методы, используют в начале разработки как эффективный способ быстрого погружения инженера по знаниям в предметную область.
В заключение несколько советов, как слушать лекции [Ребельский, 1989].
К лекции подготовьтесь, то есть познакомьтесь с предметной областью.
Слушайте с максимальным вниманием, для этого: устраните мешающие факторы (скрип двери, шорохи и т. д.); удобно устройтесь; поменьше двигайтесь.
Учитесь отдыхать во время слушания (например, когда лектор приводит цифры, которые можно взять из справочника).
Слушайте одновременно и лектора, и самого себя (параллельно с мыслями лектора по ассоциации возникают собственные мысли).
Слушайте и одновременно записывайте, но записывайте текст сокращенно, используя условные значки (для этого вовсе.не следует непременно быть стенографом, достаточно только установить для себя ряд условных значков и ими неизменно пользоваться).
Расшифруйте записи лекции в тот же день.'
Не спорьте с лектором в процессе лекции.
Рационально используйте перерывы в лекции для подведения итогов прослушанного.
Сравнительные характеристики пассивных методов извлечения знаний представлены в табл: 4.1.
Таблица 4.1. Сравнительные характеристики пассивных методов извлечения знаний
Пассивный метод извлечения знаний
Наблюдения«Мысли вслух»Лекции
Достоинства
Отсутствие влиянияСвободаСвобода
аналитика и егосамовыражениясамовыражения
субъективнойдля экспертадля эксперта
позиции МаксимальноеОбнаженностьСтруктурированное
приближение аналитика структуризложение,
к предметной областирэссужденийВысокая концентрация
Пассивный метод извлечения знаний
Наблюдения
«Мыоли вслух»
Лекции
Отсутствие влияния аналитика и его субъективной позиции
Отсутствие влияния аналитика и его субъективной позиции
Недостатки
Отсутствие обратной связи
Фрагментарность полученных комментариев
Отсутствие обратной связи
Возможность ухода«в сторону» в рассуждениях эксперта
«Зашумлен ность» деталями
Слабая обратная связь
Недостаток хороших лекторов среди экспертов- практиков
Требования кэксперту (типы и основные качества)
Собеседник или мыслитель (способность к вербализации + мыслей + аналитичность+ открытость + рефлексивность)
Собеседник или мыслитель (способность к вербализации + мыслей 十 аналитичность+ открытость + рефлексивность)
Мыслитель (лекторские способности)
Требования кэксперту (типы и основные качества)
Мыслитель (наблюдательность + поленезависимость)
Мыслитель или собеседник (контактность+ поленезависимость)
Мыслитель (поле- независимость + способность к обобщению)
Характеристика предметной области
Слабо и средне структурированные; слабо и средне документированные
Тоже
Слабо
документированные и слабо
структурированные
Активные индивидуальные методы
Активные индивидуальные методы извлечения знаний на сегодняшний день — наиболее распространенные. В той или иной степени к ним прибегают при разработке практически любой ЭС.
К основным активным методам можно отнести:
анкетирование;
интервью;
свободный диалог;
игры с экспертом.
Во всех этих методах активную функцию выполняет инженер по знаниям, который пишет сценарий и режиссирует сеансы извлечения знаний. Игры с экспертом
существенно отличаются от трех других методов. Три оставшихся метода очень схожи между собой и отличаются лишь по степени свободы, которую может себе позволить инженер по знаниям при проведении сеансов извлечения знаний. Их можно назвать вопросными методами поиска знаний.
Анкетирование
Анкетирование — наиболее жесткий метод, то есть наиболее стандартизированный. В этом случае инженер по знаниям заранее составляет вопросник или анкету, размножает ее и использует для опроса нескольких экспертов. Это основное преимущество анкетирования.
Сама процедура может проводиться двумя способами:
. Аналитик вслух задает вопросы и сам заполняет анкету по ответам эксперта.
. Эксперт самостоятельно заполняет анкету после предварительного инструктирования.
Выбор способа зависит от конкретных условий (например, от оформления анкеты, ее понятности, готовности эксперта). Второй способ нам кажется предпочтительнее, так как у эксперта появляется неограниченное время на обдумывание ответов.
Если вспомнить схему общения, представленную на рис. 3.8, то основными факторами, на которые можно существенно повлиять при анкетировании, являются средства общения (в данном случае это вопросник) и ситуация общения.
Вопросник (анкета) заслуживает особого разговора. Существует несколько общих рекомендаций при составлении анкет. Эти рекомендации являются универсальными, то есть не зависят от предметной области. Наибольший опыт работы с анкетами накоплен в социологии и психологии, поэтому часть рекомендаций заимствована из [Ноэль, 1978; Погосян, 1985].
Анкета не должна быть монотонной и однообразной, то есть вызывать скуку или усталость. Это достигается вариациями формы вопросов, сменой тематики, вставкой вопросов-шуток и игровых вопросов.
Анкета должна быть приспособлена к языку экспертов (см. п. 3.3).
Следует учитывать, что вопросы влияют друг на друга и поэтому последовательность вопросов должна быть строго продумана.
Желательно стремиться к оптимальной избыточности. Известно, что в анкете всегда много лишних вопросов, часть из них необходима — это так называемые контрольные вопросы (см. о них ниже), а другая часть должна быть минимизирована.
Пример 4.1
Лишние вопросы появляются, например, в таких ситуациях. Фрагмент анкеты:
«В仅 Считаете ли вы( что лечения ангины эффективнет эритромицин?^ 《В13. Какие дозы эритромицина вы обычно рекомендуете?»
При отрицательном ответе на 12-й вопрос 13-й является лишним. Его можно избежать, усложнив вопрос.
《872. Применяете ли вы эритромицин для лечения ангины и если да, то в каких дозах?»
Анкета должна иметь «хорошие манеры», то есть ее язык должен быть ясным, понятным, предельно вежливым. Методическим мастерством составления анкеты можно овладеть только на практике.
Интервью
Под интервью будем понимать специфическую форму общения инженера по знаниям и эксперта, в которой инженер по знаниям задает эксперту серию заранее подготовленных вопросов с целью извлечения знаний о предметной области. Наибольший опыт в проведении интервью накоплен, наверное, в журналистике и социологии. Большинство специалистов этих областей отмечают тем не менее крайнюю недостаточность теоретических и методических исследований по тематике интервьюирования [Ноэль, 1978; Шумилина, 1973].
Интервью очень близко тому способ^ анкетирования, когда аналитик сам заполняет анкету, занося туда ответы эксперта. Основное отличие интервью в том, что оно позволяет аналитику опускать ряд вопросов в зависимости от ситуации, вставлять новые вопросы в анкету, изменять темп, разнообразить ситуацию общения. Кроме этого, у аналитика появляется возможность «взять в плен» эксперта своим обаянием, заинтересовать его самой процедурой и тем самым увеличить эффективность сеанса извлечения.
Вопросы для интервью
Теперь несколько подробнее о центральном звене активных индивидуальных методов —о вопросах. Инженеры по знаниям редко сомневаются в своей способности задавать вопросы. В то время как и в философии и в математике эта проблема обсуждается с давних лет. Существует даже специальная ветвь математической логики — эротеттеская логика (логика вопросов). Есть интересная работа Бел- напа «Логика вопросов и ответов» [Белнап, Стил, 1981], но, к сожалению, использовать результаты, полученные логиками, непосредственно при разработке интеллектуальных систем не удается.
Все вопросительные предложения можно разбить на два типа [Сергеев, Соколов, 1986]:
вопросы с неопределенностью, относящейся ко всему предложению («Действительно, введение больших доз антибиотиков может вызвать анафилактический шок?);
вопросы с неполной информацией («При каких условиях необходимо включать кнопку?»), часто начинающиеся со слов《кто», что», «где», «когда» и т. д.
Это разделение можно дополнить классификацией, частично описанной в работе [Шумилина, 1973] и представленной на рис. 4.3.
ВопросыВопросыПо формеПо формеЛичныеЛичныеБезличныеБезличныеПрямыеПрямыеКосвенныеКосвенныеОткрытыеОткрытыеЗакрытыеЗакрытыеПо воздействиюПо воздействию—Нейтральные—НейтральныеНаводящиеНаводящие
Вопросы
Вопросы
По форме
По форме
Личные
Личные
Безличные
Безличные
Прямые
Прямые
Косвенные
Косвенные
Открытые
Открытые
Закрытые
Закрытые
По воздействию
По воздействию
—Нейтральные
—Нейтральные
Наводящие
Наводящие
—Вербальные
С использованием наглядного материала
Рис. 4.3. Классификация вопросов
Открытый вопрос называет тему или предмет, оставляя полную свободу эксперту по форме и содержанию ответа («Не могли бы вы рассказать, как лучше сбить высокую температуру у больного с воспалением легких?»).
В закрытом вопросе эксперт выбирает ответ из набора предложенных («Укажите, пожалуйста, что вы рекомендуете при ангине: а) антибиотики, б) полоскание, в) компрессы, г) ингаляции^). Закрытые вопросы легче обрабатывать при последующем анализе, но они более опасны, так как «закрывают^ ход рассуждений эксперта и «программируют^ его ответ в определенном направлении. При составлении сценария интервью полезно чередовать открытые и закрытые вопросы, особенно тщательно продумывать закрытые, поскольку для их составления требуется определенная эрудиция в предметной области.
Личный вопрос касается непосредственно личного индивидуального опыта эксперта («Скажите, пожалуйста, Иван Данилович, в вашей практике вы применяете вулнузан при фурункулезах?»). Личные вопросы обычно активизируют мышление эксперта, «играют» на его самолюбии, они всегда украшают интервью.
Безличный вопрос направлен на выявление наиболее распространенных и общепринятых закономерностей предметной области («Что влияет на скорость процесса ферментации лизина?»).
При составлении вопросов следует учитывать, что языковые способности эксперта, как правило, ограничены и вследствие скованности, замкнутости, робости
он не может сразу высказать свое мнение и предоставить знания, которые от него требуются (даже если предположить, что он их четко для себя формулирует). Поэтому часто при《зажатостм» эксперта используют не прямые вопросы, которые непосредственно указывают на предмет или тему («Как вы относитесь к методике доктора Сухарева?»), а косвенные, которые лишь косвенно указывают на интересующий предмет («Применяете ли вы методику доктора Сухарева? Опишите, пожалуйста, результаты лечения»). Иногда приходится задавать несколько десятков косвенных вопросов вместо одного прямого.
Вербальные вопросы — это традиционные устные вопросы. Вопросы с использованием наглядного материала разнообразят интервью и снижают утомляемость эксперта. В этих вопросах используют фотографии, рисунки и карточки. Например, эксперту предлагаются цветные картонные карточки, на которых выписаны признаки заболевания. Затем аналитик просит разложить эти карточки в порядке убывания значимости для постановки диагноза.
Деление вопросов по функции на основные, зондирующие, контрольные связано с тем, что часто основные вопросы интервью, направленные на выявление знаний, ” не срабатывают — эксперт по каким-то причинам уходит в сторону от вопроса, отвечает нечетко.
Тогда аналитик использует зондирующие вопросы, которые направляют рассуждения эксперта в нужную сторону. Например, если не сработал основной вопрос: «Какие параметры определяют момент окончания процесса ферментации лизина?^ —аналитик начинает задавать зондирующие вопросы: «Всегда ли процесс ферментации длится 72 часа? А если он заканчивается раньше, как это узнать? Если он продлится больше, то что заставит микробиолога не закончить процесс на 72-м иасу?» и т. д.
Контрольные вопросы применяют для проверки достоверности и объективности информации, полученной в интервью ранее («Скажите, пожалуйста, а московская школа психологов так же как вы трактует шкалу К опросника ММР1?» или «Рекомендуете ли вы инъекции АТ①?》(АТФ — препарат, снятый с производства). Контрольные вопросы должны быть《хитро» составлены, чтобы не обидеть эксперта недоверием (для этого используют повторение вопросов в другой форме, уточнения, ссылки на другие источники). «Лучше два раза спросить, чем один раз напутать» (Шолом—Алейхем).
И наконец, о нейтральных и наводящих вопросах. В принципе интервьюеру (в нашем случае инженеру по знаниям) рекомендуют быть беспристрастным, отсюда и вопросы его должны носить нейтральный характер, то есть не должны указывать на отношение интервьюера к данной теме. Напротив, наводящие вопросы заставляют респондента (в данном случае эксперта) прислушаться или даже принять во внимание позицию интервьюера. Нейтральный вопрос: «Совпадают ли симптомы кровоизлияния в мозг и сотрясения мозга?» Наводящий вопрос: «Не правда ли, очень трудно дифференцировать симптомы кровоизлияния в мозг?»
Кроме перечисленных выше, полезно различать и включать в интервью следующие вопросы [Ноэль, 1978]:,
контактные («ломающие лед» между аналитиком и экспертом);
буферные (для разграничения отдельных тем интервью);
оживляющие память экспертов (для реконструкции отдельных случаев из практики);
«провоцирующие» (для получения спонтанных, неподготовленных ответов), В заключение описания интервью укажем три основные характеристики вопросов [Шумилина, 1973], которые влияют на качество интервью:.
язык вопроса (понятность^ лаконичность, терминология);
порядок вопросов (логическая последовательность и немонотонность);
уместность вопросов (этика, вежливость).
Вопрос в интервью — это не просто средство общения, но и способ передачи мыслей и позиции аналитика.
«Вопрос представляет собой форму движения мысли, в нем ярко выражен момент перехода от незнания к знанию, от неполного, неточного знания к более полному и более точному» [Лимантов, 1971]. Отсюда необходимость в протоколах фиксировать не только ответы, но и вопросы, предварительно тщательно отрабатывая их форму и содержание.
Очевидно, что любой вопрос имеет смысл только в контексте. Поэтому вопросы может готовить инженер по знаниям, уже овладевший ключевым набором знаний.
Вопросы имеют для эксперта диагностическое значение — несколько откровенных 《глупых» вопросов могут полностью разочаровать эксперта и отбить у него охоту к дальнейшему сотрудничеству. Известен ответ Маркса на вопрос Прудона: «Вопрос был до такой степени неправильно поставлен, что на него невозможно было дать правильный ответа.
Свободный диалог
Свободный диалог — это метод извлечения знаний в форме беседы инженера по знаниям и эксперта, в которой нет жесткого регламентированного плана и вопросника. Это определение не означает, что к свободному диалогу не надо готовиться. Напротив, внешне свободная и легкая форма этого метода требует высочайшей профессиональной и психологической подготовки. Подготовка к свободному диалогу практически может совпадать с предлагаемой в работе [Шумилина, 1973] подготовкой к журналистскому интервью. Рисунок 4.4 графически иллюстрирует схему такой подготовки, дополненную в связи со спецификой инженерии знаний. Подготовка занимает разное время в зависимости от степени профессионализма аналитика, но в любом случае она необходима, так как несколько уменьшает вероятность самого нерационального метода — метода проб и ошибок.
Подготовка
Специальная КонкретнаяСпециальная КонкретнаяПсихологическаяПсихологическаяОбщаяОбщаяОвладениетеорией инавыкамиинтервьюиро-ванияОвладениетеорией инавыкамиинтервьюиро-ванияИзучениепредметнойобластипо литературеИзучениепредметнойобластипо литературеЗнакомствос теориейобщенияЗнакомствос теориейобщенияПодготовкаситуацииобщенияПодготовкаситуацииобщенияИзучение—когнитивнойпсихологииИзучение—когнитивнойпсихологииЗнакомство с экспертомЗнакомство с экспертом
Специальная Конкретная
Специальная Конкретная
Психологическая
Психологическая
Общая
Общая
Овладениетеорией инавыкамиинтервьюиро-вания
Овладениетеорией инавыкамиинтервьюиро-вания
Изучениепредметнойобластипо литературе
Изучениепредметнойобластипо литературе
Знакомствос теориейобщения
Знакомствос теориейобщения
Подготовкаситуацииобщения
Подготовкаситуацииобщения
Изучение—когнитивнойпсихологии
Изучение—когнитивнойпсихологии
Знакомство с экспертом
Знакомство с экспертом
Тестированиеэксперта
Рис. 4.4. Подготовка к извлечению знаний
Квалифицированная подготовка к диалогу помогает аналитику стать истинным драматургом или сценаристом будущих сеансов, то есть запланировать гладкое течение процедуры извлечения: от приятного впечатления в начале беседы переход к профессиональному контакту через пробуждение интереса и завоевание доверия эксперта. При этом для обеспечения желания эксперта продолжить беседу необходимо проводить «поглаживания» (терминология 3. Берна [Берн, 1988]), то есть подбадривать эксперта и подтверждать всячески его уверенность в собственно访 компетентности (фразы-вставки: «Я вас понимаю..>, «...это очень интересно» и т. д.).
Так, в одном из исследований по технике ведения профессиональных журналист- ских диалоге^ [Matarozzo, Wettman, Weins, 1963] было экспериментально доказано, что одобрительное и поощрительное《хмыканье» интервьюера увеличивает длину ответов респондента. При этом одобрение должно быть искренним, как показал опрос интервьюеров Института демоскопии Германии: «Лучшая уловка —это избегать всяких уловок: относиться к опрашиваемому с истинным человеколюбием, не с наигранным, а с подлинным интересом» [Ноэль, 1978]. Чтобы разговорить собеседника, можно сначала аналитику рассказать о себе, о работе, то есть поговорить самому.
Мы уже писали о профессиональной пригодности инженеров по знаниям и необходимости предварительного психологического тестирования при подготовке инженеров по знаниям. Здесь только приведем каталог свойств идеального интервьюера [Ноэль, 1978]. На наш взгляд, это вполне подходящий образец портрета инженера по знаниям перед серией свободных диалогов: «Он должен выглядеть здоровым, спокойным, уверенным, внушать доверие, быть искренним, веселым, проявлять интерес к беседе, быть опрятно одетым, ухоженными. Хбро-
ший аналитик может личным обаянием и умением скрщть изъяны подготовки. Блестящая краткая характеристика интервьюера приведена в той же работе — ^общительный педанта.
В свободном диалоге важно также выбрать правильный темп или ритм беседы: без больших пауз, так как эксперт может отвлечься, но и без гонки, иначе быстро утомляются оба участника и нарастает напряженность, кроме того, некоторые люди говорят и думают очень медленно. Умение чередовать разные темпы, напряжение и разрядку в беседе существенно влияет на результат.
Подготовка к диалогу так же, как и к другим активным методам извлечения знаний, включает составление плана проведения сеанса извлечения, в котором необходимо предусмотреть следующие стадии:
Начало беседы (знакомство, создание у эксперта «образа» аналитика, объяснение целей и задач работы).
Диалог по извлечению знаний.
Заключительная стадия (благодарность эксперту, подведение итогов, договор о последующих встречах).,
Девизом для инженера по знаниям могут послужить взгляды одного из классиков отечественного литературоведения М. М. Бахтина [Бахтин, 1975]:, ,
«Диалог — столкновение разных умов, разных истин, несходных культурных позиций, составляющих единый ум, единую истину, общую культуру»./
«Диалог предполагает:
уникальность каждого партнера и их принципиальное равенство друг другу;
различие и оригинальность их точек зрения;
ориентацию каждого на понимание и на активную интерпретацию его точки зрения партнером;
ожидание ответа и его предвосхищение в собственном высказывании;
взаимную дополнительность позиций участников общения, соотнесение которых и является целью диалога».
Сравнительные характеристики активных индивидуальных методов извлечения знаний представлены в табл. 4.2.
Таблица 4.2. Сравнительные характеристики активных индивидуальных методов извлечения
Активный индивидуальный метод извлечения знаний'
Анкетирование
Интервью
Свободный диалог
Достоинства
Возможность стандартизированного опроса нескольких экспертов
Наличие обратной связи (возможность уточнений и разрешения противоречий) для эксперта
Гибкость
Сильная обратная связь изменения
Активный индивидуальный метод извлечения знаний
Анкетироаайие
Интервью
Свободный диалог
Нетребует особенного напряжения отаналитика во , время процедуры анкетирования
Возможность изменения сценария и формы сеанса
Недостатки
Требует умения и опыта составления анкет
Требуетзначительного времени на подготовку вопросов интервью
Требует отаналитика высочайшего напряжения
Отсутствие контекста между экспертом, нет обратной связи. Вопросы анкеты могут быть неправильно поняты экспертом
Отсутствие формальных методик проведения
Трудность протоколирования результатов
Требования к эксперту (типы качества)
Практик и мыслитель
Собеседник или мыслитель
Собеседник или мыслитель
Требования каналитику (типы и качества)
Мыслитель (педантиз в составлении анкет, внимательность)
Собеседник (журналистские навыки, умение слушать)
Собеседник (наблюдательность умение слушать, обаяние)
Характеристика предметной области
Слабо структурированные, слабо и средне документированные
Тоже
Тоже
4.2.3. Активные групповые методы
К групповым методам извлечения знаний относятся ролевые игры, дискуссии за «круглым столом» с участием нескольких экспертов и «мозговые штурмы». Основное достоинство групповых методов — это возможность одновременного «поглощениям знаний от нескольких экспертов, взаимодействие которых вносит в этот процесс элемент принципиальной новизны от наложения разных взглядов и позиций.
Поскольку эти методы менее популярны, чем индивидуальные (что связано со сложностью организации), попытаемся описать их подробно.
«Круглый стол»
Метод круглого стола (термин заимствован из журналистики) предусматривает обсуждение какой-либо проблемы из выбранной предметной области, в котором принимают участие с равными правами несколько экспертов. Обычно вначале
участники высказываются в определенном порядке, а затем переходят к живой свободной дискуссии. Число участников дискуссии колеблется от трех до пяти-семи.
Большинство общих рекомендаций по Извлечению знаний, предложенных ранее, применимо и к данному методу. Однако существует и специфика, связанная с поведением человека в группе.
Во-первых, от инженера по знаниям подготовка «круглого стола» потребует дополнительных усилий: как организационных (место, время, обстановка, минеральная вода, чай, кворум и т. д.), так и психологических (умение вставлять уместные реплики, чувство юмора, память на имена и отчества, способность гасить конфликтные ситуации и т. д.).
Во-вторых, большинство участников будет говорить под воздействием «эффекта фасада» совсем не то, что они сказали бы в другой обстановке, то есть желание произвести впечатление на других экспертов будет существенно «подсвечивать^ их высказывания. Этот эффект часто наблюдается на защитах диссертаций. Члены ученого совета спрашивают обычно не то, что им действительно интересно, а то, что демонстрирует их собственную компетентность.
Ход беседы за круглым столом удобно записывать на магнитофон, а при расшифровке и анализе результатов учитывать этот эффект, а также взаимные отношения участников.
Задача дискуссии — коллективно, с разных точек зрения, под разными углами исследовать спорные гипотезы предметной области. Обычно эмпирические области богаты таким дискуссионным материалом. Для остроты на «круглый стол» приглашают представителей разных научных направлений и разных поколений, это также уменьшает опасность получения односторонних однобоких знаний. Обмен мнениями по научным вопросам имеет давнюю традицию в истории человечества (античная Греция, Индия). До наших дней дошли литературные памятники обсуждения спорных вопросов (например, Протагор «Искусство спорить», работы софистов), послужившие первоосновой диалектики — науки вести беседу, спорить, развивать теорию. В самом слове дискуссия (от лат. discussio — исследование) содержится указание на то, что это метод научного познания, а не просто споры (для сравнения, полемика — от греч. polemikos — воинственный, враждебный).
Несколько практических советов по процедурным вопросам «круглого стола» из работы [Соколов, 1980]. Перед началом дискуссии ведущему полезно:
убедиться, что все правильно понимают задачу (то есть происходит сеанс извлечения знаний);
установить регламент;
четко сформулировать тему.
По ходу дискуссии важно проследить, чтобы слишком эмоциональные и разговорчивые эксперты не подменили тему и чтобы критика позиций друг друга была обоснованной.
Научная плодотворность дискуссий делает этот метод привлекательным и для самих экспертов, особенно для тех, кто знает меньше. Это заметил еще Эпикур:
«При философской дискуссии больше выигрывает побежденный — в том отношении, что он умножает знания» [Материалисты, 1955]. Хорошим напутствием для проведения «круглого стола» служат слова П. Л. Капицы: «Когда в какой- либо науке нет противоположных взглядов, нет борьбы, то эта наука идет по пути к кладбищу, она идет хоронить себя» [Капица, 1967].
«Мозговой штурм»
Активные групповые методы обычно используются в качестве острой приправы при извлечении знаний, сами по себе они не могут служить источником более или менее полного знания. Их применяют как дополнительные к традиционным индивидуальным методам (наблюдения, интервью и т. д.), для активизации мышления и поведения экспертов.
«Мозговой штурм» или «мозговая атака» — один из наиболее распространенных методов раскрепощения и активизации творческого мышления. Другие методы (метод фокальных объектов, синектика, метод контрольных вопросов [Шепотов, Шмаков, Крикун, 1985]) применяются гораздо реже из-за меньшей эффективности.
Впервые этот метод был использован в 1939 г. в США А. Осборном как способ получения новых идей в условиях запрещения критики. Замечено, что боязнь критики мешает творческому мышлению, поэтому основная идея штурма — это отделение процедуры генерирования яде访 в замкнутой группе специалистов от процесса анализа и оценки высказанных идей.
Как правило, штурм длится недолго (около 40 минут). Участникам (до 10 человек) предлагается высказывать любые идеи (шутливые, фантастические, ошибочные) на заданную тему (критика запрещена). Обычно высказывается более 50 идей. Регламент до 2 минут на выступление. Самый интересный момент штурма —это наступление пика (ажиотажа), когда идеи начинают «фонтанировать», то есть происходит непроизвольная генерация гипотез участниками. Этот пик имеет теоретическое обоснование в работах выдающегося швейцарского психолога и психиатра 3. Фрейда о бессознательном. При последующем анализе всего лишь 10-15 % идей оказываются разумными, но среди них бывают весьма оригинальные. Оценивает результаты обычно группа экспертов, не участвовавшая в генерации.
Ведущий «мозгового штурма» — инженер по знаниям — должен свободно владеть аудиторией, подобрать активную группу экспертов — «генераторов^, не зажимать плохие идеи — они могут служить катализаторами хороших. Искусство ведущего — это искусство задавать вопросы аудитории, «подогревая«> генерацию. Вопросы служат «крючком» [Шепотов, Шмаков, Крикун, 1985], которым извлекаются идеи. Вопросы также могут останавливать многословных экспертов и служить способом развития идей других.
Основной девиз штурма — «чем больше идей, тем лучшее. Фиксация хода сеанса —традиционная (протокол или магнитофон).
Достоинства и недостатки активных групповых методов извлечения знаний представлены в табл. 4.3.
Таблица 4.3. Сравнение активных групповыхметодов извлечения знаний
Активный групповой метод извлечения знаний
«Круглый стол»
«Мозговой штурм»
Достоинства
Позволяет получить более объективные фрагменты знаний
Позволяет выявлятьглубинные пласты знаний (на уровне бессознательного)
Оживляет процедуру извлечения
Активизируетэкспертов
Позволяетучастникам обмениваться знаниями
Позволяет получать новое знание (гипотезы)
Недостатки
Требует больших организационных затрат
Возможен только для новых интересных исследовательских проблем
Отличается сложностью проведения
Не всегда эффективны (довольно низкий процент продуктивных идей)
Требования кэксперту (тип и качестаа)
Собеседник или мыслитель (искусство полемики)
Мыслитель (креативность, тоестьспособность к творчеству)
Требования к инженеру по знаниям (тип и качества)
Собеседник (диплома* тические способности)
Собеседник или мыслитель (быстрая реакция и чувство юмора)
Характеристика предметной области
Слабо структурированные и слабо документированные с наличием спорных проблем
Слабо структурированные и слабо документированные с наличием перспективных «белых пятен»
Экспертные игры
Игрой называют такой вид человеческой деятельности, который отражает (воссоздает) другие ее виды [Комаров, 1989]. При этом для игры характерны одновременно условность и серьезность.
Понятие экспертной игры или игры с экспертами в целях извлечения знаний восходит к трем источникам — это деловые игры, широко используемые при подготовке специалистов и моделировании [Борисова, Соловьева и др., 1988; Бурков, 1980; Комаров, 1989]; диагностические игры, описанные в работах [Алексеевская, Недоступ, 1988; Гельфанд, Розенфельд, Шифрин, 1988], и компьютерные игры, все чаще применяемые в обучении [Пажитнов, 1987].
В настоящее время в психолого-педагогических науках нет развитой теоретической концепции деловых игр и других игровых методов обучения. Тем не менее на практике эти игры широко используются. Под деловой игрой чаще всего понимают эксперимент, где участникам предлагается производственная ситуация, а они на основе своего жизненного опыта, своих общих и специальных знаний и пред-
ставлений принимают решения [Бурков, 1980]. Решения анализируются, и вскрываются закономерности мышления участников эксперимента. Именно эта анализирующая часть деловой игры полезна для получения знаний. И если участниками такой игры становятся эксперты, то игра из деловой превращается в экспертную. Из трех основных типов деловых игр (учебных, планово-производственных и исследовательских) к экспертам ближе всего исследовательские, которые используются для анализа систем, проверки правил принятия решений.
Диагностическая игра — это та же деловая игра? но применяемая конкретно для диагностики методов принятия решения в медицине (диагностика методов диагностики). Эти игры возникли при исследовании способов передачи опыта от опытных врачей новичкам. В нашем понимании диагностическая игра — это игра, безусловно, экспертная без всяких оговорок, только с жестко закрепленной предметной областью — медициной.
Плодотворность моделирования реальных ситуаций в играх подтверждается сегодня практически во всех областях науки и техники. Они развивают логическое мышление, умение быстро принимать решения, вызывают интерес у экспертов, В соответствии с классификацией, введенной в п. 4.1, будем разделять экспертные игры на:”
индивидуальные;
групповые.
Кроме этого (рис. 4.5), продолжим и разовьем эту классификацию введением других критериев:
использование специального оборудования;
применение вычислительной техники.
Рис. 4.5. Классификация экспертных игр
Игры с экспертом
В этом случае с экспертом играет инженер по знаниям, который берет на себя какую-нибудь роль в моделируемой ситуации. Например, одному из авторов часто приходилось разыгрывать с экспертом игру «Учитель и ученик», в которой инженер по знаниям берет на себя роль ученика и на глазах у эксперта выполняет его работу (например, пишет психодиагностическое заключение), а эксперт поправляет ошибки «ученика». Эта игра — удобный способ разговорить застенчивого эксперта.
Пример 4.2
Другая игра (заимствована из работы [Гельфанд, Розенфельд, Шифрин, 1988]) заставляет инженера по знаниям взять на себя роль врача, который знает хорошо больного, а эксперт играет роль консультанта. Консультант задает вопросы и делает прогноз о целесообразности применения того или иного вида лечения (в описанной игре это был прогноз целесообразности электростимульной терапии при сердечной аритмии). Игра «двух врачей» позволила выявить, что эксперту понадобилось всего 30 вопросов для успешного прогноза, в то время как первоначальный вариант вопросника, составленный медиками для той же цели, содержал 170 вопросов.
Пример.4.3
Сначала эксперта просят написать обоснование для собственного прогноза. Например, почему он считает, что язва у больного X заживает. Накапливается несколько таких обоснований [Гельфанд, Розенфельд, Шифрин, 1988], а через некоторое время эксперту зачитывают только его обоснование и просят сделать прогноз. Как правило, этого он сделать не может, то есть обоснование (или его знания) было неполным. Эксперт дополняет обоснование, тем самым выявляются скрытые (для самого эксперта) пласты знаний. Так, в играх «Обоснование прогноза рецидива язвенного кровотечения» удалось выявить, что значимыми для прогноза являются всего три правила. Причем два правила входили в традиционно-диагностический вопросник, а третье было сформулировано во время игры.
Пример 4.4
Игра «фокусировка на контексте»: эксперт играет роль ЭС, а инженер по знаниям — роль пользователя. Разыгрывается ситуация консультации. Первые вопросы эксперта выявляют наиболее значимые понятия, самые важные аспекты проблемы. Роль пользователя может взять на себя и другой эксперт [Rabbits, Wright, 1987].
Основные советы инженеру по знаниям по проведению индивидуальных игр:
играйте смелее, придумывайте игры сами;
не навязывайте игру эксперту, если он не расположен;
в игре «не давите» ла эксперта, не забывайте цели игры;
играйте весело, нешаблонно;
не забывайте о времени и о том, что игра утомительна для эксперта.
Ролевые игры в группе
Групповые игры предусматривают участие в игре нескольких экспертов. К такой игре обычно заранее составляется сценарий, распределяются роли, к каждой роли
готовится портрет-описание (лучше с девизом) и разрабатывается система оценивания игроков [Борисова, Соловьева и др., 1988].
Существует несколько способов проведения ролевых игр. В одних играх игроки могут придумать себе новые имена и играть под ними. В других все игроки переходят на «ты». В третьих роли выбирают игроки, в четвертых роли вытягивают по жребию. Роль — это комплекс образцов поведения. Роль связана с другими ролями. «Короля играет свита». Поскольку в нашем случае режиссером и сценаристом игры является инженер по знаниям, то ему и предоставляется полная свобода в выборе формы проведения игры. .
Пример 4.5
Так, в работе [Лазарева, Пашинин, 1987] описана игра «План», предназначенная для извлечения знаний из специалистов предприятия, разрабатывающих производственные планы выпуска для цехов и принимающих различные решения по управлению производством.
В игре экспертов разбили на три игровые группы: ЛПР, — группа планирования; ЛПР2 — группа менеджеров; Э — группа экспертизы по оцениванию действия ЛИР】и ЛПР2. Группам ЛИР】и ЛПР2 задавались различные производственные ситуации и тщательно протоколировались их споры, рассуждения, аргументы по принятии решений. В результате игры был создан прототип базы знаний экспертной системы планирования.
Обычно в игре принимает участие от трех до шести экспертов, если их больше, то можно разбить всех на несколько конкурирующих игровых бригад. Элемент состязательности оживляет игру. Например, чей диагноз окажется ближе к истинному, чей план рациональнее использует ресурсы, кто быстрее определит причину неисправности в техническом блоке.
Создание игровой обстановки потребует немало фантазии и творческой выдумки от инженера по знаниям. Ролевая игра, как правило, требует некоторых простейших заготовок (например, табличек «Директор», «Бухгалтерия», «Плановый отдел», специально напечатанных инструкций с правилами игры). Но главное, конечно, чтобы эксперты в игре действительно «заиграли», раскрепостились и «раскрыли свои карты».
Игры с тренажерами
Игры с тренажерами в значительной степени ближе не к играм, а к имитационным упражнениям в ситуации, приближенной к действительности.
Наличие тренажера позволяет воссоздать почти производственную ситуацию и понаблюдать за экспертом. Тренажеры широко применяют для обучения (например, летчиков или операторов атомных станций). Очевидно, что применение тренажеров для извлечения знаний позволит зафиксировать фрагменты《летучих» знаний, возникающих во время и на месте реальных ситуаций й выпадающих из памяти при выходе за пределы ситуации.
Компьютерные экспертные игры
Идея использовать компьютеры в деловых играх известна давно. Но только когда компьютерные игры взяли в плен практически всех пользователей пер-
сональных ЭВМ от мала до велика, стала очевидной особая притягательность такого рода игр.
Традиционная современная классификация компьютерных игр из журнала GAME.EXE:
Action/Arcade games (экшн/аркады). Игры-действия. Требуют хорошего глазомера и быстрой реакции.
Simulation games (симуляторы). Базируются на моделировании реальной действительности и отработки практических навыков, например в вождении автомобиля, пассажирского самолета, поезда, авиадиспетчера и даже симуляторы рыбной ловли. Также популярны спортивные симуляторы — теннис, бокс и др.,
3D Action games («стрелялки»). То же, что и экшн, но с активным использованием трехмерной графики.
Strategy games (стратегические шры). Требуют стратегического планирования и ответственности при принятии решений, например развитие цивилизаций, соперничество миров, экономическая борьба. Особый класс стратегических игр — wargames (военные игры). В последнее время упор в 3D Action делается на многопользовательский режим (игру по сети).
Puzzles (настольные игры-головоломки). Компьютерные реализации различных логических игр.
Adventure/Quest (приключенческие игры). Обычно обладают разветвленным сценарием, красивой графикой и звуком. Управляя одним или несколькими персонажами, игрок должен правильно вести диалоги, разгадывать множество загадок и головоломок, замечать и правильно использовать предметы, спрятанные в игре.
Role-playing games RPG (ролевые игры). Распространенный жанр, берущий свое начало в старых английских настольных играх. Существует один или несколько персонажей, обладающих индивидуальными способностями и характеристиками. Им приходится сражаться с врагами, решать загадки. По мере выполнения этих задач, у героев накапливается опыт, и по достижении определенного значения их характеристики улучшаются...
Следует отметить, что многие игры могут быть отнесены сразу к нескольким классам, и в целом, эту классификацию нельзя считать строгой. Игры иногда полезны для развлечения экспертов перед сеансом извлечения знаний. Кроме того, очевидно, что экспертные игры, сочетая элементы перечисленных выше классов, могут успешно применяться для непосредственного извлечения знаний. Однако разработка и программная реализация такой игры потребуют существенных вложений временных и денежных ресурсов.
Пример 4.6
Одна из первых отечественных экспертных компьютерных игр описана в работе [Гин- кул, 1989]. Основной принцип игры «Зоосад» состоит в создании игровой ситуации при организации диалога с экспертом. При этом задача извлечения знаний маскируется нацеленностью на решение чисто игровой задачи: необходимо определить содержимое «черного ящика», в котором находится некое животное, при этом надо набрать
наибольшее количество очков, не истратив выделенного ресурса денег. В ходе игры эксперт делает ставки на различные гипотезы, указывая при этом, какими признаками обладает то или иное животное. После каждого ответа он получает необходимую информацию о результатах. По ходу игры невидимо для эксперта формируются правила, отражающие знания эксперта на основании сделанных им ходов. В данной игре — зто знания о том, какими признаками обладают те или иные животные. Таким образом, выявляется алфавит значимых признаков для диагностики и классификации животных.
Сравнительные характеристики экспертных игр приведены в табл. 4.4.
Таблица 4.4. Сравнительные характеристики экспертных игр
Экспертные игры
ИндивидуальныефупповыеКомпьютерные
Достоинства
Дают возможностьРеалистично воссоздают Вызывают интерес
сравнительно быстроатмосферу конкретной у эксперта
получить качественнуюзадачи
картину принятия решения
Позволяют выяснить,РаскрепощаютПривлекают
какую информациюэкспертовдизайном
и как использует эксперти динамикой
«「рупповые» знания более объективны
Выявляют логику и аргументацию экспертов
Недостатки
Отсутствие методикТребует от аналитикаСложность
стандартногознания основи высокая цена
набора игригротехникисоздания
специализированных игр в конкретной ПО
ВысокиеСложность создания
профессиональныеигр для конкретных1
требования к аналитику предметных областей
Требования к эксперту
Собеседник или практик ТожеПрактик без
(раскованностьпсихологического
(тип и качества) и актерское мастерство)барьера к ЭВМ
Требования каналитику
СобеседникСобеседникМыслитель
(режиссерские(способность к ведению(контакт
(тип и качества) способности +конферанса +с программистом)
умение создаватьрежиссерские
сценарии +способности + сценарист +
актерское мастерство)актерское мастерство)
Требования к предметной области
Средне и слабо.То жеТоже
структурированные и слабо документированные
4.3. Текстологические методы
Группа текстологических методов объединяет методы извлечения знаний, основанные на изучении специальных текстов из учебников, монографий, статей, методик и других носителей профессиональных знаний.
В буквальном смысле текстологические методы не относятся к текстологии — науке, которая родилась в русле филологии с целью критического прочтения литературных текстов, изучения и интерпретации источников с узкоприкладной задачей —подготовки текстов к изданию. Сейчас текстология расширила свои границы включением аспектов смежных наук — герменевтики (науки правильного толкования древних текстов — библии, античных рукописей и др.), семиотики, психолингвистики и др.
Текстологические методы извлечения знаний, безусловно, используя основные положения текстологии, отличаются принципиально от ее методологии, во-первых, характером и природой своих источников (профессиональная специальная литература, а не художественная, живущая по своим особым законам), а во-вторых, жесткой прагматической направленностью извлечения конкретных профессиональных знаний.
Среди методов извлечения знаний эта группа является наименее разработанной, по ней практически нет никакой библиографии, поэтому Дальнейшее изложение является как бы введением в методы изучения текстов в том виде, как это представляют авторы.
Задачу извлечения знаний из текстов можно сформулировать как задачу понимания и выделения смысла текста. Сам текст на естественном языке является лишь проводником смысла, а замысел и знания автора лежат во вторичной структуре (смысловой структуре или макроструктуре текста), настраиваемой над естественным текстом [Величковский, Капица, 1987], или, как сформулировано в работе [Файн, 1987], «текст не содержит и не передает смысл, а является лишь ин-' струментом для автора текста».
При этом можно выделить две такие смысловые структуры:
М1 — смысл, который пытался заложить автор, это его модель мира, и М2 — смысл, который постигает читатель, в данном случае инженер по знаниям (рис. 4.6), в процессе интерпретации I. При этом Г — это словесное одеяние Мр то есть результат вербализации V.
Сложность процесса заключается в принципиальной невозможности совпадения знаний, образующих М, н 此,из-за того, что М1 образуется за счет всей совокупности представлений, потребностей, интересов и опыта автора, лишь малая часть которых находит отражение в тексте Г. Соответственно, и М2 образуется в процессе интерпретации текста Тза счет привлечения всей совокупности научного и человеческого багажа читателя. Таким образом, два инженера по знаниям извлекут из одного Тдве различные модели М* иМ.
Текст книги
Рис. 4.6. Схема извлечения знаний из специальных текстов
Встает задача: выяснить, за счет чего можно достичь максимальной адекватности М^М^ помня при этом, что понимание всегда относительно, поскольку это синтез двух смыслов «свое—чужое» [Бахтин, 1975].
Рассмотрим подробнее, какие источники питают модель М, и создают текст Т. В работе [Сергеев, 1987] указаны два компонента любого научного текста. Это первичный материал наблюдений а и система научных понятий 0 в момент создания текста. В дополнение к этому, на наш взгляд, помимо объективных данных экспериментов и наблюдений, в тексте обязательно присутствуют субъективные взгляды автора у, результат его личного опыта, а также некоторые «общие места» или «вода» 8. Кроме этого, любой научный текст содержит заимствования из других источников (статей, монографий) и т. д. При этом все компоненты погружены в языковую среду L. Можно записать:
Т = (a,p,Y,5,0)L.
Таким образом, компоненты научного текста можно представить в виде следующей схемы (рис. 4.7). При этом компоненты В, у, часть а входят и в модель Мг
Рис. 4.7. Компоненты научного текстаРис. 4.7. Компоненты научного текста
Рис. 4.7. Компоненты научного текста
Рис. 4.7. Компоненты научного текста
При извлечении знаний аналитику, интерпретирующему текст, приходится решать задачу декомпозиции этого текста на перечисленные выше компоненты для выделения истинно значимых для реализации базы знаний фрагментов. Сложность интерпретации научных и специальных текстов заключается еще и в том, что любой текст
приобретает смысл только в контексте, где под контекстом понимается окружение, в которое «погружен» текст.
Различают микро- и макроконтекст. Микроконтекст — это ближайшее окружение текста. Так, предложение получает смысл в контексте абзаца, абзац в контексте главы и т. д. Макроконтекст — это вся система знаний, связанная с предметной областью (то есть знания об особенностях и свойствах, явно не указанных в тексте). Другими словами, любое знание обретает смысл в контексте некоторого метазнания.
Теперь несколько подробнее о центральном звене процедуры извлечения знания —о понимании текста. Классическим в текстологии является определение немецкого философа и языковеда В. фон Гумбольдта [Фон Гумбольдт, 1984]: «...Люди понимают друг друга не потому, что передают собеседнику знаки предметов, и даже не потому, что взаимно настраивают друг друга на точное и полное воспроизведение идентичного понятия, а потому, что взаимно затрагивают друг в друге одно и то же звено цепи чувственных представлений и зачатков внутренних понятий, прикасаются к одним и тем же клавишам инструмента своего духа, благодаря чему у каждого вспыхивают в сознании соответствующие, но не тождественные смыслы.»
Говоря на языке современного языкознания, понимание — это формирование «второго текста», то есть семантической структуры (понятийной структуры) [Сиротко-Сибирский, 1968]. В нашей терминологии — это попытка воссоздания семантической структуры М1 в процессе формирования модели 此,то есть это первый шаг структурирования знаний.
Как происходит процесс понимания I? Однаиз возможных схем изложена в работе [Соколов, 1947; Соколов, 1968]. Мы внесли несколько изменений в эту схему в связи с тем, что в ней трактуется понимание текста на иностранном языке, а нас интересует понимание текста в новой для познающего субъекта предметной области. Кроме этого, дополним ее некоторыми положениями герменевтики. В целом полученная схема согласуется со стратегией изучения всего нового.
Основными моментами понимания текста являются:
Выдвижение предварительной гипотезы о смысле всего текста (предугадывание).
Определение значений непонятных слов (то есть специальной терминологии).
Возникновение общей гипотезы о содержании текста (о знаниях).
Уточнение значения терминов и интерпретация отдельных фрагментов текста под влиянием общей гипотезы (от целого к частям).
Формирование некоторой смысловой структуры текста за счет установления внутренних связей между отдельными важными (ключевыми) словами и фрагментами, а также за счет образования абстрактных понятий, обобщающих конкретные фрагменты знаний.
Корректировка общей гипотезы относительно содержащихся в тексте фрагментов знаний (от частей к целому).:
Принятие основной гипотезы, то есть формирование М.'
Следует отметить наличие как дедуктивной (от целого к частям), так и индуктивной (от частей к целому) составляющей процесса понимания. Такой двуединый подход позволяет охватывать текст как смысловое единство особого рода, с его основными признаками, такими как связность, цельность, законченность и др. [ Сиротко- Сибирский, 1968].
Центральными моментами процесса I являются шаги 5 и 7, то есть формирование смысловой структуры или выделение «опорных», ключевых, слов или «смысловых вех» [Сиротко-Сибирский, 1968], а также заключительное связывание «смысловых вех» в единую семантическую структуру.
При анализе текста важно выявление внутренних связей между отдельными элементами текста и понятиями. Традиционно выделяют два вида связей в тексте — эксплицитные (или явные связи), которые выражаются во внешнем дроблении текста, и имплицитные (скрытые связи). Эксплицитные связи делят текст на параграфы с помощью перечисления компонентов, вводных слов (или коннекторов) типа «во-первых..., во-вторых..., однако и т. д>. Имплицитные, или внутренние, связи между отдельными «смысловыми вехами» вызывают основное затруднение при понимании.
Итак, семантическая структура текста образуется в сознании познающего субъекта с помощью знаний о языке, знаний о мире, а также общих (фоновых) знаний в той предметной области, которой посвящен текст. «Тексту пишут для посвященных». Другими словами, если текст не является научно-популярным, то для его адекватного прочтения требуется некоторая подготовка.
Таким образом, путь к знаниям удлиняется еще на одно звено. Если мы раньше говорили, что сами текстологические методы редко употребляются как самостоятельный метод извлечения, а обычно используются как некоторая подготовка к коммуникативному взаимодействию, то теперь утверждаем, что и для прочтения текстов нужна подготовка. Какая же?
Подготовкой к прочтению специальных текстов является выбор совместно с экспертами некоторого «базового» списка литературы, который постепенно введет аналитика в предметную область. В этом списке могут быть учебники для начинающих, главы и фрагменты из монографий, популярные издания. Только после ознакомления с «базовым» списком целесообразно приступать к чтению специальных текстов.
Таким образом, на процесс понимания (или интерпретации) I и модель М2 влияют следующие компоненты (рис. 4.8):
экстракт компонентов (а, 0, % 0)\ почерпнутый из текста Т;
предварительные знания аналитика о предметной области со;
общенаучная эрудиция аналитика е;
его личный опыт ф.
М2= [(a, P,Y,6)', со,е,(р]. ■
Процесс I — это сложный, не поддающийся формализации процесс, на который существенным образом влияют такие чисто индивидуальные компоненты, как когнитивный стиль познания, интеллектуальные характеристики и др.
Рис. 4.8. Компоненты формирования смысла текста
Но процедура разбивки текста на части («смысловые группы»), а затем сгущение, сжатие содержимого каждого смыслового куска в «смысловую веху» является, видимо, основой для любого индивидуального процесса понимания. Такая компрессия (сжатие) текста в виде набора ключевых слов, передающих основное содержание текста, может служить удобной методологической основой для проведения текстологических процедур извлечения знаний.
В качестве ключевого слова может служить любая часть речи (существительное, прилагательное, глагол и т. д.) или их сочетание. Набор ключевых слов (НКС)— это набор опорных точек, по которым развертывается текст при кодировании в память и осознается при декодировании, это семантическое ядро цельности [Сиротко-Сибирский, 1968].
Пример 4.7
В качестве примера приведем результаты эксперимента по формированию НКС. Знания извлекались из следующего текста [Уэно, Исидзука, 1989].
«Теория фреймов относится к психологическим понятиям, касающимся понимания того, что мы видим и слышим. Эти способы восприятия трактуются с последовательной точки зрения, на их основании осуществляется концептуальное моделирование, целесообразность полученных моделей исследуется вместе с различными проблемами, возникающими в этих двух областях.
Для осознания того факта, что заданная информация в этих областях имеет единственный смысл, человеческая память прежде всего должна быть способна увязывать эту информацию со специальными концептуальными объектами. В противном случае не удается систематизировать информацию, которая выглядит разрозненной. В основе теории фреймов лежит восприятие фактов посредством сопоставления полученной извне информации с конкретными элементами и значениями, а также с рамками, опре-
деленными для каждого концептуального объекта в нашей памяти. Структура, представляющая эти рамки, называется фреймом. Поскольку между различными концептуальными объектами имеются некоторые аналогии, то образуется иерархическая структура с классификационными и обобщающими свойствами. Собственно, она представляет собой иерархическую структуру отношений типа «абстрактное-конкретное». -Сложные объекты представлены комбинацией нескольких фреймов, другими словами, они соответствуют фреймовой сети. Кроме того, каждый фрейм дополняется связанными с ним фактами и процедурой, обеспечивающей выполнение запросов к другим фреймам.
Причиной, по которой представление знаний фреймами выглядит достаточно точным, является возможность более полного описания процесса мышления человека посредством определения крупной и структурированной основной единицы представления знаний и более тесной связи знаний, основанных на фактах, и процедурных знаний. Тем не менее, как было отмечено ее автором, теорию фреймов следует скорее отнести к теории постановки задач, чем к результативной теории. Можно считать, что она существенно повышает уровень и детализирует механизм памяти человека, выводов, понимания 口 обучения.»
В группе из 34 испытуемых не было получено ни одного совпадающего НКС и, соответственно, все структуры существенно отличались. Для примера приведем две работы (рис. 4.9, а, б).
Интересно, что одна из гипотез лингвостатистики о том, что наиболее употребляемые слова являются наиболее важными с точки зрения содержания текста, то есть отражают его тематическую структуру, частично подтвердилась.
Следует сказать несколько слов о том, почему мы выделяем три вида текстологических методов (см. рис. 4.1):
анализ специальной литературы;
анализ учебников;
анализ методик.
Перечисленные три метода существенно отличаются, во-вторых, по степени концентрированности специальных знаний, и, во-вторых, по соотношению специальных и фоновых знаний. Наиболее простым методом является анализ учебников, в которых логика изложения обычно соответствует логике предмета и поэтому макроструктура такого текста будет, наверное, более значима, чем структура текста какой-нибудь специальной статьи. Анализ методик затруднен как раз сжатостью изложения и практическим отсутствием комментариев, то есть фоновых знаний, облегчающих понимание для неспециалистов. Поэтому можно рекомендовать для практической работы комбинацию перечисленных методов.
В заключение предложим одну из возможных практических методик анализа текстов с целью извлечения и структурирования знаний.
а
<теория фреймов ТФ
(ISA — теория постановки задач),
(АКО — психологическое понятие),
(НАЗН^ЕНИЕ — систематизация^ описание мышления),
(ПРИНЦИП — восприятие внешних факторов и сопоставление с фреймами),
(ОСНОВНОЕ ПОНЯТИЕ — фрейм, сеть фреймов)>
<фрейм
(ISA — понятие ТФ),
(ОПРЕДЕЛЕНИЕ -...), (-)>
Рис. 4.9. Примеры смысловых структур, извлеченных из текста
Алгоритм извлечения знаний из текста
1. Составление «базового» списка литературы для ознакомления с предмет-
ной областью и чтение по списку.
2. Выбор текста для извлечения знаний.
3. Первое знакомство с текстом (беглое прочтение). Для определения зна-
чения незнакомых слов — консультации со специалистами или привле-
чение справочной литературы.
4. Формирование первой гипотезы о макроструктуре текста.
5. Внимательное прочтение текста с выписыванием ключевых слов и выра-
жений, то есть выделение «смысловых вех» (компрессия текста).
6. Определение связей между ключевыми словами, разработка макрострук-
туры текста в форме графа или «сжатого» текста (реферата).
7. Формирование поля знаний на основании макроструктуры текста.
Простейшие методы структурирования
Методы извлечения знаний, рассмотренные выше, являются непосредственной подготовкой к структурированию знаний. Данный параграф посвящен изучению практических методов структурирования знаний.
Алгоритм для «чайников»
В качестве простейшего прагматического подхода к формированию поля знаний начинающему инженеру по знаниям можно предложить следующий алгоритм для «чайников» (рис. 4.10).
Определение входных {X} и выходных {Y} данных. Этот шаг совершенно необходим, так как он определяет направление движения в поле знаний — от X к Y. Кроме того, структура входных и выходных данных существенно влияет на форму и содержание поля знаний. На этом шаге определение может быть достаточно размытым, в дальнейшем оно будет уточняться.
Составление словаря терминов и наборов ключевых слов N. На этом шаге проводится текстуальный анализ всех протоколов сеансов извлечения знаний и выписываются все значимые слова, обозначающие понятия, явления, процессы, предметы, действия, признаки и т. п. При этом следует попытаться разобраться в значении терминов. Важен осмысленный словарь.
Выявление объектов и понйтий {А}. Производится «просеивание» словаря N и выбрр значимых для принятия решения понятий и их признаков. В идеале на этом шаге образуется полный систематический набор терминов из какой-либо области знаний.
Выявление связей между понятиями. Все в мире связано. Но определить, как направлены связи, что ближе, а что дальше, необходимо на этом этапе. Таким
образом, строится сеть ассоциаций, где связи только намечены, но пока не поименованы. Например, понятия «день», «ночь», «утро» и «вечер» явно как-то связаны, связаны также и понятия «красный флаг» и «красный галстук», но характер связи тут существенно отличен.
Выявление метапонятий и детализации понятий. Связи, полученные на предыдущем шаге, позволяют инженеру по знаниям структурировать понятия и как выявлять понятия более высокого уровня обобщения (метапонятия), так и детализировать на более низком уровне.
Построение пирамиды знаний. Под пирамидой знаний мы понимаем иерархическую лестницу понятий, подъем по которой означает углубление понимания и повышения уровня абстракции (обобщенности) понятий. Количество уровней в пирамиде зависит от особенностей предметной области, профессионализма экспертов и инженеров по знаниям.
Определение отношений {RA}. Отношения между понятиями выявляются как внутри каждого из уровней пирамиды, так и между уровнями. Фактически на этом шаге даются имена тем связям, которые обнаруживаются на шагах 4 и 5, а также обозначаются причинно-следственные, лингвистические, временные и другие виды отношений.
Определение стратегий принятия решений (S). Определение стратегий принятия решения, то есть выявление цепочек рассуждений, связывает все сформированные ранее понятия и отношения в динамическую систему поля знаний. Именно стратегии придают активность знаниям, именно они «перетряхивают» модель М в поиске от X к Y.
Рис. 4.10. Стадии структурирования знаний ——алгоритм для «чайников»
Однако на практике при использовании данного алгоритма можно столкнуться с непредвиденными трудностями, связанными с ошибками на стадии извлечения знаний и с особенностями знаний различных предметных областей. Тогда возможно привлечение других, более «прицельных» методов структурирования. При этом на разных этапах схемы (рис. 4.10) возможно использование различных методик.
Специальные методы структурирования
Используя представленный на рис. 4.10 алгоритм, инженер по знаниям может испытывать необходимость в применении специальных методов структурирования на разных шагах алгоритма. При этом, естественно, для таких простых и очевидных шагов, как определение входных и выходных понятий или составление словаря, никаких искусственных методов предлагаться не будет.
Методы выявления объектов, понятий и их атрибутов
Понятие или концепт — это обобщение предметов некоторого класса по их специфическим признакам. Обобщенность является сквозной характеристикой всех когнитивных психических структур, начиная с простейших сенсорных образов.
Так, понятие «автомобиль» объединяет множество различных предметов, но все они имеют четыре колеса, двигатель и массу других деталей, позволяющих перевозить на них грузы и людей. Существует ряд методов выявления понятий предметной области в общем словаре терминов, который составлен на основании сеансов извлечения знаний. При этом важно выявление не только самих понятий, но и их признаков.
Возвращаясь к терминологии, введенной в параграфе 1.3, на этом этапе определяются также интенсионалы и экстенсионалы понятий предметной области. Ин- тенсионал очерчивает пЪнятие через взаимосвязь значимых признаков, а эк- стенсионал — через перечисление конкретных экземпляров объекта.
Если задача выделения реальных объектов А связана только с наблюдательностью и лингвистическими способностями эксперта и инженера по знаниям, то определение метапонятий В требует от них умения проводить операции обобщения и классификации, которые никогда не считались тривиальными.
Поспелов Д. А. [Поспелов, 1986] предложил ряд подходов к созданию основ теории обобщения и классификации применительно к ситуационному управлению и искусственному интеллекту в целом, а также выделил ряд особенностей задач формирования понятий. Среди них особое место занимает выявление прагматически значимых признаков для формирования понятий, способствующих решению задачи.、
Сложность заключается в том, что для многих понятий практически невозможно однозначно определить их признаки, это связано с различными формами репрезентации понятий в памяти человека.-
Все методы выявления понятий мы разделили на:
традиционные, основанные на математическом аппарате распознавания образов и классификации;
нетрадиционные, основанные на методологии инженерии знаний.
Если первые достаточно хорошо освещены в литературе, то вторые пока менее известны.
Пример 4.8
Интересный эксперимент по выявлению понятий описан в работе [Кук, Макдональд, 1986].
Тридцати студентам, имеющим права на вождение автомобиля, предложили составить словарь терминов предметной области с помощью четырех методов:
Формирование перечня понятий (17 %).
Интервьюирование специалистов (35 %).
Составление списка элементарных действий (18 %).
Составление оглавления учебника (30 %).
Цифры в скобках характеризуют продуктивность соответствующего метода, то есть показывают, какой процент понятий из общего выявленного списка (702 термина) был получен соответствующим методом. Для классификации понятий были привлечены еще два участника эксперимента, которые разделили 702 выявленных понятия на семь категорий (методом сортировки карточек). Таблица 4.5 отражает численные данные концептуализации.
Таблица 4.5. Данные концептуализации
Категории
Процент от общего числа терминов
Процент от общего числа терминов, полученный
соответствующим методом
Список операций
Составление оглавления
Перечень понятий
Интервьюирование
Объяснение
6
5,5
7,2
7,0
4,9
Общие правила
22,0
43,6
18,9
36,8
4,9
Режимные
9,0
9,8
8,4
11,6
6,6
правила
Понятия
42,0
18,4
38.9
8,5
77,7
Процедуры
9,0
5.1
9,5
25,6
1.2
Факты
9,0
15,0
12,5
8,9
1,2
Прочие
3,0
2,6
4,6
1.6
3,5
понятия
В целом результаты показали, что для выявления непосредственно концептов наиболее результативными оказались методы интервьюирования и составления оглавления учебника. Однако наибольшее число общих правил было порождено в методе списка действий. Таким образом, еще раз подтвердилось утверждение о том, что нет «лучшего» метода, есть методы, подходящие для тех или иных ситуаций и типов знаний.
Интересно, что число правил — продукций «если — то» — составило небольшой процент во всех четьфех методах. Это говорит о том, что популярная продукционная модель вряд ли является естественной для человеческих моделей репрезентации знаний.
Методы выявления связей между понятиями
Концепты не существуют независимо, они включены в общую понятийную структуру с помощью отношений. Выявление связей между понятиями при разработке баз знаний доставляет инженеру по знаниям немало проблем. То, что знания в памяти — это некоторые связные структуры, а не отдельные фрагменты, общеизвестно и очевидно. Тем не менее основной упор в существующих моделях представления знаний делается на понятия, а связи вводят весьма примитивные (в основном причинно-следственные).
В последних работах по теории ИИ все больше внимания уделяется взаимосвязанности структур знаний. Так, в работе [Шенк, Бирнбаум, Мей, 1989] введено понятие сценария (script) как некоторой структуры представления знаний. Основу сценария составляет КОП (концептуальная организация памяти) и мета- КОПы — некоторые обобщающие структуры.
Сценарии, в свою очередь, делятся на фрагменты — или сцены (chunks). Связи между фрагментами — временные или пространственные, внутри фрагмента — самые различные: ситуативные, ассоциативные, функциональные и т. д.
Все методы выявления таких связей можно разделить на две груштьК
Формальные.
Неформальные (основаны на дополнительной работе с экспертом).
Неформальные методы выявления связей придумывает инженер по знаниям для того, чтобы вынудить эксперта указать явные и неявные связи между понятиями. Наиболее распространенным является метод «сортировка карточек» в группы [Волков, Ломнев, 1989; Rabbits, Wright, 1987], широко применяемый и для формирования понятий. Другим неформальным методом является построение замкнутых кривых. В этом случае эксперта просят обвести замкнутой кривой связанные друг с другом понятия [Olson, Reuter, 1987]. Этот метод может быть реализован как на бумаге, так и на экране дисплея. В этом случае можно говорить о привлечении элементов когнитивной графики [Зенкин, 1991].
После того как определены связи между понятиями, все понятия как бы распадаются на группы. Такого рода группы представляют собой метапонятия, присвоение имен которым происходит на следующей стадии процесса структурирования.
Методы выделения метапонятий и детализация понятий (пирамида знаний)
Процесс образования метапонятий, то есть интерпретации групп понятий, полученных на предыдущей стадии, как и обратная процедура — детализация (разукрупнение) понятий, — видимо, принципиально не поддающиеся формализации операции. Они требуют высокой квалификации экспертов, а также наличия способностей к «наклеиванию» лингвистических ярлыков. Если на рис. 4.11 показа-
ны схемы обобщения и детализации на тривиальных примерах, то в реальных предметных областях эта задача оказывается весьма трудоемкой. При этом независимо от того, формальными или неформальными методами были выявлены понятия или детали понятий, присвоение имен которым или интерпретация их — всегда неформальный процесс, в котором инженер по знаниям просит эксперта дать название некоторой группе понятий или отдельных признаков.
Рис. 4,11. Обобщение и детализация понятийРис. 4,11. Обобщение и детализация понятий
Рис. 4,11. Обобщение и детализация понятий
Рис. 4,11. Обобщение и детализация понятий
Знания начальника цехаЗнания начальника цехаизU2U1изU2изU2U1изU2Знания технолога цехаЗнания технолога цехаРис. 4.12. Пирамиды знанийРис. 4.12. Пирамиды знаний
Знания начальника цеха
Знания начальника цеха
из
U2
U1
из
U2
из
U2
U1
из
U2
Знания технолога цеха
Знания технолога цеха
Рис. 4.12. Пирамиды знаний
Рис. 4.12. Пирамиды знаний
Это не всегда удается. Так, в системе АВТАНТЕСТ [Гаврилова, Червинская, 1992] при образовании метапонятий, полученных методами кластерного анализа, интерпретация заняла несколько месяцев и не может считаться удовлетворительной. Это связано с тем, что формальные методы иногда выделяют «искусственные» концепты, в то время как неформальные обычно — практически используемые и потому легко узнаваемые понятия.
Методы построения пирамиды знаний обязательно включают использование наглядного материала — рисунков, схем, кубиков. Уровни пирамиды чаще возникают в сознании инженера по знаниям именно как некоторые образы.
Построение пирамиды знаний может быть основано и на естественной иерархии предметной области, например связанной с организационной структурой предприятия или с уровнем компетентности специалистов (рис. 4.12).
U1
Методы определения отношений
Если на стадии 4 (см. рис. 4.10) мы выявили связи между понятиями и использовали их на стадиях 5 и 6 для получения пирамиды знаний, то на стадии 7 мы даем имена связям, то есть превращаем их в отношения.
В работе [Поспелов, 1986] указывается на наличие более 200 базовых видов различных отношений, существующих между понятиями. Предложены различные классификации отношений [Келасьев, 1984; Поспелов, 1986]. Следует только подчеркнуть, что помимо универсальных отношений (пространственных, временных, причинно-следственных) существуют еще и специфические отношения, присущие той или иной предметной области [Гаврилова, Червинская, Яшин, 1988].
Интересные возможности к структурированию знаний добавляют системы когнитивной графики. Так, в системе OPAL [Olton., Muser, Combs et aL, 1987] эксперт может манипулировать на экране дисплея изображениями простейших понятий и строить схемы лечения заболеваний, обозначая отношения явными линиями, которые затем именуются.
Предлагаемая в данном учебнике методология структурирования опирается на современные представления о структуре человеческой памяти и формах репрезентации информации в ней [Величковский, 1982].
Скудность методов структурирования объясняется тем, что методологическая база инженерии знаний только закладывается, а большинство инженеров по знаниям проводит концептуализацию, руководствуясь наиболее дорогими и неэффективными способами — «проб и ошибок» и «по наитию», то есть исходя из соображений здравого смысла.
Состояние и перспективы автоматизированного приобретения знаний
В данном параграфе мы рассмотрим автоматизированный подход к проблеме извлечения и структурирования знаний, традиционно называемый приобретением знаний (knowledge acquisition).
Поскольку основную трудность в создании интеллектуальных систем представляет домашинный этап проектирования, выполняемый инженером по знаниям (или аналитиком), — анализ предметной области, получение знаний и их структурирование, —эти процедуры традиционно считаются «узким местом» (bottleneck) проектирования экспертных систем [Gaines, 1987; Boose, 1990]. Последние 5-6 лет усилия разработчиков направлены на создание инструментальной программной поддержки деятельности инженера по знаниям и эксперта именно на этих этапах.
Эволюция систем приобретения знаний
Первое поколение таких систем появилось в середине 80-х — это так называемые системы приобретения знаний (СПЗ) (TEIRESIAS [Davis, 1982], SIMER+ MIR [Осипов, 1988], АРИАДНА [Моргоев, 1988]). Это средства наполнения так называемых «пустых» ЭС, то есть систем, из БЗ которых изъяты знания (например, EMYCIN — EMPTY MYCIN, опустошенная медицинская ЭС MJCIN со специальной диалоговой системой заполнения базы знаний TEIRESIAS). Их авторы считали, что прямой диалог эксперта с компьютером через СПЗ поможет сократить жизненный цикл разработки. Однако опыт создания и внедрения СПЗ продемонстрировал несовершенство такого подхода.
Основные недостатки СПЗ I поколения:
Слабая проработка методов извлечения и структурирования знаний.
Жесткость модели представления знаний, встроенной в СПЗ и связанной с привязкой к программной реализации.
Ограничения на предметную область.
Таким образом, традиционная схема разработки СПЗ I поколения:
создание конкретной ЭС т опустошение БЗ т разработка СПЗ для новых наполнений БЗ т формирование новой БЗ для другой ЭС
оказалась несостоятельной для промышленного применения.
Второе поколение СПЗ появилось в конце 80-х и было ориентировано на более широкий модельный подход [Gaines, 1989; Борисов, Федоров, Архипов, 1991] с акцентом на предварительном детальном анализе предметной области. Так, в Европе широкое применение получила методология KADS (Knowledge Acquisition and Documentation Structuring) [Wielinga et al., 1989], в основе которой лежит понятие интерпретационной модели, позволяющей процессы извлечения, структурирования и формализации знаний рассматривать как «интерпретацию» лингвистических знаний в другие представления и структуры.
KADS-методология
Рисунок 4.13 демонстрирует преобразование знаний согласно методологии KADS [Breuker, Wielinga, 1989] через спецификацию пяти шагов анализа ^идентифика- ция — концептуализация — гносеологический уровень — логический уровень — уровень анализа выполнениям и стадии или пространства проектирования.
Результатом анализа является концептуальная модель экспертизы, состоящая из четырех уровней (уровня области — уровня вывода — уровня задачи — стратегического уровня), которая затем вводится в пространство проектирования и преобразуется в трехуровневую модель проектирования (рис. 4.14).
При решении реальных задач KADS использует библиотеку интерпретационных моделей, описывающих общие экспертные задачи, такие как диагностика, мониторинг (см. классификацию 1 из п. 2.2) и пр., без конкретного наполнения объектами предметной области. Интерпретационная модель представляет собой
концептуальную мо^ль без уровня области. На основании извлеченных лингвистических данных происходит отбор, комбинация и вложение верхних уровней модели, то есть уровней вывода и задачи, которые наполняются конкретными объектами и атрибутами из уровня области и представляют в результате концептуальную модель рассматриваемой задачи. На рис. 4.15 представлена модель жизненного цикла KADS.
ЛингвистическиеданныеЛингвистическиеданныеКонцептуальнаямодельКонцептуальнаямодельМодельпроектированияМодельпроектированияVVДетальная модельпроектированияДетальная модельпроектированияииss^sra oaioHediood 匚 нинеаодивюоби ойихиоьолс 一一ss^sra oaioHediood 匚 нинеаодивюоби ойихиоьолс 一一ИдентификацияИдентификацияКонцептуальныйуровеньКонцептуальныйуровеньГносеологичесжийI уровеньГносеологичесжийI уровеньЛогический уровеньЛогический уровеньУровень анализа выполненияУровень анализа выполненияеси匚 внв ss&>еси匚 внв ss&>**
Лингвистическиеданные
Лингвистическиеданные
Концептуальнаямодель
Концептуальнаямодель
Модельпроектирования
Модельпроектирования
V
V
Детальная модельпроектирования
Детальная модельпроектирования
и
и
ss^sra oaioHediood 匚 нинеаодивюоби ойихиоьолс 一一
ss^sra oaioHediood 匚 нинеаодивюоби ойихиоьолс 一一
Идентификация
Идентификация
Концептуальныйуровень
Концептуальныйуровень
Гносеологичесжий
I уровень
Гносеологичесжий
I уровень
Логический уровень
Логический уровень
Уровень анализа выполнения
Уровень анализа выполнения
еси匚 внв ss&>
еси匚 внв ss&>
*
*
Рис. 4.13. Методология KADS
Первые системы программной поддержки KADS-методологии представлены набором инструментальных средств KADS Power Tools [Schreiber G, BreukerJ. et al., 1988]. В этот набор входят следующие системы: редактор протоколов PED (Protocol Editor); Редактор системы понятий (Concept Editor); Редактор концептуальных моделей СМЕ (Conceptual Model Editor) и ИМ-библиотекарь IML (Interpretation Model Librarian).
Редактор протоколов — программное средство, помогающее инженеру по знаниям в проведении анализа знаний о предметной области на лингвистическом уровне. При работе со знаниями на этом уровне исходным* материалом являются тексты (протоколы) — записи интервью с экспертом, протоколы «мыслей вслух» и любые другие тексты, полезные с точки зрения инженера знаний. Редактор протоколов реализован как гипертекстовая система, обеспечивающая выделение фрагментов в анализируемом тексте, установление связей между фрагментами, группирование фрагментов, аннотирование фрагментов. Фрагменты могут иметь любую длину — от отдельного слова до протокола в целом. Фрагменты могут перекрывать друг друга.
Рис. 4.14. Основные модели KADS
Возможны следующие типы связей между фрагментами:
аннотация (связь между фрагментом протокола и некоторым текстом, введенным инженером знаний для спецификации этого фрагмента);
член группы (связь между фрагментом и названием — именем группы фрагментов; объединение фрагментов в группу позволяет инженеру знаний структурировать протоколы, при этом группа фрагментов получает уникальное имя);
поименованная связь (связь между двумя фрагментами, имя связи выбирается инженером знаний);
понятийная связь (поименованная связь между фрагментом и понятием; обычно используется, если фрагмент содержит определение понятий).
Редактор понятий помогает инженеру знаний организовывать предметные знания в виде набора понятий и связывающих их отношений. Каждое понятие имеет имя и может иметь атрибуты; каждый атрибут может иметь значение. Какие именно атрибуты используются — это определяет инженер знаний с учетом спе* цифики предметной области. С помощью Редактора понятий инженер знаний может вводить произвольные отношения между понятиями и создавать иерархические структуры по тому или иному отношению. Существует единственное отношение (ISA), семантика которого «встроена» в Редактор. Если инженер знаний устанавливает это отношение между двумя понятиями, то имеет место наследование атрибутов.
Рис. 4.15. Жизненный ци)О1 KADS
ИМ-библиотекаръ помогает инженеру знаний проводить анализ предметных знаний на эпистемологическом уровне. Основное назначение Библиотекаря состоит в том, чтобы помочь инженеру знаний выбрать одну или более ИМ, подходящих для исследуемой проблемной области (ПО). Помощь Библиотекаря проявляется в чисто информационном аспекте. Вначале Библиотекарь демонстрирует пользователю иерархию типов задач, для которых в библиотеке имеются ИМ. После того как пользователь выбрал интересующую его ИМ, ему демонстрируется ее краткое описание и список атрибутов, включающий в себя следующие атрибуты: «краткое описание», «определение», «структура задачи», «стратегии», «ПО-зна-
ния». Выбрав атрибут «определение», пользователь сможет увидеть на экране графическое изображение структуры вывода, элементами которой являются источники знаний и метаклассы. Как источники знаний, так и метаклассы имеют свои наборы атрибутов; инженер знаний может просмотреть их, указывая на соответствующий элемент. 、
Психосемантика
Помимо идеологии KADS на разработку СПЗ II поколения большое влияние оказали методы смежных наук, в частности психосемантики, одного из молодых направлений прикладной психологии [Петренко, 1988; Шмелев, 1983], перспективного инструмента, позволяющего реконструировать семантическое пространство памяти и тем самым моделировать глубинные структуры знаний эксперта (см, параграф 5.1). Уже первые приложения психосемантики в ИИ в середине 80-х годов позволили получить достаточно наглядные результаты [Кук, Макдональд, 1986]. В дальнейшем развитие этих методов шло по линии разработки удобных пакетов прикладных программ, основанных на методах многомерного шкалиройания, факторного анализа, а также специализированных методов обработки репертуарных решеток [Франселла, Баннистер, 1987] (параграф 5.2). Примерами СПЗ такого типа являются системы KELLY [Похилько, Страхов, 1990], MADONNA [Терехина, 1988], MEDIS [Алексеева и др., 1989]. Специфика конкретных приложений требовала развития также «нечисленных» методов, использующих парадигму логического вывода. Примерами систем этого направления служат системы ETS [Boose, 1986] и AQUINAS [Boose, Bradshaw, Schema,1988]. Успехи СПЗ II поколения позволили значительно расширить рынок ЭС, который к концу 80-х оценивался в 300 млн долларов в год [Попов, 1991]. Тем не менее и эти системы были не свободны от недостатков, к важнейшим из которых можно отнести:
несовершенство интерфейса, в результате чего неподготовленные эксперты не способны овладеть системой и отторгают ее;
сложность настройки на конкретную профессиональную языковую среду;
необходимость разработки дорогостоящих лингвистических процессоров для анализа естественно-языковых сообщений и текстов.
Третье поколение СПЗ — KEATS [Eisenstadt et al., 1990], MACAO [Aussenac- Gilles, Natta, 1992], NEXPERT-OBJECT [NEXPERT-OBJECT, 1990] 一 перенесло акцент в проектировании с эксперта на инженера по знаниям [Гаврилова, 1988; Gruber, 1989]. Новые СПЗ — это программные средства для аналитика, более сложные, гибкие, а главное использующие графические возможности современных рабочих станций и достижения CASE-техйологии (Computer-Aided Software Engineering). Эти системы позволяют не задавать заранее интерпретационную модель, а формировать структуру БЗ динамически.
Существуют различные классификации СПЗ — по выразительности и мощности инструментальных средств [Попов, 1988]; по обобщенным характеристикам [Boose, 1990]; в рамках структурно-функционального подхода [Волков, Ломнев, 1989]; интегрированная классификация предложена в работе [Гаврилова, Червинская, 1992].
Учитывая новейшие тенденции в инженерии знании можно предложить следующую схему таксономии СПЗ, представленную на рис. 4.16.
Системы приобретения знаний
Однако и современные СПЗ не полностью лишены серьезных недостатков СПЗ I и II поколений, большая часть которых обусловлена отсутствием теоретической концепции проектирования БЗ. В результате эта область до настоящего времени справедливо считается скорее «искусством», чем наукой и основана на «ad hoc» технологии (то есть применительно к случаю).
Современное состояние автоматизированных систем приобретения знаний
Анализ современного состояния программных средств приобретения знаний и поддержки деятельности инженера по знаниям позволяет выявить две группы проблем, характерных для существующих СПЗ:
Методологические проблемы.
Технологические проблемы.
А. Методологические проблемы
Основная проблема, встающая перед разработчиками, — отсутствие теоретического базиса процесса извлечения и структурирования знаний — порождает дочерние более узкие вопросы и казусы на всех этапах создания интеллектуальных систем. Даже тщательно проработанная методология KADS, описанная в предыдущем параграфе, страдает громоздкостью и явной избыточностью. Ниже перечислены наиболее общие из возникающих проблем в последовательности, соответствующей стадиям жизненного цикла (см. рис. 2.4):
размытость критериев выбора подходящей задачи;
слабая проработанность теоретических аспектов процессов извлечения знаний (философские, лингвистические, психологические, педагогические, дидактические и другие аспекты), а также отсутствие обоснованной классификации методов извлечения знаний и разброс терминологии;
отсутствие единого теоретического базиса процедуры структурирования знаний;
жесткость моделей представления знаний, заставляющая разработчиков обеднять и урезать реальные знания экспертов;
несовершенство математического базиса моделей представления знаний (дескриптивный, а не конструктивный характер большинства имеющихся математических моделей);
эмпиричность процедуры выбора программного инструментария и процесса тестирования (отсутствие критериев, разрозненные классификации, etc.).
Б. Технологические проблемы
Большая часть технологических проблем является естественным следствием методологических и порождена ими. Наиболее серьезными из технологических проблем являются:
отсутствие концептуальной целостности и согласованности между отдельными приемами и методами инженерии знаний;
недостаток или отсутствие квалифицированных специалистов в области инженерии знаний;
отсутствие технико-экономических показателей оценки эффективности ЭС (в России);
несмотря на обилие методов извлечения знаний (фактически более 200 в обзоре [Boose, 1990]), практическая недоступность методических материалов по практике проведения сеансов извлечения знаний;
явная неполнота и недостаточность имеющихся методов структурирования знаний [Кук, Макдональд, 1986; Гаврилова, Червинская, 1992], отсутствие классификаций и рекомендаций по выбору подходящего метода;
несмотря на обилие рынка программных средств, недостаток промышленных систем поддержки разработки и их узкая направленность (зависимость от платформы, языка реализации, ограничений предметной области), разрыв между ЯПЗ и языками, встроенными в «оболочки» ЭС;
жесткость программных средств, их низкая адаптивность, отсутствие индивидуальной настройки на пользователя и предметную Область;
слабые графические возможности программных средств, недостаточный учет когнитивных й эргономических факторов;
сложность внедрения ЭС, обусловленная психологическими проблемами персонала и неприятия новой технологии решения задач.
4.6. Примеры методов и систем приобретения знаний
Данный параграф посвящен обзору некоторых наиболее известных методов и систем приобретения знаний, на основе переработки материалов из работ [Осипов, 1990; Молокова, 1992; Осипов, 1997].
Автоматизированное структурированное интервью
Впервые структурированное интервью применено при создании системы TEI- RESIAS [Davis, 1982] для формирования новых правил и новых понятий. Для этих целей в системе использованы следующие соображения: в случае неудачи в режиме консультации (или тестирования) система предлагает эксперту выделить причины неудачи. Контекст, полученный в результате этого, позволяет системе сформировать некоторые «ожидания», характеризующие содержание нового правила, которое будет вводиться экспертом для устранения неудачи.
Система ROGET [Bennet, 1985] — это первая попытка заменить инженера знаний программной системой на начальном этапе приобретения знаний. Эта система беседует с экспертом как инженер по знаниям, стремящийся понять, как концептуально могут быть организованы экспертные знания, необходимые для создания диагностической ЭС.
В системе MOLE [Eshelman, 1987] приобретение знаний осуществляется в два этапа: на первом этапе используется структурированное интервью и эксперту (или инженеру по знаниям) предлагается ввести список событий предметной области и определить связи между ними; на втором этапе выполняется контекстное приобретение знаний, как это сделано в системе TEIRESIAS.
Система состоит из двух частей: интерпретатора базы предметных знаний и подсистемы приобретения знаний. Последняя поддерживает как процесс первое начального заполнения БЗ, так и процесс отладки и уточнения БЗ.
Интерпретатор БЗ ориентирован на класс диагностических задач и осуществляет вывод решения путем сопоставления заранее определенного множества гипотез (о причине неисправности, о заболевании и т. д.) с совокупностью наблюдений (симптомов, показаний приборов и т. д.). Иными словами, интерпретатор системы MOLE реализует некоторый вариант метода эвристической классификации.
В базе знаний MOLE первоначально существуют знания о том, какие тильькогцИ- тивных структур необходимы для осуществления вывода и как распознать знания того или иного типа в информации, сообщаемой экспертом. MOLE запрашивает у эксперта список объектов, играющих роли гипотез и наблюдений. Эксперт, кроме того, должен указать, какие пары «наблюдение — гипотеза» и «гипотеза — гипотеза» ассоциативно связаны.
Результатом этого этапа извлечения знаний является сеть объектов. Затем MOLE пытается получить дополнительную инфермацию: о типе объекта (является объект наблюдаемым или выводимым); о природе ассоциативной связи (какой тип знаний лежит в основе ассоциации — объясняющие, предсказывающие или иные); о направлении ассоциативной связи, о численной оценке «силы» ассоциативной связи. Однако MOLE понимает, что эксперт не всегда может предоставить такую информацию. Поэтому на этом этапе MOLE использует стратегию ожиданий: она пытается вывести необходимую информацию из сообщений эксперта на основе своих ожиданий.
На этапе начального формирования базы знаний MOLE назначает численные веса ассоциативных связей по умолчанию на основе следующих посылок:
каждое наблюдение должно быть объяснено некоторой гипотезой;
только одна из гипотез, объясняющих данное наблюдение, является в каждом конкретном случае наиболее вероятной;
сумма оценок для связей данного наблюдения с объясняющими его гипотезами равна единице.
Тогда по умолчанию MOLE назначает для каждой связи данного наблюдения оценку, полученную как частное от деления единицы на число гипотез, объясняющих данное наблюдение. MOLE предполагает, что если эксперт сообщил несколько объяснений для одного и того же объекта, то, вероятно, он может сообщить и знания, позволяющие различать эти объяснения.
Система приобретения знаний SALT [Markus, 1987] создана в университете Carnegie Mellon. Система SALT — система приобретения знаний для задач конструирования. Система SALT разрабатывалась в предположении, что решение этой задачи осуществляется методом пошагового распространения ограничений.
Для решения задач конструирования методом пошагового распространения ограничений необходимы знания следующих типов:
процедуры установления значений параметров;
процедуры проверки ограничений;
процедуры коррекции значений параметров с указанием «цены» каждого корректирующего действия.
Важно, чтобы все эти знания составляли целостную и непротиворечивую БЗ.
Наибольшую трудность для эксперта представляет необходимость последовательно, шаг за шагом описать все свои действия при разработке проекта. Работая с системой SALT, эксперт избавлен от этой необходимости.
Исходя из того, как именно экспертные знания будут использоваться в ЭС при составлении конкретных проектов, SALT анализирует текущее состояние БЗ и предлагает эксперту-пользователю ввести или пересмотреть тот или иной фрагмент знаний. Диалог с пользователем в SALT ведется либо посредством вопросов-подсказок, либо посредством меню. Инициатива в диалоге принадлежит системе.
Система приобретения знаний OPAL [Musen, Fagan, et al., 1987] была создана в начале 80-х годов в Стэнфордском университете. Эта система обеспечивает формирование и наращивание базы знаний для ЭС ONCOCIN, дающей советы по лечению онкологических больных. Система приобретения знаний OPAL основана на детально проработанной модели медицинских знаний, используемых врачами-онкологами для рекомендации лечения.
Системой используется девять типов знаний:
схема лечения (порядок и длительность режимов лечения);
критерий выбора протокола;
химиотерапия (описание комбинаций лекарств, назначаемых в том или ином режиме, их дозировка);
радиотерапия (локализация и дозировка радиотерапии);
изменения в составе крови, требующие модификации дозировки;
негативные реакции на лечение, выявленные путем лабораторных исследований;
другие отрицательные последствия проводимого лечения, требующие модификации дозировки лекарств;
перерыв или прекращение лечения;
лабораторные исследования, необходимые для обнаружения токсичности лечения и для сохранения истории течения болезни.
Эти типы медицинских знаний связаны в иерархическую структуру.
Для ввода каждого типа знаний разработан специальный графический интерфейс, учитывающий то, как принято фиксировать соответствующие знания. Так, например, для записи схемы лечения онкологи используют диаграммы переходов с условиями на дугах. В системе OPAL ввод таких знаний осуществляется с помощью графического языка программирования. Схема лечения создается как программа на этом языке.
Схемы протоколов и заполненные формы транслируются системой OPAL во внутреннее представление БЗ ЭС ONCOCIN. Этот процесс осуществляется без участия пользователя. По схемам протоколов порождаются диаграммы переходов, называемые генераторами; по формам-бланкам порождаются правила продукций, присоединяемые к соответствующим состояниям в диаграмме.
Система KNACK создана в 1989 г. в университете Carnegie Mellon. Она представляет собой ориентированный на экспертов предметной области инструмент для создания ЭС, помогающих оценивать и улучшать различные виды проектов.
Единственными знаниями, изначально встроенными в систему KNACK, являются знания о процессе оценки проектов вообще, то есть независимо от конкретного содержания проектов. Все остальные знания приобретаются системой KNACK на основе диалога и анализа документов, называемых отчетами. Отчет описывает процесс оценки какого-либо конкретного проекта.,
Приобретение знаний, необходимых для оценки проектов определенного класса, система KNACK осуществляет в два этапа. Первый этап — это настройка на класс проектов. На этом этапе система KNACK с помощью эксперта создает предварительную модель. Расширенная с помощью специальных процедур модель предметной области автоматически транслируется в программу на языке OPS-5.
К методам структурированного интервью примыкают и использованные при построении системы МЕДИКС [Ларичев, Мечитов и др., 1989] процедуры экспертной классификации. Задача экспертной классификации формулируется в работе [Ларичев, Мечитов и др., 1989] для:
множества независимых свойств Р;
множества признаков Q;
множества Q^ возможных значений m-го признака;
множества А всех возможных состояний.
Эксперту (или группе экспертов) предлагается идентифицировать наличие свойств из множества Р и тем самым построить классификацию множества А = UK” такую, что состояние а О А относится к некоторому классу %, еслй, по мнению эксперта, это состояние обладает свойством POP. Повысить эффективность экспертной классификации в этом случае удается благодаря использованию априорно заданного отношения линейного порядка на множестве состояний.
Имитация консультаций
Этот метод реализован в системе АРИАДНА [Моргоев, 1988]. В основе этого метода —многократное решение экспертом проблемы классификации в режиме последовательной вопросно-ответной консультации «клиент — эксперт». При этом роль клиента моделируется всеми участниками работы, а эксперт выполняет функции, близкие к его профессиональной консультативной деятельности.
С появлением персональных компьютеров связано появление игр эксперта с компьютером [Андриенко Г., Андриенко Н., 1992]. В системе ЭСКИЗ реализован набор игр для приобретения знаний, являющихся той или иной модификацией принципа репертуарных решеток. Например, в игре «Регата» объектами, для которых эксперт должен указать различающие признаки, являются яхты. В ходе гонок яхты должны проходить в пролеты мостов; в один и тот же пролет проходят яхты, соответствующие сходным по какому-либо атрибуту объектам. Рассмотренные выше системы поддержки процессов приобретения знаний, как правило, ориентированы на отдельные фазы всего технологического цикла. В связи с вышесказанным интересно хотя бы кратко рассмотреть интегрированные средства поддержки определенных методологий.
Интегрированные среды приобретения знаний
Интегрированная среда приобретения знаний AQUINAS [Boose, Bradshaw, Schema, 1988] представляет собой набор программных средств для извлечения экспертных знаний различных типов различными методами. В состав AQUINAS входят:
система Dialog Manager для помощи новичкам в работе с AQUINAS;
система ETS для извлечения и анализа репертуарных решеток с последующим преобразованием их в базу продукционных правил;
средства конструирования различных иерархических структур знаний;
средства извлечения, представления и использования неточных знаний;
средства тестирования и коррекции БЗ;
средства, позволяющие эксперту оценивать конструкторы по наиболее подходящим шкалам;
средства работы с несколькими экспертами; •
средства автоматического пополнения и коррекции БЗ,
Dialog Manager представляет собой ЭС, специально созданную для того, чтобы консультировать эксперта о возможностях, представляемых AQUINAS, и руководить экспертом при работе с AQUINAS. Возможны три режима взаимодействия с Dialog Manager:
автоматический, при котором Dialog Manager полностью берет на себя руководство процессом извлечения знаний;
ассистирующий, при котором хотя эксперту и даются рекомендации относительно его дальнейших действий, но он может им не следовать;
режим наблюдения за действиями эксперта и сохранения истории.
Выбрав автоматический или ассистирующий режим, экспрет должен выбрать степень подробности подсказок и объяснений, даваемых системой («полностью», «на среднем уровне», «кратко»).
В БЗ Dialog Manager имеются эвристики, которые позволяют этой системе при накоплении экспертом достаточного опыта перейти от автоматического режима к ассистирующему. Dialog Manager информирует эксперта о переключении режимов. Работая в ассистирующем режиме, Dialog Manager оставляет за экспертом выбор деятельности, но на основе своих эвристик рекомендует наиболее подходящую. В частности, если Dialog Manager считает, что эксперту следует заняться анализом БЗ, то в рекомендации обычно указывается, какой именно аспект нуждается в анализе. Так, эксперту может быть рекомендовано обратиться либо к процедурам анализа сходства элементов (конструкторов), либо к процедурам кластеризации элементов (конструкторов), либо к разбиению исходной решетки на несколько иерархически связанных.
Интегрированная среда приобретения знаний KITTEN (Knowledge Initiation & transfer Tools for Experts and Novices) [Show, Woodward, 1988], подобно AQUINAS, основана на построении и анализе репертуарных решеток. Отличие KITTEN от AQUINAS заключается в том, что в KITTEN обеспечивается извлечение элементов и конструкторов из текстов, а кроме того, имеются процедуры, анализирующие примеры решения задач экспертом и генерирующие по ним продукционные правила. Продукционные правила, порождаемые из примеров и решеток, могут быть загружены в БЗ оболочки NEXPERT, с помощью которой проводится тестирование БЗ.
Завершая обзор прямых методов приобретения знаний, суммируем проблемы, которые этими методами не решаются:
эти методы не устраняют посредника между системой и экспертом;
автономное использование описанных методов не решает таких проблем инженерии знаний, как устранение «пробелов» в знаниях, выявление «глубинных», невербальных знаний; сохраняется большая «время-емкость» и субъективность интервью;
фаза приобретения знаний идеологически и теоретически не связывается со следующими фазами инженерии знаний.
Приобретение знаний из текстов
Как было указано в параграфе 4.3, даже ручные методы выявления знаний из текста крайне слабо разработаны. В тех же немногих случаях, когда применяются автоматизированные методики, речь, как правило, идет о методах лексико-семантического анализа, а также о моделях понимания текста.'
Наибольшую известность имеют модели понимания на лингвистическом уровне. Системы, основанные на них, состоят в большинстве случаев из двух частей:
первая — морфологический и синтаксический анализ;
вторая — семантический анализ, который использует результаты работы первой части, а также словарную или справочную информацию для построения формализованного образа текста.
Говоря о семантическом анализе текста, надо иметь в виду, что всякие отношения текста с его семантикой начинаются после того, как в нашем распоряжении оказывается некоторая модель действительности. Объектами этой модели, в частности, могут являться индивиды и отношения.
Таким образом, первая проблема, возникающая при попытках автоматического извлечения знаний из текста, — это выявление свойств элементов текста для соотнесения этих элементов с объектами модели. Крайне редко эти свойства присутствуют в тексте эксплицитно, то есть явно.
Вторая особенность существующих систем анализа текста — это, как правило, необходимость использования словаря предметной области для выполнения
морфологического анализа, выделения имен и словосочетаний и т. д. Однако требование Предварительного создания словаря предметной области одновременно сильно осложняет задачу и уменьшает степень универсальности получаемой системы.
Понимание текста на семантическом уровне предполагает выявление не только лингвистических, но и логических отношений между языковыми объектами [Апресян, 1974]. Среди подходов к пониманию текста на семантическом уровне следует выделить модели типа «смысл — текст», в частности, модель семантик предпочтения [Wilks, 1976], модель концептуальной зависимости [Хейес-Рот и др., 1987]. В модели «смысл — текст» [Мельчук, 1974] предлагается семантическое представление на основе семантического графа и описания коммуникативной структуры текста.
В системе KRITON [Diderich, Ruchman, May, 1987] анализ текста используется для выявления хорошо структурированных знаний из книг, документов,, описаний, инструкций. Основанный на контент-анализе метод протокольного анализа используется для выявления процедурных знаний. Он осуществляется в пять шагов.
Протокол делится на сегменты на основании пауз, которые делает эксперт в процессе записи.
Семантический анализ сегментов, формирование высказываний для каждого сегмента.
Из текста выделяются операторы и аргументы.
Делается попытка поиска по образцу в БЗ для обнаружения переменных в высказываниях (переменная вставляется в высказывание, если соответствующая ссылка в тексте не обнаружена).
Утверждения упорядочиваются в соответствии с их появлением в протоколе.
В системе ТАКТ (Tool for Acquisition of Knowledge from Text) [Kaplan, Berry-Rog- ghe, 1991] предполагается предварительная подготовка (разметка посредством введения явной скобочной структуры) предложений текста до начала работы текстового анализатора. В результате анализа выделяются объекты, процессы и отношения каузального характера.
Инструментарий прямого приобретения знаний SIMER + MIR
Программная система SIMER + MIR, разработанная в ИПС РАН под руководством Осипова Г. С. [Осипов, 1997], представляет собой совокупность программных средств для формирования модели и базы знаний предметной области. Система ориентирована преимущественно на области с неясной структурой объектов, с неполно описанным множеством свойств объектов и богатым набором связей различной «связывающей силы» между объектами.
Одна из особенностей системы состоит в том, что ее использование на заключительном этапе не предполагает участия специалистов-разработчиков экспертных систем. Это означает, что система SIMER + MIR представляет собой технологию создания систем, основанных на знаниях о предметной области, причем технологию, ориентированную на экспертов.
Архитектура. Система SIMER + MIR включает модуль прямого приобретения знаний SIMER, систему моделирования рассуждений типа аргументации MIR, программу адаптации системы MIR к базе знаний, сформированной с помощью SIMER + и программной среды поддержки базы знаний, над которой работают все названные модули. Конструкции базы знаний создаются и просматриваются с помощью языка инженера знаний FORTE, который включается в технологию в специальных случаях (рис. 4.17).
Рис. 4.17. Создание конструкции базы знаний с помощью языка FORTE
Представление и база знаний. Одним из наиболее распространенных видов экс- _ пертизы являются высказывания (сообщения) эксперта об объектах (событиях) предметной области. Эти высказывания имеют вид: < имя объекта > < имя отношения > < имя объекта >.
Для ряда областей — медицины, экологии, политики, социологии — можно выделить формы сообщений, показанные в табл. 4.6:
Таблица 4.6. Формы сообщений
Номер формы
Имя формы
Номер формы
Имя формы
а характерно для р
叫
При а нередко присутствует ₽
а наблюдается при р
包
а может наблюдаться при В
Фз
а отмечается при В
Ф.О
а обычно сопровождается В
Фд
а есть проявление р
При а как правило 0
仇
а есть признакр
При «обычно В
Фб
а сопровождает р
8,3
а иногда сопровождается 0
ф7
а нередко сопровождается р
6,"
а часто сопровождается р
Номер формы
ИмяНомерИмя
формыформыформы
8,5
а исключает ₽Ф20С а начинается р
а приводит к Р02$Р развивается при а
При а возникает ₽Ф22В может развиватьсяпри а
а может привести к рФ23р может начаться с а
а может развиваться в р
Этот список не является исчерпывающим, однако дает представление о тех когнитивных структурах, которые необходимо представлять и обрабатывать в базе знаний.
Каждая из этих форм может иметь различный смысл; уточнение смысла можно получить при рассмотрении «прямого» сообщения с «обращенным». Иными словами, если для некоторых фиксированных а или 0 справедливо сообщение формы Ф10, то необходимо попытаться установить, какое из сообщений ①〔一Ф23 справедливо при замене ос на В, В на а. Так, для сообщения «Гром наблюдается при грозе» справедливо «обращенное» сообщение «Гроза сопровождается громом», а для сообщения «Воспалительный процесс может наблюдаться при повышенной температуре» справедливо сообщение «Повышенная температура характерна для воспалительного процесса». Таким образом, смысл сообщений уточняется построением «конъюнкций» форм Ф{ — Ф23 Такие «конъюнкции» форм сообщений будут называться типами сообщений. Возможные типы сообщений приведены в табл. 4.7.
С каждым типом сообщения из табл. 4.7 связывается формальная конструкция базы знаний, то есть бинарное отношение на множестве объектов (событий). Эти конструкции можно проиллюстрировать следующим образом: если каждый объект (событие) представить в виде «двухмерного» множества, по первому измерению которого можно откладывать атрибуты этого объекта, а по второму — множества значений соответствующих атрибутов, то каждый объект представляется в виде фигуры:
АТР1 АТР 2 АТРЗ . . . АТРп
Твблица 4.7. Типы сообщений
ТипСообщение
Т$а есть проявление р, ир может сопровождать а
Т2а есть проявление р, и р сопровождается а
Т3а может увеличивать возможность р,ир увеличивает возможность а
Т4а может сопровождаться р, и р может быть проявлением а
Т5а сопровождается р, и р может быть проявлением а
Т8 а есть проявление р, и р есть проявление а
продолжение 少
Таблица 4.7. (продолжение)
Тип Сообщение
а может увеличивать возможность В, и В может увеличивать возможность а
а может протекать ср, ир может протекать с а
а увеличивает возможность р, и р увеличивать возможность а
а сопровождается В, и В может сопровождает а
а сопровождается В,精 В сопровождаться а
а исключает р,. и В исключает а
а приводит к В
а может привести к В
а увеличивает возможность развития В
а может увеличить возможность развития В
а исключает возможность развития В
Если считать множества всех атрибутов равновеликими, то можно рисовать прямоугольники.
Тогда типу сообщения Tt можно поставить в соответствие диаграмму (пересечение аир всюду далее заштриховано).
В качестве примера приведем интерпретации некоторых диаграмм. Так, диаграмму, соответствующую сообщению типа Т3, можно интерпретировать следующим образом: для всякого примера объекта В качестве примера приведем интерпретации некоторых диаграмм. Так, диаграмму, соответствующую сообщению типа Т3, можно интерпретировать следующим образом: для всякого примера объекта В найдутся такие примеры объекта а, в которых равны совпадающие имена и значения атрибутов.
Для остальных типов сообщений получим диаграммы, представленные в табл. 4.8.
Таблица 4.8. Диаграммы для различных типов сообщений
а
Для сообщения типа Т8: для всякого имени атрибута примера объекта а найдется совпадающее с ним имя атрибута из примера объекта В, и наоборот; при зтрм соответствующие значения атрибутов равны. Найдутся такие примеры объекта а, в которых равны совпадающие имена и значения атрибутов.
Каждой из изображенных диаграмм можно дать такую теоретйко-множествен- ную интерпретацию, связав с каждым из типов сообщений Т- некоторое бинарное отношение Rk примеров объектов (при k = i).
Способ представления с определенными так отношениями называется неоднородной семантической сетью.
В реализации базы знаний основными элементами структур данных являются элементы «вершина», «элемент кортежа», «атрибут», «цепь», «стрелка». Элемент «вершина» соответствует объекту (событию), он содержит имя, списки входных и выходных «стрелок» и список типа «элемент кортежа». Список «элементов кортежа» соответствует совокупности атрибутов события.
Для обеспечения простого способа определения указателя «вершины» существуют элементы типа «цепь». Элемент типа «цепь» содержит указатель на «вершину» и указатель на следующий элемент типа «цепь». Указатель на первый элемент списка «цепь» входит в описание элемента типа «атрибут». «Атрибут» характеризуется также именем, множеством значений и единицей измерения.
Отношения на множестве объектов реализованы в элементах типа «стрелка». Каждый такой элемент содержит имя, сорт, вес, тип веса, указатель на «вершину» и указатель на следующий элемент типа «стрелка». Отношения на двух объектах описываются парой элементов типа «стрелка», один из которых входит в список
входящих стрелок одного объекта, другой — в список входящих стрелок другого объекта.
Процедурная компонента системы содержит функции создания структур данных, поддержки корректности базы знаний, наследования свойств и ряд других функций. Для обеспечения поиска по именам элементов типа «вершина» и «атрибут» в системе реализовано В-дерево. Доступ ко всем элементам базы осуществляется через виртуальную память. Каждый элемент имеет внутренний идентификатор, по значению которого однозначно определяется его размещение в оперативной или внешней памяти. Для работы с объектами, отсутствующими в оперативной памяти, осуществляется их динамический перенос из внешней памяти в оперативную. Это позволяет системе работать на компьютере с ограниченным объемом оперативной памяти.,
Прямое приобретение знаний в системе SIMER
Для выявления структурных знаний о предметной области используются стратегии разбиения на ступени и репертуарных решеток. Подробнее о репертуарных решетках см. параграф 5.2.
Стратегия разбиения на ступени направлена на выявление структурных и классификационных свойств событий (понятий, объектов)- области и таксонометрической структуры событий предметной области.
Стратегия разбиения на ступени реализуется в одном из двух сценариев, который выбирается экспертом
«Имя -l.свойство».
«Множество имен — свойство».
Сценарий «Имя — свойство»
Вопрос системы об имени события.
Сообщение эксперта об имени события.
Вопрос системы об имени свойства.
Сообщение эксперта об имени свойства.
Вопрос системы о существовании множества значений свойства.
Ответ эксперта (Да/Нет).
В случае отрицательного ответа имя свойства воспринимается как имя события.
Если имя события, образованного на шаге 3, отсутствует в базе знаний, то это событие рассматривается как новое, и для него выполняются шаги 2-7.
Вопрос системы о типе множества значений свойства (непрерывноб/дис- кретное).
Ответ эксперта.
Вопрос системы о единице измерения свойства.
Сообщение эксперта о единице измерения.
Вопрос системы о множестве значений свойства.
Сообщения эксперта о множестве значений свойства.
В процессе выполнения шагов 2—6 создается глобальный объект «имя свойства» и область его значений. Совокупность таких объектов будем называть базисом свойств области.
Вопрос системы о подмножестве значений свойства, характерного для описываемого события.
Сообщение эксперта о подмножестве значений свойства.
В результате выполнения шага 7 один из элементов базиса свойств связывается с описываемым событием (с указанием подмножества области значений элемента базиса, характеризующего описываемое событие).
Сценарий «Множество имен — свойство»
При работе сценария шаг 1 многократно повторяется, а затем выполняются шаги 2—7 для каждого имени события.
Стратегия репертуарных решеток направлена на преодоление когнитивной защиты эксперта. Механизм преодоления основан на выявлении его личностных конструктов. Каждый конструкт описывается некоторой совокупностью шкал, а каждая шкала образуется оппозицией свойств.
Наиболее эффективный способ выявления противоположных свойств — предъявление эксперту триад семантически связанных событий с предложением назвать свойство, отличающей одно событие от двух других [Kelly, 1955]. На следующем шаге эксперту предлагается назвать противоположное свойство. Таким способом выявляются элементы множества личностных психологических конструктов конкретного эксперта.
С другой стороны, свойства, различающие события, — это те свойства, которые влияют на формирование решения. Так как при этом не ставится задача выявления когнитивной организации индивидуального сознания эксперта, то описанная процедура используется для формирования базиса свойств области, а не для построения личностных конструктов. Пополнение базиса свойств области осуществляется путем повторения этой процедуры с другими триадами. '
Пример 4.9
Например, эксперту в области представления знаний предъявляется триада понятий, описывающих способы представления: семантические сети, фреймы, системы продукций. Эксперту предлагается ответить на следующие вопросы:
Какой из указанных способов представления отличается от двух других?
системы продукций;
Какое свойство отличает системы продукций от семантических сетей и фреймов?
легкость описания динамики;
Назовите противоположное свойство свойству ^легкость описания динамики^?
трудность описания динамики;
Дайте имя свойству, имеющему значения ^легкость описания динамики» и «трудность описания динамики»?
возможность описания динамики.
В результате формируется шкала с именем «возможность описания динамики» и со значением «легкость описания динамики» для объекта «системы продукций»; «трудность описания динамики» для объектов «семантические сети» и «фреймы».
Предлагая эксперту аналогичные вопросы об отличии семантических сетей от систем продукций и фреймов, можно выявить и другие свойства базиса областй.
Еще один пример — выявление каузальных знаний о предметной области. К каузальным знаниям о предметной области в соответствии с работой [Поспелов, 1986] относятся:'
связи между следствиями и необходимыми и достаточными причинами;
связи между следствиями и достаточными причинами;
связи между следствиями и необходимыми co-причинами; связи между следствиями и возможными со-причинами.
Будем понимать каузальные знания несколько шире, включив в рассмотрение, кроме связей событий настоящего с будущим и событий прошлого с настоящим, и связи между событиями настоящего. В соответствии с этим отнесем к каузальным знаниям все типы сообщений из табл. 4.6.
Тогда задача выявления каузальных знаний сведется к установлению соответствия между множеством типов сообщений и множеством отношений Rt—R1P то есть к поиску отображения Т в R. Для поиска этого отображения используется стратегия выявления сходства [Осипов, 1989]. Она основана на выявлении в интерактивном режиме алгебраических свойств сообщений Т: (таких как симметричность —несимметричность, рефлексивность — иррефлексивность и других) и появлении на основании этого гипотез о принадлежности сообщений тем или иным отношениям Rk (именно эти свойства оказываются нужными при работе механизма рассуждений).
Пример 4.10
Например, относительно двух событий: «рост заработной платы» и «повышение уровня жизни» эксперт сообщил, что «рост заработной платы» обычно сопровождается «повышением уровня жизни». Тогда возникают вопросы:
повышение уровня жизни всегда сопровождается ростом заработной платы?
повышение уровня жизни обычно сопровождается ростом заработной платы?
повышение уровня жизни может сопровождаться ростом заработной платы?
Ответ эксперта а) ®дет свидетельствовать о том, что исходное сообщёнйе относится к типу Т2 табл. 4.6; ответ в) — исходное сообщение относится к типу Т10 той же таблицы. Далее появляются гипотезы о том, что сообщение эксперта интерпретируется отношением R2 или R10 в зависимости от ответа а) или в). Повышение степени достоверности такой гипотезы возможно при использовании стратегии подтверждения сходства [Осипов, 1989].
Стратегия подтверждения сходства является комбинированной, основанной на взаимодействии стратегий разбиения на ступени и выявления сходства, а также на анализе свойств событий (если они определены).
Например, в результате работы стратегии выявления сходства установлена принадлежность предыдущего примера отношению R2. На основании определения отношения R2 для всякого свойства первого события найдется единственное свойство второго события, и наоборот, так что область значения свойства первого события является подобластью области значений соответствующего свойства второго события. В случае выполнения этого условия гипотеза о принадлежности предыдущего примера отношению R2 считается достоверным утверждением, в противном случае запускается стратегия разбиения на ступени с целью выявления новых свойств событий, для которых было бы верно это условие. Если, несмотря на это, условие достоверности не выполняется, то статус гипотезы сохраняется, однако в базе знаний системы появляется информация о некорректности соответствующей связи между событиями. Эта информация ограничивает возможность использования построенной связи, например, с точки зрения механизма наследования свойств. При работе стратегий выявления и подтверждения сходства сценарий работы называется системой.
Моделирование рассуждений в системе MIR
Введем следующие обозначения:
О — опрос признаков из множества S;
П — порождение множества гипотез Г;
И — исключение множества гипотез Г.
Элементы данных типа《стрелка», соответствующие отношению R12, будем называть отрицательными связями, остальные — положительными.
Работа системы MIR начинается с работы модуля О, затем модуль П строит множество гипотез Г на основе анализа положительных связей ScF для подтвержденных признаков S. Множество гипотез Г используется модулем О для порождения нового множества признаков S1( связанных с гипотезами из Г положительными связями, и осуществления их тестирования. К подтвержденным признакам из St применяется модуль П для порождения нового множества гипотез「「Выполняются операции Г: = F и I\, S: = S и S「Этот процесс продолжается итеративно до стабилизации множества S н F. Затем выполняется модуль И исключения гипотез из Г на основе анализа отрицательных связей для подтверждения симптомов и анализа положительных связей для обусловленных признаков, то есть таких не-
подтвержденных признаков, отсутствие которых имеет большее значение для принятия решения, чем их присутствие.
Если в результате выполнения модуля И во множестве гипотез осталось более одной гипотезы, то выполняется поиск дифференциальных признаков для подмножеств множества гипотез (дифференциальным признаком для некоторого множества гипотез называется значение свойства, характерное для одной гипотезы из множества и нехарактерное для других, или событие, связанное положительной связью с одной гипотезой из множества и не связанное таковой с другими). В результате этого процесса происходит исключение соответствующих гипотез. При необходимости процедура повторяется для оставшегося множества гипотез до его стабилизации.
После выполнения еще нескольких модулей осуществляется анализ полученного множества гипотез с целью поиска его минимального подмножества, связанного положительными связями со всеми подтвержденными признаками и тем самым объясняющего их. Это последнее множество и считается окончательным результатом.
Новые тенденции и прикладные аспекты инженерии знаний
Латентные структуры знаний и психосемантика
Метод репертуарных решеток'
Управление знаниями
Визуальное проектирование баз знаний как инструмент познания
Проектирование гипермедиа БД и адаптивных обучающих систем
Латентные структуры знаний
и психосемантика
Большинство систем приобретения знаний (обзор в п. 4.5) облегчают сложный и трудоемкий процесс формирования баз знаний и реализуют прямой диалог с экспертом. Однако выявляемые таким образом структуры знаний часто отражают лишь поверхностную составляющую знаний эксперта, не затрагивая их глубинной структуры. Этим же недостатком обладает большинство методов непосредственного извлечения знаний (параграфы 4.1.-4.3).
Для извлечения глубинных пластов экспертного знания можно воспользоваться методами психосемантики — науки, возникшей на стыке когнитивной психологии, психолингвистики, психологии восприятия и исследований индивидуального сознания. Психосемантика исследует структуры сознания через моделирование индивидуальной системы знаний [Петренко, 1988] и выявление тех категориальных структур сознания, которые могут не осознаваться (латентные имплицитные или скрытые) [Петренко, 1983; Терехина, 1988; Шмелев, 1983].
Семантические пространства и психологическое шкалирование
Основным методом экспериментальной психосемантики является метод реконструкции субъективных семантических пространств. Здесь психосемантика тесно сплетается с психолингвистикой и лингвистической семантикой — с методологией выявления значений слов, лексикографией, «падежной грамматикой» и структурными исследованиями {Апресян, 1977; Мельчук, 1974; Соссюр, 1977; Филлмор, 1983; Щерба, 1974]. Однако лингвистические методы в основном направлены на анализ текстов, отчужденных от субъекта, от его мотивов и замыслов.
Психолингвистические методы обращаются непосредственно к испытуемому. Большинство из них связано с различными формами субъективного шкалирования. Перед испытуемым ставится задача оценить «сходство знаний» с помощью некоторой градуированной шкалы, например от 0 до 5 или от 0 до 9. В этом случае исследователь получает в руки численно представленные стандартизированные данные; легко поддающиеся статистической обработке.
Психосемантика — как одно из молодых направлений современной психологии [Петренко, 1988; Шмелев, 1983] — сразу была оценена специалистами в области искусственного интеллекта как перспективный инструмент, позволяющий реконструировать семантическое пространство памяти как психологическую модель глубинной структуры знаний эксперта. Уже первые приложения психосемантики в ИИ в середине 80-х годов позволили получить достаточно наглядные результаты. В психологии семантические пространства выступают как модель категориальной структуры индивидуального сознания. При концептуальном анализе знаний структуру семантического пространства эксперта можно считать основой для формирования поля знаний. При этом отдельные параметры семантического пространства соответствуют различным компонентам поля (размерность пространства соотносится со сложностью поля, выделенные понятийные структуры с метапонятиями, содержательные связи между понятиями-стимулами —это суть отношения и т. д.).
Легче всего познакомиться с экспериментальной психосемантикой на примере, связанном с выявлением структуры и размерности семантического пространства знаний из некоторой предметной области [Петренко, 1988].
В основе построения семантических пространств, как правило, лежит статистическая процедура (например, факторный анализ [Аверкин, Батыршин, Блишун и др., 1986], многомерное шкалирование [Тиори, Фрай( 1985] или кластерный анализ [Дюран, Оделл, 1977]), позволяющая группировать ряд отдельных признаков описания в более емкие категории-факторы. Говоря на языке поля знаний, это — построение концептов более высокого уровня абстракции. При геометрической интерпретации семантического пространства значение отдельного признака отображается как точка или вектор с заданными координатами внутри n-мерного пространства, координатами которого выступают выделенные факто-
ры. Построение семантического пространства, таким образом, включает переход к описанию предметной области на более высоком уровне абстракции, то есть переход от языка, содержащего большой алфавит признаков описания, к более емкому языку концептуализации, содержащему меньшее число концептов и выступающему своеобразным метаязыком по отношению к первому.
В з^исимости от опыта и профессиональной компетентности испытуемых размерность пространства и расположение в ней первичных понятий может существенно варьироваться. Эта особенность семантических пространств может быть использована на стадии контроля в процессах обучения, при тестировании экспериментов и пользователей.
Пример 5.1
Так, для проверки знаний и понимания английского языка в работе [Терехина, 1988] были взяты десять наиболее распространенных предлогов, достаточно трудно переводимых. На экране дисплея испытуемому предъявлялась пара предлогов и спрашивалось, часто ли у него вызывает затруднения выбор одного из этих предлогов. Степень затруднения оценивалась в баллах от 1 до 9. На этих данных методами многомерного шкалирования была построена структура сложности употребления английских предлогов с точки зрения носителя русского языка. Эта модель существенно зависит от уровня знаний. Так, модель новичка не представляет организованной структуры. У людей, имеющих определенные навыки, проявилась некоторая структурированность семантического пространства, в нем отчетливо обозначились пары и тройки сходных предлогов.
Рис» 5.1. Семантическое пространство близости английских предлогов
Наиболее четкая и связная структура приведена на рис. 5.1. По ней можно объяснить особенности дифференциации предлогов в английском языке. Основа структуры представляется в виде окружности, близкие точки на которой соответствуют трудно дифференцируемым предлогам. Структура опирается на две ортогональные оси. Ось абсцисс соответствует предлогам направления движения, а ось ординат — предлогам цели — средства.
На основании получаемых методами психосемантики моделей^ можно проводить контроль знаний. При анализе индивидуальных семантических пространств выявляются вопросы, которые не усвоены и не уложились в систему. Контроль структуры знаний проводится на основе сопоставления семантических пространств хороших специалистов и новичков (студентов, слушателей, молодых специалистов). Степень согласованности семантических пространств (их размерности, признаки и конфигурации понятий) будет определять уровень знаний новичка.
Однако здесь необходимо учесть, что семантические пространства двух квалифицированных специалистов могут быть разными, так как содержат индивидуальные различия восприятия, отражающие опыт и характер деятельности человека. Поэтому не всегда можно формально сравнить семантические пространства эксперта и новичка, следует предварительно изучить семантические Пространства нескольких специалистов, а затем уж производить сравнение.
В работе [Кук, Макдональд, 1986] описан подобный эксперимент. Были получены когнитивные структуры знаний опытного летчика-истребителя и пилота-новичка, с использованием двух методов: многомерного шкалирования (алгоритм MDS — Alscal) и сетевого шкалирования со взвешенными связями (алгоритм Pathfinder). Оба алгоритма основаны на использовании оценок психологической близости. Опытный пилот и пилот-новичок оценивали все возможные пар- н?яе сочетания 30 связанных с полетом понятий, приписывая числа от 0 до 9 каждой паре, где 0 обозначал самую слабую степень связи между понятиями, а 9 — самую сильную. Эти оценки затем обрабатывались с применением обоих алгоритмов шкалирования.
В соответствии с алгоритмами MDS каждый концепт, выражающий некоторое понятие, помещается в к-мерное пространство таким образом, что расстояние между точками отражает психологическую близость соответствующих концептов. Алгоритм Pathfinder строит семантическую сеть [Schvaneveldt, Durso, Dearholt, 1985]. Дуги могут быть либо ориентированными (несимметричное отношение), либо неориентированными (симметричное отношение). Оба метода обеспечивают сжатия больших объемов данных (в форме попарных оценок) к меньшему набору параметров; однако нацелены они на выявление разных свойств исследуемых структур. Если в алгоритме Pathfinder центром внимания являются локальные отношения между концептами, то алгоритм MDS обеспечивает более широкое понимание свойств метризуемого пространства концептов.
Результирующие когнитивные структуры оказались близкими для летчиков-истребителей с одинаковым уровнем опыта, но были различными для разных групп испытуемых. Авторы экспериментов обнаружили, что по когнитивной структуре, характерной для летчика-истребителя, можно установить, новичок он или опытный пилот. Наконец, проведенный ими же анализ когнитивных структур выявил наличие концептов и отношений, общих для представлении опытного специалиста и новичка, и, кроме того, ряд концептов и отношений, которые появились
только в одном из представлений. Прямым развитием рассмотренной работы стала экспертная система управления воздушным боем ACES [Goldsmith, Schvane- Veldt, 1985].
Аналогичное исследование механизмов накопления опыта было проведено в области программирования на ЭВМ [Cooke, 1985]. С помощью методов шкалирования было показано, что один из аспектов программистского опыта включает в себя организацию знаний соответственно замыслу программы, или семантике, а не в соответствии с синтаксисом.
Пример 5.2
Сетевое представление абстрактных понятий программирования на основе оценок связности концептов у программистов показано на рис. 5.2. Эксперимент показал, что всех программистов на основе анализа структуры семантического пространства можно разбить на три группы: новички, неопытные специалисты среднего уровня, опытные специалисты. Это заключение совпадает с результатами, полученными в работе [Гаврилова, 1984]. Кроме того, исследовалась эволюция когнитивной структуры программиста по мере его продвижения от иовичка до опытного специалиста.
Рис. 5.2. Ассоциативная сеть структуры знаний эксперта-программиста
Интерпретация выявленных отношений (связей) между понятиями требует дополнительных усилий от коллектива разработчиков ЭС. Так, например, означивание дуг на рис. 5.2. потребовало дополнительного эксперимента, участникам которого была предложена пара понятий и поставлена задача дать словесное описание связи между понятиями пары. Результаты представлены в табл. 5.1. Таким образом, ассоциативная сеть на рис. 5.2 может быть превращена в семантическую.
Таблица 5.1. Описание связм между понятиями
Связанные пары понятий
Отношение между связанной парой понятий
Подпрограмма — программа Симаольные данные — выход Параметр — программа Программа — выход Сортировка — поиск Численные данные — параметр Функция — оператор Функция — программа Отладка — программа Выход — численные данные Массив —символьные данные Функция — подпрограмма / Присваивание значений — параметр Массиа — глобальная перемена Массив — численные данные Повторение — сортировка Программа — алгоритм Сортировка—алгоритм Сортировка — численные данные Присваивание — оператор
Есть часть Естьтип Используется Производит Включает в себя Может быть Есть
Естьчасть Подвергается Состоит из
Может состоять из Есть
Используется для Может быть Может состоять из Естьчасть
Есть выполнение Есть Делается на Есть
Все упомянутые выше методы (включая кластерный анализ) можно отнести к методам психологического шкалирования. Их основу составляют алгоритмы преобразования сложных структур данных в более понятную форму, которая предполагается психологически содержательной. Результирующее представление зависит от метода:
кластерный анализ порождает древовидную структуру [Дюран, Оделл, 1977];
многомерное шкалирование и факторный анализ — пространственную [Окунь, 1974; Терехина, 1986];
алгоритм MDS — сетевую [Кук, Макдональд, 1986];
репертуарные решетки (см. параграф 5.2 и работу [Франселла, Баннистер, 1987]) порождают конструкты или метаизмерения [Kintsch, 1974].
Формальная методология психосемантического шкалирования позволяет частично автоматизировать процесс структурирования знаний и получать «когнитивный разрез» его представлений о предметной области. Методология шкалирования позволяет выявлять структуры знания косвенным путем при получении ответов от экспертов на довольно простые вопросы (например, «насколько близки понятия X] и Х2» вместо «скажите, какова связь между Х【и Х2 как они влияют друг на друга»).
Почти все эксперименты позволили выявить одну закономерность. Размерность семантического пространства с повышением уровня профессионализма уменьшается. Этот вывод согласуется с известными положениями когнитивной психологии о том, что процесс познания сопровождается обобщением.
Построение семантического пространства обычно включает три последовательных шага [Петренко, 1983].
Выбор и применение соответствующего метода оценки семантического сходства. Этот шаг включает в себя эксперимент с испытуемыми, которым предлагается оценить общность предъявляемых стимульных признаков на некоторой шкале.
Построение структуры семантического пространства на основе математического анализа полученной матрицы сходства. При этом происходит уменьшение числа исследуемых понятий за счет обобщения и получения генерализованных осей.
Идентификацию, интерпретацию выделенных факторных структур, кластеров или групп объектов, осей и т. д. На этом шаге необходимо найти смысловые эквиваленты, языковые «ярлыки» для выделенных структур. Здесь большое значение приобретает лингвистическое чутье и профессионализм специалиста, проводящего исследование, и экспертов-испытуемых. Часто к интерпретации привлекают группу экспертов.
Методы многомерного шкалирования
В дальнейшем развитие методов психосемантики шло по линии разработки удобных пакетов прикладных программ, основанных на методах многомерного шкалирования (МШ), факторного анализа, а также специализированных методов (статистической) обработки репертуарных решеток [Франселла, Баннистер, 1987], Примерами пакетов такого типа являются системы KELLY [Похилько, Страхов, 1990], MADONNA [Терехина, 1988], MEDIS [Алексеева, Воинов и др., 1989J. С другой стороны, специфика ряда конкретных приложений, прежде всего — в инженерии знаний, требовала также развития иных (не численных) методов обработки психосемантических данных, использующих — в той или иной форме — парадигму логического вывода на знаниях. Ярким примером этого направления служит система AQUINAS [Boose et al., 1989; Boose, 1990]. Однако анализ практического применения систем обоих типов к задачам инженерии знаний приводит к выводу о несовершенстве имеющихся методик и необходимости их развития в соответствии с современными требованиями инженерии знаний. Наибольшие перспективы в этой области, по-видимому, у методов многомерного шкалирования).
Многомерное шкалирование (МШ) сегодня — это математический инструментарий, предназначенный для обработки данных о попарных сходствах, связях или отношениях между анализируемыми объектами с целью представления этих объектов в виде точек некоторого координатного пространства. МШ представляет собой один из разделов прикладной статистики, научной дисциплины, раз-
рабатывающей и систематизирующей понятия, приемы, математические методы и модели, предназначенные для сбора, стандартной записи, систематизации и обработки статистических данных с целью их лаконичного представления, интерпретации и получения научных и практических выводов.
Традиционно МШ используется для решения трех типов задач:
Поиск и интерпретация латентных (то есть скрытых, непосредственно не наблюдаемых) переменных, объясняющих заданную структуру попарных расстояний (связей, близостей).
Верификация геометрической конфигурации системы анализируемых объектов в координатном пространстве латентных переменных.
Сжатие исходного массива данных с минимальными потерями в их информативности.
Независимо от задачи МШ всегда используется как инструмент наглядного представления (визуализации) исходных данных. Mill широко применяется в исследованиях по антропологии, педагогике, психологии, экономике, социологии [Дэйвисон, 1988].、
В основе данного подхода лежит интерактивная процедура субъективного шкалирования, когда испытуемому (то есть эксперту) предлагается оценить сходство между различными элементами П с помощью некоторой градуированной шкалы (например, от 0 до 9, или от -2 до +2). После такой процедуры аналитик располагает численно представленными стандартизованными данными, поддающимися обработке существующими пакетами прикладных программ, реализующими различные алгоритмы формирования концептов более высокого уровня абстракции и строящими геометрическую интерпретацию семантического пространства в евклидовой системе координат..
Основной тип данных в МШ — меры близости между двумя объектами (i, j)— dij. Если мера близости такова, что самые большие значения dij соответствуют парам наиболее похожих объектов, то dij — мера сходства, если, наоборот, наименее похожим, то dij — мера различия.
МШ использует дистанционную модель различия, используя понятие расстояния в геометрии как аналогию сходства и различия понятий (рис. 5.3).
Для того чтобы функция d, определенная на парах объектов (а, Ь), была евклидовым расстоянием, она должна удовлетворять следующим Четырем аксиомам: d(a,b) > О, d(a,a) = О, d(a,b) - d(b,a), d(a,b)+d(b,c) > d(a,c).
Тогда, согласно обычной формуле евклидова расстояния, мера различия двух объектов i и j со значениями признака к у объектов i и j соответственно х н X : ik jk
斗=4广 £(%f)
Дистанционная модель была многократно проверена в социологии и психологии [Monahan, Lockhead, 1977; Петренко, 1988; Шмелев, 1983], что дает возможность оценить ее пригодность для использования.
В большинстве работ по МШ используется матричная алгебра. Геометрическая интерпретация позволяет представить абстрактные понятия матричной алгебры в конкретной графической форме. Для облегчения интерпретации решения задачи МШ к первоначально оцененной матрице координат стимулов X применяется вращение.
Среди множества алгоритмов МШ широко используются различные модификации метрических методов Торгерсона [Torgerson, 1958], а также неметрические модели, например Крускала [Kruskal, 1964].
При сравнении методов МШ с другими методами анализа, теоретически применимыми в инженерии знаний (иерархический кластерный анализ [Дюран, Оделл, 1977] или факторный анализ [Иберла, 1980]), МШ выигрывает за счет возможности дать наглядное количественное координатное представление, зачастую более простое и поэтому легче интерпретируемое экспертами.
Использование метафор для выявления «скрытых» структур знаний
Несмотря на кажущуюся близость задач, инженерия знаний и психосемантика существенно отличаются как в теоретических основаниях, на которых они базируются, так и в практических методиках. Но главное отличие заключается в том, что инженерия знаний направлена на выявление — в конечном итоге — модели рассуждений [Поспелов, 1989], динамической или операциональной составляющей ментального пространства (или функциональной структуры поля знаний S), в то время как психосемантика, пытаясь представить ментальное пространство в виде евклидова пространства, позволяет делать видимой статическую структуру взаимного «расположения» объектов в памяти, в виде проекций скоплений объектов (концептуальная структура Sk).
Помимо этого следует отметить ряд недостатков методов психосемантики с точки зрения практической инженерии знаний.「
Поскольку в основе психосемантического эксперимента лежит процедура измерения субъективных расстояний между предъявляемыми стимулами, то и результаты обработки такого эксперимента, как правило, используют геометрическую интерпретацию — евклидово пространство небольшого числа измерений (чаще всего — двумерное). Такое сильное упрощение модели памяти может привести к неадекватным базам знаний.
Естественность иерархии как глобальной модели понятийных структур сознания служит методологической базой ОСП. Кроме того, и в естественном языке понятия явно тяготеют к различным уровням обобщения. Однако в большинстве прикладных пакетов не предусмотрено разбиение семантического пространства на уровни, отражающие различные степени общности понятий, включенных в экспериментальный план. В результате получаемые кластеры понятий, пространственно изолированные в геометрической модели шкалирования, носят таксономически неоднородный характер и трудно поддаются интерпретации.
Единственные отношения, выявляемые процедурами психосемантики, — это «далеко — близко» по некоторой шкале. Для проектирования и построения баз знаний выявление отношений является на порядок более сложной задачей» чем выявление понятий. Поэтому семантические пространства, полученные в результате шкалирования и кластеризации, должны быть подвергнуты дальнейшей обработке на предмет определения отношений, особенно функциональных и каузальных.
Нельзя ожидать, что эти противоречия могут быть разрешены быстро и безболезненно, в силу того, что математический аппарат, положенный в основу всех пакетов прикладных программ по психосемантике, имеет определенные границы применимости. Однако одним из возможных путей сближения без нарушения чистоты процедуры видится расширение пространства конкретных объектов- стимулов предметной области за счет добавления некоторых абстрактных объектов из мира метафор, которые заставят эксперта-испытуемого выйти за рамки объективности в мир субъективных представлений, которые зачастую в большей степени влияют на его рассуждения и модель принятия решений, чем традиционные правильные взгляды.
Ниже описан подход, разработанный совместно с Воиновым А. В. [Voinov, Gavrilova, 1993; Воинов, Гаврилова, 1994] и позволяющий вывести эксперта за границы традиционной установки и тем самым выявить субъективные, часто скрываемые или скрытые структуры его профессионального опыта.
Большинство результатов, полученных в когнитивной психологии, подтверждают, что у человека (в том числе и у эксперта) формальные знания о мире (в частности, о той предметной области, где он является экспертом) и его личный поведенческий опыт не могут существовать изолированно, они образуют целостную, стабильную структуру. В западной литературе за этой структурой закрепилось
название «модель (или картина) мира». Принципиальным свойством модели мира является то, что ее структура не дана человеку — ее носителю — в интрос- пекции, она работает на существенно латентном, неосознаваемом уровне, зачастую вообще ничем не отмеченном (в символической форме) на поверхности вербального сознания.
Изучение модели мира человека является задачей когнитивной психологии, психосемантики и прочих родственных дисциплин. Что же касается эксперта как объекта пристального внимания инженерии знаний, то здесь одна из проблем, в решении которых может помочь психосемантика, связана с необходимостью (и неизбежностью) отделения опыта эксперта от его объективных знаний в процессе формализации и структурирования последних для экспертных систем.
Строго говоря, невозможно указать ту грань, за которой знания (которые можно формализовать и извлечь) переходят в опыт (то есть в то, что остается уникальной, неотчуждаемой собственностью эксперта). Более корректно, по-видимому, говорить о неком континууме, детальность градации которого может зависеть от конкретной задачи.
Например, можно выделить следующие три уровня:
Знания, предназначенные для изложения или доказательства (аргументации), например, на междисциплинарном уровне или для популярной лекции (вербальные).
Знания, которые применяются в реальной практике, — знания еще вербализуемые, но уже нерефлектируемые.
Собственно опыт, то есть знания, лежащие на наиболее глубоком, неосознаваемом уровне, отвечающие за те решения эксперта, которые внешне (в том числе и для него самого) выглядят как мгновенное озарение или «инсайт», интуитивный творческий акт (интуитивные).
Классическая методика психосемантического эксперимента также не позволяет выделить из его результатов интуитивный уровень. Это видно из самой тестовой процедуры. Просят ли испытуемого оценить сходство-различие стимулов напрямую или же предлагается оценить их соответствие некоторым «конструктам» — в любом случае испытуемый вольно или невольно настраивается на необходимость доказательности своего ответа в терминах объективных свойств стимулов.
Большинство методов извлечения знаний ориентировано на верхние — вербальные или вербализируемые — уровни знания. Необходим косвенный метод, ориентированный на выявление скрытых предпочтений практического опыта или операциональных составляющих опыта. Таким методом может служить метафорический подход. Метафорический подход, впервые описанный с чисто лингвистических позиций [Black, 1962; Ricoeur, 1975], а также с позиций практической психологии [Гордон, 1987], был видоизменен для нужд инженерии знаний. Например, в экспериментах по объективному сравнению языков программирования между собой были также использованы два метафорических《мира》一мир животных и мир транспорта.
В рамках этого подхода удалось экспериментально доказать следующие тезисы:
метафора работает как фильтр, выделяющий, посредством подбора адекватного объекта сравнения, определенные свойства основного объекта (то есть того, о котором собственно и идет речь). Эти выделяемые свойства имеют существенно операциональный характер, проявляющийся на уровне полиморфизма методов, так как метафора по самой своей сути исключает возможность сравнения объектов по их внутренним, объективным свойствам;
метафора имеет целью скорее не сообщить что-либо о данном объекте (то есть ответить на вопрос «что это?»), а призвать к определенному отношению к нему, указать на некую парадигму, говорящую о том, как следует вести себя по отношению к данному объекту;
субъективному сдвигу в отношении к основному объекту (например, к Языку программирования) сопутствует также и сдвиг в восприятии объекта сравнения (например, к конкретному животному) в силу вышеуказанной специфики фильтруемых метафорой свойств. Поэтому объект сравнения выступает в метафоре не по своему прямому назначению, то есть это не просто «лев» как представитель фауны, а воплощение силы, ловкости и могущества;
в том случае, когда метафора сопоставляет не единичные объекты, а некоторые их множества, в которых объекты связаны осмысленными отношениями, пространство объектов сравнения должно быть изоморфно пространству основных объектов по системе указанных отношений.
На эти тезисы опирается предлагаемая модификация классической методики сопоставления объектов, применяемой, например, в оценочной решетке Келли [Kelly, 1955]. При проведении эксперимента была использована система MEDIS [Алексеева, Воинов и др., 1989; Воинов, Гаврилова, 1994]. Эта система позволяет планировать, проводить и обрабатывать данные произвольного психосемантического эксперимента. Помимо классической парадигмы многомерного шкалирования, система MEDIS включает в себя некоторые возможности теста репертуарных решеток. В частности, она позволяет работать со стимулами двух сортов — так называемыми элементами и конструктами (с единственным исключением: конструкты в системе MEDIS — в отличие от классического теста репертуарных решеток — монополярны). Естественно, выбор базового инструментария существенно повлиял на описываемую экспериментальную реализацию методики.
В качестве предметной области был выбран мир языков программирования. В пространство базовых понятий (выступавших в методике в качестве элементов) было включено несколько более или менее популярных языков программирования, принадлежащих к следующим классам:
языки искусственного интеллекта;
традиционные процедурные языки
так называемые «макроязыки», обычно реализуемые в оболочках операционных систем, текстовых редакторах и т. д.
В качестве метафорических пространств выбраны мир животных и мир транспорта. Объекты этих миров выступали в методике в качестве (монополярных) конструктов. На первом этапе эксперимента каждой из респондентов выпол-
нял классическое попарное субъективное шкалирование элементов. На вопрос, «Есть ли что-либо общее между данными языками программирования», рес^ понденту предлагалось ответить одной из следующих альтернатив.
ДА!
1
Объекты очень близки
Да -
2
Между объектами есть что-то общее
???
3
Неопределенный ответ
Нет
4
Объекты различны
НЕТ!
5
Объекты совершенно несовместимы
Данные этого этапа (отдельно для каждого из респондентов) подвергались обработке методами многомерного шкалирования (см. выше) и представлены на рис. 5.4.
Результатом такой обработки является некоторое евклидово пространство небольшого числа измерений, в котором исходные оценки различий представлены геометрическими расстояниями между точками. Чем лучше эти расстояния соответствуют исходным различиям, тем более адекватным считается результат обработки в целом. При этом буквальное совпадение расстояний и числовых кодов ответов, естественно, не является обязательным (хотя оно и возможно в некоторых модельных экспериментах). Более важным оказывается ранговое соответствие расстояний исходным оценкам. А именно, в идеальном случае все расстояния между точками, соответствующие (например) ответам «ДА!» в исходных данных, должны бцть меньше (хотя бы и на доли процента масштаба шкалы) всех расстояний, соответствующих ответам «Да», и т, д.
В реальном эксперименте идеальное соответствие невозможно в принципе, так как целью обработки является сжатие, сокращение размерности данных, что ограничивает число координатных осей результирующего пространства. Тем не менее алгоритм шкалирования пытается — насколько это возможно — минимизировать ранговое несоответствие модели исходным данным.
Геометрическую модель шкалирования можно интерпретировать по-разному:
во-первых, можно выяснить смысл координатных осей результирующего пространства. Эти оси по сути своей аналогичны факторам в факторном анализе, что позволяет использовать соответствующую парадигму интерпретации, детально разработанную в экспериментальной психологии. В данном случае можно считать, что выявленные факторы играют роль базовых категорий, или базовых (латентных) конструктов, с помощью которых респондент (как правило, неосознанно) упорядочивает свою картину мира (точнее, ее проекцию на данную предметную область);
во-вторых, можно проанализировать компактные группировки стимулов в этом пространстве, отождествив Их с некоторыми существенными (хотя и скрытыми от интроспекции) таксономическими единицами, реально присутствующими в модели мира эксперта. Существенно, что делается попытка интерпретировать кластеры; полученные по модели шкалирования, а не по исходным числовым кодам различий. Это вытекает из предположения, что
информация, не воспроизводимая главными (наиболее нагруженными) факторами, является «шумом», сопутствующим любому (а особенно психологи^ ческому) эксперименту.
Рисунок 5.4 отражает традиционную классификацию языков программирования и легко поддается вербальной интерпретации. Например, на рисунке грри- зонтальная ось соответствует делению языков программирования на «языки искусственного интеллекта» (левый полюс шкалы) и «традиционные языки программирования» (правый полюс). Вертикальная ось отражает классификацию языков программирования в зависимости от уровня — языки высокого уровня (нижний полюс) и языки низкого уровня или системные языки (верхний полюс).
• >
• C++
assembler
• PbscsI
• C
• Fortran
Prolog
Smalltalk
• LISP
Dbaselll+
Clipper
Basic
Multi-Edit Macro
DOS Batch
Рис. 5.4. Классификация языков программирования
Основная экспериментальная процедура — попарное сравнение некоторых объектов и выражение степени их сходства (несходства) на числовой оси или выделение пар близких объектов из предъявленной триады — сама по себе накладывает большое количество ограничений на выявляемую структуру, в частности:
Из-за выбора стимульного материала (выбор объектов остается за инженером по знаниям).
Из-за несовершенства шкалы измерений.
В связи с рядом допущений математического аппарата. Но главное, что полученная структура знаний чаще всего носит академический характер, то есть отражает объективно существующие, но легко объяснимые, как бы лежащие на поверхности закономерности.
Это связано с психологической установкой самого эксперимента, во время которого эксперта как бы проверяют, экзаменуют и он, естественно, стремится давать правильные ответы.
На следующем этапе эксперимента респонденту предлагалось сопоставить каждый из языков программирования с каждым из метафорических персонажей. Как и на первом этапе, пары предъявлялись в равномерно-случайном порядке (анало-
гичном расписанию кругового турнира в спортивных играх). Инструкция для сопоставления выглядела следующим образом:
Попробуйте оценить выразительную силу данной метафоры: «ЛИСП — это слон» или «C++ — это яхта».
Результирующая таблица числовых кодов оценок (идентичная оценочной решетке Келли) была также обработана методами многомерного шкалирования программы МЕДИС. Результаты представлены на рис. 5.5 и 5.6.
Multi-Edit Место □ Кот .
• DOS Batch
Оселг
□Петух • Basic•
• Assembler
.Prolog口 "пса
.LISP• Pas*
□ Павлин ]3аяцаТигр
Smalltalkо Волк
1
.Dbaselll+
□ Обезьяна с
о Лев Fortran
> с
口 Слон
Конь. C++
Clipper
Рис. 5.5. Метафорическая классификация языков программирования (мир животных)
Pascal
,Basic
•
Твлега. S
Prolog
□Автомобиль . C++ □ Пароход
DOS Batch°ЯхТа
nailtalk• С
• Dbaselll+
з Велосипед• Clipper
□ Поезд.
оАвтоб
• Fortran
.LISP□ Самолет
Multi-Edit Macro
□ Метро с
,саСлон
口 Грузовик
• Clipper
Рис. 5.6. Метафорическая классификация языков программирования (мир транспорта)
При интерпретации удалось выявить такие латентные понятия и структуры, как «степень изощренности языка» (шкала X рис. 5.5), «сила» (шкала Y рис. 5.5), «универсальность» (шкала Y рис. 5.6), «скорость» (шкала X рис. 5.6) и др.
Кроме этого, полученные рисунки позволили выявить скрытые предпочтения эксперта и существенные характеристики объектов, выступавших в виде стимулов —«силу» языка С («слон»); скорость C++ («яхта»); «старомодность» Фортрана («телега») и пр.
В применении к реальному процессу извлечения знаний это обстоятельство становится принципиальным, так как позволяет на самом деле отделить те знания, благодаря которым эксперт является таковым (уровень В), от общезначимых, банальных (для экспертов в данной предметной области) знаний (уровень А), которые возможно и не стоят того, чтобы ради них создавать собственно экспертную систему.
Однако можно ожидать, что во многих (если не в большинстве) случаях выявленные латентные структуры могут полностью перевернуть представления инженера по знаниям о предметной области и позволить ему существенно углубить базу знаний. Введение мира метафор — это некая игра, а игра раскрепощает сознание эксперта и, как все игровые методики извлечения знаний (п. 4.2), является хорошим катализатором трудоемких серий интервью с экспертом, без которых сегодня невозможна разработка промышленных интеллектуальных систем.
Метод репертуарных решеток
Основные понятия
Среди методов когнитивной психологии — науки, изучающей то, как человек познает и воспринимает мир, других людей и самого себя, как формируется целостная система представлений и отношений конкретного человека, особое место занимает такой метод личностной психодиагностики, как метод репертуарных решеток f«repertory grid»).
Впервые метод был сформулирован автором теории личностных конструктов Джорджем Келли в 1955 г. Чем шире набор личностных конструктов у субъекта, тем более многомерным, дифференцированным является образ мира, человека, других явлений и предметов^ то есть тем выше его когнитивная сложность [Гаврилова, 1988].
Репертуарная решетка представляет собой матрицу, которая заполняется либо самим испытуемым, либо экспериментатором в процессе обследования или беседы. Столбцу матрицы соответствует определенная группа объектов, или, иначе, элементов. В качестве объектов могут выступать люди, предметы, понятия, отношения, звуки, цвета — все, что интересует психодиагноста. Строки матрицы представляют собой конструкты -т биполярные признаки, параметры, шкалы, альтернативные противоположные отношения или способы поведения.
Конструкты либо задаются исследователем, либо выявляются у испытуемого с помощью специальных приемов и процедур выявления. Вводя понятие конструкта, Келли объединяет две функции: функцию обобщения (установления сходства) и функцию противопоставления. Он предлагает несколько определений понятия «конструкт». Одно из них:
Конструкт — зто некоторый признак или свойство, по которому два или несколько объектов сходны между собой и, следовательно, отличйы от третьего объекта или нескольких других объектов.
Например, ; выделение из трех предметов «диван,, кресло, стул» двух «диван и кресло» выявляет конструкт «мягкость мебели». Келли в своих работах подчеркивает биполярность конструктов. Он считает, что, утверждая что-нибудь, мы всегда одновременно что-то отрицаем. Именно биполярность конструктов делает возможным построение репертуарной решетки. Например, север — юг — это референтная ось: элементы, которые в одном контексте являются «севером», в другом становятся «югом».
Возможности конструкта ограничены. Они могут быть применены только к некоторым объектам. Это нашло свое отражение в понятии «диапазона пригодности^ конструкта. Английские психологи Франселла и Баннистер [Франселла, Баннистер, 1987] считают правило диапазона пригодности» отличительной чертой техники репертуарных решеток. Под диапазоном пригодности можно понимать область представлений человека о мире, понятия которой можно соотнести с конкретной референтной осью выделяемого конструкта. Психологически осмысленный результат получится только в том случае, если элементы, используемые в репертуарной решетке; будут попадать в «диапазон пригодности» конструктов испытуемого.
Конструкты — не изолированные образования. Они взаимодействуют друг с другом, причем характер этого взаимодействия не случаен, а носит целостный системный характер.
В процессе заполнения репертуарной решетки испытуемый должен оценить каждый объект по каждому конструкту или каким-то другим образом поставить в соответствие элементы конструктам.
Определение репертуарная означает, что элементы выбираются по определенным правилам так, чтобы они соответствовали какой-либо одной области и все вместе были связаны осмысленным образом (контекстом) аналогично репертуару ролей в пьесе. Предполагается, что, изменяя репертуар элементов, можно «настраивать» Методики на выявление конструктов разных уровней общности и относящихся к разным системам.
При переводе с английского языка термин матрица не используется, поскольку репертуарная решетка не всегда является матрицей в строгом смысле этого термина: в ней на пересечении строк и столбцов не обязательно стоят числа, не всегда выдерживается прямоугольный формат, строки могут быть разной длины.
Второй смысл этого определения заключается в том, что в технике репертуарных решеток часто элементы задаются в виде обобщенных инструкций, репертуара ролей, на место которых каждый конкретный человек мысленно подставляет своих знакомых людей или конкретные предметы, если в качестве элементов заданы названия предметов.
По всей видимости, репертуарные решетки лучше считать специфической разновидностью структурированного интервью. Обычно мы исследуем систему конструктов другого человека в ходе разговора с ним. В процессе беседы мы постепенно начинаем понимать, как он видит мнр, что с чем связано, что из чего следует, что для чего важно, а что нет, как он оценивает других людей, события и ситуации.
Решетка формализует этот процесс и дает математическое обоснов^ме ^^яз^й между конструктами данного человека, позволяет более детально изучить отдельные подсистемы конструктов, подметить индивидуальное, специфическое в структуре и содержании мировоззрения человека.
Важное положение техники репертуарных решеток: ориентация на выявление собственных конструктов испытуемого, а не навязывание их ему извне.
Гибкость и эффективность репертуарных решеток, качество и количество получаемой информации делают их пригодными для решения широкого круга задач. Методики этого типа используются в различных областях практической деятельности: в педагогике и социологии, в медицине, рекламе и дизайце. Репертуарные решетки оказались методом, идеально приспособленным для реализации в виде диалоговых программ на компьютере, что также способствовало их широкому распространению. Достоинства и преимущества данного метода полностью раскрываются тогда, когда есть возможность, проведя исследование, быстро обработать результаты и проанализировать их с тем, чтобы уже при следующей встрече с испытуемым можно было уточнить и проверить возникшие предположения, составить и провести репертуарную решетку другого типа, а если это необходимо, и дополнить прежнюю, изменив репертуар элементов или выборку конструктов.
Методы выявления конструктов
Метод минимального контекста
Метод минимального контекста или метод триад наиболее часто используется для выявления конструктов. Элементы представляются в группах по три. Э^о минимальное число, которое позволяет определить сходство и различие.
Испытуемому предъявляются три элемента из всего списка и предлагается назвать какое-нибудь важное качество, по которому два из них сходны между собой и, следовательно, отличны от третьего. После того как экспериментатор запишет ответ, испытуемого просят назвать, в чем конкретно состоит отличие третьего элемента от двух других (если испытуемый не указал, какие именно два элемента были оценены как сходные между собой, то его просят сделать это). Ответ на этот вопрос и представляет собой противоположный полюс конструкта. Испытуемо^ му предъявляется столько триад элементов, сколько сочтет нужным экспериментатор. Специфических правил не существует. Все зависит лишь от величины выборки, то есть от числа конструктов, подлежащих исследованию.
Пример 5.3
Имеется список из названий фруктов. Берется триада «яблоко-груша-апельсин», Респондент выделяет два сходных объекта —' «яблоко и груша»; качество, определяющее сходство, — «отсутствие аллергической реакции у респондента», отличие третьего объекта — «аллергичность». Так выявлен личностный конструкт «аллергичность/от- сутствие таковой».
Другие методы выявления конструктов
Франселла и Баннистер [Франселла, Баннистер, 1987] описывают методы, которые такж0 используют триады:
последовательный метод;
метод самоидентификации;
метод ролевой персонификации.
В двух последних методах в триаду включается элемент «я сам».
Келли предложил использовать триады для выявления конструктов, поскольку этот метод отражал его теоретические представления о том, как конструкты впервые возникают. Однако в связи с тем, что у испытуемого выявляются уже сложившиеся конструкты, не обязательно использовать непременно три элемента. Триада не является единственным способом выявления противоположного полюса.
Для выявления конструктов можно использовать два элемента (выявление конструктов при помощи диад элементов) или более, чем три, как это делается в методе полного контекста [Франселла, Баннистер, 1987].
Часто используемый метод — техника лестничного спуска Хинкла:
конструкты извлекаются стандартным методом;
по поводу отдельного конструкта задается вопрос «К какому полюсу данного конструкта вы бы хотели быть отнесены?»;
затем: «Почему вы предпочитаете этот полюс?», «Что противостоит этому?». Таким образом, получается новый конструкт, более обобщенный, чем исходный. Процесс повторяется, и выделяется иерархия конструктов.
Анализ репертуарных решеток
Анализ репертуарных решеток позволяет определить силу и направленность связей между конструктами респондента, выявить наиболее важные и значимые параметры (глубинные конструкты), лежащие в основе конкретных оценок и отношений, построить целостную подсистему конструктов, позволяющую описывать и предсказывать оценки и отношения человека.
Анализ единичной репертуарной решетки
Можно использовать форму кластерного анализа для группировки конструктов. Этот алгоритм структурирует конструкты в линейный порядок, так что конструкты, находящиеся близко в пространстве, также оказываются близки в порядке. Этот алгоритм имеет преимущество при демонстрации, так как представление просто реорганизует решетку, доказывая соседства конструктов и элементов.
Таким образом, формируются две матрицы — одна для элементов, другая для конструктов. Кластеры определяются выбором наибольших значений в этих мат-
рицах — то есть наиболее связанных составляющих матршц^ — до т@х пор пока все элементы и конструкты не оказываются включенными в кластерное дёрево. Программа производит иерархическую кластеризацию системы конструктов эксперта и представляет извлеченные знания.
Кроме того, для каждого конструкта имеются численные значения в решетке как вектор величин, связанных с расположением элементов относительно полюсов данного конструкта. С этой точки зрения каждый конструкт может быть представлен как точка в многомерном пространстве, а его плоскость определяется числом связанных с ним элементов. Естественной мерой отношений между конструктами является, следовательно, расстояние между ними в этом многомерном пространстве. Два конструкта с нулевым расстоянием между ними — это конструкты, по отношению к которым элементы структурируются совершенно одинаково. Следовательно, можно считать, что они используются одинаково. В каком- то смысле это эквивалентные конструкты.
Для неэквивалентных конструктов можно анализировать их пространственные отношения, определяя ряд осей как проекцию каждого конструкта на ось, наиболее удаленную от них, проекцию на вторую ось, связанную с оставшимися расстоявиями, и т. д. Это метод анализа главных компонент пространства конструктов. Он связан с факторным анализом семантического пространства, использованного в изучении семантического дифференциала. Метод анализа главных компонент позволяет представить элементы и конструкты так, что между ними могут быть выявлены взаимосвязи. Возможно построить логический анализ репертуарной решетки, используя конструкты как предикаты относительно элементов.
Анализ нескольких репертуарных решеток
'Довольно часто возникает ситуация, когда требуется сравнить несколько репертуарных решеток. Анализ серии репертуарных решеток, заполняемых одним и тем же человеком в разные моменты времени, позволяет следить за динамикой конструктов и оценок, строить траектории изменения состояния человека в системе его собственных субъективных шкал.
Проанализируем несколько репертуарных решеток, заполняемых разными людьми. Анализ пар системных конструктов используется для измерения согласия и понимания между людьми. Для этого два эксперта, имеющие разные точки зрения, создают и заполняют решетки по общей области знаний. При этом каждый независимо от другого выбирает элементы, выявляет конструкты и оценивает их. Затем каждый делает две пустые копии своей решетки, оставляя элементы и конструкты без значений их оценки. Обе эти решетки заполняются партнерами. При этом одна заполняется так, как он сам себе это представляет, а вторая так, как он представляет себе заполнение оригинальной решетки ее автором. Сравнение пар решетбк помогает достигнуть соглашения и понимания между двумя людьми.
Существуют три способа сравнения двух решеток.'
Сцепление решеток, имеющих общие элементы, и их последующая обработка одним из описанных алгоритмов, как если бы они составляли одну большую
решетку. Таким образом, можно исследовать взаимодействие идей мерез проверку смешанных кластеров конструктов из разных решеток.
Дацный путь требует наличия двух решеток с одинаковыми именами элементов и конструктов и показывает расхождения между ними через измерение расстояния между одними и теми же именами. Результаты показывают согласие в понимании и выявляют различия между двумя решетками, основанными на одинаковых именах и конструктах.、
Данный способ также использует две решетки с одинаковыми именами элементов и конструктов, находит наиболее сильно изменяющиеся элементы и конструкты и удаляет их из решетки. Таким образом, определяются базовые элементы и конструкты, которые показывают согласие и понимание.
Анализ групп системных конструктов. Анализируется серия репертуарных решеток, полученная от группы людей, использовавших одинаковые элементы. Сравнивается каждая пара и показывается «групповая сеть», которая отражает связи сходных конструктой внутри группы. Создается решетка, отражающая конструкты, которые понимаются большинством группы, и это служит основанием дальнейшего анализа. Каждый конструкт, неиспользованный в рамках группы, оценивается по силе связанности с другими конструктами.
Автоматизированные методы
Данный параграф посвящен обзору некоторых наиболее известных методов и систем приобретения знаний на основе метода репертуарных решеток, частично из работ [Осипов, 1990; Молокова, 1992; Осипов,1997].
Впервые автоматизированное создание репертуарных решеток и извлечение из экспертов конструктов 6红ло реализовано в системе PLANET [Gaines, Shaw, 1984; Shaw, Woodward, 1988]. Дальнейшим развитием системы PLANET является интегрированная среда KITTEN, поддерживающая ряд методов извлечения знаний. Буза Д. в системе ETS [Boose, 1985] использовал метод репертуарных решеток для выявления понятийной системы предметной области. Потомками ETS являются система NeoETS и интегрированная среда для извлечения экспертных знаний AQUINAS [Boose, Bradshaw, Shema, 1988].
Известно большое число прототипов ЭС, для создания которых использовалась ETS. Среди них:
Советчик по выбору инструментария для разработчиков ЭС.
Консультант по языкам программирования.
Анализатор геологических данных.
Советчик по отладке Фортран-программ.
Консультант по СУБД и др.
Однако область применения ETS ограничена извлечением экспертных знаний для таких несложных задач анализа, которые не требуют для своего решения процедурных, каузальных и стратегических знаний.
ETS взаимодействует с экспертом в диалоговом режиме, интервьюируя его и помогая анализировать создаваемую БЗ. В архитектуре ETS могут быть выделены подсистемы: извлечения элементов; выявления конструктов; построения репертуарной решетки; построения графа импликативных связей; генерации продукционных правил; тестирования БЗ; коррекции БЗ; генерации БЗ для различных инструментальных средств создания ЭС.
В диагностической системе MORE [Kahn, Nowlin, McDermott, 1985} использованы принципы, сходные с теми, которые лежат в основе обеих описанных выше систем. Здесь впервые использовано несколько различных стратегий интервью. Техника интервью, использованная в MORE, направлена на выявление следующих сущностей:,
гипотезы — подтверждение которых имеет своим результатом диагноз;
симптомы — наблюдение которых приближает последующее принятие гипотезы;
условия — некоторое множество событий, которое не является непосредствен-; но симптоматическим для какой-либо гипотезы, но которое может иметь диагностическое значение для некоторых других событий;
связи — соединение сущностей;
пути — выделенный тип связи, который соединяет гипотезы с симптомами.
В соответствии с этим в системе используются следующие стратегии интервью: дифференциация гипотез, различение симптомов, симптомная обусловленность, деление пути и некоторые другие. 、
Стратегия дифференциации гипотез направлена на поиск симптомов, которые обеспечивают более точное различие гипотез. Наиболее мощными в этом смысле являются те симптомы, которые наблюдаются при одном диагностируемом событии.
Стратегия различения симптомов выявляет специфические характеристики симптома, которые, с одной стороны, идентифицируют его как следствие некоторой гипотезы, с другой — противопоставляют другим.
Стратегия симптомной обусловленности направлена на выявление негативных симптомов, то есть симптомов, отсутствие которых имеет больший диагностический вес, чем их присутствие.
Стратегия деления пути обеспечивает нахождение симптоматических событий, которые лежат на пути к уже найденному симптому. Если такой симптом существует, то он имеет большее диагностическое значение, чем уже найденный.
В системе KRITON [Diderich, Ruhman, May, 1987] (см. п. 4.6.4) для приобретения знаний используются два источника: эксперт с его знаниями, полученными на практике; книжные знания, документы, описания, инструкции (эти знания хорошо структурированы и фиксированы традиционными средствами). Для извлечения знаний из первого источника в KRITON применена техника интервью, использующая стратегии репертуарной решетки разбиения на ступени. Стратегия разбиения на ступени направлена на выявление наследственной структуры пред-
меткой области. Акцент делается на выявлении структуры родовых и видовых понятий (супертипов). При этом типы, выявленные на очередном шаге работы стратегии, становятся базисом для последующего ее применения.
В системе применен прием переключения стратегий: если при работе стратегии репертуарной решетки при предъявлении тройки семантически связанных понятий эксперт не в состоянии назвать признак, отличающий два из них от третьего, система запускает стратегию разбиения на ступени и, задавая эксперту вопросы о понятиях, связанных с предыдущими отношениями «род — вид», предпринимает попытку выяснения таксономической структуры этих понятий с целью выявления признаков; их различающих.
В России существенные результаты в применении репертуарных решеток в инженерии знаний 6拉ли получены под руководством Г. С. Осипова в рамках проекта SIMER+MIR (см. п. 4.6.5).
Управление знаниями
Что такое «управление знаниями»
Следует иметь в виду, что знаниями в контексте данного параграфа называют не только знания, но и данные по определениям в главе 1 данного учебника.
Понятие ^управление знаниями^ (КМ — Knowledge Management) появилось в середине 90-х годов в крупных корпорациях, где проблемы обработки информации приобрели особую остроту и стали критическими. При этом стало очевидным, что основным узким местом является обработка знаний, накопленных специалистами компании, так как именно знания обеспечивают преимущество перед конкурентами. Часто информации в компаниях накоплено даже больше, чем они в состоянии обработать. Различные компании пытаются решать этот вопрос по-разному, но при этом каждая компания стремится увеличить эффективность обработки знаний [Macintosh, 1997].
Ресурсы знаний различаются в зависимости от отраслей индустрии и приложений, но, как правило, включают руководства, письма, новости, информацию о заказчиках, сведения о конкурентах и данные, накопившиеся в процессе разработки. Для применения КМ-систем используются разнообразные технологии:
электронная почта;
базы и хранилища данных (Data Wharehouse);
системы групповой поддержки;
броузеры и системы поиска;
корпоративные сети и Интернет;
экспертные системы и базы знаний; интеллектуальные системы.
Традиционно проектировщики систем КМ ориентировались лишь на отдельные группы потребителей — главным образом менеджеров. Более современные КМ- системы спроектированы уже в расчете на целую организацию.
Храншища данных, которые работают ио принципу центрального соада, былм одним из первых инструментариев КМ. Как правило, хранилища содержа^ многолетние версии обычной БД, физически размещаемые в той же самой базе. Когда все данные содержатся в едином хранилище, изучение связей между отдельными элементами может быть более плодотворным.
При этом активы знаний могут находиться в различных местах: в базах данных, базах знаний, в картотечных блоках, у специалистов и могут быть рассредоточены по всему предприятию. Слишком часто одна часть предприятия повторяет работу другой части просто потому, что невозможно найти и использовать знания, находящиеся в других частях предприятия.
Управление знаниями — это совокупность процессов, которые управляют созданием, распространением, обработк。访 и использованием знаний внутри предприятия.
Необходимость разработки систем КМ обусловлена следующими причинами:
работники предприятия тратят слишком много времени на поиск необходимой информации;
опыт ведущих и наиболее квалифицированных сотрудников используется только ими самими;
ценная информация захоронена в огромном количестве документов и данных, доступ к которым затруднен;
дорогостоящие ошибки повторяются из-за недостаточной информированности и игнорирования предыдущего опыта.
Важность систем КМ обусловлена также тем, что знание, которое не используется и не возрастает, в конечном счете становится устаревшим и бесполезным, так же, как деньги, которые сохранены без того, чтобы стать оборотным капиталом, в конечном счете теряют свою стоимость, пока не обесценятся. Напротив, знание, которое распространяется, приобретается и обменивается, генерирует новое знание.
Управление знаниям и корпоративная память
Большинство обзоров концепции управления знания (КМ) уделяет внимание только первичной обработке корпоративной информации типа электронной почты, программного обеспечения коллективной работы или гипертекстовых баз данных (например [Wiig, 1996]). Они формируют существенную часть из необходимой, но определенно не достаточной технической инфраструктуры для управления знаниями.
Одним из новых решений по управлению знаниями является понятие корпоративной памяти (corporate memory), которая по аналогии с человеческой памятью позволяет пользоваться предыдущим опытом и избегать повторения ошибок.
Корпоративная память фиксирует информацию из различных источников предприятия м делает зту информацию доступной специалистам для решения производственных задач.
Корпоративная память не позволяет исчезнуть знаниям выбывающих специалистов (уход на пенсию, увольнение и пр.). Она хранит большие объемы данных, информации и знаний из различных источников предприятия. Они представлены в различных формах, таких как базы данных, документы и базы знаний (рис. 5.7).
Неявные данные и знанияНеявные данные и знанияЯвные данные и знанияРис. 5.7. Данные и знания в системах корпоративной памятиЯвные данные и знанияРис. 5.7. Данные и знания в системах корпоративной памятиVVДанные в головеДанные в головеЗнания в головеЗнания в головекшхтхьшп-осао^кшхтхьшп-осао^
Неявные данные и знания
Неявные данные и знания
Явные данные и знания
Рис. 5.7. Данные и знания в системах корпоративной памяти
Явные данные и знания
Рис. 5.7. Данные и знания в системах корпоративной памяти
V
V
Данные в голове
Данные в голове
Знания в голове
Знания в голове
кшхтхьшп-осао^
кшхтхьшп-осао^
Введем два уровня корпоративной памяти (так называемые явные и неявные знания [Nonaka, Takeuchi, 1995]).
Уровень 1. Уровень материальной или явной информации — это данные и знания, которые могут быть найдены в документах организации в форме сообщений, писем, статей, справочников, патентов, чертежей, видео- и аудиозаписей, программного обеспечения и т. д.
Уровень 2. Уровень персональной или скрытой информации — это персональное знание, неотрывно связанное с индивидуальным опытом. Оно может быть передано через прямой контакт — «с глазу на глаз», через процедуры извлечения знаний (см. главу 3). Именно скрытое знание — то практическое знание, которое является ключевым при принятии решения и управлении технологическими процессами.
В действительности эти два типа информации, подобные двум сторонам одной и той же медали, одинаково важны в структуре корпоративной памяти (см. рис. 5.7). При разработке систем КМ можно выделить следующие этапы:
Накопление. Стихийное и бессистемное накопление информации в организа-
ции.
Извлечение. Процесс, идентичный традиционному извлечению знаний для ЭС (см. главы 2 и 3). Это один из наиболее сложных и трудоемких этапов. От его успешности зависит дальнейшая жизнеспособность системы.
Структурирование. На этом этапе должны быть выделены основные понятия, выработана структура представления информации, обладающая максимальной наглядностью, простотой изменения и дополнения.
Формализация. Представление структурированной информации в форматах машинной обработки, то есть на языках описания данных и знаний.
Обслуживание. Под процессом обслуживания понимается корректировка формализованных данных и знаний (добавление, обновление): «чистка», то есть удаление устаревшей информации; фильтрация данных и знаний для поиска информации, необходимой пользователям.
Если первые четыре этапа обычны для инженерии знаний, то последний является специфичным для систем управления знаниями.
Как уже было сказано, он распадается на три более мелких процесса:
Корректировка формализованных знаний (добавление, обновление).
Удаление устаревшей информации.
Фильтрация знаний для поиска информации, необходимой пользователю, выделяет компоненты данных и знаний, соответствующие требованиям конкретного пользователя. При помощи той же процедуры пользователь может узнать местонахождение интересующей его информации.
Рассмотренная выше классификация не является единственной, но она позволяет понять, что происходит в реальных системах управления знаниями.
Системы OMIS
Автоматизированные системы КМ, или Organizational Memory information Systems (OMIS), предназначены для накопления и управления знаниями предприятия [Kuehn and Abecker, 1998]. OMIS включают работу как на уровне 1 — с явным знанием компании в форме баз данных и электронных архивов, так и на уровне 2 — со скрытым знанием, фиксируя его в некотором (более или менее формальном) представлении в форме экспертных систем [Wiig, 1990] или БД.
OMIS часто используют вспомогательные справочные системы, так называемые helpdesk-приложения.、
Основные функции OMIS:
Сбор и систематическая организация информации из различных источников в централизованное и структурное информационное хранилище.
Интеграция с существующими автоматизированными системами [Conklin, 1996]. На техническом уровне это означает, что корпоративная память должна быть непосредственно связана с помощью интерфейса с инструментальными
средствами, которые в настоящее время используются в организации (например, текстовые процессоры, электронные таблицы, системы).
Обеспечение нужной информации по запросу (пассивная форма) и при необходимости (активная форма). Слишком частые ошибки — это следствие недостаточной информированности. Этого невозможно избежать с помощью пассивной информационной системы, так как служащие часто слишком заняты, чтобы искать информацию, или просто не знают, что нужная информация существует. Корпоративная память может напоминать служащим о полезной информации и быть компетентным партнером для совместного решения задач.
Конечная цель OMIS состоит в том, чтобы обеспечить доступ к знанию всякий раз, когда это необходимо. Чтобы обеспечить это, OMIS реализует активный подход распространения знаний, который не полагается на запросы пользователей, а автоматически обеспечивает полезное для решения задачи знание. Чтобы предотвращать информационную перегрузку, этот подход должен быть совмещен с высокой выборочной оценкой уместности. Законченная система должна действовать как интеллектуальный помоищик пользователю.
Использование корпоративной памяти часто преследует более умеренные цели, чем использование ЭС. Это связано с тем, что технологии обработки данных (баз данных и гипертекстовых систем) применяются гораздо шире, чем технологии систем, основанных на знаниях. OMIS сохраняют и обеспечивают выдачу по запросу нужной информации, но оставляют ее интерпретацию и оценку в специфическом контексте задачи главным образом пользователю.
С другой стороны, корпоративная память расширяет эти технологии работой со знаниями, чтобы улучшить качество решения задач. Так OMIS включает подсистемы объяснений, которые позволяют непосредственно отвечать на вопросы: «Почему?» и «Почему нет?». В простой базе данных или гипертекстовой системе пользователи должны были бы искать нужную информацию для ответа на такие вопросы непосредственно, а для этого необходимо отфильтровать большое количество потенциально нужной информации, которая, однако, не будет применяться в специфическом случае.
Наконец, OMIS не только выдает информацию, но должна также быть всегда готовой воспринимать новую информацию от ее пользователей.
Рисунок 5.8 представляет архитектуру для OMIS и корпоративной памяти (частично из работы [Borghoff and Pareschi, 1998]). Ядром системы является Информационное хранилищу (Information Depository). Рисунок также дает представление о некоторых видах информации, которая включается в корпоративную память.
Если хранилища данных содержат в основном количественную информацию, то хранилища знаний больше ориентированы на качественный материал. КМ-сис- темы генерируют системы из широкого диапазона данных, хранилищ данных, статей новостей, внешних баз, WWW-страниц.
Рис. 5.8. Архитектура OMIS
Программный инструментарий для OMIS включает как оригинальные разработки, например KARAT [Tschaitschian, 1997], так и стандартные средства, например, LOTUS NOTES обеспечила один из первых инструментариев хранения качественно и документальной информацией. Однако сегодня в связи с бурным развитием Интернета, КМ-сйстемы все чаще используют Web-технологию.
Особенности разработки OMIS
Так как разработка систем корпоративной памяти — это прежде всего программный проект, то для нее применимы традиционные технологии разработки больших программных систем. В каждом программном проекте первым шагом в разработке является анализ требований, в котором должны быть найдены ответы на следующие вопросы:
Какие задачи должны поддерживаться?
Какая информация необходима, чтобы решить эти задачи?
Какой тип поддержки желателен пользователями?
Каков уровень затрат на разработку?
Какие изменения ожидаются в будущем?
При поиске ответов на эти вопросы следует учитывать:
Человеческий фактор. Основная причина неудач ранних опытных проектов OMIS заключалась в том, "то разработчики игнорировали реальные потребности, способности и цели пользователей системы [Malsch et al., 1993; Kuehn et al., 1994].
Стоимостной анализ. Во-первых, ядро проекта должно ориентироваться на критические процессы, «страдающие» от недостатка информационной поддержки. Во-вторых не следует перегружать начальную систему слишком большим количеством услуг, которые могут быть желательны, но не обещают быстрое возвращение инвестиций.
Эволюция знаний. Электронная поддержка особенно ценна в областях, подвергающихся быстрым изменениям, так как на таких предприятиях трудно обеспечить доступ к оператйвной современной информации. В системах OMIS часто используют различные новые технологии обработки знаний, не имеющие пока общепринятых русскоязычных терминов и связанные с получением нового знания из анализа данных, например «открытие или разведка знаний» (Knowledge Discovery) и «разработка данных» (Data Mining). Разведка знаний представляет собой новое и быстро развивающееся направление, занимающееся «нетривиальным извлечением точной, ранее неизвестной и потенциально полезной информации из данных» [Piatetsky-Shapiro, Frawley, 1991]. В методах разведки данных используются различные подходы к анализу текста и числовых данных, плюс специальный инструментарий статистического анализа.
Чувствительность к контексту для естественно-языковых запросов.
Система должна «понимать» контекст поступающих запросов. К примеру, она должна различать термины «размножение жийотных» и «размножение документов».
Гибкость.
Система должна иметь возможность обрабатывать знания в различной форме и по разным темам в контексте работы данного предприятия.
Интеллектуальность.
Система должна накапливать информацию о своих пользователях и о знаниях, которые она получает во время работы. Таким образом, со временем ее возможность «продуманно» предоставлять пользователям знания должна совершенствоваться.
До последнего времени при разработке OMIS остается целый ряд исследовательских вопросов [Kuehn and Abecker,1998],
Проблема обобщения моделей данных, словарей понятий или тезаурусов, онтологий. Основание для объединенной эксплуатации данных, документов и формального знания — построение объединенных метамоделей данных и знаний. Полезны были бы процедуры автоматического порождения тезауруса из существующих массивов документов. Объединенная онтология/тезаурус может использоваться, чтобы улучшить поиск, фильтрацию и маршрутизацию документов.
Проблема объединения логического вывода и информационного поиска. Об^ед"」 ненная эксплуатация формальных и неформальных представлений знаний и данных — это последовательное сближение логических методов и методов информационного поиска и индексации данных.
Соединение деловых процессов и управления знаниями. Окончательная цель состоит в том, чтобы обнаруживать информационную потребность в течение выполнения производственного процесса и определять уместное знание в специфическом контексте задачи. Первый прагматический шаг в этом направлении описан в работе [Hinkelmann и Kieninger, 1997], где авторы предлагают использовать информацию контекста задачи для информационной фильтрации.
Корпоративная память интегрирует знания, чтобы в решении новых задач опереться на предварительно накопленный опыт. Таким образом, можно избегать повторения ошибок, опыт может расширяться систематически' и. информационно-емкие процессы работы могут быть выполнены более эффективными способами. В отличие от экспертных систем первичная цель систем OMIS — не поддержка одной специфической задачи, а лучшая эксплуатация необходимого общего ресурса — знаний.
В настоящее время существует значительный интерес к КМ со стороны промышленных компаний, которые осознают высокий прикладной потенциал корпоративной памяти для решения целого ряда практических задач обработки информации. С другой стороны, не многие из проектов идут далее стадии прототипа, что очевидно показывает, что компании стараются избегать затрат и риска вложения капитала в новые технологии, которые еще не нашли широкого распространения.'
5.4. Визуальное проектирование баз знаний как инструмент познания
Визуальные методы спецификации и проектирования баз знаний и разработка концептуальных структур являются достаточно эффективным гносеологическим инструментом или инструментом познания [Jonassen, 1993]. Использование методов инженерии знаний в качестве дидактических инструментов и в качестве формализмов представления знаний способствует более быстрому и более полному пониманию структуры знаний данной предметной области, что особенно ценно для новичков на стадии изучения особенностей профессиональной деятельности. Методы визуальной инженерии знаний можно широко использовать в различных учебных заведениях — от школ до университетов — как для углубления процесса понимания, так и для контроля знаний. Большинство учеников и студентов овладевают навыками визуального структурирования в течение нескольких часов.
5;4.1 • От понятийных карт к семантическим сетям
В параграфе 3.1 было предложено определение поля знаний, которое позволяет инженеру по знаниям трактовать форму представления поля достаточно широко, в частности семантические сети или понятийные карты (concept maps) (см, параграф 1.3) являются возможной формой представления. Это означает, что сам процесс построения семантических сетей помогает осознавать познавательные структуры.
(Г1:)(Г1:)ГостинаяГостинаяКомнатаКомнатаМебельМебельЭлектроннаятехникаЭлектроннаятехникаКнижная полкаКнижная полкаЭлементы декорацииЭлементы декорацииМягкая мебельМягкая мебельКресло )Кресло )Диван ^Диван ^Картина ЛКартина Л1узыкальныицентр1узыкальныицентр( книга )( книга )
(Г1:)
(Г1:)
Гостиная
Гостиная
Комната
Комната
Мебель
Мебель
Электроннаятехника
Электроннаятехника
Книжная полка
Книжная полка
Элементы декорации
Элементы декорации
Мягкая мебель
Мягкая мебель
Кресло )
Кресло )
Диван ^
Диван ^
Картина Л
Картина Л
1узыкальныицентр
1узыкальныицентр
( книга )
( книга )
Рис. 5.9. Пример понятийной карты
Программы визуализации являются инструментом, позволяющим сделать видимыми семантические сети памяти человека. Сети состоят из узлов и упорядоченных соотношений или связей, соединяющих эти узлы. Узлы выражают понятия или предположения, а связи описывают взаимоотношения между этими узлами. Поэтому разработка семантических сетей подразумевает анализ структурных взаимодействий между отдельными понятиями предметной ^области.
В процессе создания семантических сетей эксперт и аналитик вынуждены анализировать структуры своих собственных знаний, что помогает им включать новые знания в структуры уже имеющихся знаний. Результатом этого является более осмысленное использование приобретенных знаний.
Визуальные спецификации в форме сетей могут использоваться новичками и экспертами в качестве инструментов для оценки изменений, произошедших в их мышлении. Если согласиться, что семантическая сеть является достаточно полным представлением памяти человека, то процесс обучения с этой точки зрения можно рассматривать как реорганизацию семантической памяти. .
Kozma [Kozma, 1992], один из разработчиков программы организации семантической сети Learning Tool, считает, что эти средства являются инструментами познания, усиливающими и расширяющими познания человека. Разработка семантических сетей требует от учеников:
реорганизации знаний;
исчерпывающего описания понятий и связей между ними;
глубокой обработки знаний, что способствует лучшему запоминанию и извлечению из памяти знаний, а также повышает способности применять знания в новых ситуациях;
связывания новых понятий с существующими понятиями и представлениями, что улучшает понимание;
пространственного изучения посредством пространственного представления понятий в изучаемой области [Fisher, Faletn, Paterson, Lipson, Thorton & Spring, 1990].
Полезность семантических сетей и карт понятий, пожалуй, лучше всего демонстрируется их связями с другими формами мышления высшего порядка. Они тесно связаны с формальным обоснованием в химии [Schreiber & Abeg, 1991] и способностью аргументировать свои высказывания в биологии [Briscoe & LeMaster, 1991; Mikulecky, 1987]. Накосе было показано, что семантические сети имеют связь с выполнением исследований [Goldsmith, Johnson & Acton, 1991].
5.4.2. База знаний как познавательный инструмент
Когда семантическая сеть создается как прообраз базы знаний, разработчик должен фактически моделировать знания эксперта. Особенно глубокого понимания требует разработка функциональной структуры.
Определение структуры ЕСЛИ-TO области знаний вынуждает чётко формулировать принципы принятия решения. Нельзя считать, что просто разработка поля знаний системы обязательно приведет к получению полных функциональных знаний в данной области.
Разработка экспертных систем стала использоваться как инструмент познания сравнительно недавно. Lippert [Lippert, 1988], который является одним из пионеров применения экспертных систем в качестве инструментов познания, утверждает, что задания по созданию небольших базисов правил являются очень полезными для решения педагогических проблем и структурирования знаний для учеников от шестого класса до взрослых. Изучение при этом становится более осмысленным, так как ученики оценивают не только сам процесс мышления, но также и результаты этого процесса, то есть полученную базу знаний. Создание базы знаний требует от учеников умения отделять друг от друга факты, переменные и правила, относящиеся к связям между составляющими области знаний.
Например, Lai [Lai, 1989] установил, что после того, как студенты-медики создадут медицинскую экспертную систему, они повышают свое умение в плане аргументации и получают более глубокие знания по изучаемому предмету. Шесть студентов-первокурсников физического факультета, которые использовали экспертные системы для составления вопросов, принятия решений, формулировки правил и объяснений относительно движения частицы в соответствии с законами классической физики, получили более глубокие знания в данной области благодаря тщательной работе, связанной с кодированием информации и обработкой большого материала для получения ясного и связного содержания, а следовательно, и большей семантической глубины [Lippert & Finley, 1988].
Таким образом, создание базы знаний экспертной системы способствует более глубокому усвоению знаний, а визуальная спецификация усиливает прозрачность и наглядность представлений.
Когда компьютеры используются в обучении как инструмент познания, а не как контрольно-обучающие системы (обучающие компьютеры), они расширяют возможности автоматизированных обучающих систем (АОС), одновременно развивая мыслительные способности и знания учеников. Результатом такого сотрудничества учащегося и компьютера является значительное повышение эффективности обучения. Компьютеры не могут и не должны управлять процессом обучения. Скорее, компьютеры должны использоваться для того, чтобы помочь ученикам приобрести знания.
В данном параграфе будет описываться автоматизированное рабочее место (АРМ) инженера по знаниям KEW (Knowledge Engineering Workbench) [Гаврилова, 1995; Гаврилова, Воинов, 1995-1997], который наряду с такими программами, как SemNet [Fisher 1990, 1992], Learning Tool [Kozma, 1987], TextVision [Kommers, 1989] или Inspiration, дает возможность ученикам, экспертам или аналитикам связать между собой изучаемые ими понятия в многомерные сети представлений и описать природу связей между всеми входящими в сеть понятиями.
Последняя версия KEW, созданная совместно с Воиновым А. В., получила первую премию на выставке программных систем IV Национальной конференции по искусственному интеллекту в 1994 г. в разделе программных инструментариев разработки интеллектуальных систем. KEW демонстрирует жизнеспособность технологии автоматизированного проектирования интеллектуальных систем (АПРИС) или CAKE (Computet Aided Knowledge Engineering), впервые описанной в работе [Гаврилова, 1992].
KEW предназначен для интеллектуальной поддержки деятельности инженера по знаниям на протяжении всего жизненного цикла разработки экспертной системы, включая стадии — идентификации проблемы, получения знаний, структурирования знаний, формализации, программной реализации, тестирования.
Центральным блоком KEW является графический структуризатор знаний KNOST (KNOwledge STucturer). Система KNOST поддерживает последовательную графическую реализацию ОСА (см. параграф 3.4) и автоматическую компиляцию БЗ из графической спецификации.
—Панель гипертекста—Панель гипертекста丸* 诵加减内 2» МНЬ» цф丸* 诵加减内 2» МНЬ» цфТа麻ий〔::Та麻ий〔::^^^ [ W 目^ ;…j^~ i^j^^^:^^^ [ W 目^ ;…j^~ i^j^^^:Пл 1н - Калмтаяьный ремонтПл 1н - Калмтаяьный ремонт«а в 2004 голу.«а в 2004 голу.l^bccu^z; $акторь^l^bccu^z; $акторь^:тоянив объектов:тоянив объектов[Загрязнения[Загрязнения:[Мат:[Мат-Каман-Керамика-Дерево-Каман-Керамика-Дерево-Высокая ^Средняя —Низкая —Нет-Высокая ^Средняя —Низкая —Нет[Морское епнанне.[Морское епнанне.Нарудюн问Нарудюн问|-Большие^Небольшие|-Большие^Небольшие[—Существеннее I—Несущественное[—Существеннее I—Несущественное何 хезнне факт 叩з)何 хезнне факт 叩з)стеврацияонсервациястеврацияонсервация{копебанн* температур]{копебанн* температур][%)й1ническиз[%)й1ническиз-Трещины"-Раскол-От огня -Нет-Трещины"-Раскол-От огня -Нет](Раст)тепьнне]](Раст)тепьнне]|Кеп”таяьный ремонт]|Кеп”таяьный ремонт])шение)шение-Укрепление конструкций-Защитные сооружения—Цементирование-Ремонт фундамента-Укрепление конструкций-Защитные сооружения—Цементирование-Ремонт фундамента[Косметкиеский ремонт)[Косметкиеский ремонт)-Защита от еоды —Заделка щелей-Штукатурка—Окрашивание-Защита от еоды —Заделка щелей-Штукатурка—Окрашивание[廳皺繆駕魏[廳皺繆駕魏幾夠Дерев。От огня絲乳 КаменьТрещины絲押 Р8M"*“Раскос幾夠Дерев。От огня絲乳 КаменьТрещины絲押 Р8M"*“РаскосМох Плесень ■Нет 'Мох Плесень ■Нет 'Существенное :Нет^Несущественное: Есть^Существенное :НетСущественное :Нет^Несущественное: Есть^Существенное :НетНетСредняяСредняяНетСредняяСредняяБольшиеНебольшиеНебольшиеБольшиеНебольшиеНебольшие;Рестмраци9 Чистка^- ^Реставрация Штукат;:? консервация Окрошку;Рестмраци9 Чистка^- ^Реставрация Штукат;:? консервация Окрошку—Панель концептуальной структуры
—Панель гипертекста
—Панель гипертекста
丸* 诵加减内 2» МНЬ» цф
丸* 诵加减内 2» МНЬ» цф
Та麻ий〔::
Та麻ий〔::
^^^ [ W 目^ ;…j^~ i^j^^^:
^^^ [ W 目^ ;…j^~ i^j^^^:
Пл 1н - Калмтаяьный ремонт
Пл 1н - Калмтаяьный ремонт
«а в 2004 голу.
«а в 2004 голу.
l^bccu^z; $акторь^
l^bccu^z; $акторь^
:тоянив объектов
:тоянив объектов
[Загрязнения
[Загрязнения
:[Мат
:[Мат
-Каман
-Керамика
-Дерево
-Каман
-Керамика
-Дерево
-Высокая ^Средняя —Низкая —Нет
-Высокая ^Средняя —Низкая —Нет
[Морское епнанне.
[Морское епнанне.
Нарудюн问
Нарудюн问
|-Большие
^Небольшие
|-Большие
^Небольшие
[—Существеннее I—Несущественное
[—Существеннее I—Несущественное
何 хезнне факт 叩з)
何 хезнне факт 叩з)
стеврацияонсервация
стеврацияонсервация
{копебанн* температур]
{копебанн* температур]
[%)й1ническиз
[%)й1ническиз
-Трещины"
-Раскол
-От огня -Нет
-Трещины"
-Раскол
-От огня -Нет
](Раст)тепьнне]
](Раст)тепьнне]
|Кеп”таяьный ремонт]
|Кеп”таяьный ремонт]
)шение
)шение
-Укрепление конструкций
-Защитные сооружения
—Цементирование
-Ремонт фундамента
-Укрепление конструкций
-Защитные сооружения
—Цементирование
-Ремонт фундамента
[Косметкиеский ремонт)
[Косметкиеский ремонт)
-Защита от еоды —Заделка щелей
-Штукатурка
—Окрашивание
-Защита от еоды —Заделка щелей
-Штукатурка
—Окрашивание
[廳皺繆駕魏
[廳皺繆駕魏
幾夠Дерев。От огня
絲乳 КаменьТрещины
絲押 Р8M"*“Раскос
幾夠Дерев。От огня
絲乳 КаменьТрещины
絲押 Р8M"*“Раскос
Мох Плесень ■Нет '
Мох Плесень ■Нет '
Существенное :Нет^Несущественное: Есть^Существенное :Нет
Существенное :Нет^Несущественное: Есть^Существенное :Нет
Нет
Средняя
Средняя
Нет
Средняя
Средняя
Большие
Небольшие
Небольшие
Большие
Небольшие
Небольшие
;Рестмраци9 Чистка^- ^Реставрация Штукат;:? консервация Окрошку
;Рестмраци9 Чистка^- ^Реставрация Штукат;:? консервация Окрошку
J Панель
функциональной структуры
Рис. 5.10. Интерфейс АРМа инженера познаниям
Интерфейс KNOST состоит из трех основных частей (рис. 5.10):
панель концептуальной структуры;
панель гипертекста;
ные взаимосвязи между понятиями концептуальной структуры, на основании которых эксперт принимает решения. Столбцы таблицы формируются простейшей операцией drag-and-drop из понятий на панели концептуальной структуры.
После того как модели Sk и Sf созданы, KNOST автоматически компилирует базу знаний на ПРОЛОГе из созданной графической спецификации и моделирует работу экспертной системы. Это удобно для быстрого наглядного прототипирования ЭС и для отладки БЗ совместно с экспертом.
5.5. Проектирование гипермедиа БД и адаптивных обучающих систем
Гипертекстовые системы
Первые информационные системы на основе гипертекстовых (ГТ) моделей появились еще в середине 60-х [Engelbart, 1968], но подлинный расцвет наступил в 80-е годы после появления первых коммерческих ГТ систем для ПЭВМ — GUIDE (1986 г.) и HyperCard (1987 г.). В настоящее время ГТ технология является стандартом de facto в области АОС и сверхбольших документальных БД [Nielsen, 1990; Агеев, 1994].
Под гипертекстом понимают технологию формирования информационных массивов в виде ассоциативных сетей, элементами или узлами которой выступают фрагменты текста, рисунки, диаграммы и пр.
Навигация по таким сетям осуществляется по связям между узлами. Основные функции связей [Conklin, 1987]:,
перейти к новой теме;
присоединить комментарий к документу;
соединить ссылки на документ с документом, показать на экране графическую информацию (рисунок, чертеж, график, фотографию и пр.);
запустить другую программу и т. д.
Учитывая широкое использование графовых структур в моделировании, ГТ может приобретать черты более сложных моделей, например сетей Петри, диаграмм состояний и др.
В настоящее время не существует стандартизированной технологии разработки «хорошо структурированного» ГТ, хотя важность когнитивно-наглядной и «прозрачной» структуры ГТ очевидна.
В качестве рабочего упрощенного алгоритма составления ГТ можно предложить следующий (в п. 5.5.3 будет представлен более сложный вариант).
Инструкция по разработке гипертекстового приложения
Дайте название воображаемому документу, например «Учебник по кулинарии», «Справочник абитуриента» и пр.
Представьте, что вся информация должна быть сгруппирована как в хорошем учебнике, то есть в виде глав и параграфов. Основное условие для глав, параграфов и подпараграфов — сбалансированность, то есть примерно равная величина.
Проставьте перекрестные ссылки между понятиями внутри параграфов, придерживаясь принципа «чем меньше — тем лучше».
Добейтесь баланса аудио, видео и графической информации.
Предоставте возможность возвращения на шаг назад или на более высокий уровень иерархии.
Отобразите иерархическое положение текущей страницы. Например, если мы находимся в подпараграфе, то необходимо вывести название текущей главы и параграфа.
Еще раз проверьте гипертекстовое содержание, в котором отражены все главы, параграфы и подпараграфы. Из любой страницы приложения должен быть доступ к этому содержанию.
Все необходимые гипертекстовые ссылки лучше располагать не в самом тексте, а разместить их в одном месте на странице, например в конце страницы.
Ссылки, по которым пользователь уже заходил, должны выделяться другим цветом.
От мультимедиа к гипермедиа
Мультимедиа (ММ) сегодня понимается как интегрированная компьютерная среда, позволяющая использовать наряду с традиционными средствами взаимодействия человека и ЭВМ (алфавитно-цифровой и/или графический дисплей, принтер, клавиатура) новые возможности: звук (живой человеческий голос, музыку и др.), видеоролики (цветные художественные и документальные клипы), озвученную мультипликацию и 工 д.
Когда элементы ММ объединены на основе сети гипертекста, можно говорить о гипермедиа (ГМ). Основной сферой применения ГМ сегодня являются автоматизированные обучающие системы (АОС) или электронные учебники. Размещение в узлах сети не только текстовой и цифровой информации, но и графиков, видеоклипов, фото и музыки обогащает гипертекст и увеличивает занимательность и наглядность электронных учебников. В последние годы ММ активно внедряется
и в интеллектуальные системы [Nielsen, 1990], особенно в системы-консультанты, как эффективное средство увеличения наглядности и понятности рекомендаций, выдаваемых системой. Использование анимации, звука и видео существенно облегчает усвоение учебного материала по структурированию знаний и снижает уровень когнитивных усилий учащихся при одновременном уменьшении времени, необходимого на изучение данной проблематики.
Основной предпосылкой интереса к гипермедиа-системам является фактически беспрецедентный успех глобальной сети Интернет и WWW-технологии.
Другим фактором появления ГМ можно считать мощный прорыв на рынке машинных носителей информации со стороны фирм, производящих компактаудиодиски (PHILIPS, SONY, NIMBUS) в виде CD-ROM (Compact Disc Read Only Memory), позволяющих хранить до 600 Мб информации, тем самым открывая дверь для обработки BLOB (Binary Large Objects) — больших двоичных объектов, например оцифрованных видеоизображений.
Тем не менее существует целый ряд проблем, с которыми сталкиваются разработчики ММ-систем, независимо от того, ориентированы они на Интернет-при- ложения или на автономные учебники на CD-ROM:
отсутствие методологии и технологии структурирования разнородной информации;
отсутствие единых стандартов на системы кодирования и обработки;
сложные аппаратные и программные решения проблем аналого-цифровых преобразований и синхронизации полноэкранного видео.
Сейчас не существует единой методологии, а тем более технологии разработки ГМ систем, такое состояние характеризуется как «по science, rather art», то есть «не наука, а искусство». Однако первые подступы к созданию технологии уже сделаны [Кирмайкл, 1994; Reisman, 1991], и разработки в этой области продолжают активно развиваться.
Традиционно процесс разработки ГМ включает:
Фаза 1 — проектирование и разработка структуры и отдельных фрагментов гипермедиа-приложения, включая звуковые и видеоролики, программное окружение. 1 фаза — наиболее трудоемкий по времени и человеческим ресурсам период. Эту фазу осуществляет команда, состоящая из:
менеджера;
специалиста по системам обучения;
эксперта предметной области;
дизайнера-фафика;>
системного аналитика;
сценариста; 1
программиста.
Фаза 2 зависит от того, на какой вариант приложения рассчитана система.
Для Интернет-приложений разрабатываются Web-страницы на языке HTML с включением оцифрованных в специальных форматах звука, изображений, анимации и видео. При этом могут использоваться специальные пакеты, например Dreamwever или FrontPage.
Для изготовления CD-дисков используется как HTML-формат, так и специальные программные средства (authoring languages and systems), как, например Toolbook или Macromedia Director.
Фаза 3 включает прототипирование CD-ROM на специальном устройстве WORM (Write Once Read Many) и его тестирование либо размещение приложения на Интернет-сайте.
Фаза 4 — это тиражирование и производство готовых CD ROM.
На пути к адаптивным обучающим системам
Инструментом познания согласно концепции параграфа 5.4 можно считать и процесс проектирования структуры гипертекста. Ранее нами [Гаврилова, 1996-99] был предложен подход, трактующий структуру (граф) гипертекста (ГГ) как «скелет» поля знаний, то есть наиболее информационно-нагруженный элемент поля знаний. Именно этот граф отражает структуру знания, которую можно назвать гиперзнания. Усвоение этой структуры является важнейшим компонентом процесса обучения. Очевидно, чем более будет конкретная структура ГТ соответствовать индивидуальной когнитивной структуре, тем эффективнее будет идти процесс обучения. Фактически это означает, что обучение и тренинг будут организованы не через навязывание конкретных когнитивных структур обучаемому и ломку старых представлений, а через проекцию нового знания на каркас индивидуального опыта и наращивание уже имеющихся когнитивных структур. Такая адаптация к индивидуальным познавательным структурам может существенно повысить эффективность обучающих систем.
Предлагаемый подход позволяет представить поле знаний предметной области в виде релевантной гиперструктуры HS, узлами которой являются концепты А, выделяемые экспертами как «опорные», то есть принципиально значимые. Связи или отношения R используются для переходов между узлами. Такая трактовка является естественным развитием моделей представления знаний типа семантических сетей, которые на современном этапе считаются наиболее адекватными человеческой структуре памяти [Величковский, 1982; Шенк, Хантер, 1987]. Естественно, что такие концептуально-когнитивные структуры отличаются резкой индивидуальностью, связанной с личностными, интеллектуальными и профессиональными различиями носителей знаний. В некотором смысле такая (Структура является когнитивной моделью индивида.
Предлагаемый подход согласуется с концепцией мультидеревьев [Furna, Zacks, 1994], реализующей множественное представление ПО. Модель пользователя, сформированная по этому принципу, будет отражать «модель мира» данного конкретного пользователя в виде гиперграфа, узлы которого, в свою очередь, могут быть раскрыты в виде гиперструктур более низкого уровня. Фактически это
соответствует субъективным концептуальным структурам в памяти. Часто в проблематике АОС используют понятие «сценария». Традиционно под сценарием понимается описание содержательного, логического и временного взаимодействия структурных единиц программы, с помощью которых реализуется авторская цель [Бойкачев, Конева, Новик, 1994].
Очевидно, что в гипермедиа учебных приложениях естественным представлением сценария является граф гипертекста. При этом важно добиваться, чтобы этот сценарий соответствовал (был релевантным) представлениям как учителей, так и учеников.
Релевантная ГТ-структура представляетртратифицированную сеть HS=<A,R>, отражающую иерархию понятий предметной области в форме, соответствующей профессиональным представлениям экспертов и не вызывающей когнитивного диссонанса у пользователя.
Для формирования стратифицированного множества вершин А можно использовать модификацию алгоритмов объектно-структурного анализа ОСА (параграф 3.4).
Алгоритм «ОСА-гипер»
Сформулировать цель и собрать от экспертов всю доступную информацию.
Определить количество страт N, подлежащих формированию.
Из информации, полученной от экспертов и из литературы, выбрать всё значимые основные объекты и понятия {А} и разместить их по стратам, 一 сформировав опорные метаузлы ГТ структуры.
Детализировать концепты, пользуясь нисходящей концепцией (top- down).
Образовать метапонятия по концепции (bottom-up).
Исключить повторы, избыточность и синонимию.
Обсудить понятия, не вошедшие в структуру ГТ с экспертом и включить их или исключить.
Выявить основные отношения {R} и спроектировать эскиз ГТ структуры.
Провести обследование потенциальных пользователей с целью выявления их когнитивных представлений о данной ПО, а также формирования модели пользователя.
Привести в соответствие эскиз ГТ и представления пользователя.
Сформировать ряд сценариев обхода ГТ с целью упрощения навигации и учета необходимых сценарных связей и включить их в структуру.
Данный алгоритм выявляет канонический или основной сценарий, альтернативные сценарии формируются на основании либо иного опыта преподавания, либо с учетом категории пользователей.
Поел едовател ьное применение данного подхода и визуальных методов проектирования позволило сформировать ГРАФИТ-технологию и реализовать ее в ряде программных продуктов ВИКОНТ (ВИзуальный Конструктор Онтологий), ПЕГАС (ПроЕктирование Гипер-Активных Схем) [Гаврилова и др., 1998-2000] (рис. 5.11).
Графические технологии(ГРАФИТ)
Эксперт в предметной области
Рис. 5.11. ГРАФИТ-технология визуального проектирования ГТ
При разработке гипермедиа-приложений необходимо также учитывать фактор сбалансированности звуковых и видеоузлов опорной ГТструктуры, то есть аудио- и видеофрагменты должны равномерно распределяться на сети. Для этого в технологию ГРАФИТ введено понятие «раскраски» узлов, что позволяет наглядно оценить сбалансированность сети по аудио- и видеонагрузке. Алгоритм 《ОСА-гипер» учитывает необходимость анализа не только исходной информации, но и навигационных возможностей:
перемещение на экран назад;
возврат к началу;
возврат к началу секции;
просмотр структуры;
озвучивание экрана;
включение видео;
помощь;
перемещение на экран вперед.$
Особенно ценно в реализации графической навигации то, что в произвольный момент пользователь может посмотреть структуру сценария и понять, в каком месте он сейчас находится.
Данный подход использован при создании ГТ АОС в области инженерии знаний для систем дистанционного обучения (Gavrilova, Stash, Udaltsov, 1998). Системы обучения в области ИИ имеют пока небольшую историю, хотя при отсутствии учебников по данным дисциплинам эти электронные учебники особенно необходимы. Известны лишь единичные работы в нашей стране и за рубежом — «База знаний для разработчиков ЗС» [Молокова, Уварова, 1992] и KARTT (Knowledge Acquisition Research and Teaching Tool) [Liebovitz, Bland, 1994].
При проектировании любой ГТ структуры нетривиальной задачей является выделение «опорных» концептов — вопрос, практически не освещенный в литературе. В работе [Гаврилова, Червинская, 1993] представлен обзор различных методов извлечения знаний, частично включающих и исследования по выявлению значимых концептов. Можно предложить использовать для этой цели методы многомерного шкалирования, позволяющие выявлять структуру индивидуальных ментальных пространств, анализируя попарные связи понятий предметной области (см. п. 5.1).
Эти методы использовались и ранее для изучения семантических пространств памяти [Терехина, 1988; Петренко, 1988; Cook, 1985], однако можно использовать новый подход, ориентированный на анализ не только осей ментальных пространств с выявлением соответствующих конструктов, но и точек сгущения понятий, называемых «аттракторами» для выявления метапонятий или концептов.
В дальнейшем эти концепты образуют узлы {А} релевантной ГТ структуры, которую можно фактически трактовать как модель пользователя UM (user model):
UM - {A, R}.
Более широкие исследования [Voinov, Gavrilova, 1993; Воинов, Гаврилова, 1994] показали, что психосемантические методики (см. п. 5.1), обогащенные новыми элементами (использование метафорических планов), могут способствовать выявлению имплицитных структур знаний, не поддающихся выявлению другими методами.
Использование UM как гиперструктуры в гипертекстовых АОС позволяет создавать 《гибкие» релевантные сценарии, ориентированные на когнитивные особенности определенных групп пользователей. Последнее замечание можно также отнести к разработке систем гипермедиа. Очевидно, что глубокое и конструктивное изучение человеческого фактора в области computer science может существенно раздвинуть ограничения современных интеллектуальных и обучающих систем.
Программный инструментарий разработки систем, основанных
на знаниях
Технологии разработки программного обеспечения — цели, принципы, парадигмы
Методологии создания и модели жизненного цикла интеллектуальных систем
Языки программирования для ИИ и языки представления знаний
Инструментальные пакеты для ИИ
WorkBench-системы
Технологии разработки программного обеспечения — цели, принципы, парадигмы
Основные понятия процесса разработки программного обеспечения (ПО)
Как известно, технология (от греческого технос — мастерство, логос — слово, наука) —это наука о мастерстве.
Под технологией программирования понимается [Брукс, 1979] совокупность знаний о способах и средствах достижения целей в области программного обеспечения ЭВМ, в том числе и таких, которые ранее никем не достигались.
В широком смысле технология разработки ПО должна обеспечивать последовательный подход к созданию программных систем. Наиболее очевидная цель в
разработке ПО состоит в соблюдении установленных заказчиком требований при реализации системы. Однако у заказчика редко имеются полные и последовательные определения требований. Обычно и заказчик и разработчик не до конца понимают проблему, и требования совершенствуются в процессе разработки системы. Необходимо отметить и факт изменения требований в течение жизненного цикла программной системы.
Изменения являются постоянным фактором разработки ПО. Для того чтобы преодолеть их разрушающий эффект, в качестве целей технологии разработки ПО принимаются следующие четыре свойства программных систем [Ross et al., 1975]:
Модифицируемость. Необходимость модификации ПО обычно возникает по двум причинам: чтобы отразить в системе изменение требований или чтобы исправить ошибки, внесенные ранее в процессе разработки.
Эффективность системы подразумевает, что при функционировании оптимальным образом используются имеющиеся в ее распоряжении ресурсы: время и память.
Надежность системы ПО означает, что она должна предотвращать концептуальные ошибки, ошибки в проектировании и реализации, а также ошибки, возникающие при функционировании системы.
Понимаемость. Последняя цель технологии ПО — понимаемость — является мостом между конкретной проблемной областью и соответствующим решением. Для того чтобы система была понимаемой, она должна быть «прозрачной».' Цели технологии разработки ПО, рассмотренные выше, не могут лишь пассивно признаваться. Наоборот, по мере выполнения работ необходимо придерживаться определенного набора принципов, которые обеспечивают достижение этих целей. В качестве таких принципов обычно выделяют [Ross et al., 1975; Буч, 1992] абстракцию, сокрытие информации, модульность, локализацию, единообразие, полноту 〃 подтверждаемость.
Абстракция является одним из основных средств для управления сложными системами ПО. Суть абстракции состоит в выделении существенных свойств с игнорированием несущественных деталей. По мере декомпозиции решения на отдельные компоненты каждая из них становится частью абстракции на соответствующем уровне. Абстрагирование применяется и к данным, и к алгоритмам. На любом уровне абстракции могут фиксироваться абстрактные типы данных, каждый из которых характеризуется множеством значений и множеством операций, применимых к любому объекту данного типа.
Сокрытие или упрятывание информации имеет целью сделать недоступцыми детали, которые могут повлиять на остальные, более существенные части системы. Упрятывание информации обычно скрывает реализацию объекта или операции и, таким образом, позволяет фиксировать внимание на более высоком уровне абстракции. Кроме того, сокрытие проектных решений нижнего уровня оберегает стратегию принятия решений верхнего уровня от влияния деталей.
Абстракция и сокрытие информации способствуют модифицируемости и понимаемости систем ПО. На каждом уровне абстракции допускается применение лишь определенного набора операций и делается невозможным применение любых операций, нарушающих логическую концепцию данного уровня, за счет чего повышается надежность программной системы.
Модульность является следующим фундаментальным свойством, помогающим управлять сложностью систем ПО. Она реализуется целенаправленным конструированием. В самом общем плане модули могут быть функциональными (процедурно-ориентированными) или декларативными (объектно-ориентированными), Связность модулей определяется как мера их взаимной зависимости. В идеале должны разрабатываться слабо связанные модули. Другой мерой, применимой к модульности, является прочность, которая определяет, насколько сильно связаны элементы внутри модуля.
Локализация помогает создавать слабо связанные и весьма прочные модули. По отношению к целям технологии разработки ПО принципы модульности и локализации прямо способствуют достижению модифицируемости, надежности и понимаемости.
Абстракция и модульность считаются наиболее важными принципами, используемыми для управления сложностью систем ПО. Но они не являются достаточными, потому что не гарантируют получения согласованных и правильных систем. Для обеспечения этах свойств необходимо привлекать принципы единообразия, полноты и подтверждаемости,
Принципы технологии разработки ПО не должны применяться случайно — необходимо выполнять структуризацию системы определенным образом и, что самое важное, поскольку происходит деление системы на модули, применять согласованные критерии декомпозиции. Можно выделить три основных подхода к разработке ГЮ, обеспечивающие такие критерии: нисходящее структурное проектирование [Йордан, 1979]; проектирование, структурированное по данным [Jackson, 1975], и объектно-ориентированное проектирование [Booch, 1986].
Нисходящее структурное проектирование определяет декомпозицию системы путем оформления каждого шага этого процесса в виде модуля. Это приводит к созданию функциональных программных модулей.
Проектирование, структурированное по данным, является альтернативой нисходящей методологии. При этом сначала определяются структуры дайных, а затем на их основе определяется структура программных модулей. Таким образом, здесь делается попытка сначала четко определить реализацию объектов, а затем сделать их структуру видимой в функциональных модулях, обеспечивающих операции над объектами.
Методы нисходящего проектирования императивны по своей природе. Они заставляют концентрировать внимание на операциях, мало заботясь о проектировании структур данных. Методы проектирования, основанные на структурировании по данным, находятся как бы на другом конце спектра. Они концентрируют внимание на объектах, а операции трактуют глобальным образом.
В идеале разработчикам ПО хотелось бы использовать подход, позволяющий строить решения прямо в соответствии с имеющимся представлением проблемы. Кроме того, как и в естественном языке, желательна сбалансированность объектов и операций на уровне принимаемых решений.
Такой подход получил название объектно-ориентированного [Booch, 1986]. Здесь учитывается важность трактовки объектов ПО как активных элементов, причем каждый объект наделен своим собственным набором допустимых операций. Легко убедиться, что объектно-ориентированная парадигма поддерживает основные принципы технологии разработки ПО.
Модели процесса разработки ПО
Под жизненным циклом разработки ПО традиционно понимается упорядоченная совокупность этапов, обеспечивающих создание качественного программного продукта. В общем случае в жизненный цикл разработки включаются следующие стадии: техническое задание, эскизный проект, технический проект, рабочий проект и внедрение.
В литературе существует множество нареканий на несовершенство данного разбиения [Липаев и др., 1983], но смысл его в целом достаточно ясен — борьба со сложностью процесса разработки программных продуктов за счет структуризации этапов и локализации на каждом из них только тех задач, которые могут и должны решаться именно здесь. Если перечисленные выше этапы укрупнить, останутся стадии проектирования, реализации и сопровождения.
Проектирование предполагает составление формальных и/или формализованных спецификаций.
Реализация — преобразование этих спецификаций в программный код (автоматическое и/или автоматизированное).
Сопровождение — тестирование разработанной системы, ее внедрение и последующую модификацию, которая, в свою очередь, может вернуть весь процесс к стадии проектирования /перепроектирование).
Ключевой стадией в жизненном цикле процесса разработки ПО является проектирование. Ошибки и просчеты, допущенные здесь, — самые《дорогие». Поэтому основные усилия в области технологии программирования направлены на автоматизацию проектирования программных комплексов. При этом базисными понятиями являются модель программы и модель системы.
Существуют различные подходы к разработке таких моделей [Миллс, 1970]. Однако с точки зрения целей настоящей книги нас будут интересовать, в первую очередь, те из них, которые имеют непосредственное продолжение в инструментальных средствах и интегрированных инструментальных средах. Поэтому ниже основное внимание будет уделено моделям программ, которые используются в так называемых WorkBench-системах (наиболее близким по семантике к этому термину является словосочетание «станок для производства ПО»).
Одну из таких моделей предлагает W/O (Warnier/Orr) методология [Огг et al., 1977]. Она объединяет методологию Warnier по использованию логических
структур данных и логических конструкций программ и систем и методологию DSSD (Data Structured System Development) Oppa, базисом которой является аксиома о логическом соответствии между эвристической структурой программ и данных, обрабатываемых этими программами. На практике такая методология предполагает, что в распоряжении проектировщика системы имеется представительный набор процедурных шаблонов для достаточно широкого класса программируемых задач.
В настоящее время DSSD-методология «переросла» из методологии разработки программ в методологию разработки систем. При этом выделены явно уровень программирования (programming level) и системный уровень (system level). Применяются в DSSD два концептуальных представления — диаграммы входов (Entity diagrams), обеспечивающие определение системного контекста, и модифицированные W/О-диаграммы (Assembly-line Diagrams), специфицирующие функциональное развитие системы [McClure, 1979].
Следующим подходом к созданию моделей программ (по идее достаточно близким к W/О-методологии) является логическое моделирование Гэйна [Cane et al., 1979]. Сам метод ориентирован на создание систем обработки данных. Логическая модель системы проектируется в процессе последовательного применения следующих семи этапов: описание природы предметной области с помощью диаграмм потоков данных (Data Flow Diagram); выделение первичной модели данных (списка элементов данных в каждом информационном узле); проверка того, что DFD действительно отражает структуру данных, хранимых в системе; сведение полученной на предыдущем этапе информации в двумерные таблицы, которые в дальнейшем нормализуются; коррекция DFD с учетом результатов нормализации предыдущего этапа; разбиение полученной в результате выполнения предыдущих этапов модели на «процедурные единицы» (procedure units), а также определение деталей каждой процедурной единицы. После выполнения этих этапов принимается решение о необходимости прототипирования системы на целевом языке.
И наконец, третьим в ряду подходов к созданию модели проектируемой программы является метод Йордана (Yourdon) [Yourdon et al” 1979; Yourdon, 1989]. Он включает два компонента: инструментальные средства и методики. Ориентирована методология Йордана на проектирование систем обработки данных. Под инструментальными средствами здесь понимаются различные диаграммы, используемые при описании моделей требований и моделей архитектуры проектируемой информационной системы. Самые известные из таких диаграмм — диаграммы потоков данных DFD. Однако их недостатком является отсутствие средств описания отношений между данными и их «поведения» во времени. Вот почему в инструментальные средства метода Йордана на сегодняшний день кроме DFD включены ERD-диаграммы (Entity Relationship Diagrams) и STD-диаграммы (State Transition Diagrams).
Методики в методе Йордана помогают перейти от бланка на бумаге и/или экранной формы к хорошо организованной системной модели. Первоначально эти методики базировались на традиционном top-down проектировании. В настоящее
время здесь используется метод событийного разбиения (event partitioning). При этом сначала создается контекстная диаграмма верхнего уровня (top level context diagram), где определяются системные ограничения и интерфейсы с внешним «миром». Затем с помощью техники интервью формируется список событий из внешней среды, на которые система должна реагировать. Такой подход обеспечивает простой базис для формирования «сырой» DFD. Несколько DFD-реакций могут быть объединены в реакцию более высокого уровня. Критерием такого объединения является наличие узлов, связанных общими данными. По существу, событийное разбиение не что иное, как метод объектно-ориентированного проектирования.
Проблемы, возникающие при использовании метода ERD-диаграмм, связаны, прежде всего, с трудностями интеграции компонентов при разработке всей системы. Вот почему в последнее время этот метод был обобщен за счет введения интегрированной базы данных. При этом ERD-метод трансформируется в структурную методологию, основные этапы которой сводятся к разработке ERD (здесь выделяются как собственно сущности с их типами, так и связи, тоже с их типами); определению кардинальности (cardianality) — однозначности-многозначности типов связей; преобразованию ERD по определенным правилам в соответствующий файл и структуру БД. В процессе такого преобразования каждый тип сущности трансформируется в отношение, а тип связи — в особое (stand alone) отношение или объединяется с другими отношениями в зависимости от кардинальности типа связи. Разработка прикладных программ на основе сформированного файла и структуры базы данных является заключительным этапом в этом подходе.
Последним методом, который кратко рассматривается в данном подразделе, является метод структурного проектирования (Structured Design) [Yourdon et al., 1979]. Структурное проектирование сделалось действительно мощным и активно используемым на практике подходом за счет того, что к моделям и методам были добавлены оценки результатов проектирования. Здесь предлагаются все проектные решения располагать в 3-мерном пространстве (содержание — сложность — связность). И утверждается, что хорошими проектными решениями будут лишь те, которые при заданном содержании имеют минимальную сложность и максимальную связность. По существу, этот критерий отражает уже обсуждавшиеся выше понятия абстрагируемости, модульности, сокрытия информации, связности и т. п. Конкретным примером воплощения структурного подхода является «водопадная» или «каскадная» (waterfall) модель разработки систем ПО [Balzer et al., 1983].
Технология программирования уже прошла достаточно долгий путь развития, и сейчас происходит переоценка ее фундаментальных исходных посылок. Первым кандидатом для такой переоценки стала традиционная точка зрения на процесс разработки ПО, как на процесс, основанный на понятии жизненного цикла. Растущее единодушие специалистов состоит в том, что данная точка зрения должна быть заменена такой, которая в большей степени соответствовала бы разработкам, поддерживаемым автоматизированными средами.
В качестве примера смены парадигм можно отметить спиральную модель процесс саразработки МО (рис. 6.1), предложенную Боэмом [Boehm, 1986], суть которой состоит в том, что отдельные фазы процесса «прокручиваются» на постепенно повышающихся уровнях иерархии.
Увеличение стоимости
Определение ситуации, альтернатив, ограниченийОпределение ситуации, альтернатив, ограниченийОценка альтернатив, разрешение рисжовОценка альтернатив, разрешение рисжовРис. 6.1. Спиральная модель БоэмаРис. 6.1. Спиральная модель Боэма
Определение ситуации, альтернатив, ограничений
Определение ситуации, альтернатив, ограничений
Оценка альтернатив, разрешение рисжов
Оценка альтернатив, разрешение рисжов
Рис. 6.1. Спиральная модель Боэма
Рис. 6.1. Спиральная модель Боэма
Результатом разработки при этом становится не только программный код, но и его представление на более высоком уровне, что особенно важно 自 тех случаях, когда ПО эволюционизирует. Естественно, что такая модель предполагает наличие более гибких механизмов взаимодействия между потребителями и разработчиками и соответствующих инструментальных средств.
В Европе это направление ассоциируется, прежде всего, с проектированием ПО на основе объектно-ориентированных методологий, среди которых наиболее популярными являются технология MERISE и методология Шлайера—Мэллора (Shlaer-Mellor) [Andre et al, 1994; Shlaer €t al., 1992].
В рамках данного подхода проектирование рассматривается как процесс, протекающий в пространстве трех измерений: «статика»—《динамика》一《алгоритма» (рис. 6.2).
Жизненный цикл при этом похож на виток в спирали Боэма, но включает другие стадии. Первая из них связана с осью «Статика» и предполагает идентификацию и описание объектов, атрибутов и отношений, которые требуются для спецификации проектируемой системы. Вторая стадия служит для описания поведения каждого объекта в ответ на внешние запросы и дает в качестве результата совокупность жизненных циклов всех введенных объектов. Затем проектируются ал-
горитмы реализации действий, специфицированных на предыдущей стадии, и, наконец, на четвертой стадии осуществляется валидация спроектированной системы на полноту и функциональное соответствие исходной задаче. Последняя стадия может потребовать нового витка в модели жизненного цикла.
Таким образом, мы рассмотрели основные модели процессов разработки систем «традицонного» программного обеспечения и теперь переходим к анализу соответствующего инструментария.
Инструментальные средства поддержки разработки систем ПО
Технология программирования в целом и средства поддержки разработки ПО, в частности, развиваются настолько быстро, что даже простое перечисление основных инструментальных систем заняло бы в этой книге слишком много места. Вот почему ниже мы остановимся кратко лишь на нескольких проектах в областй технологии программирования, которые интересны в контексте данного издания.
Любая развитая технологическая система должна поддерживать все основные этапы создания проектируемого программного комплекса. Для достижения этой цели в общей структуре типовой технологической системы поддержки разработки (рис. 6.3) обычно выделяют базу данных проекта; подсистему автоматизации проектирования и программирования; подсистемы отладки, документирования и сопровождения, а также подсистему управления ходом выполнения проекта.
Исходные и промежуточные спецификации программы, тесты, задания и т. д.
О
0
Документация, результаты работыподсистем, результаты прогонов и т. д.
Рис. 6.3. Общая структура типовой технологической системы поддержки разработки
Развитые библиотечные системы поддержки разработки используются в настоящее время во всем мире во всех сколько-нибудь серьезных программных проектах. Но в подавляющем большинстве случаев такие системы достигли уровня удобства работы с ними квалифицированных программистов. Нас же, прежде всего, интересуют системы и проекты, в которых имеются тенденции к эксплицитному представлению технологических знаний, даже если они и не базируются на 笋еях и методах ИИ. :
Один из таких проектов — Gandalf [Haberman et aL, 1986] — ориентирован на автоматизированную генерацию систем разработки программного обеспечения. Исследования, выполняемые в рамках проекта Gandalf, касаются трех аспектов поддержки проектирования ПО: управление проектом, контроль версий и инкрементное программирование, а также интеграция их в единую среду. Управление в Gandalf-среде базируется на предположении, что разрабатываемый проект должен трактоваться как множество абстрактных типов данных, над которыми могут выполняться лишь определенные операции. Средством, реализующим данную концепцию, явилась система SDC (Software Development Control), представляющая собой набор программ, первоначально реализованных на языке Shell в системе UNIX, а позднее переведенная на язык С.
Исследования в области контроля версий были начаты еще Л. Коопридером на базе проекта FAFOS [Habermann et al., 1976], где изначально анализировались возможности создания семейства операционных систем. Была разработана нотация для описания взаимодействия между подсистемами, для описания различных версий подсистем (исходного и объектного кода, документации и т. п,) и для описания действующих на этапе разработки механизмов (компиляция, редактирование связей и т. п.). Затем был создан специальный язык Intercol как средство описания взаимосвязи и версий модулей в системе. И наконец, в систему были встроены знания о том, как конструировать систему из частей, не заставляя заниматься этим пользователя. В развитие этих работ была создана система SUCE, в рамках которой отслеживались различия между реализациями (версиями, которые действительно дают код для ряда спецификаций) и композициями (версиями, определяющими новые подсистемы как группы существующих подсистем). В системе LOIPE (Language-Oriented Incremental Programming Environment) инкрементная компиляция выполняется на уровне отдельной процедуры. Достоинством такого подхода является то, что при коррекции процедуры на уровне локальных объектов или типов перекомпилируется только она. Если же меняется спецификация, то перекомпилируются и все зависящие от нее процедуры. Пользовательский интерфейс с LOIPE-системой базируется на подсистеме синтакси- чески-ориентированного редактирования ALOE (A Language-Oriented Editor). Целью разработки этой подсистемы было исследование возможности создания и использования синтаксически-ориентированных редакторов в качестве базиса для сред программирования.
Анализ литературы последних лет по технологии программирования показывает, что новой ветвью в технологии промышленной разработки и реализации сложных и значительных по объему систем программного обеспечения является CASE-технология (Computer Aided Software Engineering) [BYTE, 1990].
Первоначально CASE-технология появилась в проектах создания промышленных систем обработки данных. Это обстоятельство наложило свой отпечаток и на инструментальные средства CASE-технологии, где самое серьезное внимание уделялось, по крайней мере в ранних CASE-системах, поддержке проектирования информационных потоков. В настоящее время наблюдается отход от ориентации на системы обработки данных, и инструментальные средства CASE-тех- нологии становятся все более универсальными.
Все средства поддержки CASE-технологии делятся на две большие группы: СА- SE-ToolKits и CASE-WorkBenches. Хороших русских эквивалентов этим терминам нет. Однако первые часто называют «инструментальными сундучками» (пакетами разработчика, технологическими пакетами), а вторые — «станками для производства программ (технологическими линиями).
По определению [BYTE, 1990]. C4SE-Too/K/t — коллекция интегрированных программ* ных средств, обеспечивающих аатоматическое ассистирование в решении задач одного типа в процессе создания программ.
Такие пакеты используют общее «хранилище» для всей технической и управляющей информации по проекту (репозиторий), снабжены общим интерфейсом с пользователем и унифицированным интерфейсом между отдельными инструментами пакета. Как правило, CASE-ToolKit концентрируются вокруг поддержки разработки одной фазы производства программ или на одном типе прикладных задач.
Все вышесказанное справедливо и по отношению к CASE-WorkBench. Но здесь, кроме того, обеспечивается автоматизированная поддержка анализа решаемых задач по производству программного обеспечения, которая базируется на общих предположениях о процессе и технологии такой деятельности; поддерживается автоматическая передача результатов работ от одного этапа к другому, начиная со стадии проектирования и кончая отчуждением созданного программного продукта и его сопровождением. \ .
Таким образом, CASE-WorkBench является естественным «замыканием» технологии разработки, реализации и сопровождения программного обеспечения.
В настоящее время «типовая» система поддержки CASE-технологии имеет функциональные возможности, представленные на рис. 6.4.
Рис. 6.4. Функциональные возможности типовой системы поддержки CASE-технологии
Как следует из этой Н-диаграммы, в CASE-среде должны поддерживаться все основные этапы разработки и сопровождения процессов создания программных систем. Однако уровень такой поддержки существенно различен. Так, например, если говорить об этапах анализа и проектирования, большинство инструментальных пакетов поддерживает экранные и отчетные формы, создание прототи-
пов, обнаружение ошибок. Значительная часть этих средств предназначена для ПЭВМ. Многие поддерживают такие широко используемые методологии, как структурный анализ DeMarco или Gane/Sarson, структурное проектирование Yourdan/Jackson и некоторые другие. Существуют специализированные пакеты разработчиков для создания информационных систем, например AnaTool (Advanced Logical Software) для Macintosh; CA-Universe/Prototype (Computer Associates International) для ПЭВМ. Имеются CASE-среды и для поддержки разработки систем реального времени.
В среде разработчиков ПО существуют две оценки данного подхода: часть из них считает, что CASE-технология кардинально меняет процессы разработки и эксплуатации ПО, другие отрицают это и оставляют за инструментальными средствами CASE лишь функцию автоматизации рутинных работ [BYTE, 1989]. Однако анализ литературы показывает, что CASE средства все-таки «сдвигают» технологии разработки ПО с управления выполнением проектов в сторону метода прототипизации. И этот сдвиг, на наш взгляд, чрезвычайно важная тенденция в современной технологии программирования.
Методологии создания и модели жизненного цикла интеллектуальных систем
В настоящее время в области разработки и реализации интеллектуальных систем сложилось следующее положение: с одной стороны, квалификация коллективов разработчиков здесь, как правило, достаточно высока, чтобы считать классические положения технологии разработки ПО, обсуждавшиеся выше, естественным компонентом работы. С другой стороны, жизненно важными технологические аспекты создания интеллектуальных систем становятся, лишь когда такие системы выходят на уровень промышленных разработок. Создание и внедрение интеллектуальных систем общения с промышленными базами данных, систем машинного перевода нового поколения, интеллектуальных систем автоматического синтеза программ и особенно экспертных систем, по существу, и выдвинуло проблему технологической поддержки разработок в области ИИ на передний план [SIG- SOFT, 1986].
На фоне вышеописанной ситуации обращает на себя внимание тот факт, что имеются только единичные примеры инструментальных систем, которые бы поддерживали некоторую четко провозглашенную технологию разработки ПО и опирались бы на достаточно развитые системы представления знаний [Ramamoorthy et al., 1987]. Учитывая это, в данном параграфе рассматриваются "технологические аспекты и методологии создания интеллектуальных систем в свете введен. ных выше понятий технологии программирования, а в следующих — инструментарий для разработки систем ИИ.
Стиль программирования систем искусственного интеллекта существенно отличается от стиля программирования с использованием обычных алгоритмических
языков. При этом почти каждая подобласть области ИИ характеризуется своим собственным стилем программирования, не всегда адекватным для других приложений. В табл. 6.1 приведены некоторые характерные отличия между обычными программными системами и системами ИИ [Ramamoorthy et al.? 1987].
Таблица 6.1. Отличия систем ИИ от обычных программных систем
Характеристика программирование
Программирование в СИИ
Тракционное
Тип обработки
Символьная-
Числовая
Методы
Эвристический поиск
Алгоритм
Задание шагов решения
Неявное
Точное
Искомое решение
Хцовлетворительное
Оптимальное
Управление и данные
Перемешаны
Разделены
Знания
Неточные
Точные '
Модификации
Частые
Редкие
Но ввиду все возрастающего использования систем ИИ в конкретных приложениях, к ним начинают предъявляться практически те же требования, что и к традиционным программным комплексам и системам. В связи с этим становится весьма актуальной поддержка жизненного цикла программ в ИИ. К основным этапам в этом случае относятся инженерия требований, тестирование на прототипах и сопровождение.
Как и в случае обычных программных систем, разработка системы ИИ должна начинаться с формулирования полных, непротиворечивых и однозначных требований к ней [Basili et al., 1984]. При проектировании должны использоваться принципы технологии разработки ПО — такие, например, как сокрытие информации, локализация и модульность. Предполагается, что система должна проектироваться как композиция уровней. Любой уровень должен быть чувствителен лишь к нижележащим уровням. Такое проектирование упрощает не только реализацию, но и тестирование.
Тестирование ПО ИИ отличается от тестирования обычных систем, так как для первых характерно недетерминированное поведение вследствие использования стратегии разрешения конфликтов, зависящей от параметров периода исполнения программы. Поэтому единственным эффективным способом тестирования систем ИИ является прототипизация.
Фаза сопровождения, включающая выполнение самых различных модификаций системы, является важнейшим этапом процесса разработки любой системы, но имеет свою специфику для систем ИИ. Здесь база знаний — наиболее динамичный компонент и меняется в течение всего жизненного цикла. Поэтому сопровождение интеллектуальных систем — серьезная проблема. Но именно вопросам сопровождения уделяется мало внимания, хотя в обычном программировании имеются средства, которые могли бы быть адаптированы и для случая ПО ИИ. Это, например, системы управления версиями, системы управления конфигурацией и системы модифицирующих запросов.
Таким образом, создание ПО систем, основанных на знаниях, имеет как общие моменты с разработкой традиционных систем ПО, так и свою специфику, которая явным образом должна отражаться в соответствующих моделях жизненного цикла.
В недавнем прошлом полигоном для создания и испытания таких моделей являлись экспертные системы (ЭС).
В ходе работ по созданию ЭС практически сложилась определенная технология, включающая следующие основные этапы: идентификацию, концептуализацию} формализацию, реализацию и тестирование [Попов, 1987; Уотерман, 1989].
На этапе идентификации определяются задачи, подлежащие решению, выявляются цели разработки, ресурсы, наличие экпертов, готовых и способных передать свои знания проектируемой ЭС, категории и требования будущих пользователей. Концептуализация необходима для проведения содержательного анализа предметной области, в процессе которого выделяются используемые понятия и их взаимосвязи, определяются методы решения задач, и подробно обсуждалась в предыдущих главах.
На этапе формализации определяются способы представления всех типов знаний, специфицируются выделенные ранее понятия, фиксируются способы интерпретации знаний, моделируется работа системы, и оцениваются полученные результаты.
Этап реализации предполагает создание программной обстановки» в которой 6у“ дет функционировать будущая система, и наполнение экспертом базы знаний, а на этапе тестирования эксперт и инженер по знаниям в интерактивном режиме, используя, в частности, объяснения, проверяют компетентность ЭС.
В заключение на этапе тестирования проверяется пригодность ЭС для конечных пользователей.
Понятно, что процесс создания ЭС не сводится к строгой последовательности выполнения вышеперечисленных этапов. В ходе разработки происходят многочисленные возвраты к предыдущим этапам и решения, принятые там, пересматриваются. Все это существенно снижает общую эффективность разработки конкретной системы и позволяет сделать вывод о том, что модель жизненного цикла, соответствующая такой технологии, имеет мало шансов на промышленное использование.
Это, конечно, не означает, что ЭС, разработанные в рамках такой методологии, практически бесполезны или их проектирование вообще невозможно. Обычно таким образом создаются небольшие автономно функционирующие ЭС первого поколения.
Промышленная технология создания ЭС включает три фазы (или, если быть точнее, технологии): проектирование, реализацию и внедрение. Жизненный цикл разработки, охватываемый этой технологией или совокупностью технологий, состоит из 6 этапов: исследование выполнимости проекта;разработка общей кон- цепции ЭС;разработка и тестирование серии прототипов;разработка и испытание головного образца; разработка и проверка расширенных версий системы; при- вязка системы к реальной рабочей среде.
На фазе проектирования проект инициализируется, формируется группа разработчиков, определяются требования к будущей ЭС, проводятся исследования выполнимости проекта и вырабатывается общая концепция будущей системы. Остальные фазы данной технологии, по мнению [Микулич, 1990], ближе к технологии Уотермана (Waterman) и направлены на реализацию разработанной концепций в виде серии прототипов, последовательно приближающихся к требуемой ЭС. Последний из прототипов и приобретает статус головного образца, который устанавливается будущим пользователем в реальную операционную среду.
Нетрудно понять, что первые два этапа промышленной технологии соответствуют этапу идентификации; следующие три — этапам концептуализации, формализации, реализации и тестирования. Новым и вместе с тем естественным для промышленной технологии является здесь этап привязки системы к реальной рабочей обстановке.
Недостатком и той и другой технологии является то, что в действительности это лишь более или менее структурированный набор методических рекомендаций, к отдельным элементам которого, в лучшем случае, привязаны те или иные инструментальные средства. И можно сказать, что сегодняшнее состояние здесь ближе к описательному, чем к естественно-научному. А это влечет за собой наличие интерпретаций методологических рекомендаций, которые могут быть настолько различными, что теряется сама идея технологии. Таким образом, самым важным на данном этапе является создание операциональных моделей технологии разработки интеллектуальных систем. И здесь, по нашему мнению, хорошим примером могут послужить модели экспертизы, уже разработанные в рамках исследований по приобретению знаний.
Приобретение знаний, как уже неоднократно отмечалось выше, является ключевой задачей во всех технологиях построения систем, основанных на знаниях (СОЗ). Существует распространенный принцип, согласно которому производительность СОЗ находится в прямой зависимости от количества знаний, содержащихся в системе [Feigenbaum, 1977]. Более 15 лет, с момента появления известной программы TIERESIAS [Davis, 1984], исследователи в области ИИ рассматривают приобретение знаний как задачу переноса знаний эксперта в БЗ системы, что чрезвычайно важно для создания действующей системы. Но в настоящее время работы в области приобретения знаний становятся важными и с точки зрения использования полученных здесь результатов для создания интеллектуальных технологий разработки самих СОЗ.
Первое поколение методик для СОЗ базировалось на подходах двух типов: поэтапном и прототипном.
Поэтапный подход связан с представлениями о жизненном цикле [Buchanan et al., 1983; Guida et al., 1989] и соответствующей поддержке его основных стадий. В прототипном подходе первого поколения [Grover, 1983; Wielinga et al., 1988] процесс приобретения знаний может не отрабатывать все стадии, так как основным предположением здесь была возможность раскрытия структуры области экспертизы на раннем этапе проектирования на основе сравнительно небольшого
анализа. Во втором поколении СОЗ-методик признана сложность процесса приобретения знаний, преодоление которой видится в моделировании экспертизы. В данной области были предложены такие методики, как онтологический анализ [Alexander et al., 1987], концептуальные графы Sowa [Clancey, 1985], подходы, основанные на обобщенных (родовых) задачах [Chandrasekaran, 1985], и концептуальное моделирование, например KADS-методология [Breuker et al., 1986]. Мё- тодики приобретения знаний обсуждаются в огромном числе работ и, в частности, в предыдущих главах настоящей книги. Не имея места для их сколько- нибудь полного анализа, сошлемся здесь лишь на обзоры [Wielinga et al., 1988; Молокова, 1992; Осипов, 1993] и перейдем к инструментальным средствам поддержки разработки интеллектуальных систем.
Языки программирования для ИИ и языки представления знаний
Обсуждение технологических аспектов разработки сложных программных систем, проведенное выше, показывает, что наиболее проработанным этапом здесь является реализация программных проектов. По идеям и методам этот этап близок к автоматизации программирования — одной из основных проблем использования средств вычислительной техники. Здесь уже в течение многих лет применяется обширный арсенал языков программирования высокого уровня, ориентированных на удобную и эффективную реализацию различных классов задач, а также широкий спектр трансляторов, обеспечивающих получение качественных исполнительных программ. Все шире используются на современном этапе и методы автоматического синтеза программ. Уже стало обычным применение языково-ориентированных редакторов и специализированных баз данных. И можно сказать, что в рамках технологии программирования уже практически сформировалась концепция окружения разработки сложных программных продуктов, которая и определяет инструментальные средства, доступные разработчикам.
Необходимость использования средств автоматизации программирования прикладных систем, ориентированных на знания, и в частности ЭС, была осознана разработчиками этого класса программного обеспечения ЭВМ уже давно. По существу, средства поддержки разработки интеллектуальных систем в своем развитии прошли основные стадии, характерные для систем автоматизации программирования.
Оценивая данный процесс с сегодняшних позиций, можно указать в этой области две тенденции. Первая из них как бы повторяет «классический» путь развития средств автоматизации программирования: автокоды — языки высокого уровня — языки сверхвысокого уровня — языки спецификаций. Условно эту тенденцию можно назвать восходящей стратегией в области создания средств автоматизации разработки интеллектуальных систем. Вторая тенденция, нисходящая, связывается со специальными средствами, уже изначально ориентированными на определенные классы задач и методов ИИ. В конце концов, обе эти тенденции, взаимно
обогатив друг друга, должны привести к созданию мощного и гибкого инструментария интеллектуального программирования. Но для настоящего этапа в этой области, по нашему мнению, характерна концентрация усилий в следующих направлениях:
Разработка систем представления знаний (СПЗ) путем прямого использоват ния широко распространенных языков обработки символьной информации и, все чаще, языков программирования общего назначения.
Расширение базисных языков ИИ до систем представления знаний за счет специализированных библиотек и пакетов.
Создание языков представления знаний (ЯПЗ), специально ориентированных на поддержку определенных формализмов, и реализация соответствующих трансляторов с этих языков.
На начальном этапе развития ИИ языков и систем, ориентированных специально на создание прикладных систем, основанных на знаниях, не существовало. С одной стороны, в то время еще не оформился сам подход, в котором центральное место отводилось бы изложению теории в форме программ, а с другой — сама область ИИ только зарождалась как научное направление. Немаловажным было и то, что появившиеся к тому времени универсальные языки программирования высокого уровня казались адекватным инструментом для создания любых, в том числе и интеллектуальных, систем. Однако сложность и трудоемкость разработки здесь настолько велики, что практически полезные интеллектуальные системы становятся недоступными для реализации. Учитывая вышесказанное, были разработаны языки и системы обработки символьной информации, которые на несколько десятилетий стали основным инструментом программирования интеллектуальных систем.
До недавнего времени наиболее популярным базовым языком реализации систем ИИ вообще и ЭС, в частности, был ЛИСП [McCarthy, 1978]. Ниже кратко рассматривается эволюция ЛИСПа, а затем обсуждаются альтернативы этому языку, существовавшие и существующие в области реализации систем, ориентированных на знания. Результаты этого краткого обзора суммированы в виде схемы развития средств автоматизации программирования интеллектуальных систем на рис. 6.5. Подробнее эти вопросы обсуждаются в работе [Хорошевский, 1990а, Хорошевский, 1990Ь].
Как известно, язык ЛИСП был разработан в Стэнфорде под руководством Дж. Маккарти в начале 60-х годов и не предйазначался вначале для программирования задач ИИ. Это был язык, который должен был стать следующим за ФОРТРАНОМ шагом на пути автоматизации программирования.
По первоначальным замыслам новый язык должен был иметь средства работы с матрицами, указателями и структурами из указателей и т. п. Предполагалось, что первые реализации будут интерпретирующими, но в дальнейшем будут созданы компиляторы. Как отмечает сам автор языка в обзоре [McCarthy, 1978], к счастью, для столь амбициозного проекта не хватило средств. К тому же к моменту созда-
ния первых ЛИСП-интерпретаторов в практику работы на ЭВМ стал входить диалоговый режим, и режим интерпретаций ёстественйо вписался в общую структуру диалоговой работы.
Рис. 6.5. Эволюция средств представления знаний
Примерно тогда же окончательно сформировались и принципы, положенные в основу языка ЛИСП: использование единого спискового представления для
программ и данных; применение выражений для определения функций; скобочный синтаксис языка. Процесс разработки языка завершился созданием версии ЛИСП 1.5 [McCarthy, 1978], которая на многие годы определила пути его развития;
На протяжении всего существования языка было много попыток его усовершенствования за счет введения дополнительных базисных примитивов и/или управляющих структур. Однако, как правило, все эти изменения не прививались в качестве самостоятельных языков, так как их создатели оставались в «лисповской» парадигме, не предлагая нового взгляда на программирование. 、 После разработки в начале 70-х годов таких мощных ЛИСП-систем, как MacLisp и Interlisp .[Moon, 1973; Teitelman, 1974], попытки создания языков ИИ, отличных от ЛИСПа, но на той же парадигме, по-видимому, сходят на нет. И дальнейшее развитие языка идет, с одной стороны, по пути его стандартизации (таковы, например, Standart Lisp, Franz Lisp и Common Lisp), а с другой — в направлении создания концептуально новых языков для представления и манипулирования знаниями, погруженных в ЛИСП-среду [Barr et al., 1982].
К концу 80-х годов ЛИСП был реализован на всех классах ЭВМ, начиная с персональных компьютеров и кончая высокопроизводительными вычислительными системами. Новый толчок развитию ЛИСПа дало создание ЛИСП-машин, которые и в настоящее время выпускаются рядом фирм США, Японии и Западной Европы.
Из предыдущего может сложиться впечатление, что язык ЛИСП (а вернее его современные диалекты) — единственный язык ИИ. В действительности, конечно, это не так. Уже в середине 60-х годов, то есть на этапе становления ЛИСПа, разрабатывались языки, предлагающие другие концептуальные основы. Наиболее важными из них в области обработки символьной информации являются, по нашему мнению, СНОБОЛ [Griswold, 1978], разработанный в лабораториях Белла, и язык РЕФАЛ [Турчин, 1968], созданный в ИПМ АН СССР.
Первый из них (СНОБОЛ) — язык обработки строк, в рамках которого впервые появилась и была реализована в достаточно полной мере концепция поиска по образцу. С позиций сегодняшнего дня можно сказать, что язык СНОБОЛ был одной из первых практических реализаций развитой продукционной системы. Наиболее известная и интересная версия этого языка — СНОБОЛ-IV [Грисуолд и др., 1980]. Здесь, на наш взгляд, техника задания образцов и работа с ними существенно опередили потребности практики. Может быть именно это, а также политика активного внедрения ЛИСПа помешали широкому использованию языка СНОБОЛ в области ИИ.
В основу языка РЕФАЛ положено понятие рекурсивной функции, определенной на множестве произвольных символьных выражений. Базовой структурой данных этого языка являются списки, но не односвязные, как в ЛИСПе, а двунаправленные. Обработка символов ближе, как мы бы сказали сегодня, к продукционному формализму. При этом активно используется концепция поиска по образцу, характерная для СНОБОЛа. Таким образом, РЕФАЛ вобрал в себя лучшие чер-
ты наиболее интересных языков обработки символьной информации 60-х годов. В настоящее время можно говорить о языке РЕФАЛ второго [Климов и др., 1987] и даже третьего поколения. Реализован РЕФАЛ на всех основных типах ЭВМ и активно используется для автоматизации построения трансляторов, для построения систем аналитических преобразований, а также, подобно ЛИСПу, в качестве инструментальной среды для реализации языков представления знаний [Хорошевский, 1983].
В начале 70-х годов появился еще один новый язык, способный составить конкуренцию ЛИСПу при реализации систем, ориентированных на знания, — язык ПРОЛОГ [Clocksin et ak, 1982]. Он не дает новых сверхмощных средств программирования по сравнению с ЛИСПом, но поддерживает другую модель организации вычислений. Подобно тому, как ЛИСП скрыл от программиста устройство памяти ЭВМ, ПРОЛОГ позволил ему не заботиться (без необходимости) о потоке управления в программе. ПРОЛОГ предлагает такую парадигму мышления, в рамках которой описание решаемой задачи представляется в виде слабо структурированной совокупности отношений. Это удобно, если число отношений не слишком велико и каждое отношение описывается небольшим числом альтернатив. В противном случае ПРОЛОГ-программа становится весьма сложной для понимания и модификации. Возникают и проблемы эффективности реализации языка, так как в общем случае механизмы вывода, встроенные в ПРОЛОГ, обеспечивают поиск решения на основе перебора возможных альтернатив и декларативного возврата из тупиков. ПРОЛОГ разработан в Марсельском университете в 1971 г. [Colmerauer, 1983]. Однако популярность он стал приобретать лишь в начале 80-х годов, когда благодаря усилиям математиков был обоснован логический базис этого языка, а также в силу того, что в японском проекте вычислительных систем V поколения ПРОЛОГ был выбран в качестве базового для машины вывода. В настоящее время ПРОЛОГ завоевал признание и на американском континенте, хотя уступает в популярности ЛИСПу и даже специальным продукционным языкам, широко используемым при создании ЭС.
Мы рассмотрели языки общего назначения для задач ИИ. Вместе с тем в рамках развития средств автоматизации программных систем, ориентированных на знания, были языки, сыгравшие важную роль в эволюции основных языков ИИ. В первую очередь среди , них необходимо выделить языки, ориентированные на программирование поисковых задач. Это ПЛЭНЕР и различные его модификации [Пильщиков, 1983], КОННАЙВЕР [Sussman et al., 1976], а также языки, выросшие из потребностей известной планирующей системы QA4 [Sacerdoti et al.t 1976]. Все эти языки функционируют в ЛИСП-среде и создавались как расширения базового языка. Для них, кроме свойств ЛИСПа, характерны следующие черты: представление данных в виде произвольных списковых структур; развитые методы сопоставления образцов; поиск с возвратами и вызов процедур по образцу. Заметим, что в конечном счете ни один из них не стал универсальным языком программирования ИИ. Однако выработанные здесь решения были использованы и в ЛИСПе, и в ПРОЛОГе, и в современных продукционных языках. Важно и то, что языки этой группы способствовали переосмыслению самого
понятия программы. В области ИИ это послужило толчком к развитию объектно- ориентированного программирования и разработке языков представления знаний первого поколения.
В 70-х годах в программировании вообще и программировании задач ИИ, в частности, центр тяжести стал смещаться от процедурных к декларативным описаниям. К этому же времени в ИИ сформировались и концепции представления знаний на основе семантических сетей и фреймов. Естественно, что появились и специальные языки программирования, ориентированные на поддержку этих концепций. Но из десятков, а может и сотен языков представления знаний (ЯПЗ) первого поколения лишь несколько сыграли заметную роль в программной поддержке систем представления знаний. Среди таких ЯПЗ явно выделяются KRL, FRL, KL-ONE и некоторые другие [Хорошевский, 1990]. Характерными чертами этих ЯПЗ были: двухуровневое представление данных (абстрактная модель предметной области в виде иерархии множеств понятий и конкретная модель ситуации как совокупность взаимосвязанных экземпляров этих понятий); представление связей между понятиями и закономерностей предметной области в виде присоединенных процедур; семантический подход к сопоставлению образцов и поиску по образцу.
Суммируя вышесказанное, можно отметить, что на первом этапе была сформирована значительная коллекция методов представления знаний и соответствующих ЯПЗ. Все это способствовало формированию новой стадии исследований в области ИИ, которая характеризуется переходом от экспериментальной программной проверки идей и методов к созданию практически значимых инструментов.
В силу ограниченного объема книги мы не сможем здесь рассмотреть даже наиболее распространенные языки и Системы представления знаний. Поэтому ниже приведены лишь некоторые замечания относительно одного из самых распространенных ЯПЗ — OPS5 (Official Production System, version 5) [Brownston et al., 1985], который претендовал в начале 80-х годов на роль языка-стандарта в области представления знаний для ЭС.
OPS5 — один из многочисленных на сегодняшний день ЯПЗ для ЭС, поддерживающих продукционный подход к представлению знаний. OPSS-программа, в общем случае, содержит секцию деклараций, где описываются используемые объекты и определяются введенные пользователем функции, и секцию продук- иий, основу которой составляют правила. OPSS-объекты описываются с помощью фреймов-экземпляров, прототипы которых задаются в виде определенных структур данных, опирающихся на небольшое число встроенных типов. Во время исполнения программы обрабатываемые данные помещаются в рабочую память, а правила — в память продукций. Модуль вывода решений в ОР55-системе состоит из трех основных блоков: отождествления, где осуществляется поиск подходящих правил; выбора исполняемого правила из конфликтного множества правил и собственно исполнителя выбранного правила. Непосредственно в OPS5 поддерживается единственная стратегия вывода решений — вывод, управляемый целями. Вместе с тем OPS5 — достаточно гибкий язык, в котором имеются
явные средства не только для описания данных, но и средства определения управления над этими данными.
Анализ формализмов представления знаний и методов вывода решений позволяет сформулировать следующие требования к ЯПЗ:
наличие простых и вместе с тем достаточно мощных средств представления сложно структурированных и взаимосвязанных объектов;
возможность отьбражения описаний объектов на разные виды памяти ЭВМ;
наличие гибких средств управления выводом, учитывающих необходимость структурирования правил работы решателя;
«прозрачность» системных механизмов для программиста, предполагающая возможность их доопределения и переопределения на уровне входного языка;
возможность эффективной реализации.
Конечно, перечисленные требования во многом противоречивы. Но удачные языки и системы представления знаний, как правило, появляются лишь тогда, когда в рамках разумного компромисса учтены все эти требования.
Инструментальные пакеты для ИИ
Развитые среды автоматизации программирования на базе языков символьной обработки являются необходимым технологическим уровнем систем поддержки разработки прикладных интеллектуальных систем. Как правило, такие среды покрывают (и то частично) подсистему автоматизации проектирования и программирования. Вот почему следующим этапом в развитии инструментальных средств стала ориентация на среды поддержки разработок интеллектуальных систем.
Анализ существующих инструментальных систем показывает, что сначала в области ИИ более активно велись работы по созданию интеллектуальных систем автоматизированного синтеза исполнительных программ. И это естественно, если иметь в виду, что инструментарий ИИ является, по существу, эволюционным развитием систем автоматизации программирования. При этом основная доля мощности и интеллектуальности такого инструментария связывалась не с его архитектурой, а с функциональными возможностями отдельных компонентов той или иной технологической среды. Большое значение при разработке инструментария для ИЙ уделялось и удобству сопряжения отдельных компонентов. Пожалуй, именно здесь были получены впечатляющие результаты и именно здесь наиболее широко использовались последние достижения теории и практики программирования, такие, например^ как синтаксически-ориентирован- ное редактирование и инкрементная компиляция. Вместе с тем подавляющее большинство современных инструментальных систем «не знают», что проектирует и реализует с их помощью пользователь. И с этой точки зрения можно сказать, что все такие системы являются не более чем «сундучками» с инструментами, успех использования которых определяется искусством работающего с ними мастера. Примерами подобных сред служит подавляющее большинство инстру-
ментальных пакетов и систем-оболочек для создания экспертных систем типа EXSYS [EXSYS, 1985], GURU [MDBS, 1986] и др. [Harmon, 1987]. Однако не они определяют на сегодняшний день уровень достижений в этой области.
К первому эшелону большинство специалистов относит системы ART [ART, 1984], КЕЕ [Florentin, 1987] и Knowledge Craft [CARNEGIE, 1987]. Заметим, что в последнее время в класс самых мощных и развитых систем вошла и среда G2 [CATALYST, 1993]. Все эти системы, во-первых, отличает то, что это, безусловно, интегрированные среды поддержки разработки интеллектуальных (в первую очередь, экспертных) систем. И вместе с тем для этих систем характерно не эклектичное объединение различных полезных блоков, но тщательно сбалансированный их отбор, что позволило сделать первые шаги от автоматизации программирования систем ИИ к технологическим системам поддержки проектирования сначала экспертных, а затем и других интеллектуальных систем.
Остановимся чуть подробнее на двух системах из «большой тройки» — ART и КЕЕ, а в заключение кратко охарактеризуем систему G2. Сравнение основывается, главным образом, на работах [Wall et al., 1986; Richer, 1986; Gillmore et al., 1985] и на информации, полученной от дилеров этих систем.
В середине 80-х годов система ART была одной из самых современных интегрированных сред (ИС), поддерживающих технологию проектирования систем, основанных на правилах. В ней существует ясное и богатое разнообразие типов правил. Различные типы правил элегантно вводятся с помощью мощного механизма «точек зрения» (Viewpoint). Этот механизм фактически является очень близким к системе, основанной на истинности предположений (truth maintanance system) [de Kleer, 1989], которая, по-видимому, является развитием идей KEEWorlds+ в системе КЕЕ. По существу, ART является пакетом разработчика. При этом возможные ограничения в использовании ART вызваны не свойствами самой системы, а философией базового метода представления знаний.
ART объединяет два главных формализма представления знаний: правила для процедурных и фреймоподобные структуры для декларативных знаний. Главным является формализм продукционных правил. Декларативные знания описываются через факты и схемы [schemata] и в некоторых случаях через образцы [patterns]. Кроме факторов числовой неопределенности, которые связываются с индивидуальными фактами, в ART различаются факты, которые явно принимаются за ложные, и факты, истинность которых неизвестна. Возможно использование логических зависимостей, которые позволяют изменить факты позже, если обнаружится, что они, на самом деле оказались ложными. Механизм Viewpoint допускает образование нескольких конкурирующих миров, где пробуются альтернативные решения.
Схема предусматривается в ART в качестве макроформы для выражения таксономических знаний в структурированном виде, но ни метод, ни активные значения или выход в базовый язык в этом декларативном представлении не допускаются. ART обеспечивает И системно-определенных свойств, наследование которых поддерживается системой автоматически. Допускается множественное наследование. Однако средства задания активных значений, указания ограни-
чений на слот и привязки процедурных знаний к слотам здесь отсутствуют. Таким образом, роль компонента, основанного на фреймах, является чисто описательной. Ограничения и значения по умолчанию могут быть обеспечены в правилах, хотя их было бы легко установить непосредственно с помощью процедурно-ориентированного фреймового, формализма. Наследование, определяемое пользователем, не допускается, но тоже может быть смоделировано посредством правил [Wall et al., 1986]. Согласно концепции фирмы Inference Corporation это является преимуществом, так как статическое наследование предусматривает мощную прекомпиляцию эффективного кода.
Продукционные знания описываются с помощью правил пяти видов: правила выводов, продукционные правила, гипотетические правила, правила ограничений и правила полаганий. Правила вывода добавляют факты в базу знаний, в то время как продукционные правила изменяют факты в рабочей памяти (например, значение атрибута объекта). Гипотетические правила позволяют в ART использовать возможности формирования гипотез и представляются в следующей форме: «ЕСЛИ это случилось, ТО рассматривать это как гипотезу». Правила ограничений описывают ситуацию, которая никогда не может появиться при правильной точке зрения на действительность. Правила полаганий используются для предположений (которые принимаются за правильные) о точках зрения (гипотезах). При подтверждении гипотезой некоторого условия она принимается за правильную, объединяется со всеми породившими ее гипотезами и становится новым корнем в древовидной структуре. Другие, несовместимые, гипотезы отбрасываются.
Вызов процедур, определенных пользователем, может быть использован как в левых, так и в правых частях правил ART. Образцы (patterns) используются в условной части правил. Они должны быть сопоставлены с фактами рабочей памяти. Образцы могут включать переменные и логические связки, обеспечивающие сочетание фрагментов модели (И, ИЛИ, НЕ, СУЩЕСТВУЕТ, ДЛЯ ВСЕХ).
ART предлагает традиционные модели вывода: «от фактов к цели» и «от цели к фактам». Они могут объединяться в мощный механизм истинности, основанный на предположениях, который допускает аргументацию типа ЧТО ЕСЛИ. Кроме того, в составе ART используются и классические правила типа OPS.
Графическое окружение ART хорошо развито. Интерфейс ARTStudio включает в себя базу знаний с демонстрацией гипотез, утилиты отладчика запускаемых программ, систему подсказок, доступную в любое время, систему меню и графический пакет ARTist (ART Image Syntesis Tool ) с оконным редактором. ART предлагает редактор базы знаний, но не дает редактора схем, подобного внутреннему графическому редактору КЕЕ [Wall et al., 1986; Richer, 1986], обсуждаемому ниже. Как указывается в работе [Gillmore et al., 1985], это может стать причиной ошибок при «глубоком» редактировании разрабатываемых баз знаний.
ARTist позволяет создавать доступные правилам меню и управлять окнами пользовательского интерфейса, а также создавать сами окна. Графические конструкции описываются с помощью схем и ссылаются на правила. Это обеспечивает функционирование по принципу управления обращениями к данным.
ART часто представляют в качестве лучшей ИС для создания экспертных систем, но следует понимать, что хорошо эта среда отвечает лишь всем требованиям подхода поверхностных знаний. Благодаря компилятору правил система вывода в ART является быстрой по своей природе. Главные стратегии структуры управления поиском решений обеспечиваются, и некоторая гибкость в управлении поиском остается инженеру по знаниям. Чисто декларативные таксономические фреймы языка интегрируются с системой правил, но в ART не существует действительно процедурных фреймов, которые могли бы позволить объединить предметные описания с продукционными. В этом отношении объектно-ориентированное программирование с образцами и возможностями моделирования могло бы быть более полезным. Нельзя сказать, что подход, основанный на моделях, не осуществим в ART. Однако кажется, что другие ИС более эффективны для этих целей.
Первые версии ART опирались на язык ЛИСП, последние реализованы непосредственно на С. Это увеличивает эффективность периода исполнения ART. Введены в новые версии и некоторые другие усовершенствования. Они касаются в основном выразительной силы формализма, основанного на фреймах, и увеличивают адекватность ART по отношению к методу аргументации, основайному на модели. Имеется информация, что в ART включен и объектно-ориентированный подход.
Теперь рассмотрим основные свойства системы КЕЕ и типы задач, которые «подходят» для этой среды. КЕЕ фактически является большим набором хорошо интегрированных ИИ-парадигм. Этот пакет включает продукционные правила, основанный на фреймах язык с наследованиями, логически-ориентирован- ные утверждения, объектно-ориентированные парадигмы с сопутствующими сообщениями и обеспечивает доступ в базовую LISP-систему. Кроме того, КЕЕ предлагает средства для организации и объединения знаний в специфические компоненты и явного структурирования процесса аргументации. Преимущества КЕЕ заключаются также в мощности и дружественности пользовательского интерфейса.
Главное отличие между формализмом представления знаний КЕЕ и ART заключается в способе, которым эти ИС связывают фреймы и правила. КЕЕ является средой, в основе которой лежат фреймы, в то время как в ART — правила. Фреймы в КЕЕ называются элементами (units) и вводятся в более широком смысле, чем в ART. Здесь фреймы могут иметь процедурную роль и дают возможность построения поведенческих моделей объекта и моделей экспертизы. С этой целью к слотам могут привязываться активные значения и методы. Активные значения могут выборочно активизировать системы правил. Таким образом, язык фреймов КЕЕ позволяет представлять поведение независимых сложных компонент в рамках подхода, основанного на модели, что обеспечивает разделение знаний на проблемно-ориентированные фрагменты. При этом каждый компонент знаний может быть активирован по требованию.
Описание объектов и правил в КЕЕ представляется в виде иерархий фреймов. Доступны два основных отношения: классы/подклассы и классы/примеры. Каж-
дый объект представляется слотами; в системе различаются индивидные (собственные) и коллективные слоты. Первые используются для описания атрибутов и свойств класса, рассматриваемого в качестве объекта, а вторые описывают родовые свойства членов класса. Слоты могут иметь различные аспекты, которые, в свою очередь, могут иметь множественные значения. На них могут накладываться ограничения, которые могут использоваться в качестве автоматических утилит для проверки целостности знаний. Этим КЕЕ отличается от ART, где ограничения могут выражаться только с помощью правил. Со слотами могут быть связаны активные значения. Формализм продукционных правил в КЕЕ тоже хорошо разработан. Использование переменных и вызов LISP-функций допускается как в исполняемых, так и в условных частях.
КЕЕ предлагает несколько методик д〃兄 моделирования рассуждений. Конечно, при этом имеется базовый поисковый механизм, но КЕЕ позволяет также трансформировать неявные знания во фреймы и в решетки наследования, что дает средства для моделирования операций аргументации.
КЕЕ (версия 3.0) обеспечивается системой, основанной на предположении истинности выполнения, называемой KEEWorld. Согласно заявлениям фирмы IntelliCorp, она обеспечивает поддержку фундаментальных методов поиска в пространстве состояний. Мощность КЕЕ проявляется при решении задач, где процесс аргументации может трансформироваться, выполняться и управляться с помощью фреймовых компонент. Решетка наследования фреймов позволяет установить несколько видов зависимостей между объектами. Система снабжена возможностями автоматического восстановления неявной информации. Утверждается, что эта информация может быть представлена фреймами [Fikes et al., 1985]. КЕЕ обеспечена эффективными возможностями восстановления и автоматической проверки информации. Для этой цели существует логический язык TellandAsk, который используется для определения и восстановления фактов в базе знаний КЕЕ.
Пользовательский интерфейс КЕЕ очень гибкий и тщательно проработанный. Он включает мощный редактор, программу просмотра базы знаний, поясняющие сообщения и т. д. Известно, что он превосходит по мощности интерфейс ART [Wall et al., 1986; Richer, 1986]. КЕЕ обеспечивает пользователя графическими средствами KEEpictures и Activelmages для построения графических представлений. Последние могут быть привязаны к фреймовым слотам, и тогда изменение значения слота приводит к изменению《картинки».
Следует отметить и недавнюю эволюцию системы. КЕЕ 2.1 не имел гипотетической системы или системы, основанной на предположении об истинности выполнения. В КЕЕ 3.0 эти новые возможности доступны. А его открытая архитектура является важным фактором в процессе настройки и расширения, так как части КЕЕ написаны в самом КЕЕ. С одной стороны, это полезно для подтверждения гибкости КЕЕ и способности к развитию. С другой — это может привести к неэффективности исполняющей системы. Дополнительно фирма IntelliCorp уже разработала пакет специализированных программ для КЕЕ. Одна из таких программ — SIMKIT. Она спроектирована для поддержки моделирования в КЕЕ.
Таким образом, КЕЕ является развитой системой, основанной на фреймах, где хорошо сбалансированы формализмы представления как декларативных, так и процедурных знаний. Доступны в системе и методы явного управления и структурирования процесса аргументации. Благодаря этому КЕЕ является подходящим для решения задач в рамках подхода, основанного на модели.
Важнейшими при разработке интеллектуальных прикладных систем являются вопросы формирования и отладки баз знаний. Но здесь КЕЕ, ART и многие другие инструментальные пакеты, к сожалению, идут по пути обычных систем автоматизации программирования. Пользователю предоставляется мощный графический редактор правил, используемый для начального ввода продукций и коррекции их в процессе отладки, и средства графической трассировки вывода решений, которые должны позволить инженеру знаний ориентироваться во взаимодействии сотен и тысяч правил.
Инструментальная среда G2 — разработка фирмы Gensym Corp. — является развитием известной экспертной системы реального времени PICON. По утверждению официального дилера этой фирмы в России Э. В. Попова, G2 является самой мощной из сред для систем реального времени среди всех инструментов данного класса. Система G2 реализована на всех основных вычислительных платформах, включая рабочие станции Sun, НР9000, RS/6000 и ПЭВМ, работающие под управлением Windows NT. Возможна работа с системой в режиме клиент—сервер в сети Ethernet.
Основные функциональные возможости G2 связаны с поддержкой процессов слежения за множеством (порядка тысяч) одновременно изменяющихся параметров и обработкой изменений в режиме реального времени; проверкой нештатных ситуаций на управляемых объектах и принятием решений как в режиме ассистирования оператору, так и в автоматическом режиме. Функциональные возможности системы обеспечиваются быстрым выполнением распараллеливающихся операций, доступными в режиме on-line данными, блоками темпорального вывода (включая ссылки на прошлое поведение и поведение управляемого объекта во времени, интеграцию с подсистемами динамического моделирования и процедурными знаниями о времени), специальной техникой вывода решений в режиме реального времени (включая стандартные forward и backward рассуждения, а также event-driven выводы, сканирование датчиков для определения ситуаций, требующих немедленного вмешательства в процесс управления, механизмы фокусирования на определенном подмножестве знаний с использованием метазнаний и мощной подсистемой real-time truth maintenance). Все это дает возможность прикладным системам, разработанным с использованием G2, поддерживать на RISC- архитектурах обработку 1000 правил/с реального уровня сложности.
Указанные параметры производят серьезное впечатление, и, хотя доступной технической информации по системе G2 явно недостаточно для окончательных выводов о ее применимости во всем спектре заявленных приложений, можно предположить, что система G2 действительно была одной из первых инструментальных сред, поддерживающих разработку интегрированных интеллектуальных систем.
В заключение настоящего параграфа остановимся на первых попытках интеллектуализации инструментальных средств. Следует сразу сказать, что здесь достаточно четко просматриваются два направления: снизу (применение методов ИИ для разработки программного обеспечения) и сверху (переход к системам поддержки разработки баз знаний, основывающихся, в свою очередь* на метазнаниях).
Результаты, полученные с использованием методов ИИ в различных областях человеческой деятельности, привели разработчиков МО к идее использования интеллектуальных систем в программировании. Проект «Ассистент программиста» в Массачусетском технологическом институте и проект《Нем» в Стэнфордском университете были первыми шагами в этом направлении [Waters, 1985; Green, 1977]. В этих проектах предпринимались попытки промоделировать знания программиста, используемые для понимания, проектирования, реализации и сопровождения ПО. Предполагалось, что эти знания могут быть использованы, например, экспертной системой для частичной автоматизации процесса разработки ПО, однако существенных результатов в этой части, по-видимому, получено не было.
Методы ИИ могут значительно увеличить мощность существующих инструментальных средств и в области разработки, оценки и проверки требований. Действительно, часто пользователь не знает тех возможностей и особенностей, которые он хотел бы иметь от программной системы, и процесс разработки требований напоминает процесс приобретения знаний. Понятно, что при этом соответствующие инструментальные средства могут использоваться при формировании пользователем своих требований. Вот почему ниже приводится краткий обзор средств приобретения знаний и сопровождения баз знаний, дополняющий аналогичный материал предыдущих глав, но с акцентом на инструментальных компонентах.
Исторически впервые автоматическое извлечение из экспертов конструктов и создание репертуарных решеток, необходимых для построения поля знаний [Гаврилова и др., 1988], было реализовано в системе PLANET [Shaw, 1982; Shaw et aL, 1984]. Ряд алгоритмов и программ PLANET был впоследствии использован при создании системы ETS [Boose, 1985а; Boose, 1985b; Boose, 1985с; Boose, 1986], обеспечивающей не только автоматическое создание репертуарной решетки, но и преобразование ее в традиционные для ЭС формы представления БЗ. Потомками ETS являются система NeoETS [Boose et al., 1986] и интегрированная среда для извлечения экспертных знаний AQUINAS [Boose et al., 1987]. Дальнейшим развитием системы PLANET является интегрированная среда KITTEN [Gaines et al., 1986; Gaines et aL, 1987], поддерживающая ряд методов извлечения знаний.
Перечисленные выше системы поддержки процессов приобретения знаний, как правило, ориентированы на отдельные фазы всего технологического цикла. Одной из методологий, ориентированных на «интегрированные» средства поддержки разработки, справедливо считается KADS, рассмотренная в параграфе 4.5. В этой системе сделана, пожалуй, первая попытка объединения достижений «классической» технологии программирования и методов ИИ. В дальнейшем эта
тенденция стала проявляться все более определенно, и лидерство, в конечном счете, перешло к инструментальным системам нового поколения, основное отди- чие которых состоит в том, что они опираются на знания о технологии проектирования, реализации и сопровождения интеллектуальных систем. В настоящее время попытки создания таких инструментальных систем наблюдаются в WorkBench, рассматриваемых ниже.
WorkBench-системы
Системы типа WorkBench в контексте автоматизации программирования — это интегрированные инструментальные системы, поддерживающие весь цикл создания и сопровождения программ.
К основным характеристикам WorkBench-систем относятся:
Использование определенной технологии проектирования на протяжении всего жизненного цикла целевого продукта.
Вертикальная интеграция инструментальных средств, обеспечивающая связи и совместимость по данным между различными инструментами, используемыми на разных стадиях создания целевой системы.
Горизонтальная интеграция моделей и методов, используемых на одной и той .же стадии проектирования.
Сбалансированность инструментария, то есть отсутствие дублирующих компонентов, «необходимость и достаточность» каждого инструмента.
Одна из систем данного типа разрабатывалась в рамках проекта VITAL [VITAL, 1990]. Отдельные стадии методологии поддерживаются здесь следующими средствами: анализ — подсистемой КАТ (Knowledge Acquisition ToolKit); проектирование —подсистемой FTDT (Functional and Technical Design Tool); кодирование знаний — языком представления знаний; проверка и верификация — V&VT (Validation and Verification Tool); поддержка и отладка — VT (Visualization Tool).
WorkBench VITAL — тесно связанная с методологией система, пригодная для промышленного применения. Обеспечивается это средствами трансформации баз знаний в процедурное представление и развитыми средствами визуализации для поддержки навигации по большим базам знаний.
В целом проект VITAL был достаточно амбициозным по своим целям и задачам, но, учитывая финансирование его в рамках европейской научной программы ESPRIT и задел основных исполнителей, вполне реальным.
Проект VITAL, если так можно сказать, определил философию разработки WorkBench-систем. Ниже, в качестве примеров, рассматриваются две WorkBench-системы, KEATS [Motta et al., 1988] и Shelly [Bouchet et al., 1989], где эта философия нашла некоторое реальное воплощение.
Система KEATS (Knowledge Engineer's Assistant); [Motta et al., 1988; Motta et al.t 1989} первоначально представляла собой набор инструментов, созданных для помощи инженерам знаний в проведении анализа предметных знаний и разработки концептуальной модели ПО (вот тут говорится про предметную область!!!). В первой версии системы, Называемой KEATS-1 [Motta et al., 1988], были реализованы редактор текстов CREF (Cross Reference Editing Facility) и графический редактор GIS (Graphical Interface System), а также фрейм-ориентированный язык описания знаний KDL (Knowledge Description Language) и интерпретатор продукционных правил COPS (Context Oriented Production System).
Редактор текстов CREF помогает инженерам знаний провести анализ документов, имеющих текстовую форму, и допускает установление связей между фрагментами типа «ссылается», «обобщает», «заменяет», «предшествует».
Графический редактор GIS позволяет инженеру знаний быстро построить представление концептуальной модели ПО (то же самое). Элементами графического представления могут быть как фрагменты, выделенные посредством компонента CREF, так и произвольные объекты исследуемой ПО (то же самое). Различаются два вида графических элементов: классы (изображаются овалом) и примеры (изображаются прямоугольником). Разные типы отношений между элементами показываются разными стрелками. В KEATS-1 такое графическое представление автоматически транслируется в текст на языке KDL. Поддерживается и обратное отображение.
В работе [Motta et al.t 1989] были проанализированы ограничения CREF и GIS как инструментальных средств приобретения знаний. Анализ текстовых документов в CREF и построение концептуальной модели ПО (то же самое), поддерживаемое GIS, являются хотя и разными, но тесно связанными видами деятельности. Но поскольку в KEATS-1 они обеспечиваются разными программными системами и автоматического интерфейса между ними нет, то построение концептуальной модели, элементами которой были бы сущности, выделенные в процессе анализа, требует от инженера по знаниям дополнительных усилий. Поэтому естественно иметь такую инструментальную поддержку, которая позволяла бы инженеру знаний строить концептуальную модель, исходя из информации, содержащейся в текстовых документах. Требуемая инструментальная поддержка была реализована в подсистеме ACQUIST системы KEATS-2 [Motta et aL, 1989]. Рассмотрим функциональные возможности ACQUIST подробнее. Выделение фрагментов здесь реализуется посредством указания (с помощью мыши) на область текста и задания имени понятия, релевантного отмеченному тексту. Имена понятий высвечены в виде элементов меню на том же экране, что и анализируемый текст. Нескольким фрагментам может быть поставлено в соответствие одно и то же понятие. Понятия могут быть заранее перечислены инженером знаний или генерироваться непосредственно в процессе анализа текста. В последнем случае возможно «заводить» имена понятий вручную либо воспользоваться лексическим анализатором.
В ACQUIST лексический анализ может выполняться над множеством указанных пользователем текстов. Имеется возможность задать фильтр для отсеивания слов, не представляющих интереса, который реализуется как обычный текстовый файл, где перечислены такие «неинтересные» слова. На понятиях может быть задана иерархическая структура. Пользователь ACQUIST может объединить в одну группу близкие с его точки зрения понятия и дать название этой группе. Группы понятий, в свою очередь, могут быть подвергнуты дальнейшему обобщению.
ACQUIST позволяет связывать фрагменты, понятия, группы с помощью встроенных связей и связей, определенных самим пользователем. Для того чтобы инженер знаний имел целостное представление о той структуре, которую он, устанавливая связи, создает, в ACQUIST имеется возможность построить «карту» текущей структуры. Для одного и того же множества понятий, групп и фрагментов может быть построено много карт, каждая из которых соответствует некоторому «взгляду» на отношения между элементами. Пользователь имеет возможность не только просмотреть графическое представление, но и непосредственно манипулировать его элементами. В частности, можно определять связи, перемещать графические объекты и подструктуры и т. п.
Сохраняемые версии результатов анализа называются здесь теориями. ACQUIST позволяет одновременно загрузить несколько теорий и при необходимости переключаться от одной теории к другой. По желанию пользователя различные теории могуг быть слиты, ACQUIST создан с использованием методологии объектно-ориентированного программирования: фрагменты, понятия и группы реализованы как объекты.
Новая версия системы KEATS, которая была развитием предыдущей, разработана в лаборатории когнитологии Открытого университета Великобритании и финансировалась British Telecom. Corp. По определению авторов, KEATS — программное окружение, поддерживающее построение систем, основанных на знаниях. Основное назначение — поддержка разработки ЭС на критических стадиях — приобретение и кодирование знаний, отладка БЗ [Motta et al., 1989].
Данная система поддерживает не только отдельные методы моделирования, но и обеспечивает интегрированную программную поддержку взаимосвязанных моделей знаний. Основные компоненты KEATS: ACQUIST — средство фрагментирования текстовых источников знаний, которое позволяет разбить текст или протокол беседы с экспертом на множество взаимосвязанных, аннотированных фрагментов (гипертекст) и создать концепты (понятия); FLIK — фреймовоориентированный язык представления знаний; GIS — графический интерфейс, используемый как для создания гипертекстов и концептуальных моделей с помощью ACQUIST, так и для проектирования фреймовых систем на основе языка FLIK; ERI — базисный интерпретатор правил, обеспечивающий прямой и обратный вывод по продукциям; TRI — визуализирующий интерпретатор правил, демонстрирующий трассу выполнения продукций в виде мозаичной таблицы, а
также графически отражающий активные правила, фреймы и конфликтное множество; Tables — интерфейс манипулирования таблицами, который может использоваться вместе со всеми моделями знаний, поддерживаемыми в KEATS; CS — язык описания и распостранения ограничений; TMS — немонотонная система сопровождения истинности, тесно связанная с ERI, FLIK и CS, а также TMV — графический интерфейс ^подсистемы TMS, обеспечивающий визуализацию на И/ИЛИ дереве значения истинности или ложности заключений в зависимости от посылок.
В системе KEATS концептуальные модели могут создаваться с помощью методов «сверху—вниз» и «снизу—вверх». Первый подход используется при четко определенной задаче и наличии специфической модели в ПО (то же самое), например в задачах диагностики. Специфическая модель может быть сразу же отражена в виде таблиц и концептуальных моделей и имплантирована в будущую ЭС с помощью GIS и Tables. Когда приобретение знаний основывается не на четко определенной модели ПО, а, например, на протоколе опроса эксперта, используется второй подход. Текстовые данные анализируются и фрагментируются с помощью ACQUIST, и выделяются концепты. Созданная модель затем визуализируется с помощью GIS.
Интеллектуальная система Shelly [Bouchet et al., 1989] является представителем следующего поколения программной поддержки KADS-методологии. Она способна не только обеспечивать выполнение работ, предусматриваемых методологией, но и советовать инженеру знаний, когда и как выполнять ту или иную работу, а также объяснять, почему это необходимо. Система Shelly разрабатывалась как интегрированная программная среда, поддерживающая весь процесс создания ЭС, если он осуществляется в соответствии с KADS-методологией. И процесс разработки самой системы Shelly является примером практического ее применения.
Согласно KADS-методологии, рассмотренной в п. 4.5, необходимо провести анализ четырех типов знаний, относящихся соответственно к уровням стратегий, задач, выводов и предметной области. К уровню стратегий относятся знания, обеспечивающие гибкость разрабатываемой системы, ее способность решать разнообразные проблемы, выбирая или формируя подходящие стратегии. Для системы Shelly такими проблемами являются: управление деятельностью инженера знаний, разрабатывающего прикладную ЭС; слежение за процессом разработки ЭС; выдача советов, подсказок, объяснений по требованию пользователя.
Знания стратегического уровня, необходимые для решения этих проблем, представляют собой набор правил, задающих условия начала и завершения каждого вида работы, предусмотренной KADS-методологией. Иерархия видов работ, а также описания тех работ, выполнение которых поддерживается Shelly, составляют знания уровня задач. К уровню выводов относятся знания о конкретных действиях, с помощью которых может быть выполнена та или иная работа. Уровень предметной области составляют описания тех объектов, над которыми могут выполняться действия, относящиеся к уровню выводов. При этом различи-
ются объекты, используемые в KADS-методологии («понятие», «метакласс» и т. п.), объекты, обусловленные программной реализацией методологии («фрагмент», «связь» и т. п.)( и объекты, обусловленные природой интерфейса («окно», 《текст》и т. п.).
Основное проектное решение при создании системы Shelly состоит в том, что каждому виду деятельности здесь соответствует свое инструментальное средство AST (Activity Support Tool).
Центральным модулем в Shelly является управляющий модуль «Advice & Guidance». Он предназначен для информирования пользователя о текущем состоянии разработки его прикладной ЭС; обеспечивает ответы на конкретные вопросы пользователя; рекомендует пользователю дальнейшие действия и активирует соответствующий модуль AST; предупреждает пользователя о нарушении им KADS-методологии.
Модуль «Advice & Guidance» может функционировать в двух режимах, различающихся степенью сложности. Первый, простой режим, «локального совета», активируется посредством явного запроса, поступившего от пользователя. Во втором режиме пользователь может получить рекомендации относительно того, как наиболее эффективно работать с Shelly. Система будет постоянно следить за деятельностью пользователя и при необходимости предупредит его и объяснит, почему рекомендуется выполнять ту или иную работу.
Рабочую память Shelly составляют база знаний, базы данных о разработках ЭС и база внешних форм. В.базе знаний хранятся описания объектов KADS-методологии и соответствующих видов деятельности. Каждый вид деятельности представлен фреймом со следующим набором слотов
Пример 6.1
описание:<текст>
цель: <текст> когда: <текст> как: <текст> вход: <объект КАВ5-методологии> выход: <объект КАВ5-методологии> связан с:<вид деятельности>
поддерживается: AST
Кроме того, в базе знаний имеется набор правил, позволяющих управлять процессом разработки прикладной ЭС.
Пример 6.2
ЕСЛИ Деятельность 1 > по проекту X = «завершена» “ <деятельность2> по проекту X = «завершена» ТО возможно начать <деятельностьЗ> по проекту X.
В базах данных о разработках ЭС представлены примеры объектов KADS-методологии, построенные на конкретном предметном материале, а также информация о текущем статусе каждого вида деятельности («завершена», «начата», «не начата»).
Понятно, что фрагментарный обзор WorkBench-систем, приведенный выше, не дает полного представления обо всех их функциональных возможностях. Однако для нас важна, прежде всего, тенденция развития инструментальных средств поддержки разработки интеллектуальных систем, состоящая в том, что уже имеются положительные примеры WorkBench-инструментария, ориентированного на весь жизненный цикл создания систем, основанных на знаниях.
в
Пример разработки системы, основанной
на знаниях
Продукционно-фреймовый ЯПЗ PILOT/2
Психодиагностика ——пример предметной области для построения экспертных систем
Разработка и реализация психодиагностической ЭС «Cattell»
7.1. Продукционно-фреймовый ЯПЗ PILOT/2
В любом языке программирования можно выделить три составляющие: декларативную (описания данных), процедурную (правила преобразования данных) и инференциальную (правила управления компонентами процедурной, а иногда и декларативной составляющих). Не исключение в этом смысле и языки представления знаний, но их специфика в том, что описания здесь в основном структурные, а данные могут быть активными за счет присоединенных процедур, обеспечивающих «вычисление» их значений; правила преобразования данных ориентированы скорее на то, чтобы явно специфицировать, что должно быть получено, не концентрируя без необходимости внимание программиста на том, как достигается результат. Но самое большое отличие ЯПЗ от других языков в инферен- циальной компоненте, которая реализует некоторую (чаще всего встроенную) стратегию поиска решения. Такой подход предполагает, что при выполнении ЯПЗ-программ всегда существует «арбитр», функцией которого является оценка «текущей ситуации» и выбор пути движения от нее к целевой.
В разных ЯПЗ имеются различные средства определения декларативной, процедурной и инференциальной составляющих. Отличия же здесь связаны, в первую очередь, с использованием того или иного подхода к представлению знаний.
В качестве примера развитых средств продукционно-фреймового программирования баз знаний ниже обсуждается ЯПЗ PILOT/2, разработанный в рамках проекта PiES WorkBench [Khoroshevsky, 1994Ь]. Его специфика в том, что здесь вве-
дены явно достаточно мощные средства программирования инференциальной составляющей и выразительные описания образцов, а также удобный и открытый для расширения набор операторов преобразования данных в основной и внешней памяти.
Структура ПИЛОТ-программ и управление выводом
В общем случае PILOT-программа содержит две основные (декларативная и процедурная) и две вспомогательные (включение файлов и переопределение строк) компоненты. Декларативная часть состоит из элементов, специфицирующих переменные, прототипы функций и/или процедур, а также необходимые базы знаний. Продукционная часть состоит из секций, которые, в свою очередь, содержат продукции. Инференциальная составляющая присутствует в ЯПЗ PILOT/2 неявным образом в виде встроенного «арбитра», алгоритм работы которого описывается ниже, и, кроме того, определяется средствами настройки и перепрограммирования такого《арбитра».
Разбиение на секции и правила и специальные условия в виде секционных и правиловых разрешений необходимы для того, чтобы обеспечить многоуровневое управление выполнением PILOT-программ. Как известно [Форсайт, 1987], «арбитр» продукционной системы функционирует следующим образом: сначала для всех продукций проверяются условия применимости и из тех продукций, для которых эти условия истинны, формируется конфликтное множество. Из этого множества по определенному критерию выбирается исполняемая продукция; она реализуется (то есть отрабатывается ее правая часть), и цикл управления работой 《арбитра» повторяется, пока конфликтное множество на некотором шаге не станет пустым (тогда работа продукционной системы завершается естественным образом) или функционирование не будет прервано явным образом, например с помощью специального действия из правой части исполняемой продукции (в этом случае работа продукционной системы завершается принудительно).
Понятно, что работа такого《арбитра» имеет смысл лишь в тех случаях, когда продукций немного (десятки), а в конфликтном множестве продукций мало (единицы). В противном случае функционирование системы неэффективно и требуются специальные алгоритмы, чтобы «арбитр» не тратил все время только на себя. К настоящему времени разработаны и опробованы на практике различнее стратегии увеличения эффективности работы «арбитра» [de Kleer, 1989], которые используются и в данном случае. Но не менее важно иметь гибкие средства описания этих стратегий с уровня входного языка. Тогда пользователь, в зависимости от требований его задачи, сможет отказаться от стандартных стратегий и описать свою собственную, которая адекватна его конкретному случаю.
Для описания стратегий управления выводом решений в ЯПЗ PILOT/2 служат секционное и правиловое разрешения. Каждое из них является последовательностью фильтров, с помощью которых формируется и/или изменяется конфликтное множество продукций. Для понимания того, как пользоваться этими фильт-
рами, необходимо знать стратегию встроенного «арбитра» PILOT/2. Поэтому ниже приводится алгоритм его работы,- специфицирующий схему, представленную на рис. 7.L.
Алгоритм работы встроенного «арбитра» ЯПЗ PILOT/2
while (уровень-0 != NULL ) {'
«выбрать из «повестки-дня» секцию для выполнения»;
«сформировать на уровне-1 мн-во правил этой секции»;
«выполнить фильтрацию мн-ва правил на уровне-1 по флагу активна/ неактивна»;
«выполнить фильтрацию мн-ва оставшихся правил на основании вычисления
истинности секционного разрешения»;
«сформировать на уровне-2 множество активных правил»;
for (каждого правила на уровне-2) {
«вычислить значение истинности левой части»;
if ( значение истинности правила == TRUE )
«добавить правило в конфл. мн-во на уровне-3»;
}
«выполнить фильтрацию мн-ва оставшихся на уровне-3 правил на основании вычисления истинности правиловых разрешений»;
«сформировать на уровне-4 множество готовых к выполнению правил»;
if ( на уровне-4 осталось одно правило )
«выполнить данное правило»;
else{
«выполнить случайный выбор исполняемого правила из множества
правил на уровне-4»;
«выполнить данное правило»;
}
}
Приведенный алгоритм прозрачен и не нуждается в особых комментариях. Заметим лишь, что фильтр «активна/неактивна» реализован как встроенная проверка флагов активности продукций текущей секции. Первоначально (при запуске секции) «арбитр» считает, что все продукции секции активны, но в процессе выполнения их состояние может измениться за счет применения соответствующих действий. Фильтр секционного разрешения тоже программируется с уровня входного языка. В результате применения этих двух фильтров формируется множество продукций, которые принципиально могут войти в конфликтное множество. Этап фильтрации продукций по истинности левых частей — традиционный,
в результате получается традиционное конфликтное множество (правда, уже усеченное за счет предыдущих двух фильтров). На этом множестве в ЯПЗ PIL0T/2 может быть организовано дополнительное управление за счет программируемых правиловых разрешений. Если все усечения не привели к однозначному выбору исполняемой продукции, она выбирается случайным образом и цикл работы «арбитра» повторяется.
Section Main Si
Уровень О
Точек «влияния» на работу «арбитра» PIL0T/2 всего четыре: активность/неак- тивность продукций; секционное разрешение; истинность левых частей продукций; правиловое разрешение. Существует и пятая точка — алгоритм случайного выбора, но она инженеру по знаниям недоступна.
Секционные и правиловые разрешения суть последовательность операторов if-then-else и действий разрешения. При этом сами условия секционного и пра- вилового разрешений — логические формулы в базисе И-ИЛИ-НЕ с общепринятым старшинством операций. А специфика ЯПЗ PIL0T/2 состоит в том, как определяются элементарные разрешения. Семантика действий разрешений (при условии, что через КМ обозначено конфликтное множество) — следующая:
set (Ri, R2,…,Rk) insert (RI, R2,Rk) remove (RI, R2,Rk) removeallbreakset (Ri, R2,…,Rk) insert (RI, R2,Rk) remove (RI, R2,Rk) removeallbreakKM = R1,R2,Rk
set (Ri, R2,…,Rk) insert (RI, R2,Rk) remove (RI, R2,Rk) removeall
break
set (Ri, R2,…,Rk) insert (RI, R2,Rk) remove (RI, R2,Rk) removeall
break
KMH = KMC + RI + R2 + …+ Rk
KMH = KMC - RI - R2 - - Rk
KM = пустое множество
Прерывает выполнение оставшихся элементов секционного или правилового разрешения
Семантика элементарных секционных (продукционных) разрешений —.определяется правилами вида:
Элементарное секционное разрешение active(RlfR2,...,Rk) истинно, если все продукции RI, R2,..., Rk имеют включенные флаги активности.
Элементарное секционное (продукционное) разрешение used(Rl,R2,...,Rk) истинно, если все продукции RI, R2,..” Rk применялись ранее.
Элементарное продукционное разрешение ready(Rl,R2,...,Rk) истинно, если все продукции RI, R2,..., Rk готовы к выполнению, что, в свою очередь, справедливо, если их левые части (условия) истинны.
Понятно, что практически все элементарные разрешения работают с именами продукций, так что проверка соответствующих условий выполняется «арбитром» достаточно быстро. И этих средств (в подавляющем большинстве случаев) достаточно для существенного увеличения гибкости управления продукционной системой и сохранения в то же время приемлемой эффективности ее работы. Вместе с тем в ЯПЗ PILOT/2 инженеру по знаниям предоставлена возможность управления работой продукционной системы и на основе анализа базы знаний. Нужно лишь понимать, что это управление «дорогое», так что пользоваться им следует лишь в тех случаях, когда соответствующие условия невозможно (или нецелесообразно) проверять в левых частях продукций.
Декларативное представление данных и знаний
Декларативная часть PILOT-программы состоит из элементов, специфицирующих типы данных, прототипы функций и/или процедур, переменные, а также необходимые базы знаний.
Спецификация типов — мощное средство конструирования новых типов данных, которые поддерживаются системой автоматически на основании базовых типов. В ЯПЗ PILOT/2 фиксированы следующие базовые типы: int, float, char, string, имя -фрейма, prototype, frame, func, proc. Без учета спецификации ограничения это дает почти те же возможности, что и спецификация typedef в языках С и C++. Однако в ЯПЗ PILOT/2 существуют и множественные типы, симметричные по отношению к базовым, а также усечение вновь вводимых типов с помощью огра-
ничений. Последние задают в базисе И-ИЛИ-НЕ ограничения, которым должны удовлетворять значения соответствующего типа. Так, например, спецификация Child is_a Age restr_by (>0 && <12);
вводит подтип типа Age, значения которого должны быть положительными целыми в интервале [0,12].
Спецификации
Persons is_a {frame};
Friends is_a Persons restr_by (>={Петр, Иван});
определяют, что элементами типа Friends являются элементы типа Persons, включающие в себя, по крайней мере, два указанных явно элемента.
Обработка сложно структурированных данных во внешней памяти является отличительным свойством всех ЯПЗ. Но помимо этого нужны и «обычные» переменные. Вот почему в ЯПЗ PILOT/2 введены регистры и стеки. Семантика регистров такая же, как у простых переменных традиционных языков программирования. Иначе обстоит дело со стеками. Для явной спецификации поведения стеков в ЯПЗ PILOT/2 введены префиксы и постфиксы, которые являются одноместными операторами, аналогичными по синтаксису унарным операторам (++) и (一一) современных языков программирования. Семантика их зафиксирована в табл. 7.1. Одна и та же переменная, в зависимости от наличия или отсутствия префикса (постфикса), трактуется либо как регистр, либо как стек. Для выделения имен переменных в текстах PILOT-npoграмм им предшествует символ «$».
Таблица 7.1. Семантика переменных в языке PILOT/2
Стековые переменные
GET-переменные
PUT-переменные
Слева
Взять с сохранением <
Взять без сохранения «
Добааить новое значение »
Заменить верхушку на новое значение >
Справа
>
»
«
<
Ядром декларативного представления данных и знаний в ЯПЗ PILOT/2 является спецификация баз — временных и постоянных. Все базы в ЯПЗ PILOT/2 фреймовые и поддерживаются на этапе выполнения продукционных программ специализированным пакетом FRAME/2 [Sherstnew et al., 1994].
Спецификация временной базы предполагает, что определенные здесь фреймы имеют «время жизни», совпадающее с периодом выполнения PILOT-програм- мы, а ее имя — встроено в систему и не может быть изменено. Типичный пример определения временной базы — следующий:
base = { спецификация-фрейма, ..., спецификация-фрейма };
Иначе обстоит дело с постоянными базами. Их «время жизни» никак не связано с конкретной PILOT-программой, а имена выбирает сам пользователь. Такие базы
могут создаваться и/или использоваться в данной PILOT-программе. Примерами определения постоянных баз могут быть следующие спецификации:
base system = { фрейм-1, ..., фрейм-N
extern base person = { фрейм-1, фрейм-2, фрейм-3 };
base new;
base ( a1, a2, ... aN ) = { фрейм-1( фрейм-2, ..., фрейм-L };
И в случае временных, и в случае постоянных баз основным элементом определения является спецификация фрейма:
спецификация-фрейма ::=|| спецификация-прототипа ||
||спецификация-экземпляра 11
спецификация-прототипа ; :=[ имя-фрейма is_a prototype
{{; спецификация-демона }} {{; декларация-слота }}]
спецификация-экземпляра ::二[
|| имя-фрейма|| is_a имя-фрейма
|| ( имя-фрейма {{ , имя-фрейма }} ) 11■
{{;спецификация-демона}} {{;спецификация-слота }}]
спецификация-слота ::=
I | 11 имя-слота11 二 значение | |
| | 11 ( имя-слота {{, имя-слота }} )11||
11 without имя-слота {{, имя-слота }}| |
11 декларация-слота||
декларация-слота ::= 11 имя-слота| | тип
I| ( имя-слота {{ , имя-слота }} )||
{{ ; дополнительная-спецификация }}
дополнительная-спецификация : :=11 спецификация-демона||
11 спецификация-умолчания ||
|| спецификация-ограничения ||
спецификация-демона ::二11 if_added 11 имя-демона ()
11 ijdeleted11
11 if_changed11
спецификация-умолчания ::二 by_default значение.
спецификация-ограничения ::二 restr_by спецификатор
Из этих определений следует, что ЯПЗ PILOT/2 является сильно типизированным языком и, следовательно, обеспечивает строгую проверку правильности ис-
пользования типов на этапе трансляции. Такой подход повышает надежность проектирования продукционных программ и увеличивает их эффективность. Теперь рассмотрим примеры спецификации фреймов. Первый из них — спецификация прототипа вида:
[Person is_a prototype;
Name string, if_changed ask_why ();
Age int, restr_by >= 0 ;
Sex string, restr^by (==«male» 11 ==«female»),
by_default «male» ;
Children {frame}];
Из этого описания следует, что у фрейма Person, заданного как корневой прототип, имеются четыре слота с именами Name, Age, Sex и Children. Каждый слот может иметь значение определенного типа. Значениями слотов Name и Sex могут быть строки, слота Age — число, а слота Children — множество ссылок на другие фреймы. Кроме обязательной спецификации типа слот может иметь дополнительную спецификацию. Так, чтобы показать, что значение слота Age должно быть не меньше 0, а слот Sex может принимать только два значения, «male» или «female», использована дополнительная спецификация restr by. Конструкция, следующая за этим ключевым словом, называется спецификатором и представляет собой логическое выражение особого вида. Другая дополнительная спецификация, by_default, определяет значение слота по умолчанию. Например, если в экземпляре фрейма Person не будет указано конкретное значение слота Sex, оно будет равно «male».
Кроме этих дополнительных спецификаций имеются в ЯПЗ PILOT/2 и спецификации демонов. Они определяют присоединенные процедуры, которые «запускаются» при добавлении (if_added), удалении (if_deleted) или изменении значений (if_changed).
Любой фрейм может стать прототипом для других фреймов:
[John is_a Person; if_deleted bury();
Name 二 «Johnson» ;
Age = 32 ;
Children 二{Ann( Tom}];
[Mary is_a Person;、
without Age ;
Name 二 «Smirnova» ;
Sex = «female» ;
Children = empty];
Приведенные выше фреймы John и Mary — экземпляры фрейма Person. Их слоты получают конкретные значения. Фрейм-экземпляр может не иметь некоторых слотов своего прототипа (имена таких слотов перечисляются после ключевого слова without) и может иметь дополнительные слоты, специфицируемые так же, как и в прототипе.
Процедурные средства языка
При обсуждении примеров спецификаций фреймов мы пользовались интуитивным пониманием значения. Спецификация этого понятия в ЯПЗ PILOT/2 следующая. Значения могут быть простыми (единичными) и множественными. Множественные значения — списки простых значений одного типа, заключенные в фигурные скобки. В качестве простых значений в PILOT/2 выступают выражения.
Введение префиксов и постфиксов к именам переменных является первым шагом на пути определения выражений. Но в ЯПЗ PILOT/2 есть и более мощные средства этого типа. Здесь используются традиционный набор арифметических операций и общепринятое их старшинство, а специфика ЯПЗ на уровне первичного выражения:
перв-арифмперв-арифм| число
перв-арифм
перв-арифм
| GET-переменная
| VAR-переменная
| - перв-арифм
| вызов-функции
| ( арифметическое )
| слот-фрейма
вызов-функции ::二 имя-функции ( значение {{, значение }})
Первые шесть вариантов вполне традиционны, а последний имеет следующее определение:
слот-фрейма ::= [ имя-фрейма : имя-слота ]
Учитывая вышесказанное, следующие примеры суть правильно построенные выражения ЯПЗ PILOT/2:
empty
пустое выражение
"а"
ASCII-символ char
«qwerty»
строкаstring
Person
имя-фрейма frame
$NameFrame
VAR-переменная frame
$AgeValue>
GET-переменная int
10 * ( $var1 + 2 ** 4 )
арифметическое int
[John : Age]
слот-фрейма int
my_func («events.kb»; [Event :
:Value])вызов-функции bool
Теперь вернемся к основному средству построения конфликтного множества — к условиям. Напомним, что в ЯПЗ PILOT/2 две точки, где, согласно синтаксису языка, возможно использование условий: конструкция if в секционных и правиловых разрешениях и левые части продукционных правил. И в том и в другом случае инженер по знаниям может сформулировать произвольную условную
конструкцию в базисе И-ИЛИ-НЕ с общепризнанным старшинством логических операций. Кроме того, на уровне первичных условий возможно использование отношений и образцов.
Образцы являются наиболее важной и мощной конструкцией языка PILOT/2, так как они позволяют находить и фиксировать интересующую инженера по знаниям ситуацию в базе знаний. По синтаксису образец похож на слот-фрейма, но у него существенно большие возможности и другая семантика. Образец — это предикат на базе знаний, принимающий значения «истина» или «ложь», тогда как слот-фрейма возвращает значение конкретного слота конкретного фрейма. Образец определяет некий шаблон, которому могут удовлетворять фреймы из базы знаний. Образец состоит из синтаксического обрамления «?[...]» и тела. Тело представляет собой шаблон фрейма, которому, быть может, предшествует конструкция «захвата» результатов отождествления в переменную, и список слотов- образцов, который может быть пустым. Каждый слот-образец также имеет шаблон слота в качестве базы отождествления и, быть может, конструкцию «захвата» результатов. Таким образом, тело определяет структуру, которую должны иметь фреймы базы знаний, чтобы успешно сопоставиться с образцом. Шаблон фрейма определяет множество фреймов базы, на которых будет происходить отождествление. Это множество может состоять из единственного фрейма (при этом указывается имя фрейма или его отрицание); всей базы (тогда шаблоном фрейма является символ《*»); фрейма (фреймов), имена которых хранятся в переменных типа VAR или GET, а также фиксироваться с помощью конструкции явного задания множества, образованного из элементов и стандартных теоретико-множествен- ных операций one_of (пересечение); all_of (объединение); ~ (вычитание). Пустой префикс соответствует операции one_of. При этом семантика операции one_of — «первый из сопоставленных». Операция «вычитание» может использоваться только с именами фреймов, заданными явно. Результаты успешных сопоставлений могут запоминаться в переменных с помощью операции присваивания (в случае префикса one_of или его отсутствия запоминается результат первого успешного сопоставления, а в случае префикса all_of — результаты всех успешных сопоставлений). Шаблон слота практически тот же, что и шаблон фрейма. Однако для слотов есть еще один способ указания объединения — перечисление нужных слотов через разделитель 喲》. Отличие шаблона слота от шаблона фрейма в том, что здесь добавляется значение-образец. Как и в предыдущих случаях, найденные значения могут «захватываться» в переменные. Шаблон значения может фиксировать? что оно произвольно, но существует (в этом случае используется символ《*», либо определить возможные значения более точно с помощью элементов (значение-первичного-спецификатора) и логических операций в базисе И-ИЛИ. Заметим, что отрицание здесь не требуется, так как его функцию берет на себя отношение «!=« в первичном-спецификатора. Спецификаторы задают декларативно ограничения на значения. Синтаксис спецификаторов следующий:
спецификатор ::= терм-спецификатора {{ || терм-спецификатора }} терм-спецификатора : := первичное-спецификатора
{{ && первичное-спецификатора }}
первичное-спецификатора::
II H 11
II II II
I)<11 значение-первичн-спецификатора11
II<=IIII
丨|==IIII
II!=IIH
II>=HII
II>IIII
(спецификатор )11
значение-первичн-спецификатора ::=
значение
II
II
11 пусто
I!
I! v
'AR-переменная
II
II
II
11 one.from
II
II G
ЕТ-переменная
II
II
II
11 all_from
II
II
Знаки отношений имеют стандартную семантику для чисел и семантику сравнения ASCI-кодов для символов и строк. В тех случаях, когда значение в первич- ном-спецификатора является множеством, все знаки отношений имеют следующую интерпретацию:
< — строгое включение множества значений спецификатора во множество значений слота;
<= — нестрогое включение множества значений спецификатора во множество значений слота;
.== _ совпадение множества значений спецификатора с множеством значений слота;,
— несовпадение множества значений спецификатора с множеством значе
ний слота;
>= _ нестрогое покрытие множества значений спецификатора множеством значений слота;
> — строгое покрытие множества значений спецификатора множеством значений слота.
Дополнительно к этому значение-первичного-спецификатора может быть VAR- или GET-переменной, которым предшествует префикс one_from (один из элементов в переменной должен быть использован); all_from (все элементы переменной должны быть использованы). Пустой префикс соответствует операции one_from.
Возможности образцов лучше рассмотреть на примерах. Пусть в текущей базе имеются следующие фреймы, причем порядок их расположения в базе такой, как описано ниже:
[,F1 is_a prototype;[ F2 is_a F1.;[ F3 is_a F1;
S1 int, by_default 8 ;S2 二"x" ];S1=0];
S2 char];
Имеются также переменные $V1 (типа frame) и $V2 (типа char), которые до применения каждого из образцов содержат следующие значения:
$V1 =:F1 :F2 :F3$V1 =:F1 :F2 :F3$V2 =;'a' ;'b'$V2 =;'a' ;'b'
$V1 =:F1 :F2 :F3
$V1 =:F1 :F2 :F3
$V2 =;'a' ;'b'
$V2 =;'a' ;'b'
Примеры образцов с их значениями и значениями переменных $V1 и $V2 после применения этих образцов к описанной базе представлены ниже.
N/N
Образец
Результат
1
?[F : S]
false
2
?[F1 : S2]
true
3
?[F2 : S1 {== 8}]
true
4 '
?[ »$V1 = all_of ” S1{==8}]
true
5
?[* : S2 {== <<$V2}]
true
6
?[one_of $V1>> : S1{== one.from {1,0}} ] true
6а
?[one_of $V1>> : S1 {== all_from {1,0}} [false
7
?[$V1«: S1{==8};>$V2=S2]
true
8
?[*:*]
true
Образцы 1 и 2 представляют собой запросы на наличие в базе соответствующих слотов-фреймов. Поскольку [F:S] в базе нет, a [F1:S2] — есть, значения образцов 1 и 2 соответственно false и true. Образец 3 более избирателен, он проверяет базу на наличие в ней фрейма F2 со слотом S1, имеющим значение 8. Такой фрейм в определенной нами базе имеется (вспомним, что фрейм-экземпляр наследует слоты своего прототипа), поэтому значение образца — true. Образец 4 ищет все (all_of) фреймы со слотами S1, равными 8, записывая при этом их имена в переменную $V1. Префикс этой переменной предписывает заносить в нее значения слева с сохранением. В образце 5 значение слота S2 берется из переменной $V2 (слева без сохранения), причем имя фрейма может быть любым (*). Но фрейм со слотом S2 ="а" в базе один (F2). Ключевое слово one_of в образце 6, явно указывающее на поиск только первого подходящего фрейма, — не обязательно, такая стратегия подразумевается по умолчанию. Для успешного сопоставления с этим образцом фрейм F3, имя которого взято справа без сохранения из переменной $V1, должен иметь слот S1, значением которого может быть одно из (one_from) чисел: 1 или 0. Условие соблюдается, и значение образца — true. Вместо one_from может быть указано all_from (образец 6а), в этом случае значением слота должно быть все множество {1,0}. Образец 7 показывает, что можно проверять значения нескольких слотов сразу. Семантика его следующая: найти первый фрейм со слотами S1 = 8 и S2; если такой фрейм будет найден, записать его имя в переменную $V1 справа, протолкнув верхушку стека справа, а значение слота S2 — в переменную $V2 слева, без сохранения значения в верхушке стека. С помощью образца 8 проверяется, есть ли вообще в текущей базе какие-нибудь фреймы.
Таким образом, мы обсудили конструкции ЯПЗ PILOT/2, которые могут потребоваться при формировании левых частей продукционных правил. Все они предназначены для выделения в БЗ системы интересующих нас ситуаций. Такое выделение не самоцель, а средство для преобразования таких ситуаций для получения решений. Сами преобразования описываются в основном, в правых частях продукционных правил ЯПЗ-программы и сводятся к выполнению определенных действий над БЗ и/или значениями переменных.
В ЯПЗ PIL0T/2 все действия делятся на стандартные (системные) и нестандартные (пользовательские). Все они могут использоваться не только в правых частях продукционных правил, но и в аннотациях, что позволяет реализовывать в ЯПЗ PILOT/2 развитые модели объяснений [Clancey, 1983]. Синтаксис нестандартных действий определяется спецификацией прототипов процедур, рассмотренной выше, и синтаксисом обращений к процедурам, а семантика и реализация —целиком в руках пользователя ЯПЗ PILOT/2.
Классификация стандартных действий проста. Это обработка переменных, обработка базы знаний, процедурное управление и ввод/вывод.
Как указывалось выше, в ЯПЗ PILOT/2 имеются три вида переменных (VAR, GET, PUT). С учетом этого:
обработка-переменных ::= 11 оператор-присваивания 11
11PUSH-оператор||
11POP-оператор|\
11CLEAR-оператор||
оператор-присваивания : := 11 VAR-переменная | | = значение
11 PUT-переменная 11
Примерами присваивания значений переменным могут служить конструкции вида:
$var1=<$a+$b;
>$var2=[FrameName : SlotName] * $var1;
$var3« =empty;
Заметим, что с помощью присваивания можно реализовать и «проталкивание» стека, например, так:
»$var2 二 empty; $var3« =;
или даже так
$var«;
Однако более общим будет действие вида
push ( left, $var2, $var3 ); push ( right, $var2, $var3 );
так как здесь с помощью одного действия можно обработать несколько стеков, причем одно и то же имя может многократно повторяться в качестве параметра. В этом случае в соответствующем стеке появится несколько пустых позиций- уровней. Выталкивание значений из стеков производится аналогичным образом. Для очистки стеков следует использовать стандартное действие CLEAR. При этом не важно, с какой стороны (слева или справа) начнет очищаться стек.
Присваивания и операторы обработки стеков, рассмотренные выше, конечно, важны, но не они составляют суть обработки данных в языках представления знаний. В дополнение к этому, а вернее, в первую очередь, здесь должны быть средства изменения базы знаний, текущее состояние которой и определяет, какие решения уже были приняты и что будет происходить дальше.
Выше уже обсуждалась конструкция образца ЯПЗ PIL0T/2, которая используется для выделения интересующих инженера по знаниям ситуаций. Почти та же конструкция применяемся и для преобразования ситуаций. Действительно, для выполнения любого преобразования в конечном счете нужно найти некоторую ситуацию и либо удалить ее, либо скорректировать соответствующим образом. Для полноты нужны и средства формирования новых ситуаций. Все эти действия выполняются в ЯПЗ PIL0T/2 с помощью конструкции обработка-базы- знаний, которую для краткости и преемственности с языком ПИЛОТ [Хорошевский и др., 1990] будем также называть манипулятором, Итак, манипулятор, или обработка базы знаний, — это удаление фреймов, создание фреймов, замена фреймов или коррекция фрейма.
Операции удаления, создания и замены фреймов в текущей базе знаний манипулируют с фреймами как с целыми и неделимыми единицами. При этом благодаря использованию образцов можно за одно обращение к соответствующему манипулятору провести множественные изменения в базе знаний:
[?[*:*] \ ];[ ?[ * : *{二二《обработан»} ] \ ];
[?[ »$DeletedFrameNames=all_of * : *{==«обработан»} ] \ ];
Создание новых фреймов в ЯПЗ PILOT/2 для пользователя языка тоже простая операция. Здесь нужно дать определение нового фрейма или совокупности фреймов аналогично тому, как это делалось в рамках декларативной компоненты ЯПЗ PILOT/2:
[\ [ Framel : Slot11 = «Mother»;
Slot12 = «Father»;
Slot13 = «Children»;
Slot14 = 21];
[Frame2 : Slot21 = empty];.
[Frame3 :]
]
Замена одних фреймов на другие — не что иное, как объединение уже рассмотренных конструкций удаления и вставки:
[,?[*:*〕'[ Frame : Slot = «End Of Job» ]]
Так в ЯПЗ PILOT/2 осуществляется коррекция баз знаний на уровне отдельных единиц-фреймов. Вместе с тем часто требуется скорректировать некоторый фрейм или группу фреймов более «тонким» способом. Например, это может быть изменение значений некоторых слотов определенных фреймов, удаление «ненужных» слотов и/или добавление новых слотов в уже существующие фреймы. Все эти манипуляции с базой знаний осуществляются в ЯПЗ PILOT/2 на уровне конструкции коррекция-фрейма. Примеры использования манипуляторов в случае коррекции базы знаний на уровне отдельных фреймов и/или групп фреймов приводятся ниже:
[*: \ S1 int] - К первому фрейму в базе знаний добавить слот с.
именем S1.
[all_of *:$del\ ] - Во всех фреймах, имеющих слот с именей, хранящимся в $del, удалить этот слот.
[all_of * : S1=+1] - Во всех фреймах, имеющих слот S1, изменить значение последнего, увеличив его на 1.
При обсуждении общей структуры управления PILOT-программой были введены мощные, но «дорогие» средства управления выводом. Вместе с тем инженер по знаниям иногда может быть уверен, что надо выполнить определенную продукцию или секцию; он может знать, что определенные продукции пока не нужны, но зато необходимо включить в рассмотрение другие продукции. Наконец, иногда требуется осуществить принудительное завершение -работы PILOT-npo- граммы. Все такие действия в ЯПЗ PILOT/2 объединены в группу действий процедурного управления на уровне управление-активностью-правил, управление- активностью-секций, вызов-секции или выход.
Фильтр «активности/неактивности» продукций — первый из используемых «арбитром». Поэтому, явно активируя или деактивируя некоторые из продукций, можцр существенно сократить его работу и увеличить производительность всей продукционной системы. В случае секций фильтр активности, конечно, не столь эффективен, но у инженера по знаниям появляется возможность более точной структуризации правил продукционной системы и за счет этого увеличения эффективности ее функционирования.
Одними из уже упоминавшихся действий являются переключения флагов активности продукций (rule_on/rule_off), с помощью которых можно устанавливать их как в текущей, так и любой другой секции. Возможно манипулирование флагами сразу всех продукций одной секции (section_on/section_off).
Особым действием является вызов (invoke) секции. В результате его выполнения текущая активная секция «проталкивается» в управляющий стек, а ее место на следующем шаге занимает вызываемая секция. Так как за вызовом секции могут следовать другие действия (в частности, другие вызовы), после полной отработки этого вызова《арбитр» на некотором шаге, минуя формирование КМ и выбор из него продукции, возвращается к применению данной продукции, причем в той ее части, которая непосредственно следует за вызовом.
Выполнение действия exit прерывает работу «арбитра» и таким образом завершает работу продукционной системы. В качестве «побочного» эффекта это действие позволяет передать во внешнюю среду информацию о том, как завершилась PILOT-программа. По 《умолчанию» выход происходит с нулевым кодом возврата. 4
Мы рассмотрели обработку переменных и баз знаний, а также действия, связанные с управлением выполнением PILOT-программ. Вместе с тем понятно, что сколько-нибудь сложные задачи требуют удобного ввода/вывода. Вот почему в ЯПЗ PILOT/2 включена совокупность стандартных действий, поддерживающих ввод/вывод информации. При этом основное внимание уделяется действиям по работе с базами знаний. Что же касается средств работы с файлами, то в ЯПЗ PILOT/2 используется лишь последовательный доступ и простые форматные преобразования, а также специализированный обмен с экраном на уровне
сообщений и вопрос-ответных цепочек [Khoroshevsky, 1994]. Все более развитые средства этого типа, которые могут потребоваться пользователю, должны подключаться на уровне нестандартных действий.
Выше мы обсудили основные аспекты представления знаний на базе ЯПЗ PI- LOT/2. Примеры его использования будут рассматриваться в следующих параграфах данной главы.
Психодиагностика — пример предметной области для построения экспертных систем
В настоящем параграфе вписывается пример использования тех теоретических знаний, которые, как надеются авторы, уже усвоены читателем этой книги.
Для конкретности мы взяли в качестве предметной области проектирования и реализации экспертных систем область психодиагностики. И на этом примере попытаемся вместе с читателем пройти по пути разработки и реализации соответствующей экспертной системы — одной из спектра реализованных на основе методов и средств, рассматриваемых в данной книге.
Особенности предметной области
Современная психодиагностика предоставляет практикующим психологам широкий спектр методик, тестов и опросников для диагностирования и прогноза личностных особенностей человека и позволяет получать развернутое психологическое заключение (《портрет》испытуемого). Такие заключения могут использоваться специалистами, желающими оценить свои способности и, возможно, изменить род своей деятельности в соответствии с рекомендациями; преподавателями, занятыми обучением и переобучением специалистов — с целью выбора адекватных методов и средств обучения; руководителями организаций, подбирающими работоспособные коллективы и/или анализирующими деятельность малых коллективов; сотрудниками органов управления трудовыми ресурсами и бирж труда и т. д. Можно использовать результаты и для стимулирования личностного роста испытуемых, а также для профилактики психологических срывов и повышения адаптивных свойств человека в условиях стресса.
Таким образом, сама предметная область психодиагностики и профориентации является значимой и представляет интерес для создания соответствующих систем автоматизации. Важно и то, что тиражировать в компьютерных системах имеет смысл лишь опыт ведущих специалистов в этой области, которое,“как правило, заняты и не могут обеспечить все потребности общества в соответствующих консультациях.
Современное состояние автоматизации психодиагностики и профконсульти- рования характеризуется наличием достаточно большого числа отдельных программ, автоматизирующих стадию предъявления тестов и дешифрацию резуль-
татов по ключу. На выходе такие системы, как правило, выдают числовой вектор результатов либо шаблонные заготовки интерпретации этих векторов, не отражающие индивидуальных особенностей испытуемых. Такое положение связано с объективной сложностью индивидуальных психологических заключений, получение которых требует привлечения профессиональных экспертов, способных и готовых поделиться своим опытом и мастерством.
Следует отметить, что психодиагностика является классической предметной областью для разработки систем, основанных на знаниях. И именно здесь методология и технология создания экспертных систем могут принести значительный эффект.
Оставшаяся часть главы построена следующим образом: сначала кратко обсуждается сама проблематика психодиагностики и профконсультирования, затем ставится задача разработки интеллектуальной системы《Ориентир» и перечисляются основные требования к этой системе. В заключение рассматриваются вопросы разработки и реализации одной из ЭС, входящих в состав системы «Ориентир».
Батарея психодиагностических ЭС «Ориентир»
Представления человека о себе и система его ценностей могут быть выявлены с помощью различных психологических методов, однако возможность влиять на их формирование в ситуации консультации очень ограничена. Обычно особенности психики исследуются в трех направлениях — анализ перцептивных особенностей, исследование интеллекта и личностных особенностей. Факторов, влияющих на построение рекомендаций, так много, что для того, чтобы прийти к какому-либо заключению (например, о выборе профессии), необходимо провести полное психологическое обследование с целью получения психологическрго портрета испытуемого, обеспечить сопоставление его психологических черт и требований, которые предъявляет желаемая сфера деятельности, и сообщить ему полученные результаты. При этом под результатами имеется в виду не однозначная короткая информация о том, подходит ли избранная профессия человеку. Испытуемому необходимо сообщить его психологический портрет, какие перспективы открывают перед ним его психологические черты в плане выбора деятельности, и о том, как они сочетаются с его планами на будущее. Для этого, очевидно, нужно использовать не один тест, а сбалансированную систему тестов.
Содержательные классификации тестов — это, в первую очередь, классификации по психическим функциям, и, практически, они совпадают с классификацией способностей по тому же. основанию. С этой точки зрения тесты делятся на сенсомоторные; перцептивные; тесты на особенности внимания; мнестические (особенности памяти); тесты на интеллектуальный уровень и интеллектуальные особенности; личностные тесты. Каждый из этих классов тестов может быть, в свою очередь, разделен на подклассы в зависимости от конкретной особенности им измеряемой [Анастази, 1982].
По стимульному материалу тесты делятся на вербальные и невербальные. По сути, компьютеризация никак не связана с этой характеристикой методики. Но зрительное изображение, сложное по форме и/или цвету, может привести к трудностям как на этапе компьютеризации методики, так и при тиражировании ее на разные, типы ЭВМ и, в частности, дисплеев.
Личностные тесты направлены на выявление присущих человеку личностных черт, осознаваемых и бессознательных особенностей и проблем. Многие из них (например, прожективные) относятся к объективным нестандартизованным тестам. Но с точки зрения компьютерного тестирования способностей гораздо больший интерес представляют личностные опросники, особенно опросники, охватывающие широкий круг личностных черт и особенностей личности. К наиболее широко используемым личностным опросникам (в том числе и в нашей стране) относятся Миннесотский мультифазный личностный опросник (MMPI), 16-факторный тест Кеттелла, опросник УСК (уровень субъективного контроля), опросник Айзенка и некоторые другие.
Количество тестов, используемых в конкретной работе для психодиагностики, может быть различным. Возможно, для диагностики одной, узконаправленной способности в некоторых случаях можно ограничиться и одним тестом. Однако почти всегда широта и значимость диагностической задачи заставляют использовать тест, позволяющий определить сразу несколько показателей, или батарею (многофакторных) тестов.
Учитывая вышесказанное, в рамках проекта «Ориентир», выполнявшегося совместно специалистами из ВЦ РАН (Москва) и СПбГТУ (Санкт-Петербург) в середине 90-х годов и связанного с созданием программных средств, обеспечивающих функционирование соответствующей интеллектуальной интерактивной среды, была разработана и реализована батарея ЭС, работающих на получение следующих общих результатов:
Психологическая диагностика основных свойств личности, мотивации, интеллекта, темперамента с получением психологического заключения в виде текста на естественном языке.
Прогнозирование профессиональной успешности в различных видах деятельности с учетом возраста, пола и психологических особенностей испытуемых.
Выдача рекомендаций по созданию научных, творческих, учебных и производственных малых Коллективов на основе диагностики ролевой и психологической совместимости отдельных членов коллектива.
Профессиональный подбор и отбор специалистов для переподготовки в рамках специального заказа.'
Изучение психологических особенностей испытуемых с целью выбора наиболее подходящих методов обучения, средств адаптации, индивидуального подхода, способствующих профессиональному и личностному росту.
Отличительные особенности проекта были связаны с тем, что здесь в рамках единой интеллектуальной системы объединялись результаты, получаемые от отдельных диагностических ЭС различной модальности. Реализация проекта осуществлялась в среде Windows с использованием методов объектно-ориентированного проектирования и программирования, а базисом послужила технология разработки систем, основанных на знаниях. '
«с1и1нэис1о» эез Aioged eldiuTi олонаонэо епиоф hehhecIx£ x*Z,。^己«с1и1нэис1о» эез Aioged eldiuTi олонаонэо епиоф hehhecIx£ x*Z,。^己
«с1и1нэис1о» эез Aioged eldiuTi олонаонэо епиоф hehhecIx£ x*Z,。^己
«с1и1нэис1о» эез Aioged eldiuTi олонаонэо епиоф hehhecIx£ x*Z,。^己
£2 'эи(1 eh BHavseiotradu «dHiHandQ» 3cq wxoged егяиП ojohsohoo еийоф behhe(Ix£ 'иэхэиэ XHHidauo^e хтчнчьтмог &ОЕП& — KEdois e (хниэЛ1ниэи ииненЕ и хннне!? £已9 эинэ!7жойо(1иоэ и эинеаос! -ииdoф хэеаиьэпээдо хин ей KEsdajj 'шээ^ и 已£已9 ииПпо кэхсявгав (экэ!эиэ иэ!п -90 s «энннейой1эиэ1ГнЕ» ре эпнчевяое ээй икиПкяеаижЛгэдо ^wiqsoeeg “亦£
Z2 *эи(1 eh HOHHaifseioVadu *иоиэхэ енезино 41149 хэжои «dHiHQHdQ» 3cq ewnedieHiZ-H ^оннеЕемээшна кейшиь^ 0c хмнчевмое иинвце ииесед э laeioged KEdoion («ифо(1ц» ниэхэиэ HOHidauo^e иэинеаойин -ОИНЯНЛф Э ЧЭВЕВЙНЕКЙЭ BheVHE ВВН^ЭЕЭОЦ ^虱已工旳 ИЭШдО ИМ0Е9 ЭННЧЕЭХИНГОПЭИ хиШсявгаехэоэ ре хннчевяое хннчеэ^ю иэинеао(1инои11янЛф и jvosoehs эин -avseduX「еееНее KBdoig 'икинене и wehhe口 я euXiooV окшне&оНиноиПхне8H10 ЛхиШве квьсяеяй 1хнигэЛичиэи нее9 эинэ!7жойос1иоэ и caHH^addo^ 'зинеВеоз чхиь -ЭЦЭЭ90 енжгрЕ1 ниэхэиэ хин ей иойЦэп xExwEd g ъе^не охдмохозн кэхэеьигеей ом -хан чээ17е oih (eifBJevouVadu «dHiHandQ» иэхэиэ XHHidauo^e HadEJEg e^xogedeej
sszsszНЭ1ЭИЭ XHHideuoxe винэобюои ыЛ/ ——bxmioohjbmUoxmoij *2'£
ssz
ssz
Разработка и реализация психодиагностической ЭС «Cattell»
Одной из подсистем БЭС «Ориентир» является психодиагностическая ЭС «Cat- telb, в рамках которой, в частности, выполняется тестирование испытуемых по тесту Кеттелла. /
Как известно, тест Кеттелла измеряет 16 личностных черт, характеризующих эмоциональную, социальную и интеллектуальную сферы испытуемого. Шкалы теста сведены в табл. 7.2.
Таблица 7.2, Шкалы теста Кеттелла и их интерпретация
Шкала
Характеристики полюсов шкалы
А
Легкость эмоциональных контактов — эмоциональная отстраненность
В
Способность к логическому мышлению
С
Интегрированность поведения, эмоциональная устойчивость —— эмоциональная неустойчивость
Е
Доминантность — подчиняемость
F
Легкость, эмоциональность поведения ——серьезность, ограниченность эмоциональных проявлений
G
Глубокая усвоенность социальных норм и правил ——отсутствие внутренней необходимости соответствовать в своих поступках социальным нормам
Н
Настойчивость, решительность в достижении цели ——робость, ранимость
I
Чувствительность, «витание в облаках» — трезвость, реалистичность
L
Подозрительность — доверчивость
М
Индивидуалистичность, развитое воображение — склонность применяться к коллективу, прагматичность
N
Склонность следовать воспитанным формам поведения —
непосредственность поведения
О
Готовность к самообвинению, пессимистичность — уверенность в себе, ОПТИМИСТИЧНОСТЬ
Q1
Потребность в переменах, новшествах — консерватизм
Q2
Ориентация на собственные мнения, взгляды —— ориентация на мнения и взгляды окружающих
Q3
Высокий сознательный контроль поведения — низкий сознательный контроль поведения
Q4
Энергичность, высокий уровень напряжения ——Расслабленность, низкий уровень напряжения
Тест существует в нескольких формах. В данном проекте использовалась форма А.
Архитектура системы и ее база знаний
Анализ предметной области и требований, предъявляемых к системе «Cattell» специалистами по социальной психологии, с одной стороны, и условиями работы
ее в рамках общей системы《Ориентир», с другой, позволил специфицировать архитектуру и функциональные возможности этой ЭС Н-диаграммой, представленной на рис. 7.4.
Собственное меню системы «Cattelb располагается в виде дополнительных опций основного меню. '
Работа всех функциональных модулей в ЭС《Cattelb базируется на знаниях о 《мире» испытуемых, Соответствующей методики психологического тестирования и правилах анализа его результатов. Знания об испытуемом содержатся в общей БЗ системы《Ориентир», а знания о самом тесте — в БЗ ЭС «Cattell». В общую базу знаний добавляется лишь та информация, которая описывает результаты тестирования.
ЗС «Cattell»
-г- Уровень
—г- Испытуемый
Тестирование
Результаты
Ч— Эксперт
АнкетированиеАнкетированиеПрофилированиеПрофилированиеПортретированиеПортретирование
Анкетирование
Анкетирование
Профилирование
Профилирование
Портретирование
Портретирование
По вопросникуПо вопроснику~~р По таблице~~р По таблице-[—Количественное(сырые баллы)Из расчета-[—Количественное(сырые баллы)Из расчетаНевербализованноеНевербализованноеВербализованноеВербализованное
По вопроснику
По вопроснику
~~р По таблице
~~р По таблице
-[—Количественное
(сырые баллы)
Из расчета
-[—Количественное
(сырые баллы)
Из расчета
Невербализованное
Невербализованное
Вербализованное
Вербализованное
СозданиеСозданиеРедактированиеРедактированиеОбъясненияОбъяснения―[-Анализ знанийНа уровне правил―[-Анализ знанийНа уровне правилПо таблице-л— Качественное(семантические стэны)Из расчетаПо таблице-л— Качественное(семантические стэны)Из расчетаПо шкаламПо шкалам
Создание
Создание
Редактирование
Редактирование
Объяснения
Объяснения
―[-Анализ знаний
На уровне правил
―[-Анализ знаний
На уровне правил
По таблице
-л— Качественное
(семантические стэны)
Из расчета
По таблице
-л— Качественное
(семантические стэны)
Из расчета
По шкалам
По шкалам
На уровне объектов
Ретроспектива
Помощь
Рис. 7.4. Н-диаграмма ЭС «Cattell»
Основные знания о тесте «Cattelb представляются совокупностью фреймов-экземпляров, формируемых с использованием следующих прототипов:
[cattell is„a prototype;a_status int; anketa frame;[cattell is„a prototype;a_status int; anketa frame;n_status int; n_prfl frame;n_status int; n_prfl frame;[portret is_a prototype;not_verbframe;verbframe ];[portret is_a prototype;not_verbframe;verbframe ];
[cattell is„a prototype;
a_status int; anketa frame;
[cattell is„a prototype;
a_status int; anketa frame;
n_status int; n_prfl frame;
n_status int; n_prfl frame;
[portret is_a prototype;
not_verbframe;
verbframe ];
[portret is_a prototype;
not_verbframe;
verbframe ];
s_status int; s_prfl frame;
p_status int; port ret frame ];
[verb is_a prototype;[verb is_a prototype;[not_verb is_a prototype;
[verb is_a prototype;
[verb is_a prototype;
orderЫ b2 b3 b4orderЫ b2 b3 b4{string};{string};{string};{string};{string};{string};{string};{string};{string};{string};b1_valn b2_valn b3_valn b4~valnb1_valn b2_valn b3_valn b4~valnb4,b4_txt{string}];b4,b4_txt{string}];{int};{int};{int};{int};{int};{int};{int};{int};order {string};order {string};b1_vals b2_vals b3_vals b4 valsb1_vals b2_vals b3_vals b4 vals{string};{string};{string};{string}];{string};{string};{string};{string}];Ы, b2, b3,Ы, b2, b3,b1_txt {string};b2.txt {string};b3_txt {string};b1_txt {string};b2.txt {string};b3_txt {string};[[n_prfl is_an_prfl is_aprototype;prototype;А, В, С, E, F, G, H, I, L, M, N, 0, Q1, Q2, Q3, 04А, В, С, E, F, G, H, I, L, M, N, 0, Q1, Q2, Q3, 04int ];int ];[s_prfl is„a prototype;А, В, С, E, F, G, H,[s_prfl is„a prototype;А, В, С, E, F, G, H,I, L, M, N, 0, Q1, Q2, Q3, Q4I, L, M, N, 0, Q1, Q2, Q3, Q4string ];string ];
order
Ы b2 b3 b4
order
Ы b2 b3 b4
{string};
{string};
{string};
{string};
{string};
{string};
{string};
{string};
{string};
{string};
b1_valn b2_valn b3_valn b4~valn
b1_valn b2_valn b3_valn b4~valn
b4,b4_txt{string}];
b4,b4_txt{string}];
{int};
{int};
{int};
{int};
{int};
{int};
{int};
{int};
order {string};
order {string};
b1_vals b2_vals b3_vals b4 vals
b1_vals b2_vals b3_vals b4 vals
{string};
{string};
{string};
{string}];
{string};
{string};
{string};
{string}];
Ы, b2, b3,
Ы, b2, b3,
b1_txt {string};
b2.txt {string};
b3_txt {string};
b1_txt {string};
b2.txt {string};
b3_txt {string};
[
[
n_prfl is_a
n_prfl is_a
prototype;
prototype;
А, В, С, E, F, G, H, I, L, M, N, 0, Q1, Q2, Q3, 04
А, В, С, E, F, G, H, I, L, M, N, 0, Q1, Q2, Q3, 04
int ];
int ];
[s_prfl is„a prototype;
А, В, С, E, F, G, H,
[s_prfl is„a prototype;
А, В, С, E, F, G, H,
I, L, M, N, 0, Q1, Q2, Q3, Q4
I, L, M, N, 0, Q1, Q2, Q3, Q4
string ];
string ];
anketa is aanketa is aprototype;prototype;
anketa is a
anketa is a
prototype;
prototype;
ansiansians2, ans3,..., ans187 string ];
ansi
ansi
Кроме того, в БЗ ЭС «Cattell» содержится совокупность фреймов-экземпляров, поддерживающих технологические знания о том, как осуществляется переход от ответов в анкете испытуемого к «сырым баллам» в числовом профиле, а от него к семантическому профилю и затем к невербализованному и вербализованному портретам.
Общение с пользователем и опрос испытуемых
Как следует из Н-диаграммы, представленной на рис. 7.4, подопции Cattell-меню различны для режима «Испытуемый» и режима «Эксперт».
Активация первого режима приводит к последовательному выполнению процедур диалогового анкетирования испытуемого, подсчета «сырых баллов» по каждому из 16 кеттелловских факторов и формирования на этой основе числового, а затем и семантического профиля испытуемого. Весь диалог в рамках этой опции ведется на языке, близком к естественному. При этом лингвистический процессор для анализа ответов испытуемого, конечно, не используется, а «взаимопонимание» обеспечивается тем, что инициатива во всех диалогах здесь всегда у системы. Таким образом, она всегда《знает», каков должен быть ответ испытуемого в данной точке и в случае ошибки «добивается» правильного ответа с помощью переспросов и подсказок.“
Единственной точкой перехвата инициативы от системы к пользователю является вызов《помощи», к которой можно обратиться нажатием функциональной клавиши F1 или через соответствующую опцию в меню. При этом на экране появляется специальное окно, где высвечивается соответствующая контексту обращения к《помощи» информация. Отсутсвие на этом уровне объяснений — не случайно. Испытуемый не должен «понимать», почему (как) получен его личностный портрет. В противном случае он будет осознанно или подсознательно отступать от «естественных» для себя ответов на вопросы анкеты и в конечном счете《научится» получать желаемый, а не действительный личностный портрет.
Противоположная ситуация в опции «Эксперт». Во-первых, на этом уровне все выводы системы должны (по желанию экперта) сопровождаться объяснениями и обоснованиями и во-вторых, у психолога должны быть средства анализа знаний системы и данных по конкретному испытуемому. Защита от несанкционированного доступа к данным и знаниям обеспечивается всей системой «Ориентир», если база помечена как личная (ее «владельцем» указан статус PRIVATE). Опции режима «Эксперт» перечислены в Н-диаграмме на рис. 7.4. Анализ данных и знаний системы, а также объяснения вынесены на уровень основного меню и активируются из соответствующих опций.
Ввиду небольшой компьютерной подготовки психологов-экспертов в данном режиме диалог в подавляющем большинстве случаев идет на уровне меню и/или семантически значимых клавиш. Кроме того, в любой точке, где требуется реакция пользователя, он может вместо ответа обратиться к блоку «помощь» уже обсуждавшимся выше способом.
Из приведенной выше Н-диаграммы ЭС «Cattelb следует, что опрос испытуемых может осуществляться двумя способами: на основе ответов на ЕЯ-формулировки вопросов теста и путем заполнения таблиц. Первый вариант удобен при индивидуальном тестировании, а второй — при массовом вводе результатов анкетирования, предварительно зафиксированных на бумажных носителях.
Но и в том и в другом случае результатом работы блока анкетирования является фрейм-экземпляр прототипа《anketa》, приведенного выше.
Вывод портретов и генерация их текстовых представлений
Для удобства работы психолога-эксперта результаты профилирования выдаются в специальное окно в виде графика, на оси абсцисс которого указаны факторы, а на оси ординат — «сырые баллы», набранные испытуемым по каждому из факторов. Существует в системе и возможность табличной визуализации числового профиля. Несколько иначе визуализируется результат построения качественного профиля испытуемого. Здесь психологу-эксперту выдается 16 семантических шкал.(по числу факторов), на каждой из которых отмечается числовое значение соответствующего фактора.
Процедуры обработки данных анкетирования в рамках предыдущих опций базируются на знаниях. Но знания эти доведены до алгоритмов, реализация которых в виде продукционной системы нецелесообразна. Поэтому в ЭС «Cattell» все такие процедуры реализуются на языке C++, а затем подключаются в нужных точках. Вместе с тем сами технологические знания представлены эксплицитно совокупностью следующих фреймов прототипов и экземпляров:
[a_n_tbl is_a prototype;
f_A {frame}; /* ответы по фактору А с весами */
f_B {frame}; /* ответы по фактору В с весами */ ,
f.Q4{frame}; /* ответы- по фактору Q4 с весами */];
[a_n_elem is_a prototype;
ans_dsc string; /* имя фрейма-экземпляра ответа на анкету */ weight a, weight_b, weight/ int; /* веса ответа типа «а», «б» и «с»
[answer is_a prototype;
prt_name, exm^name, slot_name string];
[ank_numb is_a a_n_tbl;
f_A={q_3)q_4)q_26lq_27,q_51Iq_52,qj76,q_101lq_126,q_151lq_176 };
f_B={q_28,q_53)q_54,q_77,q_78,qJ02r...q_152,q_153,q_177,qJ78};
f_04={q_25,q_49,q_50,q_741q_75,q_99,qJ00I ...q_150,q_174,q_175}];
[q_3 is_a a_n_elem;'
ans_dsc =«ans_003»;
weight_a= 2; weight_b= 1; weight_c= 0 ];
[ans_003 is_a answer;
prt_name= «anketa»;
exm_name= «anketa0037»;
slot_name= «ans3» ];
Запускаются процедуры получения числового и семантического профилей испытуемого как демоны при выборе соответствующих опций в меню ЭС «Cattell».
В опции «портретирование» осуществляется психологическая интерпретация полученный на предыдущих этапах профилей исйы!уемого с целью построения его словесного личностного портрета. Здесь уровень алгоритмизации знаний психолога-эксперта существенно иной. Разные школы психологов несколько по-разному оценивают роль и вес разных факторов, приписывают им различные текстовые отображения. Поэтому реализация вывода словесного портрета испытуемого в ЭС «Cattelb базируется на продукционно-фреймовом формализме. Собственно вербализация портрета — нисходящая (от цели), а подготовка его структурированного невербализованного описания — восходящая (от данных).
Наиболее сложным и интересным является этап вывода невербализованного портрета, реализованный в виде продукционной системы, предложенной в работе [Гаврилова и др., 1992]. Правила этой системы служат для выявления и устранения противоречий двух типов. Первый связан, в конечном счете, с анализом ответов на определенные вопросы анкеты и позволяет фиксировать ситуации, когда построение сколько-нибудь достоверного личностного портрета на основании имеющихся данных нецелесообразно. Возникновение таких ситуаций обычно связывается либо с невнимательным заполнением анкеты испытуемым, либо с попыткой преднамеренного искажения результатов тестирования за счет противоречивых ответов на дублирующиеся по семантике вопросы теста. И в том и в другом случае анкета помечается как «плохая» и из дальнейшей обработки исключается. Второй тип противоречий связан с выявлением и устранением контекстной зависимости и доминирования значений разных факторов, что позволяет получить более «гладкий» личностный портрет.
Но и в том и в другом случае исходными данными для работы продукционной системы являются числовой и семантический профили испытуемого, прототипы которых (n_prfl и s_prfl) приведены выше. Примеры словесных формулировок правил разрешения противоречий выглядят следующим образом:
Если
значение фактора «F» в семантическом профиле испытуемого «Очень Низкий», а значение фактора «03» - «Низкий»,
то фактор «03» поглощается фактором «F».
Если
значения факторов “07” и «02» в семантическом профиле испытуемого «Очень Высокий»,
то
для принятия решения о поглощении нужно сравнить значения этих факторов в числовом профиле испытуемого. Кандидатом на поглощение будет тот фактор, у которого числовое значение меньше.
На уровне ЯПЗ PILOT/2, обсуждавшегося выше, описание этих правил трансформируется во фрагмент продукционной программы вида:
Н={«Не имеет навыка решения логических задач, довольно медленно обучается новым понятиям.»};
СР={«Имеет определенные навыки в решении логических задач.»};
В={«Умеет абстрактно мыслить, хорошо решает логические задачи, довольно быстро обучается новым понятиям.»};
0В={«Умеет абстрактно мыслить, очень хорошо решает логические задачи, быстро обучается новым понятиям.»};
[Q4 is_a factor;
ОН={«В настоящий момент самоуспокоен, расслаблен, не напряжен.»};
Н={«В настоящий момент находится в спокойном расслабленном состоянии.»};
ep 二;
В={«В настоящий момент человеку присуще высокое рабочее напряжение, собранность, энергичность.»};
ОВ={«В настоящий момент человек напряжен, собран и даже несколько «взвинчен».»};
Учитывая то, что генерация текстовых представлений портретов осуществляется в ЭС «Cattell» на уровне целых предложений и групп предложений, здесь используется простая продукционная система со следующими правилами:
section PORTRET-GEN
removeall;
if (?[ $curr_port : $curr_not_verb = not_verb ] &&
?[ $curr_port : $curr_verb = verb ] &&
?[ $curr_not_verb : $curr__order 二 all_of order ;
$curr_b1 =. all_of Ы;
$curr_b2 = all_of b2;
$curr_b3 = all_of b3;
insert (COPY);insert (COPY);$curr_b4 = all_of b4 ]
insert (COPY);
insert (COPY);
rule COPY::==> [$curr_verb [$curr_verb [$curr_verb [$curr_verb [$curr_vqrbrule COPY::==> [$curr_verb [$curr_verb [$curr_verb [$curr_verb [$curr_vqrborder ] = $curr_orderЫ ] = $curr_b1;b2 ] = $curr_b2;b3 ] = $curr_b3;b4 ] = $curr_b4;order ] = $curr_orderЫ ] = $curr_b1;b2 ] = $curr_b2;b3 ] = $curr_b3;b4 ] = $curr_b4;
rule COPY
::==> [$curr_verb [$curr_verb [$curr_verb [$curr_verb [$curr_vqrb
rule COPY
::==> [$curr_verb [$curr_verb [$curr_verb [$curr_verb [$curr_vqrb
order ] = $curr_order
Ы ] = $curr_b1;
b2 ] = $curr_b2;
b3 ] = $curr_b3;
b4 ] = $curr_b4;
order ] = $curr_order
Ы ] = $curr_b1;
b2 ] = $curr_b2;
b3 ] = $curr_b3;
b4 ] = $curr_b4;
rule_off (COPY);invoke (Bl);invoke (B2);invoke (B3);invoke (84);
ssction В1
if ( ?[ $curr_not_verb : $curr_b1_vals 二 all_of b1_vals ]);
rule A、
::<$сигг_Ы == «А» ==> <<$curr_b1;
$curr_txt = all_of [ A : <<$curr_b1_vals ];.
[$curr_verb,b1_txtJ = Scurr^txt;“
clear ($curr_txt);
rule E
::<$сигг_Ы == «Е»/
==> <<$curr_b1;
$curr,txt = all_of [ E : <<$curr_b1_vals ];
[$curr_verb : b1_txt ]二 $curr_txt; clear ($curr_txt);
rule N
:<$curr_b1 工二 《М»
==> «$сигг_Ы;
$curr_txt = all_of [ N : <<$curr_b1_vals ];
[$curr_verb : b1_txt ] = $curr_txt;
clear ($curr_txt);e
section B4
if ( ?[ $curr_not_verb : .$curr_b4_vals = all_of b4_vals ]);
rule В
::<$curr_b4 == «В»
==> <<$curr_b4;
$curr_txt = all_of [ В : <<$curr_b4_vals ];
[$curr_verb : b4_txt ] = $curr_txt; clear ($curr_txt);
rule Q1
::<$curr_b4 == «01»
==> <<$curr_b4;
$curr_txt 工 all_of [ Q1 : <<$curr_b4_vals ];
[$curr_verb : b4_txt ] = $curr_txt; clear ($curr_txt);
Результатом работы этой продукционной программы является фрейм-экземпляр прототипа verb, слоты order и Ы-Ь4 которого содержат ту же информацию, что и в невербальном портрете, а слоты bl_txt—b4_txt — собственно текстовое представление портрета испытуемого.
Помощь и объяснения в ЭС «Cattell»
Помощи в ЭС «Cattell» обеспечивается стандартным гипертекстовым Help. В нашем случае топиками и подтопиками такого гипертекста являются общее описание системы и подсказки для работы внутри блоков системы. Последние, в свою очередь, делятся на описания действий пользователя в рамках ввода и/или редактирования анкет испытуемых и их числовых (семантических) профилей и получения вербальных портретов. Во всех случаях акцент в текстах помощи делается на описании доступных пользователю способов получения нужных ему результатов.
Объяснения в ЭС ^Cattell» строятся на основе модели [Clancey, 1983; Khoro- shevsky, 1985]. При этом система поддерживает два типа запросов: общие и специальные. Последние, в свою очередь, делятся на запросы типа «Почему», «Как» и «Что». Модель объяснений опирается не на трассу вывода решения, а на ключевые темы, связанные с функционированием системы. Таких тем — три: вербальный портрет испытуемого, его профиль и заполненная анкета. Типичные примеры запросов на объяснения — следующие:
Случай общих запросов
При построении данного портрета были нёинтерпретируемые факторы? Сколько противоречий было при построении данного портрета?
Какие факторы при построении данного портрета не интерпретировались ? Как разрешались противоречия при построении данного портрета? и т. п.
Случай специальных запросов
Почему в портрете испытуемого присутствует фраза《…》?
Как в профиле испытуемого получено значение фактора《...》? и т. Э.
Для устранения непониманий все запросы на объяснения после анализа перефразируются и выдаются эксперту в виде эхо-вопросов. И только в случае, если его «устраивает» интерпретация запроса, данная системой, происходит формирование текста объяснения. Так, например, эхо-запрос для последнего из общих вопросов —Вас интересуют правила поглощения противоречивых факторов в Эан- ном портрете?, а для последнего из специальных вопросов — Вы хотели бы узнать, каким образом сформировано значение фактора《...》=《...》?
Примеры объясняющих текстов для тех же запросов, к которым приведены эхо- вопросы системы — следующие: .
Фактор «...» = «...» поглощен фактором «...» = «...», так как на шкале «ОН-Н-СР- В-ОВ» значение «...» выражено «сильнее» значения «...».
Общая формула, которая является ключом теста, выглядит следующим образом:
F __ value{ factor) = £ omeem(q) * вес - ответ a{q)*gu factor.
Для фактора «...» она трансформируется в формулу:
F_value («...») ^ ответ (цЗ)*вес-ответа (q3) + ...+ ответ (д176)*вес-ответа (ql76);
С учетом ответов испытуемого эта формула приводится к выражению вида;
F_value («...») = 2+...+2 = «...»
Таким образом сформировано значение фактора «...» = «..>.
Как следует из приведенных примеров, объяснения в ЭС «Cattell» достаточно подробные и позволяют получить психологу-эксперту практически всю интересующую его информацию. Понятно, что поддержка объяснений такого уровня существенно сложнее, чем выдача аннотаций к трассе вывода решения и требует своей базы знаний (согласованной с предметной БЗ) и своей программы вывода. Основные моменты построения этих компонентов и рассматриваются ниже.
В целом подсистема объяснения системы «Cattell» строится по «полной» схеме: прием запроса от пользователя; анализ запроса; генерация эхо-вопроса; прием подтверждения на системную интерпретацию запроса и вывод собственно текста объяснения.
Формирование запросов на объяснения осуществляется на основе меню, в корневых опциях которого находятся темы объяснений, а на листьях — ЕЯ-шаблоны конкретных вопросов. В зависимости от типа запроса он может сопровождаться параметрами, которые выбираются пользователем непосредственно из портрета или профиля испытуемого. Система, «зная» описание текущего испытуемого, дополняет запрос пользователя и формирует структуру вида
«тема» «тип-запроса» «имя объясняемого фрейма-экземпляра»
«контекст»),
которая, по существу, является внутренним представлением запроса на объяснение. Таким образом, удается избежать построения Л-процессора для анализа запросов и вместе с тем обеспечить естественное общение.
Айализ внутреннего представления осуществляется параллельно с генерацией эхо-вопроса. При этом сама внутренняя структура является управляющей цепочкой, которая задает поверхностную структуру эхо-вопроса. Фрагмент соответствующего множества ATN показан на рис. 7.5.
CAT 二购純 T^^g)...
'Вы хотелит
бы понять; САТ 1 又
EXPL-A
com_que'
TST
САГ •profile' Т^ 'Вы хотели бы понять то,'
TST
"почему фактор*
испытуемого факторы, которые'
Г т
'имелись ли в профиле
> ЕХ-СМ)...
'Вас интересует,"
TST
т
PUSH F-NAME、' идентифицированзначением'
PUSH » F-版U「产
'что система пока не может объяснить!"
САГ 'V T
>
TST
т
POP
POP
'не дали при построениипортрета никакой вербальнойсоставляющей?'
'что система пока не может объяснить!'
'Данная тема пока системе недоступна/
POP
X QI-2-6
>fQ1-2-4
.POP
Рис. 7.5. Фрагмент ATN-представления анализатора запросов и генератора эхо-вопросов
В результате анализа запросов на объяснения и генерации эхо-вопросов, а также уточнений, которые отражают процесс согласования мнений системы и пользователя, в базе знаний ПОЭС (подсистемы объяснений ЭС) «Cattelb формируется окончательная редакция запроса — фрейм-экземпляр следующего прототипа:
[expl_request is_a prototype;
rq_team frame; rq_type int; rq_context {string};
expl_fr frame; expl_sl {string}; expl_fun string;
echo_txt{string}; expl_txt{string}];
В начальный момент вывода текста объяснения в этом экземпляре заполнены слоты rq_team (тема объяснения из БЗ ПОЭС); rq__type (тип запроса, — WHY, HOW или WHAT, — сформированный анализатором); rq^context (параметры запроса, если они требуются) и echo_txt (поверхностное представление «согласованного» эхо-вопроса). Слоты expl fr (объясняемый фрейм-экземпляр из предметной БЗ теста); expl_sl (объясняемые слоты объясняемого фрейма-экземпляра) и expl_fun (имя процедуры вывода текста объяснения) заполняются самой ПОЭС. Значение слота expl_txt представляет результат работы.
Собственная БЗ ПОЭС — статическая и содержит совокупность поддерживаемых моделей объяснений, определяемых как экземпляры следующих основных прототипов:
[explain is_a prototype;
expl_slt{string}; expl_fncstring; expl_knw frame ];
[v^expl is_a prototype;; why_slt.{string}; ■ why (frame);, how_slt {string};how (frame);
what_slt {string};what (frame) ];■
[p_expl is_a prototype;
why {frame}; how {frame}];
[c_expl is_a prototype;
noneframe; contra frame ];
[wh is_a prototype;
path{fname}; process string ];
path is_a prototype;
typeint; nm_fname string; nm_slot {string}];
В [
rule is_a prototype;
jfact {string}; r_part {string}];
нашем случае это множество экземпляров представляется следующими фреймами:
port is_a
expl_slt expl_fnc
expl_knw=
explain;
{ «Ы», «Ь2», «ЬЗ», «Ь4» };
«portret»;
portret ];
[prfl is_aexpl.slt
explain;
= {«А»,«В»,«С»,«Е»,«F»,«G»,« H »,«I»,«L»,«М»,«N»,«0»,«01»,«02»,«03»,«04» };
expl_fnc=«profile»;.
expl_knw=profile ];
[comn is_a explain;
expl_slt={ };
expl_fnc=«com_que»;
expl_knw=common];
Анализ их показывает, что в ЭС «Cattell» поддерживаются модели объяснения всех групп интерпретируемых в вербальном портрете факторов, всех факторов в профиле испытуемого и модели общих запросов.
Так, например, знания, необходимые для объяснения вербального портрета конкретизируются фреймом-экземпляром portret, где заданы ссылки на объясняемые тексты («bl_txt», «b2_txt>, «b3_txt»,《b4_txt») и способы доступа к релевантной информации из предметной БЗ теста (whl, wh2, wh3, wh4):
[portret : v_expl;
why„slt ={ «b1_txt», «b2_txt», «b3_txt», «b4_txt» };
why ={ wh1, wh2, wh3, wh4 };
how_slt ={ «b1_txt», «b2_txt«, «b3_txt», «b4_txt» };
how ={ wh1, wh2, wh3, wh4 };
what_slt={ «b1_txt», «b2_txt», «b3_txt», «b4_txt» };
what={ wh1, wh2, wh3, wh4 }];
При такой модели процессор объяснений интерпретирует последовательно описания экземпляров типа wh, где описываются пути, ведущие от запроса на объяснение к тем данным, которые и составляют внутреннее представление ответа.
Наиболее сложной является модель объяснения поглощения факторов, активируемая подмножеством общих вопросов. В этом случае ПОЭС должна иметь в своей БЗ модели всех правил поглощения и объяснять рассуждения машины вывода《Cattell». Для конкретности дальнейшего обсуждения предположим, что обрабатывается запрос вида «Как разрешались противоречия при построении данного портрета?^ и пользователь согласился с интерпретацией системы, специфицированной в эхо-вопросе «Вас интересуют правила поглощения противоречивых факторов в данном портрете?» Пусть также, для определенности, единственным поглощенным фактором при выводе вербального портрета был фактор А. Для этого фактора в модели существуют два правила объяснения поглощения, соответствующие очень низкому (ОН) и очень высокому (ОВ) значению этого фактора в семантическом профиле испытуемого:
[АОН is_a rule;[ АОВ is_a rule;
r_fact ={«Е», «L»}; r_fact ={«E«, «L»};
r_part ={«EOH»,»LOH»} ]; r_part ={«EOB»,«LOB»}];
Однако реально поглощение фактора А наблюдается лишь тогда, когда значения факторов Е и L тоже ОН или ОВ. Понятно, что в такой ситуации подсистема объяснения должна сравнивать не семантические профили по вышеуказанным факторам, а их числовые профили. Учитывая вышесказанное, продукционная система вывода объяснения поглощений содержит 98 правил, аналогичных правилам для фактора А:
section EXPL-COLLAPSE-A '
removeall;*
if ( [$curr_s_prfl : A] == [$cu「r_s_p‘「fl : E] ){
if ( [$curr_s_prfl : A] == «ОН» ) insert (AOH-COLLAPSED-E);
if ( [$curr_s_prfl : А]二二 «ОВ» ) insert (AOB-COLLAPSED-E);
break };
if ( [$curr_s_prfl : A] == [$curr_s_prfl : L] ){
if ( [$curr_s_prfl : A] == «ОН» ) insert (AOH-COLLAPSED-L);
if ( [$curr_s_prfl : A] == «0В» ) insert (AOB-COLLAPSED-L); break };
rule AOH-COLLAPSED-E
::(?[$curr_n_prfl : $curr__A = A]) &&
(?[$curr_n_prfl : $curr_E = E]) &&
($curr_A <= $qurr_E)
==> [expl_request_001 : expl_txt]=-
{«Фактор A = «, $curr_A>>, «(ОН) поглощен », «фактором E = «, $curr_E, «(ОН), т. к. числовое», «значение E выражено сильнее значения А.»}];
rule AOB-COLLAPS.ED-L
::(?[$curr_n_prfl : $curr_A = A] ) &&
(?[$curr_n_prfl : $curr_L = L] ) &&
($curr_A <= $curr_L)'
==> [expl_request_001 : expl_txt]= 、/
{«Фактор A = «, $curr_A>>, «(OB) поглощен »,
«фактором L = «, $curr_E, «(OB), т.к. числовое»,
«значение L выражено сильнее значения А.»}];
Таким образом, осуществляется генерация объяснений в ЭС «Cattelb. В данной версии каждый запрос на объяснение приводит к генерации одного и того же экземпляра прототипа expl request. Однако нетрудно модифицировать обсуждавшуюся продукционную программу так, чтобы в БЗ объяснений сохранялась история работы с ней пользователя. В таком случае БЗ объяснений может использоваться для обучения специалистов интерпретации результатов по тесту Кеттелла.
Выше описаны основные проектные решения, использованные при создании психодиагностической ЭС《Cattelb. Однако читателям должно быть ясно, что эти решения являются достаточно общими и характерными не только для данной экспертной системы, но и для большинства ЭС диагностики.
Представление данных и знаний в Интернете
口 Язык HTML и представление знаний
口 Онтологии и онтологические системы
口 Системы и средства представления онтологических знаний
Язык HTML и представление знаний
Историческая справка
Очевидно, что для представления информации в среде Интернет нужен был язык, который бы был «понимаем» всеми компьютерами в сети и вместе с тем обеспечивал бы достаточные выразительные средства для удобного описания разных типов документов. Таким языком публикаций для WWW и стал HTML (Нурег- • Text Markup Language) [WAI, 1999]: Этот язык предоставляет авторам Интернет- публикаций средства:
представления документов, включающих заголовки, тексты, таблицы, списки, «картинки» и т. п. элементы;
осуществления навигации по отдельным документам и множеству документов путем использования гиперссылок;
конструирования диалоговых форм для взаимодействия с удаленными сервисами, доступными в сети, а также:
включения в документы вычисляемых форм (spread-sheets), видео и звука, равно как и разнообразных приложений.
HTML — «авторский» язык. Первая его версия была разработана Т. Бернерс-Ли (Tim Berners-Lee) из Европейского Центра ядерных исследований (CERN). Активно поддерживался этот язык компанией NCSA, где был реализован один из первых Web-броузеров — Mosaic. Победное шествие HTML по Интернету все 90-е годы объясняется, в первую очередь, взрывным ростом Web и потребностями в единообразном представлении информации. За это время язык претерпел
существенные изменения. И уже к середине 90-х годов произошла стандартизация его версий, которая стала курироваться международными организациями. Версия HTML 2.0 (ноябрь 1995 г.) была разработана под эгидой Internet Engineering Task Force (IETF) для фиксации уже сложившейся практики использования этого языка до 1994 г. включительно [Berners-Lee et al., 1995]. В версиях HTML+ (1993 г.) и HTML 3.0 (1995 г.) описательные возможности языка были существенно расширены. Практика использования новых конструкций усилиями World Wide Web Consortium's (W3C) HTML Working Group была зафиксирована в HTML 3.2 (январь 1997 г.) [Raggett, 1997]. В настоящее время наиболее развитой является версия языка HTML 4.0 [HTML 4,1998], в которой представлены новые возможности аппаратуры и требования производителей программного обеспечения броузеров, а также пожелания Интернет-авторов.
HTML — язык гипертекстовой разметки Интернет-документов
Целью настоящей главы в целом и данного параграфа в частности, безусловно, не является описание языка HTML или изложение приемов создания Интернет-до- кументов с использованием этого языка. Для этого в настоящее время имеется достаточное число книг, пособий и Интернет-сайтов, в том числе и русскоязычных (например, http://www.citforum.ru/). Вместе с тем для обсуждения возможностей HTML по представлению в Интернет знаний, а не данных основные понятия этого языка нам потребуются. Вот почему ниже приводится краткое описание структуры HTML-текстов и некоторых основных конструкций самого языка.
HTML — язык разметки Интернет-документов с помощью специальных конструкций, называемых тегами (tag). Для выделения тегов в HTML-текстах эти конструкции берутся в угловые скобки. Различают теги «открытия» размечаемого фрагмента (они задаются ключевым словом и, быть может, множеством допустимых параметров) и теги его «закрытия» (такие теги суть то же ключевое слово, которому предшествует символ《/»). В отличие от начальных конечные теги параметров не имеют. Некоторые из начальных тегов не имеют парных конечных. Регистр, в котором представлены ключевые слова тегов и их параметров, роли не играет. Пожалуй, этими соглашениями и исчерпываются основные правила, которым следуют все спецификации языка HTML. Отметим лишь, что полное и строгое его описание базируется на специальной системе спецификации языков разметки SGML [Goldfarb, 1991], одним из примеров использования которой и является HTML.
Общая структура HTML-документа может быть представлена следующим форматом:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-htmL40/strict.dtd">
<HTML>
<HEAD>.
<Т1Т1Е>Наименование документа<Д1Т1Е>,
<МЕТА name=keywords 'Соп1еп1="Представление знаний,
Мультиагентные системы">
</HEAD>
<BODY>
Собственно текст документа
</BODY>,
</HTML>
Как следует из приведенного формата, комментарий <!DOCTYPE ...> фиксирует текущее состояние спецификации версии языка HTML. Кроме того,,в HTML-документе выделяются две основные структурные единицы — «голова» документа (между тегами <HEAD> и </HEAD>) и его《тело» (между тегами <BODY> и </BODY>).
Один из элементов головы документа — это заголовок ^- произвольный текст между тегами <T1TLE> и <Д1ТЬЕ>. Не менее, а быть может и более важным элементом головы документа является тег <МЕТА... >. В приведенном выше примере этот тег с помощью параметров name и content фиксирует значение первого атрибута как keywords, а второго — как ключевые слова «Представление знаний» и «Мультиагентные системы». Этот и некоторые другие теги типа <МЕТА ... > ориентированы на аннотирование Интернет-документов и, кроме того, существенно облетают задачу индексирования их, например, с помощью сетевых роботов.
Собственно содержание документа находится в теле. Как правило, оно состоит из последовательности структурных единиц, базисными среди которых являются заголовки разного уровня (текст, заключенный между тегами <Hi> и </Hi>) и па- рацэафы — текст между тегами <Р> и </Р>. По существу, это минимальные средства форматирования Интернет-документов. Естественно, что в HTML, особенно в его последней версии HTML 4.0, такие средства^значительно богаче. Здесь и всевозможные выравнивания, и табуляция, и несколько типов списков, и т. д.
Но более важными базовыми конструкциями языка HTML, которые, собственно, и дают основание ввести в его название термин «гипертекст», являются якоря (anchors).
Синтаксически эти конструкции представлены тегами <А> и </А> с атрибутами NAME и HREF.
Собственно якорем является конструкция вида
<А NAME="Метка">те кст</А>,
которая обеспечивает уникальное (в пределах документа) имя начала определенного фрагмента HTML-текста. При этом текст, заключенный между тегами <А> и </А>, как правило, задает семантически значимое наименование заголовка.
Для ссылок на помеченные таким образом части Интернет-документа используются конструкции
<А НАЕГ="#Метка">текст</А> или <А HREF=,'URL">TeKCT</A>.
Первая из них задает локальную ссылку на часть документа, начинающуюся с указанной метки. Вторая 一 глобальную ссылку на документ в сети, однозначно идентифицируемый с помощью URL (Unified Resource Locator). По существу, URL — это Интернет-адрес: имя домена, уточненное названием протокола и собственное имя документа, включая путь к нему в пределах данного домена. В качестве примера URL можно привести следующую ссылку вида http://www. anywhere.ru/anywhat.html.
Использование в Интернет-публикациях ссылок позволяет организовать логическое структурирование информации и обеспечивает удобную и единообразную навигацию как в пределах одного документа, так и в целом по множеству документов, которые, по мнению автора данного HTML-текста, связаны между собой. Важными конструкциями HTML, особенно в его последней версии, являются также таблицы с богатыми возможностями задания многоуровневых заголовков и формы, с помощью которых в язык введены средства обеспечения диалога с читателями Интернет-документов. Базисными конструкциями форм являются редактируемые текстовые поля, элементы выбора, кнопки и т. п.
Примеры форматов спецификации таблиц и форм приведены ниже.
<TABLE>
<TR>
<TD> Столбец-1, строка-1 </TD>
<TD> Столбец-1, строка-2 </TD>■
</TR>
</TABLE>
<FORM METHOD="POST" ...>,
<P>
Вы можете ввести в поле одну строку:.
<INPUT NAME="entry">
</Р>
<Р>
Для обработки результатов ввода нажмите кнопку:
<INPUT TYPE="submit" VALUE二”Принять запрос”〉
</Р>
</FORM>
Заметим, что именно на уровне форм в HTML появились возможности ввода информации в просматриваемый документ и ее обработки с помощью специальных программ, выполняемых на сервере. В последних версиях языка эта идея получила дальнейшее развитие и в настоящее время присоединенные процедуры могут быть подключены к HTML-документу не только в формах, но и в других конструкциях, а их выполнение может осуществляться как на сервере, так и на клиенте.
73 ?б@ W,73 ?б@ W,УСТАВУСТАВобщественной организацииобщественной организации| 31 Российская ассоциация ис»;уественного интеллекта - Micicsoft Internet Explotei| 31 Российская ассоциация ис»;уественного интеллекта - Micicsoft Internet Explotei的巒词ET碍三£9映仪啰5他耻叫巾е的巒词ET碍三£9映仪啰5他耻叫巾е阳倘阳倘学单:就必目弓喪像幽W3@1Ш述代盘/&这冗协爲而WMJ守空以育及KU за户外%1総次&&嬴找£^Шкала "必合衿6 厶内夕出住欣c" 6亠“以学单:就必目弓喪像幽W3@1Ш述代盘/&这冗协爲而WMJ守空以育及KU за户外%1総次&&嬴找£^Шкала "必合衿6 厶内夕出住欣c" 6亠“以Следующей важной конструкцией, которая появилась уже в версии языка HTML 2.0, являются кадры (frames). Часто их называют также рамками или фреймами. С использованием кадров стало возможным разделить документ на части и представлять их в отдельных, правда неперекрывающихся, областях экрана. По существу, с кадрами в язык HTML были введены в ограниченном объеме средства представления информации, характерные для многооконных приложений. Экранная форма с примером структуризации документа с помощью кадров приведена на рис. 8.1.
73 ?б@ W,
73 ?б@ W,
УСТАВ
УСТАВ
общественной организации
общественной организации
| 31 Российская ассоциация ис»;уественного интеллекта - Micicsoft Internet Explotei
| 31 Российская ассоциация ис»;уественного интеллекта - Micicsoft Internet Explotei
的巒词ET碍三£9映仪啰5他耻叫巾е
的巒词ET碍三£9映仪啰5他耻叫巾е
阳倘
阳倘
学单:就必目弓喪像幽W
3@1Ш述代盘/&这冗协爲而WMJ守空以育及
KU за户外%1総次&&嬴找£^
Шкала "必合衿6 厶内夕出住欣c" 6亠“以
学单:就必目弓喪像幽W
3@1Ш述代盘/&这冗协爲而WMJ守空以育及
KU за户外%1総次&&嬴找£^
Шкала "必合衿6 厶内夕出住欣c" 6亠“以
Российская ассоциация ясж^ссгвенпого шггеллекга”
(РАИИ)
. О^ймг пожтшя
Общестйенйая оргинизация "Российская Лссодвацгя искусственного интеллекта" (РАИИ), далее "Ассоциация*, является добровольной творческой профессиоиаль ной общесгвеииой (хрсаяизац^гЗ деятелей науки.
Ассоциация является научным сообществом специалискда в области теории и методологии искусственного интеллекта, создания и применения программного и аппаратного обеспечения комльютериых систем,
题手:侬ее*够g艰3现谯e同欣运:雌沥傩施зй»&e该添痴加诵瞬注淞标&初访無碰: :::^>:^^й^бн^д^е^^бй;й^йё^)^й::^^й^м;#а-^йй^йп
Рис. 8.1. Использование кадров для структуризации Интернет-документа
На наш взгляд, концепция кадров получила естественное развитие в конструкциях HTML 4.0, названных слоями (layers). Основными достоинствами слоев являются возможность их «привязки» по месту на экране, динамическое «всплывание» и «схлопывание» слоев, а также их перекрытие.
Кроме слоев в HTML 4.0 появились и другие конструкции, расширяющие возможности разметки Интернет-документов, среди которых следует отметить интернационализацию (использование стандарта ISO/IEC:10646 в качестве базового множества допустимых символов, а также появление специальных тегов, фиксирующих кодировку; документа); более четкое разделение между структурой документа и его представлением за счет таблиц стилей (style sheets); скрип- ты (scripts), поддерживающие, в частности, создание динамических страниц; новый механизм интеграции текстовых и графических ссылок, исполняемый на
стороне клиента (client-side image map mechanism) и, безусловно, стандартизацию механизма подключения к HTML-документам базисных медиаобъектов и приложений (embedding generic media objects and applications).
Справедливости ради следует отметить, что интерпретация некоторых конструкций последних версий языка HTML разными броузерами различна. Однако, как представляется, это не принципиальные, а технологические трудности совместимости программных продуктов разных фирм, в первую очередь Microsoft и Netscape. I
В целом же можно констатировать, что текущая версия языка HTML является мощным средством разметки Интернет-документов. Но ориентирован этот язык скорее на «разметку визуализации», чем на семантическую разметку, доступную для восприятия не только читателями-людьми, но и программами (в первую очередь, агентами, функционирующими в среде Интернет, которые обсуждаются в следующей главе настоящей книги). И тем не менее некоторые, правда ограниченные, возможности для представления знаний имеются в этом языке и сейчас. Вот почему в следующем подразделе данного параграфа эти вопросы обсуждаются подробнее.
.1.3 . Возможности представления знаний на базе языка HTML
Выше были рассмотрены основные конструкции HTML Теперь обсудим, каким образом они могут быть использованы для семантической разметки Интернет- документов и насколько это вообще возможно и эффективно. ■
Для этого выделим те конструкции языка, которые могут быть полезными для решения данной задачи.
Очевидно, что к их числу, прежде всего, относятся теги типа <TlTLE>, <МЕ1А... > и < a \
Первый важен для фиксации семантики всего HTML-документа, так как текст, заключенный между тегами <T1TLE> и </TITLE>, чаще всего отражает его назначение и/или содержание.
Теги типа <МЕ1А... >, по существу, вводят имена атрибутов и их значения с помощью параметров пате=«...» и contents...», а ссылки и якоря фиксируют отношения между частями одного документа и/или отдельными документами.
Но если теги типа <МЕТА... > явно вводят семантику значений атрибутов, одинаково интерпретируемых броузерами за счет ключевых слов (например, keywords, author и др.), которые могут быть значениями параметра name, то теги типа <А... > лишь фиксируют факт наличия отношения между ссылкой и ее якорем. В некоторых случаях этому отношению можно «приписать» имя SeeAlso, в других — Isa, ConsistOf, PartOf или иное подходящее имя, но в целом семантика данной конструкции имплицитна, а встроенная интерпретация ее связана лишь с переходом по ссылке и визуализацией начала соответствующего фрагмента документа или загрузкой нового документа для просмотра.
Из других конструкций HTML полезными для последующей обработки на предмет эксплицитного представления семантики соответствующих частей документа могут быть заголовки разделов и подразделов (тексты между тегами <Hi> и </Hi>), списки, таблицы и другие элементы языка.
Но в целом можно отметить, что выделение значимых для семантической интерпретации конструкций является экспертной задачей, решаемой каждый раз автором соответствующей Интернет-публикации по-своему. Правда, уже существуют определенные стереотипы, особенно заметные на коммерческих сайтах. Так, например, при анализе сайтов Интернет-магазинов, проведенном Н. В. Майкевич, было зафиксировано, что каталоги товаров в настоящее время в большинстве случаев представляются таблицами и/или списками либо «зашиты» в чувствительные для щелчка мышью графические образы. Аналогичная ситуация характерна и для индексов на сайтах машин поиска.
Для примера на рис. 8.2 приведена экранная форма известного электронного магазина, функционирующего в сети по адресу http://amazon.com/.
13753431375343■5Amd2on.com: SnItWcAe / Opeiatrng Systems & UUhUes / Opeiattng Systems - Miciosoft Inteinet Explorei■5Amd2on.com: SnItWcAe / Opeiatrng Systems & UUhUes / Opeiattng Systems - Miciosoft Inteinet Explorei^iW**** 加哽;〃WWW^iW**** 加哽;〃WWWamazonconiamazonconiSHLWffSSHLWffSI №”» i ;,痺],找纯(ГГ 1№№ II №”» i ;,痺],找纯(ГГ 1№№ I域常笈^ШЙ1 MtfAS>fS域常笈^ШЙ1 MtfAS>fSВ I HE2В I HE2AfABCMAfABCM3 Ks 燙 SA3 Ks 燙 SA貝心貝心GAMSSGAMSS
1375343
1375343
■5Amd2on.com: SnItWcAe / Opeiatrng Systems & UUhUes / Opeiattng Systems - Miciosoft Inteinet Explorei
■5Amd2on.com: SnItWcAe / Opeiatrng Systems & UUhUes / Opeiattng Systems - Miciosoft Inteinet Explorei
^iW**** 加哽;〃WWW
^iW**** 加哽;〃WWW
amazonconi
amazonconi
SHLWffS
SHLWffS
I №”» i ;,
痺],找纯(ГГ 1№№ I
I №”» i ;,
痺],找纯(ГГ 1№№ I
域常笈^ШЙ1 MtfAS>fS
域常笈^ШЙ1 MtfAS>fS
В I HE2
В I HE2
AfABCM
AfABCM
3 Ks 燙 SA
3 Ks 燙 SA
貝心
貝心
GAMSS
GAMSS
•iwwmi I All Categories•iwwmi I All Categories2сы|&с而《не^ЗГ
•iwwmi I All Categories
•iwwmi I All Categories
必疝同§. > 6曳gtlg£iflEHlSL&丄©UU敍 > Operadng Systems
Browse Operating Systems• DOS• Mcescfl Widows♦ Linux & 5必:• QS2Browse Operating Systems• DOS• Mcescfl Widows♦ Linux & 5必:• QS2Windows 2000 工& Here*Trying to decide vdietfier to 叩grade to"Windows 2000? S“ what Qther aeopb; .nre buymg or get expert recommendaHss fromWindows 2000 工& Here*Trying to decide vdietfier to 叩grade to"Windows 2000? S“ what Qther aeopb; .nre buymg or get expert recommendaHss fromour editorial staffour editorial staffOur Tup SeversUpdated DallyOur Tup SeversUpdated DallyНаскегЧ Heritage■ Dubtan GNXT IJniixby Loki Publishing СопфапуНаскегЧ Heritage■ Dubtan GNXT IJniixby Loki Publishing Сопфапу1. Microsoft Windows 98 Second Edition Upgrade1. Microsoft Windows 98 Second Edition UpgradeРис. 8.2. Экранная форма секции «Электроника» магазина Amazon.comРис. 8.2. Экранная форма секции «Электроника» магазина Amazon.com
Browse Operating Systems
• DOS• Mcescfl Widows
♦ Linux & 5必:• QS2
Browse Operating Systems
• DOS• Mcescfl Widows
♦ Linux & 5必:• QS2
Windows 2000 工& Here*
Trying to decide vdietfier to 叩grade to
"Windows 2000? S“ what Qther aeopb; .nre buymg or get expert recommendaHss from
Windows 2000 工& Here*
Trying to decide vdietfier to 叩grade to
"Windows 2000? S“ what Qther aeopb; .nre buymg or get expert recommendaHss from
our editorial staff
our editorial staff
Our Tup Severs
Updated Dally
Our Tup Severs
Updated Dally
НаскегЧ Heritage
■ Dubtan GNXT IJniix
by Loki Publishing Сопфапу
НаскегЧ Heritage
■ Dubtan GNXT IJniix
by Loki Publishing Сопфапу
1. Microsoft Windows 98 Second Edition Upgrade
1. Microsoft Windows 98 Second Edition Upgrade
Рис. 8.2. Экранная форма секции «Электроника» магазина Amazon.com
Рис. 8.2. Экранная форма секции «Электроника» магазина Amazon.com
Фрагмент соответствующего HTML-текста представлен ниже:
<html>
<head>,
<title>.
Amazon.com: Electronics/Software/Operating Systems
</title>
</head>
<body ... >
<table .,.>
<tr>
<td colspan=2 bgcolo「=#EEEECC>
<font >Browse <8>0perating Systems</Bx/font>
</td>
</tr>
<tr>
<td bgcolor="FFFFFF" valign="top" width=50%>
<ul>
<li><a href=/exec/obidos/tg/electronics/...> DOS</a>
<li><a href=/exec/obidos/tg/electronics/,..> Linux & Unix</a>
* <lixa href=/exec/obidos/tg/electronics/...> Macintosh</a>
</ul>
</td>
<td valign="top" width=50%>
<ul>
<li><a href=/exec/obidos/tg/electronics.. .> Microsoft Windows</a>
<li><a href=/exec/obidos/tg/electronics/...> 0S2</a>
</ul>
</td>
</tr>
</ table>
Как следует из сравнения экранной формы (см. рис. 8.2) и приведенного HTML- текста, каталог товаров организован в виде таблицы (тег <table>), в ячейках которой (тег <td>) с помощью конструкции списка (тег <li>) перечислены продукты (в данном случае это операционные системы DOS, Linux & Unix, Macintosh, Microsoft Windows и OS2). Собственно описания этих продуктов и их характеристики заданы в виде ссылок на отдельные документы (теги <а href=/exec/ obidos/tg/electronics...>). При этом из анализа HTML-текста следует, что его семантически значимые характеристики могут быть «закопаны» достаточно глубоко. И более того, разбросаны по разным частям одного документа и даже разным документам. Все вышесказанное существенно затрудняет семантический анализ Интернет-документов, независимо от того, выполняется ли он людьми- экспертами или специальными программами.
Решение проблемы семантического анализа Интернет-документов в настоящее время связывается с использованием двух подходов. В рамках первого из них
предполагается, что семантическая разметка HTML-текста выполняется вручную (или полуавтоматически, с применением соответствующих инструментальных средств) его автором на основе специальных метатегов. По существу, результатом такой разметки является семантическая сеть, отражающая знания, представленные в документе. Второй подход связан с автоматическим и/или полуавтоматическим преобразованием исходного текста в специальное семантическое представление, как правило, в онтологию или ее фрагмент.
Подробнее эти подходы обсуждаются ниже. Но и в том и в другом случае для выполнения указанных преобразований целесообразно конвертирование HTML- текстов в более удобное для дальнейшей обработки представление. Для иллюстрации возможностей применения к решению этой задачи средств представления знаний, описанных в предыдущих главах, рассмотрим интеллектуальный HTML- конвертор [Maikevich et al., 1998].
Для сокращения объема материала обсудим подмножество языка HTML, которое может быть задано следующими BNF-определениями:
HTML-текст ::= <HTML> HEAD BODY </HTML>
HEAD ::= TITLE { HEAD } | ...
TITLE : := <TITLE> строка </TITLE>
BODY ::= <BODY> HTML-BODY </BODY>
HTML-BODY ::= PARAGRAPH { HTML-BODY } |
HEADER { HTML-BODY } | LIST { HTML-BODY } | ...
HEADER ::= <H1> TEXT </H1> | <H2> TEXT </H2> | ...
PARAGRAPH ::= <P> TEXT </P>
LIST ::= <UL> LIST-ATOM { LIST-ATOM } </UL> |
<0L> LIST-ATOM { LIST-ATOM } </0L> |
<MENU> LIST-ATOM { LIST-ATOM } </MENU> |
ANCHOR ::= <Д HREF工 LINK > TEXT </4> |
<Д NAME= метка > TEXT </4>-
TEXT ::=... LIST-ATOM ::= LINK ::=...
Некоторые из синтаксических диаграмм, соответствующих приведенным выше правилам, представлены на рис. 8.3 и 8.4.
Как следует из приведенных правил и диаграмм, с теоретической точки зрения HTML — это простой язык программирования с контекстно-свободной грамматикой. Нетрудно показать, что для анализа HTML-текстов можно использовать, например, нисходящие распознаватели, реализуемые на базе метода рекур-
сивного спуска. При этом возможны разные подходы. Ниже для этого используется продукционно-фреймовый формализм представления знаний и показывается, как на этой основе может быть разработан интеллектуальный HTML-конвертор.
Прежде всего зададим регулярное отображение каждого правила спецификации HTML-конструкций в соответствующий объект базы знаний на уровне фрейма- прототипа. Система таких прототипов даст нам описание языка, а множество
фреймов-экземпляров — спецификацию конкретных и синтаксически правильных HTML-текстов. Основные правила такого отображения следующие:
каждому концепту из левой части BNF-определения поставим в соответствие имя фрейма-прототипа;
альтернативам из правой части BNF-определения при этом должны соответствовать имейа слотов этого фрейма;
для концептов-нетерминалов соответствующий слот должен иметь тип frame;
для концептов-терминалов соответствующие слоты будут, как правило, иметь типы numb или string
рекурсия в BNF-определениях заменяется итерацией, а соответствующие слоты становятся множественными.
Применение сформулированных выше правил к BNF-определениям языка HTML приводит нас к следующему множеству фреймов-прототипов:
[htmlis_aprototype, if_added HTML ();
HEADfname, restr_by head;
BODYframe, restr_by body];
[headis_aprototype, if_added HEAD ();
BODY {frame}, restr_by one_of {title, ...}];
[title is.aprototype, if_added TITLE ();,
BODYstring];
[bodyis_aprototype, if_added BODY ();
SENT{frame}, restr_by one_of {header, paragraph, list, ...}];
[header is_aprototype;、
BODYframe, restr_by text
[hi is_aheader, if_added H1()l;...[h6 is_aheader, if_added H6()];
[paragraph is_aprototype, if_added PARAGRAPH ();
BODYframe, restr_by text ];
[listis_aprototype;
ATOM{frame}, if_added LI ()];
[textis_aprototype;
ATOM{frame},restr_by one_of {br,hr,image,anchor…,line}];
[br is_aprototype; if_added BR ()];
[hr is_aprototype; if_added HR ()];
[image is_aprototype; if_added IMG ();
一 SRC frame, restr_by link ]; [anchor is_aprototype;
BODYframe, restr_by text ];
[linkis_aprototype;
URL frame, restr_by one_of {http, ftp,…}];
MAILframe, restr_by mail ];
[url is_alink;
without_slot MAIL];
[httpis_aurl,if_added HTTP ();
SERVER string;
DIR {string};
FILEstring ];
[ftp is_aurl, if_added FTP ();
SERVER string;
DIR {string};
FILEstring ];■
Теперь, в соответствии с приведенными фреймами-прототипами и синтаксическими диаграммами, можно специфицировать процедурную часть конвертора как систему демонов, присоединенных к фреймам и/или их слотам. Для примера ниже приводится спецификация одного из таких демонов на языке Java [Нортон и др., 1998]:
public class HTML extends FramePrototype {
HEAD head = null;'
BODY body = null;
String keyword;
public void HTML (String name) { super (name);
keyword = getToken ();
if (keyword.compareTo ("<HTML>") == 0) { head = new HEAD (getNewName ()); body = new BODY (getNewName ());
};
keyword = getToken ();
if (keyword.compareTo ("</HTML>") == 0) return;
По существу, такой демон не что иное, как конструктор класса HTML, а запуск конвертора осуществляется с помощью оператора создания нового объекта этого класса:
HTML currPage 二 new HTML (get_new_name ());
При этом будут рекурсивно вызываться конструкторы других классов (на верхнем уровне это HEAD и BODY), что, в конечном счете, приведет к построению
множества фреймов-экземпляров, представляющих анализируемую HTML-страницу (currPage).
Понятно, что в общем случае такой подход дает нам средства синтаксически-ори- ентированного конвертирования HTML-текста во фреймовое представление. Но получение полезной для дальнейшей работы базы знаний предполагает его дальнейшую семантическую интерпретацию и построение в конечном счете семантической сети, отражающей смысл исходного Интернет-документа.
Для примера, фрагменты такой семантической сети для HTML-текста описания секции «Электроника» магазина Amazon.com, обсуждавшегося выше, приведены на рис. 8.5.
По сути дела, эта семантическая сеть представляет фрагмент онтологии предметной области «Электронная коммерция», которая может быть базйсом для 06- шения разнообразных практических задач. Так, например, с ее помощью могут решаться задачи поиска определенных товаров по запросу пользователя, осуще^ ствляться маркетинговый анализ запросов и т. п. Во всех этих и многих других случаях онтологии играют ключевую роль как один из перспективных подходов к представлению знаний в среде Интернет.
Вместе с тем, несмотря на важность понятия онтологии для теории и практики современных интеллектуальных систем, общепринятого понимания этого термина нет, хотя различные определения, предложенные разными авторами й научными коллективами [Gruber, 1991; Guarino, 1996; Fridman et al., 1997], распространяются и медленно конвергируют. Поэтому в следующем параграфе обсуждается само понятие онтологии и вводится соответствующая система моделей [Maikevich et al„ 1999], затем приводится классификация онтологий, полезная для последующего сравнения известных в этой области проектов. В заключительных разделах главы обсуждаются примеры онтологий и специальные системы аннотирования Интернет-ресурсов на основе онтологий.
Онтологии и онтологические системы
Основные определения
Онтология (от др.-греч. онтос — сущее, логос — учение, понятие) — термин, определяющий учение о бытии, о сущем, в отличие от гносеологии — учения о познании. Уже у X. Вольфа (1679-1754), автора самого термина «онтология», учение о бытии было отделено от учения о познании. Введен же термин в философскую литературу немецким философом Р. Гоклениусом (1547-1628). При этом онтология являлась частью метафизики, наукой самостоятельной, независимой и не связанной с логикой, с «практической философией», с науками о природе. Ее предмет составляет изучение абстрактных и общих философских категорий, таких как бытие, субстанция, причина, действие, явление и т. д., а сама онтология как наука претендовала на полное объяснение причин всех явлений [Розенталь и др., 1951].
Понятно, что такое определение мало пригодно для практического использования, но дает отправную точку для дальнейшей конкретизации и обсуждения с точки зрения целей настоящего издания. В этом смысле интереснее определение онтологии, предложенное в рамках разработки системы стандартов на мульти- агентные системы международным сообществом FIPA (Foundation for Intelligent Physical Agents). В работе [FIPA, 1998] утверждается, что
В философском смысле можно ссылаться на онтологию как на определенную систему категорий, являющихся следствием определенного взгляда на мир.
При этом сама система категорий не зависит от конкретного языка: онтология Аристотеля всегда одна и та же, независимо от языка, использованого для ее описания.
С другой точки зрения, более близкой к понятиям, связанным с ИИ, онтология — это формально представленные на базе концептуализации знания. Концептуализация, как уже обсуждалось выше, предполагает описание множества объектов и понятий, знаний о них и связей между ними. Таким образом,
Онтологией [Gruber, 1993] называется эксплицитная спецификация концептуализации. Формально онтология состоит из терминов, организованных в таксономию, их опреде- лен好访 и атрибутов, а также связанных с ними аксиом и правил вывода.
Часто набор предположений, составляющих онтологию, имеет форму логической теории первого порядка, где термины словаря являются именами унарных и бинарных предикатов, называемых соответственно концептами и отношениями. В простейшем случае онтология описывает только иерархию концептов, связанных отношениями категоризации. В более сложных случаях в нее добавляются подходящие аксиомы для выражения других отношений между концептами и для того, чтобы ограничить их предполагаемую интерпретацию. Учитывая вышесказанное, онтология представляет собой базу знаний, описывающую факты, которые предполагаются всегда истинными в рамках определенного сообщества на основе общепринятого смысла используемого словаря.
Еще более конкретно понятие онтологии в Известном проекте Ontolingiia [Farquhar et al., 1996], который активно ведется в Стэнфордском университете. Здесь предполагается, что
Онтология — это эксплицитная спецификация определенной темы.
Такой подход предполагает формальное и декларативное представление некоторой темы, которое включает словарь (или список констант) для отсылки к терминам предметной области, ограничения целостности на термины, логические утверждения, которые ограничивают интерпретацию терминов и то, как они соотносятся друг с другом.
Резюмируя вышесказанное, можно констатировать, что в настоящее время понимание термина «онтология» различно, в зависимости от контекста и целей его использования. В работе [Guarino, et al., 1995а] дано достаточно содержательное и интересное обсуждение этих вопросов, которое сводится в конечном счете к тому, что здесь выделяются следующие аспекты интерпретации этого термина: 1. Онтология как философская дисциплина.
Онтология как неформальная концептуальная система.
Онтология как формальный взгляд нЗ семантику.
Онтология как спецификация «концептуализации».
Онтология как представление концептуальной системы через логическую теорию, характеризуемую:
♦ специальными формальными свойствами или
• только ее назначением.
Онтология как словарь, используемый логической теорией.
Онтология как (метауровневая) спецификация логической теории.
Следует отметить, что первая интерпретация радикально отличается от остальных и связана, как предлагают авторы вышеуказанной работы, с тем, что здесь мы говорим об Онтологии (с большой буквы) и имеем в виду философскую дисциплину, изучающую, согласно Аристотелю, природу и организацию сущего. В этом смысле Онтология пытается ответить на вопрос: «Что есть сущее?» или, в другой формулировке, на вопрос: «Какие свойства являются общими для всего сущего?» Когда же мы говорим об онтологии (с маленькой буквы), то ссылаемся на объект, природа которого может быть различной, в зависимости от выбора между интерпретациями 2-7. Согласно второй интерпретации онтология является концептуальной системой, которую мы можем предполагать в качестве базиса определенной БЗ. Согласно интерпретации 3 онтология, на основе которой построена БЗ, выражается в терминах подходящих формальных структур на семантическом уровне. Таким образом, эти две интерпретации рассматривают онтологию как концептуальную «семантическую» сущность, неважно, формальную или неформальную, в то время как интерпретации 5-7 трактуют онтологию как специальный «синтаксический» объект. Оставшаяся, четвертая интерпретация, которая была предложена Грубером [Gruber, 1993] в качестве определения онтологии для использования в рамках И И -сообществах — одна из наиболее проблематичных, так как точный смысл ее зависит от понимания терминов «спецификация» и «концептуализация». И вместе с тем именно это определение чаще всего и используется в настоящее время в работах по проектированию и исследованию онтологий.
Для определенности дальнейшего изложения мы будем считать, что
Онтологии — это БЗ специального типа, которые могут «читаться» и пониматься, отчуждаться от разработчика и/или физически разделяться их пользователями.
При этом онтологический инжиниринг — ветвь инженерии знаний, использующий Онтологию (с большой буквы) для построения онтологий (с маленькой буквы). Понятно, что любая онтология имеет под собой концептуализацию, но одна концептуализация может быть основой разных онтологий, и две разные БЗ могут отражать одну онтологию.
Модели онтологии и онтологической системы
Выше уже отмечалось, что понятие онтологии предполагает определение и использование взаимосвязанной и взаимосогласованной совокупности трех компо-
нент: таксономии терминов, определений терминов и правил их обработки. Учитывая это, введем следующее определение понятия модели онтологии:
Под формальной моделью онтологии О будем понимать упорядоченную треску вида:
О = <Х,乳 Ф>, где
X —
конечное множество концептов (понятий, терминов) предметно访 области, которую представляет онтология О;■
员-
конечное множество отношений между концептами (понятиями, терминами) заданно 访 предметно 访 области;
Ф -
конечное множество функи好访 интерпретации (аксиоматизация), заданных на концептах и/или отношениях онтологии О.
Заметим, что естественным ограничением, накладываемым на множество X, является его конечность и непустота. Иначе обстоит дело с компонентами Ф и 况 в определении онтологии О. Понятно, что и в этом случае Ф и 况 должны быть конечными множествами. Рассмотрим, однако, граничные случаи, связанные с их пустотой.
Пусть 况=0 и Ф~ 0. Тогда онтология О трансформируется в простой словарь:
o = v = <x, {},{}>
Такая вырожденная онтология может быть полезна для спецификации, пополнения и поддержки словарей ПО, но онтологии-словари имеют ограниченное использование, поскольку не вводят эксплицитно смысла терминов. Хотя в некоторых случаях, когда используемые термины принадлежат очень узкому (например, техническому) словарю и их смыслы уже заранее хорошо согласованы в пределах определенного (например, научного) сообщества, такие онтологии применяются на практике. Известными примерами онтологий этого типа являются индексы машин поиска информации в сети Интернет.
Иная ситуация в случае использования терминов обычного естественного языка или в тех случаях, когда общаются программные агенты. В этом случае необходимо характеризовать предполагаемый смысл элементов словаря с помощью подходящей аксиоматизации, цель использования которой — в исключении нежелательных моделей и в том, чтобы интерпретация была единой для всех участников общения.
Другой вариант соответствует случаю 况=0, но Ф н 0. Тогда каждому элементу множества терминов из X может быть поставлена в соответствие функция интерпретации f из Ф. Формально это утверждение может быть записано следующим образом.
Пусть
х = х~ х2,
причем
Xf с Х2 = 0,
где Xi — множество интерпретируемых терминов;
Х2 — множество интерпретирующих терминов.
Тогда
3(Х6 X* у1; у'2,..., Укб Х2),
такие что
x = f(y*,y2,…,У11), где f G Ф.
Пустота пересечения множеств X】и Х2 исключает циклические интерпретации, а введение в рассмотрение функции к аргументов призвано обеспечить более полную интерпретацию. Вид отображения f из Ф определяет выразительную мощность и практическую полезность этого вида онтологии. Так, если предположить, что функция интерпретации задается оператором присваивания значений (Х^ := Х2, где Xt — имя интерпретации Х2), то онтология трансформируется в пассивный словарь Vp:
О = Vp HVX2X2, {},{:=}>
Такой словарь пассивен, так как все определения терминов из Х^ берутся из уже существующего и фиксированного множества Х2.. Практическая ценность его выше, чем простого словаря; но явно недостаточна, например, для представления знаний в задачах обработки информации в Интернете в силу динамического характера этой среды.
Для того чтобы учесть последнее обстоятельство, предположим, что часть интерпретирующих терминов из множества Х2 задается процедурно, а не декларативно. Смысл таких терминов «вычисляется» каждый раз при их интерпретации.
Ценность такого словаря для задач обработки информации в среде Интернет выше, чем у предыдущей модели, но все еще недостаточна, так как интерпретируемые элементы из Х^ никак не связаны между собой и, следовательно, играют лишь роль ключей входа в онтологию.
Для представления модели онтологии, которая нужна для решения задач обработки информации в Интернете, очевидно, требуется отказаться от предположения 91= 0.
Итак, предположим, что множество отношений на концептах онтологии не пусто, и рассмотрим возможные варианты его формирования.
Для этого введем в рассмотрение специальный подкласс онтологий — простую таксономию следующим образом:
О - Т° = < X, {is_a}, {}>.
Под таксономической структурой будем понимать иерархическую систему понятий, свя- занннх между собо访 отношением is_a («бытьэлементом класса»).
Отношение is_a имеет фиксированную заранее семантику и позволяет организовывать структуру понятий онтологии в виде дерева. Такой подход имеет свои преимущества и недостатки, но в общем случае является адекватным и удобным для представления иерархии понятий.
Результаты анализа частных случаев модели онтологии приведены в таблице 8.1.
Таблица 8 J. Кладс1иф1икация моде庁 е 访 онтол6пЙ1и
Компонейты модели
员Н0
Ф=0
91-0 Ф#0
91»0 Ф#0
9t={is_a} Ф=0
Формальное определение
<Х, {}, {}>
<Х1иХ21 {},ф>
<XKXiU (Х2*ир2-),{},Ф>
<X,is_a},{}>
Пояснение
Словарь ПО
Пассивна словарь ПО
Активный словарь ПО
Таксономия понятий ПО
Далее можно обобщить частные случаи модели онтологии таким образом, чтобы обеспечить возможность:
представления множества концептов X в виде сетевой структуры;
использования достаточно богатого множества отношений 况,включающего не только таксономические отношения, но и отношения, отражающие специфику конкретной предметной области, а также средства расширения множества 况;
использования декларативных и процедурных интерпретаций и отношений, включая возможность определения новых интерпретаций.
Тогда можно ввести в рассмотрение модель расширяемой онтологии и исследовать ее свойства. Однако, учитывая техническую направленность данной книги, мы не будем делать этого здесь, а желающих познакомиться с такой моделью отсылаем к работе [Maikevich et al., 1999], Как показано в этой работе, модель расширяемой онтологии является достаточно мощной для спецификации процессов формирования пространств знаний в среде Интернет. Вместе с тем и эта модель является неполной в силу своей пассивности даже там, где определены соответствующие процедурные интерпретации и введены специальные функции пополнения онтологии. Ведь единственной точкой управления активностью в такой модели является запрос на интерпретацию определенного концепта. Этот запрос выполняется всегда одинаково и инициирует запуск соответствующей процедуры. А собственно вывод ответа на запрос и/или поиск необходимой для этого информации остается вне модели и должен реализовываться другими средствами.
Учитывая вышесказанное, а также необходимость эксплицитной спецификации процессов функционирования онтологии, введем в рассмотрение понятие онтологической системы
Под формальной моделью онтологической системы Е° будем лонимать триплет вида: £° = <О"»—> {O«l},Sw>, где a meta.、
О — онтология верхнего уровня (метаонтология);
{О d&*} — множество предметных онтологий и онтологи访 задач предметно访 области; В^ — модель машины вывода, ассоциированно访 с онтологической систем。访 £ °.
Использование системы онтологий и специальной машины вывода позволяет решать в такой модели различные задачи. Расширяя систему моделей {О 必% можно учитывать предпочтения пользователя, а изменяя модель машины вывода, вводить специализированные критерии релевантности получаемой в процессе поиска информации и формировать специальные репозитории накопленных данных, а также пополнять при необходимости используемые онтологии.
о
В модели £ имеются три онтологические компоненты:
метаонтология; '
предметная онтология;
онтология задач.(
Как указывалось выше, метаонтология оперирует общими концептами и отношениями, которые не зависят от конкретной предметной области. Концептами метауровня являются общие понятия, такие как «объект», «свойство», «значение» и т. д. Тогда на уровне метаонтологии мы получаем интенсиональное описание свойств предметной онтологии и онтологии задач. Онтология метауровня является статической, что дает возможность обеспечить здесь эффективный вывод.
Предметная онтология Odomain содержит понятия, описывающие конкретную предметную область, отношения, семантически значимые для данной предметной области, и множество интерпретаций этих понятий и отношений (декларативных и процедурных). Понятия предметной области специфичны в каждой прикладной онтологии, но отношения — более универсальны. Поэтому в качестве базиса обычно выделяют такие отношения модели предметной онтологии, как part_oft kindjof, contained^n, member_pf, see^also и некоторые другие.
Отношение part^pf определено на множестве концептов, является отношением принадлежности и показывает, что концепт может быть частью других концептов. Оно является отношением типа «часть-целое» и по свойствам близко к отношению is_a и может быть задано соответствующими аксиомами. Аналогичным образом можно ввести и другие отношения типа «часть-целое».
Иначе обстоит дело с отношением see_aho. Оно обладает другой семантикой и другими свойствами. Поэтому целесообразно вводить его не декларативно, а процедурно, подобно тому, как это делается при определении новых типов в языках программирования, где поддерживаются абстрактные типы данных;
X see_also Y:
see_also member_of Relation {
if ( (X is_a Notion) & (Y is_a Notion) & (X see_also Y)) if (Operation connected_with X)
Operation connected_with Y
};
Заметим, что и отношение see_〃/so «не вполне» транзитивно. Действительно, если предположить, что (XI see^also Х2) & (Х2 see_also ХЗ), то можно считать, что (XI see^also ХЗ). Однако по мере увеличения длины цепочки объектов, свя-
занных данным отношением, справедливость транзитивного переноса свойства connected_with падает. Поэтому в случае отношения see_also мы имеем дело нес отношением частичного порядка (как, например, в случае отношения is_a)f а с отношением толерантности. Однако для простоты это ограничение может быть перенесено из определения отношения в функцию его интерпретации.
Анализ различных предметных областей показывает, что введенный выше набор отношений является достаточным для начального описания соответствующих онтологий. Понятно, что этот базис является открытым и может пополняться в зависимости от предметной области и целей, стоящих перед прикладной системой, в которой такая онтология используется.
Онтология задач в качестве понятий содержит типы решаемых задач, а отношения этой онтологии, как правило, специфицируют декомпозицию задач на подзадачи. Вместе с тем, если прикладной системой решается единственный тип задач (например, задачи поиска релевантной запросу информации), то онтология задач может в данном случае описываться словарной моделью, рассмотренной выше. Таким образом, модель онтологической системы позволяет описывать необходимые для- ее функционирования онтологии разных уровней. Взаимосвязь между онтологиями показана на рис. 8.6.
Онтология задачОнтология задачРис. 8.6. Взаимосвязь между онтологиями онтологической системыРис. 8.6. Взаимосвязь между онтологиями онтологической системы
Онтология задач
Онтология задач
Рис. 8.6. Взаимосвязь между онтологиями онтологической системы
Рис. 8.6. Взаимосвязь между онтологиями онтологической системы
Машина вывода онтологической системы в общем случае может опираться на сетевое представление онтологий всех уровней. При этом ее функционирование будет связано:
с активацией понятий и/или отношений, фиксирующих решаемую задачу (описание исходной ситуации);
определением целевого состояния (ситуации);
выводом на сети, заключающемся в том, что от узлов исходной ситуации распространяются волны .активации, использующие свойства отношений, с ними связанных. Критерием остановки процесса является достижение целевой ситуации или превышение длительности исполнения (time-out).
Методологии создания и «жизненный цйкл^> онтблогйй
Как уже отмечалось выше, разработчики систем, основанных на знаниях, сталкиваются с проблемой «узкого горлышка» приобретения знаний. Аналогичная проблема существует и при создании онтологий. Но, в отличие от разработчиков интеллектуальных систем, создателей онтологий 网дут и дополнительные проблемы, связанные с отсутствием сколько-нибудь общих ц верифицированных методологий, определяющих, какие «процедуры» должны выполняться в процессе разработки и на каких стадиях разработки онтологий они должны выполняться. В настоящее время существует лишь несколько предметно-независимых методологий, ориентированных на построение онтологий [Gruninger et aL, 1995; Ushold, et al., 1996; Fernandez et al., 1997].
Следует сразу отметить, что эти подходы и методологии базируются на следующих принципах проектирования и реализации онтологий, предложенных Грубером [Gruber, 1993]:
Ясность (Clarity) — онтология должна эффективно передавать смысл введенных терминов. Определения должны быть объективными, хотя мотивация введения терминов может определяться ситуацией или требованиями вычислительной эффективности. Для объективизации определений должен использоваться четко фиксированный формализм, при этом целесообразно задавать определения в виде логических аксиом.
Согласованность (Coherence) — означает, что по крайней мере все определения должны быть логически непротиворечивы, а все утверждения, выводимые в онтологии, не должны противоречить аксиомам.
Расширяемость (Extendibility) — онтология должна быть спроектирована так, чтобы обеспечивать использование разделяемых словарей терминов, допускающих возможность монотонного расширения и/или специализации без необходимости ревизии уже существующих понятий.
Минимум влияния кодирована (Minimal encoding bias) — концептуализация, лежащая в основе создаваемой онтологии, должна быть специфицирована на уровне представления, а не символьного кодирования. Этот принцип связан с тем, что агенты, разделяющие онтологию, могут быть реализованы в различных системах представления знаний. 七
Минимум онтологических обязатедьств (Minimal ontological commitment) — онтология должна содержать только наиболее существенные предположения о моделируемом мире, чтобы оставлять свободу расширения и специализации. Отсюда следует, что онтологии базируются на «слабых» теориях, так как цель их создания и использования состоит, прежде всего, в том, чтобы «говорить» о предметной области, в отличие от БЗ, которые могут содержать знания, необходимые для решения задач и/или ответов на вопросы.
Методологию и «жизненный цикл» создания онтологий обсудим на примере подхода METH ONT О LOGY, разработанного Гомез-Перезом (Gomez-Perez) с колле-
гами, в рамках которого реализуются принципы Грубера а также разработано программное окружение спецификации онтологий ODE.(Oatplqgy Design Environment) [Blazquez et al., 1998]. * ‘
В рамках этого подхода выделяются следующие процедуры в «жизненном цикле» создания онтологии: управление проектом, собственно разработка и поддержка разработки.
Процедуры управления проектом включают планирование, контроль и гарантии качества. Планирование определяет, какие задачи должны быть выполнены, как они организуются, как много времени и какие ресурсы нужны для их выполнения. Контроль гарантирует, что запланированные задачи выполнены и именно так, как это предполагалось. Гарантии качества нужны для того, чтобы быть уверенным в том, что компоненты и продукт в целом находятся на заданном уровне.
Собственно разработка включает спецификацию, концептуализацию, формализацию и реализацию. Спецификация определяет цели создания онтологии, ее предполагаемое использование и потенциальных пользователей. Концептуализация обеспечивает структурирование предметных знаний в виде значимой эксплицитной модели. Формализация трансформирует концептуальную модель в формальную или «вычислительную». Наконец, в процессе реализации вычислительная модель программируется на соответствующем язрнсе представления знаний.
Процедуры поддержки включают действия, выполняемые одновременно с разработкой, без которых онтология не может быть построена. Они представлены процедурами приобретения знаний, оценки, интеграции, документирования и управления конфигурациями. Приобретение знаний аккумулирует знания в заданной предметной области. Оценка дает технические решения по оценке онтологии, соответствующего программного обеспечения и документации как в процессе выполнения каждой фазы, так и между фазами. Интеграция требуется, когда строится новая онтология с использованием уже существующих. Документирование дает детальную, понятную и исчерпывающую информацию о каждой фазе й продукте в целом. Управление конфигурациями необходимо для архивации всех версий документации, программного обеспечения и кода онтологии, а также для контроля за изменениями.
Общая схема «жизненного цикла» создания онтологий в рамках подхода METHONTOLOGY представлена на рис. 8.7.
Заметим, что процесс построения онтологии здесь распадается на серию подпроцессов по созданию промежуточных представлений. При этом выполнение отдельных подпроцессов не последовательное (в смысле «водопадной» модели жизненного цикла,, обсуждавшейся в предыдущей главе), а определяется полнотой и точностью уже накопленных знаний. Однако, как показывает опыт, сначала строится глоссарий терминов (Glossary of Terms), затем деревья классификации концептов (Concept Classification Trees) и диаграммы бинарных отношений (Binary Relations Diagrams). И только после этого — остальные промежуточные представления. (
Концептуализация
Рис. 8.7. «Жизненный цикл» создания онтологий в рамках подхода METHONTOLOGY
Для иллюстрации результатов, получаемых на разных этапах создания онтологий в рамках подхода METHONTOLOGY, будем предполагать, следуя работе [Blazquez et al., 1998], что предметной областью разработки является сообщество специалистов по приобретению знаний, работающих в контексте инициативы (КА)2 [Benjamins et al, 1998].
Согласно обсуждаемой методологии сначала здесь строится глоссарий терминов, включающий все термины (концепты и их экземпляры, атрибуты, действия и т. п.), важные для предметной области, и их естественно-языковые описания. Фрагмент такого глоссария представлен в табл. 8.2.
Таблица 8.2. Фрагмент глоссария
ТерминОписание термина
Academic Staff«Он\она может быть лектором или исследователем.
Одна из возможных обязанностей ——руководство аспирантами»
Researcher«Он\она является членом Academic Staff, может быть членом
исследовательской группы и кооперироваться с другими исследователями»
Термин
Описание термина
Nicola Guarino
«Он является исследователем CNR National Research Council.
Его исследования связаны с онтологиями.
Он работает по проекту OntoSeek»
Weight
«Вес человека. Измеряется в килограммах»
Когда глоссарий терминов достигает «существенного» объема, строятся деревья классификации концептов. Как правило, при этом используются отношения типа subclass-of и некоторые другие таксономические отношения. Таким образом, идентифицируются основные таксономии предметной области, а каждая таксономия, согласно рассматриваемой методологии, дает в конечном счете рнтоло- гию. В рамках инициативы (КА)2 идентифицировано несколько таксономий, основные из которых people, publications, events, organizations и research topics. Фрагменты некоторых из них представлены на рис. 8.8.
PeopleEmployeeAcademic-Staff Lecturer ResearcherPeopleEmployeeAcademic-Staff Lecturer ResearcherPublicationArticleArticle-ln-BbokConference-PaperPublicationArticleArticle-ln-BbokConference-PaperProjectDevelopment-Project Software-Project Research-ProjectProjectDevelopment-Project Software-Project Research-ProjectStudent PhD-StudentStudent PhD-StudentBookJournalIEEE-ExpertBookJournalIEEE-Expert
People
Employee
Academic-Staff Lecturer Researcher
People
Employee
Academic-Staff Lecturer Researcher
Publication
ArticleArticle-ln-BbokConference-Paper
Publication
ArticleArticle-ln-BbokConference-Paper
Project
Development-Project Software-Project Research-Project
Project
Development-Project Software-Project Research-Project
Student PhD-Student
Student PhD-Student
Book
Journal
IEEE-Expert
Book
Journal
IEEE-Expert
Рис, 8.8. Фрагменты таксономий, выделяемых в рамках инициативы (КА)2
Следующим шагом является построение《Ad hoc» диаграмм бинарных отношений, целью создания которых является фиксация отношений между концептами одной или разных онтологий. Заметим, что в дальнейшем эти диаграммы могут послужить исходным материалом для интеграции разных онтологий. Пример одной из таких диаграмм приведен на рис. 8.9.
Рис. 8,9« Фрагмент диаграммы бинарных отношений, выделяемых в рамках инициативы (КА)2
После построения представлений, фиксированных выше, для каждого дерева классификации концептов строятся:
Словарь концептов (Concept Dictionary), содержащий все концепты предметной области, экземпляры таких концептов, атрибуты экземпляров концептов, отношения, источником которых является концепт, а также (опционально) синонимы и акронимы концепта. Фратаент такого словаря представлен в табл. 8.3.
Таблица бинарных отношений (Table of Binary Relations) для каждого «Ad hoc» отношения, исходный концепт которого содержится в классификационном дереве. Для каждого отношения фиксируется его имя, имена концепта-источника и целевого концепта, инверсное отношение и т. п. характеристики. Пример двух таблиц этого типа представлен в табл. 8.4, 8.5.
Таблица атрибутов экземпляра (Instance Attribute Table) для каждого экземпляра из словаря концептов. Основные характеристики здесь следующие: имя атрибута, тип значения, единица измерения, точность, диапазон изменения, значение «по умолчанию», атрибуты, которые могут быть выведены с использованием данного, формула или правило для вывода атрибута и др. Пример описания атрибутов экземпляра Weight показан в табл. 8.6.
Таблица атрибутов класса (Class Attribute Table) для каждого класса из словаря концептов с аналогичными характеристиками.
Таблица логических аксиом (Logical Axioms Table), в которой даются определения концептов через всегда истинные логические выражения. Определение каждой аксиомы включает ее имя, естественно-языковое описание, концепт, к которому аксиома относится, атрибуты, используемые в аксиоме, логическое выражение, формально описывающее аксиому, и др. Пример описания аксиомы приведен в табл. 8.7.
Таблица констант (Constants Table), где для каждой константы указывается ее имя, естественно-языковое описание, тип значения, само значение, единица измерения, атрибуты, которые могут быть выведены с использованием данной константы, и т. п.
Таблица формулы (Formula Table) для каждой формулы, включенной в таблицу атрибутов экземпляра. Каждая таблица этого типа, помимо собственно формулы, должна специфицировать ее имя, атрибут, выводимый с помощью этой формулы, естественно-языковое описание, точность, ограничения, при которых возможно использовать формулу, и др.
Деревья классификации атрибутов (Attribute Classification Trees), которые графически показывают соответствующие атрибуты и константы, используемые для вывода значения корневого атрибута и формулы, применяемые для этого. По сути дела, эти деревья используются для проверки того, что все атрибуты, представленные в формуле, имеют описания и ни один из атрибутов не пропущен.
Таблица экземпляров (Instance Table) для каждого входа в словарь концептов. Здесь специфицируется имя экземпляра, его атрибуты и их значения. Пример фрагмента таблицы экземпляров представлен в табл. 8.8.
Таблица 8.3. Фрагмент словаря концептов
Имя концепта ...
ЭкземплярАтрибутыОтношение
экземпляра
AcademiC'Staff Person
—Supervises
Age Arst-NameHas-Publications
Last-Name Photo Weight Editor-of
Researcher
Gomez-Perez—Cooperates*with
Research-Interest
Member-of-Research-Group
Таблица 8.4. Фрагмент описания отношения Employs
Имя отношения
Employs
Исходный концепт
Organization
Кардинальность
d.n)
Целостный концепт
Employee
Математические свойства
Инверсные отношения
Affiliation
Ссылки
—
Таблица 8.5. фрагмент описания отношения Affiliation
Имя отношения
Affiliation
Исходный концепт
Employee
Кардинальность
d.n)
Целостный концепт
Organization
Математические свойства
—
Инверсные отношения
Employs
Ссылки
Таблица 8.6. Фрагмент описания атрибутов экземпляра Weight
Имя атрибута экземпляра
Weight
Тип значения
Mass-Quantity
Единица измерения
Kilogram
Точность
0.001
Диапазон
[0,200]
Значение «по умолчанию»
Кардинальность
(1,1)
Выводится из атрибута экземпляра
—
Выводится из атрибута класса
Выводится из констант
формула
Таблица 8.7. Фрагмент описания аксиомы The-Head-Of-Project-Works-ln-The-Project
Имя аксиомы
Описание
The-Head-Of-Project-Works-ln-The-Project
«Работник, являющийся руководителем проекта, работает в проекте»
Концепт
Ссылочные атрибуты
Переменные
Определение
Employee
ЕР
Forall (Е, Р) Employs (Е) and Head-Of-Project (Е, Р)=> Works-At-Project (Е, Р)
Таблица 8.8. Фрагмент таблицы экземпляров
Экземпляр
АтрибутЗначение
Gomez-Perez
Full Name«Asuncion Gomez-Perez»
First Name«Asuncion^*
Last Name«Gomez-Perez»
E-Mail«asun@fi.upm.es»
Как показывает анализ приведенных выше процедур, выполняемых при создании онтологий в подходе METHONTOLOGY, все они хорошо коррелируют с теми стадиями, которые выделены и используются при построении баз знаний. И это не случайное совпадение, а закономерность, связанная с тем, что онтология — это, по существу, БЗ специального вида. Поэтому, как и в случае построения баз знаний, здесь используется концепция быстрого прототипирования, а специфика проявляется в тех конкретных процессах, которые реализуют рассмотренные выше процедуры. При этом:
планирование выполняется до начала собственно разработки;
контроль и гарантии качества осуществляются в процессе разработки;
большая часть операций по накоплению знаний и их оценке выполняется на стадии концептуализации для того, чтобы предотвратить распространение ошибок на фазу реализации;
интеграция не должна рассматриваться как интеграция на стадии реализации. Напротив, она выполняется в процессе разработки.
Примеры онтологий
В настоящее время исследования в области онтологий и онтологических систем являются «горячими точками» не только в ИИ, но и в работах по интеллектуализации информационного поиска, в первую очередь, в среде Интернет; в работах по мультиагентным системам; в проектах по автоматическому《извлечению» знаний из текстов на естественном языке; в проектах, ведущихся в смежных областях.
При этом разные авторы вводят различные типизации онтологий [Gruber, 1995; Guarino, 1996], суммируя которые можно выделить классификации по:
степени зависимости от конкретной задачи или предметной области;
уровню детализации аксиоматизации;
«природе» предметной области и т. д.
Дополнительно к этим измерениям можно ввести и классификации, связанные с разработкой, реализацией и сопровождением онтологий, но такая типизация более уместна при обсуждении вопросов реализации онтологических систем.
По степени зависимости от конкретной задачи или предметной области обычно различают:
онтологии верхнего уровня;
онтологии, ориентированные на предметную область;
онтологии, ориентированные на конкретную задачу;
прикладные онтологии.
Онтологии верхнего уровня описывают очень общие концепты, такие как пространство, время, материя, объект, событие, действие и т. д., которые независимы от конкретной проблемы или области. Поэтому представляется разумным, по крайней мере в теории, унифицировать их для больших сообществ пользователей.
Примером такой общей онтологиии является CYC® [Lenat, 1995]. Одноименный проект — CYC® — ориентирован на создание мультиконтекстной базы знаний и специальной машины вывода, разрабатываемой Сусогр. Основная цель этого гигантского проекта — построить базу знаний всех общих понятий (начиная с таких, как время, сущность и т. д.), включающую семантическую структуру терминов, связей между ними и аксиом. Предполагается, что такая база знаний может быть доступна разнообразным программным средствам, работающим со знаниями, и будет играть роль базы «начальных знаний». В онтологии, по некоторым данным, уже представлены 106 концептов и 105 аксиом. Для представления знаний в рамках этого проекта разработан специальный язык CYCL.
Другим примером онтологии верхнего уровня является онтология системы Gene- railized Upper Model [Braetman et al., 1994], ориентированная на поддержку процессов обработки естественного языка: английского, немецкого и итальянского. Уровень абстракции этой онтологии находится между лексическими и концептуальными знаниями, что определяется требованиями упрощения интерфейсов с лингвистическими ресурсами. Модель Generalized Upper Model включает таксономию, организованную в виде иерархии концептов (около 250 понятий) и отдельной иерархии связей. Фрагмент системы понятий этой онтологии приведен на рис. 8.10.
В целом же можно констатировать, что, несмотря на отдельные успехи, создание достаточно общих онтологий верхнего уровня представляет собой очень серьезную задачу, которая еще не имеет удовлетворйтельного решения.
Рис. 8.10. Фрагмент системы понятий онтологии Generalized Upper Model
Предметные онтологии и онтологии задач описывают, соответственно, словарь, связанный с предметной областью (медицина, коммерция и т. д.) или с конкретной задачей или деятельностью (диагностика, продажи и т. п.) за счет специализации терминов, введенных в онтологии верхнего уровня. Примерами онтологий, ориентированных на определенную предметную область и конкретную задачу, являются TOVE и Plinius соответственно [TOVE, 1999; Van der Vet et aL, 1994].
Онтология в системе TOVE (Toronto Virtual Enterprise Project) [TOVE, 1999] предметно ориентирована на представление модели Корпорации. Основная цель ее разработки — отвечать на вопросы пользователей по реинжинирингу бизнес- процессов, извлекая эксплицитно представленные в онтологии знания. При этом система может проводить дедуктивный вывод ответов. В онтологии нет средств для интеграции с другими онтологиями. Формально онтология описывается с помощью фреймов. Таксономия понятий онтологии TOVE представлена на рис. 8.11. /
Прикладные онтологии описывают концепты, зависящие как от конкретной предметной области, так и от задач, которые в них решаются. Концепты в таких онтологиях часто соответствуют ролям, которые играют объекты в предметной области в процессе, выполнения определенной деятельности. Пример такой онтологии —онтология системы Plinius [Van der Vet et al., 1994], предназначенная для полуавтоматического извлечения знаний из текстов в области химии. В отличие от других, упомянутых выше онтологий, здесь нет явной таксономии понятий. Вместо этого определено несколько множеств атомарных концептов, таких как, например, химический элемент, целое число и т. п., и правила конст-
руирования остальных концептов. В онтологии описано около 150 концептов и 6 правил. Формально онтология Plinius тоже описывается с помощью фреймов.
Как показывает анализ работ в этой области, научными сообществами и колекти- вами создаются онтологии разных типов, но в целом в настоящее время наиболее активно разрабатываются и используются на практике предметные онтологии.
Вместе с тем, независимо от типа онтологии, для их представления и использования требуются Специальные алгоритмические средства, к обсуждению которых мы и переходим в следующем параграфе.
8.3. Системы и средства представления онтологических знаний
Основные подходы
В настоящее время во всем мире исследования по пространствам знаний в среде Интернет [Khoroshevsky, 1998] ведутся широким фронтом. И одним из ключевых аспектов в таких исследованиях являются алгоритмические и программные средства представления онтологических знаний и работы с онтологиями.
В качестве примеров исследовательских проектов по данной тематике можно указать Co-operative Information Gathering Project из лаборатории Распределенного ИИ университета Массачусет; проект экстрактирования знаний из гипертекстов на основе использования методов машинного обученйя, выполняемого в университете Карнеги Мэллон; работы Knowledge Technology Group лаборатории Sun Microsystems по технологии обработки знаний (проект «Precision Content Retrieval»), целью которого является построение концептуальной таксоно-
мии фраз, выделяемых из индексированных материалов, и многие другие [Lesser et al., 1998; Luke et al., 1996; Woods et al., 1999]. Общей целью практически всех таких проектов является разработка новых подходов к построению пространств знаний и средств работы с ними, где бы обеспечивались:
использование семантики для управления процессом ответа на запросы;
возможность построения ответов с хорошо определенной семантикой и простым синтаксисом, которые могли бы быть «поняты» и обработаны программными агентами или другими программными средствами;
возможность гомогенного доступа к информации, которая физически распределена и гетерогенно представлена в Интернете;
получение информации, которая явно не присутствует среди фактов, полученных из сети, но может быть выведена из других фактов и базовых знаний.
Впечатляющая коллекция ссылок на такие проекты представлена в Интернете по адресу http://www.tzi.org/grp/i3/, но наиболее интересными с точки зрения темы данного раздела, по-видимому, являются инициатива (КА)2 [Benjamins et al., 1998] и проект SHOE [Heflin et al., 1998], которые и обсуждаются ниже.
Инициатива (КА)2 и инструментарий Ontobroker
Аннотация знаний в рамках инициативы (КА)2
Аннотация знаний сообществом приобретения знаний (Knowledge Annotation Initiative of the Knowledge Acquisition Community) — так расшифровывается аббревиатура (КА)2. Целью работ по этому международному проекту является, в конечном счете, интеллектуальный поиск в среде Интернет и автоматическое накопление новых знаний.
В рамках инициативы (КА)2 выделяются три основных направления исследований:
онтологический инжиниринг (ontological engineering);
аннотация WebTcTpaHuu;
запросы к информации на Web-страницах и вывод ответов на базе онтологических знаний.
Онтологический инжиниринг — одно из основных направлений, в рамках которого предполагается, что сообщество (КА)2 должно создать свою собственную и достаточно общую систему онтологий на основе использования средств Onto- lingua [Farquhar et aL, 1996]. В настоящее время уже разработано воесемь онтологий, которые могут рассматриваться как разделы общей онтологии — онтология организации (organization ontology), проекта (project ontology), личности (person ontology), направления исследований (research-topic ontology), публикаций (publication ontology), событий (event ontology), исследовательских про-
дуктсж (research-product ontology) и исследовательских групп (research-group ontology). При этом разработка примеров онтологий осуществляется и управляется участниками проекта — так называемыми провайдер-агентами («provider agents»), а размещаются эти онтологии на их Web-страницах. Такие страницы аннотируются с использованием нового типа HTML-тегов (ONTO), информа* ция в пределах которых обрабатывается специальной компонентой, работающей на основе онтологий, — системой Ontocrawler. В рамках этой компоненты, в зависимости от «богатства» используемой онтологии, может выводиться новая информация, релевантная запросам, но не присутствующая явно на Web-страницах в сети Интернет.
Сама система Ontocrawler разрабатывается в рамках отдельного проекта инициативы (КА)2 — проекта Ontobroker [Fensel et al., 1998], который, собственно, и интересен с точки зрения обсуждения средств представления и обработки онтологических знаний.
Средства спецификации онтологий в проекте Ontobroker
В Ontobroker имеются три основные подсистемы: интерфейс формулирования запросов (query interface), машина вывода ответов (inference engine) и собственно машина доступа к Интерн^т-ресурсам — «червяк» (Webcrawler), используемый для накопления требуемых знаний из этой среды.
Для спецификации онтологий разработан специальный язык представления знаний. Подмножество этого языка служит и для формулировки запросов, а язык аннотирования — для «обогащения» Web-документов онтологической информацией. Все эти компоненты и обсуждаются ниже.
Формализм запросов .
Формализм запросов ориентирован на фреймовое представление онтологий, в рамках которого, как и обычно, определены понятия экземпляров, классов, атрибутов и значений.
Схема O:C[A-»V] означает, что объект О является экземпляром класса С с атрибутом А, имеющим значение V. Важно, что в каждой позиции такой схемы могут использоваться не только константы, но и переменные или выражения.
Для примера, запрос вида
FORALL R <- R:Researcher
предполагает поиск всех объектов, являющихся экземплярами класса Researcher. Если предположить, что идентификатором объекта служит URL домашней страницы специалиста, в качестве результата по этому запросу будет выдан список соответствующих Интернет-ссылок.
Понятно, что это простейший запрос. Обычно же в запросе определяется поисковый образ объектов, обладающих определенными свойствами. Так, если необходимо найти всех специалистов по фамилии Иванов и при этом выдать в качестве
результата их имена и электронные адреса” то приведенный выше запрос можно модифицировать следующим образом:
FORALL Obj, FN, ЕМ <-一
Obj: Researcher[firstName-»FN;
lastName-»"HBaHOB"; email-»EMJ..;
В качестве ответа при этом могут быть получены значения переменных:
Obj = http://www.anywhere.ru/"ivanov/
FN = Иван
EM 二 mairto:ivanov@anvwhe「e.ru '
Имеются в языке Ontobroker и средства вывода значений свойств. Так, некоторые из атрибутов объекта могут задавать отношения, свойства которых известны машине вывода. Для примера, в запросе вида
FORALL Obj,СР <-
Obj :Researcher[lastName -»"Иванов"; cooperatesWith-»CP],
атрибут cooperatesWith является отношением, обладающим свойством симметричности. Это означает, что даже если у объекта, описывающего специалиста по фамилии Иванов, свойства cooperatesWith нет, Ontobroker выведет*его, если в онтологии представлен объект, описывающий другого специалиста, который имеет такое свойство со значением «Иванов».
В рассматриваемом языке представления онтологических знаний присутствуют и другие правила вывода значений атрибутов, эксплицитно не представленных в Web-документах, При этом понятно, что язык запросрв Ontobroker может использоваться и для формирования репозиториев с информацией, удовлетворяющей заданным ограничениям. И более того, с помощью запросов можно получать и метаинформацию: запрос вида
FORALL Att, Т <- Researcher[Att=»T]
вернет в качестве результата имена всех атрибутов класса Researcher и связанных с ним классов.
В самой системе Ontobroker поддерживаются два типа интерфейсов при формировании запросов — текстовый (для экспертов) и графический (для пользователей). Первый из них предполагает, что запросы формулируются непосредственно во входном языке описания онтологий. Понятно, что при этом знание синтаксиса языка Ontobroker и знакомство с онтологией, для которой запрос формулируется, должны у эксперта присутствовать.
Проблема знания синтаксиса решается в данном случае, как, впрочем, и в большинстве других инструментальных средств нового поколения, за счет диалогов, управляемых системой (system-driven dialogue). Пользователю выдается соответ-
ствующая панель, где могут быть определены (путем выбора из меню) компоненты запроса и связки между ними. Такой подход обеспечивает синтаксическую корректность и однозначность интерпретации запроса.
Сложнее преодолеть разрыв в знаниях эксперта и пользователя, особенно новичка, об используемой онтологии. Ведь для правильной формулировки запроса необходимо знать, по крайней мере, какие концепты в онтологии присутствуют и какие атрибуты имеются у концептов. Поэтому все системы представления онтологических знаний предоставляют своим пользователям средства виуализации онтологий и навигации по онтологии.
В Ontobroker для визуализации онтологий используется подход, основанный на идеях гиперболической геометрии (Hyperbolic Geometry) [Lamping et aL, 1995]. В случае обсуждаемой системы эти идеи реализуются следующим образом: класс, интересующий пользователя в данный момент, представляется «большим шаром», а классы, с ним непосредственно связанные, — «маленькими шарами» и располагаются по границе круга, «очерчивающего» соответствующий слой. Используя данный интерфейс, и эксперт и пользователь могут легко и эффективно включать в свой запрос нужные концепты и их атрибуты, а система Ontobroker переведет их в текстовое представление автоматически. Реализован интерфейс онтологий Ontobroker как Java^-апплет, что обеспечивает работу с Web-броузе- рами на любых платформах, где поддерживается Java-технология.
Формализм представления и машина вывода
Как уже отмечалось выше, онтология определяется через концепты (классы), связанные отношениями, атрибуты и аксиомы. И адекватный язык представления должен обеспечить удобные средства для описания всех перечисленных компонентов. В OntoWoker базисом представления являются так называемые логики фреймов (Frame-Logic) [Kifer et al., 1995].
Базисными конструкциями в данном подходе являются:
Подклассы (Subclassing) — запись Cl:: С2 означает, что класс С1 является подклассом С2.
Экземпляры (Instance of) — запись О : С означает, что О является экземпляром класса С.
Декларации атрибутов (Attribute Declaration) — запись С1[А==»С2] означает, что для экземпляра класса С1 определен атрибут А, значением которого должен быть экземпляр С2.
Значения атрибутов (Attribute Value) — запись O[A-»V] означает, что экземпляр О имеет атрибут А со значением V.
Часть-целое (Part-of) — запись О1 <: 02 означает, что О1 Является частью 02.
Отношения (Relations) — предикаты вида р(а1*・・・*а2) могут использоваться, как и в обычных логических формализмах, но с тем расширением, что в качестве аргументов здесь могут выступать не только термы, но и выражения.
Из базисных конструкций строятся брдее сложные — факты (fa^ts), правила (rubles), «двойные» правила (double rules) и запросы (queries). Запросы уже обсуждались выше. Факты, по сути, являются элементарными выражениями,
Правила, как и обычно, имеют левую и правую части, причем левая часть (здесь она называется «головой») является конъюнкцией элементарных выражений, а правая («тело») j сложная формула, термами которой являются элементарные выражения, связанные обычными предикатными символами типа implies:—> , implied by: v—, equivalent: <—>, AND, OR и NOT. Отличие между обычными и «двойными» правилами в симметричности последних. Важное достоинство формализма — возможность использования переменных в 《голове» правил (с квантором FORALL) или в его «теле» (с кванторами FORALL и EXISTS) Пример фрагмента онтологии в формализме Ontobroker, адаптированный из работы [Fensel et al., 1998], приводится ниже.
Определения атрибутов
Person [firstName =» STRING;
lastName =» STRING;
eMail =» STRING;
publication =» Publication].”
Employee [affiliation =» Organization;...].
Researcher [researchinterest =» ResearchTopic;
memberOf. =» ResearchGroup;/
cooperatesWith. =» Researcher].
Publication [ author =» Person;
title =» STRING;
year =» NUMBER;
abstract =» STRING].
Правила
FORALL Personl, Person2
Personl:Researcher [cooperatesWith -» Person2] <-
Person2:Researcher [cooperatesWith ->> Personl].
FORALL Personl, Publication!
, Publicationl:Publication [author -» Personl] <->
Personl:Person [publication -» Publicationl ].
По-видимому, в пояснениях здесь нуждаются только правила. Первое из них фиксирует симметричность отношения cooperatesWith. Второе утверждает, что если конкретная личность (экземпляр класса Person) имеет публикацию, то последняя имеет автора, который тоже является экземпляром класса Person, и обратно.
Машина вывода Ontobroker состоит из двух основных компонентов: транслятора с расширенного языка представления в ограниченный и собственно вычислителя выражений ограниченного языка, который является обычным языком логического программирования.;
Аннотация Web-страниц онтологической информацией
Поскольку, как уже отмечалось выше, Web-информация чаще всего представлена на языке HTML, в рамках проекта Ontobroker разработано простое его расширение для аннотации Web-страниц. Основная идея этого расширения состоит в следующем: в язык HTML добавлено несколько релевантных для решения поставленных задач тегов, использование которых позволяет Ontobroker интерпретировать аннотированные фрагменты HTML-текста как факты языка представления онтологических знаний. При этом Web-страницы остаются приемлемыми для стандартных броузеров типа Netscape Navigator или MS Explorer:
В язык введены три эпистемологически различных примитива:
Идентификация объекта, который может быть определен как экземпляр определенного класса, с помощью URL.
Установка значения атрибута объекта.
• Определение отношений между объектами.
Все примитивы синтаксически расширяют тег <а ...> языка HTML. Так, например, если специалист Иванов захочет определить себя как объект обсуждавшейся выше онтологии, он может на своей домашней странице ввести конструкцию вида:
<а onto=" "http://www.anywhere.ru/'ivanov/" : Researcher"> </a>
Теперь для объекта Иванов класса Researcher можно ввести атрибут email и его значение с помощью следующей конструкции:
<а onto=" "htt-p://www. anywhere. ru/**ivanov/" ,
「email二“mailt。: ivanov^arwwhee riT] "> </a>
Аналогичным образом вводятся и отношения:
<а onto= "REL(0bj1, 0bj2, Obj3Objn)" > ... </a>
Имеются в языке и средства, которые обеспечивают уменьшение сложности аннотирования: например, возможности именования «длинных» конструкций и последующего использования этих имен.
При таком подходе Ontocrawler — компонент системы Ontobroker 一 простой CGI-скрипт, который периодически проверяет аннотированные страницы на Web. Для поиска таких страниц он обращается к индексным страницам провайдеров, которые зарегистрированы в рамках инициативы (КА)2.
Проект SHOE — спецификация онтологий и инструментарий
Общая характеристика проекта
Проект SHOE {Simple HTML Ontology Extensions) ориентирован на решение проблемы добавления к Web-страницам семантической информации и соотнесения ее с онтологиями соответствующих предметных областей. Предполагается, что, используя эту информацию, поисковые системы смогут обеспечивать более релевантные ответы на запросы, чем это возможно сейчас на базе использования машин поиска, функционирующих в Интернете.
Для поддержки процессов аннотирования в рамках проекта SHOE разрабатывается специальный набор инструментальных средств (suite of tools), а основой их является язык Интернет-совместимого представления знаний, который, собственно, и дал название всему проекту.
В настоя цее время в проекте SHOE выделены следующие главные направления исследований:
Разработка множества повторно используемых онтологий (reusable ontologies) для концептов, которые наиболее частотны для Web-ресурсов.
Создание средств проектирования онтологий — аннотаторов знаний (Knowledge Annotator), которые бы упростили этот процесс.
Предполагается также, что в SHOE-инструментарий будет включена «несложная» обработка естественного языка (lightweight natural language processing techniques), которая обеспечит представление пользователям аннотаций документов.
Спецификации онтологий и инструментарий SHOE
В данном подразделе мы сосредоточимся не столько на самих онтологиях, разрабатываемых в рамках проекта SHOE [Luke et al., 1996], сколько на языке представления онтологических знаний и средствах поддержки процессов проектирования онтологий.
Формализм представления и машина вывода
Следует сразу отметить, что SHOE по своей идее близок к уже обсуждавшейся выше инициативе (КА)2. Но концепция языка представления знаний здесь другая, хотя и она лежит в русле расширения HTML специальными тегами. А основное отличие языка SHOE в том, что здесь, по существу, предлагается «полномасштабное» расширение HTML. Для этого SHOE вводит в НТМL-стандарт следующие новые теги для спецификации онтологий: ONTOLOGY, USEONTOLOGY, DEF-CATEGORY, DEF-RELATION, DEF-ARG, DEF-RENAME, DEF-CON- STANT, DEF-TYPE, DEF-INFERENCE, INF-IF, INF-THEN,COMPARISON, CATEGORY, RELATION, ARG и некоторые другие. Для аннотирования HTML-документов ис-
пользуется часть из уже перечисленных тегов и, кроме того, вводятся новые, например INSTANCE. И наконец, в SHOE вводится метатег вида <МЕТА НТТР- EQUIV =...">.
Для определенности в рамках спецификации языка SHOE предполагается, что онтология представляется в виде is_a иерархии классов/категорий, множества атомарных отношений между категориями и множества правил вывода В форме простых клауз Хорна.
Термами языка являются термы HTML и дополнительно к этому понятия Category (Class), Data (причем с типами STRING, NUMBER, DATE, TRUTH), Element, Instance, Instance Key, Name, Ontology, Relation (Relationship), Rule и некоторые другие.г
Декларации онтологий задаются внутри тела HTML-документа и не могут перекрываться с другими тегами HTML. В одном документе может быть определено несколько онтологий, но такие определения тоже не может перекрываться или быть вложенными. Общая схема определения онтологии следующая:
ONTOLOGY 1^="идентификатор-онтологии"
VERSION="sepcKfl"
[BACKWARD-C0MPATIBLE-WITH="cnKCOK-sepcwK"j
[DESCRIPTION="reKCT"]
[^^ZL^^W^"список-деклар.-экземпляров" У> собственно-декларация-онтологии
</ONTOLOGY>
Для указания того, что данная онтология расширяет другую, уже существующую, используется специальный тег:
' <USE-ONTOLOGY ID=''идентификатор-онтологии"
VERSION^"еерсия" PREFIX二“ре频“” [URL=
Внутри определения онтологии могут специфицироваться новые категории, для чего используется специальный тег вида:
<DEF-CATEGORY ИМ^Е=''имя-категории"
[ТЗК-'список-родительских-категории'}
[DESCRIPTION="reKCT"] [5Н0НТ="текст"]>
Аналогичный подход применяется и для определения отношений:
<DEF-RELATIОN NAMЕ=”имя-отношения" [DESCRIPTION='t текст"] [SHORT二 “текст”]〉
список-аргументов
</DEF-RELATION>
Возможно определение тех же понятий и с помощью тега ONTDEF с параметрами.
Одним из важнейших компонентов определения онтологии являются правила выйода. В SHOE такие правила «похожи» на Хорновские клаузы по сути, но отличаются от них по форме:
<DEF-INFERENCE [DESCRIPTION;Текст”]〉
<INF-IF> тело </INF-IF>
<INF-THEN> голова </INF-THEN>
</DEF-INFERENCE>
Для примера, ниже обсуждается фрагмент определения онтологии в формализме SHOE, коррелирующий с уже обсуждавшимся фрагментом определения^анало- гичной онтологии в формализме Ontobroker.
Пусть нас интересуют исследователи, имеющие в Интернете свои домашние страницы. Для работы с такими страницами можно воспользоваться уже существующей в рамках SHOE онтологией общих понятий (organization-ontology version 2.1) по адресу http://www.ont.org/orgont.html. Однако предположим для определенности, что существующую онтологию необходимо расширить понятиями Person и Organization. Тогда спецификация фрагмента новой онтологии (Но- mePageOntology) может быть представлена в формализме SHOE следующим образом:
<ONTOLOGY I^'HomePageOntology'' VERSION二” 7. 0”>
<ONTOLOGY-EXTENDS ''organization-ontology"
VERSI0N="2. 7” PREFIX="org-
mL~''http://www. ont. org/orgont. html”〉
<ONTDEF CATEGORY二“PersorT ISA="org. Thing">
<ONTDEF RELATION二JastWd/ne” ARGS="Person STRING">
<ONTDEF RELATION="firsttoe" ARGS="Person STRING*〉
<ONTDEF RELAT工0N=”/ndrried7b” ARGS="Person Person'>;
<ONTDEF RELATION=”e叩工oyee” ARGS="org. Organization Person">
</ONTOLOGY>
Аннотация Web-документов на базе онтологий
Аннотация HTML-документов в SHOE осуществляется также с использованием тегов. В частности, для этого служат теги USE-ONTOLOGY, INSTANCE, CATEGORY, RELATION. Последние три тега имеют следующие форматы:
<INSTANCE KEY=”знамен出е-ключа”*
[0Е1ЕСАТЕ-Т0="список-примерое"]> ... </INSTANCE>
<CATEGORY ЫК^Е="префикс, категория'' [FOR=”K/wq”]>
〈RELATION МАМЕ="префикс.отношение">список-аргументов </RELATION>
Для поиска и обработки домашних страниц с помощью специфицированной выше онтологии необходимо, чтобы авторы Weti-публикациц сами (или на основе инструментария SHOE) проаннотировали свои документы.
Так, например, фрагмент аннотации персональной страницы исследователя Иванова в формализме SHOE выглядит следующим образом:*
<BODY>
<МЕТА HTTP-EQUIV二”工"stance”
CONTENT二”力ttp:〃wwM anywhere. ru/"ivanov">
<USE-ONTOLOGY "HomePageOntology"
VERSION=7.O” PREFIX="our"
[)Ш="http://www. ont. org/HotnePageOntology. html''>
<CATEGORY "our. Person^
<RELATION ''our. firstName'' T0=”_ZVm”>
〈RELATION ''our.lastName'' n^'Ivanov">
<RELATION "our. fnarriedTo''
УО-1'http://www. somewhere. ru/^Mariya''>
〈RELATION •"our. employee" VRW=''http://www. ccas. ru'>
</BODY>
Анализ приведенного HTML-текста показывает, что даже в таком, казалось бы, простом случае задача аннотации Web-документа достаточно сложна. Ситуация становится еще более сложной при аннотировании реальных HTML-документов. Во-первых, уже выбор объектов текста, подлежащих аннотированию, не тривиален, особенно если Web-документ представляет объекты реального мира. Во- вторых, гиперссылки часто фиксируют лишь наличие определенных отношений между объектами, но не их семантику. И наконец можно, конечно, аннотировать каждую именную группу в естественно-языковом представлении HTML-страницы, но для реальных документов это слишком трудоемкая задача, которая к тому же чревата большим количеством ошибок.
Поэтому в рамках проекта SHOE для автоматизации процессов аннотирования Web-доку ментов разработана специальная система Knowledge Annotator [КА, 1999], одна из экранных форм которой представлена на рис. 8.12.
每殊х恥奇i *謬*每殊х恥奇i *謬*УСТ АВУСТ АВобппгтоштей ергшипащтобппгтоштей ергшипащт'Тоссннаси accei'Тоссннаси accei(РАИЯ)(РАИЯ)J О&пе«»8имм <jra8»fsa«wi "Расайскм Ашанн&цж й#усйвгюк-гр;з\:::::*кяяи(е»а*@闷EV**a”‘汽琛щн«ця>&явмст£*а啕mstwe’mnMKV*:: 恥■如 гнок«яп 嗝 обтеврне* «sfBmmse* латл«1 кикк:2+: Аипцаацюсмяяп” *wiraii “о^се&миюмАяимче &«6ва«н:п:®8к:: мтшпп*:е<яЯАах**「酬。жмекм':"::,. ;;:::;:.「方Р>г|>амм|гйг~ » Mtuwnrw。>£*9п*»*<)штыс7фкмхемхем.Медедкрокэд» »гпш1ех^шв^ 吻《Деес 取J О&пе«»8имм <jra8»fsa«wi "Расайскм Ашанн&цж й#усйвгюк-гр;з\:::::*кяяи(е»а*@闷EV**a”‘汽琛щн«ця>&явмст£*а啕mstwe’mnMKV*:: 恥■如 гнок«яп 嗝 обтеврне* «sfBmmse* латл«1 кикк:2+: Аипцаацюсмяяп” *wiraii “о^се&миюмАяимче &«6ва«н:п:®8к:: мтшпп*:е<яЯАах**「酬。жмекм':"::,. ;;:::;:.「方Р>г|>амм|гйг~ » Mtuwnrw。>£*9п*»*<)штыс7фкмхемхем.Медедкрокэд» »гпш1ех^шв^ 吻《Деес 取冷n淑,・产用(X %w"迎.《“》冷n淑,・产用(X %w"迎.《“》UU 2a 沁&22Mi@(5«点 aUU 2a 沁&22Mi@(5«点 aЖ*жй?вммя.аедэждаия,ацмряятяяв.^mt^w « Mp^tutuci■:$.:、北》8> 軍sai” pntKMtnMreiK依慘mx»iK<m*svf»t9CT*HK.t*Mcn^b№rЖ*жй?вммя.аедэждаия,ацмряятяяв.^mt^w « Mp^tutuci■:$.:、北》8> 軍sai” pntKMtnMreiK依慘mx»iK<m*svf»t9CT*HK.t*Mcn^b№rРис. 8.12. Экранная форма системы Knowledge AnnotatorРис. 8.12. Экранная форма системы Knowledge Annotator
每殊х恥奇i *謬*
每殊х恥奇i *謬*
УСТ АВ
УСТ АВ
обппгтоштей ергшипащт
обппгтоштей ергшипащт
'Тоссннаси accei
'Тоссннаси accei
(РАИЯ)
(РАИЯ)
J О&пе«»8имм <jra8»fsa«wi "Расайскм Ашанн&цж й#усйвгюк-гр
;з\:::::*кяяи(е»а*@闷EV**a”‘汽琛щн«ця>&явмст£*а啕mstwe’mnMKV*:: 恥■如 гнок«яп 嗝 обтеврне* «sfBmmse* латл«1 кикк
:2+: Аипцаацюсмяяп” *wiraii “о^се&миюмАяимче &«6ва«н:п:®8к:: мтшпп*:е<яЯАах**「酬。жмекм':"::,. ;;:::;:.「
方Р>г|>амм|гйг~ » Mtuwnrw。>£*9п*»*<)штыс7фкмхемхем.
Медедкрокэд» »гпш1ех^шв^ 吻《Деес 取
J О&пе«»8имм <jra8»fsa«wi "Расайскм Ашанн&цж й#усйвгюк-гр
;з\:::::*кяяи(е»а*@闷EV**a”‘汽琛щн«ця>&явмст£*а啕mstwe’mnMKV*:: 恥■如 гнок«яп 嗝 обтеврне* «sfBmmse* латл«1 кикк
:2+: Аипцаацюсмяяп” *wiraii “о^се&миюмАяимче &«6ва«н:п:®8к:: мтшпп*:е<яЯАах**「酬。жмекм':"::,. ;;:::;:.「
方Р>г|>амм|гйг~ » Mtuwnrw。>£*9п*»*<)штыс7фкмхемхем.
Медедкрокэд» »гпш1ех^шв^ 吻《Деес 取
冷n淑,・产用(X %w"迎.《“》
冷n淑,・产用(X %w"迎.《“》
UU 2a 沁&22Mi
@(5«点 a
UU 2a 沁&22Mi
@(5«点 a
Ж*жй?вммя.аедэждаия,ацмряятяяв.^mt^w « Mp^tutuci
■:$.:、北》8> 軍sai” pntKMtnMreiK依慘mx»iK<m*svf»t9CT*HK.t*Mcn^b№r
Ж*жй?вммя.аедэждаия,ацмряятяяв.^mt^w « Mp^tutuci
■:$.:、北》8> 軍sai” pntKMtnMreiK依慘mx»iK<m*svf»t9CT*HK.t*Mcn^b№r
Рис. 8.12. Экранная форма системы Knowledge Annotator
Рис. 8.12. Экранная форма системы Knowledge Annotator
Основными информационными блоками в приведенной выше экранной форме являются экземпляры (instances), онтологии (ontologies) и утверждения (claims). Пользователь может добавлять, редактировать и/или удалять любой из элементов этих блоков. При создании новых объектов пользователю выдаются соответствующие подсказки в виде, например, списка доступных онтологий, описанных в них категорий, отношений и т. п.
Для визуализации знаний, содержащихся в обрабатываемом документе, Knowledge Annotator использует различные методы, начиная с аннотированного HTML-текста и заканчивая описаниями утверждений на естественном (английском) языке. Кроме того, система осуществляет проверку корректности действий пользователя и транслирует его выборы в синтаксически правильные конструкции SHOE.
Формализм запросов
В настоящее время существуют различные примеры языков запросов к документам, проаннотированным на основе формализмов SHOE, рассмотренных выше. Так, в университете Мэрилэнд (University of Maryland at College Park) разработан робот Expos, который обрабатывает SHOE-документы и добавляет их в свою базу знаний, используя систему представления знаний PARKA [Stoffel et al., 1997].
Пример PARKA-запроса для поиска домашних страниц может быть специфицирован следующим образом:
(query! "(:and
(#!instanceOf ?Х #!Person) (#!instanceOf ?Y #!Person)
(#!instanceOf ?Z #!Organization)
(#!lastName ?X "Ivanov") (#!lastName ?Y "Ivanova")
(#!employee ?Z ?X) (#!employee ?Z ?Y)
(#!marriedTo ?X ?Y)
(#!involvedln ?Z "РФФИ-проекты")))
По существу, это достаточно простой SQL-запрос, расширенный за счет использования понятий онтологии, переменных и ограниченных по мощности образцов. Оценивая формализм представления онтологических знаний SHOE и поддержку процессов аннотирования Web-ресурсов в этом проекте в целом, можно констатировать, что это достаточно мощная система методов и средств, которая вместе с тем сложнее для пользователя, чем Ontobroker.
Другие подходы и тенденции
В заключение настоящего параграфа необходимо, хотя бы в общих чертах, рассмотреть усилия World Wide Web Consortium (W3C) по созданию и внедрению средств маркировки Интернет-ресурсов.
До недавнего времени в распоряжении Интернет-авторов для этого почти исключительно использовался уже обсуждавшийся выше язык HTML Однако с точки
зрения семантической разметки Интернет-документов этот язык обладает рядом недостатков, основными среди которых являются следующие [Johnson, 1999]:
жесткая ориентация на визуализацию;
единственная «точка зрения» на данные;
нерасширяемость;
весьма ограниченные средства спецификации семантической структуры документов.
Справедливости ради следует заметить, что еще в конце 60-х годов в рамках исследований по представлению документов компанией IBM был разработан язык SGML (Standard Generalized Markup Language), который лишен многих из перечисленных недостатков. К середине 80-х годов этот язык стал стандартом для многих промышленных компаний и правительственных учреждений США, но, по мнению специалистов рабочей группы SGML W3C [Bosak, 1997], он слишком сложен для широкого использования Интернет-авторами. Вот почему в рамках W3C, начиная с 1996 года, предпринимаются усилия по разработке средств разметки документов, сравнимых по мощности с SGML, а по простоте использования —с HTML. И среди работ данного направления в первую очередь следует отметить язык XML (extensible Markup Language) [XML, 1998].
В языке XML «сняты» многие ограничения HTML, язык разметки стал существенно мощнее. И одновременно XML-тексты остаются понятными для всех, кто работал с языком HTML. Отличительные свойства XML и в том, что здесь фиксируется стандарт на определение синтаксиса и единообразные средства введения в языки разметки (Markup Language) новых тегов. А это, в свою очередь, позволяет конструировать на основе XML новые языки маркировки Web-документов и, кроме того, обеспечивает возможность различным приложениям (и, в частности, программным агентам) «понимать» и обрабатывать XML-документы.
Каждый XML-документ обладает определенной логической и физической структурой. Физически это композиция элементов, называемых единицами (entities), которые могут быть связаны взаимными ссылками. Логически документ состоит из деклараций, единиц, комментариев, собственно текстов и инструкций обработки, причем каждая конструкция XML маркируется специальными тегами явным образом. Все теги XML — парные, а конструкции могут быть вложены друг в друга, образуя правильно построенное дерево. Так, например, конструкция <ltem Attribute 1 =«Value 1 »> </ltem> определяет единицу с именем Item и списком пар атрибут-значение, который в нашем случае представлен единственным атрибутом с именем Attribute 1, имеющим значение «Valuel».
Для иллюстрации возможностей этого языка рассмотрим содержательный пример XML-документа, описывающего домашнюю страницу исследователя Иванова.
<?xml version="1.0"?>
<Homepage>
<Мате>Домашняя страница Иванова</Мате>
<Person>.
<fi rstName>Ivan</fi rstName >^^
<lastName>Ivanov</lastName >
<marriedTo Homepage="http://www,anywhere.ru">
Ma「iya Ivanova</marriedTo>
<employee Homepage="http://www.ccas.ru">
CCAS of Russia</employee>
〈publications〉
<book title="First Book'7>• - ■
<book title="Second Book"/>
</publications>
</Person>
</Homepage>
Этот XML-документ структурирован существенно лучше, чем был бы аналогичный ему HTML-текст, но пока не имеет «смысла», так как из него не следует, как интерпретируются единицы типа Person, publications, book и т. п. Для решения этого вопроса используется специальная спецификация определения типа документа DTD (document type definition). По сути дела, это грамматика языка разметки, в рамках которой определяются, какие элементы могут присутствовать в документе, какие атрибуты они имеют и как элементы соотносятся друг с другом. Понятно, что для стандарта XML такие спецификации уже разработаны самими авторами языка, но в нашем случае используется специальный его диалект, и потому именно мы должны специфицировать DTD нашего документа. Такая спецификация может быть следующей:
<! ELEMENT Homepage (Name, Person)>
<! ELEMENT Name (#PCDATA)>'
<! ELEMENT Person (firstName, lastName, marriedTo?, employee?, publications?, Homepage?)>
<!ATTLIST Person Homepage xml:link CDATA>
<! ELEMENT firstName, (#PCDATA)>
<! ELEMENT lastName (#PCDATA)>
<! ELEMENT marriedTo (Person)>
<!ELEMENT employee (organization)〉
<!ATTLIST organization Homepage xml:link CDATA>
<! ELEMENT publications (book*, paper*, report*)>
<!ATTLIST book title CDATA «REQUIRED, coauthor Person, publisher CDATA, year CDATA)>
<!ELEMENT paper (title, coauthor*, journal, year, vol?, number?)>
<!ELEMENT report (title, coauthor*, organization, year)>
Как следует из приведенного описания, в DTD специфицировано «сведение» конструкций нашего XML-документа к стандартным XML-конструкциям, понимаемым броузерами нового поколения.
В настоящее время уже разработаны DTD для различных предметных областей, и каждая такая спецификация, по сути дела, определяет новый язык разметки. Известным примером развития DTD для спецификации общих ресурсов является RDF (Resource Description Framework) [RDF, 1999], разрабатываемый W3C. Этот формат может использоваться для добавления в документы метаинформации, которая, в частности, может быть представлением семантики документа.
Использование собственных диалектов XML является важным шагом на пути формирования пространств знаний в сети Интернет. Но, по сути дела, это лишь первый шаг в этом направлении. Действительно, какие средства дает язык XML для представления знаний? Очевидно, что это, в первую очередь, средства спецификации декларативной компоненты развитых систем представления знаний. И то в ограниченном объеме. Каким же образом авторы этого языка и его расширений предполагают подключение процедур обработки XML-конструкций? На сегодняшний день в предложениях W3C явно прослеживается лишь одна идея: поскольку XML-документы не что иное, как портабельные данные, а язык Java имеет портабельный код, следует их использовать совместно. Для этого предлагаются специальные интерфейсы, например SAX {Simple API for XML), которые уже сейчас могут поддерживать многие Java-анализаторы. Основная идея здесь достаточно проста — анализатор просматривает узлы дерева документа из XML- файла и вызывает соответствующие методы, определенные пользователем. Для того чтобы этот механизм работал, программист должен создать класс, реализу- 1бщий соответствующий интерфейс. Методы этого класса будут вызываться всякий раз, когда на входе распознавателя появляется нужная конструкция (тег, входная строка и т. п.). Собственно обработка информации при этом целиком в руках программиста, а среда лишь поддерживает общее функционирование и обработку исключительных ситуаций.
Такой подход имеет много общего и с подходом Ontobroker, и с подходом SHOE. Авторы обоих этих проектов активно приветствуют усилия W3C, но вместе с тем отмечают, что в предложениях соответствующих рабочих групп еще много недостатков. В первую очередь — это отсутствие стандартов на интеллектуальную обработку XML-конструкций, сравнительно небольшой практический опыт семантической разметки Интернет-документов и достаточно ограниченные средства логической обработки, испольауемые при этом.
Вот почему, как показывает анализ литературы и Интернет-ресурсов по данной тёматике, в настоящее время:
эффективная обработка информации на Web связывается, в первую очередь, с использованием ИИ-технологий;
основные подходы в этой области ориентированы на решение проблемы извлечения из Web-ресурсов эксплицитных знаний на основе семантического
маркирования таких ресурсов;
во всех исследовательских и многих коммерческих проектах данного направления активно используются (или, по крайней мере, декларируется использование) агентно-ориентированные вычисления и технологии.
Учитывая вышесказанное, в следующей главе обсуждаются мультиагентные системы и системы интеллектуальных агентов.
Интеллектуальные Интернет- технологии
Программные агенты и мультиагентные системы
Проектирование и реализация агентов и мультиагентных систем
Информационный поиск в среде Интернет
Программные агенты и мультиагентные системы
Историческая справка
Проблематика интеллектуальных агентов и мультиагентных систем (МАС) имеет уже почти 40-летнюю историю [Городецкий и др., 1998; Тарасов, 1998] и сформировалась на основе результатов, полученных в рамках работ по распределенно- ■ му искусственному интеллекту (DAI), распределенному решению задач (DPS) и параллельному искусственному интеллекту (PAI) [Demazeau et aL, 1990; Пэра- нек, 1991; Rasmussen et al., 1991]. Но, пожалуй, лишь в последнее 10-летие она выделилась в самостоятельную область исследований и приложений и все больше претендует на одну из ведущих ролей в рамках интеллектуальных информационных технологий. Спектр работ по данной тематике весьма широк, интегрирует достижения в области компьютерных сетей и открытых систем, искусственного интеллекта и информационных технологий и ряда других исследований, а результаты уже сегодня позволяют говорить о новом качестве получаемых решений.
Понятно, что в рамках данного издания мы не сможем даже обозреть все направления и результаты в области МАС. Поэтому далее сконцентрируемся лишь на тех разделах, которые имеют непосредственное отношение к теме настоящей книги. С учетом сделанных замечаний и с позиций сегодняшнего дня все исследования в этой области можно выделить в две основные фазы: первая охватывает период с 1977 г. по настоящее время, а вторая — с начала 1990 г. по настоящее время.
Работы первого периода концентрировались на исследовании так называемых «смышленых» (smart)^ агентов, которые были начаты в конце 1970-х годов и продолжаются все 1980-е годы вплоть до наших дней. Первоначально эти работы были сосредоточены на анализе принципов взаимодействия между агентами, на декомпозиции решаемых задач на подзадачи и распределении полученных задач между отдельными агентами, координации и кооперации агентов, разрешении конфликтов путем переговоров и т. п. Цель таких работ — анализ, спецификация, проектирование и реализация систем агентов. На этом же уровне активно велись работы по теории, архитектурам и языкам для программной реализации агентов. Примерно с 1990 г. стало ясно, что программные агенты могут использоваться в широком спектре применений. Однако потенциал агентных технологий, по-ви- димому, стал в значительной мере осознан не только разработчиками^ но и инвесторами после известного отчета консультативной фирмы Ovum [Ovum, 1994], которая предсказала, что сектор рынка для программных агентов в США и Европе вырастет, по крайней мере, до $3,9 billion к 2000 г. в противовес 1995 г., когда он оценивался в $476 million.
В настоящее время множество исследовательских лабораторий, университетов, фирм и промышленных организаций работают в этой области, и список их постоянно расширяется. Он включает мало известные имена и небольшие коллективы, уже признанные исследовательские центры и организации (например, университет Карнеги Мэллон (CMU) и фирма General Magic), а также огромные транснациональные компании (такие как Apple, AT&T, ВТ, Daimler-Benz, DEC, HP, IBM, Lotus, Microsoft, Oracle, Sharp и др.).; Областями практического использования агентных технологий являются управление информационными потоками (workflow management) и сетями (network management), управление воздушным движением (air-traffic control), информационный поиск (information retrieval), электронная коммерция (e-commerce), обучение (education), электронные библиотеки (digital libraries) и многие-многие другие приложения.
Существует несколько причин, почему необходимы и полезны программные агенты, МАС и, более общо, агентные технологии. Основная из них в том, что агенты автономны и могут выполняться в фоновом (background) режиме от лица пользователя при решении разных задач, наиболее важными из которых являются сбор информации, ее фильтрация и использование для принятия решений.
Таким образом, основная идея программных агентов — делегирование полномочий. Для того чтобы реализовать эту идею, агент должен иметь возможность взаимодействия со своим владельцем или пользователем для получения соответствующих заданий и возвращения полученных результатов, ориентироваться в среде своего выполнения и принимать решения, необходимые для выполнения поставленных перед ним задач.
К построению агентно-ориентированных систем можно указать два подхода: реализация единственного автономного агента или разработка мультиагентной системы. Автономный агент взаимодействует только с пользователем и реализует весь спектр функциональных возможностей, необходимых в рамкдх агентно-ори-
ентированной программы. В противовес этому МАС являются программно-вычислительными комплексами, где взаимодействуют различные агенты для решения задач, которые трудны или недоступны в силу своей сложности для одного агента. Часто такие мультиагентные системы называют агентствами (agencies), в рамках которых агенты общаются, кооперируются и договариваются между собой для поиска решения поставленной перед ними задачи.
Агентные технологии обычно предполагают использование определенных типологий агентов и их моделей, архитектур МАС и опираются на соответствующие агентные библиотеки и средства поддержки разработки разных типов мульти- агентных систем.
Основные понятия
Существует несколько подходов к определению понятий в данной предметной области. Ио-видимому, одним из наиболее последовательных в этом вопросе является международная ассоциация FIPA (Foundation for Intelligent Physical Agents), каждый документ которой содержит толковый словарь терминов, релевантных данному документу [FIPA, 1998]. И вместе с тем практически во всех работах, где даются, например, определения понятия агента и его базисных свойств, общим местом стало замечание об отсутствии единого мнения по этому поводу [Franklin et al., 1996; Belgrade, 1996; Nwana, 1996]. Фактически, используя понятие «агент», каждый автор или сообщество определяют своего агента с конкретным набором свойств в зависимости от целей разработки, решаемых задач, техники реализации и т. п. критериев. Как следствие, в рамках данного направления появилось множество типов агентов, например: автономные агенты, мобильные агенты, персональные ассистенты, интеллектуальные агенты, социальные агенты и т. д. [Nwana, 1996], а вместо единственного определения базового агента —множество определений производных типов.
Учитывая вышесказанное, понятие агента целесообразно трактовать как метаимя или класс, который включает множество подклассов. Ряд определений агентов, данных разными исследователями, представлен в работе [Franklin et al., 1996]. В настоящем издании будем придерживаться следующей концепции по этому поводу. '
Агент — это аппаратная или программная сущность, способная действовать в интересах достижения целей, поставленных перед ним владельцем и/или пользователем [Wooldridge etal., 1995].
Таким образом, в рамках М АС-парадигмы программные агенты рассматриваются как автономные компоненты, действующие от лица пользователя.
В настоящее время существует несколько классификаций агентов [Nwana, 1996], одна из которых, представлена в табл. 9.1.产
Таблица 9.1. Классификация агентов
^^*\ТйПы агентов
Характерист 侖
Простые
Смышленые (smart)
Интеллектуальные (intelUgent)
Действительно (truly) интелг лектуальные
Автономное выполнение
+
+
+
Взаимодействие
+
+
+
+
с другими агентами и/или пользователями
Слежение за окружением
+
+
+
+
Способность
использования абстракций
+
+
+
Способность использования предметных знаний
+
+
Возможность адаптивного поведения для достижения целей
+,
+ .
Обучение из окружения
+
+
Толерантность к ошибкам и/или
+
неверным входным сигналам Real-time исполнение
+
ЕЯ-взаимодействие
+
Как следует из приведенной таблицы, собственно целесообразное поведение появляется только на уровне интеллектуальных агентов [Пономарева и др., 1999; Хорошевский, 1999]. И это не случайно, так как для него необходимо не только наличие целей функционирования, но и возможность использования достаточно сложных знаний о среде, партнерах и о себе. С точки зрения целей настоящей книги, наибольший интерес представляют интеллектуальные и действительно интеллектуальные (см. табл. 9.1) агенты. Понятно, что все характеристики более «простых» типов агентов при этом наследуются.
Иногда агентов определяют через свойства, которыми они должны обладать. Учитывая то, что нас в данной книге, в первую очередь, интересуют интеллектуальные агенты, приведем типовой список свойств, которыми такие агенты должны обладать [Wooldridge et al., 1995; FIPA, 1998]:
автономность (autonomy, autonomious functioning) — способность функционировать без вмешательства со стороны своего владельца и осуществлять контроль внутреннего состояния и своих действий;
социальное поведение (social ability, social behaviour) — возможность взаимодействия и коммуникации с другими агентами;
реактивность (reactivity) — адекватное восприятие среды и соответствующие реакции на ее изменения;
активность (pro-activity) — способность генерировать цели и действовать рациональным образом для их достижения;
базовые знания (basic knowledge) — знания агента о себе, окружающей среде, включая других агентов, которые не меняются, в рамках жизненного цикла агента;
убеждения (beliefs) — переменная часть базовых знаний, которые могут меняться во времени, хотя агент может об этом не знать и продолжать их использовать для своих целей;
цели (goals) — совокупность состояний, на достижение которых направлено текущее поведение агента;
желания (desires) 一 состояния и/или ситуации, достижение которых для агента важно;
обязательства (commitments) — задачи, которые берет на себя агент по просьбе и/или поручению других агентов;
намерения (intentions) — то, что агент должен делать в силу своих обязательств и/или желаний.
Иногда в этот же перечень добавляются и такие свойства, как рациональность (retionality), правдивость (veracity), благожелательность (benevolence), а также мобильность (mobility), хотя последнее характерно не только для интеллектуальных агентов.
、В зависимости от концепции, выбранной для организации МАС, обычно выделяются три базовых класса архитектур [Wray et al., 1994; Wooldridge et. al., 1995; Nwana, 1996]:*
архитектуры, которые базируются на принципах и методах работы со знаниями (deliberative agent architectures);
архитектуры, основанные на поведенческих моделях типа «стимул-реакция» (reactive agent architectures);
гибридные архитектуры (hybrid architectures).
Наиболее «трудными» терминологически в этой триаде являются архитектуры первого типа. Прямая калька — делиберативные архитектуры — неудобна для русскоязычного произношения и не имеет нужной семантической окраски для русскоязычного читателя. Сам термин был введен в работе [Genesereth et al.( 1987] при обсуждении архитектур агентов.
Архитектуру или агентов, которые используют только точное представление картины мира в символьной форме, а решения при этом (например, о действиях) принимаются на основе формальных рассуждений и использования методов сравнения по образцу, принято определять как делиберативные.
Таким образом, в данном случае мы имеем дело с «разумными» агентами и архитектурами, имеющими в качестве основы проектирования и реализации модели, методы и средства искусственного интеллекта. В работе [Тарасов, 1998] таких агентов предлагается называть когнитивными, что не вполне правильно, так как при этом неявно предполагается, что «рассуждающие» агенты познают мир, в котором они функционируют. Нам представляется, что для русского языка более
удобным и адекватным были бы термины «агент, базирующийся на знаниях» или «интеллектуальный агент», а также «архитектура интеллектуальных агентов». Именно этих терминов мы и будем придерживаться в данном издании. Первоначально идея интеллектуальных агентов связывалась практически полностью с классической логической парадигмой ИИ. Однако по мере развития исследований в этой области стало ясно, что такие «ментальные» свойства агентов, как, например, убеждения, желания, намерения, обязательства по отношению к другим агентам и т. п., невыразимы в терминах исчисления предикатов первого порядка. Поэтому для представления знаний агентов в рамках данной архитектуры были использованы специальные расширения соответствующих логических исчислений [Поспелов, 1998], а также разработаны новые архитектуры, в частности архитектуры типа BDI (Belief-Desire-Intention). Один из конкретных примеров архитектуры этого класса обсуждается ниже.
Принципы реактивной архитектуры возникли как альтернативный подход к архитектуре интеллектуальных агентов. Идея реактивных агентов впервые возникла в работах Брукса, выдвинувшего тезис, что интеллектуальное поведение может быть реализовано без символьного представления знаний, принятого в классическом ИИ [Brooks, 1991]. Таким образом [Connah, 1994]:
Реактивными называются агенты и архитектуры, где нет эксплицитно представленной модели мира, а функционирование отдельных агентов и всей системы осуществляется по правилам типа ситуация—действие. При этом под ситуацией понимается потенциально сложная комбинация внутренних и внешних состояний.
Вообще говоря, данный подход ведет свое начало с работ по планированию поведения роботов, которые активно велись в ИИ в 70-х годах. Простым примером реализации реактивных архитектур в этом контексте можно считать системы, где реакции агентов на внешние события генерируются соответствующими конечными автоматами. Широко известным примером системы с реактивной архитектурой является планирующая система STRIPS [Fikes et al., 1971], где использовался логический подход, расширенный за счет ассоциированных с действиями предусловий и пост-условий. Позже в рамках реактивных архитектур были разработаны и другие системы, но, как правило, они не могли справиться с задачами реального уровня сложности.
Учитывая вышесказанное, многие исследователи считают, что ни первый, ни второй подходы не дают оптимального результата при разработке агентов и МАС [Wray et al., 1994]. Поэтому попытки их объединения предпринимаются постоянно и уже привели к появлению разнообразных гибридных архитектур. По сути дела, именно гибридные архитектуры и используются в настоящее время во всех, сколько-нибудь значимых проектах и системах.
Мы рассмотрели основные подходы к разработке мультиагентных систем. Архи- тектуры МАС и их характеристики, широко используемые в настоящее время, представлены в табл. 9.2.
Таблица 9.2. Архитектуры МАС и их характеристики
Архитектура
Представление знаний
Модель мира
Решатель
Интеллектуальная
Символьное
Исчисление
Логический
Реактивная
Автоматное
Граф
Автомат
Гибридная
Смешанное
Гибридная
Машина вывода
Организация МАС на принципах ИИ имеет преимущества с точки зрения удобства использования методов и средств символьного представления знаний, разработанных в рамках искусственного интеллекта. Но в то же время создание точной и полной модели представления мира, процессов и механизмов рассуждения в нем представляют здесь существенные трудности, уже неоднократно обсуждавшиеся в данной книге в связи с рассмотрением вопросов приобретения знаний. Реактивный подход позволяет наилучшим образом использовать множество достаточно простых образцов поведения для реакции агента на определенные стимулы для конкретной предметной области. Однако применение этого подхода ограничивается необходимостью полного ситуативногр анализа всех возможных активностей агентов.
Недостатки гибридных архитектур связаны с «непринципиальным» проектированием МАС. со всеми вытекающими отсюда последствиями. Так, например, многие гибридные архитектуры слишком специфичны для приложений, под которые они разрабатываются. Но несмотря на указанные недостатки, гибридные архитектуры позволяют гибко комбинировать возможности всех подходов. Вот почему в последнее время явно прослеживается тенденция разработки и использования именно гибридных МАС-архитектур и систем агентов [Sloman, 1996].
Проектирование и реализация агентов и мультиагентных систем
Общие вопросы проектирования агентов и МАС
Идеи программных агентов вообще и интеллектуальных агентов, в частности, привлекательны, так как позволяют людям делегировать им свои полномочия по решению сложных задач. Однако разработка МАС и действительно интеллектуальных агентов требует специальных знаний и является сложной ресурсоемкой задачей. Ведь программные агенты — новый класс систем программного обеспечения (ПО), которое действует от лица пользователя. Они являются мощной абстракцией для «визуализации» и структурирования сложного. Но если процедуры, функции, методы и классы — известные абстракции, которые разработчики ПО используют ежедневно, то программные агенты — это принципиально новая парадигма, неизвестная большинству из них даже сегодня.
Вместе с тем развитие и внедрение программных агентов было бы, по-видимому, невозможно без предыдущего опыта разработки и практического освоения концепции открытых систем [Орлик, 1997], которые характеризуются свойствами:
расширяемости/масштабируемости (возможность изменения набора составляющих системы);
мобильности/переносимости (простота переноса программной системы на разные аппаратно-программные платформы);
интероперабельности (способность к взаимодействию с другими системами);
дружелюбности к пользователю/легкой управляемости.
Одним из результатов внедрения концепции открытых систем в практику стало распространение архитектуры «клиент—сервер» [Орлик, 1997]. В настоящее время выделяются следующие модели клиент-серверного взаимодействия:
«Толстый клиент — тонкий сервер». Наиболее часто встречающийся вариант реализации архитектуры клиент—сервер. Серверная часть реализует только доступ к ресурсам, а основная часть приложения находится на клиенте.
«Тонкий клиент — толстый сервер». Модель, активно используемая в связи с распространением Интернет-технологий и, в первую очередь, Web-броузеров. В этом случае клиентское приложение обеспечивает реализацию интерфейса, а сервер объединяет остальные части приложений.
При создании МАС могут с успехом использоваться обе модели, хотя в настоящее время чаще применяется вторая. Но независимо от используемой модели средства разработки и исполнения распределенных приложений, которыми, как правило, являются МАС, опираются на статический подход (позволяют передавать только данные приложений) или динамический подход (обеспечивают возможности передачи исполняемого кода).
При динамическом подходе МАС-приложения используют парадигму мобильных агентов.।
Мобильные агенты — это программы, которые могут перемещаться по сети, например по WWW. Они покидают клиентский компьютер и перемещаются на удаленный сервер для выполнения своих действий, после чего возвращаются обратно.
Часть исследователей считают, что мобильные агенты обеспечивают более прогрессивный метод работы в сетевых приложениях. Другие авторы отмечают, что мобильные агенты привносят опасность с точки зрения обеспечения секретности информации и загруженности сети [Chess et. al. 1995].
Понятно, что одни и те же функциональные возможности в большинстве случаев могут быть реализованы как посредством мобильных, так и статических агентов. Использование мобильных агентов может быть целесообразным, если они:
уменьшают время и стоимость передачи данных (например, при больших объемах данных вместо передачи всей необработанной информации по сети на хост-источник посылается агент, который выбирает только необходимую информацию и передает ее пользователю);
позволяют преодолеть ограничение локальных ресурсов (например, если возможности процессора и объем памяти клиентского компьютера малы, то, может быть, целесообразнее использование мобильных агентов, выполняющих вычисления на сервере);
облетают координацию (например, запросы к удаленным серверам выполняются мобильными агентами как отдельные задачи, а потому не нуждаются в координации);
позволяют выполнять асинхронные вычисления (например, запустив агента, можно переключиться на другое приложение и даже отсоединиться от сети, а результат будет доставлен агентом адресату после выполнения задания).
Мобильные агенты являются перспективными для МАС, но в настоящее время нет единых стандартов их разработки и все еще остается нерешенным ряд проблем, таких как легальные способы перемещения агентов по сети, верификация агентов (в частности, защита от передаваемых по сети вирусов), соблюдение агентами прав частной собственности и сохранение конфиденциальности информации, которой они обладают, перенаселение сети агентами, а также совместимость кода агента и программно-аппаратных средств сетевой машины, где он исполняется [Wayner, 1995].
В настоящее время наиболее известными технологиями реализации статических и динамических распределенных приложений являются программирование сокетов, вызов удаленных процедур — RPC (Remote Procedure Call), DCOM (Microsoft Distributed Component Object Model), Java RMI (Java Remote Method Invocation) и CORBA (Common Object Request Broker Architecture) [Maurer et al., 1998]. Вместе с тем с точк1Гзрения разработки и реализации МАС наиболее важными, по-видимому, являются последние три — DCOM, Java RMI и CORBA [Gopalan, 1999].
Модель Microsoft DCOM является объектной моделью, которая поддерживается Windows 95, Windows NT, Sun Solaris, Digital UNIX, IBM MVS и др. Основная ее ценность — в предоставлении возможностей интеграции приложений, реализованных в разных системах программирования.
Java RMI-приложения обычно состоят из клиента и сервера. При этом на сервере создаются некоторые объекты, которые можно передавать по сети, либо методы их определяются как доступные для вызова удаленными приложениями, а на клиенте реализуются приложения, пользующиеся удаленными объектами. Отличительной чертой RMI является возможность передачи в сети не только методов, но и самих объектов, что обеспечивает в конечном счете реализацию мобильных агентов.
CORBA является частью ОМА (Object Management Architecture), разработанной для стандартизации архитектуры и интерфейсов взаимодействия объектно-ориентированных приложений. Интерфейсы между CORBA-объектами определяются через специальный язык IDL (Interface Definition Language), который является языком описания интерфейсов. Сами интерфейсы могут при этом быть реализованы на любых других языках программирования и присоединены к
CORBA-приложениям. В рамках стандартов предполагается, что CORBA-объекты могут коммуницировать с DCOM-объектами через специальные CORBA- DCOM мосты (Bridges).
Технологии Java RMI и CORBA являются, по-видимому, на сегодняшний день самыми гибкими и эффективными средствами реализации распределенных приложений [Gopalan, 1999]. Эти технологии очень близки по своим характеристикам. Основным преимуществом CORBA является интерфейс IDL, унифицирующий средства коммуникации между приложениями и интероперабельность с другими приложениями. С другой стороны, Java RMI является более гибким и мощным средством создания распределенных приложений на платформе Java, включая возможность реализации мобильных приложений.
В настоящее время еще не вполне ясно, какая из этих концепций «победит» в борьбе за мультиагентные системы. Вмешаться в этот процесс может и модель DCOM, активно «продвигаемая» компанией Microsoft. Но анализ существующих реализаций МАС показывает, что пока более распространенным здесь является подход Java RMI.
Выше кратко обсуждались вопросы стратегии программного обеспечения распределенных приложений. Если же вернуться к проблематике МАС, то все программные средства для их разработки и реализации на современном этапе можно разделить на два больших класса: МАС-библиотеки и МАС-среды. Впечатляющий список сайтов, где представлена информация о том и другом программном обеспечении, как из коммерческих, так и из исследовательских организаций, представлен в Интернет по адресу http://www.reticular.com/.
Оставляя в стороне вопросы проектирования и реализации МАС-библиотек, которые, конечно, являются базисом для создания мультиагентных приложений, но выходят за рамки данного издания, в оставшейся части настоящего параграфа мы сосредоточимся на обсуждении инструментария для построения МАС. При этом нас будут интересовать, в первую очередь, модели, методы и средства поддержки процессов проектирования агентов и мультиагентных систем.
Одним из удачных примеров систем данного класса является, на наш взгляд, инструментарий AgentBuilder компании Reticular Systems, Inc. [AgentBuilder, 1999]— одного из лидеров в этой области, к обсуждению которого мы и переходим.
Инструментарий AgentBuilder
Инструментарий для построения МАС компании Reticular Systems, Inc. состоит из двух компонентов: средств разработки (development tools) и окружения периода исполнения (run-time execution environment). Первый компонент ориентирован на поддержку процессов анализа предметной области создаваемой МАС и проектирование агентов с заданным поведением. Второй — обеспечивает эффективную среду для выполнения агентно-ориентированных программ. И тот и дру・ гой компоненты реализованы на языке Java, что позволяет им работать на всех платформах, где установлена Java-среда. Агентные программы, проектируемые в рамках AgentBuilder, тоже являются Java-программами и могут исполняться на любом компьютере, где установлена виртуальная Java-машина JVM (Java virtual machine).
Общая схема Процесса проектирования и реализации агентно-ориентированных приложений на основе AgentBuilder ToolKit представлена на рис. 9.1.
Этот инструментарий имеет средства для организации и предметной области создаваемой МАС, средства спецификации архитектуры агенства и поведения агентов, а также средства отладки агентных приложений и наблюдения за поведением созданных агентов.
Модель «жизненного цикла» агентов, разрабатываемых в рамках AgentBuilder, представлена на рис. 9.2. Как следует из данной схемы, стандартный «жизненный цикл» агента включает следующие основные шаги:
обработка новых сообщений;
определение, какие правила поведения применимы в текущей ситуации;
выполнение действий, специфицированных этими правилами;
обновление ментальной модели в соответствии с заданными правилами;
планирование.
Собственно ментальные модели (начальная и текущая) включают описания исходных (текущих) намерений, полаганий, обязательств и возможностей, а также спецификации правил поведения.
Рис. 9.1. Технологическая схема процесса разработки агентно-ориентированных приложений на базе AgentBuilder ToolKit
Данная модель получила название Reticular Agent Mental Model (RAMM) и является развитием модели Шохама (Shoham) [Shoham, 1993], где все действия выполняются только как результат определенных обязательств. В рамках RAMM эта идея расширена до уровня общих правил поведения, которые определяют причину действия агента в каждой точке его функционирования. При этом правила поведения фиксируют множество возможных «откликов» агента на текущее состояние среды так, как это предписывается полаганиями.
Для спецификации поведения агентов в системе AgentBuilder используется специальный объектно-ориентированный язык RADL (Reticular.Agent Definition Language). Правила поведения в этом языке могут рассматриваться как конструкции вида WHEN-IF-THEN. /
WHEN-часть правила адресована новым событиям, возникающим в окружении агента и включает новые сообщения, полученные от других агентов.
IF-часть сравнивает текущую ментальную модель с условиями применимости правила. Образцы в IF-части работают на намерениях, полаганиях, обязательствах и возможностях, определенных в ментальной модели.
Рис. 9.2. Модель «жизненного цикла» агента в системе AgentBuilder
THEN-часть определяет действия в ответ на текущие события и состояния ментальной модели и внешнего окружения. Они могут включать обновление ментальной модели, коммуникативные и внутренние действия.
Общий формат правил поведения следующий:
NAME имя правила
WHENMessage Condition(s)
IF Mental Condition(s)
THENPrivate Action(s); Mental Change(s); Message Action(s)
Для иллюстрации возможностей этого языка рассмотрим пример правила «Дви- жение-Вперед-На-Зеленый-Свет» из предметной области «Управление автомобилем», взятый из руководства пользователя [AgentBuilder, 1999].
NAME "Greenlight Move Forward Rule"
WHEN
?KQMLMessage.Performative EQUALS TELL -
?KQMLMessage. Sender EQUALS stoplight-agent**
?KQMLMessage.Content EQUALS String ,
?KQMLMessage. Ontology EQUALS ■'Stoplight"
IF
?KQMLMessage.Content EQUALS "stoplight-green"
?KQMLMessage.Status EQUALS "stoppedAtRedLight" currentMotion.Content EQUALS "stoplight-green" currentLocation EQUALS nextintersection
NOT(currentLocatior)EQUALS destination)
FOR/LL (?BlockedIntersection,'
NOT(?BlockedIntersection.Location EQUALS currentLocation))
THEN
DO (Go(trafficSpeed))
DO ($nextlntersection =
getNextlntersection (currentLocation,
currentMotion.Direction))
ASSERT (SET_VALUE_OF currentMotion.Status TO moving)
ASSERT (SET_VALUE_OF nextintersection TO $nextlntersection)
SEND (performative = REPLY, receiver = "stoplight-agent", content = "acknowledged", in-reply-to = ?KQMLMessage.Reply-with)
Как следует из данного примера, в языке RADL активно используются образцы, имеются достаточно развитые средства работы с переменными и представительный набор действий, включающий формирование перформативов языка KQML [Labrou et al., 1997]. Структуры данных, на которых «работает» данный язык, являются, по существу, фреймами, а сами правила — суть продукции специального вида. Язык поддержан на инструментальном уровне системой специальных языково-ориентированных редакторов.
Спецификация поведения агентов и их ментальных моделей составляет специальный файл (agent definition file), который используется совместно с классами и методами из библиотеки действий агентов и библиотеки интерфейсов. Этот файл интерпретируется в рамках компонента Reticulafs Run-Time Agent Engine, являющегося частью окружения периода исполнения AgentBuilder.
Оценивая подход к спецификации моделей поведения агентов, используемый в AgentBuilder, можно констатировать, что в целом это серьезная система представления и манипулирования знаниями, ориентированная на описание моделей типа RAMM. Вместе с тем в данной модели отсутствуют средства эксплицитного управления выводом, которые могли бы существенно увеличить функциональную мощность языка. Нет в модели и средств явной фиксации состояния агента, отличных от флагов и/или значений переменных. Не вполне ясно и то, как в спецификации моделей поведения могут быть учтены разные, но одновременно сосуществующие «линии поведения», что характерно для действительно интеллектуальных агентов. Не вполне обоснованным представляется и использование режима интерпретации для реализации поведения агентов.
Но в целом можно еще раз отметить, что инструментарий AgentBuilder является современным и мощным средством проектирования и реализации МАС.
Система Bee-gent
Инструментарий AgentBuilder, обсуждавшийся выше, базируется на концепции среды разработки, принятой в технологии программирования. Отличный от этого подход применяется в системе Bee-gent [Bee-gent, 1999]. Здесь для проектирования и реализации МАС используется специальная МАС-библиотека, реализованная на языке Java, а собственно технология, на наш взгляд, представлена методологией спецификации поведения агентов распределенной системы. При этом в систтеме Bee-gent используется множество базовых агентов (generic agents), среди которых можно выделить упаковщики (agent wrappers) и медиаторы (mediation agents).
Поведение всей системы, направленное на достижение определенных целей, базируется на спецификации «бесед» (message exchanges) через протоколы взаимодействия (interaction protocols). ,
Такие протоколы представляются специальными графами (рис. 9.3), основными понятиями которых являются состояния (states) и переходы (transitions). При этом переходы, по сути дела, лишь специфицируют смещение «фокуса» в следующее состояние с помощью специальных правил перехода, а ядро формализма составляют состояния. Именно здесь проверяются предусловия перемещения в следующее состояние и в случае их удовлетворения выполняются действия, в основе которых обмен XML/ACL сообщениями. Возможны правила, результатом выполнения которых является выбор следующего состояния из множества подходящих.
Как и обычно в таких случаях, в качестве базиса сообщений декларируется использование теории речевых актов [Austin, 1965; Searle, 1985]. Однако в случае Bee-gent для этого используется специальный язык ACL, разработанный на основе KQML [Labrou et al„ 1997]. Интересно здесь то, что логическая структура ACL- выражений представляется в формализме XML [XML, 1998]. Поэтому язык описания поведения агентов в Bee-gent называется XML/ACL. Основное отличие его от, например, языка RADL в том, что в XML/ACL введены перформативы представления намерений (intentions), а также средства спецификации потоков раз-
вертывания беседы (conversation flows). Вместе с тем в языке спецификации поведения агентов системы Bee-gent нет правил, определяющих, в каких случаях какие перформативы должны использоваться. И, следовательно, нет типовых сценариев диалогов. Пример перформатива в формализме XML/ACL приведен ниже:
<!DOCTYPE request SYSTEM "request.dtd">
<request>
<sender>Mediation Agent</sender>
<receiver>Agent Wrapper</receiver>
<content>
<action>actK/action>
<actor>Agent Wrapper</actor>
<args>null</args>
</content>
<protocol>Request-inform</protocol>
<reply-with>MSG-ID:1</reply-with>
<ontology>default</ontology>
</request>
Рис. 9.3. Общая структура протоколов взаимодействия в системе Bee-gent
Как следует из данного примера, для спецификации перформативов используется система специальных тегов, что хорошо коррелирует с предложениями FIPA по созданию языка SKDL (Structured Knowledge Description Language) [SKDL, 1998]. Вместе с тем реализация поведения агентов лежит на специально访 системе Java-классов и практически никак йе связана с внешним представлением перформативов в языке XML/ACL.
Для иллюстрации подхода Bee-gent к описанию поведения агентов рассмотрим модельную задачу брокера [Bee-gent, 1999], обслуживающего потенциального покупателя, который находит продавца определенного товара, обсуждает с ним цены и информирует покупателя о возможных вариантах покупки.
Контрактная сеть верхнего уровня для данно访 задачи представлена на рис. 9.4.
Рис. 9.4. Контрактная сеть верхнего уровня для задачи брокера
С точки зрения системы представления знаний AgentBuilder, она наиболее близка к спецификации агентства (Agency). Однако в данном случае, по нашему мнению, в контрактной сети Bee-gent более детально специфицируются не только типы взаимоде访стви光 между агентами в агентстве, но и их реализация.
Собственно спецификацию поведения агентов в системе Bee-gent можно проиллюстрировать на примере протокола взаимодействия для продавца, показанного на рис. 9.5
Такая спецификация достаточно прозрачна и в дополнительных комментариях не нуждается. Поэтому, на наш взгляд, интереснее рассмотреть, как реализуется поведение агента в формализме системы Bee-gent.
Рис. 9.5. Граф протокола взаимодействия для поведения продавца
Собственно инициация агента здесь осуществляется стандарным для Java-приложений образом:
import com.toshiba.beegent. *;
import com.toshiba.beegent. xml. *;
import com.toshiba.beegent. util.
public class AW2 extends AgentWrapper {
public static void main (String]] argv) throws Exception {
AW2 aw = new AW2();
aw.setName ("bidder");
aw.printLog (true);
aw. setPassword ("kawamura");
aw.addPublicIPStates ();
aw.startIP ();
}-
Каждое состояние в протоколе взаимодействия является экземпляром класса AwrIPState, фрагмент описания которого приведен ниже.
class AwrIPStatel extends AwrIPState {
AwrIPStateSI () { super ("INIT"); }
public void action () {
XmlAcl xa = null;
while ( waitXML (0) ){
xa = getXML ();
pe,rf 二 xa.getTag2Value ("performative");
sender = xa.getTag2\/alue ("sender");
action = xa.getTag2Value ("action"); if (perf.equals ("cfp")) break;
// Send XML/ACL
int rand 二 new Random (System.cuгrentTimeMillis()). nextlnt ();
int dice = Math.abs (rand) % 3;
switch (dice) {
case 0: // generate Refuse performative setPostcond ("INIT");
break;
default:
setPostcond ("INIT");
return;
}
if ( !sendXML (xa))
Debug. printLog (getMyname (), "Failed to send XML/ACL");.
} }
Наиболее интересны и важны здесь «петля» ожидания сообщены访 и оператор switch, в теле которого собственно и специфицируется поведение как последовательность деветви访,направленных в данном случае на формирование соответствующего перформатива.
Анализ этого фрагмента и других примеров реализации поведения агентов в системе Bee-gent позволяет сделать следующие выводы. Агентная библиотека фирмы Toshiba является достаточно развитой и отвечает основным требованиям к компонентам программного обеспечения данного класса. Перформативы XML/ ACL более высокого, по сравнению с KQML, уровня. Для спецификации протоколов взаимодействия предлагается использовать язык программирования, а не представления знаний. На уровне технологии имеется достаточно четкая структура представления поведения агентов. Учитывая то, что языком реализации поведения в данном случае является Java, система Bee-gent ориентирована на компиляцию программ, а не интерпретацию спецификаций, как это происходит в случае системы AgentBuilder.
Выше мы обсудили два подхода к разработке и реализации МАС, которые отражают разные концы спектра инструментов, используемых в этой области.
Суммируя все вышесказанное, можно отметить, что в настоящее время в работах по созданию инструментария явно фиксируется тенденция использования методов и средств ИИ, ориентированных на поддержку процессов проектирования программных агентов и МАС в целом.
При этом задача построения технологий нового поколения для создания МАС может быть решена на основе совместного использования опыта разработчиков МАС и методологий обработки знаний, заимствованных из ИИ [Guarino et al., 1995Ь]. Для этого прежде всего необходимо адаптировать методы и средства проектирования и реализации прикладных интеллектуальных систем в новую проблемную область: разработку мультиагентных систем нового поколения.
Очевидно, что спецификация процесса разработки МАС на основе методов проектирования баз знаний в такой технологии предполагает:
эксплицитное представление в БЗ архитектуры проектируемо访 МАС;
явную спецификацию архитектуры отдельных типов агентов, «задействованных» в рамках проектируемой МАС;
описание в виде специальных баз знаний модели (схемы) всех знаний, необходимых каждому агенту для реализации поставленных перед ним цели访;
анализ используемых в настоящее время при реализации МАС систем классов и соответствующих программных библиотек с целью явной спецификации соответствия между элементами архитектуры проектируемой МАС и ее компонентами и программными единицами, реализующими их;
формальную спецификацию (на уровне соответствующей системы представления и манипулирования знаниями) специальной машины вывода (решателя), целью которо访 является переход от спецификации МАС к ее реализации.
Учитывая вышесказанное, можно констатировать, что процесс разработки МАС при этом хорошо коррелирует с соответствующим процессом создания сложных программных систем, но отличается дополнительными фазами, связанными с наличием независимых компонентов (агентов), взаимодействующих с пользователем и друг с другом.
По существу, при таком подходе мы получаем специализированную экспертную систему, предметной областью которой является автоматизация проектирования и реализации определенного класса мультиагентных систем. Создание такой методологии разработки МАС обсуждается, например, в работе [Iglesias et. all, 1996], где приводится, в частности, спецификация процесса разработки МАС на базе CommonKADS.
Информационный поиск в среде Интернет
По-видимому, не будет большим преувеличением утверждение о том, что конец XX века — это время новых информационных технологий, «живущих» в гло-
бальных и локальных сетях, наиболее яркими представителями которых являются Интернет и интранет. В настоящее время уже ни у кого нет сомнени访 в том, что Интернет является de facto всемирным хранилищем информации практически по всем аспектам жизни человечества. Так же как и то, что зффективнн访 доступ к этой информации в связи с экспоненциальным ростом объема Интер- нет-ресурсов становится все более сложным и трудоемким [Cowie et al., 1996]. И не столько с технической точки зрения, сколько с точки зрения поиска и анализа информации.
С другой стороны, как уже отмечалось в предыдущем параграфе, валсне访шими из областей практического использования агентных технологи访 являются сбор информации, ее фильтрация и использование для принятия решены访.
Учитывая вышесказанное, цель данного параграфа в обсуждении проблем представления и обработки информации в сети Интернет на основе использования парадигмы многоагентных систем, а также обзор уже существующих в зто访 области приложений.
Авторы отдают себе отчет, что при этом за рамками такого обсуждения остаются многие важные применения агентных технологи访,но вынуждены ограничиться данно访 тематикой в силу ограничени访 на объем данного издания и время его подготовки.
/
Машины поиска
Пространство WWW уже сегодня содержит огромное количество HTML-документов, причем не только тексты, но и графику, видео, звук и т. д. Гипертекстовые связи между Web-документами и/или их частями отражают отношения между отдельными информационными фрагментами, представленными в сети. Броузеры, поддерживающие HTML-стандарты, обеспечивают представление материалов пользователям и навигацию по ссылкам для доступа к документам, распределенным по сети. Однако поиск информации в настоящее время поддержан существенно слабее и в большинстве случаев базируется на использовании ключевых слов и ограниченного числа типов машин поиска.
Машины поиска, по-видимому, являются в Интернете самым распространенным и доступным ресурсом для извлечения информации. При этом, как правило, используются два типа сетевых роботов: спайдеры (spiders) и индексы (indexes). Спайдеры, иногда называемые также ботами (bots, от робот-robots), перемещаются по Web от сайта к са访ту. Некоторые из них перемещаются от сервера к серверу беспорядочно, другие используют приоритеты, такие, например, как посещаемость сайта. Оказавшись на сайте, спайдер посылает отчет поисково访 машине и продолжает индексирование. Индексы используются для ускорения поиска и сбора информации. Некоторые поисковые механизмы индексируют содержание страниц полностью, другие — только отдельные их части, такие, например, как заголовки документов.
Основными характеристиками машин поиска являются язык запросов пользователя, представление исходных и выходных документов, время индексации и пр-
иска, объем индекса. Существенной характеристикой машин поиска является также качество представления результатов. Наиболее популярные поисковые машины в настоящее время — AltaVista (http://www.altavista.com и/или http: //altavista.ru), Exite (http://www.excite.com), Infoseek (http://www.infoseek. com), Lycos (http://www.iycos.com), WebCrawler (http://www.webcrawler. com), Yahoo! (http://www.yahoo.com) и некоторые другие. Примером полнотекстовой системы поиска с учетом морфологии русского языка является система Яndex (http://www.yandex.ru). Сравнительны访 анализ достоинств ii/недо- статков машин поиска можно на访ти в работе [CompTek, 2000а], а русскоязычных машин поиска — в работе [CompTek, 2000Ь].
Как правило, поисковые машины обеспечивают интерфейс типа меню, с помощью которого пользователь может скомпоновать запрос на поиск информации, используя ключевые слова и/или фразы и логические связки И-ИЛИ-НЕ. Большинство машин поиска находят огромное количество «релевантных» страниц по запросу пользователя. Калсдм访 на访денн垃访 документ обычно ранжируется по степени его корреляции с запросом. Релевантность каждого документа оценивается с помощью различных технологи访,например учета частоты появления на' странице искомых слов. Некоторые поисковые механизмы используют дополнительно другие факторы, такие как частота посещения страницы и/или близость расположения друг к другу искомых терминов.
Типичную организацию машин поиска можно рассмотреть на примере системы WebCrawler (рис. 9.6), разработанной в университете Вашингтон (Сиэтл, США).
Рис. 9.6. Общая архитектура системы WebCrawler
WebCrawler начинает процесс поиска новых сайтов с известных ему документов и переходит по ссылкам на другие страницы. Он рассматривает сетевое пространство как ориентированна访 граф и использует алгоритм обхода графа, работая в следующем цикле [Cheong, 1996]:
на访ти нови访 документ;
отметить документ как извлеченный;
расшифровать ссылки с этого документа;
проиндексировать содержание документа.
Поисковый механизм работает в двух режимах: поиск документов в реальном времени и индексирование документов.
Этим сервисом определяется, какие документы и какие типы документов нужно найти и извлечь из сети. Звуковые файлы, картинки, двоичные фа访лм и т. п.— не извлекаются. Ошибочно извлеченные файлы будут проигнорированы на стадии индексирования. В режиме индексирования система строит индекс информации из найденных документов, в режиме поиска — находит документы, максимально соответствующие запросу пользователя.
Агенты в системе WebCrawler отвечают за извлечение документов из сети. Для выполнения этой работы поисковьш механизм находит свободного агента и передает ему задание на поиск. Агент приступает к работе и возвращает либо содержание документа, либо объяснение, почему данны访 документ нельзя доставить. Агенты запускаются как отдельные процессы, что позволяет изолировать основной процесс работы системы от ошибок и проблем с памятью. Одновременно используется до 15 агентов.
В базе данных хранятся метаданные документов, связи между документами, пол- нотекстовьг访 индекс, другая служебная информация. База обновляется каждм访 раз, когда поступает нови访 документ. Для отсечения семантически незначимых слов используется стоп-словарь, словам из документа приписывается вес, равный частоте их появления в данном тексте, деленной на частоту появления слова в ссылках на другие документы. Такой индекс позволяет быстро находить по заданному слову ссылки на документы его содержащие. Целиком URL (ссылки на документы в сети) не запоминаются. Вместо этого вся нужная информация помещается в специальные объекты. Каждой объект запоминается в отдельном В- дереве: документы — в одном, серверы — в другом, а ссылки — в третьем. Такое разделение данных позволяет быстро определить неиспользуемые или часто используемые серверы.
Аналогичным образом устроены и другие машины поиска. Характеризуя их в целом, можно отметить, что это глобальные поисковые механизмы, охватывающие до 90 % ресурсов Интернета. Они не могут настраиваться на предпочтения пользователя и не имеют средств анализа информации, а их сетевым роботам становится все труднее справляться с постоянным ростом ресурсов Интернета. Главной задачей машин поиска, по сути, является индексация ресурсов глобально访 сети, а также поддержка и расширение соответствующих баз данных. Фактически в базах данных машин поиска хранится информация о том, где и что лежит в сети. Поэтому можно считать, что существующие машины поиска обеспечивают низкоуровневый сервис для клиентских поисковых программ более высокого уровня.
Неспециализированные и специализированные поисковые агенты
Первым уровнем надстройки над поисковыми машинами являются, по-видимо- му, неспециализированные поисковые агенты. По сути дела, эти компоненты имеются в настоящее время практически у всех машин поиска. Такие агенты, в
первую очередь, обеспечивают поиск по ключевым словам и усто访чивим словосочетаниям [Delgado, 2000]. Кроме поиска они поддерживают различные и многочисленные сервисы, такие, например, как передача запроса пользователя сразу на множество машин поиска, настройка на личные предпочтения пользователя, формирование тематической базы данных на основе результатов поиска пользователя, а некоторые — и обучение агентов. Не менее важно и то, что такие системы агентов объединяют ссылки на сайты, найденные множеством машин поиска, исключая повторные и неработающие ссылки. Но ни одна из систем данного класса не в состоянии самостоятельно отобрать полезную информацию и оставляет это пользователю. Конечно, используя такие программы, можно уменьшить число результирующих документов, доставляемых обычными машинами поиска. Но степень «попадания ответа в запрос» практически та же, что и у машин поиска. Важно и то, что неспециализированные агенты опыта по поиску в опре- деленно访 предметно访 области не накапливают. А обучение, если вообще допускается, занимает много времени.
Специализированные агенты поиска, как следует уже из их названия, приспособлены искать информацию, например, только про музыку, или только про книги, или только про котировки акций и т. д. Большинство таких агентов устроено жестко. Они《умеют» очень хорошо работать на определенных са访тах с фиксированным форматом данных. При этом даже адреса этих са访тов могут быть «зашиты» в агента, например сайты с котировками акций на биржах мира.
Системы, построенные на базе специализированных агентов, кроме поиска предоставляют пользователям определенный пакет средств для организации и управления найденной информацией. Как правило, такие системы содержат набор агентов, калсдм访 из которых ориентирован на поиск информации только по одной теме. Они могут иметь доступ к сотням ресурсов Интернета, включая специализированные базы данных. Основные специализации агентов в таких системах в настоящее время — новости, конференции и группы по интересам, книги, программное обеспечение, электронные магазины и другая бизнес-информация, часто задаваемые вопросы и некоторые другие. Обычно пользователь здесь может сфЬрмировать запрос к системе, используя естественный язык, а результаты сопровождаются аннотациями содержания найденных документов, списками ключевых слов и некоторой другой дополнительной информацией, облегчающей пользователю выделение интересующих его ресурсов.
В развитых системах этого класса имеются возможности:
сохранения параметров поиска для повторного использования, а часто и полной «истории» запросов пользователя;
параллельного поиска на множестве ресурсов Интернета;
оформления результатов в виде отчетов (HTML-файлов) и сохранения их в базе данных;
слежения за обновлением информационных ресурсов Интернета, в том числе с частотой, задаваемой пользователем.
Недостатки у специализированных агентов те же, что и у неспециализированных, но есть и серьезный плюс — четкое срабатывание на хорошо структурированных данных в известном формате.
Системы интеллектуальных поисковых агентов
Сегодня в развитии систем поиска и обработки Интернет-ресурсов наметился явнн访 сдвиг в сторону использования средств ИИ, в частности представления знани访 и вывода на знаниях, интеллектуальных механизмов обучения, анализа естественно-языковых текстов и некоторых других.
Как правило, системы интеллектуального поиска разрабатываются либо в серьезных фирмах, владеющих технологиями разработки и реализации интеллектуальных агентов, либо в исследовательских лабораториях университетов. Справедливости ради следует заметить, что коммерческие версии таких систем часто декларируют больше, чем реализовано в действительности, а исследовательские разработки обычно существуют в виде демонстрационных версий с ограниченными возможностями, хотя в теоретическом плане последние интереснее.
Для конкретизации дальне访niero изложения остановимся сначала более подробно на нескольких, интересных на наш взгляд, коммерческих системах интеллектуального поиска и обработки информации в сети Интернет, а завершим обсуждение рассмотрением нескольких исследовательских проектов в этой области, использующих онтологии.
Autonomy и Webcompass — системы интеллектуального поиска и обработки информации
Обсуждаемые ниже версии агентных поисковых систем Autonomy [Autonomy, 1998] и Webcompass [Webcompass1( 1999] созданы во второй половине 90-х годов. Цели их разработки практически одинаковые — обеспечить пользователе интегрированными средствами поиска релевантной его интересам информации в сети Интернет, организация на访деннмх документов в рамках определенных тем, а также автоматизация процессов самого поиска. Вместе с тем проектные решения, принятые разработчиками, здесь существенно разные.
Первое различие между этими системами в ориентации на разные категории пользователей.
Система Autonomy представляет собо访 совокупность программных агентов для интеллектуального поиска и обработки информации, организованных в рамках специализированной оболочки, предназначенной скорее для конечных пользователей, чем предметных специалистов. Такая установка влечет за собой специальную организацию интерфе访сов, интуитивно понятную и прозрачную для новичков. По сути, пользователю здесь предлагается парадигма «антропоморфного»
общения со всеми компонентами системы и «игровой» подход к решению достаточно сложных задач (рис. 9.7).
Рис. 9.7. Главная панель системы Autonomy
Система Webcompass архитектурно тоже состоит из агентно-ориентированных компонентов, поддерживающих все основные процессы, которые должны быть реализованы в полномасштабном программном комплексе поиска и анализа информации. Но ориентирована эта система, прежде всего, на «продвинутых» пользователей, которые хотят и могут сформировать структурное описание области своих интересов. Коммуникационный центр Webcompass (рис. 9.8) предлагает пользователю парадигму многооконного интерфейса, характерную для современных офисных приложений, и систему структурных редакторов для спецификации предметной области, поисковых запросов и управляющей информации.
Второе различие между системами Autonomy и Webcompass — в подходе к описанию предметной области поиска.
В первых версиях системы Autonomy использовалась технология нейросетей и специальный метод представления, разработанный для фирмы Agent Ware (так тогда называлась фирма, выпустившая релиз системы Autonomy) коллективом Neurodynamics из Кембриджа. В основе технологии лежат методы распознавания образов и обработки сигналов. При этом системой формируется представление о том, какими должны быть релевантные документы, используемые в дальнейшем на этапе поиска информации.
В системе Webcompass описание предметной области основано на использовании таксономии понятий, связанных между собой отношениями типа is 〃, part d has part, is 〃 kind of и некоторых других. Ограничением такого представления является то, что между понятиями не может быть больше одного' отношения.
♦■ WebCompass - {computational WrmuisUcsJ♦■ WebCompass - {computational WrmuisUcsJ@ e* £*寧и g 沁必田* Л*@ e* £*寧и g 沁必田* Л*里15包屋图/色凶Q4芷f♦闻si里15包屋图/色凶Q4芷f♦闻si* WebC(xr4>ass topes* WebC(xr4>ass topesяя* A qaecifc krrfBXLiisp .■:? ^ A pat Ы «tiiictal int備долее 白,◊ A specific knd H expeil 好stem : 处♦ See also logic programnv>s 屈6 A specific kind it pattern recognition:A specific kind is robcbcc Has part fuzq> set theay 附,.Has part knowledge representation 向 ♦ Ha* part Nural language p > f .!盼 6 $8 &$。natural language 由“б H bs part neural nriwotk .$-^ See aho SIGART* A qaecifc krrfBXLiisp .■:? ^ A pat Ы «tiiictal int備долее 白,◊ A specific knd H expeil 好stem : 处♦ See also logic programnv>s 屈6 A specific kind it pattern recognition:A specific kind is robcbcc Has part fuzq> set theay 附,.Has part knowledge representation 向 ♦ Ha* part Nural language p > f .!盼 6 $8 &$。natural language 由“б H bs part neural nriwotk .$-^ See aho SIGARTthe science d languagethe science d languageфКпдшАмфКпдшАм緻緻Fie;Qiwry Terms:ОеАмШан:Fie;Qiwry Terms:ОеАмШан:computational linguistics computational linguistics, conq)uler linguistics, language dat«procei>ing the application orin^leineniation of linguistic theory by computers General
♦■ WebCompass - {computational WrmuisUcsJ
♦■ WebCompass - {computational WrmuisUcsJ
@ e* £*寧и g 沁必田* Л*
@ e* £*寧и g 沁必田* Л*
里15包屋图/色凶Q
4芷f♦闻si
里15包屋图/色凶Q
4芷f♦闻si
* WebC(xr4>ass topes
* WebC(xr4>ass topes
я
я
* A qaecifc krrfBXLiisp .■:? ^ A pat Ы «tiiictal int備долее 白,◊ A specific knd H expeil 好stem : 处♦ See also logic programnv>s 屈6 A specific kind it pattern recognition
:A specific kind is robcbcc Has part fuzq> set theay 附,.Has part knowledge representation 向 ♦ Ha* part Nural language p > f .
!盼 6 $8 &$。natural language 由“б H bs part neural nriwotk .$-^ See aho SIGART
* A qaecifc krrfBXLiisp .■:? ^ A pat Ы «tiiictal int備долее 白,◊ A specific knd H expeil 好stem : 处♦ See also logic programnv>s 屈6 A specific kind it pattern recognition
:A specific kind is robcbcc Has part fuzq> set theay 附,.Has part knowledge representation 向 ♦ Ha* part Nural language p > f .
!盼 6 $8 &$。natural language 由“б H bs part neural nriwotk .$-^ See aho SIGART
the science d language
the science d language
фКпдшАм
фКпдшАм
緻
緻
Fie;
Qiwry Terms:
ОеАмШан:
Fie;
Qiwry Terms:
ОеАмШан:
Рис. 9.8. Коммуникационный центр системы Webcompass
Третье различие между обсуждаемыми системами состоит в используемых средствах спецификации запросов.
В системе Autonomy запрос на поиск представляется на естественном языке. Система анализирует текст автоматически и извлекает из него смысловое содержание, которое помещается в специальный конфигурационный файл. При этом внутреннее представление запроса тоже представляется нейросетью, в узлах которой располагаются ключевые слова и выражения.
Запрос к системе Webcompass базируется на «прямом» использовании сформированного пользователем описания предметной области. Поскольку здесь такое описание представлено таксономией понятий (ключевые слова и выражения), то для формирования запроса достаточно просто промаркировать интересующие пользователя темы. На основании этих пометок система сама формирует запрос на поиск релевантной информации.
Собственно поиск релевантной информации в системе Autonomy ведется с использованием методов нечеткой логики. В основе поискового алгоритма лежит «Механизм динамических рассуждений» (МДР), разработанный уже упоминавшимся коллективом Neurodynamics. Базовые функции МДР — сравнение концептов (по входному тексту определяются ссылки на документы из заранее составленного списка с наиболее релевантной информацией для поиска); создание агента (формируются концепты из тренировочного текста и из других подходящих источников для использования их агентом); стандартный поиск слов в тексте.
Поиск в системе Webcompass ведется на основе ключевых слов. При этом он осуществляется сразу на 35 машинах поиска, которые задаются списком. Этот список можно изменять, а кроме того, добавить адреса для поиска в интранет, Usenet, FTP и Gopher ресурсах. Система проверяет каждую найденную ссылку на доступность и, анализируя найденную информацию, составляет краткое резюме документов, а также определяет степень соответствия сайта запросу пользователя, ранжируя найденные документы от 1 до 100.
Остальные функциональные возможности рассматриваемых систем скорее сходны, чем различны. Это формирование репозиториев результатов, наличие фонового режима поиска информации и некоторые другие.
Из интересных особенностей системы Autonomy, отсутствующих в системе Webcompass в явном виде, можно отметить режим обучения поисковых агентов.
Оценивая рассмотренные выше системы и класс агентных систем данного типа можно отметить их следующие достоинства:
возможность простой модификации используемых машин поиска;
использование словарей терминов для обработки запросов;
создание кратких аннотаций найденных документов;
'. поддержка настраиваемых баз данных по темам поиска и результатам;
классифицикация результатов поиска по темам, запоминание и автоматическое обновление ссылок на источники;
использование результатов поиска для улучшения его качества в той же области в будущем.‘
Недостатком таких систем является, как правило, слабая обучаемость агентов. Поэтому такие системы являются полезными инструментами при поиске информации в Интернете, но не могут сделать этот поиск полностью автоматическим и эффективным с точки зрения пользователя.
Справедливости ради отметим, что в последнее время фирмы, выпускавшие системы Autonomy и Webcompass, рассмотренные выше, а также многие другие фирмы, работающие на рынке информационных технологий, активно используют последние наработки в этой области, полученные в исследовательских лабораториях и проектах, связанных с проблематикой искусственного интеллекта.
Учитывая вышесказанное, сейчас на авансцену развития агентных технологий вообще и использования их при поиске информации в частности выходят проблемы представления знаний, механизмы вывода новых знаний, описание модели мира, моделирование рассуждений в рамках агентного подхода. По существу, именно эти аспекты и являются ключевыми при создании интеллектуальных систем поиска информации в сети Интернет в разных исследовательских проектах, к обсуждению которых мы и переходим.
Проект системы MARRI
Система MARRI [Villemin, 1999]' разработана для поиска Web-страниц, релевантных запросам в определенной предметной области. Для решения поставленных
задач система использует знания, представленные в виде онтологии, которая в данном случае понимается как множество концептов и связей между ними. Базисное предположение разработчиков состоит в том, что релевантные тексты состоят из значимых для предметной области предложений, содержащих фрагменты, «сопоставимые» с онтологией предметной области. Предполагается, что одни агенты — агенты сети — для предварительного отбора используют стандартные машины поиска, а другие — специализированные агенты — осуществляют поверхностный анализ полученных Web-страниц, затем проверяют их на соответствие так называемому онтологическому тесту и возвращают пользователю лишь те страницы, которые успешно прошли данный тест.
Суть онтологического теста состоит в следующем. Сначала осуществляется морфологический и синтаксический анализ предложений полученного от агентов сети текста и строится его синтаксическое дерево; затем осуществляется определение типа предложения (утвердительное, отрицательное и т. п.) и тип речевого акта, который это предложение отражает. Для дальнейшего анализа выбираются только простые утвердительные предложения со структурой NP VP NP, где NP — именная группа, a VP — глагольная группа. При этом неявно предполагается, что структура знаний о предметной области отражена в структуре предложений, описывающих концепты. Поэтому, если анализируемое предложение действительно описывает некоторый концепт, значимые для предметной области слова уже присутствуют в онтологии.
С учетом всего вышесказанного, онтологический тест выполняется следующим образом:
существительные (или, в общем случае, именные группы) отображаются на концепты онтологии, а глаголы (или, в общем случае, глагольные группы)— на роли;
в глагольной группе выделяется для дальнейшей обработки основной глагол (V). Если он отсутствует в онтологии, тест возвращает «неудачу», иначе:
в левой «верхней» именной группе выделяется базисное существительное (N). Если оно отсутствует в онтологии, тест возвращает «неудачу», иначе:
проверяется ограничение (семантическое отношение) S между N и V. При этом возможны следующие варианты:
N и V действительно связаны отношением S, которое представлено в онтологии;
в онтологии отношением S связаны существительное N' и глагол V', причем N* является подклассом N, а V* — подклассом V;
если же предыдущие два варианта не имеют места, тест возвращает «неудачу»;
аналогичная процедура выполняется и для правой «верхней» именной группы.
Таким образом, онтологический тест в случае успеха поволяет «наложить» анализируемый текст на онтологию предметной области.
Архитектурно система MARRI (рис. 9.9) является сетью специализированных агентов четырех типов: агент пользователя (User Agent), агент-брокер (Broker Agent), агент сети (Connection Agent) и агент обработки текста (Text Processing Agent). Каждый из агентов обладает следующими свойствами:
это автономная Java-программа с собственным сетевым адресом (URL);
он взаимодействует с другими агентами с помощью языка ACL (Agent Communication Language), функционирующего над HTTP-протоколом;
агент является потребителем и поставщиком информации, в зависимости от того, с какими агентами системы он общается;
он может взаимодействовать с автономными программными компонентами — такими как, например, Web-броузеры, анализаторы ЕЯ" или онтологические БД;
агент обладает специальными знаниями и возможностями вывода для определения того, доступна ли нужная Web-страница, содержит ли она текстовую информацию и релевантна ли эта информация определенной предметной области.
Рис. 9.9. Архитектура системы MARRI
Интерфейсный агент (ИА) поддерживает интеллектуальное взаимодействие с пользователем. Он ассистирует при формулировке запросов и представляет результаты поиска в виде списка релевантных URL или Web-страниц. Когда пользователь выбирает интересующую его предметную область, ИА запрашивает соответствующую онтологию из онтологической БД, а также информирует других агентов сети о том, какая онтология будет использоваться.
Задачей агента сети (АС) является подключение к заданной URL Web-странице, ее считывание и анализ. В силу того, что нужная страница может быть недоступна
или неинтересна по содержанию, АС должен «уметь» обрабатывать исключительные ситуации, а также анализировать собственно текст, представленный на считанной странице.
В системе MARRI задействованы два типа агентов-брокеров: брокер URL и брокер HTML. Первые предназначены для «сопровождения» списков Интернет-адресов, поставляемых броузером, а вторые — для запоминания полученных Web- страниц и распределения их между агентами обработки текста (АОТ) для дальнейшего анализа.
Целью функционирования АОТ является семантический анализ Web-страниц для проверки их релевантности на базе соответствующей онтологии. Предварительно эти же агенты преобразуют HTML-текст к определенному структурному представлению, с которым работают морфологический и синтаксический анализаторы. Результат обработки текста представляется в виде синтаксического дерева, которое должно отождествиться с определенным фрагментом используемой онтологии.
С архитектурной точки зрения система MARRI, по сегодняшним меркам, является почти традиционной. Ее отличительная черта — представление агентов автономными Java-программами с собственными сетевыми адресами, что неявно предполагает их мобильность и/или распределенность по сети. Такое решение было бы весьма интересным, если бы не политика контроля за безопасностью сервера, которая не допускает в настоящее время регистрацию и запуск Java-npo- грамм, не сертифицированных на данном сервере.
Прототип системы реализован на языке Java (версия 1.1.3). Для тестирования его разработаны две (очень грубых) онтологии — одна в области электронной коммерции (около 200 элементов), а вторая — в области Интернет-безопасности клиентских приложений (около 450 элементов). Предполагается развитие этих онтологий и интеграция их с соответствующими онтологиями, уже существующими на онтологических серверах.
Прототип системы OntoSeek
Разработка и реализация прототипа системы «содержательного» доступа к WWW-ресурсам OntoSeek — результат 2-летней работы, выполненной в кооперации Corinto (Consorzio di Ricerca Nazionale Tecnologia Oggetti — National Research Consortium for Object Technology) и Ladseb-CNR (National Research Council — Institute of Systems Science and Biomedical Engineering), как части проекта по поиску и повторному использованию программных компонентов [Guarino, et al., 1999].
Система OntoSeek разработана для содержательного извлечения информации из доступных в режиме on-line «желтых» страниц (yellow pages) и каталогов. В рамках системы совместно используются механизмы поиска по содержанию, управляемые соответствующей онтологией (ontology-driven content-matching mechanism), и достаточно мощный формализм представления.
При создании OntoSeek были приняты следующие проектные решения:
использование ограниченного числа ЕЯ-терминов для точного описания ресурсов на фазе кодирования;
полная «терминологическая свобода» в запросах за счет управляемого онтологией семантического отображения их на описания ресурсов;
интерактивное ассистирование пользователю в процессе формулировки запроса, его обобщения и/или конкретизации, а также приняты во внимание:
текущее состояние исследований в области Интернет-архитектур;
необходимость достижения высокой точности и приемлемой эффективности на больших массивах данных;
важность хорошей масштабируемости и портабельности принимаемых решений.
Система работает как с гомогенными, так и с гетерогенными каталогами продуктов. Понятно, что второй вариант сложнее. Поэтому в системе OntoSeek для представления запросов и описания ресурсов используется модификация простых концептуальных графов Дж. Совы [Sowa, 1984], которые обладают существенно более мощными выразительными возможностями и гибкостью по сравнению с обычно используемыми списками типа «атрибут-значение». Для концептуальных графов проблема контекстного отождествления редуцируется до управляемого онтологией поиска в графе. При этом узлы и дуги сопоставимы, если онтология «показывает», что между ними существует заданное отношение, вместе с тем, поскольку система базируется на использовании лингвистической онтологии, узлы концептуального графа должны быть привязаны к соответствующим лексическим единицам, причем для этого должны выполняться определенные семантические ограничения.
На этапе планирования проекта вместо разработки собственной лингвистической онтологии были проанализированы доступные Интернет-ресурсы и выбрана онтология Sensus [Knight et al., 1994], которая обладает простой таксономической структурой, имеет объем около 50 000 узлов, в основном выделенных из тезауруса WordNet [Beckwith et al., 1990], а также доступна для исследователь* ских целей в свободном режиме.
Функциональная структура системы OntoSeek представлена на рис. 9.10.
На фазе кодирования описание ресурсов конвертируется в концептуальный граф. Для этого «поверхностные» узлы и дуги, отмеченные пользователем, с помощью лексического интерфейса трансформируются в смыслы, заданные в словаре. Таким образом, «граф слов» транслируется в «граф смыслов», причем каждому понятию последнего сопоставляется соответствующий узел онтологии. После семантической валидации концептуального графа на основе использования онтологии он запоминается в БД.
Интернет
Рис. 9.10. Функциональная структура системы OntoSeek
Наиболее интересным моментом этапа кодирования ресурсов в системе OntoSeek является формализм представления помеченных концептуальных графов (ПКГ), который базируется на том, что заданы словари существительных и глаголов, а собственно ПКГ определяется как связный ориентированный граф, удовлетворяющий следующим синтаксическим ограничениям:
Дуги могут быть помечены только существительными из словаря (любой граф, содержащий дугу, помеченную транзитивной конструкцией вида [<URLl>man] т [love) т [women], может быть конвертирован в базисный ПКГ вида [<URLl>man] <— (agent) — [love] —> (patient) т [women]).
В общем случае узлы помечаются строками вида concept [dnstAnce], где concept —с уществительное или глагол из словаря, а необязательная ссылка instance — управляющий идентификатор.
Для каждого графа существует в точности один узел, называемый «головой». Этот узел маркируется URL в угловых скобках, идентифицирующим файл описания ресурса, который описывает данный граф, и маркерной строки, представляющей понятие онтологии.
Понятно, что прежде, чем использовать этот граф, должна быть устранена полисемия, что может позволить однозначно отразить существующие метки в поня-
тия онтологии. После выполнения этой процедуры семантическая интерпретация ПКГ происходит следующим образом:
каждый узел, помеченный «словом» Л, представляет класс экземпляров соответствующего концепта. При наличии в описании идентификатора экземпляра узел определяет синглетон, содержащий этот экземпляр. Если Л — глагол, узел фиксирует его номинализацию (например, узел с пометкой «love» определяет класс событий «любить»);
каждая дуга с пометкой С из узла Л в узел В определяет соответствующее непустое отношение;
в целом граф с «головой» Л и URL U определяют класс экземпляров Л, описываемых ресурсом, помеченным U.
Процесс поиска осуществляется следующим образом. Пользователь представляет свой запрос тоже в виде концептуального графа, который после устранения лексической неоднозначности и семантической валидации передается компоненте отождествления, работающей с БД. Здесь ищутся графы, удовлетворяющие запросу и ограничениям, заданным в онтологии, после чего ответ представляется пользователю в виде HTML-отчета.
Семантика графа запроса и процедура его построения аналогичны рассмотренной выше процедуре кодирования ресурсов, но имеет следующие отличия:
на месте URL может быть задана переменная;
переменными может быть помечено произвольное число узлов.
Так, например, запрос вида [<Х> саг] —» (part) —> [radio] вернет множество URL на документы, описывающие автомобили с радиоприемниками в качестве части, а запрос вида [car] —> (part) —> [<Х> radio] — множество URL на документы, описывающие радиоприемник как часть автомобиля. И более того, композиция этих запросов вида [<Х> car] —> (part) —> [<Y> radio] может быть использована для получения документов обоих тидов.
Таким образом, предполагается, что граф запроса Q отождествляется с графом описания ресурса R, если:
Q изоморфен подграфу графа R;
пометки графа R соответствуют пометкам графа 2
«голова» графа R соответствует узлу, помеченному переменной в графе Q. Последнее условие необходимо, если мы хотим «сосредоточиться» на ресурсах, соответствующих запросу в точности.
Реализация системы OntoSeek выполнена в парадигме «клиент-сервер». Архитектурным ядром ее является сервер онтологий, обеспечивающий для приложений интерфейсы доступа и/или манипулирования данными модели онтологии, а также поддержки БД концептуальных графов. Заметим, что последняя может строиться й пополняться не только в интерактивном режиме, но и за счет скомпилированных описаний ПКГ, представленных на языке XML. Компонента БД в системе OntoSeek выделена в отдельный блок, что позволяет легко заменить при необходимости используемую СУБД.
Проект начался зимой 1996 г. — на заре эры языка Java. Поэтому прототип был реализован на языке C++. В настоящее время авторы предполагают провести реинжиниринг системы на основе использования новейших Интернет-технологий.
Таким образом, использование онтологий для интеллектуальной работы с Интер- нет-ресурсами является в настоящее время «горячей» точкой исследований и практических применений.
Специалистам в этой области хорошо известны Интернет-сайты организаций и проектов, связанных с созданием и использованием онтологий, но даже у них при выборе онтологии, «подходящей» для конкретного приложения, возникают определенные проблемы. Основные из них: отсутствие стандартного набора свойств, характеризующих онтологию с точки зрения ее пользователя; уникальность логической структуры представления релевантной информации на каждом «онтологическом» сайте; высокая трудоемкость поиска подходящей онтологии.
Учитывая вышесказанное, в заключение данного параграфа рассмотрим пример интеллектуального агента, который демонстрирует онтологический подход к поиску на Web и выбору для использования собственно онтологий.
(ONTO)2 — агент поиска и выбора онтологий
Целью разработки интеллектуального WWW-брокера выбора онтологий на Web [Vega et al., 1999] было решение проблемы ассистирования при выборе онтологий. Для этого потребовалось сформировать перечень свойств, которые позволяют охарактеризовать онтологию с точки зрения ее будущего пользователя и предложить единую логическую структуру соответствующих описаний; разработать специальную ссылочную онтологию (Reference Ontology), в рамках которой представлены описания существующих на Web онтологий; реализовать интеллектуального агента (ONTO)2, использующего ссылочную онтологию в качестве источника знаний для поиска онтологий, удовлетворяющих заданному множеству ограничений.
Для решения первой из перечисленных задач авторы (ONTO)2 детально проанализировали онтологии, представленные на Web, и построили таксономию свойств, используемых для описания онтологий (табл. 9.2). Для удобства дальнейшего использования все свойства сгруппированы в категории идентификации, описания и функциональности.
Как следует из приведенной таксономии, идентификация дает информацию об онтологии, как таковой, ее разработчиках и дистрибьюторах; описание — общую информацию, аннотацию онтологии, некоторые детали проектирования и реализации, требования к аппаратуре и программному обеспечению, ценовые характеристики и перечень применений; функциональность — представление о том, как использовать онтологию в приложениях.
При решении задачи разработки ссылочной онтологии авторы (ONTO)2 использовали уже обсуждавшуюся выше технологию METHONTOLOGY и инструментарий ODE [Blazquez et al, 1998]. При этом, в соответствии с общими тенденциями по созданию разделяемых онтологий и, по-видимому, в силу того, что один из авторов обсуждаемой работы (Gomez-Perez) является провайдер-агентом международного проекта по построению разделяемых баз знаний [Benjamins et al., 1998], Reference Ontology была «имплантирована» в онтологию Product инициативы (КА)2.
В качестве источников знаний для построения ссылочной онтологии была использована уже обсуждавшаяся таксономия свойств, концептуальная модель (КА)2 и свойства, выделенные в рамках разработки онтологии исследовательских тем (Research-Topic) инициативы (КА)2. Критерии, которые применялись при имплантации ссылочной онтологии в онтологию (КА)2, — следующие:
модульность (онтология должна была быть модульной, чтобы обеспечить гибкость и различные варианты использования);
специализация (концепты определялись таким образом, чтобы обеспечить их классификацию по общим свойствам и гарантировать наследование таких свойств);
разнообразие (знания представлялись в онтологии таким образом, чтобы использовать преимущества множественного наследования и облегчить добавление новых концептов);
минимизация семантических расстояний (аналогичные концепты группировались и представлялись как подклассы одного класса на базе одних и тех же примитивов);
максимизация связей между таксономиями;
стандартизация имен (везде, где это было возможно, для именования отношений использовалась конкатенация име;н концептов, которые ими связывались).,
Анализ концептуальной модели (КА)2 онтологии с точки зрения перечисленных выше критериев и ссылочной онтологии показал, что:
некоторые важные классы отсутствуют (например, классы Server и Languages, которые должны быть подклассами класса Computer-Support в онтологии Product);
некоторые важные отношения опущены (например, отношение Distributed-by между понятиями продукта и организации);
некоторые важные свойства не представлены (например, Research-Topic-Webpages, Type-of-Ontology и некоторые другие).
Таблица 9.2. Таксономия свойств, используемых для описания онтологий
Осноаные характеристики
Иденти-
ОнтологииИмя, са 访 т-сервер, сайт-зеркало, Web-страницы,
фикация
доступность FAQ, ЕЯ-описание, дата окончания разработки
Разработчиков ФИО, Web-страницы, e-mail, контактное лицо,
Описание
телефон, факс, почтовый адрес
Дистрибьюторов ФИО, Web-страницы, e-mail, контактное лицо, телефон, факс, почтовый адрес
ОбщаяТип онтологии; предметная область;
функциональность
информацияназначение; онтологические обязательстаа;
список концептов верхнего уровня; статус реализации; наличие on-line и «бумажной» документации
ОбзорнаяКоличество концептов, представляющих
информацияклассы; количество концептов, предстааляющих
экземпляры; количествоаксиом; количество отношений; количество функций; количество классов концептов .на первом, втором и третьем уровнях; количество классов на листьях; среднее значение фактора ветвления; среднее значение фактора глубины; максимальная глубина
ИнформацияМетодология разработки; формальный уровень
о проектировании методологии; подход к разработке; уровень формализации спецификации; типы источников знаний; достоверность источников знаний;
1техники приобретения знаний; формализм;
список онтологий, с которыми осуществлена интеграция; перечень языков, в рамках которых доступна онтология
ТребованияК аппаратуре; программному обеспечению
ценовыецена: стоимость сопровождения; оценка характеристики
стоимости необходимой аппаратуры; оценка стоимости необходимого программного обеспечения
ИспользованиеКоличество приложений; список основных
приложений
Описание использованных инструментальных средств; качество документации; обучающие курсы; on-line помощь; руководства по использованию; возможность модульного использования; возможность добавления новых знаний
Поэтому был проведен реинжиниринг (КА)2 онтологии, который позволил расширить ее новыми концептами, отношениями и свойствами, с одной стороны, и специализировать уже представленные знания таким образом, чтобы использовать их для сравнения различных онтологий.
Для реализации интеллектуальных WWW-брокеров поиска онтологий была предложена архитектура Onto Agent, представленная на рис. 9.11.
Рис. 9.11. Архитектура OntoAgent
В рамках Данной архитектуры выделяются брокер построения модели предметной области (Domain Model Builder Broker) и WWW-брокер поиска модели (WWW Domain Model Retrieval Broker).
Первый из них ориентирован на формирование концептуальной структуры онтологий, которые будут в поле зрения будущей экспертизы. Этот модуль включает:
Коллекционера онтологической информации (Ontology Information Collector) — WWW-интерфейс, ориентированный на сбор информации от распределенных по сети агентов (программных агентов и собственно пользователей).
Концептуализатора экземпляров (An Instance Conceptualizer) — преобразователь данных от WWW-интерфейса в экземпляр онтологии, специфицированный на уровне формализма представления знаний.,
Генератора/Транслятора онтологий (Ontology Generator/Translator) — компоненты отображения концептуального представления онтологий на целевые языки реализации, что обеспечивает доступ к ним из удаленных приложений.
Целью второго модуля является обеспечение доступа к накопленной информации и представление ее наилучшим для пользователя образом. Этот модуль включает:,
Формирователя запросов (A Query Builder) — компоненту построения запросов с использованием словаря брокера и при необходимости переформулирования и/или уточнения запросов пользователя.
Транслятор запросов (A Query Translator) — преобразователя запроса в представление, совместимое с языком реализации онтологии.
Машину вывода (An Inference Engine) — блок поиска ответа на запрос. *
Формирователя ответов (An Answer Builder) — компоненту, которая служит .для представления информации, найденной машиной вывода.
По сути дела, рассмотренные выше компоненты составляют технологию построения WWW-брокеров для поиска информации на основе онтологий. А примером ее использования является интеллектуальный (ONTO)2 агент. Его брокер построения модели предметной области работает со ссылочной онтологией, а входной запрос строится как соответствующая HTML-форма. Брокер поиска ответов реализован в настоящее время как Java-апплет и как автономное Java-приложение. Результаты поиска онтологий, удовлетворяющих запросу, возвращаются пользователю в виде HTML-формы.
Оценивая представленный подход в целом, можно отметить, что он хорошо коррелирует по своим идеям и целям с уже обсуждавшейся системой Ontobroker. Однако в случае (ONTO)2 агента для хранения формализаций онтологий используется база данных, а для поиска — стандартные средства на основе SQL Самостоятельную ценность данного проекта представляет ссылочная онтология, которая может использоваться не только для целей поиска, но и для стандартизации описаний онтологий вообще.
Все вышесказанное показывает, что использование агентов и особенно интеллектуальных агентов при сборе, поиске и анализе информации имеет ряд преимуществ, основные из которых сводятся к следующему [Pagina Н., 1996]:
они могут обеспечить пользователю доступ ко всем Интернет-сёрвисам и сетевым протоколам;
отдельный агент может быть занят одной или несколькими задачами параллельно;
преимущества агентов в том, что они могут осуществлять поиск по заданию пользователя после его отключения от сети;
мобильность (если она присутствует) позволяет агентам искать информацию сразу на сервере, что увеличивает скорость и точность поиска, уменьшая загрузку сети;
они могут создавать собственную базу информационных ресурсов, которая обновляется и расширяется с каждым поиском;
возможность агентов сотрудничать друг с другом позволяет использовать накопленный опыт;
агенты могут использовать модель пользователя для корректировки и уточнения запросов;
они могут адаптироваться под предпочтения и желания пользователя и, изучив их, искать полезную информацию заранее;
♦ агенты способны искать информацию, учитывая контекст. Они могут вывести этот контекст из запроса, например построив модель мира пользователя;
• агенты могут искать информацию интеллектуально, например используя словари, тезаурусы и онтологии, а также средства вывода релевантной информации, не представленной явно ни в запросе, ни в найденных документах.
Именно поэтому с применением и развитием агентных технологий на основе методов и средств искусственного интеллекта связываются самые серьезные перспективы перехода от пространств данных к пространствам знаний в глобальных и локальных сетях.
Заключение
Итак, уважаемый читатель, вы завершаете чтение книги по базам знаний интеллектуальных систем. Авторы отдают себе отчет в том, что за ее рамками остались целые континенты планеты Искусственный Интеллект, которые еще ждут своих исследователей, толкователей, методистов и, конечно, читателей. Но дорогу осилит идущий... И, наверное, именно это, а также понимание, что в данный момент в нашей стране практически нет литературы, которая не то чтобы закрыла тему, но хотя бы зафиксировала полученные в одном из ее важнейших разделов результаты, подвигло нас на работу по написанию этой книги.
Материал данного учебника показывает, что в настоящее время в области баз знаний интеллектуальных систем уже имеется серьезный теоретический базис, существует достаточно широкий спектр соответствующих методов и технологий разработки. Многие из них поддержаны адекватным программным инструментарием. И основная цель авторов была в том, чтобы сделать эту информацию достоянием читателей. Понятно, что в силу многих причин, в частности ограничений на объем издания, дать полномасштабное и логически замкнутое описание теории, методов проектирования и средств реализации баз знаний, а также соответствующих систем, основанных на знаниях, в одной книге практически невозможно. Отчасти поэтому список рекомендованной литературы у нас значительно шире, чем это обычно бывает в учебниках. Кроме того, в списке литературы достаточно много ссылок на релевантные тематике Интернет-ресурсы, что, по нашему мнению, должно привить читателю вкус к самостоятельному плаванию в океанах уже (или еще) доступной в сети информации.
Вместе с тем, авторы надеются, что читатели этой книги не будут воспринимать представленные в ней материалы как истину в последней инстанции, но будут относиться к ним творчески, а иногда и критически. Ведь не секрет, что для построения и использования баз знаний, на которых основываются современные интеллектуальные системы, требуются исследовательские коллективы, работающие вместе долго и имеющие опыт разработки такого рода систем. Для получения действительно хороших результатов необходимы дорогостоящие людские и материальные ресурсы — специалисты, лицензионные инструментарии, документация. Кроме того, разработка их достаточно трудоемкий (годы) и дорогостоящий (десятки, если не сотни тыс. долларов) процесс. Вот почему в настоящее время действующие интеллектуальные системы ориентированы в основном на поддержку работы постоянно работающих групп пользователей для
достаточно специализированных задач. Следует отметить и то, что в настоящее время почти нет действительно интеллектуальных систем, удобных для работы широкого круга пользователей в сети Интернет.
Таким образом, разработка теории, методов и технологий представления и использования знаний остается актуальной задачей для дальнейшего развития интеллектуальных систем. Особую актуальность, по нашему мнению, приобретают, на современном этапе развития науки и общества в целом Интернет-ориентиро- ванные технологии и распределенный искусственный интеллект. Уже сейчас ясно, что применение систем, основанных на знаниях, компонентом которых являются, например, онтологии, а реализация базируется на мультиагентных технологиях, должно привести к рассмотрению и использованию Всемирной паутины как организованного и структурированного пространства знаний.
И в заключение, авторы надеются, что их собственный скромный вклад в методологию, технологию и программные средства создания баз знаний, также отраженный в данной книге, позволит молодым специалистам в области искусственного интеллекта пойти дальше по тернистому пути этой молодой науки, которой так хочется стать индустрией!
Литература
Агеев В. Н., 1994. Примеры гипертекстовых и гипермедиа систем (обзор) // Компьютерные технологии в высшем образовании: Сб. статей. М.: Изд-во МГУ. С. 225-229.
Аверкин А. Н., Батыршин И. 3., Блишун А. Ф., Силов В. Б., Тарасов В. Б., 1986. Нечеткие множества в моделях управления и искусственного интеллекта // Под ред. Д. А. Доспелова. М.: Наука.
Алахвердов В. М., 1986. Когнитивные стили в контурах процесса познания. Когнитивные стили // Под ред. В. Колги. —Таллинн. С. 12-23.
Александров Е. А., 1975. Основы теории эвристических решений. М.: Наука.
Алексеева И. А., Воинов А. В., Сейсян А. Р., Эткинд А. М., 1989. Психосемантическая реконструкция картины мира подростков, употреблявших токсические вещества // Сб. Конструктивная психология — новое направление развития психологической науки. Под ред. А. Г. Копытова. Красноярский гос. ун-т.
С. 36-41.
Алексеевская М. А., Недоступ А. В., 1988. Диагностические игры в медицинских задачах. Вопросы кибернетики // Задачи медицинской диагностики и прогнозирования с точки зрения врача. № 112. С. 128-139.
Амамия М., Танака Ю., 1993. Архитектура ЭВМ и ИИ. М.: Мир.
Анастази А., 1982. Психологическое тестирование. Т. 1. М. С. 96-162.
Андриенко Г. Л., Андриенко Н. В., 1992. Игровые процедуры сопоставления в инженерии знаний // Сборник трудов III конференции по искусственному интеллекту. Тверь. С. 93-96.
Аншаков О. М., Скворцов Д. П., Финн Д. К., 1986. Логические средства экспертных систем типа ДСМ // Семиотика и информатика. Вып. 28. С. 5-15.
Апресян Ю. Д., 1977. Экспериментальное исследование семантики русского языка. М.: Наука.
Апресян Ю.Д., 1974. Лексическая семантика. Семиотические средства языка. М.: Наука.
Арбиб М., 1975. Алгебраическая теория автоматов. М.: Статистика.
Аткинсон Р., 1980. Человеческая память и процесс обучения // Пер. с англ. М.: Прогресс.
Байдун В. В., Бунин А. И., 1990. Средства представления и обработки знаний в системе FRL/PS // Всесоюзная конференция по искусственному интеллекту: тез. докл. Т. 1. Минск. С. 66-71.
Бахтин М. М., 1975. Вопросы литературы и эстетики: Исследования разных лет. М.: Художественная литература.
Белнап Н., Стил Т., 1981. Логика вопросов и ответов. М.: Прогресс.
Берков В. Ф., 1972. Вопрос как форма мысли. Минск, Изд-во Б ГУ.
Берн Э., 1988. Игры, в которые играют люди. Люди, которые играют в игры// Пер. с англ. М.: Прогресс.
Бойкачев К. К., Конева И. Г., Новик И. 3., 1994. «Сценарий» — инструмент визуальной разработки компьютерных программ // Компьютерные технологии в высшем образовании: Сб. статей. М.: Изд-во МГУ. С. 167-178.
Борисов А. Н., Федоров И. П., Архипов И. Ф., 1991. Приобретение знаний для интеллектуальных систем. Рижский технический университет.
Борисова Н. В., Соловьева А. А. и др., 1988. Деловая игра «Методика конструирования деловой игры». М.: ИПКИР.
Брунер Дж., 1971. Исследование развития познавательной деятельности // Пер. с англ. М.: Педагогика.
Бурков В. И. и др., 1980. Деловые игры в принятии управленческих решений. М.: МИСИС.
Брукс Ф. П“ 1979. Как проектируются и создаются программные комплексы. Мифический человеко-месяц: очерки по системному программированию. М.: Наука.
Буч Г., 1992. Объектно-ориентированное проектирование с примерами применения. М.: Конкорд.
Веккер Л. М., 1976. Психические процессы // В 3-х томах. Т. 2. Л.: ЛГУ.
Величковский Б. М., 1982. Современная когнитивная психология. М.: МГУ.
Величковский Б. М., Капица М. С., 1987. Психологические проблемы изучения интеллекта // Интеллектуальные процессы и их моделирование. М.: Наука. С. 120-141.
Вертгеймер М., 1987. Продуктивное мышление // Пер с нем. М.: Прогресс.
Винер Н., 1958. Кибернетика или управление и связь в животном и машине. М.: Сов. радио.
Виноград Т., 1976. Программа, понимающая естественный язык // Пер. с англ. М.: Мир.
Воинов А., Гаврилова Т., 1994. Инженерия знаний и психосемантика: Об одном подходе к выявлению глубинных знаний // Известия РАН Техническая кибернетика. № 5. С. 5-13
Волков А. М., Ломнев В.С., 1989. Классификация способов извлечения опыта экспертов // Известия АН СССР. Техническая кибернетика. № 5. С. 34-45.
Вольфенгаген В. Э., Воскресенская О. В., Горбанев Ю. Г., 1979. Система представления знаний с использованием семантических сетей // Вопросы кибер-, нетики: Интел л ектуал ьные банки данных. М.: АН СССР. С. 49-69.
Гаврилова Т. А., 1984. Представление знаний в экспертной диагностической системе АВТАНТЕСТ // Изв. АН СССР. Техническая кибернетика. № 5. С. 165-173.
Гаврилова Т. А., 1988. Как стать инженером по знаниям // Доклад на Всесоюзной конференции по искусственному интеллекту. М.: ВИНИТИ. С. 332338.
Гаврилова Т. А., Минкова С. П., Карапетян Г. С., 1988. Экспертные системы для оценки качества деятельности летного состава // Тез. докладов научнопрактической школы-семинара «Программное обеспечение и индустриальная технология интеллектуализации разработки и применения ЭВМ». — Ростов н/Д, ВНИИПС. С. 23-25.
Гаврилова Т. А., Червинская К. Р” Яшин А. М., 1988. Формирование поля знаний на примере психодиагностики // Техническая кибернетика. № 5. С. 72-85.
Гаврилова Т. А., 1989. От поля знаний к базе знаний через формализацию // Статья в сб. «Представление знаний в экспертных системах». Л.: ЛИИАН. С. 16-24.
Гаврилова Т. А., 1989. Подготовка коллектива разработчиков экспертной системы // Доклад на школе-семинаре «Проблемы применения ЭС в народном хозяйстве». Кишинев. С. 59-62.
Гаврилова Т. А., Тишкин А. И., Золотарев А. Ю., 1989. МИКРОЛЮШЕР: экспертная система интерпретации данных // Доклад на школе-семинаре «Проблемы применения ЭС в народном хозяйстве». Кишинев. С. 17-23.
Гаврилова Т. А., Красовская М. Р., 1991. О концептуальном анализе знаний при разработке экспертных систем // Доклад на Всесоюзной научно-практи- ческои конференции Л'иЬридные интеллектуальные сжтемы».¥остов н^. С. 110-113.
Гаврилова Т. А., 1922. Спецификация знаний через структурирование: введение в САКЕ-технологию // Сборник трудов III конференции по искусственному интеллекту. Т. 2. Тверь. С. 113-116.
Гаврилова Т. А., Червинская К. Р., 1992. Извлечение и структурирование знаний для экспертных систем. М.: Радио и связь.
Гаврилова Т. А., 1995. Объектно-структурная методология концептуального анализа знаний и технология автоматизированного проектирования баз знаний // Труды Междунар, конф. «Знания — диалог-решение 95». Т. 1. Ялта. С. 9.
Гаврилова Т. А., Котова Е. Е” Писарев А. С.» 1999. Активные схемы как инструмент семантического анализа //Труды международного семинара «ДИАЛОГ 99». Таруса. С. 26-27.
Гаврилова Т. А., Лещева И. А., 1999. ВИКОНТ: Визуальный Конструктор ОНТологий для структурирования семантической информации // Труды Первой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции». СПб. С. 97-98.
Гаек П., Гавранек Т., 1983. Автоматическое образование гипотез: математические оснсжы общей теории// Пер. с англ. М.: Наука.
Гельфанд И. И., Розенфелвд Б. И., Шифрин М. А. Структурная организация данных в задачах медицинской диагностики и прогнозирования // Вопросы кибернетики. Задачи медицинской диагностики и прогнозирования с точки зрения врача. М.: АН СССР. С. 5-64.
Гиг Дж., ван., 1981. Прикладная общая теория систем // В 2-х кн. М.: Мир.
Гинкул Г. П., 1989. Игровой подход к приобретению знаний и его реализация в системе КАПРИЗ // Проблемы применения экспертных систем в народном хозяйстве: тез. докл. респ, школы-семинара. Кишинев. С.71-74.
Гладун В. П., 1994. Процессы формирования новых знаний. София.
Глушков В. М., 1964. Введение в кибернетику. Киев: Издательство АН УССР.
Гордон Д., 1987. Терапевтические метафоры // Личная рукопись М. М. Кагана,
Горелов И. Н., 1987. Разговор с компьютером. М.: Наука.
Городецкий В. И., Грушинский М. С., Хабалов А.В., 1988. Многоагентные системы (обзор) // Новости искусственного интеллекта. № 2.
Грисуолд Р., Поудж Дж., Полонски И., 1980. Язык программирования СНО- БОЛ-4. М・:Мир.
Гусакова С. М., Финн В. К., 1987. Сходства и правдоподобный вывод // Известия АН СССР. Техническая кибернетика. № 5. С. 42-63.
Дэйвисон, 1988. Многомерное шкалирование. Методы наглядного представления данных. — М.: Финансы и статистика.
Дюран Б., Оделл П., 1977. Кластерный анализ // Пер. с франц. М.: Статистика.
Епифанов М. Е., 1984. Индуктивное обобщение в ассоциативных сетях // Известия АН СССР. Техническая кибернетика. № 5. С. 132-146.
Жинкин Н. И., 1982. Речь как проводник информации. М.: Наука.
Заде Л„ 1972. Лингвистическая переменная. М.: Физматгиз.
Зарипов Р. X., 1983. Машинный поиск вариантов при моделировании творческого процесса. М.: Наука.
Зенкин А. А., 1991. Основы когнитивной компьютерной графики. М.: Наука
Иберла К., 1980. Факторный анализ // Пер. с нем. М.: Статистика.
Иванов П. И., 1986. Влияние некоторых индивидуально-психологических особенностей на процесс обобщения // Автореферат дис. канд. психол. наук. М.
Ивахненко Г. И., 1971. Системы эвристической самоорганизации в технической кибернетике. Киев, TexniKa.
Йодан Э., 1979. Структурное проектирование и конструирование программ // Пер. с англ. М.: Мир.
Каган М. С., 1988. Мир общения: проблема межсубъектных отношений. М.: Политиздат. 一
Капица П. Л., 1967. Приглашение к спору // Юность. — № 1. С. 79-82.
Келасьев В. И., 1984. Структурная модель мышления. Л.: ЛГУ.
Кирсанов Б. С., Попов Э. В., 1990. Отечественные оболочки экспертных систем // Справочник по искусственному интеллекту. Т. 1 М.: Радио и связь. С. 369-388.
Климов Анд. В., Романенко С. А., 1987. Система программирования РЕФАЛ-2 для ЕС ЭВМ. Описание входного языка // Препринт ИПМ АН СССР. М.
Ковригин О.В., Перфильев К. Г., 1988. Гибридные средства представления знаний в системе СПЭИС // Всесоюзная конференция по искусственному интеллекту: тез. докл. Т. 2. Переславль-Залесский. С. 490-494.
Комаров В. Ф., 1989. Управленческие имитационные игры. Новосибирск: Наука.
Коов М. И., Мацкин М. Б., Тыугу Э.Х., 1988. Интеграция концептуальных и экспертных знаний в САПР // Известия АН СССР. Техническая кибернетика. № 5. С. 108-118.
Коршунов А. М., Манталов В. В., 1988. Диалектика социального познания. М・:Политиздат.
Кузичева 3. А., 1987. Языки науки, языки логики, естественные языки // Логика научного познания. Актуальные проблемы. М.: Наука. С. 57-73.
Кузнецов В. Е., 1989. Представление в ЭВМ неформальных процедур. М.: Наука.
Кук Н. М” Макдональд Дж., 1986. Формальная методология приобретения и представления экспертных знаний // ТИИЭР. Т. 74, № 10. С.145-155.
Кулюткин Ю. И., Сухобская Г. С., 1971. Индивидуальные различия Ъ мыслительной деятельности взрослых учащихся. М.: Педагогика.
Лазарева Т. К., Пашинин Н. Д., 1987. Деловые имитационные игры в экспертных системах // Деловые игры и их программное обеспечение: тез. докл. Пущино. С. 63-64.
Ларичев О. И., Мечитов А. И., Мошкович Е. И., Фуремс Е. М., 1989. Выявление экспертных знаний. М.: Наука.
Лимантов Ф. С., 1971. О природе вопроса // Вопрос. Мнение. Человек. Уч. записки ЛГПИ им. Герцена. Т. 497. С. 4-20.
Липаев В. В., Серебровский Л. А., Галаганов П. Г. и др., 1983. Технология проектирования комплексов программ АСУ. М.: Радио и связь.
Лунева О. В., Хорошилова Е. А., 1987. Психология делового общения. М.: ВКШ при ЦК ВЛКСМ.
Любич Д. Л., 1998. 1000 афоризмов. СГ16:, Издательство Буковского.
Макал истер Дж., 1990. Искусственный интеллект и ПРОЛОГ на микроЭВМ. М.: Машиностроение.
Мальковский М. Г„ 1985. Диалог с системой искусственного интеллекта. М.: МГУ.
Мартынов В. В., 1977. Универсальный семантический код. Минск: Наука и техника.
Маслов С. Ю., 1986. Теория дедуктивных систем и ее применение. М.: Радио и связь:
Материалисты древней Греции, 1955. Собрание текстов Гераклита, Демокрита и Эпикура.: М.: Политиздат.
Мельчук И. А., 1974. Опыт теории лингвистических моделей «Смысл-Текст». Семантика, синтаксис. М.: Наука.
Месарович М., Такахара Я., 1978. Общая теория систем: математические основы. М.: Мир.
Микулич Л. И., 1990. Промышленная технология создания систем, основанных на заниях // В сб.: Экспертные системы на персональных компьютерах. М.: МДНТП им. Ф. Э. Дзержинского.
Миллс X., 1970. Программирование больших систем по принципу сверху вниз // В книге: Средства отладки больших систем. М.: Статистика.
Минский М.: 1979. Фреймы для представления знаний. М.: Энергия.
Мицич П. П., 1987. Как проводить деловые беседы. М.: Экономика.
Моисеев Н. Н.» 1981. Математические задачи системного анализа. М.: Наука.
Молокова О. С.» 1992. Методология анализа предметных знаний // Новости искусственного интеллекта. № 3. С. 11-60.
Молокова О. С., Уварова Т. Г., 1989. База знаний для разработчиков экспертных систем // Тез. доклада Всесоюзного научно-технического семинара «Программное обеспечение новых информационных технологий». Калинин. С. 23-28.
Моргоев В. К., 1988. Метод структурирования и извлечения экспертных знаний: имитация консультаций. Человеко-машинные процедуры принятия решений. М.: ВНИИСИ. С. 44-57.
Немов Р. С., 1984. Социально-психологический анализ эффективной деятельности коллектива. М.: Педагогика.
Николов С. А. и др., 1990. Анализ состояния и тенденции развития информатики. Проблемы создания экспертных систем // Исследовательский отчет. Под ред. С. А. Николова. София: Интерпрограмма.
Норенков И. П., 1986. Введение в автоматизированное проектирование технических устройств и систем. М.: Высшая школа.
Нортон П., Станек У., 1998. Программирование на Java // В 2-х кн. СКПресс.
Ноэль Э., 1978. Массовые опросы // Пер. с нем. М.: Прогресс.
Обозов И. И., 1986. Психологическая культура взаимных отношений. М.: Знание.
Окунь Я., 1974. Факторный анализ. М.: Статистика.:
Орехов А. И., 1985. Формирование приемов эффективного решения творческих задач // Автореферат дис. канд. психол. наук. М..,
Орлик С.» 1997. Многоуровневые модели в архитектуре клиент-сервер, http:// www.citforum.ru/database/osbd/glava_95.shtml.
Орловский С. А., 1981. Проблемы принятия решения при нечеткрй исходной информации. М” Наука..
Осипов Г. С., 1988. Метод формирования и структурирования модели знаний для одного типа предметных областей // Известия АН СССР. Техническая кибернетика. № 2. С. 3-12.
Осипов Г. С., 1989. Принципы прямого приобретения знаний // Сборник трудов Второго международного семинара «Теория и применение искусственного интеллекта». Созополь. С. 56-59.
Осипов Г. С., 1993. Информационные технологии, основанные на знаниях // Ж. Новости искусственного интеллекта. №1. С. 7-41.
Осипов Г. С., 1997. Приобретение знаний интеллектуальными системами. М.: Наука.
Осуга С., Саэки Ю. (ред.), 1990. Приобретение знаний. М.: Мир.
Петренко В. Ф., 1983. Введение в экспериментальную психосемантику: исследование форм репрезентации в обыденном сознании. М.: МГУ.
Петренко В. Ф., 1988. Психосемантика сознания. М.: Издательство МГУ.
Петров А. В. ( ред.), 1991. Разработка САПР // В 10 кн. Т. 4. М.: Высшая школа.
Пильщиков В. Н., 1983. Язык ПЛЭНЕР. М.: Наука.
Погосян Г. А., 1985. Метод интервью и достоверность социологической информации. Ереван, АН Арм. ССР.
Пономарева С. М„ Хорошевский В. Ф., 1999. Методы и модели коммуникации в профессиональных группах и группах интеллектуальных агентов // В сб. трудов 4-го международного семинара по прикладной семиотике, семиотическому и интеллектуальному управлению ASC/IC'99. М.
Попов Э. В., Фоминых И. Б., Кисель Е. Б., Шапот М. Д., 1996. Статические и динамические экспертные системы. М.: Финансы и статистика.
Попов Э. В. (ред), 1996. Динамические интеллектуальные системы в управлении и моделировании. М.: МИФИ.
Попов Э. В., 1982. Общение с ЭВМ на естественном языке. М.: Наука.
Попов Э.В., 1987. Экспертные системы: Решение неформализованных задач в диалоге с ЭВМ. М.: Наука.
Попов Э. В., 1988. Экспертные системы. М.: Наука.
Попов Э. В” 1991. Экспертные системы 90-х гг. Классификация, состояние, проблемы, тенденции // Новости искусственного интеллекта. № 2. С. 84-101.
Поспелов Д. А., 1989. Моделирование рассуждений. Опыт анализа мыслительных актов. М.: Радио и связь.
Поспелов Д. А., 1986. Искусственный интеллект: фантазия или наука? М.: Радио и связь.
Поспелов Д. А., 1986. Ситуационное управление: Теория и практика. М.: Наука.
Поспелов Д. А., 1998. Многоагентные системы — настоящее и будущее // Информационные технологии и вычислительные системы. № 1.
Поспелов Д. А., 1997. Три шага на пути к официальному признанию // Новости искусственного интеллекта. № 1. С. 99-115.
Похилько В. И., Страхов Н.Н., 1990. Система KELLY. М.: МГУ; МП «Гуманитарные технологии» (на магнитном носителе).
Пэранек Г. В., 1991. Распределенный искусственный интеллект // В кн.: Искусственный интеллект: применение в интегрированных производственных системах, Э. Кьюсиак (ред.). М.: Машиностроение.
Ребельский И. В., 1989. Азбука умственного труда // ЭКО. №7. С. 43-150.
Розенталь М., Юдин П., 1951. Краткий философский словарь. М.: Политиздат.
Справочник по искусственному интеллекту в 3-х т., 1990 // Под ред. Э. В. Попова и Д. А. Поспелова. М.: Радио и связь.
Сагатовский В. И., 1980. Социальное проектирование // Прикладная этика и управление нравственным воспитанием. Томск. С. 84-86.
Сергеев В. М., 1987. Когнитивные модели в исследовании мышления: структур и онтология знания // Интеллектуальные процессы и их моделирование; М.: Наука. С.179-195.
Сергеев К. А., Соколов А. Н., 1986. Логический анализ форм научного поиска. Л.: Наука.
Сиротко-Сибирский С. А., 1968. Смысловое содержание текста и его отражение в ключевых словах // Автореферат дис. канд. филол. наук. Л.
Скрэгг Г., 1983. Семантические сети как модели памяти // Новое в зарубежной лингвистике. Вып. 12. М.: Радуга. С. 228-271..
Сойер Б., Фостер Д., 1989. Построение экспертных систем на ПАСКАЛЕ.— М.: Финансы и статистика.
Соколов А.Н., 1947. Психологический анализ понимания иностранного текста // Изв. АПН РСФСР. Вып. 7. С. 163-190.
Соколов А. Н., 1968. Внутренняя речь и мышление. М.: Просвещение.
Соколов А. Н., 1980. Проблемы научной дискуссии. Л.: Наука.
Соколов Е. Н., Вейткявичус Г. Г.( 1989. Нейроинтеллект. От нейрона к нейрокомпьютеру. М.: Наука.
Соловьев С. Ю., Соловьева Г.М., 1989. Вопросы организации баз знаний в системе ФИАКР // Экспертные системы: состояние и перспективы. Под ред. Д. А. Поспелова. М.: Наука. С. 47-54.
Соссюр Ф., де, 1977. Труды по языкознанию // Пер. с франц. М.: Прогресс.
Стерлинг Л., Шапиро Э., 1990. Искусство программирования на языке ПРОЛОГ. М.: Мир.
Стрельников Ю. Н.( Борисов Н. А., 1997. Разработка экспертных систем средствами инструментальной оболочки в среде MS Windows. Тверь, ТГТУ.
Тарасов В. Б., 1998. Агенты, многоагентные системы, виртуальные сообщества: стратегическое направление в информатике и искусственном интеллекте // Новости искусственного интеллекта. № 2.
Таунсенд К., Фохт Д.} 1991. Проектирование и реализация экспертных систем на ПЭВМ. М.: Финансы и статистика.
Терехина А. Ю., 1986. Анализ данных методами многомерного шкалирования. М.: Наука.
Терехина А.Ю., 1988. Представление структуры знаний методами многомерного шкалирования. М.: ВИНИТИ.
Тиори Т., Фрай Дж., 1985. Проектирование структур баз данных //Пер. с англ. В 2-х кн. М.: Мир.
Турчин В. Ф., 1968. Метаалгоритмический язык // Кибернетика. № 4. С. 45-54.
Уотермен Д., 1989. Руководство по экспертным системам // Пер. с англ. М.: Мир.
Уэно X., Исидзука М. (ред.), 1989. Представление и использование знаний. М.: Мир.
Файн В. С., 1987. Машинное понимание естественного языка в рамках концепции реагирования // Интеллектуальные процессы и их моделирование.— М.: Наука. С. 375-391.
Филлмор И., 1983. Основные проблемы лексической семантики // Новое в зарубежной лингвистике. Вып. 12. М.: Радуга. С. 74-122.
Финн В. К., 1991. Правдоподобные рассуждения в интеллектуальных системах типа ДСМ // Итоги науки и техники. Серия «Информатика». Т. 15: «Интеллектуальные информационные системы». ВИНИТИ. С. 54-101.
Фон Гумбольдт В., 1984. Избранные труды по языкознанию // Пер. с нем. М.: Прогресс.
Форсайт Ф., 1987. Экспертные системы. Принципы работы и примеры. М.: Радио и связь.
Франселла Ф., Баннистер Д., 1987. Новый метод исследования личности: руководство по репертуарным личностным методикам // Пер. с англ. М.: Прогресс.
Хант Д., 1986. Искусственный интеллект. М.: Мир.
Хейес-Рот и др., 1987. Построение экспертных систем // Под ред. Ф. Хейес- Рота, Д. Уотермена, Д. Лената. М.: Мир.
Хорошевский В. Ф., 1983. ATNL-машина — вопросы программной и аппаратной реализации // В сб. трудов I Международного симпозиума ИФИП и ИФАК, 4-6 сентября 1983 г. Л.: С. 156-174.
Хорошевский В. Ф., 1990а. Языковые средства программиования // В кн.: Искусственный интеллект. Книга 3. Программные и аппаратные средства. М.: Радио и Связь. С. 7-17.
Хорошевский В. Ф„ 1990b. Программные средства представления знаний: состояние исследований и проблемы // В кн.: Искусственный интеллект. Книга 3. Программные и аппаратные средства. — М.: Радио и Связь. С. 7282.
Хорошевский В. Ф., 1993. Управление проектами в интеллектуальной системе PIES Workbench // Изв. РАН Серия «Техническая кибернетика». № 5. С. 71-98.
Хорошевский В. Ф., Щенников С. Ю., 1990. Инструментальная поддержка процессов приобретения знаний в системе ПиЭС // Изв. АН СССР. Техническая кибернетика. № 4. С. 206-215.
Хорошевский В. Ф., 1995 и PIES-технология и инструментарий PIES WorkBench для разработки систем, основанных на знаниях, Новости Искусственного интеллекта, № 2. С. 7-64
Хорошевский В. Ф., 1999. Поведение интеллектуальных агентов: модели и методы реализации // В сб. трудов 4-го международного семинара по прикладной семиотике, семиотическому и интеллектуальному управлению ASC/ IC99.M.
Хювянен Э., Сеппянен Й., 1991. Мир ЛИСПа // В 2-х т. М.:Мир.
Цейтин Г. С., 1985. Программирование на ассоциативных сетях // ЭВМ в проектировании и производстве. Вьш. 2. Л.: Машиностроение. С. 16-48.
Шенк Р., 1980. Обработка концептуальной информации // Пер. с англ. М.: Энергия.
Шенк Р., Бирнбаум Л., Мей Дж., 1989. К интеграции семантики и прагматики // Новое в зарубежной лингвистике. Компьютерная лингвистика. Вып. 14. М.: Прогресс.
Шенк Р., Хантер Л„ 1987. Познать механизмы мышления // Реальность и прогнозы искусственного интеллекта. М.: Мир.
Шеннон К., Уивер У., 1963. Математическая теория связи. М,: ИЛ.
Шепотов Е. Г., Шмаков Б. В., Крикун П. Д., 1985. Методы активизации мышления. Челябинск, ЧПИ.
Шмелев А. Г., 1983. Введение в экспериментальную психосемантику. М.; МГУ.
Шумилина Т. В., 1973. Интервью в журналистике. М.: МГУ.
Щерба Л. В., 1974. Языковая система и речевая деятельность. Л.: Наука.
Эшби У. Р., 1959. Введение в кибернетику. М.: ИЛ.
Эндрю А., 1985. Искусственный интеллект. М.: Мир.
Яшин А. М., 1990. Разработка экспертных систем. Л: ЛПИ.
Adeli Н.( 1994. Knowledge Engineering. McGraw-HillPublishing Company, N.Y.
Alexander J. H., Freiling MJ., Shulman SJ., Rehfuss S., Messick S.L., 1987. Ontological analysis: an ongoing, experiment // Int. Journal of Man-Machine Studies. Vol. 26. P. 473-485.
Andrej., Delpech P.-M., 1994. Moving from Merise to Shlaer-Mellor // Objects in Europe. Vol. 1, No. 3. P. 7-11.
Anjewierden A., 1987. Knowledge Acquisition Tool // AI Communications.— Vol. 0,No. l.-P. 29-38.
ART, 1984. ART User's Manual // Inference Systems Inc., Ca.
AgentBuilder, 1999. AgentBuilder An Integrated Toolkit for Constracting Intelligent Software Agents //Revision 1.3, February 18,1999. Reticular Systems, Inc./
Austin J. L., 1965. How to Do Things with Words. Oxford.
Autonomy, 1998. Autonomy Technology Whitepaper. — http://www.autonomy. com/tech/wp.html
Aussenac-Gilles N., Natta N., 1992. Making the Method Solving Explicit with MACAO: the SIZYPHUS case-study in Sisyphus,92: Models of problem solving.— Ed. by M.Linster, GMD.
Balzer R., Cheatham T.E., Green C., 1983. Software Technology in the 1990s: Using a New Paradigm // Computer J. — November. P. 39-45.
Barr A., Feigenbaum E.A., 1982. The Handbook of Artificial Intelligence // VoL IL — Los Altos, California: Kaufmann Inc.
Basili V.R., Perricone B.T., 1984. Software Errors and Complexity: An Empirical Investigation // Communications. ACM. — Vol. 27, No. 1. — P. 42-52.
Beckwith R., Fellbaum C., Gross D., Miller G., 1990. WordNet: A Lexical Database Organized on Psycholinguistic Principles // In Zernik, U. (Ed.), Using On-line Resources to Build a Lexicon. Chapter 9, Hillsdale, NJ: Erlbaum. P. 211-231.
Bee-gent, 1999. Bee-gent Home Page. — http://www2.toshiba.co.jp/beegent.
Belgrave M., 1996. The Unified Agent Architecture: A White Paper. — http:// www.ee.mcgill.ca/*belmarc.
Benjamins V. R” Fensel D., et. al., 1998. Community is Knowledge! // In KA2, In: Proc. KAW'98, Banff, Canada.
Bennet J. S., 1985. A Knowledge-Based System for Acquiring the Conceptual Structure of a Diagnostic Expert System //Journal of Automated Reasoning.— No. 1. P. 49-74.
Berners-Lee T., Connolly D., 1995. HyperText Markup Language 2.0. November.
Bertalanffy L, 1950. An Outline of General Systems Theory // British Journal of the Philosofy of Science. Vol. 1. P. 134-164.
Black М., 1962. Models and Metaphor. Studies in Language and Philosophy.— Ithaca-London, Cornell University Press. P. 25-47.
Blazquez M., Fernandez M., Garcia-Pinar J. M„ Gomez-Perez A., 1998. Building Ontologies at the Knowledge Level using the Ontology Design Envirnoment // Knowledge Acquisition Workshop, KAW98, Banff.
Boehm B.W., 1986. A Spiral Model of Software Development and Enhancement// ACM SIGSOFT Software Engineering Notes. Vol. 11, No. 4.
Bonassojr., 1984. ANALYST, an Expert System for processing sensor Returns // Report MTP-83W00002, MITRE Corp.
Boose J.H., 1985. A Knowledge Acquisition Program for Expert Systems Based on Personal Construct Psychology // Int. Journal of Man-Machine Studies.— Vol. 23. P. 495-525.
Boose J.H., 1985a. Personal construct theory and the transfer of human expertise // Proc. 6-th Eur. Conf. Artif. Intell. Amsterdam. P. 51-60.
Boose J. H., 1985b. A knowledge acquisition program to expert systems based oh personal construct psychology // Int. Journal of Man-Machine^Studies. Vol. 23, No. 5. P. 499-525.「
Boose J. H., 1985c. Rapid acquisition and combination of knowledge from multiple experts in the same domain // Proc, of 2-nd Conf. Artif. Intell. Appl. Eng. Knowledge-Based Syst. Amsterdam. P. 461-466.
Boose J. H., 1986. ETS: a PCP — based program for building knowledge-based systems // Proc. WESTEX-86: IEEE West. Conf. Knowledge-Based Eng. And Expert Syst., Anaheim, Calif. June 24-26. Washington: D. C.
Boose J. H., 1989. A research framework for knowledge acquisition echniques and tools // Proc, of 3-rd European Knowledge Acquisition for Knowledge-based Systems Workshop: EKATJ89. Paris.
Boose J. H., 1990. Knowledge Acquisition Tools, Methods, and Mediating Representations // In Motoda H., Mizogochi R., Boose J., Gaines B. (Eds.) Knowledge Acquisition for Knowledge-Based Systems. IOS Press, Ohinsha Ltd,, Tokyo.
Boose J. H., Bradshaw J. H., Shema D. B” 1988. Transforming repertory grids to shell-based knowledge bases using AQUINAS, a knowledge acquisition workbench // Proceedings of the AAAI-88 Integration of Knowledge Acquisition and Performance Systems Workshop, St. Paul.
Boose J. H., Bradshaw J. M., 1986. NEOETS: Capturing expert system knowledge in hierarchical rating grids // Proc. Expert Syst. Gov.Symp. Washington. P. 34-45.
Boose J. H., Bradshaw J. M., 1987. Expertise transfer and complex problems: using AQUINAS as a knowledge-based systems // Int. Journal of Man-Machine Studies. Vol. 26, No. 1. P. 3-28.
Borghoff U., Pareschi R., 1998. Information Technology for Knowledge Management. — Springer-Verlag, Bln.
Bosak J., 1997. XML, Java, and the future of the Web // Sun Microsystems.— http://sunsite.unc. edu/pub/sun-info/standards/xml/why/xmlapps.htm
Bouchet С., Brunet С・,Anjewierden А., 1989. SHELLY: ah integrated workbench for KBS development // Proc, of 9th Int. Workshop Expert Syst. and their Appl.— France, Avignon. Vol. 1. P. 303-315.
Boulding K. L, 1956. General Systems Theory // The Skeleton of Science. Management Science. No. 2. P. 197-208.、
Braetman J. A., Magnini B., Rinaldi F., 1994. The Generalized Italian, German, English Upper Model // ЕСАГ94, Amsterdam.
BreukerJ. A., Wielinga B.J., 1989. Models of Expertise in Knowledge Acquisition // In Guida G., Tasso C. (ed.) Topics in expert system design. 一 Amsterdam, North-Holland. P. 165-295.
BreukerJ. A., Wielinga B. J., Hayward S.A., 1986. Structuring of knowledge-based systems development // ESPRrT'85: Status Report of Cont. Work. North- Holland. P. 771-784.
Briscoe C. & LeMaster S. U., 1991. Meaningful learning in college biology through concept mapping // American Biology Teacher, 53(4)/P. 214-219.
Brooks R. A., 1991. Intelligence without Representation // Artificial Intelligence. No. 47.P. 139-159.
Brownston L., Farrell R., et al., 1985. Programming Expert Systems in OPS5: An introduction to Rule-Based Programming // Addison-Wesley Publ. Comp. Inc.
Buchanan B., et al., 1983, Constructing an Expert System // Building Expert Systems.
BYTE, 1989. April. P. 206-246.
BYTE, 1990. CASE New Approach to Software Engineering // August.
Caines B. R., Shaw M. L., 1984. Cognitive and Logical foundation of Knowledge Acquisition // Proceedings of the 5-th Banff Knowledge Acquisition for Knowledge-Based Workshop, November. Banff, Canada. P. 82-101.
Cane C., Sarson T., 1979. Structured System Analisis // Englewood Cliffs: Prentice-Hall.
CARNEGIE, 1987. CARNEGIE GROUP INC. // Expert Systems. Vol. 4, No. 2.
CATALYST, 1993. — Gensym Corp., G2 // In Object-Oriented Technology on Sun Workstations. Catalyst, January.
Chandrasekaran B., 1985. Generic tasks in knowledge-based reasoning: expert systems at the right level of abstraction // Proceedings of the Expert Syst. in Government. P. 62-65.
Cheong Fan-Chun, 1996. Internet Agents: Spiders, Wanderers, Brokers, and Bots. New Riders Publishing, USA.
Chess D., Harrison C” Kershenbaum A., 1995. Mobile Agents: Are They a Good Idea? // IBM Research Division. — http://www.research.ibm.com/iagents/paps/ mobile_idea_abstr.html.
Clancey W.J., 1983. The epistemology of a rule-based expert system — a framework for explanation // Artificial Intelligence. Vol. 20. P. 215-251.
Clancey W.J., 1985. Review of J.F.Sowa's Conceptual Structures // Artificial Intelligence.?. 13-128.
Clocksin W., Mellish C” 1982. Programming in PROLOG // Berlin, Springer Verlag.
Colmerauer A., 1983. PROLOG in 10 Figures //Proceedings of IJ CAI-83. P. 488- 499.
CompTek, 2000a. Сравнительный анализ машин поиска по материалам журналов «Мир ПК», «PC Magazine/RE», «Планета Интернет». — http:// www.comptek.ru/arcadia/review/review.html.
CompTek, 2000b. Сравнительный анализ русскоязычных машин поиска по материалам журнала «Планета Интернет». — http://www.comptek.ru/arcadia/ review/review_rus.html.
Conklin J., 1987. Hypertext: An Introduction and Survey // Computer. Vol. 20, No. 9.P. 17-41.
Conklin J., 1996. Designing organizational memory: Preserving intellectual assets in a knowledge economy // Electronic Publication by Corporate Memory Systems, Inc.
Connah D., 1994. The Design of Interacting Agents for Use in Interfaces // In Brouwer-Janse, D. & Harringdon, T. L. (eds.); Human-Machine Communication for Educational Systems Design, NATO ASI Series, Series F, Computer and Systems Sciences 129. Heidelberg: Springer Verlag.
Cook N. M., 1985. Computer Programming Expertise: Vanation of Cognitive Structure: vanations of cognitive structures in FT durso, chair, human expertise // Papers in Honor of W.Chaise, Meeting of Southern Psychological Association.— Austin: TX. P. 73-89.
Courtois P” 1985. On Time and Space Decomposition of Complex Structures // Communinications of the ACM. Vol. 28, No. 6. P. 596-610.
Cowie J., Lehnert W.G., 1996. Information Extraction // Comm. ACM.— No. 39(»
Cullen J., Bryman A., 1988. The knowledge acquisition bottleneck: time for reassessment // Expert Systems. Vol. 5, No. 3.
Davis R, 1982. TEIRESIAS: Applications of meta-level knowledge // Knowledgebased systems in Artificial Intelligence. N.Y.: McGraw-Hill.
Davis R., 1984. Interactive Transfer of Expertise //In: Rule-Based Expert Systems / Buchanan B. G., Shortliffe E. H. London, Addison-Wesley. P. 171-205.
Kleer de J., 1989. Problem solving with the ATMS // Artifitial Intelligence. Vol. 2 8, No. 2. P. 197-224.t
Delgado R.7 Joaquin A” 2000. Agent-Based Information.
DeMarco T., 1979. Structured Analysis and System Specification. — Englewood Cliffs, NJ: Prentice Hall.
Demazeau Y., Muller J.-P. (eds.), 1990. Decentralized Artificial Intelligence. Amsterdam: Elsevier North-Holland, 1990.
Diderich J., Ruhman I., May M., 1987. KRITON: a knowledge acquisition tool for expert systems // Int. Journal of Man-Machine Studies. Vol. 26, No. 1. P. 9-40.
Durkin J., 1998. Expert Systems: Catalog of Applications. — ICS, USA.
Eisenstadt M., Domingue J., Rajan T., Motta E., 1990. Visual Knowledge Engineering // IEEE Transactions on Software Engineering. Vol. 16, No. 10. P. 1164-1177.
Engelbart O., 1986. Hypertext as a New Form of Non-linear Documentation // Communication of ACM. Vol. 3, No. 5. P. 143-155.
Eshelman. L., 1987. MOLE. A Knowledge Acquisition Tool That Buries Certainty Factors // Int. Journal of Man-Machine Studies. Vol. 26, No. 1. P. 563-577.
EXSYS, 1985. Exsys User Manyal // EXSYS Inc.
FainJ., Hayes-Roth F., Sowizral H., Waterman D., 1982. Programming in ROSIEA an Introductionby Means of Examples // Report N-1646-APRA. — Rand Corporation.
Farquhar A., Fikes R., Rice J., 1996. The Ontolingua Server: A Tool for Collaborative Ontology Construction // Knowledge Systems Laboratory, KSL- 96-26, September, 1996.
Feigenbaum E., 1977. The art of artificial intelligence: themes and case studies of knowledge engineering // Proceedings of 1JCAI-77.
Feigenbaum E., Buchanan B. Dendral and Meta-Dendral // Artificial Intelligence. Vol. 11, No. 1-2.
Feinstein A., 1958. Foundations of Information Theory. McGraw-hill, N. Y.
Fensel, D., Decker S., Erdmann M., Studer R., 1998. Ontobroker: How to enable intelligent access to the WWW // In AAAI-98 Workshop on AI and Information Integration. Madison, WL
Fernandez M., Gomez-Perez A., Juristo N., 1997. METHONTOLOGY: From Ontological Art Toward Ontological Engineering // Spring Symposium Series on Ontological Engineering. AAAI-97, Stanford. USA.
Fikes R. Kehler Т.» 1985. The role of frame-based representation in resoning // Com. ACM. P. 904-920.
Fikes R.E., Nillson N., 1971. STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving // Artificial Intelligence. Vol. 5, No. 2.
Finin T., McAdams J., Kleinosky P., 1984. FOREST: an expert system for automate Test Equipment _// Proceedings of the First Conference on Artificial Intelligence Applications. IEEE computer Society. P. 689-702.
.280. FIPA, 1998. Ontology Service. FIPA 98 Specification. Part 12. October, 1998. http://www.cset.it/fipa.
Fisher К. M., Faletti J., Patlerson H., Thornton R., Lipson J. & Spring, С.» 1990. Computer assisted concept mapping // Journal of College Science Teaching. No. 19 (6). P. 347-352.
Eisher К. М・,L99風 Semantic> networking: New kid on the block // Journal of xResearch in Science Teaching. No. 27(10). P. 1001-1018.
Fisher К. M., 1992. SemNet: *A tool for personal knowledge construction // In
$ : P. Kommers, D. Jonassen, & T. Mayes (Eds.) Cognitive tools for learning. Berlin: Springer Verlag. P, 63-76.
Florentin J. J., 1987. Software Review: KEE // Expert Systems. Vol. 4, No. 2.
P. 118-120.,.'
Forgy C. L„ 1981. OPS5 User's N^nuaL — Pittsburg, Pa: Carnegie-Mellon University.
Franklin S.-} Graesser A., 1996. Is it an Agent, orjust a Program?: A Taxonomy for Autonomous Agents // Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag.
Fridman N., Hafner, 1997. Ontology Design: A Survey and Comparative Review ■ // AI Magazine. No. 18 (3). P. 53-74.
Furna G. W., Zacks J., 1994. Multitrees: Enriching and Reusing Hierarchical Structure // Human Factors in Computing Systems. Conference Proceedings. Boston, Ms. P. 330-334
Gruber T. R, 1995. Toward Principles for the Design of Ontologies Used for Knowledge Sharing // International Journal of Human and Computer Studies.- No. 43(5/6). P. 907-928.
Gaines B. R., 1987. An Overview of Knowledge Acquisition and Transfer // Special issue on the 1st Knowledge Acquisition for Knoweledge-Based Systems Workshop. Part 3, International Journal of Man-Machine Studies, 26. P. 453-472.
Gaines B. R., 1989. Second Generation Knowledge Acquisition Systems // Proceedings of the Second European Knowledge Acquisition Workshop. Vol. 17. Bonn. P. 1-14.
Gaines B. R., Shaw M.L.G., 1986. Knowledge Engineering Techniques // Proceedings of AUTOFACT86. Detroit. P. 79-96.
Gaines B. R” Shaw M. L. G., 1987. KITTEN: Knowledge initiation and transfer tools for experts and novices // International Journal of Man-Machine Studies.— Vol. 27, No. 3,P. 251-280.
Gammack J. G., Young R. M., 1985. Psychological Techniques for Eliciting Expert Knowledge // Research and Development in Expert Systems. Cambridge: University Press.
Gane C., and Sarson,T., 1979. Structured System Analysis. — Englewood Cliffs, NJ: Prentice Hall.
Gavrilova T., Chernigovskaya T., 1999. Cognitive Aspects of Visual Knowledge Base Design // Proceedings of the International Conference PEG, Intelligent Computer and communications technology (Teaching & Learning for the 21-st Century), Great Britain. P. 174-181.
Gavrilova T.} Kotova E.} Stash N., 1999. Adaptive Distance Learning Course on Artificial Intelligence, ICL99, Austria.
Genesereth М. R., Fikes R. E., 1987. Knowledge interchange format, version 3,0. Reference manual // Technical report, Logic-92-1. Computer Science Dept., Stanford University, http://www.cs.umbc. edu/kse/.
Gillmore J.F., Pulaski K., 1985. A survey of expert system tools // Proc, of the Second IEEE Conf, on AI Applications. P. 498-502.
Goldberg F., Robson D., 1983. SMALLTALK-80: the Language and its Implementation. Reading, Mass: Addison Wesley.
Goldfarb C. F., 1991. The SGML Handbook. Clarendon Press.
Goldsmith T. E., Schvaneveldt R. W.^1985. ACES: Air combat Expert Simulation // Memo. In Comput. And Cogn. Set, MCCS-85-34, Comput. Res. Lab. New Mexico: State Univ.
Goldsmith T. E, Johnson P. J., & Acton W. H., 1991. Assessing structural knowledge //Journal of Educational Psychology, 83, P. 88-96.
Gopalan, 1999. A Detailed Comparison of CORBA, DCOM andJava/RMI (with specific code examples). — http://www.execpc. com/~gopalan/index.html.
Green C. A., 1977. Summary of PSI program synthesis system // Proc, of IJCAI- 77. P. 380-381.
Griswold R., 1978. A History of the SNOBOL Programming Language // SIGPLAN Notices. Vol. 13$ No. 8. P. 275-308.
Grover M., 1983. A Pragmatic Knowledge Acquisition Methodology // Proceeding of IJCAL P. 436-438.
Gruber T. R., 1991. The role of common ontology in achieving sharable, reusable knowledge bases // In J. A. Allen, R.Fikes, and E. Sandewell, editors, Principles of Knowledge Representation and Reasoning, In: Proceedings of the Second International Conference. Morgan Kaufmann. P. 601-602.
Gruber T. R., 1993. A translation approach to portable ontologies // Knowledge Acquisition. No. 5 (2). P. 199-220.
Gruber T” 1989. The Acquisition of the strategic Knowledge. Academic Press.
Gruninger M., Fox M., 1995. Methodology for the Design and Evaluation of Ontologies // Proceedings of IJC AI-95 Workshop on Basic Ontological Issues in Knowledge Sharing.
Guarino N., 1996. Ontologies: What Are They, and Where's The Research? // A panel held at KR'96, the Fifth International Conference on Principles of Knowledge Representation and Reasoning, November 5, 1996, Cambridge, Massachusetts. http://www-ksl.stanford.edu/KR96/Panel.html.
Guarino N., Giaretta P., 1995a. Ontologies and Knowledge Bases. Towards a Terminological Clarification // In: Towards Very Large Knowledge Bases. — NJ.I. Mars (ed.), IOS Press, Amsterdam.
Guarino N., Masolo C., Vetere G., 1999. OntoSeek: Content-Based Access to the Web // IEEE INTELLIGENT SYSTEMS. - May/June 1999.
Guarino N., Poli R., 1995b. The role of ontology in the information technology // International Journal of Human-Computer Studies. No. 43(5/6). Special issue on ontology. P. 623-965.
Guida G., Tasso C., 1989. Buldung Expert Systems: From Life Cycle to development methodology // Topics in Expert Systems Design, Metodologies and Tools. Amsterdam, North Holland. P. 3-24.
Haberman A. N., Notkin D., 1986. Gandalf: Software Development Environments // IEEE Trans. Software Eng. Vol. SE-12, No. 12. P.1117-1127.
Habermann N” Flon F., Cooprider L., 1976. Modularization and Hierarchy in a Family of Operating Systems // CACM. Vol. 19, №5. P.266-272.
Harmon P., 1987. Review in Expert Systems // Expert Systems Strategies. Vol. 3, No. 6. P.11-18.
Hart A., 1986. Knowledge Acquisition for expert systems. London, Kogan Page.
Heflin J., Hendler J., Luke S., 1998. Reading Between the Lines: Using SHOE to Discover Implicit Knowledge from the Web //In AAAI-98 Workshop on AI and Information Integration.
Hinkelmann K. and Kieninger Th., 1997 Task-oriented web-search refinement and information filtering. DFKI GmbH.
HTML4, 1998. HTML 4.0 Specification, W3C Recommendation, revised on 24 April 1998. http://www.w3.org/TR/REC-html40.
Jackson M., 1975. Principles of Program Design. N. Y.: Academic Press.
Jonassen D.H., 1993. Changes in knowledge structures from building semantic net versus production rule representation of subject content. Journal of Computer Based Instruction, 20 (4), P. 99-109.
Jonassen D.H., Mandi H. (Eds), 1999. Designing Hypermedia for Learning,— Springer-Verlag N. Y., Incorporated.
Jones A., 1992. The Object Model: a Conceptual Tool 'for Structuring Software. Operating Systems. N. Y.: Springer-Verlag. P. 8.
Kahn G., Nowlan S., McDermott J., 1985. MORE: An Intelligent Knowledge Acquisition Tool // The proceedings of the Ninth Joint Conference on Artificial Intelligence. — August. Los Angeles, CA. P. 581-584.
Kaplan R. M:, Berry-Rogghe G., 1991. Knowledge-based acquisitions of causal relationships in text // Knowledge Acquisition. № 3. P.317-337.
Kelly G.A., 1955. The Psychology of Personal Constructs. — N. Y.: Norton.
Kestelyn J., 1992. Application Watch // The International Jour. Of Knowledge Engineering. Vol. 8, No. 2. P. 123-129.
Khoroshevsky V.F., Situation Control Software: From Symbol Manipulation Languages Through Knowledge Representation Systems to Semiotic Technologies, Proc. Of the 1995 ISIC Workshop, — 10 IEEE International Symposium on Intelligent Control, 127-129 (1995).
Khoroshevsky V. F., Knowledge V.S., 1998. Data Spaces: How an Applied Semiotics to Work on Web // In: Proceedings 3rd Workshop on Applied Semiotics, National Conference with International Participation (САГ98), Pushchino, Russia.
Khoroshevsky V. F., 1985. ATN-based Explanation Subsystems: Design and Implementation // Computers and Artificial Intelligence. Vol. 4 (1985), No. 4, P. 289-311.
Khoroshevsky V. F., 1994. Knowledge Based Design of Intelligent Interfaces iii PiES WorkBench // Proc, of the Sixth International Conference on Artificial Intelligence and Information-Control Systems of Robots. — Smolenice, Slovakia. September 21-25, World Scientific. P. 159-168.
Khoroshevsky V. F., 1994b. Knowledge Based, Design of Knowledge Based Systems in PiES WorkBench 〃 Proc, of ДСКВЗЕ^Д, Japan-CIS Symposium on Knowledge Based Software Engineering,94. P. 256-261.
Kifer M., Lausen G., Wu J.( 1995. Logical Foundations of Object-Oriented and Frame-Based Languages // Journal of the ACM.
Kintsch W” 1974. The representation of meaning in memory. N. Y.
Kitto С. M., Boose J. H., 1987a. Heuristics for expertise transfer: an implementation of a dialog manager for knowledge acquisition // International Journal of Man- Machine Studies. Vol. 26, No. 2. P. 183-202.
Kitto С. M., Boose J. H., 1987b. Choosing knowledge acquisition strategies for application tasks // Proc, of WESTEXW. P. 96-103.
Knight K., Luk S., 1994. Building a Large Knowledge Base for Machine Translation, Proc. Amer. Assoc // Artificial Intelligence Conf. (AAAI-94). AAAI Press, Menlo Park, Calif. P. 773—778.
Kommers P. A. M., 1989.Texlvision. Eachede, Netherlands: University of Twente, Educational Instrumentation Department.
Kozma R. B, 1992. Constructing knowledge with learning tool. In P. Kommers, D. Jonassen, A T. Mayes (Eds.), Cognitive tools for learning (P. 23-32). Berlin: Springer-Verlag.
Kozma R. B., 1987. The implications of cognitive psychology for computer-based learning tools. Educational Technology, (11). P. 20-24.
Kruskal J. B., 1964. Nonmetric multidimensional scaling: a numerical method, Psychometrika 29, P. 115-129.
. Kbhn O., Abecker A., 1998. Corporate Memories for Knowledge Management in Industrial Practice: Prospects and Challenges.
Kbhn O., Becker V., Lohse V. and Ph. Neumann, 1994. Integrated Knowledge Utilization and Evolution for the Conservation of Corporate Know-How // ISMICK'94: Int. Symposium on the Management of Industrial and Corporate Knowledge.
Labrou Y., Finin T., 1997. A Proposal for a new KQML Specification // TR CS- 97-03. February 3,1997.
Lai K. W., 1989. Acquiring expertise and cognitive skills in the process of constructing an expert system: A preliminary study. Paper presented at the annual meeting of the American Educational Research Association, San Francisco. CA (ERIC Document No. ED 312986).
Lamping L” Rao R., Pirolli P., 1995. A Focus+Context Technique Based on Hyperbolic Geometry for Visualizing Large Hierarchies // In Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems.
Leibowitz J., Bland K., 1994. Using Multimedia to Help Students Learn Knowledge Acquisition // Multimedia Computing — Preparing for the 21-th Century ed. Reisman S. — USA: Idea Group Publishing. P. 537-556.
Lenat, D. B., 1995. CYC: A Large-Scale Investment in Knowledge Infrastructure // Communications of the ACM 38. № 11. http://www.cyc. com.
Lesser V., Horning B., Klassner F., Raja A., Wagner T., Zhang S., 1998. A Next Generation Information Gathering Agent // Umass Computer Science Technical Report 1998-72, May, 1998..
Lippert R.C. & Finley F., 1988. Studenfs refinement of knowledge during the development of knowledge for expert systems // Paper presented at the annual meeting of the National Association for Research in Science Teaching, Lake of the Olarks, MO. (ERIC Document No. ED 293872).
Lippert R.C., 1988. An expert system shell to teach problem solving. Teach Trends, 33(2). P. 22-26.
Lowe D., Hall W., 1999. Hypermedia and the Web: An Engineering Approach. Wiley, John & Sons, Incorporated.
Luke S., Spector L” Rager D., 1996. Ontology-Based Knowledge Discovery on the World-Wide Web // In: Proc. Of the Workshop on Internet-based Information Systems, AAAI-96, Portland, Oregon.
Macintosh A., 1997. Knowledge asset management // Airing. No. (20), April.
Maikevich N. V., Khoroshevsky V. F., 1998. Knowledge Driven Processing of HTML-Based Information for Intellectual Spaces on Web // In: Proceedings of the Third Joint Conference on Knowledge-Based Software Engineering, Smolenice, Slovakia.
Maikevich N. V., Khoroshevsky V. F., 1999. Intelligent Processing of Web Resources: Ontology-Based Approach and Multiagent Support // In: Proceedings of 1st International Workshop of Central and Eastern Europe on Multi-agent Systems (CEEMAS'99). — 1-4 June, 1999, St.-Petersburg, Russia.
Malsch Th., Bachmann R., Jonas M., Mill U., and Ziegler S., 1993. Expertensysteme in der Abseitsfalle? — Fallstudien aus der industriellen Praxis, edition sigma, Reiner Bohn Verlag, Berlin.
Markus S” 1987. Taking Backtracking with a Grain of SALT // Int. Journal of Mari^Machine Studies. Vol. 26, No. 4. P. 383-398.
Masui S., McDermott J., 1983. Decision-making in Time-critical Situations // Proceedings IJKAI-83. P. 233-235.
MatarozzoJ.D., Wettman M., Weins A.N., 1963. Interviewer influence on duration of interview speech //J. Verbal Learning and Verbal Behavior. No. 1..
Maurer F., Dellen B., 1998. A Concept for an Internet-based Process-Oriented Knowledge Management Environment // Proceedings of the 宜AW'9& Banff, Canada.
McCarthy}., 1978. History of LISP// SIGPLAN Notices. Vol,13(1978). P. 217- 223.
McClure C. A., 1979. CASE Workshop // BYTE. — April.
MDBS, 1986. Guru User Manual // MDBS Inc.
Mesarovic M.D. (ed), 1964. Views on General Systems Theory. N. Y., Wiley.
Mikulescky L., 1988. Development of Interactive computer programs to help students transfer basic skills to college level science and behavioural sciences courses. Bloomingion IN: Indiana University.
Minsky M.A., 1981. Theory of memory // Perspectives in Cognitive Science. Norwod, N. S., Ablex.
Monahan J.S., Lockhead G.R., 1977. Identification of integral stimuli //Journal off Experimental Psychology. General 106. P. 94-110.
Moon D„ 1973. MACLISP Reference Manual. MIT Press, Cambridge, Mass.
Motta Б., Eisenstadt M., Pitman K., West M., 1088. Support for knowledge acquisition in the Knowledge Engineer1^ Assistant (KEATS) // Expert Systems. Vol. 5. P. 6-27.
Motta E” Rajan T., Eisenstadt M., 1989. A methodology and tool for knowledge acquisition in KEATS-2 // Proc, of Int. Summer Sch. Top. Expert Syst. Des.: Methodol. and Tools. Amsterdam. P. 297-323.
Motta E., Rajan T., DominigueJ., Eisenstadt M., 1990. Visual Knowledge Engineering // IEEE Transactions on software engineering. Vol. 16, No. 10. P. 151-164.
Motta E., Rajan T., DominigueJ., Eisenstadt M., 1991. Methodological foundations of KEATS, the Knowledge Engineer's Assistant // Knowledge Acquisition. No. 3. P. 21-47.
Musen M. A., Fagan L. М.» Combs D. M., Shortliffe E. N., 1987. Use of a Domain Model to Drive an Interactive Knowledge-Editing Tool // Int. Journal of Man- Machine Studies. Vol. 26, No. 1. P. 105-121.
NEXPERT OBJECT, 1990 // Tutorial. Nexpert Co.、
Nielsen J., 1990. HyperText & HyperMedia. Academ. Press Inc
Nonaka I. and Takeuchi L, 1995. The Knowledge-Creating Company. N. Y.: .Oxford: Oxford University Press.
Nwana H. S., 1996. Software Agents: An Overview // Knowledge Engineering Review. Vol.il, №3. Cambridge University Press. P. 1-40.
Olson J. R., Reuter H. H., 1987. Extracting expertise from experts: methods for knowledge acquisition. // Expert systems. Vol. 4, No. 3.
Olton J.D., Muser M.A., Combs D.M. et al., 1987. Graphical access to medical expert systems // Methods of Information in Medicine. Vol. 26, № 3.
Orr D, Kenneth T., 1977. Structured System Development. N. Y.: Academic Press.
Orr D, Kenneth T., 1977. Structured System Development. N. Y.: Academic Press.
Ovum, 1994. Intelligent agents: the new revolution in software. Ovum.
Pagina Н., 1996. Intelligent Software Agents on the Internet, http:// www.hermans.org/agents/index.html.
Pega M., SticklenJ., Bond W., 1993. Functional Representation and Reasoning // IEEE Expert. April. P. 65-78.
Peters L., 1981. Software Design. N. Y.: Yourdon Press.
Piatetsky-Shapiro G. and Frawley W., eds.f 1991. Knowledge Discovery in Databases. AAAI/MIT Press.
Pospelov D.A., Basic concepts of Situational Languages and formal means of analysis and control of natural systems, Presented at the QAT Teleconference, New Mexico State University and the Army Research Office, December 13,(1996).
Pospelov D.A., Semiotic Models in Control Systems, In. Proc, of the 1995 ISIC Workshop — the 10th IEEE International Symposium on Intelligent Control, 6亠 12 (1995).
Rabbits L., Wright G., 1987. Card tricks for small players // Expert Systems User. Vol. 22, No. 11.
Raggett D., 1977. HTML 3.2 Reference Specification. — http://www.w3.org/TR/ REC-html32.
Ramamoorthy С. V., Shekhar S., Garg V., 1987. Software Development Support for AI Programs // Computer. Vol. 20, No. 1. P. 30—40.•
Rasmussen J., Brehmer B., Leplat J., (eds.), 1991. Distributed Decision-Making. Cognitive Models for Cooperative Work. N. Y.: J. Wiley & Sons.
RDF, 1999. Resource Description Framework (RDF) Data Model and Syntax // W3C Recommendation. — http://www.w3.org/TR/WD-rdf-syntax.
ReggiaJ. A” 1^88. Representing and using medical knowledge for the neurological localization// Report TR-693, Computer Science Dept., University of Maryland.
Reisman S., 1991. Developing Multimedia Applications // IEEE Computer Graphics & Applications. P. 58-66.
Richer M., 1986. An evaluating of expert system development tools // Expert Systems.?. 166-183.
Ricoeur P., 1975. La metaphore vive. — Paris, Editions du Seuil.
Ross D.T., Goodenough J.B., Irvine C. A., 1975. Software Engineering: Process, Principles and Goals // Computer. VqL 8, No. 5. P. 17-28.
Sacerdoti E.} et al., 1976. Qlisp: a Language for the Interactive Development of Complex Systems // SRI, Tech, note 120.
Schlenker D. A. & Abegg G. L., 1991. Scoring student-generated concept maps in introductory college chemistry. Paper presented at the annual meeting ofNational Association for Research in Science Teaching, Lake Geneva. WL '
Schoucksmith G., 1978. Assessment through interviewers. Oxford.
Schreiber G., Breuker J., Bredeweg В.» Wielinga B., 1988. Modeling in KBS Development // Proceedings of the Second European Knowledge Acquisition Workshop (EKAW-88). Bonn. P. 1-15.
Schvaneveldt R. W., Durso F. T., Dearholt D. W., 1985. Pathfinder. Scaling with network structure // MCGS-85-9. '
Schwartz T., 1988. Scoping// IEEE Expert? Vol. 3, No. 1.
Scott A., Clayton J. E., Gibson E. L., 1994. A practical Guide to Knowledge Acquisition. Addison-Wesley Publ.
Searle J. R., Vanderveken D., 1985: Foundations of Illocutionary Logic. 一 Cambridge Univ. Press: Shoham Y., 1993. Agent-oriented programming // Artificial Intelligence. № 60(1).
Shaw M. L., Woodward J. B., 1988. Validation of a Knowledge Support System // Proceedings of the 2-th Knowledge Acquisition for.Knowledge-Based Workshop. Banff, Canada.
Shaw M., 1984. Abstraction Technique in Modern Programming Languages // IEEE Software. Vol. 1(4)..
Shaw M. L. G., 1982. PLANET: some experience in creating an integrated system for repertory grid application on a microcomputers // International Journal of Man-Machine Studies. Vol. 17, No. 3. P. 345-360.
Shaw M. L. G., Gaines B. R., 1984. Deriving the constructs underlying decision.// Fuzzy Sets and Decis. Anal, Amsterdam. P. 335-355.
Sherstnew W.Yu., WorfolomeexV AN, Aleshin A. Yu., 1994. FRAME/2 — Application Program Interface for Frame Knowledge Bases // Proc, of JCKBSE'94, Japan-CIS Symposium on Knowledge Based Software Engineering^. P. 168-170.
Shlaer S., Mellor S., 1992. Object Life Cycles: Modelling the World in States. Englewood Cliffs, NJ: Yourdon Press.
Shortliffe E., 1976. Computer based medical consultations: MYCIN. N. Y., American Elsevier.
Shortliffe E.H., Buchanan B.G., Feigenbaum E.A., 1979. Knowledge engineering for medical decision-making: a review of computer-based clinical decision aids // Proceedings of the IEEE. Vol. 67, No. 9. P. 1207-1224.
SIGSOFT, 1986. ACM SIGSOFT Software Engineering Notes. Vol. 11, No. 4, August.
Sisodia R., Warkentin M., 1992. AI in business and management // PC Al. Jan/ Feb. P. 32-34.
SKDL, 1998, Human Agent Interaction // FIPA98 Draft Specification: Part 8.— http://www.cset.it/fipa/fipa8713.doc
Slagle J. R.f Gardiner O. A., Kyungsook N.( 1990. Knowledge Specification on an Expert System // IEEE Expert. August. P. 29-38.
Slagle J. R., Gaynor M., 1983. Expert System Consultation Control Strategy // Proceedings AAAI-83. P. 369-272.
Sloman A., 1996. What sort of architecture is required for a human-like agent? // Invited talk at Cognitive Modeling Workshop, AAAI-96, Portland Oregon, August 1996.
Sowa, J., 1984. Conceptual Structures: Information Processing in Mind and Machine. - Addison-Wesley, Ready, Massachussets.
Stoffel К.» Taylor M.T Hendler J., 1997. Efficient Management of Very Large Ontologies // In Proceedings of American Association for Artificial Intelligence Conference (AAAI-97). AAAI/MIT Press.
Sussman GJ., McDermot D.U., 1976. From PLANNER to CONNIVER — A Genetic Approach // Proc, of 1976 Joint Computer Conference. AFIPS Press. P. 271-278.
Teitelman W., 1974. INTERLISP Reference Manual // XEROX PARC.
Torgerson W. S., 1958. Theory and methods of scaling. N. Y.: Wiley.
TOVE, 1999. TOVE Manual. — Department of Industrial Engineering, University of Toronto. — http://www.ie/utoronto.ca/EI L/tove.
Tschaitschian B” Abecker A. and Schmalhofer, 1997. A. Putting Knowledge Into Action: Information Tuning With KARAT // In 10th European Workshop on Knowledge Acquisition, Modeling, and Management (EKAW-97).
Tuthill G.S., 1994. Knowledge Engineering. — TAB Books Inc.
Uschold M., Gruninger M., 1996. ONTOLOGIES: Principles, Methods and Applications, // Knowledge Engineering Review. Vol. 11, No. 2.
Van der Vet PE, Mars NJ, Speel P.H., 1994. The Plinius Ontology of Ceramic Materials // ЕСАГ94» Amsterdam.
Villemin F.-Y„ 1999. Ontologies-based relevant information retrieval. 一 http:// www.cnam.fr/f-yv.
VITAL, 1990. VITAL: A Methodology-Based Workbench for KBS Life Cycle Support // ESPRIT-II Project 5365.
Voinov A., Gavrilova T., 1993. Knowledge Acquisition through Elicitation of Latent Cognitive Structures: Metaphor — Based Approach // Proc, of East-West International Conference on Artificial Intelligence: From Theory to Practice EWAIC93. Moscow,?. 113-119.
WAI, 1999. Web Accessibility Initiative (WAI) Web site. — http://www.w3.org/ WAI/
Walker С. T., Miller K.R., 1988. Expert Systems 1987: An Assessment of Technology and Applications. Madison.
Wall R., Apon A. Beal J. at al., 1986. An evaluation of commercial expert system building tools // Data Knowledge Eng. P. 279-304.
Watanabe S., 1969. Knowing and Guessing. N. Y.: Wiley.
Waters R.C., 1985. The Programmer's Apprentice: A Session with KBEmacs // Trans. Software Eng. Vol. SE-11, No. 11.
Wayner P., 1995. Free Agents // BYTE. March. P. 105-114.
WebCompass, 1999. WebCompass Page. — http://www.symantec. com/ techsupp/webcompass^base_webcompass.html.
、446. Wielinga В., Akkermans Н., Schreiber G., BalderJ., 1989. A Knowledge Acquisition Perspective on Knowledge-Level Models // Proceedings of the Fourth Knowledge Acquisition for Knowledge-Based Systems Workshop. — Banff, 36. P. 1-22,
Wielinga B., Schreiber G.,Breuker J., 1992. A Modelling Approach to Knowledge Engineering // Knowledge Acquisition. 4 (1). Special Issue.
Wielinga BJ., Bredeweg B., BreukerJ. A., 1988. Knowledge Acquisition for Expert - Systems // Proceedings of ACAI88.
Woods W. A., Bookman L. A., Houston A., Kuhns R. J., Martin P., Green S.} 1999. Linguistic Knowledge Can Improve Information Retrieval // Knowledge Technology Group, Sun Microsystems, TR-99-83. — http://www.sun.com/ research/techrep/1999.*
Wooldridge M., Jennings N.} 1995. Intelligent Agents: Theory and Practice // Knowledge Engineering Review. No. 10 (2).
Wray R. Ron C. et. al., 1994. A Survey of Cognitive and Agent Architecture.— http://krusty.eecs.umich.edu/cogarchO/
Wiig, 1990. Expert Systems: A manager's guide. Geneva: The International Labour Office of the United Nations.
Wiig K., 1996. Knowledge management is no illusion! // Proc, of the First International Conference on Practical Aspects of Knowledge Management. Zurich, Switzerland: Swiss Informaticians Society
Wilks Y., 1976. Parsing English II // Computational Semantics. Eds. Y. Wilks, E. Sharniak. N. Y.: North-Holland. P. 155-184.
XML, 1998. Extensible Markup Language (XML) // W3C Recommendation.— http://www.w3.org/TR/1998/REC-xml-19980210.
Yourdon E. Constantine L., 1979. Structured Design. — Englewood Cliffs, NJ: Yourdon Press / Prentice-Hall.
Yourdon E., 1989. Modern Sructured Analysis. — Prentice-Hall Int. Ed.
Т. А. Гаврилова, В. Ф. Хорошевский
Базы знаний интеллектуальных систем
Главный редактор 5. УсмановОтветственный редактор Е СтрогановаРуководитель проекта И. КорнеевЛитературный редактор Н. ДубноваХудожник Н. БиржаковИллюстрации М ЖдановаВерстка М ЖдановаКорректор А Листова
Лицензия ЛР № 066333 от 23.02.99.
Подписано в печать 31.07.00. Формат 70х1001/16.
Усл. п. л. 30,96. Тираж 5000 экз. Заказ № 1382.
Издательство «Питер».
196105, Санкт-Петербург, Благодатная ул., д. 67.
Отпечатано с диапозитивов в ГПП «Печатный двор»Министерства РФ по делам печати,телерадиовещания и средств массовых коммуникаций.197110, Санкт-Петербург, Чкаловский пр., 15.
• панель функциональной структуры.
Панель концептуальной структуры предназначена для графического структурирования знаний. Она позволяет определить понятия и обозначить связи между ними в форме концептуальной структуры Sk.
В панель гипертекста можно поместить любой комментарий, связанный с объектом, определенным на панели концептуальной структуры понятий.
Основное назначение панели функциональной структуры Sf — представить наглядно в форме строк таблицы причинно-следственнБге и другие функциональ-
衫ППТЕР衫ППТЕРГСГС
衫ППТЕР
衫ППТЕР
ГС
ГС
Т. А. Гаврилова В. Ф. Хорошевский
БАЗЫ ЗНАНИЙ
ИНТЕЛЛЕКТУАЛЬНЫХСИСТЕМ
УЧЕБНИК
студентам вузов, изучающим вопросы искусственного интеллекта в рамках соответствующих дисциплин
разработчикам и нтеллектуальных систем
всем интересующимся вопросами инженерии знаний
Т. А. Гаврилова В. Ф. Хорошевский
БАЗЫ ЗНАНИЙ
ИНТЕЛЛЕКТУАЛЬНЫХ
СИСТЕМ
Допущено Министерством образования Российской Федерациив качестве учебного пособия для студентов вузов, обучающихся по направлениям«Прикладная математика и информатика». «Информатика и вычислительная техника». и специальностям «Прикладная информатика» (по областям),«Прикладная математика и информатика»
Санк^-Петербург [^ПИТЕР9
Москва • Харьков • Минск
2000
ББК 32.973.23-018я7
УДК 681.3.016(075)
Г12
Рецензенты:
Колосов О. С., доктор технических наук, профессор, декан факультета «Автоматика и вычислительная техни-ка» Московского энергетического института (технического университета)
Кутепов В. П., доктор технических наук, профессор, заведующий кафедрой «Прикладная математика»Московского энергетического института (технического университета)
Кумунжиев К. В., доктор технических наук, профессор, заведующий кафедрой «Информационные системы»Ульяновского государственного университета
Сулейманов Д. Ш., кандидат технических наук, заведующий совместной научно-исследовательскойлабораторией «Проблемы искусственного интеллекта» Академии наук Татарстанаи Казанского государственного университета
Г12 Базы знаний интеллектуальных систем / Т. А. Гаврилова, В. Ф. Хорошевский ——СПб: Питер, 2000. — 384 с.: ил.
ISBN 5-272-00071-4
Учебник для технических вузов по входящим в различные дисциплины вопросам разработки интеллектуальных систем — развивающейся области информатики. Актуальность предмета определяется растущим применением инженерии знаний и системного анализа в различных областях деятельности.
Особенностью изложения является его практическая направленность: освоения имеющегося материала достаточно для начала самостоятельной работы над созданием интеллектуальной системы, основанной на знаниях.
В учебнике учтена все возрастающая роль Интернета, и потому подробно рассматривается применение инженерии знаний в Сети.
•ББК 32.973.23-018я7
УДК 681.3.016(075)
ISBN 5-272-00071-4ISBN 5-272-00071-4©Т. А. Гаврилова, В. Ф. Хорошевский, 2000
ISBN 5-272-00071-4
ISBN 5-272-00071-4
© Серия, оформление. Издательский дом «Питер», 2000
Содержание
Предисловие6
Об авторах8
От издательства 8
Введение в интеллектуальные системы9
Краткая история искусственного интеллекта9
Основные направления исследований в области искусственного интеллекта 15
Представление знаний и вывод на знаниях 19
Нечеткие знания31
Разработка систем, основанных на знаниях 39
Введение в экспертные системы. Определение и структура39
Классификация систем, основанных на знаниях41
Коллектив разработчиков45
Технология проектирования и разработки49
Теоретические аспекты инженерии знаний59
Поле знанийJ59
Стратегии получения знаний67
Теоретические аспекты извлечения знаний71
Теоретические аспекты структурирования знаний90
Технологии инженерии знаний 99
Классификация методов практического извлечения знаний99
Коммуникативные методы102
Текстологические методы124
Простейшие методы структурирования 131
Состояние и перспективы автоматизированного приобретения знаний137
Примеры методов и систем приобретения знаний145
Новые тенденции и прикладные аспекты инженерии знаний 161
Латентные структуры знаний и психосемантика161
Метод репертуарных решеток 176
Управление знаниями 183
Визуальное проектирование баз знаний как инструмент познания190
Проектирование гипермедиа БД и адаптивных обучающих систем195
Программный инструментарий разработки систем, основанных на знаниях 203
Технологии разработки программного обеспечения — цели, принципы, парадигмы203
Методологии создания и модели жизненного цикла интеллектуальных систем214
Языки программирования для ИИ и языки представления знаний218
Инструментальные пакеты для ИИ224
WorkBench-системы 231
Пример разработки системы, основанной на знаниях .... 237
Продукционно-фреймовый ЯПЗ PIL0T/2237
Психодиагностика — пример предметной области для построения экспертных систем 252
Разработка и реализация психодиагностической ЭС «Cattell»256
Представление данных и знаний в Интернете271
Язык HTML и представление знаний271
Онтологии и онтологические системы284
Системы и средства представления онтологических знаний301
Интеллектуальные Интернет-технология 317
Программные агенты и мультиагентные системы317
Проектирование и реализация агентов и мультиагентных систем323
Информационный поиск в среде Интернет335
Заключение-356
Литература358
С любовью^ учителю Д. А. Поспелову, друзьям и близким, всем, кто помог созданию этой версии учебника, 以,надеемся, будет сотрудничать с нами Залыие