Menu

Generation from Disjunctive Logical Formulas

Help
2017-10-29
2017-12-08
  • Polina Stadnikova

    Hi,

    I have problems with generation from DLFs created by the Disjunctivizer. For example, when I try to realize (with regression tests) the test output formulas I always get an exception, as if the formulas would have a wrong structure and would be ignored by the realizer. It seems that the realizer cannot handle <dlf> ...</dlf> structure. If I understood it correctly from this paper http://www.ling.ohio-state.edu/~white.1240/papers/White-inlg06.pdf , the packing/unpacking mode is essential for this kind of sentence generation, but activating it also didn't help me. I wonder what I'm missing or misunderstanding there. Do you have any hints?
    Thanks in advance!

    Polina

     
  • Michael White

    Michael White - 2017-10-29

    Hello Polina

    It looks like this may just be an issue of expecting the DLF to be within <lf> ... </lf> instead of <dlf> ... </dlf>. I've added an example to the git repo that works with ccg-realize and the routes grammar:

    https://github.com/OpenCCG/openccg/blob/master/grammars/routes/dlf_test.xml

    That is, from the openccg/grammars/routes directory, it should be possible to run ccg-realize dlf_test.xml and see in the resulting log file different outputs resulting from the various disjunctions therein.

    Re the Disjunctivizer, it has not actually been tested extensively with the realizer because of an unresolved technical issue with the hypertagger that stalled further work in that direction. In particular, realization with the broad coverage grammar requires the hypertagger to be used, but the hypertagger hasn't been extended to take the disjunctions into account, which degrades its predictions and thus lowers realization quality. Thus, at this point, DLFs can only be used as intended with small hand-crafted grammars (ones not requiring the hypertagger). With the large coverage grammar, an alternative is to sample from the choices before running the realizer.

    In principle it should still be possible to use the Disjunctivizer with small grammars; you might just try changing the root element for each LF to <lf> ... </lf> before sending it off to the realizer.

    Mike

     
    • Polina Stadnikova

      Thank you! This helped me a lot.

       

Log in to post a comment.