Методика создания программы для постредактирования размеченных текстов

Понятие, сущность и характерные черты корпуса текста. Основные типы разметок, отражающих особенности форматирования текста. Алгоритм, программное обеспечение, технические и общие данные, интерфейс и специфика работы программы Ambiguity Eraser v.1.0.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 14.11.2009
Размер файла 332,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

16

Санкт-Петербургский государственный университет

Филологический факультет

Контрольная работа

Методика создания программы для постредактирования размеченных текстов

Студента 2 курса кафедры

математической лингвистики

Сухотина И.А.

Научный руководитель:

к. ф. н., доц. Захаров В.П.

Санкт-Петербург

2006 г.

План

Введение

1. Общие сведения

1.1 Обозначение и наименование программы

1.2 Программное обеспечение, необходимое для функционирования программы

1.3 Язык программирования, на котором написана программа

1.4 Технические данные

2. Описание программы

2.1 Общие данные

2.2 Интерфейс

3. Алгоритм

4. Информация

4.1 Входные данные

4.2 Выходные данные

4.3 Промежуточные данные

Выводы

Библиография

Приложение

Введение

В последние десятилетия в обиход лингвистов вошел новый инструмент лингвистических исследований, получивший название корпуса текстов. Фактически, под корпусом текстов следует понимать не только текстовый массив, но и специализированную программную систему (corpus manager). Понятие корпуса является продолжением традиционных картотек, с которыми всегда работали лингвисты.

Современные компьютерные технологии многократно упрощают и ускоряют процедуры лингвистической обработки больших массивов текстов. Раньше исследователь мог лишь просматривать тексты и вручную выписывать из них нужные примеры; эта предварительная (но абсолютно неизбежная) деятельность была очень трудоемкой и не позволяла обрабатывать большие массивы материала. Теперь ограничений на объем анализируемого материала и скорость поиска информации по существу нет, а это означает, что в распоряжении исследователя оказываются колоссальные массивы текстов самого разного типа.

Характерная особенность современных корпусов - наличие в текстах специальной разметки. Разметка -- главная характеристика корпуса; она отличает корпус от простых коллекций (или «библиотек») текстов, в изобилии представленных в современном Интернете, в том числе и на русском языке. Разметка заключается в приписывании текстам и их компонентам специальных меток: внешних (экстралингвистических - метатекстовая разметка) и собственно лингвистических, описывающих лексические и грамматические характеристики элементов текста (морфологическая, акцентная и семантическая разметка). Набор этих метаданных во многом определяет возможности, предоставляемые корпусом исследователям.

В настоящее время не существует общепризнанных стандартов представления лингвистической и других видов информации в текстах. Специальный международный проект Text Encoding Initiative (TEI) предназначен для того, чтобы разработать стандартизированные средства разметки. Для этого применяется уже общепризнанный международный язык разметки документов SGML или его подмножество XML. Типы разметки, которые может содержать корпус, можно условно подразделить на лингвистические и внешне лингвистические. К последним относятся:

Разметка, отражающая особенности форматирования текста (заголовки, абзацы, отступы и т.д.).

Разметка, касающаяся сведений об авторе и тексте.

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

1.Морфологическая. В иностранных источниках употребляется термин part-of-speech tagging, дословно - частеречная разметка, в действительности она включает не только признак части речи, но и признаки грамматических категорий, свойственных данной части речи. Это основной тип разметки в текстах, он рассматривается как основа для дальнейших этапов анализа - синтаксического и семантического.

2.Синтаксическая. Является результатом синтаксического анализа или парсинга (от англ. parsing - анализ, разбор). Чаще всего в его основе лежит грамматика структур непосредственно составляющих.

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

Существуют также многие другие виды лингвистической разметки (анафорическая, просодическая и т. д.), не представляющие интереса в данной работе.

Аннотирование корпусов осуществляется программными средствами. Во-первых, это экономичнее с точки зрения временных и трудозатрат, чем если бы разметка проводилась вручную. Во-вторых, что более важно, это связано с поиском решений в области автоматической обработки текста. Тогда как для некоторых видов разметки, в частности анафорической, просодической, создание автоматических систем пока представляется очень сложным, и основная часть работы проводится вручную, то для морфологического и синтаксического анализа существуют различные программные средства, которые принято называть соответственно тэггеры (taggers) и парсеры (parsers). В случаях морфологической омонимии и синтаксической неоднозначности такие программы предлагают несколько вариантов решения. Например, при разметке слову «печь» присваиваются характеристики как глагола, так и существительного, так как программа не способна своими средствами определить правильный вариант. Поэтому большинство таких систем требует ручного постредактирования. В связи с этим создание программного обеспечения постредактирования размеченного текста является весьма актуальным.

Формулировка задачи

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

1. Общие сведения

1.1 Обозначение и наименование программы

Ambiguity Eraser v.1.0

AmbEraser.exe

1.2 Программное обеспечение, необходимое для функционирования программы

Программа предназначена для работы в ОС Windows 98 и выше.

1.3 Язык программирования, на котором написана программа

Visual C++

1.4 Технические данные

Объем программы: 1,38 МБ

Объем занимаемой оперативной памяти: 6104 Кб

2. Описание программы

2.1 Общие данные

Программа написана на языке Visual C++, являющемся универсальным высокоуровневым объектно-ориентированным языком, при помощи Microsoft Visual Studio 6.0 с использованием библиотеки MFC (Microsoft Foundation Classes).

В программе также используются три класса, разработанные Алексом Хазановым (Alex Hazanov): CXmlNodeWrapper, CXmlDocumentWrapper и CXmlNodeListWrapper. Эти классы обеспечивают удобную работу с XML-файлами и включают в себя эффективные методы и функции для работы с ними. Также включены классы CEditTreeCtrl, CEditTreeCtrlEx и CEditTreeTracker, созданные Йоргом Кёнигом (Joerg Koenig).

2.2 Интерфейс

Внешне программа представляет из себя диалоговое окно Windows с двумя полями внутри: слева отображается дерево, справа - связный текст предложения (см. Приложения, рис. 1). При создании главного окна программы появляется также окошко “Help”, в котором отображается справочник граммем и обозначений частей речи. Имеются кнопки “Open File” и “Save File” для открывания и сохранения XML-файлов, кнопка “Delete” для удаления неправильных вариантов разметки, кнопка “Undo” для отмены последнего удаления, кнопка “Edit” для редактирования граммем вручную, кнопки “<<<<<” и ”>>>>>” для перелистывания предложений. Для того, чтобы добраться до какого-либо предложения в тексте напрямую, без перелистывания, следует ввести номер этого предложения в поле “Sentence №” и нажать кнопку “Go!”. Имеется также кнопка “Help” для вызова справочника, если он был закрыт, и кнопка “CLOSE” для закрытия приложения и выхода из программы.

3. Алгоритм

1. Открываем файл с расширением *.xml (с помощью кнопки “Open File”). Содержимое файла сохраняется в переменной m_xmlDoc типа CXmlDocumentWrapper и создаются две резервных копии открытого документа: m_xmlDocreserve и m_xmlDocreserve2. Работа происходит именно с ними. Таким образом, в случае, если пользователь не захочет сохранять изменения после редактирования, исходный файл останется «нетронутым». Происходит вспомогательная разметка документа m_xmlDocreserve, при которой каждому предложению, слову и граммеме присваивается индивидуальный порядковый номер - “ID”. Это облегчает поиск удаленных и редактируемых на экране слов в реальном документе.

2. Запускается функция ParseNode, документ (m_xmlDocreserve) проверяется на правильность разметки. Если в разметке существуют ошибки, то есть нарушения правил синтаксиса языка XML (например, в каком-то месте отсутствует закрывающий тег), выводится сообщение "Ошибка в xml-файле!". Если файл размечен правильно, в левом окне программы (Tree Control) выводится дерево со следующей структурой:

Если слово имеет несколько вариантов разметки, оно выделяется специальной иконкой красного цвета, и вместо текста «Слово» имеет в дереве текст «Слово не отредактировано».

В правом окне (Edit Control) выводится текст предложения, без xml-разметки, для того, чтобы пользователь мог выбрать правильный вариант разметки, исходя из контекста, в котором данное слово употребляется.

3. Далее программа принимает сообщения от пользователя.

При удалении какого-либо из элементов дерева с помощью кнопки “Delete” происходит поиск соответствующего ему элемента в xml-коде документа, который также удаляется (и в m_xmlDocreserve, и в m_xmlDocreserve2). Пользователю не позволяется удалять все варианты разметки одного слова, один обязательно должен остаться.

16

При нажатии на кнопку “Edit” возникает небольшое окно “Edit”, в котором пользователь может редактировать разметку вручную. Пользователю позволяется редактировать только характеристики “lemma”, “pos”, “gram” и “stress”. При редактировании характеристик “pos” и “gram” в окне “Edit” появляется список обозначений частей речи или список граммем соответственно, что облегчает выбор нужного варианта (см. Приложения, рис. 2.1, рис. 2.2).

При нажатии на кнопку “Go!” происходит считывание числа, набранного в поле “Sentence №”, в котором по умолчанию отображается номер текущего предложения, и запускается функция ParseNode для предложения с соответствующим значением ID.

При нажатии на кнопки “<<<<<” и ”>>>>>” функция ParseNode запускается для предыдущего или следующего предложения соответственно.

При нажатии на кнопку “Help” возникает окно со списком граммем и обозначений частей речи, если оно было закрыто (на нем имеется кнопка “Close”).

При нажатии на кнопку «Save File» значение переменной m_xmlDocreserve2 присваивается переменной m_xmlDoc. Есть возможность сохранить файл как с новым именем, так и со старым. Файл сохраняется в расширении *.xml.

При нажатии на кнопку “C L O S E” приложение закрывается.

4. Информация

4.1 Входные данные

Файл с расширением *.xml.

4.2 Выходные данные

Файл с расширением *.xml.

4.3 Промежуточные данные

Переменные m_xmlDoc, m_xmlDocreserve и m_xmlDocreserve2 класса CXmlDocumentWrapper (удаляются при закрытии программы).

Выводы

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

Библиография

1. Герд А.С., Захаров В.П. Нерешенные вопросы Национального корпуса русского языка.

2. Липпман С.Б., Лажойе Ж. Язык программирования С++, вводный курс. С-Пб., Невский Диалект, 2003.

3. ГОСТ 7.32-2001. Отчет о научно-исследовательской работе. Структура и правила оформления. М., 1991.

4. Методические указания РД 50-34.698-90. Требования к содержанию документов. М., 1990.

5. ГОСТ 19.201-78.

6. Библиотека MSDN - Visual Studio 6.0. (http://msdn.microsoft.com/library/rus/)

7. Википедия, статья «XML» (http://ru.wikipedia.org/wiki/XML).

8. Аннотированный корпус русских текстов: концепция, инструменты разметки, типы информации. Богуславский И.М., Григорьев Н.В., Григорьева С.А., Иомдин Л.Л., Крейдлин Л.Г., Санников В. З. , Фрид Н.Е. ИППИ РАН

9. (http://www.dialog-21.ru/archive_article.asp?param=6420&y=2000&vol=6078).

10. Официальный сайт национального корпуса русского языка (http://www.ruscorpora.ru/corpora-intro.html).

11. Корпусная лингвистика (http://corpora.iling.nw.ru).

12. Автоматическая обработка текста (www.aot.ru).

13. The Code Project - Free Source Code and Tutorials (www.codeproject.com)

Приложение

Рис. 1. Общий вид программы.

Рис. 2.1. Диалоговое окно “Edit”. Редактирование характеристики “gram”.

Рис. 2.2. Диалоговое окно “Edit”. Редактирование характеристики “pos”.


Подобные документы

  • Особенности разработки и отладки программы на языке Pascal (Delphi), в операционной системе Windows 7 Ultimate. Описание, назначение, функции, оборудование, программное обеспечение, алгоритмы, математическая основа, тесты и интерфейс программы DMC.exe.

    курсовая работа [422,7 K], добавлен 28.05.2010

  • Изучение категории типов данных, видов выражений и операций, работа на языке Си. Составление программы вычисления значения функции у(х) при произвольном значении х. Блок-схема алгоритма. Описание текста программы и рассмотрение контрольного примера.

    лабораторная работа [124,7 K], добавлен 09.01.2012

  • Анализ предметной области. Проектирование и разработка базы данных и интерфейса в виде набора Web-страниц для отображения, создания, удаления и редактирования записей базы данных. Аппаратное и программное обеспечение системы. Алгоритм работы программы.

    курсовая работа [3,0 M], добавлен 12.01.2016

  • Разработка программы "Калькулятор" для работы с вещественными числами. Алгоритм работы программы. Набор тестов и варианты исполнения программы. Порядок ввода текста, стандартные ошибки в работе программы. Программная документация, текст программы.

    курсовая работа [225,9 K], добавлен 13.10.2013

  • Методика и основные этапы создания программы, взаимодействующей с пользователем посредствам графического интерфейса и выполняющей помехоустойчивое кодирование информации, ее цели. Алгоритм работы программы, отладка и проверка ее работоспособности.

    курсовая работа [43,1 K], добавлен 12.05.2013

  • Понятие и цель применения текстовых данных. Принцип кодирования азбуки Морзе. Основные методы языка высокого уровня C#. Алгоритм работы, листинг, тестирование программы для перевода текста в последовательность кодов азбуки Морзе. Руководство пользователя.

    курсовая работа [1,4 M], добавлен 15.01.2013

  • Основные правила работы с текстовым редактором Word: запуск программы, открытие и сохранение документа, описание возможностей панели инструментов. Вставка сносок, рисунков, диаграмм, построение таблиц, создание списков. Методика форматирования текста.

    методичка [166,5 K], добавлен 05.07.2010

  • Создание программного средства для реализации работы отдела кадров, построенное на основах ООП и STL. Доступный и простой интерфейс для занесения данных о рабочих и местах их прошлых работ. Алгоритм функционирования программы, ее характеристика.

    курсовая работа [319,6 K], добавлен 19.06.2012

  • История появления и развития шифрования текста. Проблема шифрования и дешифрования текстовых сообщений в современности. Создание программы для зашифровки и расшифровки вводимого текста пятью методами: Атбаш, Цезаря, Полибия, Гронсфельда и Винжера.

    курсовая работа [923,6 K], добавлен 26.12.2011

  • Разработка алгоритмов на персональном компьютере, среда Турбо Паскаль. Работа программы для шифровки и дешифровки текста. Алгоритм шифрования: с помощью команды ORD. Функция Password а преобразовании символа, введенного пользователем ключа в его числовой

    курсовая работа [19,6 K], добавлен 17.10.2008

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.