2. Обзор
Теория &
Практика
1. Введение
2.
Установка
Цели и задачи
Архитектура
3.
Компоненты
4. Демонстрация: GATE GUI + ANNIE
5. JAPE
6. Демонстрация (продолжение)
Пиктограммы:
http://gate.ac.uk/gate/src/gate/resources/img/gate-icon.png
http://gate.ac.uk/gate/src/gate/resources/img/annie-application.png
4. Система обработки языка GATE
GATE(General Architecture for Text Engineering)
Разрабатывается университетом Шеффилда, США
Содержит библиотеку классов (реализовано на языке Java)
Есть возможность графического представления разметки
Содержит три основных компонента:
1. LRs = Language Resources: лексикон, корпуса, онтологии
2. PRs = Processing Resources: алгоритмические ресурсы (парсеры, генераторы,
n-gramm-модуляторы)
3. VRs = Visual Resources: для визуализации и редактирования GUI
Компоненты процессинговых ресурсов (PRs):
▬
Словари (газетеры)
▬
Java-классы (сентенции)
▬
JAPE-правила (семантические правила)
4
5. Установка & задачи
http://gate.ac.uk/download/ Загрузить соответствующий системе установщик/архив
(содержит IE-Tool ANNIE, способный размечать тексты, распознавать и
классифицировать имена собственные)
Может работать с различными форматами текстов:
(X)HTML,SHOE,RDF(a), OWL, RDFS,…
Задачи IE-Tools:
Извлечение информации:
- чтобы избежать перенасыщения информацией
- необходимая информация извлекается, сортируется и представляется
в компактной форме
- в системе заложены в соответствии с доменом составленные словари
или правила извлечения информации
5
6. Установка & задачи
На входе:
Особенности представления релевантной информации в форме Templates
(= множества атрибутов) и массив текстов
(=сообщения прессы, документы из интернета… )
На выходе:
маркированные атрибуты Templates (в соответствии со значением),
которыми размечены текстовые фрагменты.
Использование:
Результаты могут использоваться для фильтрации и классификации текстов;
для пополнения баз знаний и др.
6
12. GATE 5.2 GUI с ANNIE
Наш минимальный корпус: html-файл с адресами
(корпус состоит из нескольких файлов, содержащих адреса)
Порядок демонстрации:
▬ Часть 1:
●
Представление GUI
●
Демонстрация первоначального вида html-файла
▬ Часть2:
● Добавление новых аннотаций
Токенизатор
Распознаватель границ предложения
POS-теггер
Семантическое аннотирование
● Сохранение результата
12
13. GATE 5.2 GUI с ANNIE
Наш минимальный корпус: html-файл с адресами
13
исходные данные: http://en.wikipedia.org/wiki/Address_(geography)
14. GATE 5.2 GUI с ANNIE
Наш минимальный корпус: html-файл с адресами
14
15. GATE 5.2 GUI с ANNIE
15
http://gate.ac.uk/sale/tao/annie.png
16. Ресурсы
Applications: Процессы обработки текста, применимые к отдельному
документу или корпусу текстов
Лингвистические ресурсы: Документы и корпуса
Процессинговые ресурсы: инструменты аннтотирования, на входе
неразмеченный
или не полностью размеченный текст(txt, html, sgml, xml, rtf, email, (pdf), (Word))
Datastores: Сохранение документов/корпусов и процессов для дальнейшего
использования
16
17. Загрузка документов
Документы загружаются в xml-формате и переименовываются в
GATE-Dokument .
▬ Language Resources / New / GATE Document (oder: GATE Corpus)
Параметры для загружаемых документов GATE
▬
Имя (без пробелов!)
▬
Место сохранения документа (url)
▬
MarkupAware: true: распознавание и разметка первоначальных
аннтоаций в текте (напр.: html)
↔ false:весь документ интерпретируется как неразмеченный текст
17
18. Вывод аннотаций
Text: текст показан без распознанных аннотаций
Annotation Sets: цветовая маркировка аннотаций
Annotation List: аннотации ранжируются по релевантности
Annotations Stack: графическое представление всех аннотаций
Co-Reference Editor: редактор кореференций (RE)
Поиск: также при помощи RE
18
19. Вывод аннотаций
Текст: текст показан без распознанных аннотаций
Annotation Sets: цветовая маркировка аннотаций
Annotation List: позиции ранжируются по релевантности
Annotations Stack: графическое представление всех аннотаций
Co-Reference Editor: редактор кореференций (RE)
Поиск: также при помощи RE
19
25. JAPE
JAPE – Java Annotation Patterns Engine
дает возможность создавать системно обусловленные правила
для машинных языков
LHS = левая сторона правила: образец
RHS = правая сторона правила: действие. аннотация
Для исполнения правил JAPE в GATE существует Transducer
▬ Недетерминированный конечный автомат
Алгоритм:
1. Input = данные
2. Output = новые аннотации для данных
Правила для токенизатора:
напр., для слов, начинающихся с большой буквы:
"UPPERCASE_LETTER" (LOWERCASE_LETTER)* >
Token;orth=upperInitial;kind=word; 25
<pathToGATE>GATE-5.2pluginsANNIEresourcestokeniserAlternateTokeniser.rules
27. JAPE: распознавание границ предложения
Пример: IP-адреса или другие номера с точкой между цифрами
не разделяются на предложения.
Так называемые макросы отмечают эти жесткие конструкции.
Обзорное правило:
27
<pathToGATE>GATE-5.2pluginsANNIEresourcessentenceSplittergrammarfind.jape
28. JAPE: Распознавание сложных форм глагола
Части цепочки правил (ANNIE-Pipeline) выстраиваются последовательно.
Пример: для распознавания сложных форм глагола требуется следующее
правило JAPE в тексте, разделенном на токены и со снятой омонимией.
28
<pathToGATE>GATE-5.2pluginsANNIEresourcesVPVerbGroups.jape
29. JAPE: Распознавание имен собственных
Если приоритет задан опционально, последовательность выполнения
правил может быть любой
Правила JAPE могут опираться на язык Java.
29
<pathToGATE>GATE-5.2pluginsANNIEresourcesNEname.jape
30. Toкенизатор
Токенизатор в ANNIE использует правила, подобные JAPE.
Часть предварительно сформулированного элемента для токенизатора:
30
<pathToGATE>GATE-5.2pluginsANNIEresourcestokeniserDefaultTokeniser.rules 30
31. Toкенизатор
Пример правил для токенизатора:
31
<pathToGATE>GATE-5.2pluginsANNIEresourcestokeniserDefaultTokeniser.rules
33. GATE 5.2 GUI с ANNIE
33
http://gate.ac.uk/sale/tao/annie.png
34. GATE 5.2 GUI с ANNIE
34
http://gate.ac.uk/sale/tao/annie.png
35. Установка ANNIE
Выбрать кнопку ANNIE
klick
→ появится Applications / Annie
→ загрузятся предустановленные
Processing Resources ANNIE
Можно установить и вновь
сформулированные правила:
▬ Processing Resources / New / ...
или:
▬ File / Restore Application from File
35
36. Обработка текста
Applications: Обработка текста в Pipeline или Corpus Pipeline: учитывается
пошаговая ситуация
Processing Resources: отдельные модули, части обработки текста.
Параметры: напр., базовые правила или лексика
Схема аннотирования:
▬
Предварительно заданная или сформулированная вновь
XML-схема
● Pfad: <root>pluginsANNIEresourcesschema
●
Language Resources / New / Annotation schema
▬
Редактирование аннотаций: unrestricted: позволяет устанавливать
аннотации пользователя (добавить File / Manage CREOLE Plugins /
Schema_Annotation_Editor)
●
↔ restricted: используются только предустановленные аннотации
⇒
36
37. Разметка
Вручную: открыть Annotation Sets, двойной клик на размечаемом фрагменте
текста → появляется Annotation Editor Dialog
При помощи процессов обработки текста: Applications
▬ ANNIE
● Document Reset PR: удаляет все предыдущие аннотации
● ANNIE English Tokenizer
● ANNIE Gazetteer: распознает языковые элементы по словарю
(~ Gazetteers)
● ANNIE Sentence Splitter: использует правила JAPE
● ANNIE POS Tagger
● ANNIE NE Transducer: семантический теггер; распознает Named
Entities (или другие элементы для дефиниции) с помощью правил JAPE
● ANNIE OrthoMatcher: распознает кореференцию уже представленных NE
37
▬ вновь созданные цепочки правил (Pipeline)
42. Разметка при помощи (Corpus) Pipeline
ANNIE NE-Transducer распознает только английские почтовые индексы.
Требуется задать новый NE-Transducer, распознающий, например,
польские индексы (4-5 цифр) Варшава: 00-630.
⇒Дополнение правила JAPE:
42
<pathToGATE>GATE-5.2pluginsANNIEresourcesNEaddress.jape
43. Разметка при помощи (Corpus) Pipeline
Applications / New / Corpus Pipeline → создать новую процессинговую цепочку
▬ Выбрать загруженные компоненты
▬ Выбрать аннотирование в качестве выдачи
Создать новый компонент: Processing Resources / New / ...
▬
Ввести имя нового компонента
▬
Выбрать базовые правила или лексику
43
44. Разметка при помощи (Corpus) Pipeline
Ввести
компоненты
в Pipeline
Дать имя
на входе и
на выходе
44
46. Datastores
Для сохранения и дальнейшего использования файлов и корпусов
Managing места сохранения → подходит для больших массивов текста
Typen:
▬
Serial Data Stores: в основе система сериализации Java, документы
загружаются в пустой файл
▬
Lucene Data Stores: позволяет фрагментировать данные
Datastores / Create datastore / SerialDataStore / выбрать пустой
Выбрать файл или корпус/ Save to datastore
46
47. Сохранение размеченных документов
Language Resources / Выбрать файл или корпус /
▬ Save as XML → GATE XML-формат
▬ Save preserving document format → Сохранение в оригинальном формате
▬ Save to datastore
47
49. GATE-XML-формат (для нем.яз.)
GateDocumentFeatures: Метаданные о документе
TextWithNodes: Индексация текстов при помощи „Node”
AnnotationSet: Группировка по разным типам аннотации
49
54. Сохранение процессов обработки текста
Applications: Applications / Выбор процесса / Save application
state / Имя файла +„.xgapp”
Applikation, экспорт для другого использования: Applications /
Выбор процесса / Export for Teamware / Имя файла + „.zip”
▬ Содержит все необходимые компоненты
54
55. Первоисточники
Стартовая страница GATE: http://gate.ac.uk/
Cunningham, Hamish et al. (2010): Developing Language Processing
Components with GATE. Version 5 (a User Guide). Link:
http://gate.ac.uk/sale/tao/tao.pdf
Thakker, Dhaval, Taha Osman & Phil Lakin (2009): GATE JAPE Grammar
Tutorial. Link:
http://gate.ac.uk/sale/thakker-jape-tutorial/GATE%20JAPE%20manual.pdf
Online Demo-Videos:
▬
http://gate.ac.uk/g8/page/print/2/demos/developer-videos/
▬
http://gate.ac.uk/demos/annie/annie.html
55