General Architecture for Text Engineering o GATE es una suite de herramientas Java desarrolladas en la Universidad de Sheffield, que comenzó en 1995 y hoy es usada por una amplia comunidad de científicos, compañías, profesores y estudiantes para tareas de procesamiento de lenguajes naturales (PLN o NLP) de todo tipo, incluyendo extracción de la información, en varios idiomas.

GATE tiene como objetivo eliminar la necesidad de resolver problemas comunes de ingeniería antes de hacer investigación útil, o reingeniería de procesos antes de convertir los resultados de la investigación en aplicaciones. Las funciones principales de GATE cuidan de su parte del león de la ingeniería: modelado y persistencia de estructuras de datos especializadas medidas, evaluación, benchmarking visualización y editado de anotaciones, ontologías, árboles de análisis sintáctico, etc. un idioma de transducción de estados finitos para prototipeo rápido y eficiente implementación de métodos de análisis superficial (JAPE, véase más abajo) extracción de instancias de entrenamiento para aprendizaje automático implementaciones de aprendizaje automático enchufables (Weka, SVM Light, an in-house uneven margins SVM implementationAdapting SVM for Data Sparseness and Imbalance: A Case Study on Information Extraction. Journal Of Natural Language Engineering 2009 (Y. Li, K. Bontcheva and H. Cunningham) and more.)

Además de las funciones principales, GATE incluye componentes para tareas de procesado de idiomas naturales, p.ej. análisis sintáctico (parse), morfología, etiquetado, herramientas de recuperación de información, componentes de extracción de información para varios idiomas, y muchos otros. Ha sido ampliamente empleado en campos como la bioinformática"Combining Biological Databases and Text Mining to Support New Bioinformatics Applications", by René Witte and Christopher J.O. Baker (in "Lecture Notes in Computer Science, Springer Berlin, Volume 3513, 2005) y otros. GATE Developer y GATE Embedded se lanzan con un sistema de extracción de información (ANNIE) que ha sido adaptado y evaluado ampliamente (sistemas industriales, sistemas de investigación en MUC, TREC, ACE, DUC, Pascal, NTCIR, etc.). ANNIE también se usa para crear metadatos RDF u Web Ontology Language (OWL) (metadata) para contenido sin estructurar (semantic annotation). GATE has been compared to NLTK, R y RapidMiner."Open Source Text Analytics" web article by Seth Grimes Además forma la base de la plataforma semántica KIM."KIM – a semantic platform for information extraction and retrieval", by Popov et al (Natural Language Engineering (2004), 10:375-392)

La comunidad GATE se ha visto involucrada en proyectos de investigación europea como TAO, SEKT, NeOn, Media-Campaign, Musing, Service-Finder, LIRICS y KnowledgeWeb, así como otros proyectos.

Características GATE incluye:GATE Family page on the GATE website un IDE, GATE Developer: un entorno de desarrollo integrado con componentes incluidos para Procesamiento de lenguajes naturales, con un sistema de extracción de información llamado ANNIE (A Nearly-New Information Extraction System), el cual es un conjunto de módulos que comprenden un tokenizador, un gazetador, un divisor de oraciones, un etiquetador gramatical (de partes del discurso), un transductor reconocedor de nombres de entidades y un etiquetador de correferencia. ANNIE puede usarse como extractor de información, o como punto de partida para tareas más específicas. También incluye un conjunto comprensivo de otros plugins; una aplicación web, GATE Teamware: un entorno colaborativo de anotaciones para proyectos de anotación semántica estilo fabril (factory-style) construidos en torno a un motor de flujo de trabajo (workflow engine, en inglés) y una infraestructura de servicio backend fuertemente optimizada; un marco de trabajo (framework), GATE Embedded: una biblioteca de objetos optimizada para la inclusión en diversas aplicaciones que da acceso a todos los servicios usados por GATE Developer y otros servicios; una arquitectura: una imagen organizacional de la composición de software de procesado de idiomas; un proceso para creación de servicios mantenibles y robustos.

También incluirá lo siguiente, que se encuentra bajo desarrollo: una wiki/CMSWiki de GATE (en inglés) una solución de computación en nube para procesamiento a gran escala alojado, GATE Cloud

Los idiomas soportados actualmente incluyen: inglés, español, chino, árabe, francés, alemán, hindi, italiano, cebuano, rumano, ruso.

Se incluyen plugins para funciones como aprendizaje automático con (Weka, RASP, MAXENT, SVM Light, así como integración LibSVM e implementación de perceptrón, para gestión de ontologías como WordNet, para buscar en motores de búsqueda como Yahoo, para etiquetado de partes del discurso con método Brill o TreeTagger, y algunas más.

GATE puede manejar inputs (archivos de entrada) en varios formatos, tales como TXT, HTML, XML, Doc, PDF, y bases de datos Java Serial, PostgreSQL, Lucene, Oracle con ayuda de almacenamiento RDBMS sobre JDBC.

También utiliza lenguaje JAPE ("Java Annotation Patterns Engine") para construcción de reglas para etiquetar documentos. JAPE proporciona transducción de estados finitos sobre anotaciones basadas en expresiones regulares. JAPE es una versión de CPSL – Common Pattern Specification Language. Los transductores JAPE se usan a través de GATE para modificar anotaciones en texto. Se proporciona documentación en la guía de usuario de GATE.JAPE chapter in the GATE User Guide

GATE Developer thumb|400px|Ventana principal de GATE 5 GATE Developer es la interfaz de usuario de GATE. Es análoga a sistemas como Mathematica para matemáticos, o Eclipse para programadores en Java,GATE Developer chapter in the GATE User Guide pues provee un entorno gráfico para la investigación y desarrollo de software de procesado de idiomas. También es útil en conjunción con GATE Embedded (la API por la cual la funcionalidad de GATE puede incluirse en aplicaciones); por ejemplo, GATE Developer puede utilizarse para crear aplicaciones que pueden incrustarse entonces vía API.

La GUI de GATE Developer consiste en un menú superior y una fila de icono, un árbol de recursos a la izquierda, un panel tabulado de los visores de recursos en la parte centro-derecha, y un campo de mensajes en la parte inferior.

El árbol de recursos y el menú se usan para cargar, guardar y ejecutar recursos. El árbol muestra los recursos cargados y permite mostrar uno en el visor de recursos haciendo doble clic (o pulsando Enter). Cada recurso cargado puede mostrarse en un visor específico que ocupa la mayor parte del espacio en pantalla.

En esta imagen se puede ver al visor de documentos mostrando un documento y sus anotaciones. En color rosado están <A> anotaciones de hipervínculo de un fichero HTML. La lista de la derecha es la lista de conjuntos de anotaciones y en la tabla inferior está la lista de anotaciones. En el centro se encuentra la ventana del editor de anotaciones.

GATE Teamware Teamware es una plataforma basada en web para curación y notación colaborativa. GATE Teamware entrega una interfaz de usuario multifunción sobre la Internet para visionado, adición y edición de anotaciones textuales. La interfaz de manejo basada en web permite realizar las siguientes funciones de puesta en marcha y gestión de proyectos: Carga de colecciones de documentos ("corpus” o “corpora”). Creación de plantillas reutilizables de proyectos. Inicio de proyectos sobre la base de plantillas. Asignación de roles de proyectos a usuarios específicos. Monitorización de progreso y estadísticas en tiempo real. Reportes (informes) del estado del proyecto, actividad del anotador y estadísticas. Aplicación de rutinas de proceso basadas en GATE (procesamiento de anotaciones automáticas o proceso de post-anotación).

Véase también

Referencias

Enlaces externos (en inglés) http://gate.ac.uk/ Página oficial

Nota

Categoría:Minería de datos Categoría:Software científico libre Categoría:Software libre programado en Java Categoría:Entornos de desarrollo integrados libres Categoría:Software libre multiplataforma Categoría:Representación del conocimiento Categoría:Aprendizaje automático Categoría:Ontología (informática) Categoría:Universidad de Sheffield