Why not rule-based semantic role labelling?

I have recently found some interest in automatic semantic role labelling. Most introductory texts (e.g. Jurafsky and Martin, 2008) present approaches based on supervised machine learning, often using FrameNet (Baker et al. 1998) and PropBank (Kingsbury Palmer, 2002). Intuitively however, I would imagine that the same problem could be tackled with a grammar-based parser.

Why is this not the case? Or rather, why would these supervised solutions be preferred? Thanks in advance.


References

Jurafsky, D., Martin, J. H. (2009). Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. Prentice Hall.

Baker, C. F., Fillmore, C. J., Lowe, J. B. (1998). The Berkeley FrameNet Project. 36th Annual Meeting of the Association for Computational Linguistics and 17th International Conference on Computational Linguistics, Volume 1, 86–90. https://doi.org/10.3115/980845.980860

Kingsbury, P., Palmer, M. (2002). From treebank to propbank. In Language Resources and Evaluation.

Topic text parsing language-model nlp

Category Data Science


There is a subtle but important difference between "semantic role" and "grammatical role" (I think there's a specific term for the latter but I forgot it).

Grammatical role is strictly about syntax. For example in the sentence "John sent a letter to Mary":

  • "John" is subject
  • "a letter" is object
  • "Mary" is an indirect object

This is what a syntactic parser (typically dependency parser) would normally identify.

By contrast semantic role is mostly about the semantics. We could describe the semantic of the above sentence like this:

  • The predicate is "to send"
  • This predicate can have 3 arguments:
    • the sender is "John"
    • the object is "a letter"
    • the receiver is "Mary".

Typically one needs a specific resource like PropBank in order to know what are the expected and optional arguments specific to a predicate.

So far the difference might look thin, but it will become clearer with this new example: "A letter was sent to Mary by John". The grammatical roles become:

  • "a letter" is subject

  • "Mary" is indirect object

  • "by John" is some kind of dependent clause (I forgot what this is called but it's definitely not subject).

Whereas the semantic roles are exactly the same as previously, because the semantic didn't change.

So in general semantic role labelling is harder than simple identification of syntactic roles. This is why specific resources and methods are developed for it.

Disclaimer: my knowledge on the topic is from 10 years ago, I'm not aware of the recent developments in this domain. I'm under the impression that DL methods bypass this step for many applications by producing end to-end systems, but I'm not sure at all about this.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.