Система семантического разбора для естественно-языковых текстов
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?зыке, на входе должен поступать текст на естественном языке, а на выходе строится семантическая сеть виде ориентированного графа. В результате, вершины графа соответствуют объектам текстовой семантики, а дуги задают отношения между ними. Часто, вершинами графа называют семантическими узлами, а дуги - семантическими отношениями.
Обобщенную структуру системы можно рассмотреть на рисунке 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
Разно