Reification (linguistics)
From Wikipedia, the free encyclopedia
Reification in Natural Language Processing refers to where a natural language statement is transformed so actions and events in it become quantifiable variables. For example "John chased the duck furiously" can be transformed into something like "(Exists e)(chasing(e) & past_tense(e) & actor(e,John) & furiously(e) & patient(e,duck))". Another example would be "Sally said John is mean", which could be expressed as something like "(Exists u,v)(saying(u) & past_tense(u) & actor(u,Sally) & that(u,v) & is(v) & actor(v,John) & mean(v))".
This is so that statements which seemingly cannot be expressed in classical first-order predicate calculus, due to their use of tense, modality, adverbial constructions, propositional arguments (e.g. "Sally said that X"), etc., can in fact be manipulated using only the tools of classical first-order predicate calculus. This is an advantage because predicate calculus is better understood and simpler than the more complex alternatives (higher-order logics, modal logics, temporal logics, etc.), and there exist better automated tools (e.g. automated theorem provers and model checkers) for manipulating it.