Hey Shashi,
1. Why does some observation have weights ?
In PSL, we use the term "weight" when talking about a rule.
We call the values associated with ground atoms in the data files "truth values".
If a file has no truth values, then the truth value for all the atoms in that file are assumed to be 1.0.
Because of the closed world assumption, atoms that do not appear at all get a value of 0.0.
2. Is truth used only for training (learning the weights ?)
No, it is also used for evaluation.
But these are the only two places it is normally used (it is not used in normal inference).
3. Why are truth values only binary in nature.
They are not.
In this particular example (simple acquaintances), we are trying to determine if people know each other, which is an inherently binary attribute.
However in other examples and problem, we may be trying to infer a continuous target.
For example, in the
preference prediction example we are trying to determine the rating that a user will give a joke.
This is naturally a continuous prediction.
4. Difference between 'observation' and 'truth'
Both of these modifiers imply read-only data, data that will not get a truth value predicted for it.
However, like in more classical IID approaches, truth data is not used during prediction.
Truth data is our held-out data.
It is vital that truth data (known labels) never leaks into inference.
So there is not inherent difference in the data itself, just how we use it.
Note that for weight learning, we will hold out even more data, a validation set.
So if we were doing 10-fold cross-validation, instead of holding out 1 fold (like in IID methods), we would hold out two.
One fold would be used to lean weights and the final fold would be used for evaluation/scoring.
-eriq