Neuroware
@Neuroware
Программист в свободное от работы время

Какой должна быть экспертная система?

Возникла идея для "тренировки мозга", хочется написать экспертную систему используя накопившиеся знания и опыт. Вопрос не то чтобы очень актуальный и нужный, но из того что есть выбор не очень то и большой, либо платные приложения либо бесплатные из 80х годов прошлого века и мягко говоря с не лучшей реализацией. Но не хотелось бы ее создавать для "коня в вакууме", нужны советы например:
  1. как себе видят ЭС в понимании обычного пользователя, не только разработчика?
  2. Что нужно реализовать в ней?
  3. К каким сферам применения лучше бы было ее приспособить?
  • Вопрос задан
  • 1093 просмотра
Решения вопроса 1
@MinasAbrahamyan
разработчик и лид с большим(20л) опытом,информатик
По-видимому ваша компетенция не в сфере ЭС, а в сфере программирования. В таком случае попробую подсказать по ЭС.

Формально говоря (есть в каждой книжке по ЭС в первой главе) экспертная система - это готовая система для которой произведен сбор знаний, их инжиниринг и внедрение итд, по процессу. А для разработки используют Expert System Shell - оболочку ЭС. далее я везде имею ввиду оболочку.

Шаг первый - узнать что существует. для этого советую изучить Jess по книжке jess in action. jess - намного лучшая реализация CLIPS, плюс использование джавы добавляет батареек.

Потом посмотреть JBoss DRools, в нем есть побольше функций, в частности backward chaining (это есть и в Прологе но там нету forward chaining)
Раньше алгоритм Rete не везде был реализован, но сейчас кажется есть во всех нормальных ОЭС.

Шаг второй - посмотреть что можно добавить. Есть книга Питера Джексона Введение в экспертные системы там описано много функций из экспериментальных или научных экспертных систем, и редко более двух реализовано в одной оболочке ЭС. Их и можно добавить.
Там их достаточно, а если нет, можно спросить.

Теперь ответы, по обратному порядку:
3. Можно приспособить ко всему к чему есть экспертные знания (ну или "экспертные" - не суть. можно начать и приловчиться - в любой сфере. главное желание и энергия)

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

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

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

А тот кто пишет правила видит либо текстовые поля как программист, либо "более визуальное" типа Query builder-a в MS Access, для тех же правил.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
bobrovskyserg
@bobrovskyserg
Экспертные системы 80х - оцифрованные наборы правил "если-то".
Эта концепция не оправдала - я полагаю, из-за большого числа "промежуточных" сущностей, которые (и их отношения) нужно было формализовывать, а делать это качественно не получалось.
То есть Watson во многом оттуда, но для того, чтобы добиться от нее толку, потребовался хуилиард человеко-лет.
1. обычные пользователи не в теме
2. язык описания правил
3. завоевание вселенной
Ответ написан
@AndrewJonson
Я программист 1С
Попробуй реализовать ЭС для диагностики чего либо, например диагностика заболеваний или поломки какого либо оборудования. От "Если-то" не уйти - нужно ведь как-то анализировать исследуемый объект. Также нужно создать базу знаний в которой уже заданы определенные ответы на определенные условия. Прочувствовать логику можно на сервисе - Джин который угадывает любую личность и весьма успешно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы