Hi Seth,
I'll respond inline below.
> On 13. Jan 2025, at 16:47, Seth Kulick <
skul...@gmail.com> wrote:
>
> I'm looking at using inception for an annotation project, and I have a question about the best way to handle coreference annotation. The needs of the annotation project are:
>
> (1) entity annotation
> (2) some intra-sentence relations on top of entities
> (3) coreference on entities that may go across sentences.
>
> While (1) and (2) are easy to set up, the problem with using the built-in coref layer, either as a linked list or not, is that it cannot be specified as being on top of an entity the way that relations are. So after doing entity annotation, when it comes time to doing coref, the annotator would need to select each entity involved as a Span for the coref chain, which would be duplicates of the spans already used for the entity annotation. That seems like extra work and error prone. Is there a way to make coref spans be on top of the entities?
Chain layers cannot be combined with span layers. Chain layers are inherently an amalgamation of spans and relations that cannot be separated.
Furthermore, chain layers are not supported in INCEptION as well as span and relation layers. For example, they cannot be curated, recommenders do not work for them, and agreement does not work for them.
I am regularly thinking that I might relegate chain layers to experimental status and disable them by default - but so far that idea has not been turned into practice (yet)...
> There are two workarounds that I can see:
>
> (a) Fake coref by making it a relation on top of entities, and then use post-processing to tie together the different coref chains. A problem with this approach is that there can only be one relation layer on top of entities, and I'm already using an intra-sentence relation on top of entities. I could make another label, "coref" for that relation and allow it to go across sentences, which is not ideal for reasons I won't go into here (to avoid making this too long). A separate relation layer on top of entities, just for coref, can be done with the experimental feature ui.cross-layer-relations-enabled=true, but I'm hesitant to use an experimental feature for a current project. How stable would that be to use?
The functionality hasn't seen much practical use so far, so there may very well be quirks.
If you do not want to try the cross-layer functionality, you could also "fake" the coref relations using a link feature on your entity layer.
Link features are less powerful than relations (i.e. can only have a simple role label and not arbitrary features), but they are supported at a similar level as spans and relations when it comes to curation, agreement, etc.
That said, if you go for cross-layer and have feedback, that feedback would be very welcome :)
> (b) Use kb-linking instead of coref, so coref is done by just linking to the appropriate entry in the kb for each entity. There are various problems with this as well, since there are coref chains linking together nominals and pronouns, without a proper name. (Also trying to keep this short and won't go into this in detail).
KB linking is a viable option too. If you do not need a direct relationship between e.g. a pronoun and its noun mention, why not?
Cheers,
-- Richard