The useful point I'm going to make here is: Yes, I think it would make
sense for you to use a different link type for these things you're
using that I've called CountedRelationshipLinks...
I don't think calling these RelationshipLinks is a good idea, because
the word "relationship" is very broad....
Arguably "EvaluationLink" is not a great name either (evaluation is a
pretty generic process) but it's been around a while and changing it
would cause confusion...
But names are not the most important point. The key point is that
you're using these links with a quite particular semantics, tied in
with the CountTV objects attached to the links, and this semantics is
not the same as that which is assumed for EvaluationLinks (which is
plain old evaluation of crisp or fuzzy predicates on their arguments)
.... So a different link type would be better.....
>> $X, $Y
>> Inheritance $X (WordNode: cat)
>> Inheritance $Y (WordNode: animal)
>> Evaluation BeforeInSentence $X $Y
>> would have semantics identical to my posited example (1) above....
>> I.e. its truth value is equal to the number of occurrences of the
>> quantified predicate being true, rather than the probability of the
>> quantified predicate being true for a random argument...
> And what is the point of using this far more complex structure? What does it
> allow/achieve that (1) doesn't?
Welll.... it makes explicit the relationship between the observed
statement about word-classes, and the particular word-instances making
up those classes.
Of course you could make that relationship explicit in some other way...
> (3) has a much higher computational complexity: it requires far more atoms
> to store a word-pair, and is far harder to discover (as a frequent operation
> is to find all word-pairs of a given form).
I don't think it's much harder to discover, but I agree it uses more Atoms...
I am not arguing that you should avoid using the more concise form
you've adopted. I'm just agreeing w/ your suggestion that you should
give it a different link type, to avoid confusion ...
Whether/when there is value in converting your
CountedRelationshipLinks or whatever into some other format for PLN to
reason on, is a different issue...
> But what would PLN conclude? How would PLN make use of the truth value?
> My counts currently range from 1 to several billion (a cpu-weeks worth of
> grinding on text goes through several billion words) and the corresponding
> relative entropies range from -20 to +20 or so. I don't see how PLN would
> have a clue what any of this might mean.
We have used PLN previously (a long-ago version) to do statistical text analysis
PLN would first of all deal with these counts by normalizing them into
(in a pure NLP application, perhaps using a universe size equal to the
number of words
in the corpus analyzed. Otherwise, PLN contains an "optimal universe
that guesstimates the normalization constant to use to normalize
counts into probabilities.)
The probabilities of conjunctions of words are not that useful in
themselves. But of course,
they can be used to derive various conditional probabilities, e.g. stuff like
P(Cat occurs in sentence S | animal occurs in sentence S)
P(Cat occurs in S to the right of animal | animal occurs in S)
P(Cat is linked to eat with an O link in a parse of S | cat and eat occur in S)
Intensional similarity can be used to find words that have similar
properties. Clustering could then be used to form classes of words
with similar intensional similarities, etc. etc.
I'm just mentioning a few simple examples; of course PLN could do many
things with this kind of data...
PLN intensional similarity is pretty similar to relative information;
it defines C to be a property of A with degree
[ P(C|A) - P(C) ]^+
and then rates entities as similar if they have similar properties...
One could tweak it to use log probabilities just as well; I doubt that
would make a big difference in practice...
So if one wanted, one could do the whole apparatus of our
language-learning proposal using PLN.... But I don't think that's a
critical point.... PLN doesn't do clustering, so it's not the sole
tool for implementing the language-learning proposal.... I see you
like entropies better than probabilities; but I suspect that whether
one is mainly manipulating probabilities or log-probabilities isn't
really the key point in getting language learning to work...