Search code examples
pythonannotationsnlpbrat

Dynamic annotation configuration settings in BRAT


In Brat, to annotate a text you should refer to a single configuration file called 'annotation.conf', I have more than 150 tags to annotate semantics of domain-specific text and these annotation tags should be separated in different configuration files so the annotators won't get distracted to select from a long list if all the tags are stored in a single 'annotation.conf' file.

A typical scenario would be, the annotator will upload a text then for each statement there are certain keywords which should trigger a single annotation.conf file from the groups I created to organise my semantic tags.

Let's take the following pseudo example:

  • Statement: A KB C ===> should trigger annotation.conf for they keyword KB
  • Statement: V N C KA ====> should trigger annotation.conf for the keyword KA

There is NO overlapping between the tags .i.e. each word(s) should be labelled by a single tag only.

Would you please guide me how I can achieve this in BRAT, referring to specific resources is really appreciated.

Thank you


Solution

  • You cannot trigger different configuration files via keywords in Brat. However, you can organise your tag list into a tree hierarchy, which should hopefully help reduce confusion in your annotators. You can see how to do that here.

    Alternately, if you can sort your "statements" by the keyword into different files, and upload those different files in different directories, each directory can have its own annotation.conf.