tagging relationships?

Is it possible in Prodigy to tag semantic relationships? For example, suppose I wanted to tag my data such that it indicates that "this author" "wrote/is-auth-of" "this book". Is this possible in Prodigy? Is there a recipe for it?

I don't think there's a direct recipe for it. You could either do NER, and define semantic relationships as entities, if you only have a few of them, and they're common. Otherwise, maybe it's a case of doing POS tagging, and if there's a subject-predicate-object relationship in your semantics, then post-processing afterwards. I'd be interested to hear other ideas though!

1 Like

Yes, I think the easiest way to solve this would be to use the ner.manual recipe / ner_manual interface and then label it as something like author_subject and author_object (or however you want to call those labels). So each relationship basically has two labels: one for the "head", one for the "child". If your labels don't overlap, you could even annotate all your relationships in one go.

(The upcoming version of Prodigy will have a new interface for combining interfaces – so you could then have an ner_manual block that lets you highlight one or more spans, followed by a choice interface that lets you select a label.)

1 Like