You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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. 😄
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.
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.
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.
The text was updated successfully, but these errors were encountered: