-
Notifications
You must be signed in to change notification settings - Fork 19
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
Question - Not getting expected result #30
Comments
Hi, You should use the additionnal option I realize it is counter-intuitive and I will fix this. Jonathan |
Hi, I added the -pm support option and it did not work. The problem is the recursivity limit which is harcoded to 3, i.e., AMIE does not allow more than 3 times the same predicate in a rule. If you want to mine that rule you have to increase the recursivityLimit attribute in the class MiningAssistant (amie/mining/src/main/java/amie/mining/assistant/MiningAssistant.java line 50). This will make AMIE slower though. @lajus Do you think we should provide ways to also adjust that parameter in the command line arguments? Cheers, |
Thanks for tracing of this problem. I have not yet tried recompiling the code, but it seems to be that the value 3 is a default value and can be set to a different value using the which is something that I tried, cf.
|
Hi, I had completely forgotten about this command line argument, wow. Did it work then? Luis |
Unfortunately no, I've tried both in AMIE+ and AMIE 3 using the -rl argument, I also tried other settings like -pm (this actually led me to try oneVar). There might be something wrong with my example but cannot figure out what. Based on other experiments with different examples (I tried multiple before I arrived at this minimum working example) it looks like AMIE does not output rules that have one predicate multiple times in the body (i.e., it really looks like a problem with recursion but not as simple as the |
Hi, I think (have not checked) that the skyline pruning discards the rule. More precisely, the following rule or an equivalent should be in your output: The skyline pruning will remove every specialization of an outputted rules if the specialized rule is not strictly better than the outputted rule. Thus, as the rule you want to mine is a specialization of the above rule, it will be outputted only if its confidence is strictly superior to the confidence of the rule above. There is no option for disabling the skyline pruning but I could add one. Cheers, |
Sorry for being vague about the output I am getting, I actually do not get any results (no discovered rules at all), but it could be something like that. |
Hi, This is because you are using the release that removes diamond patterns. It is not the case anymore in the development version as we noticed it was breaking stuff. Note also that by default AMIE does not enforce injective mappings, it means that when it counts the support/confidence of a rule ?c and ?d may be mapped to the same entity (or ?p and ?b) which messes with the counts we would expect (it was a reason diamond patterns were removed by Luis). If you want to enforce injective mappings (different variables must be mapped to different entities), you need to compile the "gpro" branch of this repository and use: Cheers, |
Hi, I did not merge the fixes in master into the gpro branch. Should work now. As for the diamond patterns, I am not sure it is documented in the literature (as we mostly consider rules of size 3 anyway). @lgalarra ? It is a output pruning method used in the DefaultMiningAssistant removing patterns in forms of diamond (see amie.rules.Rules#containsDisallowedDiamond). Cheers, |
Hi everyone, An example of a diamond rule is:
Cheers, |
Hi,
This is a question rather than a bug report.
I've created a small test case, cf below (data is also attached).
I was wondering why AMIE+/AMIE 3 does not return any rule (when mining without constants) on this dataset?
Why is the rule depicted in the figure on the right not found? This rule seems to have at least three positive examples. If the example is constructed correctly, is there any setting that would make it found? Would, e.g., Aleph find this rule?
sample5.tsv.zip
The mining setup:
Neither return any rules.
Thanks!
The text was updated successfully, but these errors were encountered: