recogito / recogito-client

GNU Affero General Public License v3.0
1 stars 3 forks source link

Any plans for BIO annotations? #213

Open ChiaraPalladino opened 4 months ago

ChiaraPalladino commented 4 months ago

I want to make sure to put this in writing before I forget. Currently, there is no markup tool that allows easy annotation of entities following the BIO format (beginning-inside-outside). Although there are workarounds with nesting and custom tags, they are time-consuming and messy.

I am wondering if this is something that could be pursued in future development?

rsimon commented 4 months ago

I'm happy to hear others' comments. But my own gut feeling, TBH: not as a core feature. This feels much more in the realm of linguistic annotation, than the type of commentary scenario that we've been aiming for.

Building this as a plugin wouldn't be impossible I guess. But it would be extremely tricky. I imagine the UX/interaction would be very different. Therefore, we'd probably have to completely swap out the whole text annotation engine with something that works in a different way. We'd first need to prototype this outside of Recogito. Eventually, we would have to make it an extension (or maybe even a complete drop-in replacement, built from scratch) to the current text annotator.

More critically, we'd need to figure out what the impact would be if we were to extend Recogito, so that it could support a plugin that swaps out the annotation engine - if that's even possible. (The text annotator is the absolute heart of the annotation view. It handles not just the visuals, but pretty much the whole application state management and real-time messaging.) Or, alternatively, if we could come up with a mechanism that would allow a plugin to add an entirely new annotation view to the application. (We briefly discussed this, in terms of having something like an "AV plugin" that adds a new view for handling audio or video content. But, likewise, I believe there are just too many dependencies across the whole system architecture to make this feasible as a plugin. Some things are better implemented as, either, core features - or separate apps altogether.)