17.07.2015 Views

Исследовательская система для анализа текстов на ...

Исследовательская система для анализа текстов на ...

Исследовательская система для анализа текстов на ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Дунаев А.А. Исследовательская система для анализа текстов на естественном языке 571.2. Графематический анализГрафематический анализ — достаточно простой компонент, выполняющийпервые предварительные действия над текстом. На вход компонентуподается текст, на выходе строится графематическая таблица, в которойна каждой строке стоит слово или разделитель из входного текста.Компонент выделяет некоторые аббревиатуры, имена с инициалами, даты ипр. Кроме деления текста на слова, компонент разбивает текст на абзацы ипредложения (макросинтаксический анализ).Графематическая таблица 1 состоит из двух столбцов. В первом столбцестоит некоторый кусок входного текста (выделенный по правилам, о которыхбудет сказано ниже), во втором столбце стоят графематические дескрипторы,характеризующие этот кусок текста. Например, для текста «Иванспал» будет построена таблица из трех строк:Кусок входного текстаИван_СпалГрафематические дескрипторыЛЕ Бб ПРД1РЗД ПРБЛЕ бб ПРД2Так или иначе дескрипторы создают формальное описание текста науровне графематики, которое уже поддаётся автоматизированной обработкев терминах лингвистических теорий.1.3. Морфологический анализМорфологический компонент осуществляет морфоанализ и лемматизациюрусских словоформ. Морфоанализ — приписывание словоформамморфологической информации, лемматизация — приведение текстовыхформ слова к словарным. При лемматизации для каждого слова входноготекста морфологический процессор выдает множество морфологическихинтерпретаций следующего вида:• лемма,• морфологическая часть речи,• множество наборов граммем.1 Здесь и далее по тексту приводятся примеры реализаций, как это сделано в системе Диалинг[5].


58 Проблемы интеллектуализации и качества систем информатикиЛемма — это нормальная форма слова. Например, для существительных— это единственное число (если оно есть у существительного), именительныйпадеж.Граммема — это элементарный морфологический описатель, относящийсловоформу к какому-то морфологическому классу, например, словоформестол с леммой СТОЛ будут приписаны следующий набор граммем:«мр, ед, им, но», «мр, ед, вн, но». Таким образом, морфологический анализвыдает два варианта анализа словоформы стол с леммой СТОЛ внутри однойморфологической интерпретации: с винительным (вн) и именительнымпадежами (им).Также большую роль здесь играет омонимичность словоформ. Например,у словоформы стали могут быть следующие интерпретации:• сталь — существительное;• стать — глагол.Таким образом, видно, что морфологического анализа явно не достаточнодля выбора одной конкретной морфологической интерпретации слова,к тому же, выбор одной интерпретации может повлиять на выбор интерпретациидля соседних слов. Поэтому программы работают с целымнабором возможных морфологических интерпретаций, постепенно выделяянаиболее вероятные на следующих этапах анализа.1.4. Фрагментационный анализФрагментационный анализ — деление предложения на неразрывныесинтаксические единства (фрагменты), большие или равные словосочетанию(синтаксической группе), и установление частичной иерархии на множествеэтих единств. Фрагменты — это главные и придаточные предложенияв составе сложного, причастные, деепричастные и другие обособленныеобороты. Иерархия отражает тот факт, что в предложении некоторыефрагменты синтаксически зависимы от других. Так, фрагмент «причастныйоборот» будет подчиняться фрагменту, содержащему определяемое слово,придаточное предложение — главному.Необходимость фрагментационного анализа в системе АОТ вызвана, впервую очередь, техническими причинами.1.5. Синтаксический анализСледующим этапом, после морфологического и фрагментационногоанализов, является этап синтаксической обработки текста. Цель синтакси-


Дунаев А.А. Исследовательская система для анализа текстов на естественном языке 59ческого анализа — построение групп на предложении. Синтаксическаягруппа — это отрезок (первое слово группы — последнее слово группы) впредложении, для которого указан подотрезок — его главная группа. В частномслучае группа — одно слово. Как видно из определения, синтаксическиегруппы неразрывны, а из того, что две группы пересекаются, следует,что одна лежит в другой (т.е. является ее подотрезком).Синтаксическую структуру предложения можно представить в виде дерева:корень (нулевой уровень) — само предложение; узлы — синтаксическиегруппы (далее просто группы); листья — элементарные группы (слова);ребра — отношение «лежать непосредственно в» (А->В значит, что Влежит в А и при этом нет такой группы С, что В лежит в С и С лежит в А).До начала работы анализатора каждое слово — группа первого уровня(группы первого уровня не входят ни в какие группы кроме предложения) икроме корня других групп нет. Результатом работы является «дерево» предложения,описывающее лингвистические отношения подчинения. По сути,это и есть математическая модель предложения на естественном языке.2. ПОСТАНОВКА ЗАДАЧИВ настоящее время ведутся активные исследования в области разработкиалгоритмов анализа текстов. Результатом этих исследований являютсядесятки моделей и готовых алгоритмов, которым необходима проверка.При этом до сих пор не существует инструмента, предоставляющего удобныесредства для разработки в данной области. Это вынуждает разработчика-лингвистасосредотачивать внимание не только на написании алгоритма,но и на создании системы, способной запустить этот алгоритм, обеспечитьего взаимодействие с остальными и предоставить необходимую информациюо его работе. Таким образом, главной задачей данной работы ставитсясоздание исследовательского стенда для анализа текстов на естественномязыке.Важно отметить, что результатом работы должен быть законченныйпродукт, подходящий для применения его в качестве полноценного анализаторатекстов, а именно стенд, предоставляющий необходимые функциидля ведения исследований в области разработки алгоритмов анализа.Система должна обеспечивать:• возможность загрузки и редактирования анализируемых текстов;• анализ текста посредством программируемого конвейера, составленногоиз разрабатываемых независимо компонентов;


60 Проблемы интеллектуализации и качества систем информатики• просмотр результатов анализа текста каждым из компонентов;• обеспечение замера производительности работы компонентов и визуализациюэтих данных;• возможность независимой разработки компонентов анализатора споследующей возможностью включения в конвейер;• функции работы со словарями — нахождение словарных статей,возможность создания и подключения новых словарей;• приемлемое время работыОтметим, что морфологический и синтаксический анализы производятсяпосредством использования внешних модулей (системы Диалинг).В результате проведённого исследования современных технологий исредств разработки, был решён вопрос выбора инструментов для решенияпоставленной задачи. Кратко основные положения можно представить следующимобразом.• Совместимость с самыми современными технологиями и их использование:o язык реализации исследовательского стенда — C# 2 ;oописание и реализация бизнес-логики программируемых модулейанализатора.• Расширяемость — исследовательский стенд предоставляет возможностьизменять существующие блоки анализатора и создаватьновые.• Простота использования — использование графического представлениядля создания моделей компонентов анализа.• Безопасность и защищённость — архитектура предоставляет возможностьразрабатывать и подключать модули любой сложности(никак не ограничивая их внутреннюю структуру архитектурнымиособенностями), без предоставления при этом исходного кода.• Поддержка языков — система позволяет использовать для разработкикомпонентов анализатора модули, написанные на следующихязыках: C, C++, Managed C++, Pascal, Visual Basic и др.2 На момент написания программы для исполнения приложений на языке C# в среде операционнойсистемы Microsoft Windows использовались ряд дополнениний.


Дунаев А.А. Исследовательская система для анализа текстов на естественном языке 61Принципиальная схема архитектурыПрограммаконвейерИсследовательскийстендзапускаетПрограммируемый конвейеранализатора текстовГрафематическийКонвейер возвращаетрезультатМорфологическийСинтаксическийСемантическийРис. 1Как уже упоминалось ранее, для реализации данной архитектуры(рис. 1) был выбран язык C#. Исследовательский стенд является Windowsприложением,предоставляющим функциональность работы со стендом состороны пользователя, реализуя такие возможности, как загрузка, отображениеи редактирование текста, запуск анализа текста и отображение результатованализа.Он взаимодействует с программируемым конвейером 3 , который и являетсяизменяемой компонентой программного комплекса. Программируемыйконвейер предоставляет функциональность работы со стендом со стороныисследователя — разработчика алгоритмов анализа — реализуя такиевозможности, как подключение модулей анализатора к программе, а такжесвязывание их в единый конвейер и обеспечение всей функциональности,необходимой для их совместной работы.3Программируемый конвейер — приложение, реализованное на основе технологииMicrosoft Framework.


62 Проблемы интеллектуализации и качества систем информатики2.2. Приложение исследовательского стендаВнешний вид пользовательского интерфейса представлен на рис. 2.Рис. 22.2.1. Результаты оптимизацииРазработка данного приложения проводилась на основе предыдущихработ, проведённых в данном направлении. Для обеспечения приемлемойпроизводительности были разработаны структуры хранения и управленияданными.Применение данных моделей привело к значительному ускорению работыпрограммы. Для тестирования производились выборки одних и тех жеслов из оптимизированных и неоптимизированных словарей (рис. 3).Важно отметить, что в данном тесте не использовался механизм кэширования,т.е. и в оптимизированных словарях каждый раз происходило обращениек жесткому диску. При выборке же слов из памяти, время можносчитать равным нулю.


Дунаев А.А. Исследовательская система для анализа текстов на естественном языке 63Оптимизация словарей140012001000Время поиска,мсек800600400200НеоптимизированныеОптимизированные0"лаборатория"Слова"хроники""шеф""некоторые""день"Рис. 32.3. Программируемый конвейерОсновной функцией данного программного модуляявляется предоставление конвейера анализатора ввиде четырёх последовательно исполняемых модулей:графематического, морфологического, синтаксическогои семантического. Эти модули реализуютлогику, описанную в разд. 1. Эта часть программыреализована на основе технологии MicrosoftFramework. Схема конвейера отображена на схеме.Данная система позволяет разрабатывать элементыанализатора на уровне WYSIWYG. Для потенциальныхпользователей, специалистов в области лингвистики,но не программистов, эта возможность,безусловно, имеет большое значение. Разработка анализаторов,с учётом возможностей данной технологии,сводится к написанию функциональных элементарныхблоков и последующей их компоновке с использованиемграфического представления.


64 Проблемы интеллектуализации и качества систем информатики2.4. Блоки программируемого конвейераВ рамках работы были реализованы и протестированы два первых компонентаконвейера анализатора.2.4.1. Графематический анализаторЭто первый компонент программируемого конвейера анализатора текстов.Его задача описана в разд. 1.2. В рамках задачи данный компонентбыл реализован на основе Microsoft Framework. Результаты работы компонентаможно увидеть на рис. 4.Рис. 42.4.2. Морфологический анализаторЭто второй блок программируемого конвейера анализатора текстов. Егозадача описана в разд. 1.3. В рамках задачи данный компонент был такжереализован на основе Microsoft Framework. Результаты работы компонентаможно увидеть на рис. 5.


66 Проблемы интеллектуализации и качества систем информатики• Стандартизация хранения словарных данных путём использованияраспространённых баз данных (также является шагом к оптимизациискорости работы).• Обеспечение возможности использования Интернет в качестве информационнойбазы.• Реализация механизма отождествления выражений на базе языкаREFAL.• Реализация компонента синтаксического анализа.• Реализация системы распределённого анализа на основе данногопрограммного комплекса.• Создание интерфейса для возможности использования функцийданного приложения другими программами в своих целях.• Добавление функции исполнения скриптов — программ на псевдоязыке— позволяющее автоматизировано обрабатывать массивытекстов (анализ множества файлов, складирование результатов).• Создание универсального формата отчётов о проведённых анализахс целью сравнения результатов работы различных алгоритмов.Некоторые их этих задач могут лечь в основу дальнейшей исследовательскойдеятельности в данном направлении. Таким образом, помиморешения конкретной задачи, была подготовлена база для последующихработ и определены перспективы развития.СПИСОК ЛИТЕРАТУРЫ1. Мельчук И.А. Опыт теории лингвистических моделей типа «СмыслТекст». —М.: Наука, 1974. — 315 с.2. Леонтьева Н.Н. Система французско-русского автоматического перевода(ФРАП): лингвистические решения, состав, реализация // МП и ПЛ. Проблемысоздания системы автом. перевода / Сб. научн. трудов МГПИИЯ им. М. Тореза.— Вып. 271. — М., 1987. — С. 6–25.3. Леонтьева Н.Н. ПОЛИТекст: информационный анализ политических текстов //Сб. НТИ. — 1995. — Сер. 2, N 4.4. Кудряшова И.М. О семантическом словаре в системе ФРАП // Сб. научн. трудов.— М.: МГПИИЯ им. М. Тореза, 1986. — Вып. 271. — 8 с.5. Сокирко А.В. Семантические словари в автоматической обработке текста. //Канд. дисс., МГПИИЯ. — М., 2000. — 108 с.6. Кулагина О.С. Исследования по машинному переводу. — М.: Наука, 1979. —127 с.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!