Дипломная работа: Индексации хранилища текстов на основе естественно-языковой адресации

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

3

Пермский филиал федерального государственного автономного образовательного учреждение высшего образования

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

«Высшая школа экономики»

Факультет экономики, менеджмента и бизнес-информатики

Выпускная квалификационная работа

Индексации хранилища текстов на основе естественно-языковой адресации

Симонова Наталья Андреевна

Пермь, 2018 год

Аннотация

В данной работе представлены результаты реализации модуля программной системы для проведения лингвистических исследований, обеспечивающего хранение, поиск и получение текстов из корпусов с использованием индексации на основе естественно-языковой адресации в виде wcf-сервиса. Были проанализирован подход к хранению корпусов в существующих программных продуктах, а также документо-ориентированные СУБД для хранения текстовой информации. Анализ показал необходимость разработки специального модуля с применением индексации. Во второй главе приведен анализ проектирования баз данных и архитектуры, а также технико-экономическое обоснование. Далее описаны реализация, тестирование и публикация wcf-сервиса на Azure.

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

Работа включает 48 страниц основного текста, 31 иллюстрацию, 17 таблиц, 4 приложения. Библиографический список - 27 наименований.

2018 г. Кафедра информационных технологий в бизнесе.

Оглавление

  • модуль программный индексация лингвистический
  • Введение
  • Глава 1.Задача хранения корпусов текстов
    • 1.1.Существующие решения для задач корпусной лингвистики
      • 1.1.1.Приложение AntConc
      • 1.1.2.Приложение CQPweb
      • 1.1.3.Библиотека Corsis
      • 1.1.4.Семейство GATE
      • 1.1.5.Сравнение инструментов
    • 1.2.Инструменты для решения задач хранения текстовых документов
      • 1.2.1.СУБД MongoDB
      • 1.2.2.СУБД OrientDB
      • 1.2.3.СУБД Azure Cosmos DB
      • 1.2.4.Сравнение документо-ориентированных СУБД
    • 1.3.Индексация на основе естественно-языковой адресации
    • 1.4.Технология Windows Communication Foundation
    • 1.5.Технология Entity Framework
    • 1.6.Требования к сервису-хранилищу текстов
  • Глава 2.Проектирование хранилища текстов
    • 2.1.Проектирование работы сервиса
    • 2.2.Проектирование баз данных
    • 2.3.Диаграмма классов
    • 2.4.Архитектура системы
    • 2.5.Технико-экономическое обоснование
    • 2.6.Итоги проектирования
  • Глава 3.Реализация сервиса для хранения корпусов
    • 3.1.Реализация CRUD-функций
    • 3.2.Реализация индексации на основе естественно-языковой адресации
    • 3.3.Публикация сервиса
  • Глава 4.Тестирование
    • 4.1.Функциональное тестирование
    • 4.2.Интеграционное тестирование
    • 4.3.Тестирование индексации на основе естественно-языковой адресации
  • Заключение
  • Библиографический список
  • Приложение

Введение

Соответствие научному стилю - один из показателей качества научных публикаций. Однако при предоставлении результатов исследований на иностранном языке данное требование может вызывать затруднение у авторов, не являющихся носителями языка. Изучение и формализация критериев оценки соответствия текста научному стилю может помочь упростить данную задачу для авторов. Изучением данной проблемы занимается лингвистика и её подраздел - стилистика, однако выявление критериев и проверка текста на соответствие им могут быть автоматизированы с помощью специально разработанных программных средств [1].

С развитием вычислительной техники появилась возможность автоматически обрабатывать большие массивы документов, поэтому своё развитие получила корпусная лингвистика, которая исследует особенности языка на основе корпусов - наборов текстов, собранных по определенному критерию, например, единому стилю или автору [6]. На основе таких наборов можно выявлять закономерности языка, собирая статистические данные. Такие закономерности или стандартные приемы были выявлены и для научного стиля в английском языке. Примером такой закономерности может быть более частое использование пассивного залога, чем в общей речи [26]. Однако данный вопрос только решается лингвистами и исследование не завершено.

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

Существующие программные продукты (GATE, AntConc и др.) созданы для использования только специалистами-лингвистами и не пригодны для использования непрофессионалами. GATE представляет собой группу программных продуктов, включая настольные, облачные, серверные версии с возможностью расширения функциональности через плагины. Однако параллельная работа с корпусами возможна только, если пользователь устанавливает персональный сервер для хранения данных, а облачная версия может использоваться только как механизм распределенной обработки в виде сервиса [10, 18].

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

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

Для обеспечения таких возможностей данным программам необходимо хранить как отдельные тексты, загружаемые студентами, так и целые корпусы для их дальнейшего исследования. Иногда корпусы могут достигать значительного объема, и поэтому необходимы эффективные алгоритмы поиска по документам, так как в неструктурированных данных поиск может обернуться последовательным перебором. Одним из возможных решений является использование индексации на основе естественно-языковой адресации, которая подразумевает использование цифровых кодов букв в качестве индекса [2, 24].

Для хранения текстовых документов может быть использовано одно из существующих решений - документно-ориентированная СУБД, обеспечивающая более простую работу с неструктурированными данными.

Объектом работы является хранение корпусов текстов. Предметом - индексация данных корпусов на основе естественно-языковой адресации.

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

В соответствии с целью были сформулированы следующие задачи:

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

2. Произвести проектирование web-сервиса для хранения корпусов:

2.1. Произвести проектирование вариантов использования сервиса для выявления функциональных требований.

2.2. Произвести моделирование статической структуры системы.

2.3. Произвести проектирование архитектуры системы.

3. Реализовать web-сервис для хранения корпусов:

3.1. Реализовать CRUD-функции для корпусов и документов.

3.2. Реализовать индексацию на основе естественно-языковой адресации.

3.3. Произвести функциональное и интеграционное тестирование.

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

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

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

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

Глава 1. Задача хранения корпусов текстов

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

Для сравнения инструментов по их подходу к хранению информации выбраны следующие критерии:

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

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

3. Формат данных, так как открытость используемых структур является преимуществом для современных систем.

4. Объем дополнительной памяти, которая используется для хранения индексов. Помимо самой информации для ускорения доступа к ней необходимо хранить индексы, которые могут так же занимать большое количество памяти, что является явным недостатком в условиях ограниченности ресурсов.

1.1 Существующие решения для задач корпусной лингвистики

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

Существует большое количество программных систем для корпусных исследований. Некоторые из них, например AntConc [10], предоставляют различные возможности для исследования текста, однако являются настольными, не имеют встроенных корпусов и возможности многопользовательской работы. Другие приложения для корпусных исследований имеют web-интерфейс, однако большинство из них закреплено за одним или несколькими корпусами (CQPweb [19]). Также существуют бесплатные библиотеки (Corsis [13]) с предоставляемыми программами с пользовательским графическим интерфейсом. Эти программы могут быть использованы только для работы с корпусами пользователя, расположенными на локальном компьютере.

1.1.1 Приложение AntConc

Настольное приложение AntConc не использует базы данных для хранения корпусов, а работает с неаннотированными текстами в текстовом формате, загружая их сразу в оперативную память. Для хранения некоторых результатов работы, например ключевые слова в формате KWIC [23], AntConc использует реляционную СУБД SQLite, без использования какого-либо индексирования. Позиционируя себя как приложения для работы с небольшими корпусами, AntConc не имеет возможности работать с корпусами большого объема из-за использования оперативной памяти, а поиск по документам не ускоряется за счет индексации [10].

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

1.1.2 Приложение CQPweb

Приложение СQPweb построена на двух отдельных технологиях: IMS Open Corpus Workbench и реляционной базе данных MySQL. IMS Open Corpus Workbench (CWB) - это набор программных инструментов с открытым исходным кодом для управления большими корпусами и созданием запросов. CWB использует специальную модель данных (см. рис. Рисунок 1.1) и основанный на ней открытый XML формат данных, а документы в данном формате, после обработки помещаются в базу данных MySQL [19].

Главным преимуществом CQPweb является его гибкость; его более обобщенная модель данных делает его совместимым с любым корпусом. Варианты анализа, доступные в CQPweb, включают: согласование; коллокации; таблицы и диаграммы распределения; списки частот; и ключевые слова или ключевые теги. Система CQPweb же позволяет делать различные запросы к 45 готовым корпусам через веб-интерфейс, однако она не предоставляет возможности работы с новыми корпусами.

Рисунок 1.1. Пример модели данных CWB

1.1.3 Библиотека Corsis

Corsis - это бесплатная библиотека для анализа корпусов с открытым исходным кодом, написанная на языке C#. Также бесплатно предоставляется кросс-платформенный графический интерфейс для работы с библиотекой. Для хранения документов данная библиотека использует XML-основанные файлы. Программа, основанная на данной библиотеке, не использует базу данных, а работает напрямую с XML-основанными файлами, загружая их сразу в оперативную память [13].

Библиотека и программа Corsis являются простыми и открытыми инструментами для простого анализа небольших корпусов, например, составления списка слов и конкорданса.

Источник: https://otherreferats.allbest.ru/download/1017960/