Closed amir-zeldes closed 1 year ago
One possible way of doing this is offering "+/-1 token" buttons in the span annotation controls for the left and right border.
Is there any progress on this feature or similar functionality. Currently it seems your only option is to detele and recreate an existing annotation and all its features to simply change the span. Whether its draggable handles in the UI, controls to move the end points or simply a button which lets you reselect the new span. A similar issue is still open #1632
Would the option of just selecting a new span and moving the features over in the backend once its successfully passed any initial validation be an option.
There has been no progress on the issue so far. It is sitting in the backlog so we don't forget it and so that users can comment and indicate interest.
There is a simple case if there is no validation - in that case, we could mostly just add some mechanism to allow for re-selection of spans (not sure about relations).
The complicated case is if validation is turned on (e.g. if stacking is not allowed). In that case, we'd somehow need to avoid the existing span to clash with the validation of the re-located span (or relation). I've been recently thinking about it again and I think it could be easier than though by simply temporarily removing the annotation from the CAS indexes, then trying to create a new annotation at the target location, and if that worked without a validation problem, remove the new annotation again, adjust the position of the unindexed original annotation and then add it back to the indexes. But we'd need to avoid e.g. sending annotation-creation and annotation-deleted events for the annotation that is created temporarily.
Right yes avoiding the current instance of the modified span could pose a problem, like you say if it can be removed or if the validation rules already checked for whether it was the same instance and ignored it that could also work.
Thanks for updating on progress, it would be nice to see such a feature as it would support review flows from pre-generated annotations (and recommender outputs alike) where you need to make minor adjustments particular when there might be other features to copy. In lieu of that some simple ability to otherwise copy all the feature/attributes of another annotations (even if it had to be deleted first before creating the modified one) would be a potential work around.
Just seeing this because it looks like I opened this issue a while back :)
This was one of the most desirable features we wanted for entity and coreference annotation - you can see what we ended up implementing here:
https://corpling.uis.georgetown.edu/gitdox/spannotator.html
And indeed if you adjust spans to mal-nest at this URL, the interface will revert to the unedited span (but this is all client-side javascript, so there's no customizable datamodel or server-roundtrip for checking things).
Having this possibility speeds up annotation very noticeably, and especially for correcting NLP output, since it's fairly easy for systems to guess that entities will appear around nouns, but the span often needs to be adjusted. I think it would be a great feature for Inception.
Drag indicator in the brat editor has wrong position in Safari (seems to work in chrome and firefox though).
Resizing annotations in recent INCEpTION versions :)
https://user-images.githubusercontent.com/1410238/229830462-e8519e20-c15e-4d82-847c-7d8fef20fca9.mp4
It would be great if it were possible to modify the borders of a span annotation without having to delete it. This is especially important if there are edges connecting spans, since modifying the borders would allow us to correct annotations without having to re-do all attached edges.