Разрабатываем экспертную систему. Урок 15. Улучшаем интерфейс ЭС. Продолжение. |
Автор megabax | ||||
29.05.2021 г. | ||||
Разрабатываем экспертную систему. Урок 15. Улучшаем интерфейс ЭС. Продолжение. Чтобы смотреть урок полностью, подпишитесь на платный раздел. В платном разделе статья находиться здесь. На прошлом уроке мы выполнили нашу первую поставленную задачу по улучшению интерфейса, а именно: написали иерархическую структуру классификатора исходных признаков, что бы признаки можно было группировать в группы. Теперь напишем редактор обучающих матриц. Для начала добавим в программу новый класс StudyMatrix(обучающая матрица):... ... ... Теперь идем в класс Core, к нему добавляем новое поле study_matrixes:
Раз мы добавили это поле, то придется чуть-чуть изменить конструктор, данный объект нужно создать:
Что мы ту добавили? Мы добавили метод init(), который и создаст объект study_matrixes:
Почему так? Дело в том, что у нас класс Core сохраняемый. Мы добавили новое поле, и, как вы думаете, что будет, если мы откроем старый файл, в котором у нас сохранен объект Core? Он нормально прочитается, но study_matrixes будет равно null. Следовательно, после прочтения его нужно создать. В будущем у нас возможно появиться аналогичные поля, которые тоже придется создавать. Разумно объявить для этого отдельный метод, который мы будем вызывать после загрузки, а также в конструкторе, чтобы создать эти поля.... ... ... ... Итак, мы выполнили еще один пункт нашей постановки задачи: редактор обучающей матрицы. Теперь мы можем открыть, например, обучащую матрицу для заболевания "депрессия" и указать признаки, которое соответствуют этой болезни: Можно также и задать признаки, которые показывает, что это не эта болезнь: Еще у нас в постановке звучало такое требование, чтобы нельзя было ввести один и тот же признак дважды. Можно конечно, сделать простой поиск, но что если пользователь один введет признак: "Угнетенное или подавленное состояние" а второй раз сделает ошибку и введет, например "Угнетенное или подавленное состояние". Компьютер пропустит это. Как быть? Над придумать способ приближенного поиска по тексту, и если компьютер нашел что-то похожее, просто выводить предупреждение, а если нашел точное соответствие - не давать вводить. Эту задачу мы решим на следующем уроке. Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft.. |
Пред. » |
---|