Проект системы Руководитель: Зюзьков В.М. Участники: Швецова Е.А. Никонова М.А. Собор Е.В.
Цель работы Разработка системы для анализа и решения логических задач, введенных на естественном языке (ЕЯ)
Введение в систему Вспомогательные элементы Подсистемы Название системы SmartSolverАнализаторБаза словРешатель
Диаграмма вариантов использования
Функциональные возможности системы Вывод результата решения На экран выводится информация о том, кто является рыцарем или лжецом; если имеется несколько вариантов, то выводятся все возможные Решение задачи, используя высказывания Построение решения методами искусственного интеллекта (ИИ), не противоречащее вводимым высказываниям Анализ введенного текста Преобразование текста на ЕЯ во внутреннее представление Ввод исходных данных Посредством клавиатурыУказанием файла с текстом задачи
Проектирование анализатора Поиск участников задачи Поиск изречений от говорящих участников Формирование мнений
Определение базы слов для подсистемы анализатора
Закон Зипфа В каждом языке есть слова, которые встречаются чаще, чем остальные, но не имеют значения. Есть слова, которые встречаются реже, но имеют намного большее смысловое значение.
Примеры высказываний Высказывания, заключенные в кавычки, т.е. передающие прямую речь 1. «…»,- ответил (сказал, высказал утверждение, вмешался в разговор, закричал) X. 2. X высказывает утверждение (говорит, ответил, отвечает, закричал): «…».
Создание тестов для подсистем
Тестирование Функциональное тестирование это тестирование ПО в целях проверки реализуемости функциональных требований, то есть способности ПО в определённых условиях решать задачи, нужные пользователям. Функциональные требования определяют, что именно делает ПО, какие задачи оно решает.
Тесты ПозитивныеНегативные
Результат работы анализирующего модуля Модуль получает на вход задачу в текстовом виде и формализует её, преобразуя текст в формулу вида: Задача([предложение (кто высказывается, что говорит (о ком говорит))])
Пример: Проверяемая функция: Использование выражения «Мы все» Текст задачи: Перед нами А, В и С. А высказывает следующее утверждение: «Мы все лжецы» Ожидаемый результат: Задача([Предложение (А, лжец (А) & лжец (B) & лжец (С))])
Негативное тестирование При выполнении негативного тестирования проверяется как ведет себя приложение, получая на вход неправильные данные или в нестандартных ситуациях.
Форматы представления данных Из двух жителей острова A и B житель B утверждает: «Только один из нас двоих рыцарь». Подсистема анализатора задача(5, [утверждение(b,рыцарь (b)& лжец(a) v лжец(b)& рыцарь(a))]). Подсистема решателя
Диаграмма модулей текст на ЕЯ формальные высказывания NLAnalyser Решение на основе высказываний Solver База слов WordBase Организация интерфейса взаимодействия всех модулей ManagerMod
Результат работы составлена основная концепция проекта; произведено описание основных алгоритмов, которые будут использоваться при написании программы; созданы тесты для подсистем данной программы; выделена база слов для первой подсистемы; составлено руководство для пользователя данного программного продукта; написана статья для конференции на сайте sworld.ua.com по данной теме; выполнен сбор отчетной информации по выполненной работе, написан проект системы.
Вопросы Благодарим за внимание! Сейчас Вы можете задать вопросы докладчикам.