Особое внимание уделяется описанию архитектуры предложенной экспертной системы, которая состоит из компонента для фильтрации спама, компонента определения главной категории для каждого из типов обрабатываемого контента, а также компонентов для определения подкатегорий, один из которых основан на правилах доменной области, а другой компонент использует методы машинного обучения, дополняя первый. Основным выводом данного исследования является то, что экспертные системы возможно эффективно применять для решения проблем категоризации данных в системах агрегации контента.
Автором было выяснено, что гибридные решения, объединяющие подход, основанный на использовании базы знаний и правил с использованием нейронных сетей, помогают снизить стоимость экспертной системы. Новизна исследования заключается в предложенной архитектуре системы, которая является легко расширяемой и адаптируемой к нагрузкам за счет масштабирования существующих или добавления новых модулей.
Предложенный модуль определения спама основан на адаптировании поведенческого алгоритма определения спама в электронных письмах, предложенный модуль определения основных категорий контента использует два вида алгоритмов на основе нечетких отпечатков: Fuzzy Fingerprints и Twitter Topic Fuzzy Fingerprints, который изначально использовался для категоризации сообщений в социальной сети Twitter. Работа модулей, определяющих подкатегорию на основе ключевых слов, происходит во взаимодействии с базой данных – словарем (тезаурус). Последний классификатор использует алгоритм опорных векторов для конечного определения подкатегорий.
Ключевые слова: экспертная система, алгоритм нечетких отпечатков, агрегация контента, нейронная сеть, категоризация контента, инженерия знаний, метод опорных векторов, TF-IDF, CLIPS, идентификация спама.
Введение
Современная наука и промышленность немыслимы без использования компьютерных технологий. За последние 50 лет уровень информационного и интеллектуального обеспечения различных технологий чрезвычайно возрос [1]. Объем получаемой информации настолько велик, что человеку, даже специалисту, разобраться с ней очень сложно. Для его восприятия и обработки необходима особая интеллектуальная поддержка.
Поэтому экспертные системы и системы поддержки принятия решений находят свое применение в различных областях экономики, медицины и науки [2]. Экспертную систему можно определить как компьютерную систему, предназначенную для решения сложных задач путем эмуляции процесса принятия решений людьми-экспертами [3].
Экспертные системы возникли как значимый практический результат применения и развития искусственного интеллекта, т. е. совокупности научных дисциплин, изучающих методы решения задач интеллектуального (творческого) характера с использованием компьютеров [4]. Первые экспертные системы были разработаны в конце 60-х годов прошлого века и предназначались для создания искусственного сверхразума в некоторых предметных областях [5].
В начале своего развития экспертные системы реализовывались с использованием специализированных языков программирования, таких как Lisp и Prolog [6]. Некоторые из подобных систем активно используются и сегодня. Примером такой системы является DENDRAL [7], целью которой является создание органических молекулярных графов нециклических изомеров (написана на Lisp). Еще одним хорошим примером является PROSPECTOR II [8], который успешно использовался при поиске месторождений полезных ископаемых.
Существует множество типов и реализаций экспертных систем. Например, в статье [9] рассматриваются и классифицируются экспертные системы по двум категориям: системы, основанные на правилах, и системы, основанные на знаниях, с их приложениями для различных исследований и проблемных областей.
Цель этой статьи – представить экспертную систему, являющуюся частью распределенной системы агрегации контента и помогающую категоризировать агрегированный контент. Процесс категоризации зачастую усложняется необходимостью обработки огромного объема данных, что необходимо для повышения релевантности результатов поиска. Для выбора в пользу наиболее подходящего архитектурного решения в рамках данной задачи потребовалось провести исследование преимуществ и недостатков экспертных систем, а также инструментов их разработки.
Эта статья структурирована следующим образом. В главе 1 представлен обзор преимуществ экспертных систем. Глава 2 содержит основные недостатки экспертных систем. В главе 3 описана архитектура экспертной системы в ее общем представлении. Классификация экспертных систем представлена в главе 4. В главе 5 представлен обзор инструментов создания экспертных систем. Примеры экспертных систем, выполняющих задачи категоризации, перечислены в главе 6. В главе 7 объясняется архитектура предлагаемой системы. Наконец, выводы приведены в главе 8.
1. Преимущества экспертных систем
В современном понимании экспертная система – это разновидность искусственного интеллекта (ИИ), т. е. совокупность программ, выполняющих функции человека-эксперта при решении задач из конкретной предметной области [10, с. 203]. И одно из важнейших отличий экспертных систем от других систем с искусственным интеллектом заключается в том, что экспертная система моделирует механизм мышления человека применительно к решению задач в данной проблемной области, а не бизнес-логику.
Экспертная система, помимо выполнения вычислительных операций, формирует определенные соображения и выводы на основе имеющихся у нее знаний (этот компонент обычно называют базой знаний). Кроме того, экспертные системы отличаются от других систем с применением ИИ тем, что используют эвристические и приближенные методы решения задач [1].
Одним из главных преимуществ экспертных систем является производительность. В основном подобные системы обрабатывают данные объектов реального мира, а такие операции обычно требуют значительного человеческого опыта, т. е. экспертизы. Хорошо спроектированные экспертные системы находят решение за разумное время, которое как минимум не хуже того, с которым ту же задачу может решить специалист в данной предметной области. Это означает, что экспертные системы продуктивны и их мощь выражается посредством качественного понимания областей задач [11, с. 74].
Экспертные системы легко анализируют все аспекты проблемы, что часто приводит к выбору лучшей альтернативы. Такие системы оказываются чрезвычайно эффективными, когда базы знаний огромны, поскольку, однажды занесенные, эти знания сохраняются навсегда. С другой стороны, эксперт – это в первую очередь человек, который имеет ограниченную базу знаний. К тому же всегда существует риск потери экспертных знаний из-за ухода эксперта из компании.
В исследовании [12] отмечается весьма положительное влияние экспертных систем на совершенствование контрольного аудита в электронных системах бухгалтерского учета, что проявлялось в упрощении процесса разделения работ и обязанностей. Кроме того, подчеркивается влияние экспертных систем на улучшение управления доступом к подобным системам за счет увеличения вероятности правильной обработки и удостоверения подлинности входных данных. Кроме того, был отмечен положительный эффект от внедрения экспертных систем с точки зрения повышения уровня безопасности и защиты данных, а также улучшения контроля над системной документацией, разработкой и обслуживанием.
Подводя итог преимуществам использования экспертных систем, среди них можно выделить следующие [11, с. 80—81]:
1. повышенная доступность и надежность: доступ к экспертным знаниям возможен с любого компьютера, и система всегда своевременно дает ответы на поставленные вопросы;
2. множественная экспертиза: несколько экспертных систем могут быть запущены одновременно для решения проблемы и получения более высокого уровня знаний, чем у эксперта-человека;
3. объяснение: экспертные системы всегда описывают, как была решена проблема;
4. быстрый ответ: экспертные системы работают быстро и способны решить проблему в режиме реального времени;
5. снижение стоимости: стоимость экспертизы для каждого пользователя значительно снижается.
2. Недостатки экспертных систем
Даже лучшие существующие экспертные системы имеют определенные ограничения по сравнению с человеком, являющимся экспертом в своей предметной области. Например, из-за своей сложности большинство экспертных систем плохо подходят для использования конечным пользователем и для работы с ними необходима высокая квалификация.
Еще одной проблемой при использовании экспертных систем является представление экспертных знаний в форме, понятной системе. Известно также, что приобретение знаний может быть очень дорогим и трудоемким, если проводить его правильно [13, с. 79].
Время, необходимое для составления базы знаний, варьируется от случая к случаю, но может легко составлять от 50 до 100 человеко-недель. Также стоит отметить, что подготовительный этап, включающий первоначальную настройку, технико-экономическое обоснование (ТЭО) и выбор программной оболочки, может занять дополнительно от 15 до 25 человеко-недель [14, с. 165—166].
Дополнительно стоит отметить, что экспертные системы не обладают механизмом самообучения и неприменимы в областях с широкой тематикой. Их использование ограничено такими предметными областями, в которых эксперт может принять решение за время от нескольких минут до нескольких часов. Кроме того, в тех областях, где эксперты могут отсутствовать, использование экспертных систем оказывается невозможным [6].
Также известно, что системы, основанные на знаниях, неэффективны, когда речь идет о строгом анализе, когда количество решений зависит от тысяч различных возможностей и множества переменных, которые меняются со временем. Экспертная система знает алгоритм обработки знаний, но не алгоритм решения задачи, в отличие от традиционных прикладных приложений. Это означает, что алгоритм обработки знаний может привести к непредвиденному результату [6].
Еще одним недостатком является то, что часть знаний в экспертных системах (обычно менее 10 процентов) ускользает от стандартных схем представления и требует специальных исправлений. Такие исправления создают риск аудита и угрозу безопасности, поскольку они дают возможность скрыть знания, которые могут привести к необычному или дисфункциональному поведению [15, с. 9].
В исследовании [16] рассматриваются этические характеристики экспертной системы, такие как отсутствие интеллекта, похожего на человеческий; отсутствие эмоций; случайная предвзятость и отсутствие ценностей. Также было показано, что выбранные характеристики экспертной системы негативно влияют на степень этики в организационной среде.
Доказательства эффективности экспертных систем в медицине неоднозначны. Хотя в некоторых исследованиях отмечалось, что экспертные системы улучшили работу поставщиков медицинских услуг и лечение пациентов, результаты других исследований были менее оптимистичны в отношении их воздействия, требуя дополнительных доказательств для демонстрации экономической эффективности систем подобного вида [13, с. 92]. Например, экспертные системы оказались плохо применимы для плановых медицинских консультаций, где они могут использоваться только как дополнительное средство помощи для врачей, предоставляя им необходимые для постановки диагноза данные о пациентах [17].
Резюмируя недостатки использования экспертных систем [11, с. 81], выделим следующие:
1. экспертные системы обладают поверхностными знаниями, и простая задача потенциально может оказаться дорогостоящей в вычислительном отношении;
2. экспертные системы требуют ввода данных от инженеров по знаниям, сбор данных очень сложен;
3. экспертная система может выбрать наиболее неподходящий метод решения той или иной задачи;
4. проблемы этики использования любых форм ИИ в настоящее время очень актуальны;
5. это закрытый мир со специфическими знаниями, в котором нет глубокого восприятия понятий и их взаимосвязей до тех пор, пока их не предоставит эксперт.
3. Архитектура экспертной системы в общем представлении
В общем виде экспертная система включает в себя следующие компоненты: базу знаний, механизм логического вывода, подсистему объяснений, подсистему приобретения знаний и интерфейс пользователя. Общая архитектура экспертной системы представлена на рисунке 1 [11, с. 75].
Рисунок 1. Архитектура экспертной системы
Высокоуровневую архитектуру экспертной системы, показанную на рисунке 1, можно объяснить следующим образом [11, с. 75—76]:
1. В базе знаний хранятся факты для обработки. Это информация о предметной области, введенная экспертами.
2. Механизм логического вывода – это интерпретатор правил, он обрабатывает текущую повестку, состоящую из списка запросов для выполнения.
3. Подсистема объяснений – это механизм, который объясняет пользователю рассуждения экспертной системы при решении задачи.
4. Подсистема приобретения знаний используется для получения информации от пользователя в автоматическом режиме. На данном этапе используются различные методы описания входных данных, такие как описание процессов функционирования, опросы и результаты научных наблюдений.
5. Интерфейс пользователя переводит правила из внутреннего представления в понятный пользователю вид.
4. Классификация экспертных систем
Экспертные системы принято разделять на четыре класса по принципу их работы, включая экспертные системы на основе правил, фреймов, нечеткой логики и нейронных сетей [10, с. 203].