Member
Статус: Не в сети Регистрация: 24.07.2009 Откуда: тюмень
Всем общий привет. Задался в дипломе написать Экспертную систему. Прикинул как она будет рабоать у меня. Самый ближайший аналог это справка и поддержка в виндовсе, когда отвечая да или нет, а точнее выбирая ответ из уже предложенных медленно продвигаешься к решению общей проблемы. Т.Е. есть таблицы со списком впросов и списком ответов. а вот соотносяться ответы с вопросами не один к одному, а множество вопросов которые были выбраны в качестве ответа ДА относиться только к одному ответу.
Вопрос мне это вообще возможно написать на питоне как скрипт к базе данных?
или всё же только пролог?
А ещё проблема как организовать БД чтоб записывать соотношение вопросов к одному ответу. причём множества вопросов могут перескаться по некоторым вопросам но относиться к разным ответам которые решают проблему. У мня БД были с года 1,5 2 назад я уже забыл как и чего там делать.
Ещё вопрос если под каждое соотношение создавать свою собственную таблицу, но уже не при заполнении базы знаний в процессе работы программы как сделать так чтоб связь была автоматом? Это для того, чтобы обойти проблему и головняк как запихать все эти соотношения в одну таблицу.
Также интересно есть ли, что нить опенсорсное из подобного чтоб на базе существующего написать?
ну твой вопрос - это , собственно, и есть ядро экспертной системы:) у мея вот такая мысля: 1 таблица - список вопросов, состоит из question_id и самого текста вопроса 2 таблица - список ответов, состоит из answer_id и текста ответа. всякие там "да" и "нет" дублировать не надо 3 таблица - список возможных проблем, problem_id, описание 4 таблица - связи, ключ - question_id + answer_id + problem_id, как вариант - добавить туда приоритет или вес вопроса в решении проблемы
ну а дальше выбираешь вопросы по критерию максимальной общности вопроса, по-очереди задаёшь их и каждый раз усекаешь число возможных проблем. вообще, тут надо как раз продумать систему, в каком порядке задавать вопросы.
бд - это средство хранения, база знаний - это совокупность данных, связанных друг с другом. база знаний может храниться в бд почитать можно в инете например, покопайся как следует на хабрахабре - кажется, там несколько раз
ты можешь хранить вопросы в виде дерева, жёстко задав все зависимости и веса - но тогда у тебя будет система, которая не учится совсем. недавно в инете пробегали ссылки на угадывалку персонажей (http://ru.akinator.com/, http://en.akinator.com/)- как раз твой вариант, задаёт несколько вопросов и выдаёт ответ. угадывает очень хорошо, потому что самообучается. попробуй покрути её, напиши автору письмо...
Member
Статус: Не в сети Регистрация: 24.07.2009 Откуда: тюмень
ToSHiC
у мня даж не экспертная. а справочная по типу хелп деска. бз это логика работы с бд. мой вариант это вывод по заданным вопросам и сравнение с имеющимся списком ответов у которого есть своя комбинация вопросов. ну и удельный вес попробую прикрутит.
Добавлено спустя 17 минут 38 секунд: точнее экспертная 2 го поколения.
так я написал тебе, как ХРАНИТЬ это барахло всё в реляционной базе и как оттуда доставать. хочешь дерево - 4 табличку слегонца поменяй и всё, чтоб вопрос-ответ могли относиться как к следующему вопросу, так и к собственно проблеме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения