This page presents an overview of brat features. For detailed instructions, see the brat manual.
The brat annotation visualization is based on the concept of "what you see is what you get": all aspects of the underlying annotation are visually represented in an intuitive way.
Annotation editing is mouse-based and uses intuitive "gestures" familiar from text editors, presentation software, and many other tools. To mark a span of text, simply select it with the mouse by "dragging" or by double-clicking on a word.
Connecting annotations, for example adding a relation between two annotations, is equally simple: click with the mouse on one annotation and drag a connection to the other.
Integration with external resources
As of v1.3 (Crunchy Frog), brat includes support for normalization and various features for associating annotations with data in external database, lexical and ontological resources such as Freebase, Wikipedia, and Open Biomedical Ontologies.
brat is built entirely on standard web technologies, and it is not necessary to install any local software or browser plugins to use it.
An annotator can "set up" and start using brat simply by entering the address of the brat installation into the address bar of a browser.
(Setting up an entirely new brat server does require some action, but can be done in just five minutes on any system running a web server.)
Annotation of texts in any language
Both the brat server and client implement full Unicode support, thus supporting nearly 100 different scripts.
Integrated annotation comparison
As of version 1.3, brat includes a number of features for comparing multiple sets of annotations for the same documents, including automatic comparison for identifying and marking differences and side-by-side visualization.
Such comparisons can be used to evaluate automatic systems or the agreement between human annotators, and visualization of differences can help quickly identify common sources of error.
An address for each annotation
Every brat annotation can be uniquely addressed within the brat server. Together with the URL of the server, this form of addressing provides a globally unique address for every brat annotation.
Entering such an address into a browser will not only show the relevant document, but brat will further highlight and center the specific annotation. These addresses can thus be used in email and online documentation and discussions to simply and unambiguously refer to any annotation in brat.
The address for each annotation can be easily accessed from a dialog shown by double-clicking on an annotation.
Integration with automatic annotation tools
brat implements a simple interface for integrating the output of automatic text annotation tools accessible as web services into annotation efforts.
brat also features transparent integration with state-of-the-art methods for basic annotation support such as sentence splitting (English and Japanese) and tokenization (Japanese).
High-quality visualization at any scale
The visualization of brat is based on Scalable Vector Graphics (SVG), which can be rendered in arbitrary detail and precision.
brat annotation visualizations are thus inherently print quality and can be used as figures in publications to illustrate annotations.
SVG allows the built-in zoom functions of the browser to be used for closeups or for a high-level view of the annotations of a document.
Easy export in multiple formats
Annotations created in brat can be exported with a few clicks from the interface in a simple standoff format that can be easily analysed, processed, and converted into other formats.
Always saved, always up to date
brat eliminates any risk of losing annotation efforts to tool crashes, forgetting to save work, or even complete failure of an annotator's computer by transparently communicating all edit operations by annotators to the brat server as they are done.
Similarly, in maintaining a single authoritative version of data shared by all annotators working on a project, the brat server removes the possibility of conflicting versions of annotations arising or out-of-date data being used as well as the need for annotators to use a separate version control system for coordinating their work.
The brat client-server architecture and design allow multiple annotators to work simultaneously on the same collection of document, or even on the same document, seeing each other's edits nearly as they are made (some delay is inherent in the communication).
All edit operations are coordinated by the server to assure that the annotation remains coherent even if multiple users attempt to simultaneously modify a single annotation.
Detailed annotation process measurement
brat can optionally be configured to record the precise time that an annotator opens a document, each edit action, and even the time spent selecting the type to assign to an annotation after selecting where to place it.
Rich set of annotation primitives
brat provides a rich set of basic categories of annotation: marking for text spans (for e.g. entity annotation), binary relations, equivalence classes, n-ary associations (for e.g. event annotation) and attributes can be applied together in any combination for defining specific annotation tasks.
Some of the many annotation tasks to which brat can be applied are presented on the examples page.
All aspects of annotation are configured using a simple declarative configuration language. Each document collection has its own configuration, allowing a single brat server to host many projects with different annotation targets.
Additionally, most aspects of the visualization such as font, annotation "box" and "arc" colors as well as arrow head and arc drawing style can be controlled in detail using well-documented and widely known HTML/CSS style specifications.
For details on how to configure brat, see the configuration page
brat incorporates annotation validation capable of checking all the constraints that can be defined in its expressive configuration.
The validation of annotations created in brat is not isolated into a separate process but closely integrated into the annotation process: the validity of annotations is checked after every edit option, giving annotators immediate feedback with simple visual hints.
Annotations that lack some mandatory part are not given a colored fill and given a gray highlight. Placing the mouse over such an annotation provides the details of the issues detected by the annotation verifier.
Annotations that have extra or erroneous parts are given a red "halo" that indicates a problem with the annotation. Again, placing the mouse over such an annotation details the detected issues.
brat implements a full set of functions for searching documents or document collections for annotation of any type with a detailed set of configurable constraints.
brat supports basic key-word-in-context (KWIC) style concordancing of search results.