|
|
Задачи, которые необходимо выполнить в ходе курсовой работы
1. Разработать структуру БД, предназначенную для хранения данных предметной области в соответствии с заданной моделью представления знаний. База данных должна соответствовать 3 нормальной форме
2. Разработать формы представления данных в соответствии с моделью и предметной областью
3. Разработать программное обеспечение, выполняющее чтение, редактирование, визуализацию и анализ данных в соответствии с заданием. Разрабатываемый комплекс из двух программ – это упрощенная экспертная система в заданной области, имеющая 2 режима работы: экспертный (первая программа) - эксперт в области знаний наполняет БЗ данными и пользовательский (вторая программа) – оператор пользуется БЗ для получения ответов на вопросы, в которых он не эксперт.
Требования к разрабатываемому программному обеспечению
Среда разработки: Borland C++ Builder 6.0 или Microsoft Visual Studio 2010
СУБД: firebird 2.0 или 2.5 (BCB 6.0) или sqllite (MSVS 2010)
Допускается при разработке в MSVS 2010 использовать QT 4.8.4.
Разработать 2 отдельные программы (т. е. два исполняемых файла), работающие одновременно с одной базой данных.
Первая программа должна предоставлять пользователю возможность редактирования базы знаний в соответствии с моделью данных и моделировать поступление новых данных в реальном времени, если это вписывается в предметную область. Требования к программе: отображение данных таблиц должно наглядно представлять модель данных, т. е.,
- не должны отображаться и быть доступными для редактирования служебные таблицы (например, таблица для организации связей многие ко многим) или служебные столбцы (например, первичные или вторичные ключи)
- если отображаются фреймы, то при навигации по таблице фреймов должны показываться слоты этого фрейма либо в этой же таблице (GRID), либо в таблице рядом. Если есть протослоты (протофреймы), то в заголовке столбцов таблицы слотов (фреймов) должны отображаться данные протослота (протофрейма). Пример: для слотов фрейма “перевозка” в заголовках должно быть указано: “груз”, “количество”, “место отправки”, “место назначения”…
- если есть вложенность фреймов, то это необходимо визуализировать. Для этого возможно использование компонента TreeView
- если отображается сетевая модель, то необходимо для текущего выбранного узла показывать все связанные узлы с указанием типа связи (если есть). Плюсом будет графическое отображение в виде графа.
- если отображается продукционная модель, то должны быть понятны написанные там правила. Если есть несколько сфер продукций, должна быть фильтрация по сфере.
- для псевдофиз. логик отношения должны выводится не в виде кодов, а в виде текста (например, А – достаточная причина В)
- для редактирования недостаточно прилепить стандартный DBNavigator на каждую таблицу, включая служебные. При редактировании сложных конструкций данных необходимо реализовать пошаговый диалог (мастер).
Вторая программа должны предоставлять пользователю осуществлять вывод новых знаний из базы знаний по варианту. Варианты заданий указаны ниже. В некоторых случаях в вариантах может быть указано много возможных запросов, обсудить с преподавателем индивидуально. Студент имеет право предложить преподавателю свой вариант вывода. Пользователь должен иметь возможность “задать вопрос” базе знаний, т. е. выбрать цель вывода и исходные данные.
Предметные области анализируемых данных и модель представления этих данных для вариантов заданий:
Сетевая модель данных. Репрезентация текстовых данных. Рассмотреть несколько возможных языковых структур, встречающихся в естественном языке, например: действие(субъект, объект), объект(свойство), действие(актор, реципиент, объект), действие(субъект) и т. д.
Ниже перечислен требуемый функционал, который необходимо реализовать согласно варианту задания.
Сетевая модель данных. Репрезентация текстовых данных. Поиск смысловой связи двух слов по дереву связей. Поиск смысловой связи между двумя группами слов (как предыдущая, только каждый с каждым)
PS: разговаривал с преподавателем, задача немного упростилась. В целом надо сделать вот что:
В первую программу (для экспертов) мы вводим текст и разбираем его на языковые структуры (в БД вероятно одна структура — одна таблица). Во второй программе пользователь, написав текст, и нажав кнопку, должен получить наглядной представление этих структур. То есть никакого семантического анализа, работа только с текстом, который мы вводим сами.
Заранее спасибо!



