Система контент-анализа естественно-языковых текстов
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?ть в виде следующей диаграммы классов (рисунок 15).
Рисунок 15 - Диаграмма классов пакета interfaces
Более подробно объекты интерфейса пользователя описаны в следующем подразделе.
2.6 Реализация системы
.6.1 Общие сведения
Разработанная выше система поиска ключевых слов, а также методы и алгоритмы работы с морфологическим словарем реализованы в программном виде объектно-ориентрованной библиотеки классов на Java.
Реализация библиотеки на основе языкового стандарта Java является востребованной и приемлемой в современных условиях разработки программного обеспечения. Использование конкретного языка Java для этих целей было обусловлено удобством использования памяти, а также объектной ориентацией данного языка.
2.6.2 Основные объекты интерфейса пользователя
Список и краткое описание форм, которыми обладает проект, показаны в таблице 7.
Таблица 7 - Основные формы проекта
ИмяНазначениеMainFormГлавное окно программы, предназначенное для проведения анализа текстаAppendFormДиалоговое окно, используемое для дополнения морфологического словаряEditStopDictДиалоговое окно, предназначенное для редактирования стоп-словаряFormsFindДиалоговое окно, предназначенное для поиска группы родственных слов по запросу пользователяConfigДиалоговое окно для изменения настроек комплекса
Внешний вид формы MorphMain представлен на рисунке 16.
Рисунок 16 - Форма MorphMain
В таблице 8 представлены расположенные на форме компоненты, в порядке их нумерации на рисунке 16.
Таблица 8 - Структура формы MorphMain
№Наименование компонентаТип компонентаНазначение1jMenu1JMenuГлавное меню программы2jTextArea1JTextAreaОтображает анализируемый текст3jTable1JTableТаблица, отображает промежуточные результаты анализа4jTextArea3JTextAreaТекстовое поле, отображает слова из текста, отстутствующие в морфологическом словаре5jButton2JButtonКнопка, закрывает основное окно6jButton1JButtonКнопка, запускает процесс анализа текста7jButton4JButtonКнопка, предназначена для сохранения результатов анализа8jButton6JButtonКнопка, очищает поле представления текста, поле неизвестных слов, таблицу промежуточных результатов и поле результатов анализа9jProgressBar1JProgressBarОтображает прогресс выполнения процесса анализа10jTextArea2JTextAreaТекстовое поле, отображает результаты анализа (список ключевых слов)11jSlider1JSliderУстанавливает для анализа порог частоты
Внешний вид формы AppendFormпредставлен на рисунке 17.
Рисунок 17 - Форма AppendForm
В таблице 9 представлены расположенные на форме компоненты, в порядке их нумерации на рисунке 17.
Таблица 9 - Структура формы AppendForm
№Наименование компонентаТип компонентаНазначение1jTextField1JTextFieldТекстовое поле для ввода новой группы морфологически родственных слов2jButton2JButtonДобавляет группу слов в файл словаря3jButton1JButtonЗакрывает форму
Внешний вид формы FormsFind представлен на рисунке 18.
Рисунок 18 - Форма FormsFind
В таблице 10 представлены расположенные на форме компоненты, в порядке их нумерации на рисунке 18.
Таблица 10 - Структура формы FormsFind
№Наименование компонентаТип компонентаНазначение1jTextField1JTextFieldПоле для ввода слова, для которого ищутся словоформы2jButton2JButtonЗапускает процесс поиска словоформ3jButton1JButtonЗакрывает форму
Внешний вид формы EditStopDict представлен на рисунке 19.
Рисунок 19 - Форма EditStopDict
В таблице 11 представлены расположенные на форме компоненты, в порядке их нумерации на рисунке 19.
Таблица 11 - Структура формы EditStopDict
№Наименование компонентаТип компонентаНазначение1jList1JListОтображает содержимое стоп-словаря2jTextField1JTextFieldТекстовое поле, предназначенное для ввода и редактирования стоп-слов3jButton3JButtonУдаляет выбранное слово из стоп-словаря4jButton2JButtonПредназначена для добавления нового слова в стоп-словарь№Наименование компонентаТип компонентаНазначение5jButton4JButtonПредназначена для редактирования выбранного стоп-слова6jButton5JButtonСохраняет в файл внесенные изменения7jButton1JButtonОтменяет внесенные изменения и закрывает форму
Внешний вид формы Config представлен на рисунке 20.
Рисунок 20 - Форма Config.
В таблице 12 представлены расположенные на форме компоненты, в порядке их нумерации на рисунке 20.
Таблица 12 - Структура формы Config
№Наименование компонентаТип компонентаНазначение1jTextField1JTextFieldСодержит путь к файлу морфологического словаря2jTextField2JTextFieldСодержит путь к файлу стоп- словаря3jSpinner1JSpinnerПоле для ввода порога частоты4jButton2JButtonСохраняет введенные изменения5jButton1JButtonЗакрывает форму
2.6.3 Программная реализация классов
Ниже приводится пример программной реализации части основных классов: MorphMain(рис. 21, 22, 23, 24), ForListElem(рис. 21), Btree(рис. 25, 26, 27, 28, 29). Полностью код программы приведен в приложении 1 (стр. 51).
public class ForListElem {
public ForListElem()
{= "";= 1;_forms = 1;_dict = true;= false;
}String word;int count;int count_forms;boolean in_dict;boolean flagdeleted;
}
Рисунок 20 - Программная реализация класса ForListElem
MorphMain(startwindow j1, Start_options s) {= new btree();= j1;_count = 0;_count = 0;= false;= false;= "";= s;
}void setCurrentBase(String h)
{(!flagpostosnov)
{= h;= true;
}
}void setListOsnov(leaf y)
{(!flagosnov)
{= y;
} }
Рисунок 21 - Программная реализация класса MorphMain.
= false;= false;= "";= null;
}String innerjoin(String a,String b)
{k;l;= "";= a.length();(b.length() < k ) k = b.length();(int i = 0;i<k;i++)
{(a.charAt(i)==b.charAt(i)) l+=a.charAt(i);break;
}l;
}String selectOsn(String words[])
{h;j;= words[0];(int i = 1;i<words.length;i++)
{= innerjoin(h,words[i]);
}h;
}
}boolean getRelativewords(DefaultListModel d,String word,boolean show)
{{base = null;(MD.simpleSearch(word, false, thi