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

Tracing application of lexicon rules #9

Open
dobijan opened this issue Nov 27, 2017 · 3 comments
Open

Tracing application of lexicon rules #9

dobijan opened this issue Nov 27, 2017 · 3 comments
Labels

Comments

@dobijan
Copy link

dobijan commented Nov 27, 2017

Hello everyone,

Is there a way through which I'd be able to trace which rules in my lexicons have been applied when a surface form is transduced into a deep representation? I mean apart from "instrumenting" my lexicon rules with dummy tag identifiers which tell me unambiguously which rule was applied? I have a minor problem: my grammar is correct in a sense that it finds the appropriate representation, but it finds it twice. And I can't seem to pinpoint the cause. It is related to the superlative form of adjectives. If the word contains the -bb postfix, then there are always two solutions, completely identical. Since I believe only one derivation is possible, I'm very interested which two derivations did apply_up find. I already printed the automaton with draw_net, but it is not evident to me how that automaton could recognize the word twice.

@DavidNemeskey
Copy link
Collaborator

Not really, I'm afraid. :( The problem is that you compile your lexc grammar into an FST first, and you run that -- you never run the lexicon itself. Your solution (also in #10) of adding debugging symbols is probably the best you can do.

In this particular case, you can set show-flags ON in foma, which shows the flags in the output. So if you switched that option on and then apply down'd the analysis, you could have seen that the "flags" do not appear on the lower tape, only on the upper if you apply up. Needless to mention, if you already suspect that this is the problem, it's easier to just check your grammar. 😄

@dobijan
Copy link
Author

dobijan commented Nov 27, 2017

Well, a pity. This would have been quite cool. Nevertheless, the dummy symbol method is quite usable, surprisingly so in fact. If anyone has a similar problem I can recommend it with ease.

@DavidNemeskey
Copy link
Collaborator

It's basically the foma equivalent of debugging with print statements (/logs), as opposed to using a debugger. Maybe not as effective, but simpler, and works most of the time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants