GATE Embedded
GATE Embedded is an object-oriented framework (or class library) implemented in Java. It is used in all GATE-based systems, and forms the core (non-visual) elements of GATE Developer.1 GATE Embedded is open source software, available under the GNU Lesser General Public Licence 3.0 and can be downloaded from this page.
Uses
As its name suggests, GATE Embedded is designed to allow you to embed language processing functionality in diverse applications. In fact this code is probably present in more applications that deal with human language than any other, and this widespread usage and long development history means that it is stable, efficient and comprehensive.
Embedded is a programmers' tool and is delivered as a set of Java archives (JARs). It is used natively in Java, Groovy or other JVM-based languages, and via JNI or similar gateways from other languages. If you're not a programmer, look at Developer or Teamware instead.
Place in the GATE Process
The GATE Process describes how to create robust and maintanable language processing capabilities in a wide range of circumstances. In many cases there will be no need to develop software: the facilities of the various GATE systems will be sufficient to solve the problem. Whenever these solutions need to be connected under the hood of another application, GATE Embedded allows this to be done in a simple and efficient manner. When the volumes of data are very large, processing may need to be parallelised and/or distributed - in this case see GATE Cloud.
Documentation
- The Embedded chapter in the user guide.
- The reference documentation of the Embedded API (Javadoc).
- The software distribution documentation tree.
- Several other user guide chapters are also relevant:
- Embedded is extended and customised for different tasks by loading plugins; here's the core CREOLE plugins list; ask on the mailing list for other plugins.
- Embedded bundles ANNIE, an Information Extraction (or Semantic Annotation system, which has been customised for many purposes in many languages.
Embedded is split into a rich set of interlinked APIs and based on a standard Java component model. Some of the APIs available in Embedded are summarised here: