Ticket #7 (assigned defect)

Opened 5 years ago

Last modified 5 years ago

percolate features during morphological realisation

Reported by: kowey Owned by: kowey
Priority: major Milestone: GenI 0.22
Component: core Version:
Keywords: Cc:

Description

The morphological realisation (built-in) is dumb in that it unifies each pre-terminal node of the derived tree independently with the morphological lexicon.

This is not good, because it does not allow for mutually exclusive realisations: he hold*s* the apple vs you hold the apple

Right now, the workaround is to supply the necessary features via the input semantics (morphinfo file), but ideally you should be able to just make it work automatically.

Change History

Changed 5 years ago by kowey

  • milestone set to GenI 0.18

Changed 5 years ago by kowey

  • owner changed from somebody to kowey
  • status changed from new to assigned

Alexandre has entry in his lexicon which looks like this:

"chambre" n(?P ! gender:Fem) semantics:[participant(?P) objType(?P "chambre")]

This represents as alternative workaround to the lack of percolation during morph realisation, which is to supply the morph features through the lexicon.

According to Alex, this is not desirable. The information is redundant with that which is already present in the morphological lexicon.

If we had feature percolation, then this would just work.

Changed 5 years ago by kowey

  • component changed from gui to core

Changed 5 years ago by kowey

  • milestone changed from GenI 0.20 to GenI 0.22

This is actually quite easy to fix. It's a bug in the new standalone sillymorph package, which unifies each word independtly of the other. The right thing to do is not to mapM on the list monad (we use the list monad for prolog-style non-determinism because each word may have more than one realisation), but to foldM instead, passing in the unification variable substitutions along the way.

Note: See TracTickets for help on using tickets.