Система контент-анализа естественно-языковых текстов

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?ть в виде следующей диаграммы классов (рисунок 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