GATE (General Architecture for Text Engineering)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:49, 6 декабря 2016.
General Architecture for Text Engineering (GATE)
GATE5 main window.png
Основное окно программы GATE Developer
Выпущена: 1995
Написана на: Java
Операционная система: Windows Vista, Windows XP, Mac OS X, Linux, Mac OS X, Solaris, etc.
Локализация: Английский
Тип ПО: Интеллектуальный анализ данных, извлечение информации
Лицензия: LGPL
Веб-сайт http://gate.ac.uk

General Architecture for Text Engineering (GATE, программа) — система обработки естественного языка с открытым исходным кодом, использующая наборы компонентов на языке Java. Система изначально была разработана в Университете Шеффилда и развивается с 1995 г.

С помощью GATE реализуются задачи, где требуется выявить смысловое содержание текста и кодировать его в структурированном виде путём добавления аннотаций к сегментам текста. GATE используется наряду с NLTK, R и RapidMiner. Система применяется для извлечения информации, ручной и автоматической семантической аннотации, анализа кореферентности, работы с онтологиями (например, WordNet), машинного обучения (Weka, RASP, MAXENT, SVM Light), анализа потока сообщений в блогах (например, Twitter). Семейство инструментов GATE включает: GATE Developer, GATE Mímir, GATE Cloud (для работы с крупномасштабными лингвистическими проектами), GATE Teamware (оптимизация работы серверов для совместного аннотирования текстов), GATE Embedded (библиотека объектов).

GATE поддерживается обширным сообществом разработчиков, пользователей, преподавателей, студентов и учёных. Используется в коммерческих и научно-исследовательских проектах крупными корпорациями, научно-исследовательскими лабораториями и университетами, коммерческими предприятиями малого и среднего бизнеса по всему миру. GATE применяется в самых разных областях научных знаний, относящихся к Компьютерной лингвистике, Обработке естественного языка, Моделированию языковых процессов, вычислительной биологии и медицине. Проекты, использующие GATE: ForgetIT (UK), The National Archives (UK), EMILLE (UK), myGRID (UK), AKT (UK), KIT Semantic Platform, Ontotext (Bulgaria), MeManage (Germany), Med Dictate (Canada), IE Denso (Japan).

Архитектура

Рис. 1. APIs

Архитектура GATE состоит из взаимосвязанных компонентов: «кусочков» программного обеспечения с четко определенными интерфейсами, которые могут быть развернуты в различных контекстах. В GATE реализованы готовые решения для токенизации, тегирования, разделения текста на высказывания (сплитер), извлечения именованных сущностей, машинного обучения. Компоненты делятся на три категории по функциям:

  • Language Resources (LR) — лингвистические ресурсы (данные),
  • Processing Resources (PR) — программы для обработки документов (ресурсы),
  • Visual Resources (VR) — графические интерфейсы для LR и PR.

Поддерживаются следующие форматы документов: Plain Text, HTML, SGML, XML, RTF, Email, PDF (some documents), Microsoft Office (some formats), OpenOffice (some formats), UIMA CAS, CoNLL/IOB. Работа с форматами документов в GATE имеет ряд специфических особенностей. В GATE встроены различные средства для работы с Unicode. Поддерживает языки: английский (по умолчанию), испанский, китайский, арабский, болгарский, французский, немецкий, хинди, итальянский, кебуано, румынский, русский. При запуске программы в её основном окне содержится четыре основных пункта меню: Applications, Language Resources, Processing Resources, Datastores.

Language Resources

Содержит три типа данных: документы, корпуса и графы аннотаций. Document/ Blank Document — документ Gate, загруженный из файла или пустой. Новый документ создается через Language Resources > New > Gate Document. Документ можно сохранить в формате XML (правой кнопкой по названию документа > Save to XML).

Annotation Graph

  • Gate Corpus — корпус для хранения документов. Корпус создаётся через Language Resources > New > Gate Corpus. Наполнить корпус можно, указав список документов при создании или добавив документы в интерфейсе уже созданного корпуса, или с помощью команды Populate. Корпус можно сохранить в XML тем же способом, но надо указать не имя файла, а папку.
  • Аннотации организованы в виде графов, которые моделируются как Java-наборы. Аннотации представлены в виде дуг с начальным и конечным узлами, ID, присвоенным типом и
  • FeatureMap (набором объектов). Узлы содержат указатели на источники в документе.

Набор ресурсов CREOLE

Рис. 2. GATE Plugin Manager

Набор ресурсов, интегрированных с GATE, известен как CREOLE — Reusable Objects for Language Engineering. Ресурсы хранятся в CREOLE репозиториях, которые содержат XML файлы, Java-архив коды и необходимые для ресурсов библиотеки. Используемые ресурсы группируются вместе в плагины, которые хранятся по определенному адресу (URL или file:/URL). Плагины бывают базовыми (загружаются при инсталляции GATE) и пользовательскими, могут находиться на локальном диске или удаленном сервере. Когда файл загружается в GATE, он выглядит как файл настроек creole.xml. Плагины CREOLE управляются через интерфейс с помощью команды File > Manage CREOLE Plugins > Add new creole repository. GATE представляется как набор настроек (функций), куда пользователь подключает компоненты CREOLE: пользователь задает список адресов, GATE извлекает по ним соответствующие ресурсы (PR). При выборе плагина в поле справа появляется его список настроек.[1]

GATE Mímir

GATE Mímir — система обработки поисковых запросов с открытым исходным кодом, размещенным на SourceForge, распространяемая по GNU Lesser General Public Licence 3.0. GATE Mímir обеспечивает поддержку индексации и поиск языковой и семантической информации, поступающей из приложений с огромными базами лингвистических данных. GATE Mímir дает возможность поиска информации по тексту, аннотациям, семантическим онтологиям и семантическим метаданным, используя произвольные комбинации текста, структурную информацию и SPARQL. Разработчики не предоставляют готовый укомплектованный продукт, но предлагают скачать исходники и скомпилировать ваши собственные файлы. Предоставляется инструкция пользователя GATE Mímir, примеры использования, для последних версий релиза доступны архивы целого дерева исходников.

Разметка документов в GATE Developer

Рис. 3. GATE аннотации

Разметка документов в соответствии с едиными правилами позволяет реализовать поиск и извлечение данных из документа, создавать онтологии. В GATE после открытия редактора документов появляются вкладки Annotation Sets и Annotations List (или Annotations в зависимости от версии Gate), где в списке справа можно отметить галочкой типы аннотаций, которые требуется отобразить, или создать аннотации. Предусмотрена функция Change Color. Когда выделена часть текста, которой нужно присвоить аннотацию, появляется окно редактора аннотаций, где содержится следующие поля и элементы управления:

  • Тип аннотации (если какие-то типы уже были добавлены, можно выбрать из существующих)
  • Название атрибута (пустые поля для следующего атрибута появляются автоматически)
  • Значение атрибута
  • Кнопка удаления аннотации

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

Система ANNIE

GATE располагает системой ИИ под названием 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.

Компоненты ANNIE объединены в приложение, поэтому для инициализации достаточно нажать на соответствующую зелёную иконку на панели инструментов GATE и выбрать with defaults. После того, как все ресурсы появятся в списке Processing Resources, двойным щелчком открывается приложение ANNIE, которое находится в списке Applications. Интерфейс приложения ANNIE такой же, как и у остальных приложений. В правой части — упорядоченный список ресурсов, которые будут вызываться на документе именно в той последовательности, которая задана в списке. Приложение ANNIE относится к классу Corpus Pipeline, то есть оно должно запускаться на корпусе текстов. В результате работы системы ANNIE в дефолтный AnnotationSet добавляется ряд аннотаций, в том числе Token (токены), Sentence (предложения), Lookup (словарные входы), Person, Location, Organization. Если корпус и документы перед запуском ANNIE лежали в DataStore, ANNIE будет извлекать документы по одному, обрабатывать их и складывать обратно.

Источники

Ссылки

  1. Konchady Manu. [Печатное издание]: Building Search Applications: Lucene, LingPipe, and Gate. — Oakton, Virginia, USA: Mustru Publishing, 2008. — 447 с. — ISBN 978-0-61520-425-3. / Дата обращения: 31.10.2016.
  2. Graham Wilcock. [Печатное издание]: Introduction to Linguistic Annotation and Text Analytics. — Princeton, NJ: Morgan&Claypool Publishers, 2009. — 159 с. — ISBN 9781598297386. / Дата обращения: 31.10.2016.
  3. Valentin Tablan, Ian Roberts. Mímir User Guide [Печатное издание]: (англ.). The University of Sheffield (2013). - ISBN 9781598297386 / Дата обращения: 31.10.2016.