Извлечение знаний. Уровни приобретения знаний. Техника извлечения знаний.


Работа, связанная с получением знаний, имею¬щихся у конкретного лица, называется извлечением знаний, в инженерии знаний эта работа имеет нема¬ловажное значение. Необходимостью извлечения зна¬ний специалиста разработчиком экспертной системы нельзя пренебрегать не только из-за того, что пол¬ностью автоматизировать этот процесс необычайно сложно, но и из теоретических соображений. Рассмотрим проблемы извлечения знаний, ис¬ходя из этой точки зрения, и некоторые методы, предложенные к на¬стоящему времени для извлечения знаний.
ИНЖЕНЕРИЯ ЗНАНИЙ

Приобретение знаний в узком смысле слова — это работа по наполнению баз знаний. В этом случае данными являются форма пред¬ставления знаний и методы их использования (напри¬мер, формулы выводов).
Приобретение знаний в этом смысле сложная работа, на практике в ходе этой работы ча¬сто выявляются недостатки базового понимания проб¬лемной области, в которой будет применяться си¬стема, недостатки формы представления знаний и методов их использования. Это также следствие отсут¬ствия теории. Поэтому на основе существующих баз данных осуществляют пересмотр понятий проблемных областей и повторное изучение систем, включая базы знаний. Эту работу, выполняемую в дополнение к приобретению знаний в узком смысле, можно назвать приобретением знаний в широком смысле слова. На практике эта работа тесно связана со всем процессом разработки экспертных систем — от возникновения замысла до ее реализации и совершенствования. Процесс органи¬зации знаний в базу и построения экспертных систем называют также инженерией знаний.

УРОВНИ ПРИОБРЕТЕНИЯ ЗНАНИЙ

Существует по меньшей мере три уровня методов оснащения программ экспертными знаниями.
Первый уровень (наиболее простой). Это этап создания алгоритма, взятого из литературы или при¬думанного специалистом или проектировщиком сис¬темы, и преобразование его в программу самими проектировщиками. На практике трудноосуществим.
Второй уровень. Программа может заполнить про¬белы в знаниях, например из литературы, описывая объекты или формируя этапы (план) работ.
Третий уровень. Программа самостоятельно при¬обретает алгоритмические знания, «читая» книги. Разумеется, способность «чтения» книг, как мы уви¬дим из примеров систем второго уровня, подразуме¬вает несовершенство того, что мы называем книгой. Это интеллектуальные способности высокого уровня, которые позволят не только каким-то образом усвоить содержание книг, подобно тому как загружаются программы в компьютер, но и использовать инфор¬мацию как подсказку или совет.
В настоящее время большинство компьютерных программ—это программы первого уровня. Напри¬мер, в случае программ численных расчетов или диагностических систем, базирующихся на логических операциях, проектировщики программ, включая тех, кого называют системными аналитиками, должны путем изучения теорий в проблемной области, ана¬лиза работ или через разговоры со специалистами сами преобразовывать знания в программы.
Наиболее просто программировать то, что заранее систематизировано и для чего определены правила обработки, например, коммерческие расчеты на пред¬приятиях.
Для того, что не систематизировано, не поддается описанию, например для стратегии игр на досках (шахматы, го и др.), невозможно заранее определить алгоритм, гарантирующий решение. Поэтому проек¬тировщик программ должен представить разрозненные знания в виде программы, которую можно выполнить. Стратегию игры в шах¬маты, как и других игр на доске, часто представляют в виде дерева, но такой алгоритм основан на способности человека к перебору вариантов, и для его реа¬лизации в программе проектировщику придется ин¬терпретировать и детализировать описания этих ва¬риантов. К первому уровню принадлежит также про¬грамма Dendral для интерпретации масс-спектро¬грамм.
Усовершенствованная программа Meta Dendral относится ко второму уровню, поскольку она расши¬ряет теорию стабильности молекулярных соединений, осуществляя открытие конкретных соединений. Но если бы программа сама изучала учебники по химии и развивалась, оперируя новыми группами химиче¬ских соединений, то она принадлежала бы к третьему уровню.
Процесс получения знаний от человека с целью их передачи программам первого уровня называется извлечением знаний. Что считать извлечением знаний на втором и третьем уровне? Что такое знания? Что значит «хорошо знать»? Эти воп¬росы—одни из основных в теории мышления.

ИЗВЛЕЧЕНИЕ ЗНАНИЙ

В чем же особенность извлечения знаний для экс¬пертных систем? Ответ можно получить, ответив на другой вопрос: «Откуда, что и как извлекать?». Ис¬точниками знаний в общем случае можно считать эксперта, разработчика системы и пользователя. На практике один и тот же человек может играть несколько ролей. Вопрос «Что извлекать и откуда?» трудно отделить от вопроса «Как?», но для того, чтобы извлечение знаний не было сведено к простой процедуре, прежде всего необходимо ответить на первый вопрос. Ответ на второй вопрос должна дать соответствующая техника, моделирование и планиро¬вание всего процесса извлечения знаний.

ОТКУДА ИЗВЛЕКАТЬ ЗНАНИЯ.

Источниками знаний для экспертных систем могут быть учебники, справочники, материалы конкретных исследований в проблемной области и т. п. Кроме того, нередко сами разработчики системы уже имеют знания в соответствующей области. Хотя классический источник знаний — это эксперт в данной области, знания от которого получает разработчик систем, выступающий в роли инженера по знаниям.
Кто же такой эксперт? Это либо специалист в отличие от обычного инженера, либо человек с опытом в отличие от новичка. Как правило, психологов интересует эксперт в последнем смысле.
На сравнительно ранних этапах исследований экспертом считали любого человека. Качественного различия между новичком и экспертом не предпола¬галось, просто эксперт знает больше и может рабо¬тать лучше и быстрее. Подобное различие может быть обусловлено разницей во времени обучения и за¬нятий по подготовке эксперта, достигающего по про¬должительности пяти тысяч часов. Последние десять лет при исследованиях в области психологии мышления чаще всего и эксперту и новичку давали одни и те же задания, а затем сравнивали, различия в их реакции. Подразумевалось, что понять особенности эксперта как объекта сравнения на контрастных при¬мерах легче, чем изучать только его выдающиеся способности в конкретной области. В частности, пре¬обладало мнение, что новичок — это тот же эксперт, знания которого не наполнены содержанием, и вы¬двигали гипотезу, что эксперт может получиться из новичка, если последнему дать недостающие знания. Сегодня существует аналогичная точка зрения о том, что экспертная система с незаполненной базой зна¬ний — это система-новичок, из нее образуется настоя¬щая экспертная система, если в нее вложить модули-знания, например, правила продукций.
Кстати, когда чуть более детально изучали пове¬дение новичка, то стало очевидным, что его особенно¬сти качественно отличаются от особенностей экс¬перта. Есть классический образ поведения новичка, который можно выразить тремя словами: торопится выдать решение.
Известно, что чем выше способности эксперта в проблемной области, тем более он не способен к описанию знаний, используемых им для решения за¬дачи. Уотерман это назвал парадоксом инженерии знаний. Если спросить у эксперта, что он конкретно делает, решая задачу, то он объяснит наиболее прав¬доподобный, по его мнению, но совершенно отличный от реального процесс рассуждений, поэтому здесь нужно быть осторожным. Необходимо по возможно¬сти выдвинуть гипотезу о том, что эксперт считает своим процессом рассуждения, и проверить ее каким-либо способом. Это же относится и к случаю, когда эксперт извлекает собственные знания. По мнению Уотермана, лучше избегать совмещения функций ин¬женера по знаниям и эксперта (совет Уотермана), но разумность этого совета еще не подтверждена.
Существует мнение, что знания эксперта систематизируются вместе с внешней моделью задачи и мгновенно выбираются из памяти в ответ на каждую кон¬кретную ситуацию, и лишь в ситуации, с которой эксперт сталкивается впервые, порядок их выборки будет определяться сознательно по наиболее общим закономерностям. Не всегда можно гарантировать, что поведение эксперта будет именно таким, но если счи¬тать это советом для успешного извлечения знаний, то в такой гарантии нет необходимости. Если данное мнение верное, то не будет ли легче извлекать общие закономерности, ставя каждый раз эксперта в сравни¬тельно новую ситуацию?
Эксперт, как правило, может точно указать, что находится в центре его внимания, но не даст разум¬ного объяснения действия этого центра на процесс рассуждений, а когда его спрашивают, о чем он ду¬мал, он не может дать точного ответа. Существуют заметные индивидуальные различия способностей че¬ловека к так называемому самонаблюдению, когда он следит и анализирует собственный процесс мыш¬ления, причем эта способность совсем не зависит от того, является ли он экспертом.
Разумеется, пользователь, как и эксперт, также важный источник знаний. Понятие «пользователь» на самом деле достаточно нечеткое: оператор системы, исполнитель, получатель — все они пользователи в широком смысле слова. Однако их обязанности носят различный характер, поэтому по сути их следовало бы изучать по отдельности. А пока временно ограни¬чимся людьми, которые благодаря непосредственному общению с экспертной системой демонстрируют спо¬собности, аналогичные способностям эксперта.

ЧТО ИЗВЛЕКАТЬ

Независимо от выбранных методов извлечения знаний специалисты по построению экспертных систем будут переносить в них знания, надеясь получить их от экс¬пертов. Если функции системы уже определены, то, естественно, самое важное — получить правила выво¬дов, которые необходимы для реализации этих функ¬ций.
1. Базовая структура. Очень важно перечислить объекты, понятия и атрибуты, которые формируют базовую структуру проблемной области, и знать свой¬ства области. Связь между объектами, понятиями и атрибутами организуется через правила вывода. Сле¬довательно, адресуя эксперту вопросы о том, что должна советовать система, какие блоки образуют систему и из каких блоков состоят эти блоки, можно уточнить язык описания правил, например, подобных правилам, встроенным в систему EMYCIN.
2. Критерии разумности. Почему эксперт решает не¬которую проблему именно данным способом? Может быть, этот способ имеет высокую эвристическую цен¬ность, а может, подготовлен на случай неудачи? Ка¬кая этому способу необходима поддержка?
3. Средства, используемые экспертом. Рентгенограммы, используемые экспертом-травматологом, мо¬дели принятия решений, используемые экспертом по принятию решений, и т. п. — все это средства, кото¬рые доступны только экспертам, они являются как бы продолжением рук экспертов. Одна из целей реа¬лизации экспертных систем — облегчить применение таких средств неспециалистам, поэтому желательно получить от экспертов знания по их использованию.
Кроме того, необходимо извлекать знания и правила выводов, которые непосредственно поме¬щаются в базу знаний системы.

КАК ИЗВЛЕКАТЬ ЗНАНИЯ.

В литературе по построению экспертных систем об¬суждаются методы извлечения знаний, которые под¬черкивают преимущества выбора того или иного под¬хода к разработке системы. Рассмотрим три подхода: долговременная рабочая группа, опера¬тивное создание прототипа и подход «особое внима¬ние анализу знаний.
Долговременная рабочая группа. Эксперты и ин¬женеры по знаниям организуют долговременную группу с целью совместного создания моделей и про¬грамм решения задач.
Оперативное создание прототипа. При этом под¬ходе образуется инициативная группа экспертов, и после того, как инженеры по знаниям усваивают первоначальные знания о проблемной области, экс¬пертов подробно расспрашивают и в сжатые сроки завершают разработку программы, которая считается прототипом. Затем в основном ведутся работы по оценке и модификации полученной экспертной систе¬мы. При этом подходе соз¬дается эскиз системы, и при необходимости иногда приходится отказываться от всего. Прототип разра¬батывается как своего рода полигон для того, чтобы вызвать у экспертов достаточный интерес и энтузиазм к построению экспертной системы, поэтому этим под¬ходом не следует слишком увлекаться.
Особое внимание анализу знаний. В основе этого подхода лежит по возможности подробный предвари¬тельный анализ знаний и методов решения задач в проблемной области. За проектирование и реализа¬цию системы принимаются только после всесторон¬него анализа знаний.
Цель анализа состоит в уменьшении риска и затрат на построение экспертной системы. Подробно указать функции системы трудно, если не принимать во внимание идеи проектирования и реализации, по¬этому с целью подтверждения возможности, полезно¬сти и реализуемости системы собирают информацию для уточнения ограничений при принятии важных проектных решений, не создавая какую-либо прототипную систему. Такие решения связаны, например, с глубиной и формой представления знаний.
Еще один стимул к серьезному анализу знаний связан с тем, что очень трудно заинте¬ресовать экспертов на долгое время. Если заранее собрать и проанализировать важнейшую информа¬цию, то зачастую можно принять решение о проектировании и реализации на основе собранной информа¬ции, уже не поддерживая связи с экспертами.
Все эти подходы взаимно не противоречат друг другу, но отличаются расстановкой акцентов. Видны и сла¬бости таких подходов, как оперативное создание про¬тотипа и методов постепенной разработки. Подробно остановимся на подходе «особое внимание анализу знаний», предложив конкретный план его реализации.
Процесс анализа знаний удобно разбить на два больших этапа. Цель первого этапа — определение ролей, которые будут играть проектируемая экспертная система и пользователь. Следовательно, здесь не¬обходимо провести анализ проблемной области, опре¬делить решаемые задачи и собрать информацию о рабочей среде экспертов и экспертной системы.
Цель второго этапа — подробное указание работ, которые должна выполнять экспертная система при условии, что определены функции человеко-машинной системы, состоящей из самой системы и пользова¬теля. В эти указания включают также знания для реализации экспертных способностей и правила логи¬ческих выводов.
После завершения определения функций создают так называемую интерпретационную модель, предназ¬наченную для интерпретации данных, полученных при извлечении знаний. Теперь уже можно описывать в терминах интерпретационной модели информацию от экспертов и других источников.

ТЕХНИКА ИЗВЛЕЧЕНИЯ ЗНАНИЙ

Технику извлечения знаний можно разделить на шесть, основных классов: опрос с наводящими вопро¬сами, структурированный опрос, самонаблюдение, са¬моотчет, диалог, критический обзор. Каждый класс, в свою очередь, состоит из нескольких технических ме¬тодов, но подробную классификацию опустим и ука¬жем только, что цель извлечения знаний может быть достигнута различными способами в зависимости от того, как эти знания будут анализироваться.
1. Опрос с наводящими вопросами. Это метод, наи¬более близкий к традиционному диалогу. Главное от¬личие в том, что инициатива в этом опросе принадле¬жит одному из партнеров, который и подготавливает предварительно тему разговора. Основные структур¬ные элементы опроса — предложение темы и поиск информации.
Цели. Ключевыми считаются вопросы, ответ на которые дать Сравнительно просто, поэтому можно привести следующие примеры информации, которую можно извлечь:
— фактические знания, которые не систематиче¬ски описаны в литературе;
— типы задач, решаемых экспертом, и особенно¬сти проблемной области;
— способности, которые может проявить эксперт в проблемной области;
— объекты и посредники действий эксперта в его рабочей среде;
— характеристика людей, получающих помощь эксперта, и т. п.
Начальные условия. Необходимые условия для проведения опроса такого рода не очень жесткие, по¬этому они соответствуют первому этапу извлечения знаний. Главное условие—достаточный терминоло¬гический запас у ведущего опрос, другими словами, эксперт должен более или менее понимать, о чем идет речь.
Возможное управление. Ведущий опрос может в какой-то степени управлять извлечением знаний, ис¬пользуя заданную последовательность выбора тем. Кроме того, можно применять различную технику «зондирования» в диалоге для получения инфор¬мации.
2. Структурированный опрос. В опросе с наводящими вопросами инженер по знаниям использовал вопросы только в целях «зондирования», а здесь с помощью заранее подготовленных разнообразных вопросов он узнает о каких-либо понятиях и моделях, или, говоря образно, о корнях и листьях. Вопросы об ожидаемом влиянии, достоверности, просьбы об объяснении, при¬меры и контрпримеры — все это может стать очень полезным для глубокого прослеживания структуры понятий. Однако есть риск, что эксперт будет отве¬чать не думая.
Начальные условия. Условия проведения струк¬турированного опроса более жесткие, чем опроса с на¬водящими вопросами. Инженер по знаниям должен хорошо владеть терминологией, используемой экспер¬тами, а если уже просит разъяснений, то должен их понимать. Техника опроса также должна быть дове¬дена до определенного уровня, а эксперту необходи¬мо быть готовым к ответам даже на неприятные, вопросы.
Цели. Подробно обсуждаются следующие вопросы:
— структура нескольких понятий;
— содержание и функции моделей решения задач;
— разумность, обоснованность, причины выбора действий экспертом и т. п.
3. Самонаблюдение. Эксперта просят говорить все, что приходит ему в голову, о том, какую задачу он решает и как он это делает. Это своего рода раз¬мышления вслух, хотя эксперт вряд ли будет делать это при решении задач на практике.
Цели. Извлекается следующая информация:
— описание в общих чертах стратегии, которой, по мнению эксперта, он придерживается при решении некоторой задачи;
— рассуждения о разумности решений и идей, по¬явившихся в процессе логических выводов;
— общая информация о типе знаний, которые, как считает эксперт, он использует в процессе решения задачи.
Начальные условия. Не должно быть препятствий для размышления вслух.
4. Самоотчет. Это так называемые ортодоксальные рассуждения вслух, когда одновременно с выполне¬нием некоторой работы эксперт самому себе дает от¬чет о том, что он делает и что думает. Этот процесс не требует пояснений, не нужно доискиваться до при¬чин и определять разумность действий.
Цели:
— выясняется, где и для чего эксперт использует специальные знания в процессе решения задачи;
— уточняются подробности стратегии решения за¬дач и управления выводами;
— получаются критерии и материалы для оценки готовой экспертной системы;
— определяется, из каких шагов состоит процесс решения задачи.
Начальные условия:
— инженер по знаниям должен понимать, до ка¬кого момента он не смог повторить решение задачи эксперта;
— необходимо создать условия для успешного ре¬шения типичных задач экспертом;
— эксперт должен привыкнуть к рассуждению вслух;
— эксперту должна быть понятна необходимость сбора данных самоотчета до тех пор, пока не будет получена более четкая информация.
5. Диалог. Нередко служба консультаций, созданная при вычислительном центре, не понимая важности своей работы, отсылает задающего вопросы к спра¬вочникам. Опытный консультант, сам выдвинув не¬сколько гипотез о полученной задаче, задает пришед¬шему на консультацию наводящие вопросы и дает советы. Он может также вносить поправки в поясни¬тельные схемы, которые рисует неспециалист, и даже давать готовые решения, но в терминах, понятных не¬специалисту.
Консультант, мысленно разобравшись с задачей, не думает решать ее вместо своего собеседника. Он поддерживает с ним разговор, дает советы и помогает ему самому решить задачу.
Экспертные способности по существу и демонст¬рируются в процессе диалога с неспециалистом. Лю¬бая консультация — это обмен информацией между экспертом и неспециалистом. Для получения инфор¬мации о процессе совместного решения задачи недо¬статочно одного лишь опроса эксперта или его самоотчета, для этого предназначен метод непосредственного наблюдения и регистрации основных моментов диалога.
Добавим к этому, что необходимым условием удобного интерфейса между создаваемой экспертной системой и пользователем является возможность де¬лать выводы на основе информации, полученной из наблюдений за диалогом. Заметна тенденция вначале создавать систему решения задач (ядро экспертной системы), а уже потом добавлять к ней человеко-ма¬шинный интерфейс, хотя во многих системах, внед¬ряемых на предприятиях, например в системе финан¬совых расчетов, большая часть усовершенствований по просьбе пользователей касается именно ввода-вы¬вода, а правильность сопутствующих вычислений почти всегда считается очевидной.
Инженер по знаниям либо непосредственно ведет запись диалога эксперта с неспециалистом, либо сам выступает в роли неспециалиста.
6. Критический обзор. Обычно критический обзор ис¬пользуется для извлечения так называемых метазна¬ний — это повторное изучение знаний, извлеченных другими методами, совместно с экспертом — источни¬ком информации. При этом нередко заполняются пробелы в уже извлеченных знаниях, случается, что ставится под сомнение качество извлечения знаний. План критической оценки и совершенствования про¬тотипа системы с участием экспертов в этом смысле также можно назвать разновидностью критического обзора.