Log in Help
Homefamily 〉 embedded.html

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.


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.


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:


  1. GATE Developer and GATE Embedded are bundled, and in older distributions were refered to just as "GATE".