banner banner banner
Агрегация контента и его обработка. Сборник статей по архитектуре распределенных систем и программной инженерии
Агрегация контента и его обработка. Сборник статей по архитектуре распределенных систем и программной инженерии
Оценить:
 Рейтинг: 0

Агрегация контента и его обработка. Сборник статей по архитектуре распределенных систем и программной инженерии


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

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

Предложенный модуль определения спама основан на адаптировании поведенческого алгоритма определения спама в электронных письмах, предложенный модуль определения основных категорий контента использует два вида алгоритмов на основе нечетких отпечатков: 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].