Add support for concept inventories to Model
This includes:
- list/map of available concepts
Model.has_concept()(likeModel.has_role())- Add checks to
Model.errors() - (Maybe) consistency checks of roles, reifications, normalizations, and concepts
+1 for consistency checks, esp. when annotating text for AMR, it's very much free form =)
@alvations yes, it is indeed very free, for better or worse. There are some things which can be checked easily, such as having a ARG3 on a concept that does not specify such an argument (these core arguments can't just appear anywhere, I don't think). Other roles, or concepts not in the inventory, are not really constrained. E.g., if we have a new concept wug, do we assume it can be a new verb that can take any number of core arguments? Can something like :op1 appear anywhere? Can :polarity take anything other than -, amr-unknown, truth-value? etc. For some of these things it might make sense to have a "goodness" score instead of a binary good/bad.