Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More template types for the CNL descriptions #105

Open
inariksit opened this issue Sep 3, 2021 · 0 comments
Open

More template types for the CNL descriptions #105

inariksit opened this issue Sep 3, 2021 · 0 comments
Assignees
Labels
NLG Natural Language Generation

Comments

@inariksit
Copy link
Contributor

inariksit commented Sep 3, 2021

Currently, after #88 , the parser supports descriptions like

class Game {
    win : Player -> Bool
}

lexicon win -> "{Player} wins {Game}"

Now, we want to support

  • ≥3-place arguments: "{Researcher} spends {Holiday} on {Beach}"
  • Unexpected part-of-speech or role in a sentence. For instance, instead of inadequate(savings_account), you can have savings_account to be the function, and apply it to inadequate. We then need to allow a description for savings_account : FinancialStatus -> Bool. The argument won't be a NP, but rather the actual predicate.

Until now, we have assumed that the classes are always NPs, and predicates are NPs, APs or VPs. Now even classes can be APs. This is a real example, I couldn't have made it up myself. :-D

The overall problem is where these things happen. Right now we have a RGL-based parsing grammar, where we parse the description. The pieces of the parsed description become then the concrete syntax of our application grammar, which has extremely simple abstract syntax. The abstract syntax is optimised for being easy to manipulate from an external program, and there is nothing linguistically motivated there.

Simplified workflow for one layer of grammars would be this:

simplified example of the pipeline

We need to add extra steps to accommodate for 2 layers of grammars. I don't know what is the best way to proceed.

@inariksit inariksit added the NLG Natural Language Generation label Sep 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NLG Natural Language Generation
Projects
None yet
Development

No branches or pull requests

3 participants