Учебный процесс в современном учебном заведении, будь то общеобразовательная школа, профессиональное училище или вуз, невозможно представить без применения ком? пьютеров. Компьютер в обучении может использоваться по?разному: как средство обуче? ния, используемое преподавателем для успешного усвоения обучаемыми содержания того или иного предмета, как предмет изучения, когда преподаются основы его архитектуры и программного обеспечения, наконец, как средство для самостоятельного изучения учебно? го материала. В последнем случае это так называемое компьютеризованное или компью? терное обучение, безусловно, самое перспективное направление применения компьютера в обучении. Возникновение вычислительных сетей, в том числе глобальной сети Интернет, быстрое развитие средств мультимедиа привело к таким новым возможностям как дистан? ционное обучение, разработка тренажеров?имитаторов и т.п. В то же время развитие ком? пьютерного обучения не было легким. Оптимистические прогнозы первых лет вскоре сме? нились почти всеобщим разочарованием, которое в полной мере не преодолено и до сих пор.
На первом этапе разработки средств компьютерного обучения (так называемых автома?тизированных обучающих систем, АОС) использовались методики, названные программи?рованным обучением. Они были предложены еще в пятидесятые годы американскими пе? дагогами Б. Скиннером и Н. Краудером. Б. Скиннер предложил линейную методику, заклю? чавшуюся в последовательном предъявлении обучаемому «кадров», т.е. небольших по объему фрагментов учебного материала, сопровождавшихся контрольными вопросами. Следующий кадр предъявлялся только после освоения предыдущего, причем обучаемый должен был самостоятельно сравнить полученный им ответ на контрольный вопрос с пра? вильным ответом, выдаваемым компьютером. Линейные программы лишь в малой степени использовали возможности компьютеров и поэтому в 1970?х годах их применение было практически прекращено. Н. Краудер усовершенствовал методику Б. Скиннера, включив в нее элемент индивидуализации процесса обучения путем ветвления программ. Иначе гово? ря, следующий кадр учебного материала предъявляемый обучаемому, зависел от его отве? тов на контрольные вопросы. Эта методика оказалась более подходящей для компьютера, однако для ее применения потребовалось разработать методы анализа ответов обучаемых с целью определить, являются ли они правильными, а в случае неправильных ответов найти допущенные в них ошибки.
В большинстве ранних АОС для ветвления программ использовался так называемый метод меню: обучаемому предлагалось несколько вариантов ответа на контрольный вопрос или предложенную для решения задачу, среди которых был правильный вариант и непра? вильные варианты, как правило содержащие различные характерные ошибки. Выбранный вариант ответа определял следующий кадр учебного материала.
Недостатки метода меню очевидны. Главный из них заключается в том, что процесс по? иска ответа или решения задачи заменяется просмотром предложенных вариантов. Попыт? ки преодоления этого недостатка, например, метод скрытого меню, при котором варианты ответа обучаемому не предъявляются но служат для сравнения с введенным им ответом, не смогли решить проблему. Другим недостатком был способ формирования контрольных во? просов: они готовились вручную, что серьезно затрудняло их обновление. По этим причи? нам АОС первого поколения не нашли широкого применения, что привело к определенному кризису в компьютерном обучении, который дает о себе знать и сегодня.
Наиболее перспективным способом преодоления кризиса представляется использова? ние в обучении с помощью компьютера искусственного интеллекта, который становится в настоящее время одним из важнейших направлений применения вычислительных машин. Средства искусственного интеллекта разрабатываются с целью моделирования интеллекту? альной деятельности человека в самых разнообразных областях ее проявления. Как оказа? лось, важную роль искусственный интеллект может играть и в компьютерном обучении. Обучающие системы нового поколения обычно называются экспертно?обучающими систе? мами (ЭОС). Они часто содержат в своем составе те или иные средства искусственного ин?теллекта. Хотя ЭОС разрабатываются как в нашей стране, так и за рубежом, их применение носит пока ограниченный характер. Это объясняется рядом причин, среди которых отметим трудности, с которыми сталкиваются преподаватели при формализации учебного материа? ла, необходимость участия в эксплуатации систем опытных программистов, слишком слож? ный итерфейс, т.е. совокупность средств взаимодействия пользователей с вычислительной системой. Да и возможности, открывающиеся перед разработчиками при использовании искусственного интеллекта, пока используются далеко не в полной мере. Тем не менее оче? видно, что создание ЭОС, свободных от перечисленных недостатков, – дело ближайшего будущего.
Под искусственным интеллектом понимается обычно способность автоматических или автоматизированных систем брать на себя некоторые функции интеллекта человека, на? пример, принимать оптимальные решения на основе анализа внешних воздействий и с уче? том ранее полученного опыта. Можно выделить несколько направлений, в которых разви? ваются средства искусственного интеллекта. Среди них отметим экспертные системы, интел? лектуальные игры, распознавание образов, робототехнику, общение с ЭВМ на естественном языке. К одному из направлений развития искусственного интеллекта можно отнести и обу? чение. При этом наиболее важное значение при разработке ЭОС должны играть экспертные системы и возможность общения с ЭВМ на естественном языке.
Основой любой системы искусственного интеллекта является семантическая модель знаний, которыми обладает человек в некоторой предметной области. Эту модель обычно называют базой знаний. Она должна быть представлена таким образом, чтобы не только фиксировать имеющиеся знания, но и давать возможность получать на их основе новые знания, относящиеся к выбранной предметной области. Процесс, с помощью которого по? лучаются новые знания, – это логический вывод или, другими словами, дедуктивный метод доказательства, формулируемый в рамках математической логики. Из сказанного видно, что систему искусственного интеллекта можно рассматривать как совокупность знаний и механизма логического вывода.
Знания можно представлять различным образом. Известны системы, в которых они представляются семантическими сетями, фреймами, с помощью продукционных правил, с помощью логики предикатов. Именно последний метод наиболее важен, по крайней мере при использовании средств искусственного интеллекта в компьютерном обучении. В этом случае база знаний представляется в виде фактов и правил. Факты используются для пред? ставления известных знаний. Правила позволяют выводить новые знания. В общем виде они могут быть представлены выражением “Если А, то В”, т.е. «Если истинно знание А, то истинно знание В». Для того чтобы подробнее описать модель представления знаний в ло? гике предикатов и принципы построения механизма логического вывода, необходимо по? знакомить читателя с некоторыми понятиями математической логики, что, к сожалению, выходит за рамки настоящей статьи.
Как уже было упомянуто выше, важную роль в новых обучающих системах должны иг? рать экспертные системы. Под экспертной системой понимается программная система, ко? торая действует как квалифицированный консультант, эксперт. Она может предсказывать развитие событий, ставить диагноз, формулировать решение или рекомендовать те или иные действия. Экспертные системы отличаются от традиционных программных систем в трех отношениях. Во?первых, они часто работают на основе неполных и субъективных зна? ний. Во?вторых, они могут объяснять пользователям, как получены результаты, путем де? монстрации правил, с помощью которых эти результаты были выведены. В?третьих, они имеют встроенный механизм пополнения базы новыми знаниями. Технологически эксперт? ные системы создаются с помощью так называемых оболочек, т.е. своего рода программных систем?полуфабрикатов. Они позволяют быстро разработать конкретные экспертные систе? мы, сформировав соответствующие базы знаний и выполнив некоторые другие несложные действия.
В настоящее время разработка ЭОС идет достаточно интенсивно во многих странах. Тем не менее общепринятого определения ЭОС не существует. Мы будем отождествлять ЭОС с системами обучения, включающими в себя те или иные элементы искусственного интеллек? та. Какие же дополнительные возможности получают при этом обучающие системы? В лите? ратуре, посвященной этой тематике, обычно указываются следующие: сетевое представле? ние учебных курсов, модели обучаемых, генерация контрольных вопросов и данных для анализа ответов на них, расширяемость систем.
Сетевое представление учебных курсов предполагает принципиальное изменение их разработки по сравнению с программированным обучением Б. Скиннера и Н. Краудера. При сетевом представлении, кадры учебного материала ассоциируются с вершинами ори? ентированного графа, порядок их подачи обучаемым может варьироваться и зависит от ря? да факторов, в том числе от индивидуальных особенностей обучаемых. Модель обучаемых
– это способ задания истории обучения. Она тесно связана с сетевым представлением учеб? ных курсов и хранится в виде части сети, включающей уже пройденные данным обучаемым кадры с оценкой степени их усвоения и некоторыми дополнительными данными. Про? граммное обеспечение этого средства новых систем относительно просто и вряд ли может относиться к искусственному интеллекту.
Автоматическая генерация контрольных вопросов и данных для анализа ответов позво? ляет индивидуализировать процесс проверки усвоения учебного материала, что особенно важно при проведении групповых занятий. Для реализации этого средства могут использо? ваться различные методы. В простом случае автор курса задает общую форму однотипных вопросов, а генератор формулирует конкретные вопросы. Например, задается общая фор? ма системы линейных алгебраических уравнений, а генерируются числовые матрицы, пред? ставляющие конкретные системы. Программный модуль, вырабатывающий данные для анализа ответов обучаемого на сгенерированные вопросы, обычно называется решателем. В нашем примере решатель должен найти решения каждой конкретной системы уравнений. Эти решения можно использовать для сравнения с ответами, полученными обучаемыми, или в режиме консультации выдавать их пользователям. В более сложных случаях реша? тель должен строиться на основе баз знаний и логического вывода.
Предположим, что требуется разработать решатель для темы “дифференциальное ис? числение”, позволяющий анализировать ответы на контрольные вопросы по дифференци? рованию. Прежде всего нужно сформировать БЗ, включив в нее производные простейших функций (в виде фактов) и правила дифференцирования составных выражений – сумм, произведений, частных двух функций и пр. (в виде правил). Затем мы сможем разработатьэкспертную систему, которая позволит вычислять производные выражений, подготовлен? ных генератором для контрольных вопросов, а, следовательно, решать задачу анализа от? ветов. При этом специальный модуль экспертной системы, так называемый блок советов и объяснений, даст возможность указать обучаемым допущенные ими ошибки.
Описанный решатель может быть построен и на основе соответствующего пакета сим? вольных вычислений, однако большим преимуществом использования экспертных систем является их универсальность: одна и та же оболочка может применяться для формирования экспертных систем в различных предметных областях.
Другой возможностью, которая предоставляется включением экспертных систем в обу? чающие системы, является справочная служба и режим консультаций. Минимальные сред? ства справочного характера необходимы для любой обучающей системы, например, терми? нологический словарь, модуль типа “HELP” и пр. Привлечение аппарата экспертных систем позволит значительно расширить эти возможности и иметь в составе обучающих программ модули, оказывающие обучаемым помощь на уровне специалистов соответствующих пред? метных областей. Весьма важно и то, что наличие подобного “автоматического консультан? та” повышает уровень “дружественности” системы обучения, а это имеет первостепенное значение для повышения эффективности обучения.
Экспертные системы могут оказаться полезными для сбора информации, необходимой для совершенствования учебных курсов в процессе их эксплуатации. К такой информации относятся данные о допускаемых обучаемыми ошибках при ответах на контрольные вопро? сы. Эти данные можно получить в результате анализа работы механизма логического выво? да, пробующего вывести неверные ответы.
Наконец, отметим, что средства искусственного интеллекта, которые могут применяться в обучении, отнюдь не ограничиваются экспертными системами. Сами системы логического программирования представляют хорошие учебные средства для курсов информатики. В специализированных системах могут большую пользу принести такие разработки как рас? познавание образов, синтез программ, робототехника. Особое значение имеет естественно? языковый интерфейс, т.е. возможность общения с пользователями на естественном языке, ограниченном соответствующей предметной областью. Применение естественного языка по сути решает проблему удобного для пользователей интерфейса.
Создание ЭОС, обладающих перечисленными возможностями, – это сложный много? этапный процесс. Во время эксплуатации подобные системы должны модифицироваться и расширяться с учетом результатов их работы. Поэтому требование расширяемости на осно? ве строго выдержанной модульной структуры является весьма существенным.
В заключение несколько слов о работах, ведущихся на факультете ПМ?ПУ под руково? дством автора настоящей статьи. В 1996 году студентами факультета была разработана экс? периментальная ЭОС “Логик”, обладавшая всеми перечисленными выше средствами. В ча? стности, генерация вопросов обучаемым и анализ их ответов осуществлялись с помощью оригинальной системы предикатов. ЭОС тестировалась на ряде фрагментов обучающих курсов. К сожалению, в то время для ее широкого применения в учебном процессе условий не было. Позже были разработаны новые методы логического вывода, повышающие его эффективность, что позволяет улучшить временные характеристики экспертных систем (см. статью автора “Алгоритм построения логического вывода в искусственном интеллекте” , Санкт?Петербургский университет, ? 28, ноябрь 21, 2001).
В 2001 году была разработана ЭОС “Formula Tutor”. Предметной областью системы яв? ляются учебные курсы точных наук, поэтому она ориентирована прежде всего на обучение применению формул. Система включает два интерфейса – обучаемого и эксперта ? разра? ботчика базы знаний. Интерфейс обучаемого позволяет использовать ЭОС в двух режимах
– обучения и консультаций. В режиме обучения обучаемый может выполнять следующие действия: загрузить базу знаний, загрузить файл обучаемого (файл, где хранится инфор?мация о результатах обучения конкретного пользователя), предложить системе сгенериро?вать новое задание, ответить на поставленное задание и узнать результат анализа ответа, перейти в режим консультации. В режиме консультации: загрузить базу знаний, попросить систему дать консультацию по решению задачи, поставленной в режиме обучения, дать системе задание на решение произвольной задачи, перейти в режим обучения. Интерфейс эксперта позволяет создать новую базу знаний, модифицировать старую (добавлять, уда?лять, изменять правила), производить настройки, регламентирующие процесс обучения.
Система была разработана с использованием современной объектно?ориентированной технологии программирования. В настоящее время создается новая, усовершенствованная версия системы и мы надеемся на ее использование в учебном процессе факультета. К со? жалению, создание и практическое применение средств компьютерного обучения серьезно затрудняется отсутствием финансирования.
И.Л.БРАТЧИКОВ