(Nil, please look at the end of this email, I have a suggestion for
you there...)


On Wed, Jun 14, 2017 at 9:32 PM, Shujing Ke <shujin...@gmail.com> wrote:
> 3. The interestingness evaluation is different from previous applications
> Our interestingness evalution is based on surpringness measure,  which
> includes Surpingness_I and Surpringness_II:
> Surpingness_I : how difficult the actual frequency of a n-gram pattern can
> be infered from all its (n-1)-gram to 1-gram subpatterns' frequency.
> Surpingness_II : how difficult the actual frequency of a n-gram pattern can
> be infered from all its (n+1)-gram super patterns' frequency.
> But in the pln corpus, we only mine 1 gram, and I guess the interesting
> patterns here you want to identify is the patterns of "the max degree of
> abstraction" , for example:
> pattern1: (x and y are friends) (x is musician) (y is musician) (z is
> musician) (z and y are friends)->(x and z are friends)
> pattern2: (x and y are friends) (x is var_job) (y is var_job) (z is var_job)
> (z and y are friends)->(x and z are friends)
> If pattern 1 occurs 10 times; pattern 2 also occurs 10 times, it means that
> pattern 2 only be right when var_job = musician, which means the abstraction
> to be pattern 2 is no sense. So patten 1 is already the max degree of
> abstraction in this case. If my unerstand is right, then I will need to
> write a new interestingness evalution for this, because it is different from
> the surpringness measure.

Hmm... well I am not sure if I am interpreting your example right...

Is the idea of the example that x, y and z are pattern-miner
variables, whereas var_job is an Atomspace VariableNode (not, in the
current implementation, what would be a a PatternVariableNode?)?

In that case ...let's consider a simpler example

pattern 1 = rich(x) and cute(y) and married(x,y)

pattern 2 = ThereExists z: rich(x) and z(y) and married(x,y)

pattern 3 = ForAll z: rich(x) and z(y) and married(x,y)

So in each of these cases, as I intend them: Everything except the x
and y is assumed to be there in the Atomspace.   Only the x and y are
the PatternVariables...

If we have 100 occurrences of the pattern

ThereExists z: rich(x) and z(y) and married(x,y)

i.e. 100 cases such as

ThereExists z: rich(Bill) and z(Jane) and married(Bill, Jane)

ThereExists z: rich(Mary) and z(Kate) and married(Mary, Kate)

... etc.

-- then this is a valid pattern, right?

A more realistic example would be in calculus where you have many patterns like

ForAll epsilon: epsilon>0, ( ThereExists delta: ( delta>0 and
abs(x-y)<delta ==> abs( f(x) - f(y)) < epsilon))

ForAll epsilon: epsilon>0, ( ThereExists delta: ( delta>0 and
abs(x-y)<delta ==> abs( g(x) - g(y)) < epsilon))

...

where "epsilon" and "delta" and "x" and "y" are (in an OpenCog
representation) VariableNodes ...

So in this case, f and g are the constants being matched by
PatternVariables, so we could have a PatternVariable $PV and the
pattern miner could recognize the pattern

ForAll epsilon: epsilon>0, ( ThereExists delta: ( delta>0 and
abs(x-y)<delta ==> abs( $PV(x) - $PV(y)) < epsilon))

This is a nice pattern to find, as it's a pattern that exists in lots
of calculus proofs (it just says $PV is continuous...) ... it's no
problem that the pattern has lots of quantified variables and
quantifiers in it...

...

In the PLN case, if we take an example possible pattern like "two
deductions in a row, involving associated entities, are often useful"
that would look like

A ==> B, B==>C  |- A==>C
A==>C, C ==> D |- A ==>D
HebbianLink (D,B)
useful(A==>D)

So the first two of these 4 lines are going to be embedded in a single
ExecutionOutputLink, I guess....  Then the other two will be their own
separate links in the Atomspace...

Suppose this pattern occurs 10 times in the Atomspace.   Each of these
times, we will have different Atoms in the slots for A, B, C, D.  Some
of these may be complex, e.g. we might have in one case

A  equals

MemberLink
    VariableNode $X
     SatisfyingSet
           EvaluationLink
                PredicateNode "piece of poop"
                ListLink
                       $X
                        ConceptNode "cheese doodle"


or whatever...  In this case the fact that there's a VariableNode $X
in the interior of A doesn't matter.

Nil, it will take some work, but  maybe it's worthwhile for you to
create a test Atomspace in which my above example pattern

A ==> B, B==>C  |- A==>C
A==>C, C ==> D |- A ==>D
HebbianLink (D,B)
useful(A==>D)

is a surprising pattern, and in which some of the examples of A, B, C
or D have some complexity to them (some internal quantified
variables).

Having a more "real" example like this might help avoid any confusion
and aid Shujing in getting the pattern  miner to work on PLN inference
histories in a useful way

ben




-- 
Ben Goertzel, PhD
http://goertzel.org

"I am God! I am nothing, I'm play, I am freedom, I am life. I am the
boundary, I am the peak." -- Alexander Scriabin

-- 
You received this message because you are subscribed to the Google Groups 
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to opencog+unsubscr...@googlegroups.com.
To post to this group, send email to opencog@googlegroups.com.
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/opencog/CACYTDBc%2B9mkizpWkpmzm1Rs77pLM2Bnywm9CHRnTvD5jJXdomw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to