A Data Science Central Community
In this series I reveal and explain rules of intelligence contained within grammar, that can be utilized to unleash intelligence in software. These rules are extremely simple, but still undiscovered by scientists.
To be able to explain making assumptions, we need to understand (the difference with) drawing conclusions first:
• Conclusions are drawn straight ahead - top-down - like in: Given "John is a father." and "A father is a man.". Generated conclusion: "John is a man." (see Part 2);
• Assumptions however, are made bottom-up, by which the validity is not secured. So, we should add a word that expresses the uncertainty of the assumption.
Under certain conditions, two types of assumptions can be generated autonomously:
1) Generalized Assumptions:
• Given: "A parent is a father or (a) mother."
A rule of intelligence contained within grammar: Conjunction "or" can be used to dissected the above sentence into two singular definitions:
• "A father is a parent."
• "A mother is a parent."
Now take one of the dissected sentences and another sentence:
• "A father is a parent.";
• "John is a father." or "John is the father of Pete."
The common word in both sentences is "father". At this point we can draw a Specification Substitution Conclusion (see Part 2) from the original sentence "A parent is a father or (a) mother." and the sentence, "John is the father of Pete.". We can now conclude - actually assume - that "John is a parent (of Pete).".
Below we will learn how the uncertainty of the assumption is expressed.
(More detailed conditions: http://mafait.org/en/theory_2_4_1/)
2) Possessive Conditional Specification Assumptions:
• Given: "A family has parents and children." and "John is a parent of Pete.";
The first sentence has a prior term of the possessive verb "to have". And its conjunction "and" - another rule of intelligence - indicates that both specifications "parents" and "children" are necessary to validate the definition "family".
In the second sentence, we can read a relational specification: "John has a parent(al) relation with Pete.". However, the reverse relationship from Pete to John is unknown, in which case we may not make any conclusions about Pete, although we would like to claim that:
• "Pete is a child of John."
• "John has a child (named Pete)."
Both we call a Possessive Conditional Specification Assumption.
(More detailed conditions: http://mafait.org/en/theory_2_4_2/)
Expressing the level of uncertainty of an assumption:
• The "assumption distance" can be calculated by counting the number of bottom-up steps in the assumption;
• And we can translate this number of steps into a word with increasing uncertainty, like: 1 step = "probably", 2 steps = "possibly", 3 steps = "may be", etc;
• When involved knowledge has changed, the uncertainty level of an assumption should be recalculated.
Example 1: Above we have made the assumption "John is a parent (of Pete)." from "A father is a parent." and "John is the father of Pete.". Jumping from the bottom word "father" to upper word "parent" is only one step. So, we can express the uncertainty of this one step as: "John is probably a parent (of Pete).".
Example 2: An assumption might include another assumption. Then the level of uncertainty of the included assumption will add to the number of steps of the assumption to be generated. Known: "A family has parents and children." and from the previous example: "John is probably a parent of Pete.". Now an assumption can be generated autonomously: "John has possibly a child, called Paul.", whereas the word "possibly" expresses the extra assumption step, a double level of uncertainty.
To download the open source implementation: http://mafait.org/en/download/