320 likes | 640 Views
Experiences with UIMA in NLP teaching and research. Manuela Kunze, Dietmar Rösner. University of Magdeburg C Knowledge Based Systems and Document Processing. Overview. What is UIMA? First Experiments NLP Teaching Conclusion. UIMA: Unstructured Information Management Architecture .
E N D
Experiences with UIMA in NLP teaching and research Manuela Kunze, Dietmar Rösner University of Magdeburg C Knowledge Based Systems and Document Processing
Overview • What is UIMA? • First Experiments • NLP Teaching • Conclusion Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA: Unstructured Information Management Architecture • a software architecture for developing and deploying unstructured information management (UIM) applications • UIM application: a software system • analyse large volumes of unstructured information to • discover, • organize, and • deliver relevant knowledge to the end user • software architecture which specifies • component interfaces, data representations, … • http://www.research.ibm.com/UIMA/ Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA: Unstructured Information Management Architecture … may be used by a Collection Reader to populate a CAS from a document. An example of a CAS Initializer is an HTML parser that de-tags an HTML document and also inserts paragraph annotations (determined from <P> tags in the original HTML) into the CAS. … takes a CAS, analyzes its contents, and produces an enriched CAS. Analysis Engines can be recursively composed of other Analysis Engines (called an Aggregate Analysis Engine). Aggregates may also contain CAS Consumers. … interfaces to a collection of data items (e.g., documents) to be analyzed. Collection Readers return CASes that contain the documents to analyze, possibly along with additional metadata. CAS: Common Analysis Structure CPE: Collecting Processing Manager … consume the enriched CAS that was produced by the sequence of Analysis Engines before it, and produce an application-specific data structure, such as a search engine index or database. [Ferucci et al.: Unstructured Information Management Architecture (UIMA): SDK User's Guide and Reference] Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA: Unstructured Information Management Architecture • Analysis Engine (AE): • a component that analyzes artifacts (e.g. documents) and infers information about them • consists of two parts: • Java classes (typically packaged as one or more JAR files) and • AE descriptors (one or more XML files) • the configuration settings for the Analysis Engine as well as • a description of the AE’s input and output requirements. Kunze, Rösner: Experiences with UIMA in NLP teaching and research
Annotator processing resources UIMA: Unstructured Information Management Architecture • describe analysis engine: • annotator class • input parameter • output of annotations • external resources • interface • resources Java XML define an annotator analysis engine linked to a type system uses type system Annotation Interface create • define annotation type: • name • features (begin, end, …) Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA: Unstructured Information Management Architecture • Aggregate Analysis Engine: • combine different analysis engine within one Analysis Engine [Ferucci et al.: Unstructured Information Management Architecture (UIMA): SDK User's Guide and Reference] Kunze, Rösner: Experiences with UIMA in NLP teaching and research
Overview • Introduction • First Experiments • NLP Teaching • Conclusion Kunze, Rösner: Experiences with UIMA in NLP teaching and research
First Experiments: UIMA vs. GATE • base line: • 2 persons, 2 systems, 1 corpus and 1 extraction task • skills/experiences of the persons: K J J K K J Kunze, Rösner: Experiences with UIMA in NLP teaching and research
Task of the Experiment • process a corpus of websites • to detect and extract information relevant for tourists • opening times of museum, prices of hotels,… • corpus: • 30 tourism web sites of Egypt • additional 20 web sites of Washington, New York, London • output: • Prolog facts for a reasoner • Questions: • Which museum is now open? • … Kunze, Rösner: Experiences with UIMA in NLP teaching and research
Evaluation Topics/Points • ease of getting acquainted with system?: • quality of docus: completeness, clarity, up-to-date, …? • tutorials, use cases, …? • processing and linguistic resources? • lexica, Gazetteer lists, tools • tools for resource maintenance and extension? • quality: selfexplanatory, robust, comfortable • speed of processing? • single document vs. large corpora? • limitations, suggestions for improvement? • support for im-/export of a variety of document formats? Kunze, Rösner: Experiences with UIMA in NLP teaching and research
Excerpts from the Corpus • The Egyptian Museum is open the hours: 9am-5pm daily • The Military Museum is open the hours: Summer: 8am-5:30pm; winter: 8am-4:30pm • Palace Museum is open the hours: 8am-5:30pm (summer) 8am-4:30pm (winter) • 10am-2pm, 6pm-9pm Sat-Wed; 6pm-9pm Fri • … Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA Application • several annotators (like a pipeline) ... *Fraunces Tavern Museum* 54 Pearl St. - 1-212-425-1778 Tuesday-Friday, 12pm?5pm; … regular expressions restrictions Prolog facts: museumopen('Fraunces Tavern Museum ', '2005-12-01T12:00:00', '2005-12-01T17:00:00'). museumopen('Fraunces Tavern Museum ', '2005-12-02T12:00:00', '2005-12-02T17:00:00'). museumopen('Fraunces Tavern Museum ', '2005-12-03T12:00:00', '2005-12-03T17:00:00'). interval of times museum information time pattern window covering two time intervals and a restriction museum pattern regular expressions window covering a museum and opening hours regular expressions Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA: Results • information annotated in the documents: • names of museums, hotels • times, time intervals • time restrictions • prices, intervals of prices (hotel prices) • keywords for museum category • names of pharaohs (annotated with a correction of mispellings) • information about hotel and museum are exported into Prolog facts and into a short textual summary • templates filled with the detected information • hotels: Price information about Cosmopolitan Hotel : $157 • museums: *** *Fraunces Tavern Museum* *** Open from 12:00:00 to 17:00:00; Restriction: Tuesday-Friday Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA vs. GATE: Conclusion • no final judgement about: use GATE or UIMA • depends on • your task • task description • expected results • which processing resources are necessary • your preferences for interface • prefer the Eclispe environment (or other Java editors) • prefer a comfortable GUI Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA vs. GATE: Conclusion • GATE: • tools available • comfortable GUI • UIMA: • plain framework • simplified definition of (complex) result structures • simplified pre- and postprocessing of annotations • both are extensible • e.g. for processing German documents Kunze, Rösner: Experiences with UIMA in NLP teaching and research
'German' Extension of Processing Resources • XDOC document suite • tools for processing German documents • tools implemented in CommonLisp • for UIMA • Java reimplementation of the tools • several analysis engines Kunze, Rösner: Experiences with UIMA in NLP teaching and research
XDOC in UIMA • annotation of • part-of-speech (Morphix, heuristics) • semantic categories • named entities (vehicles, cities, …) • a coarse approach for classification of PP • using maxent library Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA: Evaluation • good • illustrative examples (tutorial) • completeness: sometimes it is very shortly described • experiences with Eclipse and Java programming are advantageous • prior knowledge about Java and Eclipse is helpful documentation? processing and linguistic resources? tools for resource maintenance and extension? speed of processing? single docs vs. large corpora? limitations, suggestions for improvement? im-/export of document formats? Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA: Evaluation documentation? processing and linguistic resources? tools for resource maintenance and extension? speed of processing? single docs vs. large corpora? limitations, suggestions for improvement? im-/export of document formats? • annotators only from tutorial • sentence annotation • word annotation • date/time annotators • examples for using regular expressions etc. • external resources can be integrated: • lexical resources as external resources (text files) • existing processing resources • implementation of an interface is necessary Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA: Evaluation documentation? processing and linguistic resources? tools for resource maintenance and extension? speed of processing? single docs vs. large corpora? limitations, suggestions for improvement? im-/export of document formats? • specific Eclipse component editors or • simple text editors Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA: Evaluation documentation processing and linguistic resources tools for resource maintenance and extension? speed of processing? single docs vs. large corpora? limitations, suggestions for improvement? im-/export of document formats? • faster than GATE? • in CPE detailed information about processing time for each module Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA: Evaluation documentation processing and linguistic resources tools for resource maintenance and extension? speed of processing? single docs vs. large corpora? limitations, suggestions for improvement? im-/export of document formats? • Collection Reader • document(s) from a directory Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA: Evaluation documentation processing and linguistic resources tools for resource maintenance and extension? speed of processing? single docs vs. large corpora? limitations, suggestions for improvement? im-/export of document formats? • no limitations: • all is possible, but implementation or interfacing by user • wish: • more processing and linguistic resources within the distribution Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA: Evaluation documentation processing and linguistic resources tools for resource maintenance and extension? speed of processing? single docs vs. large corpora? limitations, suggestions for improvement? im-/export of document formats? • import: CAS Initializer • export: CAS Consumer • transform annotations in any other format • export of • document + annotations • only annotations • required: Java application Kunze, Rösner: Experiences with UIMA in NLP teaching and research
Overview • Introduction • First Experiments • NLP Teaching • Conclusion Kunze, Rösner: Experiences with UIMA in NLP teaching and research
NLP Teaching • course: Information Extraction • aim of the course: to make our students acquainted with information extraction as basic NLP technology • UIMA, GATE • students: computer science, data-knowledge engineering • skills of the students: programming Java Kunze, Rösner: Experiences with UIMA in NLP teaching and research
NLP Teaching • different corpora: • news about FIFA world cup 2006 in Germany, • description of drugs, • announcements of new books, … • tasks for students • to develop different anaylsis engines and combine them for annotation of • URLs, • email addresses, • name of players, • results of games, … • using regular expressions, external resources, maximum entropy models Kunze, Rösner: Experiences with UIMA in NLP teaching and research
NLP Teaching Kunze, Rösner: Experiences with UIMA in NLP teaching and research
UIMA: A Students View • easy to handle • Java programming (environment) • problems of students: • to understand the dependencies between the several descriptors • for teaching helpful (future work): • a 'comparator' of different solutions of students • which solution is the best, related to a 'master' solution Kunze, Rösner: Experiences with UIMA in NLP teaching and research
Overview • Introduction • First Experiments • NLP Teaching • Conclusion Kunze, Rösner: Experiences with UIMA in NLP teaching and research
Conclusion • UIMA: • easy to learn and to handle • support the management of • different annotations • different processing resources • integration of external resources (processing resources as well lexical resources) • splitting of 'processing steps': • reader, initalizer, analysis engine, consumer • 'wish-list': • a kind of jape transducer • interface to GATE's processing resources is available • 'comparator' for evaluation of solutions Kunze, Rösner: Experiences with UIMA in NLP teaching and research