ВВЕДЕНИЕ 3
0 АРХИТЕКТУРА ПРОГРАММНОГО ИНСТРУМЕНТА 5
0.1 Общая архитектура решения 5
0.2 Архитектура мобильного клиента 6
1 РЕАЛИЗАЦИЯ ПРОГРАММНОГО ПРОДУКТА 8
1.1 Интеграция с сервисом Brat 8
1.2 Отображение текста 9
1.3 Выделение целого слова 13
1.4 Множественное выделение слов 14
1.5 Присвоение метки к слову 15
1.6 Авторазметка слов из словаря 21
1.7 Кэширование данных 23
1.8 Выбор домена 25
2 ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ 26
2.1 Экран выбора домена 26
2.2 Экран выбора документа 26
2.3 Экран аннотирования текста 27
ЗАКЛЮЧЕНИЕ 32
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33
ПРИЛОЖЕНИЕ
Аннотирование - это процесс присвоения словам в тексте определенных меток. В качестве меток выступают названия классов, связанные с поставленной задачей и доменной областью. Например, в задаче оценки тональности отзывов о ресторанах примером метки может быть категория, к которой принадлежит слово: еда, сервис, интерьер, цены, общее впечатление, а для схожей задачи в доменной области “автомобили”: маневренность, надежность, безопасность, внешний вид, комфорт, цена, общее впечатление. Таким образом, аннотацией можно считать слово с присвоенной к ней меткой[1].
Аннотирование используется для подготовки тестовой и тренировочной выборки, чтобы затем использовать их в алгоритмах машинного обучения для задачи поиска именованных сущностей, классификации терминов, поиска отношений между сущностями и т.д[2].
Для аннотирования текстов используются различные сервисы, такие как Brat - проект с открытым исходным кодом, совместно разработанный учеными группами[3], для аннотирования специализированных текстов.
Система аннотирования Brat является наиболее используемой в области автоматической обработки естественного языка для задачи разметки текстов. Данная система имеет удобный интерфейс, множество дополнительных функций, а также проста в установке.
Хотя сервис Brat - один из лучших инструментов для аннотирования текста, однако, и у него имеются свои недостатки, а именно: высокая трудозатратность и низкая скорость аннотирования из-за отсутствия мобильности, а также в связи с ограниченным набором функционала самого
сервиса Brat, а именно:
1) Отсутствие мобильного клиента, что увеличивает время на аннотирование текстов вне рабочего компьютера.
2) Для аннотирования слова, приходится его выделять, что создает дополнительные временные затраты, если осуществить это получилось не с первого раза.
3) Отсутствие множественного выделение слов.
4) Отсутствие авторазметки слов из уже существующего словаря.
5) Отсутствие возможности аннотирования текстов оффлайн, например, когда нет доступа в интернет.
Таким образом, цель данной дипломной работы - разработка программного решения для операционной системы Android по аннотированию текстов на основе сервиса Brat с учетом всех недостатков его веб-приложения. Разработанный программный продукт должен обладать следующим функционалом:
1) Выделение целого слова по одному нажатию.
2) Множественной выделение.
3) Авторазметка слов из уже существующего словаря.
4) Возможность задать домен.
5) Разметка в режиме онлайн (без обновления страницы).
6) Кэширование данных, при отсутствии доступа в интернет, и отправка их на сервер, при появлении доступа в интернет.
В результате выполнения дипломной работы был разработан программный инструмент для операционной системы Android на основе сервиса Brat, позволяющий аннотировать документы. В процессе работы был выявлен список необходимого функционала, разработана архитектура и выполнена реализация. Реализованный инструмент обладает следующим набором функциональных возможностей:
1) Выделение целого слова по одному нажатию.
2) Множественное выделение.
3) Авторазметка слов из уже существующего словаря.
4) Возможность задать домен.
5) Разметка в режиме онлайн (без обновления страницы).
6) Кэширование данных, при отсутствии доступа в интернет, и отправка их на сервер, при появлении доступа в интернет.
Разработанный сервис позволит облегчить аннотирование текстов путем предоставления пользователям набора функциональных возможностей, описанных выше.
Результаты работы опубликованы на сайте github.com [11].