I understand that in openCCG ontological sorts constrain the parse and the realization phase. In particular I understand how types are used to disallow the realization and parsing of "*a ﬂower bought he" in the rough guide example.
Anyway I don't understand one point. Suppose that I want to realize " he bought a ﬂower" starting from the correct logical form, Do the semantic types play any role in this case?
Thanks a lot for your help and your great work on OpenCCG
Good question (and thanks for the kind words). I just posted a reply, but sourceforge seems to have logged me off while I was typing it in, and thus I think it's been lost to the ether. So I'll see if I can reconstruct it mostly.
The short answer is that the types usually play no role in realization, at least conceptually, because the relations suffice to narrow down the lexical categories during unification, with the types providing no further operable constraints. However, in principle the types can play a role, depending on what relations are used in the logical form. For example, in the flights grammar, both 'connection in Amsterdam' and 'connection at London_Heathrow' produce an LF that uses the Path relation to connect the 'connection' predicate to the city or airport. Thus, during realization, the Path relation by itself does not determine whether n/pp or n/pp is chosen to realize the 'connection' predicate; the type of the argument (city or airport) comes into play to determine whether the preposition will be 'in' or 'at'. Of course, more specific relations (eg ConnectingCity or ConnectingAirport) might have been used here, so again it depends on what ends up in the LFs.
(In my earlier post, I sketched how the type of situation might be used to determine whether 'for' or 'in' is used to convey duration, but no one has worked this out in openccg as far as I know.)
I understand. Types allows you to model linguistic meaning with "more general" semantic relations.
Thanks for the detailed answer.