Система семантического разбора для естественно-языковых текстов

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

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



?зыке, на входе должен поступать текст на естественном языке, а на выходе строится семантическая сеть виде ориентированного графа. В результате, вершины графа соответствуют объектам текстовой семантики, а дуги задают отношения между ними. Часто, вершинами графа называют семантическими узлами, а дуги - семантическими отношениями.

Обобщенную структуру системы можно рассмотреть на рисунке 2.1.

Рисунок 2.1 - Обобщенная структура системы семантического разбора

3. АНАЛИЗ АЛГОРИТМОВ ДЛЯ СИСТЕМЫ ОБРАБОТКИ ЕСТЕСТВЕННО-ЯЗЫКОВЫХ ТЕКСТОВ

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

Выделяются следующие компоненты:

-графематический анализ - выделение слов, цифровых комплексов, формул и т.д.;

-морфологический анализ - построение морфологической интерпретации слов входного текста;

-синтаксический анализ - построение дерева зависимостей всего предложения;

-семантический анализ - построение семантического графа текста.

Для каждого уровня разрабатывается свой язык представления. Язык представления, как полагается, состоит из констант и правила их комбинирования. На графематическом уровне константами являются графематические дескрипторы (ЛЕ - лексема, ЦК - цифровой комплекс и т.д.) На морфологическом уровне - граммемы (рд - родительный падеж, мн - множественное число). На синтаксическом - названия отношений (subj -отношение между подлежащим и сказуемым, circ - обстоятельство).

Основой для построения уровней служат результаты работы предыдущих компонентов, но, что важно, последующие компоненты также могут улучшить представление предыдущих. Например, если для какого-то предложения синтаксический анализатор не смог построить полного дерева зависимостей, тогда, возможно, семантический анализатор сможет спроектировать построенный им семантический граф на синтаксис.

3.1 Графематический анализ

Графематический анализ - достаточно простой компонент, выполняющий первые предварительные анализа над текстом, представленного в виде цепочки ASCII символов, вырабатывающая информацию, необходимую для дальнейшей обработки морфологическим и синтаксическим процесорами.

В задачу графематического анализа входят:

-разделение входного текста на слова, разделители и т.д.;

-сборка слов, написанных в разрядку;

-выделение устойчивых оборотов, не имеющих словоизменительных вариантов;

-выделение ФИО (фамилия, имя, отчество), когда имя и отчество написаны инициалами;

-выделение электронных адресов и имен файлов;

-выделение предложений из входного текста;

-выделение абзацев, заголовков, примечаний.

.1.1 Входные и выходные данные

На вход графематике подается файл плайн-текста в Windows-кодировке. На выходе графематика строит таблицу, состоящую из двух столбцов. В первом столбце стоит некоторый кусок входного текста (выделенный по правилам, о которых мы скажем ниже), во втором столбце стоят графематические дескрипторы, характеризующие этот кусок текста. Например, из текста "Иван спал" будет построена таблица 3.1.

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

Таблица 3.1

Графематические дескрипторы

Кусок входного текстаГрафематические дескрипторыИванRLE Aa NAM?спалRLE aa SENT_END

.1.2 Графематические дескрипторы

Сначала приведем перечень главных дескрипторов, один из которых обязательно должен присутствовать на каждой строке графематической таблицы. Графематические дескрипторы описаны в таблице 3.2.

Таблица 3.2

Перечень главных дескрипторов

НазваниеРусское названиеОбъяснениеПримерыRLEЛЕрусская лексема, присваивается последовательностям, состоящим из кириллицыИванLLEИЛЕиностранная лексема, присваивается последовательностям из латиницыJohnDELРЗДразделитель."*", "=", "_"PUNЗПРзнак препинания, присваивается последовательностям, состоящим из одинаковых знаков препинания".", " [","]"," (", ") ", "-", ":", ";"DCЦКцифровой комплекс, присваивается последовательностям, состоящим из цифр1234DSCЦБКцифро-буквенный комплекс, присваивается последовательностям, состоящим из цифр и букв34hGRAUNKсложный узел, присваивается последовательностям, не обладающим вышеперечисленными признаками

Таблица 3.3

Разновидности дескриптора DEL

SPCПРБстрока пробелов или табуляцийEOLNКСТпризнак конца строкиPAR_SYMсимвол параграфаEMSYMнулевой символ

Разновидности дескриптора PUN описаны в таблице 3.4.

Таблица 3.4

Разновидности дескриптора PUN

OPNоткрывающая скобка"{", "[", "("CLSзакрывающая скобка"}", "]", ")"HYPдефис-

Разновидности дескриптора ЗПР и РЗД описаны в таблице 3.5.

Таблица 3.5

Разновидности дескриптора ЗПР и РЗД

DPUNпоследовательность одинаковых символов, длина которой больше 20PLPпоследовательность одинаковых символов, длина которой больше 1DPUNпоследовательность одинаковых символов, длина которой больше 20

Разновидности дескриптора ЛЕ и ИЛЕ описаны в таблице 3.6.

Таблица 3.6

Разно