logo
Разработка экспертной системы подбора товаров в интернет-магазине

1.1.2 Анализ и обзор существующих методов построения ЭС и готовых решений

Организация знаний в ЭС

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

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

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

Знания в ЭС организованы таким образом, чтобы знания о предметной области отделить от других типов знаний системы, таких, как общие знания о том, как решать задачи, или знания о том, как взаимодействовать с пользователем, например как печатать текст на терминале пользователя или как изменить текст в соответствии с командами пользователя. Выделенные знания о предметной области называются базой знаний, тогда как общие знания о нахождении решений задач называются механизмом вывода. Программа, которая работает со знаниями, организованными подобным образом, называется системой, основанной на знаниях. База знаний ЭС содержит факты (данные) и правила (или другие представления знаний), использующие эти факты как основу для принятия решений. Механизм вывода содержит интерпретатор, определяющий, каким образом применять правила для вывода новых знаний, и диспетчер, устанавливающий порядок применения этих правил. Такая структура экспертной системы показана на рис. 1.1.2. Выделение знаний о предметной области облегчает инженеру по знаниям разработку процедур для манипулирования ими. Имеет первостепенное значение, каким образом система использует свои знания, поскольку ЭС должна иметь и адекватные знания, и средства для их эффективного применения, чтобы ее можно было считать умелой в каком-либо виде деятельности. Следовательно, для того, чтобы быть умелой, ЭС должна иметь базу знаний, содержащую высококачественные знания о предметной области, а ее механизм вывода должен содержать знания о том, как эффективно использовать знания о предметной области.

Рис. 1.1.2 Состав экспертной системы

Концепция механизма вывода ЭС часто вызывает некоторое недоумение среди начинающих разработчиков. Обычно ясно, как знания предметной области могут быть записаны в виде фактов и правил, но далеко не ясно, каким образом конструировать и использовать так называемый "механизм вывода". Это недоумение возникает от отсутствия простого и общего метода организации логического вывода. Его структура зависит и от специфики предметной области, и от того, как знания структурированы и организованы в ЭС.

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

Представление знаний, основанное на правилах, построено на использовании выражений вида ЕСЛИ (условие) -- ТО (действие).

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

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

Классификация ЭС

Класс "экспертные системы" сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям. Полезными могут оказаться следующие классификации. (Рис.1.1.3)

Рис. 1.1.3 Классификация экспертных систем

Классификация по решаемой задаче

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

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

Мониторинг. Основная задача мониторинга - непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы - "пропуск" тревожной ситуации и инверсная задача "ложного" срабатывания. Сложность этих проблем в размытости симптомов тревожных ситуаций и необходимость учета временного контекста.

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

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

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

Обучение. Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипотетическом "ученике" и его характерных ошибках, затем в работе способны диагностировать слабости в знаниях обучаемых и находить соответствующие средства для их ликвидации. Кроме того, они планируют акт общения с учеником в зависимости от успехов ученика с целью передачи знаний.

Классификация по связи с реальным временем

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

Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.

Динамические ЭС работают в сопряжении с датчиками объектов в режиме реального времени с непрерывной интерпретацией поступаемых данных.

Классификация по типу ЭВМ

На сегодняшний день существуют:

- ЭС для уникальных стратегически важных задач на суперЭВМ (Эльбрус, CRA. CONVEX и др.);

- ЭС на ЭВМ средней производительности (типа ЕС ЭВМ, mainframe);

- ЭС на символьных процессорах и рабочих станциях (SUN, APOLLO);

- ЭС на мини- и супермини-ЭВМ (VAX, micro-VAX и др.);

- ЭС на персональных компьютерах (IBM PC, MAC II и подобные).

Классификация по степени интеграции с другими программами

Автономные ЭС работают непосредственно в режиме консультаций с пользователем для специфически "экспертных" задач, для решения которых не требуется привлекать традиционные методы обработки данных (расчеты, моделирование и т. д.).

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

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

Анализ готовых решений

В рамках данной работы для нас представляет интерес анализ систем поиска и подбора товаров. При посещении интернет-магазинов многие покупатели сталкиваются с проблемой выбора товаров по определенному набору характеристик. Разобраться в хитросплетениях современной техники не всегда получается, а из-за особенностей торговли через интернет получить грамотную и быструю консультацию редко представляется возможным. На сайте интернет-магазина бытовой техники Эльдорадо www.eldorado.ru в тесном сотрудничестве с компанией "Наносемантика" www.nanosemantics.ru, которая занимается разработками в области искусственного интеллекта, была внедрена принципиально новая система поиска и подбора товара, которая позволяет сократить время поиска без потери качества выборки. Среди особенностей системы: простота интерфейса, специально ориентированного на обычного покупателя, и математическая модель, которая сводит к минимуму количество вопросов-ответов.

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

Экспертные системы в действии:

· DeltaCredit Bank

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

· Сотовик.ру

ЭС помогает найти интересующий пользователя мобильный телефон из каталога мобильных телефонов основываясь на их параметрах. Удобный интерфейс ЭС позволяет посетителю сайта подобрать нужный ему телефон всего за 3-5 кликов из базы, которая содержит более чем 4000 телефонов, имеющих более 30 параметров. Гибкий алгоритм поиска позволяет в любой момент пересмотреть любой из параметров поиска и максимально быстро найти подходящий вариант телефона.

· Studyabroad.ru

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

· Эльдорадо

В онлайновом магазине компании "Эльдорадо" реализован наглядный и легко мультиплицируемый механизм подбора товаров в рамках отдельных товарных групп - Экспертная Система (ЭС) по подбору товаров. ЭС предназначена для быстрого сужения поиска без потери качества выборки; помогает пользователю выбрать объект, подходящий по нескольким параметрам, из некоторого множества объектов. Также создан вариант ЭС, в которой реализован более сложный механизм подбора товаров по большему набору параметров. В ЭС внедрен алгоритм пересмотра выбранных значений параметров, а также автоматического заполнения параметров на основании ответов, данных пользователем. При своей работе ЭС использует Базу Знаний, в которую входит исчерпывающий набор товарных позиций, параметров, иерархии параметров, вопросов, ответов и подсказок к каждому из параметров.

Сравнение Экспертной системы с другими системами поиска:

Проведем сравнение ЭС с другими системами поиска на примере разработанной компанией "Наносемантика" ЭС подбора сотового телефона.

Экспертная Система - онлайновая система, предназначенная для быстрого сужения поиска без потери качества выборки; помогает пользователю выбрать объект, подходящий по нескольким параметрам, из некоторого множества объектов. Работает в режиме "вопросы-ответы", каждый диалог с новым пользователем строится индивидуально.

Адрес: http://www.sotovik.ru/es/

Фильтр по атрибутам - онлайновая система, предназначенная для поиска товаров по каталогу сайта.

Адрес: http://7440880.ru/cat/large/refrigerator/

Обычная система поиска - онлайновая служба, предоставляющая возможность поиска информации на сайтах в интернете, а также (возможно) в новостных группах и ftp-серверах. Поиск представляет собой фильтрацию товаров по их основным параметрам и/или поиск по ключевому слову.

Адрес: http://www.yandex.ru/advanced.html

Яндекс-Гуру - онлайновая каталоговая система, предназначенная для быстрого поиска товаров по каталогам магазинов; помогает выбрать товар по разным параметрам; является частью Яндекс-Маркета. Работает в режиме "вопросы-ответы", использует жесткое дерево вопросов в диалоге с пользователем.

Адрес: http://market.yandex.ru/guru-categories.xml

Таблица 1.1.1

Характеристики

Экспертная система

Фильтр по атрибутам

Обычная система поиска

Яндекс-Гуру

1. Структура поиска

Поиск товаров по параметрам

да

да

да

да

Поиск по ключевому слову

нет

нет

да

Есть только на уровне Яндекс-Маркет.

Поиск представляет собой фильтрацию товаров по основным параметрам - жесткий поиск

нет

да

да

нет

Поиск идет по заранее заданному дереву вопросов к параметрам - жесткий поиск

нет

нет

нет

да

Поиск представляет собой последовательность вопросов, которая динамично изменяется при каждом новом поиске - гибкий поиск

да

нет

нет

нет

Поиск товаров по параметрам в режиме "вопросы-ответы"

да

нет

нет

да

Поиск объектов любого типа (товары, данные, люди, события, даты)

да

да

да

нет

Возможность не вникать при поиске в технические подробности (за счет подсказки)

да

нет

нет

да

Возможность изменения уже заданных параметров поиска

В любой момент

В любой момент, но интерфейсное решение - неудобное (нужно сначала удалить параметр из списка уже определенных параметров, а потом снова выбирать этот параметр в списке параметров и выбирать его значение)

Только по окончании поиска

В любой момент

Автоматическое определение системой взаимозависимых параметров - более быстрый поиск

да

Параметры автоматически определяются системой, но из списка параметров не убираются (при нажатии на такой параметр предлагается только один вариант ответа)

нет

нет

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

да

нет

нет

нет

2. Результат поиска

Результат работы системы

Результат поиска никогда не бывает пустым.

Результат поиска никогда не бывает пустым.

Результат поиска может быть пустым - система ничего не находит.

Результат поиска никогда не бывает пустым.

Настройка выдачи результатов поиска - сортировка по убыванию/возрастанию.

да

да

да

нет

Возможность сравнения нескольких выбранных моделей товара

Нет, можно встроить

да

нет

да

3. Взаимодействие с пользователем

Наличие подсказок/пояснений пользователю

да

нет

нет

да

4. Взаимодействие с клиентом

Возможность интеграции в базу клиента

да

нет

нет

да

5. Возможность использования для ввода информации

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

да

нет

нет

нет

При формировании базы данных интерфейсным способом диалог с пользователем обобщается в виде записи в базе данных

да

нет

нет

нет

При формировании базы данных аппаратными средствами система может проверять вводимые данные и сообщать пользователю об ошибках во вводе данных

да

нет

нет

нет

При формировании базы данных аппаратными средствами система может приводить получаемые данные к единому стандарту и создавать единую базу данных

да

нет

нет

нет

Система может предлагать пользователю подсказки по вводу данных

да

нет

нет

нет

Т.о., сравнивая ЭС с другими системами поиска, можно определить следующие существенные отличия:

- ЭС осуществляет поиск среди объектов любого типа (товары, данные, люди, события, даты);

- Она не привязана к заранее заданным деревьям вопросов

- Процесс общения пользователя и ЭС индивидуален: система вычисляет приоритеты пользователя и в зависимости от них выдает результаты поиска;

- Поиск требуемого объекта поэтапно: система задает следующий вопрос исходя из предыдущих ответов ведущего с ней диалог пользователя;

- ЭС самостоятельно определяет параметры и приоритеты поиска: нерелевантные вопросы не задаются, не даются и нерелевантные варианты ответов;

- Пользователь может пересмотреть свой выбор в любой момент и по любому из параметров;

- ЭС запоминает посетителя и его выбор, и использует эту информацию при последующих запросах;

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

- Для удобства пользователей ЭС может общаться также в форматах ICQ, SMS и WAP;

- Внедрение ЭС не требует значительной переделки как сайта, так и баз данных.

Взаимодействие ЭС и человека в ряде случаев может быть весьма продуктивным. Например, работающая совместно с call-центром ЭС, делает такой тандем весьма привлекательной для on-line магазинов.