Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой проект по ЛОИ.doc
Скачиваний:
1
Добавлен:
06.05.2019
Размер:
138 Кб
Скачать
☆

Курсовой проект по лои Вариант №4 Задание на разработку программы генерации текста

1. Общее

1 Программа генерации текста предназначена для генерации произвольных текстов на основе анализа заданного набора текстов. Программа выявляет закономерности, присущие проанализированным текстам, и строит тексты, используя выявленные закономерности.

2 Выявление закономерностей и генерация текстов основываются на построении цепей Маркова.

3 Программа должна генерировать тексты по символам и по словам.

2. Интерфейс программы

1 Программа должна быть выполнена с использованием компилятора Visual C++ NET. По желанию разработчика может быть использована (рекомендуется) библиотека MFC.

2 Программа должна представлять собой приложение Windows c графическим интерфейсом пользователя, удовлетворяющим основным стандартам на пользовательский интерфейс.

3 Программа должна позволять создавать внутреннюю базу данных на основе анализа текстовых файлах в кодировках ANSI и OEM (использованных в MS-DOS и Windows). База данных должна сохраняться на диске между сеансами работы программы, т.е. она является кумулятивной.

4 Пользователь может указать, какие файлы необходимо добавить к базе данных, выбрав в соответствующем диалоговом окне один или несколько файлов. Программа должна проанализировать указанный файл(ы) и обновить информацию в базе данных.

5 Пользователь может указать (в меню приложения) глубину анализа цепочек при помещении их в базу данных.

6 Пользователь инициирует генерацию текста выбором соответствующего пункта меню. В результате появляется диалоговое окно настройки параметров,

Пользователь может указать:

  1. Тип генерируемого текста (по символам или по словам)

  2. Выбрать глубину анализа при построении текста

  3. Указать размер требуемого текста (в символах или словах)

7 Пользователь может сохранить сгенерированный текст в виде текстового файла.

3. Цепи Маркова

1 Данный раздел показывает основную идеи, которая используется для генерации текстов на основе цепей Маркова и является неформальным описанием. За более детальной информацией рекомендую обратиться к специальной литературе.

2 Простейшим вариантом анализа текста является составление частотной таблицы – количества вхождений того или иного символа в тексте. На основании этой таблицы можно сгенерировать текст с той же частотой появления символов, что и оригинальный, если генерировать символы текста случайным образом с учётом весового коэффициента (числа вхождений) для каждой буквы.

3 Анализ на основе цепей Маркова подразумевает составление частотной таблицы появления не одной буквы, а цепочки букв. В зависимости от глубины анализа строится таблица частоты появления заданных цепочек. В результате построенная таблица отражает, с какой вероятностью данная буква (конечная в цепочке) появится после заданной последовательности букв. Таким образом создаётся контекст – вероятность появления буквы в генерируемом тексте зависит не только от того, насколько часто эта буква встречается в тексте, но и от того, насколько часто эта буква встречается (и встречается ли) после текста, который был до неё.

4 В случае генерации текста по словам, используется то же правило, что и для букв, но в качестве лексемы, то есть неделимой части при анализе используется слово, а не буква.

4. Защита и сдача курсовой работы Для защиты и сдачи курсовой работы необходимо оформить отчёт по курсовой работе, предоставить исходный текст программы и выполняемый модуль. Программы должны комплектоваться набором тестов или тестовых исходных данных, которые показывают правильность её функционирования при различных исходных данных. Если программа установленная с помощью инсталляционного комплекта не работает в отсутствии специфичных библиотек или среды разработки - это является ошибкой автора программы и соответствующим образом оценивается. Весь исходный код программы должен сопровождаться значимыми комментариями. Это означает, что любая последовательность строк, смысл которой неочевиден для читающего, должна быть прокоментирована.