ИНТЕЛЛЕКТУАЛЬНЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ

Прежде чем перейти к обзору и классификации лингвисти­ческих программ, необходимо остановиться на определении и описании интеллектуальных информационных систем. Это связано с тем, что большой класс лингвистических программ построен по принципу функционирования этих систем. Кроме того, во многих лингвистических программах используются те или иные технологии искусственного интеллекта.

Искусственный интеллект

(Artificial Intelligence)

■ .■,■■■. . ■ i . ■

Исследования по искусственному интеллекту уходят корня­ми в далекое прошлое. Природу знаний и природу размышле­ний изучали Аристотель, Платон и Сократ, но собственная ис­тория искусственного интеллекта как науки началась уже в наше время.

Термин «искусственный интеллект» впервые ввел Джон Маккарти, профессор Стэнфордского университета, автор мно­гих ярких работ. Искусственный интеллект (AI) представляет собой набор техник программирования, заставляющих компь­ютер действовать подобно человеку. Идея искусственного ин­теллекта имеет приблизительно 35-летний возраст, но только недавно появились достаточно мощные компьютеры, чтобы де­лать коммерчески привлекательными AI-приложения. AI-исследования развились в пять отдельных, но связанных областей:


 

— естественные языки;

— робототехника;

— системы ощущения (системы зрения и слуха);

— экспертные системы;

— нейронные сети.

Чтобы работать с естественными языками, необходимо созда­ние систем, которые переводят обычные человеческие инструк­ции в язык, который компьютеры могут понимать и выполнять. Робототехника в большей степени относится к промышленно­сти. Исследование систем ощущения направлено на создание машин, обладающих визуальными и слуховыми способностя­ми, которые воздействуют на их физическое поведение. Други­ми словами, это исследование нацелено на создание роботов, которые могут видеть или слышать и реагировать соответствен­но тому, что они видят или слышат.

Экспертные системы — это системы, которые используют логику принятия решения человека-эксперта. Самая новая от­расль AI — нейронные сети, которые устроены по аналогии с тем, как работает человеческая нервная система, но фактически используют статистический анализ, чтобы распознать модели из большого количества информации посредством адаптивного изучения.

Нейронные сети

В то время как экспертные системы пробуют ввести опыт лю­дей в компьютерную программу, нейронные сети пытаются со­здать значимые модели из большого количества данных. Нейрон­ные сети могут распознавать модели, недостаточно ясные для лю­дей, и адаптировать их при получении новой информации.

Ключевая характеристика нейронных сетей состоит в том, что они обучаются. Программой нейронных сетей сначала дает­ся набор данных, состоящих из многих переменных, связанных с большим количеством случаев, или исходов, в которых ре-


 




зультаты известны. Программа анализирует данные и обрабаты­вает все корреляции, а затем выбирает набор переменных, кото­рые строго соотнесены с частными известными результатами как начальная модель. Эта начальная модель используется, что­бы попробовать предсказать результаты различных случаев, а предсказанные результаты сравниваются с известными резуль­татами. Базируясь на этом сравнении, программа изменяет мо­дель, регулируя параметры переменных или даже заменяя их. Этот процесс программа нейронных сетей повторяет много раз, стремясь улучшить прогнозирующую способность при наладке модели. Когда в этом итерационном подходе дальнейшее усо­вершенствование исчерпывается, программа готова делать пред­сказания для будущих случаев.

Как только станет доступным новое большое количество случаев, эти случаи также вводятся в нейронную сеть, и модель еще раз корректируется. Нейронная сеть обучается в основном относительно причинно-следственных моделей из этих допол­нительных данных, и ее прогнозирующая способность, соответ­ственно, улучшается.

Коммерческие программы нейронных сетей доступны за приемлемую цену, но наиболее трудная часть создания и приме­нения нейронных сетей — частый сбор данных и обеспечение данных. При этом возрастает число развертывающихся прило­жений. Bank of America применяет нейронную сеть для оценки коммерческих заявок на получение ссуды. American Express ис­пользует нейронную систему, чтобы читать почерк на кредит­ной карте; штат Вайоминг — чтобы читать заполненные от руки налоговые формы. Oil giant Arco с ее помощью пытается обна­ружить места газовых и нефтяных месторождений под поверх­ностью земли. Mellon Bank работает над нейронной системой, которая ускорит распознавание мошеннических подделок кре­дитных карточек, контролируя такие показатели, как частота использования кредитной карточки и размеры расходов отно­сительно предельного размера кредита. Журнал Spiegel, кото­рый создает каталоги для продажи по почте, использует ней­ронную сеть как способ сокращения списка рассылки, чтобы устранить тех, кто маловероятно закажет журнал снова.


Экспертные системы

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

Опыт разработки экспертных систем позволяет выделить следующие этапы при их создании:

идентификация — определение проблемы, ресурсов, целей,
экспертов; неформальное (вербальное) описание проблемы;

формализация — выражение введенных понятий на некото­
ром формальном языке, построение модели исследуемой
области;

этап выполнения — создание одного или нескольких прото­
типов;

этап тестирования — оценка выбранного метода представ­
ления знаний и работоспособности всей системы в целом на
основе проверки прототипа;


 




этап опытной эксплуатации — проверка пригодности систе­
мы для конечного пользователя;

модификация системы — полное перепрограммирование или
доведение прототипа до состояния программного продукта.

Известны три основные разновидности исполнения экспер­тных систем.

 

1. Экспертные системы, выполненные в виде отдельных
программ на некотором алгоритмическом языке, база
знаний которых является непосредственно частью этой
программы. Как правило, такие системы предназначены
для решения задач в одной фиксированной предметной
области.

2. Оболочки экспертных систем — программный продукт,
обладающий средствами представления знаний для оп­
ределенных предметных областей. Задача пользователя
заключается не в непосредственном программировании,
а в формализации и вводе знаний с использованием пре­
доставленных оболочкой возможностей. Недостатком
этих систем можно считать невозможность охвата одной
системой всех существующих предметных областей.

3. Генераторы экспертных систем — мощные программные
продукты, предназначенные для получения оболочек,
ориентированных на то или иное представление знаний
в зависимости от рассматриваемой предметной области.

Для построения и проектирования экспертных систем необ­ходимо:

а) определение организационных и математических основ
экспертных систем;

б) определение исходных понятий и логических основ, эта­
пов создания и средств обработки базы знаний;

в) рассмотрение этапов создания экспертной системы, про­
ектирование автоматизированных информационных си­
стем и проектирование баз данных, а также проектирова-


ние и создание интерфейса пользователя, ориентирован­ного на мировые стандарты.

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

Под базой знаний понимается отражение знаний эксперта о предметной области, способы анализа поступающих фактов и методы вывода, т.е. порождение новых знаний на основании имеющихся и вновь поступивших. Наиболее определенными и широко используемыми в современных информационных сис­темах являются следующие виды знаний:

— глубинные и поверхностные;

— качественные и количественные;

— приближенные (неопределенные) и точные (определенные);

— конкретные и общие;

— описательные и предписывающие.

При построении экспертной системы с особой остротой встал вопрос о том, какие знания должны быть в них представ­лены и в какой форме. Структура знаний зависит от сферы их использования и может носить довольно сложный характер. Эта структура включает в себя:

а) различные факты из предметной области;

б) взаимосвязи между ними;

в) правила действий.

Знание, полученное инженером знания, затем загружается в компьютерную систему в специализированном формате — в блоке, названном базой знаний. Эта база знаний содержит пра-


 



3 Заказ 105



вила и заключения, которые используются при принятии реше­ний, а также параметры, или факты, необходимые для решения.

Экспертные системы относят к числу интеллектуальных вы­числительных систем. Они предназначены для моделирования или имитации опытных специальных экспертов при решении задач по какому-либо узкому вопросу. Экспертные системы призваны оказывать помощь специалистам, когда их собствен­ных знаний, опыта и интуиции не хватает для самостоятельного решения возникающих проблем. Такие системы представляют собой машинные программы, решающие задачи примерно так же, как решает их эксперт в реальной обстановке. Это позволя­ет накапливать, систематизировать и сохранять знания и про­фессиональный опыт тех экспертов, которые выполняют конк­ретные задачи наилучшим образом.

Стандартная архитектура экспертной системы представлена на рис. 2.

 

Рис. 2. Архитектура экспертной системы

Характеристики экспертных систем:

1) способность рассуждать при неполных и противоречи­
вых данных;

2) способность объяснять цепочку рассуждений понятным
для пользователя способом;

3) конструкция системы должна обеспечивать возможность
эволюционного наращивания базы знаний;


 

4) на выходе экспертная система должна выдавать совет —
не таблицу цифр или красивые картинки, а четкий совет;

5) система должна быть экономически выгодна.

Не останавливаясь на подробном перечне многочисленных об­ластей применения, отметим лишь некоторые сферы, в которых экспертные системы были успешно опробованы: химия, сельское хозяйство, электроника, образование, финансы, геология, меди­цина, военное дело, программное обеспечение и многие другие. Ныне эти системы активно используются в разнообразных про­цессах компьютерной обработки лингвистических данных.

Из перечня основных типов решаемых ими задач можно выде­лить интерпретацию, прогноз, диагностику, проектирование, пла­нирование, управление, наблюдение, отладку, ремонт, обучение.

В качестве критериев, по которым можно судить о возможно­сти создания экспертной системы, следует отметить следующие:

• необходимость символьных рассуждений; очевидно, нет смыс­
ла разрабатывать экспертную систему для численных расче­
тов, например, для преобразований Фурье, интегрирования,
решения систем алгебраических уравнений и др.;

наличие экспертов, компетентных в избранном круге вопро­
сов, которые согласны сотрудничать при создании ЭС;

важность и актуальность поставленной проблемы. Это могут
быть проблемы, требующие высокого уровня экспертизы,
либо простые, но трудоемкие, многократно повторяющиеся
проверки. Нет смысла тратить время на решение проблем,
которые возникают редко и могут быть разрешены челове­
ком с обычной квалификацией;

• четкое ограничение круга решаемых задач, т.е. выбор доста­
точно «узкой» предметной области,
чтобы избежать «комби­
наторного взрыва» объема информации, необходимой для
компетентного решения поставленной задачи;

• наличие согласованных мнений экспертов о том, как следует
решать поставленные задачи, какие факты необходимо ис­
пользовать и каковы общие правила вынесения суждений.


В противном случае невозможно расширить базу знаний за пределы опыта одного человека и осуществить сплав экс­пертных знаний из нескольких областей;

достаточность исходных данных для проверки работоспособ­
ности экспертной системы в выбранной предметной облас­
ти, чтобы разработчики смогли убедиться в достижимости
некоторого заданного уровня ее функционирования;

• обеспечение возможности постепенного наращивания систе­
мы. База знаний должна легко расширяться и корректиро­
ваться, так как правила часто меняются с появлением новых
фактов.

Ценность использования ЭС проявляется, как правило, в следующих аспектах:

— в сборе, оперативном уточнении, кодировании и распрост­
ранении экспертных знаний;

— в эффективном решении проблем, сложность которых пре­
вышает человеческие возможности и для которых требуются
экспертные знания нескольких областей;

— в сохранении наиболее уязвимой ценности коллектива — кол­
лективной памяти.

Создание баз знаний открывает широкие возможности, ко­торые обусловлены безошибочностью и тщательностью, прису­щими ЭВМ, и синтезом знаний экспертов. Если база знаний объединяет информацию по нескольким дисциплинам, то та­кой сплав знаний приобретает дополнительную ценность.

 

-

 



php"; ?>