О НЕКОТОРЫХ ПОДХОДАХ К ПОСТРОЕНИЮ САМООБУЧАЮЩИХСЯ ЭКСПЕРТНЫХ СИСТЕМ
Е.В. НЕСТЕРОВА, Т.В. ЗАЙЦЕВА Н.Н. СМОРОДИНА, РА. МАМАТОВ ААСЛОБОДЮК
Белгородский государственный национальный исследовательский университет
e-mail: [email protected] e-mail: [email protected] e-mail: [email protected] e-mail: [email protected] e-mail: [email protected]
В статье рассматриваются методы и подходы решения задачи построения самообучающихся экспертных систем. Проанализированы алгоритмы на основе построения дерева ответов, метод кластерного анализа, а также подход, использующий Байесовскую интерпретацию теории вероятностей. В качестве примеров подобных экспертных систем рассмотрены игровые сервисы с элементами искусственного интеллекта «Акинатор», «20q» и «Робот Энди».
Ключевые слова: экспертные системы, формула Байеса, кластерный анализ, Акинатор, игра в двадцать вопросов.
Введение.
Фундаментом экспертной системы любого типа является база знаний, которая составляется на основе экспертных знаний специалистов. Экспертное знание - это сочетание теоретического понимания проблемы и практических навыков ее решения, эффективность которых доказана в результате практической деятельности экспертов в данной области. Во многих случаях для обеспечения достаточного уровня достоверности принимаемых экспертными системами решений становится недостаточно даже объединения в одной базе знаний опыта нескольких профессионалов-экспертов. В таких ситуациях оптимальным решением представляется создание самообучающихся экспертных систем, способных реагировать на изменения, происходящие в предметной области, а также непрерывно, в процессе функционирования, накапливать и обрабатывать знания, полученные от пользователей.
В данной статье рассматриваются теоретические аспекты построения самообучающихся экспертных систем на примере развлекательных сервисов «Акинатор», «20д» и «Энди». Перечисленные системы, несмотря на игровой характер, являются достаточно сложными в организации экспертными системами, имеющими веб-интерфейс и доступными любому пользователю Интернета.
История развития систем «Акинатор», «20q» и «Робот Энди».
Идея создания подобных игр восходит к давно известным офлайн играм в «20 вопросов» и «данетки». Их суть заключается в следующем. Игрок загадывает понятие (персонажа, предмет, место), второй игрок последовательно задает ряд простых вопросов, предполагающих ответы вида только «да», «нет», «не знаю». В зависимости от разновидности игры число вопросов может быть ограничено («Игра в 20 вопросов»). Получив ответы на поставленные вопросы, угадывающий игрок должен сделать предположение о загаданном объекте.
С развитием web-технологий указанные популярные игры обрели реализацию в виде web-страниц и целых онлайн-порталов. Наиболее известным в последнее время стал «Акинатор» (http://ru.akinator.com/). Особенностью этой системы является специализация на персонажах (как реальных, так и героев книг, кино, шоу-бизнеса и т.д.), красочный интерфейс и проработанная игровая легенда. Так, пользователю предлагается играть против таинственного джина - «интернет-гения». Росту популярности данного сервиса способствовала достаточно высокая точность решений, принимаемых экспертной системой. Это означает, что «джин» практически в 95% случаев угадывает задуманного пользователем персонажа. Подобный показатель является следствием обширной, полной и точной базой знаний.
Менее известным в России, однако, ранее запатентованным является алгоритм работы игры «20д» (http://www.20q.net/). Фактически, данный сервис использует техноло-
гии нейронных сетей, предлагая «прочитать мысли» пользователя, а именно угадать задуманное понятие из той или иной категории. Помимо оналйн-сервиса, 20Q выпускается в виде электронных игр, работающих по тому же принципу.
Оба указанных игровых сервиса были созданы за рубежом. Отечественной альтернативой подобным экспертным системам является «Робот Энди», созданный русским программистом Вадимом Проценко. Однако данная система имеет слишком узкую базу знаний, что не позволяет ей конкурировать с вышеуказанными системами. Отсутствие рекламы и продвижения в поисковиках, и как следствие, малое числа посещений создает препятствие для дальнейшего развития игры.
Все данные системы объединяет способность к постоянному обучению в процессе взаимодействия с пользователями. Все данные ответы на тот или иной вопрос учитываются в последующих играх. Таким образом, база знаний экспертной системы постоянно уточняется и расширяется. Соответственно, чем больше посетителей веб-сервиса (пользователей системы), тем больше возможностей для обучения получает система.
Анализ существующих подходов к реализации самообучающихся экспертных систем.
Для того, чтобы выявить особенности построения алгоритмов перечисленных экспертных систем, рассмотрим функциональные требования к подобным экспертным системам.
1. Программа должна быть обучаемой и использовать для своего обучения ответы пользователей на заданные вопросы
2. Система должна учитывать неточности, «размытости» границ ответов на поставленные вопросы и «прощать» ошибки пользователей
3. Каждый последующий вопрос, заданный системой, должен выяснять максимум информации (максимально снижать неопределенность).
Одним из наиболее очевидных решений является хранение дерева ответов на вопросы, в котором внутренние вершины соответствовали бы вопросам, а листы — ответам. Процесс игры тогда выглядел бы как спуск от корня к одному из листов. Однако подобный алгоритм не справляется с требованием учета разнообразия ответов пользователей на один и тот же вопрос об одном и том же понятии. Подобные ситуации можно объяснить тем, что дерево ответов— это очень «механистический», «машинный» способ игры,
О ООО хя '
крайне неустойчивый к малейшим неточностям. К тому же, могут возникают вопросы балансировки дерева ответов.
Другим методом решения поставленной задачи разработки самообучающейся экспертной системы может служить кластерный анализ. Его суть можно представить следующим образом. Каждый загаданный пользователем объект характеризует множество параметров, каждый из которых может представлять собой ось (измерение) в многомерной системе координат. Задаваемый экспертной системой вопрос определяет значение соответствующего параметра. В процессе функционирования системы один и тот же объект загадывается разными пользователями несколько раз. Совокупность их ответов (параметров) для этого объекта образует множество точек, локализованных в некой области относительно данной системы координат. По мере набора статистики, для каждого объекта образуется свое скопление точек, именуемое кластером.
Кластеры объектов находятся на разном расстоянии друг от друга в зависимости от того, чем данные объекты отличаются. Если по каким-либо осям кластеры двух загаданных объектов совпадают, то данные кластеры могут быть разделены по некоторой дополнительной оси с помощью соответствующего данной оси вопроса. После каждого такого вопроса, экспертная система должна проверять положение точки, образованной ответами загадывающего, в системе координат вопросов относительно кластеров существующих в базе знаний объектов. Как только полученные ответы позволяют экспертной системе достаточно точно определить, что загаданный объект (а именно, точка в принятой системе координат) принадлежит какому-либо определенному кластеру, а остальные кластеры расположены сравнительно далеко, экспертная система осуществляет вывод решения.
Однако может возникнуть ситуация, когда кластеры расположены слишком близко и «сливаются». В этом случае системе потребуется задействовать дополнительные из-
мерения (вопросы). Поскольку существует вероятность ошибочных ответов пользователей либо различных ответов на один и тот же вопрос относительно одного и того же загаданного объекта, отличающиеся по одной координате кластеры может быть практически невозможно различить. Данная ситуация проявится особенно ярко, если набранная по данному вопросу статистика недостаточна, а вопрос нерелевантен. Если экспертной системе удастся найти релевантный вопрос-измерение, по которому кластеры различаются надежно - решение будет верным. В противном случае система ошибается. Однако данная проблема решается введением новых вопросов (новых измерений) в процессе обучения системы, а также набором статистики каждого вопроса (улучшается точность различения по осям).
Еще одной альтернативой описанным подходам может являться так называемая Байесовская интерпретация теории вероятности, а также основанный на ней Байесовский
Т» о о
подход. В основе этого подхода лежит описание знаний с помощью распределений случайных величин с последующим преобразованием априорных знаний в апостериорные на основе наблюдений при помощи формулы Байеса. Такой подход является единственным обобщением классической алгебры логики на случай неопределенности. Рассмотрим подробнее данный подход применительно к задаче построения самообучающейся экспертной системы.
Формула Байеса представляется следующим образом: Р(А|В) = [Р(В|А)*Р(А)]/Р(В). Вероятность Р(В|А), называется правдоподобием и показывает, с какой вероятностью событие В происходит при условии, что произошло А. Второй множитель, Р(А), —априорная вероятность события А, то есть вероятность, что оно в принципе произойдет (вне зависимости от В). В знаменателе формулы также присутствует величина Р(В), которая в данном случае играет роль нормировочного коэффициента и может быть проигнорирована.
В контексте игры в вопросы будем считать, что Ai — это событие вида «загадан объект Ь>. Поскольку В — это наблюдение относительно А^ то естественно было бы считать, что В состоит из ответов на вопросы, поэтому В можно представить в виде совместного события «На вопрос Ql был дан ответ А1, ..., на вопрос Qk был дан ответ Ак». Тогда Р(А^В) будет для объекта i отображать вероятность того, что был загадан именно он (с учетом того, что пользователь дал ответы на к вопросов). Выбрав объект с максимальным значением Р(А^В), можно, если значение Р(А^В) достаточно велико, использовать его в качестве решения.
Априорную вероятность Р(АЦ можно рассматривать как частный случай Р(А^В) при к=0. Иначе говоря, это вероятность, что игрок загадал объект i при условии, что вопросов задано не было, и о загаданном объекте ничего не известно. Естественной оценкой Р(АЦ будет отношение числа игр, когда был загадан объект ^ к общему их числу.
В качестве предположения примем истинным суждение об условной независимости ответов на вопросы при условии Аь Это означает, что по предположению вероятность Р(В|АЦ может быть записана в виде произведения (по j) вероятностей Р(В)|АЦ, где Bj — событие вида «На вопрос О) был дан ответ Aj».
РОД |АЦ в этом случае будет отношением числа раз, когда при загаданном объекте i на вопрос О) был дан ответ А) к числу раз, когда при загаданном объекте i в принципе был задан вопрос О). В целях избежания нулевых и неопределенных вероятностей предлагается дополнительно считать, что изначально на каждый из вопросов каждый из вариантов ответов был дан по одному разу. То есть в случае, если вопрос О) еще ни разу не задавался об объекте ^ Р(В) |АЦ будет равно 1/№), где N — число вариантов ответа на вопрос О).
Таким образом, получаем формулу, которая отображает набор пар вопрос/ответ и некоторую сущность в вероятность, что при данных ответах на вопросы была загадана именно эта сущность. Пересчитав эту вероятность для всех объектов в базе знаний после ответа на новый вопрос можно видеть, какие из них больше похожи на загаданный объект на настоящий момент.
Более того, обучение системы в таком случае реализуется достаточно просто: необходимо для каждой сущности в базе хранить информацию о том, какие вопросы про нее задавались и сколько ответов каждого из типов дали пользователи. После каждой игры эту
Серия История. Политология. Экономика. Информатика. 4
нов^ят»^^о^нОвЫВасксЬл на ответах пользователя. Также, для
«популярности» объекта в базе нужно хранить число раз, которое объект был загадан.
С точки зрения выбора порядка задаваемых вопросов, истинным будет суждение о том, что необходимо задавать пользователю тот вопрос, ответ на который в данный мо- мент принесет больше информации. Для оценки полученной информации можно вос- пользоваться понятием информационной энтропии. Тогда указанное выше суждение не- сколько преобразуется - следует задавать тот вопрос, ответ на который более всего уменьшит энтропию распределения P(Ai|B). Однако возникает следующая проблема: разные ответы на один и тот же вопрос могут уменьшать энтропию по-разному. В рамках данной задачи следует находить тот вопрос, для которого ожидаемое уменьшение энтро- пии будет максимальным. Так, нужно каждый раз задавать такой вопрос j, для которого величина H[P(Ai|B, <Qj,Yes>)]P(<Qj,Yes>) +... + H[P(Ai|B, <Qj,No>)]P(<Qj,No>) мини- мальна. Под H[P] понимается энтропия распределения вероятности P, а под "<Qj,Ans>" — событие «на вопрос Qj дан ответ Ans». Величину P(<Qj,Ans>) можно вычислить по фор- муле полной вероятности, просуммировав ее, обусловленную по всем известным объек- там. То есть P(<Qj,Ans>) = sum(i) P(<Qj,Ans> |Ai) P(Ai|B).
Таким образом, подход, основанный на формуле Байеса, позволяет решить все поставленные задачи при построении самообучающейся экспертной системы, так как предусматривает отказ от нерелевантных вопросов на каждом шаге.
Заключение.
Описанные в данной статье алгоритмы построения самообучающихся экспертных систем в области распознавания загаданных пользователем объектов являются лишь теоретически возможными. Сделать достоверные выводы о том, на чем именно базируется работа игровых экспертных систем «Акинатор», «20q» и «Робот Энди» невозможно, поскольку все алгоритмы запатентованы и находятся в ограниченном доступе. Однако при- веденные подходы к решению задач построения самообучающихся экспертных систем могут быть использованы при проектировании и реализации не только развлекательных порталов, но и для применения в корпоративных автоматизированных системах различных отраслей, таких как медицина, прогнозирование в экономике, автоматизация технологического проектирования.
Список
литературы
1. Осуга С., Саэки Ю., Судзуки Х. и др. Приобретение знаний: Пер. с япон. - М.: Мир, 1990.
- 304 с.
2. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. СПБ: Питер,
2006. - 384с.
3. Тельнов Ю.Ф. Интеллектуальные информационные системы в экономике. - 2-изд. доп.
М.: СИНТЕГ, 1999. - 214 с.
4. Змитрович А.И. Интеллектуальные информационные системы. Тетра Системс. -Минск,
1997. - 365 с.
5. Нейлор К. Как построить свою экспертную систему / Пер. с англ. - М.: Энергоатомиздат,
1991. - 286 с.
НАУЧНЫЕ ВЕДОМОСТИ
Серия История. Политология. Экономика. Информатика. 2012. №1 (120). Выпуск 21/1
5
SOMEAPPROACHESTO THE CONSTRUCTION OF MACHINE LEARNING EXPERT SYSTEM
E.V. NESTEROVA,TV. ZAITSEVA N.N.SMORODINA,RJUMAMATOV A.A. SLOBODUK
BelgorodNational Research University
e-mail: [email protected] e-mail: [email protected] e-mail: [email protected] e-mail: [email protected] e-mail: [email protected]
The article discusses the methods and approaches of solving the problem of constructing self-learning expert systems. Analyzed algo- rithms based on the responses of tree construction, the method of clus- ter analysis, as well as an approach that uses a Bayesian interpretation of probability theory. Examples of such expert systems considered gam- ing services with elements of artificial intelligence ''Akinator», «20q» and «Robot Andy».
Key words: expert systems, Bayesian formula, cluster analysis, Akinator, the game of twenty questions.