mini-introduction to brat
brat is a web-based tool for text annotation; that is, for adding notes to existing text documents.
brat is designed in particular for structured annotation, where the notes are not freeform text but have a fixed form that can be automatically processed and interpreted by a computer.
the following screenshot shows a simple example where a sentence has been annotated to identify mentions of some real-world entities (things) and their types, and a relation between two.
this example illustrates two basic categories of annotation:
- text span annotations, such as those marked with the Organization and Person types in the example
- relation annotations, such as the Family relation in the example
the simple typed text span category is suitable for creating annotations for named entity recognition, and binary relations for simple relational information extraction tasks, among others.
brat also supports the annotation of n-ary associations that can link together any number of other annotations participating in specific roles. This category of annotation can be used for example for event annotation, such as TRANSFER in the following example:
the detailed types and properties of other annotations can be further specified through the use of attributes that can be set on annotations, for example marking an event as being factual or speculative, or marking an entity mention as referring to a group or an individual.
to allow the unique identification of the real-world entities referred to by specific text expressions, brat supports also normalization annotations (brat v1.3 (Crunchy Frog) and newer) that associate other annotations with entries in resources such as Wikipedia:
finally, although not a primary focus of the tool, brat does also allow freeform text "notes" to be added to an annotation.
the applied categories of annotations, their types, and the constraints regarding their use (for example, that a Family relation must always connect annotations of the Person type) are all fully configurable, allowing brat to be applied to nearly any text annotation task.
brat also implements a number of features relying on natural language processing techniques to support human annotation efforts.