In computational linguistics, JAPE is the Java Annotation Patterns Engine, a component of the open-source
General Architecture for Text Engineering
General Architecture for Text Engineering or GATE is a Java suite of tools originally developed at the University of Sheffield beginning in 1995 and now used worldwide by a wide community of scientists, companies, teachers and students for many nat ...
(GATE) platform. JAPE is a
finite state transducer
A finite-state transducer (FST) is a finite-state machine with two memory ''tapes'', following the terminology for Turing machines: an input tape and an output tape. This contrasts with an ordinary finite-state automaton, which has a single tape. ...
that operates over annotations based on regular expressions. Thus, it is useful for pattern-matching, semantic extraction, and many other operations over syntactic trees such as those produced by natural language
parsers
Parsing, syntax analysis, or syntactic analysis is the process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar. The term ''parsing'' comes from L ...
.
JAPE is a version of CPSL –
Common Pattern Specification Language.
A JAPE grammar consists of a set of phases, each of which consists of a set of pattern/action rules. The phases run sequentially and constitute a cascade of finite state transducers over annotations. The left-hand-side (LHS) of the rules consist of an annotation pattern description.
The
right-hand-side (RHS) consists of annotation manipulation statements. Annotations matched on the LHS of a rule may be referred to on the RHS by means of labels that are attached to pattern elements.
References
* https://gate.ac.uk/sale/tao/index.html#x1-1880008
Dhaval Thakker, Taha Osman, Phil Lakin, JAPE Grammar Tutorial, https://gate.ac.uk/sale/thakker-jape-tutorial/GATE%20JAPE%20manual.pdf
Computational linguistics
{{Comp-ling-stub