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

RelEx & R2L: How fast does it go? #191

Closed
williampma opened this issue Nov 28, 2014 · 5 comments
Closed

RelEx & R2L: How fast does it go? #191

williampma opened this issue Nov 28, 2014 · 5 comments

Comments

@williampma
Copy link
Member

"How fast does it go?" is weird:

RelEx:

 _advmod(fast, _$qVar)
 _subj(go, it)

I though the first attribute of _advmod would always be the verb? Not too sure about this one.

RelEx2Logic:

(interrogative-rule (InterpretationNode "sentence@20e63370-4388-489f-ac54-812b8fd44ed1_parse_0_interpretation_$X"))
(howdegQ-rule "fast" (get-instance-name "fast" "fast@a1c2b39c-2d06-4bbe-853f-d2ab31046079" (ParseNode "sentence@20e63370-4388-489f-ac54-812b8fd44ed1_parse_0")))
(advmod-rule "fast" (get-instance-name "fast" "fast@a1c2b39c-2d06-4bbe-853f-d2ab31046079" (ParseNode "sentence@20e63370-4388-489f-ac54-812b8fd44ed1_parse_0")) "_$qVar" (get-instance-name "_$qVar" "how@27fe7783-da9e-494e-a14e-dd83be3dbb01" (ParseNode "sentence@20e63370-4388-489f-ac54-812b8fd44ed1_parse_0")))
(definite-rule "it" (get-instance-name "it" "it@d0bca16a-4c23-4dc7-9eeb-ec1178787c72" (ParseNode "sentence@20e63370-4388-489f-ac54-812b8fd44ed1_parse_0")))
(SV-rule "it" (get-instance-name "it" "it@d0bca16a-4c23-4dc7-9eeb-ec1178787c72" (ParseNode "sentence@20e63370-4388-489f-ac54-812b8fd44ed1_parse_0")) "go" (get-instance-name "go" "go@ccfd6f6d-8927-45f5-9c42-ddbcf7da92c8" (ParseNode "sentence@20e63370-4388-489f-ac54-812b8fd44ed1_parse_0")))
(tense-rule "go" (get-instance-name "go" "go@ccfd6f6d-8927-45f5-9c42-ddbcf7da92c8" (ParseNode "sentence@20e63370-4388-489f-ac54-812b8fd44ed1_parse_0")) "present_infinitive")
(r2l-marker-processing)

advmod-rule called with "fast" and "_$qVar", I am sure that is wrong.

@williampma
Copy link
Member Author

Nevermind, I see there's a similar issue already @ #177

@anitzkin
Copy link
Contributor

There's no verb in this rule because the howdegq() rule only creates the "how fast" constituent. The sentence structure is created by the SV-rule and the "goes fast" by the advmod() rule. I'm not sure whether you're asking about advmod() or the howdegq-rule. I only created the howdegq-rule, but I think the whole output of the verb-phrase should be:

advmod(go, fast)
advmod(fast, how)

in comparison to:

advmod(go, fast)
advmod(fast, very)

I'm saying this without looking at the rules right now, so I hope that's right . . .

@williampma
Copy link
Member Author

Regarding whether I was asking about advmod-rule or the howdegq-rule, I was including both.

When howdegq-rule is triggered on the word "fast", I am sure advmod-rule needs to be excluded. Currently it is not, causing

(advmod-rule "fast" (get-instance-name "fast" "fast@a1c2b39c-2d06-4bbe-853f-d2ab31046079" (ParseNode "sentence@20e63370-4388-489f-ac54-812b8fd44ed1_parse_0")) "_$qVar" (get-instance-name "_$qVar" "how@27fe7783-da9e-494e-a14e-dd83be3dbb01" (ParseNode "sentence@20e63370-4388-489f-ac54-812b8fd44ed1_parse_0"))

called with "$qVar" as one of the word.

@anitzkin
Copy link
Contributor

anitzkin commented Dec 1, 2014

Well, actually, what we want is for BOTH rules to be triggered, but by different dependencies, so that (1) the advmod rule creates the r2l link for advmod(go, fast) and (2) the howdegq rule creates the r2l link for what is now represented by advmod(fast, how). The real problem right now is that the advmod(go, fast) relationship is not being created by the semantic algorithms at all for these sentences; I guess it is being pre-empted by the advmod(fast, how). This requires editing of the semantic algorithms. As for the relex2logic rules, then the problem becomes how to prevent the advmod(fast, how) from triggering the advmod rule, which may be impossible since the r2l rules don't accept boolean negation; therefore, I should probably revise the semantic algorithms to create a new dependency relation for (fast, how), instead of _advmod() -- such as _degmod() . .. I will work on that now . . .

Did that all make sense to you?

@williampma
Copy link
Member Author

Humm... I see. I think I see the problem, at least in terms of R2L rules and how exclusion works.

With both _advmod(go, fast) and _advmod(fast, $qVar) being connected by "fast" in the RelEx dependency graph on the same path, having a rule excluding _advmod will end up excluding both instance of it. I don't see a good way to fix it other than what you suggested.

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

No branches or pull requests

2 participants