Разработка подсистемы морфологического анализа информационной системы
Ниже перечислены все используемые граммемы:
мр, жр, ср – мужской, женский, средний род;
од, но – одушевленность, неодушевленность;
ед, мн – единственное, множественное число;
им, рд, дт, вн, тв, пр, зв – падежи: именительный, родительный, дательный, винительный, творительный, предложный, звательный;
2 – обозначает второй родительный или в
торой предложный падежи;
св, нс – совершенный, несовершенный вид;
пе, нп – переходный, непереходный глагол;
дст, стр. – действительный, страдательный залог;
нст, прш, буд – настоящее, прошедшее, будущее время;
пвл – повелительная форма глагола;
1 л, 2 л, 3 л – первое, второе, третье лицо;
0 – неизменяемое.
кр – краткость (для прилагательных и причастий).
сравн – сравнительная форма (для прилагательных).
имя, фам, отч – имя, фамилия, отчество.
кач – качественное прилагательное.
вопр, относ – вопросительность и относительность (для наречий).
дфст – слово обычно не имеет множественного числа.
жарг, арх, проф – жаргонизм, архаизм, профессионализм.
безл – безличный глагол.
Метод s_basean
Данный метод проводит поиск основы слова в массиве base. Если словоформа найдена, то вызывается метод s_flexan для анализа окончания. Если основа не найдена, выполняются методы поиска ошибки (first_err, second_err, third_err, fifth_err).
Описание заголовка метода s_basean
int s_basean (char **base, const int b_nstr, const int b_nstb, char **flex, const int f_nstr, const int f_nstb, char **morf, const int m_nstr, const int m_nstb, int &l, char *s_word);
В данный метод передаются указатели на массивы основ, окончаний и морфем, а также указатели на полученное для анализа слово и длинна этого слова.
Возвращает метод 1 в случае удачного выполнения (была найдена хотя бы одна словоформа), и 0 в случае неудачного выполнения (ни одной словоформы не было найдено).
Метод s_flexan
Данный метод вызывается из метода s_basean и проводит поиск окончания слова в массиве flex. Если окончание найдено, то вызывается метод s_mrf, для определения морфологических свойств слова.
Описание заголовка метода s_flexan:
void s_flexan (char **mas, const int str, const int stb, char *ok, const int a, char *w, char *s, int &id);
В данный метод переадются указатели на массив с окончаниями, его размерность, искомое окончание, номер строки с окончаниями, определённый в методе s_basean, и анализируемое слово.
Данный метод не возвращает никаких значений.
Метод s_mrf
Данный метод проводит поиск набора дескрипторов (морфологическая характеристика слова), в соответствии с проведённым анализом в методах s_basean и s_flexan. Метод s_mrf вызывается из метода s_flexan в случае, если было найдено окончание, и связка основа + окончание даёт анализируемое слово.
Описание заголовка метода s_mrf:
void s_mrf (char **mas, const int str, const int stb, char *mr, char *en);
В данный метод передаются указатели на массив дескрипторов mrf, размерности этого массива, и строка содержащая морфологическое описание данного слова. Так как у одного слова может быть несколько морфологических характеристик, то данная строка может содержать несколько наборов дескрипторов.
Метод first_err
Данный метод строит полное обратное отображение словоформы третьей категории ошибок. Метод последовательно удаляет букву из переданной словоформы.
Описание заголовка метода third_err
void first_err (char *s_word, char **ot, int &f, int q);
В данный метод передаётся полученное для анализа слово, и указатель на массив, в который будут передано множество полного обратного отображения словоформы. После построения данного множества, для каждого из обратного отображения вызывается метод s_basean и проводится попытка найти сгенерированную словоформу в словаре. Если словоформа найдена, дальнейшее выполнение останавливается и подсистема предлагает замену слова. Если словоформа не найдена то вызывается метод sec_err для поиска ошибки второй категории.
Метод sec_err
Данный метод строит полное обратное отображение словоформы по первой категории ошибок. Метод последовательно подставляет на каждое место в слове символ алфавита русского языка.
Описание заголовка метода fifth _err
void sec_err (char *s_word, char **ot, int &f, int q);
В данный метод передаётся полученное для анализа слово и указатель на массив, в который будут передано множество полного обратного отображения словоформы. После построения данного множества, для каждого из обратного отображения вызывается метод s_basean и проводится попытка найти сгенерированную словоформу в словаре. Если словоформа найдена, дальнейшее выполнение останавливается и подсистема предлагает замену слова. Если словоформа не найдена то считается, что для данной словоформы не удалось создать полное обратное отображение и данная словоформа помечается как не найденная в словаре.
2.7 Тестовые примеры
Для тестирования алгоритмов морфологического анализа были выбраны слова различных частей речи и с различными морфемными свойствами, также учитывается наличие словоформ имеющих различную морфологию, но не отличающихся друг от друга при написании.
Для тестирования алгоритмов исправления ошибок были составлены слова с ошибками первого и второго рода.
Результаты тестирования указаны в таблице 3.3.
Таблица 3.3. Результаты тестирования модуля морфологического анализа
| Морфологический анализ частей речи | |||
| Часть речи | Тестовое слово | Результат работы морфологического анализа | |
| Существительное | лес | С мр, ед, им С мр, ед, вн С жр, мн, рд | |
| мама | С жр, ед, им | ||
| люди | С мр, мн, им | ||
| дети | С мр, мн, им | ||
| Глагол | ехать | ИНФИНИТИВ дст | |
| едешь | Г дст, нст, 2 л, ед | ||
| идти | ИНФИНИТИВ дст | ||
| приехал | Г дст, прш, мр, ед | ||
| Прилагательное | красивый | П мр, ед, им, од, но П мр, ед, вн, но | |
| прекрасный | П мр, ед, им, од, но П мр, ед, вн, но | ||
| синий | П мр, ед, им, од, но П мр, ед, вн, но | ||
| Числительное | пять | ЧИСЛ им ЧИСЛ вн | |
| восьмой | ЧИСЛ-П мр, ед, им, од, но ЧИСЛ-П мр, ед, вн, но ЧИСЛ-П жр, ед, рд, од, но ЧИСЛ-П жр, ед, дт, од, но ЧИСЛ-П жр, ед, тв, од, но ЧИСЛ-П жр, ед, пр, од, но | ||
| шестью | ЧИСЛ тв Н | ||
| Местоимения | я | МС 1 л, ед, им | |
| ты | МС 2 л, ед, им | ||
| мы | МС 1 л, мн, им | ||
| наш | МС-П мр, ед, им, од, но МС-П мр, ед, вн, но | ||
| Предлоги | под | ПРЕДЛ | |
| над | ПРЕДЛ | ||
| в | ПРЕДЛ | ||
| Союзы | и | СОЮЗ | |
| но | СОЮЗ | ||
| Междометия | ах | МЕЖД | |
| ух | МЕЖД | ||
| ой | МЕЖД | ||
| Причастие | идущий | ПРИЧАСТИЕ од, но, нст, дст, ед, мр, им ПРИЧАСТИЕ но, нст, дст, ед, мр, вн | |
| смотревший | ПРИЧАСТИЕ од, но, прш, дст, ед, мр, им ПРИЧАСТИЕ но, прш, дст, ед, мр, вн | ||
| шедший | ПРИЧАСТИЕ од, но, прш, дст, ед, мр, им ПРИЧАСТИЕ но, прш, дст, ед, мр, вн | ||
| Деепричастие | приехав | ДЕЕПРИЧАСТИЕ дст, прш | |
| уйдя | ДЕЕПРИЧАСТИЕ дст, прш | ||
| въехав | ДЕЕПРИЧАСТИЕ дст, прш | ||
| Наречие | круто | Н | |
| однажды | Н | ||
| вкратце | Н | ||
| Словоформы, имеющие несколько значений части речи. | |||
| стали | Г дст, прш, мн С жр, ед, рд С жр, ед, дт С жр, ед, пр С жр, мн, им С жр, мн, вн | ||
| мыла | Г дст, прш, жр, ед С ср, ед, рд С ср, мн, им С ср, мн, вн | ||
| странно | КР_ПРИЛ ср, ед, од, но Н | ||
| хвоя | ДЕЕПРИЧАСТИЕ дст, нст С жр, ед, им | ||
| семью | ЧИСЛ тв С жр, ед, вн Н | ||
| Исправление ошибок | |||
| Категория ошибки | Вводимое слово | Найденная словоформа | |
| 1. (удвоение символа) | клаввиатура | клавиатура С жр, ед, им | |
| оффис | офис С мр, ед, им С мр, ед, вн | ||
| лиист | лист С мр, ед, им С мр, ед, вн | ||
| теллефон | телефон С мр, ед, им С мр, ед, вн | ||
| 2. (перестановка двух соседних символов) | аглоритм | алгоритм С мр, ед, им С мр, ед, вн | |
| лсе | лес С мр, ед, им С мр, ед, вн С жр, мн, рд | ||
| 1,2 | сааш | САШ С мр-жр, имя, мн, рд С мр-жр, имя, мн, вн | |
| САША С мр-жр, имя, ед, им | |||
| мрое | РОЕ С мр, ед, пр С мр, имя, ед, пр | ||
| МОРЕ С мр, ед, пр С жр, имя, ед, дт С жр, имя, ед, пр С ср, ед, им С ср, ед, вн С ср, ед, пр | |||
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности

 Скачать реферат
 Скачать реферат