GATE (программа)
General Architecture for Text Engineering (GATE, программа) — система обработки естественного языка с открытым исходным кодом, использующая наборы компонентов на языке Java[1]. Система изначально была разработана в Университете Шеффилда и развивается с 1995 г. С помощью GATE реализуются задачи, где требуется выявить смысловое содержание текста и кодировать его в структурированном виде путём добавления аннотаций к сегментам текста. GATE используется наряду с NLTK, R и RapidMiner [2]. Система применяется для извлечения информации, ручной и автоматической семантической аннотации, анализа кореферентности, работы с онтологиями (например, WordNet), машинного обучения (Weka, RASP, MAXENT, SVM Light), анализа потока сообщений в блогах (например, Twitter) [3]. Семейство инструментов GATE включает: GATE Developer, GATE Mímir, GATE Cloud (для работы с крупномасштабными лингвистическими проектами), GATE Teamware (оптимизация работы серверов для совместного аннотирования текстов), GATE Embedded (библиотека объектов)[4]. GATE поддерживается обширным сообществом разработчиков, пользователей, преподавателей, студентов и учёных. Используется в коммерческих и научно-исследовательских проектах крупными корпорациями, научно-исследовательскими лабораториями и университетами, коммерческими предприятиями малого и среднего бизнеса по всему миру. GATE применяется в самых разных областях научных знаний, относящихся к Компьютерной лингвистике, Обработке естественного языка, Моделированию языковых процессов, вычислительной биологии и медицине [5]. Проекты, использующие GATE: ForgetIT (UK), The National Archives (UK), EMILLE (UK), myGRID Архивная копия от 29 сентября 2013 на Wayback Machine (UK), AKT (UK), KIT Semantic Platform, Ontotext (Bulgaria), MeManage (недоступная ссылка) (Germany), Med Dictate (Canada), IE Denso (Japan)[6]. Архитектура и базовые операцииАрхитектура GATE состоит из взаимосвязанных компонентов: «кусочков» программного обеспечения с четко определенными интерфейсами, которые могут быть развернуты в различных контекстах. В GATE реализованы готовые решения для токенизации, тегирования, разделения текста на высказывания (сплитер), извлечения именованных сущностей, машинного обучения. Компоненты делятся на три категории по функциям:
Поддерживаются следующие форматы документов: Plain Text, HTML, SGML, XML, RTF, Email, PDF (some documents), Microsoft Office (some formats), OpenOffice (some formats), UIMA CAS, CoNLL/IOB. Работа с форматами документов в GATE имеет ряд специфических особенностей[7]. В GATE встроены различные средства для работы с Unicode. Поддерживает языки: английский (по умолчанию), испанский, китайский, арабский, болгарский, французский, немецкий, хинди, итальянский, кебуано, румынский, русский. При запуске программы в её основном окне содержится четыре основных пункта меню: Applications, Language Resources, Processing Resources, Datastores. ApplicationsКонтроллер вместе с входящими в него программами для обработки текста (Processing Resources). Определенные и сохраненные процессы обработки текста можно применить повторно к отдельному документу или корпусу текстов. Это обеспечивает надежную обработку текста и экономит время. Language Resources (LR)Содержит три типа данных: документы, корпуса и графы аннотаций.
Processing Resources (PR)Программы для обработки текстов. В GATE ресурсы используются для автоматического создания и управления аннотациями. С помощью PR можно добавить или изменить разметку документа. Создается новый PR тем же способом, что и LR. При создании PR задаются параметры, которые бывают двух типов: параметры инициализации и параметры запуска. Первые требуется задать при создании ресурса, вторые — непосредственно перед его запуском из контроллера. Контроллеры управляют работой PR. Они отвечают за порядок применения PR и взаимодействие PR с LR. Основные типы контроллеров:
Принципы работы с Pipeline и Corpus Pipeline похожи: создается новый контроллер (правой кнопкой на Applications > New > название контроллера), PR выбираются из списка слева и устанавливаются в заданном пользователем порядке. Указываются в случае Pipeline целевой документ, в случае Corpus Pipeline — целевой корпус, определяются параметры для PR. После запуска Run контроллер начнёт последовательно запускать PR на выбранных документах в порядке, заданном пользователем. Конфигурации контроллеров (PR + настройки) можно сохранять в Applications (Save application state), желательно используя расширение .gapp. Набор ресурсов CREOLEНабор ресурсов, интегрированных с GATE, известен как CREOLE — Reusable Objects for Language Engineering. Ресурсы хранятся в CREOLE репозиториях, которые содержат XML файлы, Java-архив коды и необходимые для ресурсов библиотеки. Используемые ресурсы группируются вместе в плагины[8], которые хранятся по определенному адресу (URL или file:/URL). Плагины бывают базовыми (загружаются при инсталляции GATE) и пользовательскими, могут находиться на локальном диске или удаленном сервере. Когда файл загружается в GATE, он выглядит как файл настроек creole.xml. Плагины CREOLE управляются через интерфейс с помощью команды File > Manage CREOLE Plugins > Add new creole repository. GATE представляется как набор настроек (функций), куда пользователь подключает компоненты CREOLE: пользователь задает список адресов, GATE извлекает по ним соответствующие ресурсы (PR). При выборе плагина в поле справа появляется его список настроек. DatastoresХранилище данных. Необходим для хранения документов/корпусов и процессов для дальнейшего использования. Из всех видов хранилищ часто используется Serial DataStore. Хранилище можно
Последовательность процессов обработки текстов из Applications можно запустить из-под DataStore. Нужно открыть DataStore, открыть корпус, а затем в Applications выбрать этот корпус. При запуске Application на корпусе из DataStore каждый документ будет загружен, обработан, сохранен и закрыт. То есть, в одно и то же время обрабатывается только один документ. Это не перегружает память, но процесс идет медленнее, чем если бы обрабатывались все документы одновременно. Разметка документов в GATE DeveloperРазметка документов в соответствии с едиными правилами позволяет реализовать поиск и извлечение данных из документа, создавать онтологии. В GATE после открытия редактора документов появляются вкладки Annotation Sets и Annotations List (или Annotations в зависимости от версии Gate), где в списке справа можно отметить галочкой типы аннотаций, которые требуется отобразить, или создать аннотации. Предусмотрена функция Change Color. Когда выделена часть текста, которой нужно присвоить аннотацию, появляется окно редактора аннотаций, где содержится следующие поля и элементы управления:
Аннотации группируются в AnnotationSet-ы. Это удобная функция, которая позволяет хранить для одного документа несколько вариантов разметки, например, экспертную и автоматическую. Экспертная разметка, как правило, хранится в AnnotationSet под названием Key. Автоматическая разметка, как правило, пишется в пустой AnnotationSet, который присутствует во всех документах по умолчанию. В документах не присутствует AnnotationSet Key, его нужно создать, ввести в поле под типами аннотаций слово Key и нажать New. Система ANNIEGATE располагает системой ИИ под названием ANNIE (A Nearly-New Information Extraction System), которая включает в себя набор ресурсов, обеспечивающих токенизацию (ANNIE English Tokenizer), POS-тэггинг (ANNIE POS-Tagger), разбивку на предложения (ANNIE Sentence Splitter), извлечение именованных сущностей (ANNIE Gazetteer и ANNIE NE Transducer) и анализ кореферентности (ANNIE OrthoMatcher). Разработчики: Hamish Cunningham, Valentin Tablan, Diana Maynard, Kalina Bontcheva, Marin Dimitrov и другие. Разработчики ANNIE используют алгоритмы конечных автоматов и регулярные выражения JAPE[9]. Компоненты ANNIE объединены в приложение, поэтому для инициализации достаточно нажать на соответствующую зелёную иконку на панели инструментов GATE и выбрать with defaults. После того, как все ресурсы появятся в списке Processing Resources, двойным щелчком открывается приложение ANNIE, которое находится в списке Applications. Интерфейс приложения ANNIE такой же, как и у остальных приложений. В правой части — упорядоченный список ресурсов, которые будут вызываться на документе именно в той последовательности, которая задана в списке. Приложение ANNIE относится к классу Corpus Pipeline, то есть оно должно запускаться на корпусе текстов. В результате работы системы ANNIE в дефолтный AnnotationSet добавляется ряд аннотаций, в том числе Token (токены), Sentence (предложения), Lookup (словарные входы), Person, Location, Organization. Если корпус и документы перед запуском ANNIE лежали в DataStore, ANNIE будет извлекать документы по одному, обрабатывать их и складывать обратно. Список компонентов:
Тестирование результатов обработки текстаВ GATE встроены готовые инструменты для тестирования результатов обработки текста:
Параметры: Key set (имя AnnotationSet с разметкой № 1), Response set (имя AnnotationSet с разметкой № 2), Type (одновременно можно тестировать только один тип), Features (атрибуты, которые мы сравниваем). После запуска сравнения (Compare) AnnotationDiff выведет пары аннотаций, отметив цветом тип пары. Типы: Correct (полное совпадение), Missing (правильная аннотация не найдена), Spurious/False positive (найдена лишняя аннотация), Partially correct (частичное пересечение границ аннотаций). В соответствии с количеством пар разных типов вычисляются стандартные метрики Precision, Recall и F.
В окне нужного корпуса открывается вкладка Corpus Quality Assurance. CQA соберет данные по сетам, аннотациям и их атрибутам. Необходимо задать параметры, выбрать типы оценок (например, F1.0-score strict, lenient и average). Запустить сравнение. На вкладке Document Statistics можно посмотреть статистику по документам, а также сразу открыть выбранный документ или посмотреть для него AnnotationDiff. Результаты тестирования можно экспортировать в HTML. GATE MímirGATE Mímir — система обработки поисковых запросов с открытым исходным кодом, размещенным на SourceForge, распространяемая по GNU Lesser General Public Licence 3.0. GATE Mímir обеспечивает поддержку индексации и поиск языковой и семантической информации, поступающей из приложений с огромными базами лингвистических данных. GATE Mímir дает возможность поиска информации по тексту, аннотациям, семантическим онтологиям и семантическим метаданным, используя произвольные комбинации текста, структурную информацию и SPARQL. Разработчики не предоставляют готовый укомплектованный продукт, но предлагают скачать исходники и скомпилировать ваши собственные файлы. Предоставляется инструкция пользователя GATE Mímir [10], примеры использования[11], для последних версий релиза доступны архивы целого дерева исходников [12]. См. также
Примечания
Литература
Ссылки |