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!
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.)