[opencog-dev] PartitionLink, biological pathways, human bodies, etc.

2017-07-21 Thread Ben Goertzel
Some interesting representational issues have come up in the context
of Atomspace representation of pathways, which appear to have more
general implications…

It seems the semantics we want for a biological pathway is sort of
like “the pathway P is a set of relationships R1, R2, …, R20” in kinda
the same sense that “the human body is a set of organs: brain, heart,
lungs, legs, etc.”

First of all it seems what we have here is a part of relationship… maybe we want

PartLink
ConceptNode “heart”
ConceptNode “human-body”

and

PartLink
>relationship<
>pathway<

PartLink and PartOfLink have come and gone in
OpenCog/Novamente/Webmind history...

An argument that PartLink should have fundamental status and a
well-defined fuzzy truth value is given in this paper:

https://www.academia.edu/1016959/Fuzzy_mereology

However what we need for biological pathways and human bodies seems
like a bit more.   We want to say that a human body consists of a
certain set of parts... not just that each of them is a part...  We're
doing a decomposition.

One way to do this would be

PartitionLink
   ConceptNode “human-body”
   ListLink
  ConceptNode “legs”
  ConceptNode “arms”
  ConceptNode “brain”
  etc.

Relatedly, we could also have

OverlappingPartitionLink
C
L

if we want to encompass cases where the partition elements in L can overlap; or

CoveringLink
C
L

if we want to encompass cases where the partition elements in L can
overlap, AND the elements in L may encompass some stuff that’s not in
C

For the pathway case, we could then say

PartitionLink
ConceptNode “Krebs cycle”
ListLink
>relationship 1<
>relationship 2<
etc.


Now this solves the semantics problem but doesn’t solve the problem of
having a long ListLink….  A biological pathway might have 100s or
1000s of relationships in it, and we don't usually want to make lists
that big in the Atomspace...

To solve this we could do something like (for the human body case)

PartitionLink
   ConceptNode “human-body”
   PartitionNode “body-partition-1”

PartitionElementLink
   PartitionNode “body-partition-1"
   ConceptNode “legs”

PartitionElementLink
   PartitionNode “body-partition-1"
   ConceptNode “arms”

etc.

and similarly (for the biological pathway case)

PartitionLink
ConceptNode “Krebs cycle”
PartitionNode “krebs-partition-1”

PartitionElementLink
PartitionNode “krebs-partition-1"
>relationship 1<

PartitionElementLink
PartitionNode “krebs-partition-1”
>relationship 2<

...

There could be some nice truth value math regarding these, e.g. we
could introduce Ellerman's "logical entropy" which is really a
partition entropy.   There are also connections with some recent
theoretical work I've been doing on "graphtropy" (using "distinction
graphs" that generalize partitions), which I'll post a paper on
sometime in the next week or two   But that will be another email
for another day...

-- 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/CACYTDBc9FL65o_jqVjwzypebVdHj1Z%2BpRy2qreHyxrLp6RWvpw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [opencog-dev] Opencog noobie questions

2017-07-21 Thread Linas Vepstas
On Fri, Jul 21, 2017 at 1:07 PM, 'Nil Geisweiller' via opencog <
opencog@googlegroups.com> wrote:

> On 07/21/2017 04:58 PM, neuropress...@gmail.com wrote:
>
>> Ah thanks for letting me know about those rules, one more thing about
>> this tho. Is there already a rule which let's opencog(chatbot) know that
>> any statement made by a person or other information source it is talking
>> to is what they think instead of basically storing it in the atomspace
>> without the source (You hopefully get what I mean) Sorry if I am bad at
>> describing what I mean
>>
>
> I don't know the specifics of that but I assume that it stores it as
> someone's belief rather than its own. Then PLN can in principle modifies
> the system's belief, assuming for instance that the person holding the
> believe is known to be trusted. I don't think it's been tried though.
>

If you mean "do we model other people's beliefs?" that answer would have to
be "I wish". We still have multiple severe fundamental problems with
creating and manipulating models of the world: It's still hard to wrap up
into one big ball the fact that blob 42 in the visual field is a human face
and its name is billy-joe-bob and the last thing bliiy said was foobar,
which implies that billy believes that foobar. This is well beyond what we
can do from first principles.

But, many corporations, e.g. advertisers e.g. cambridge analytica most
infamously has developed a psychological model of hundreds of millions of
Americans, and what they believe. Their model is crude, full of mistakes,
and not based on first principles, but it is a model which they claim was
used to elect Trump.  You (or we) could hack up something like this too,
but "hack up" is the keyword here: we'd rather try to be more organic, more
first-principles-driven.

--linas

-- 
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/CAHrUA36D4tULCWOk9zkSVp6%3DX7P8S%3Dm2MTiN6Ra4ZFL2Ro-8fg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [opencog-dev] Opencog noobie questions

2017-07-21 Thread 'Nil Geisweiller' via opencog

On 07/21/2017 04:58 PM, neuropress...@gmail.com wrote:

Ah thanks for letting me know about those rules, one more thing about
this tho. Is there already a rule which let's opencog(chatbot) know that
any statement made by a person or other information source it is talking
to is what they think instead of basically storing it in the atomspace
without the source (You hopefully get what I mean) Sorry if I am bad at
describing what I mean


I don't know the specifics of that but I assume that it stores it as 
someone's belief rather than its own. Then PLN can in principle modifies 
the system's belief, assuming for instance that the person holding the 
believe is known to be trusted. I don't think it's been tried though.


Nil




Yeah, I've seen that diagram :) I posted one about how I am planning to
implement this chatbot however it didn't post correctly, here it is
(Hopefully it works this time)


Thanks




Three short comments:

1) PLN is a set of rules that run on top of the rule engine. Those
rules, when triggered, alter the "truth values" on atoms in certain
ways. You (or someone) should be able to create a different set of
formulas for truth values, that emulate the NARS formulas. You could
then run PLN deductions side by side with NARS deductions, and see
which you like better (or even create yet other kinds of formulas)

2) we have "relex2logic" rules, which convert natural language to
logic expressions. These are ... time-consuming to write, and by
nature are incomplete and buggy -- because natural language is a
fluid, changing thing. Hand-writing rules is a good exercise, but
madness lies in that direction.

3) the current diagram of how things connect is kind-of-ish reviewed
here:

https://github.com/opencog/opencog/blob/master/opencog/eva/architecture/embodiment.pdf



--linas

On Thu, Jul 20, 2017 at 6:14 AM, >
wrote:

Hi, I am new to Opencog and hopefully building a chatbot with it
soon, I was going to use OpenNARS but after some reading I am
convinced that PLN > NARS

So here are my questions:

1 I am thinking of writing rules that convert input text to a
understandable format for Opencog, I am aware that this has
already been done with the NLP pipeline
However from what I've been told rules that for example convert
"that" into what is meant with "that" aren't implemented yet.

Example: Tim: My computer keeps crashing
Tim: I hate that
This rule would turn this into : Tim said that Tim hates that
his computer keeps crashing (In atomese)

This is just one example of such a rule.

2 I should've asked this before but are such rules even helpful?
And is atomese even the language in which such things would be
inputted to the system?
I am extrapolating from OpenNARS in which input like this is
done in Narsese but I am not sure how that works in Opencog yet...

3 What does MOSES do exactly? And is it needed for a chabot? (I
know what MOSES does with the evolution of mini programs, I am
just not quite sure on what those mini programs do..)

That's all of the questions I could think of right now, not sure
if I missed one (hopefully not)

The chatbot I am building will use an up board which will run
Opencog, that should be okay right?
http://up-shop.org/up-boards/62-up-board-4b-32-gb-emmc-memory.html



Thanks!

--
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+u...@googlegroups.com .
To post to this group, send email to ope...@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/d4fa76b4-80d2-4ea6-96af-e072237b03fd%40googlegroups.com

.
For more options, visit https://groups.google.com/d/optout
.


--
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 

Re: [opencog-dev] Opencog noobie questions

2017-07-21 Thread neuropressnet




It didn't show did it, hopefully this works.. This is bad because this 
really is an unimportant diagram in comparison to my other questions 
however now it seems like I am making it look important (Which it isn't) 
because It didn't post correctly. 


-- 
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/00ac708f-281a-45c7-9c2b-fcbe8df05067%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [opencog-dev] Opencog noobie questions

2017-07-21 Thread neuropressnet


Ah thanks for letting me know about those rules, one more thing about this 
tho. Is there already a rule which let's opencog(chatbot) know that any 
statement made by a person or other information source it is talking to is 
what they think instead of basically storing it in the atomspace without 
the source (You hopefully get what I mean) Sorry if I am bad at describing 
what I mean


Yeah, I've seen that diagram :) I posted one about how I am planning to 
implement this chatbot however it didn't post correctly, here it is 
(Hopefully it works this time)


Thanks



Three short comments:
>
> 1) PLN is a set of rules that run on top of the rule engine. Those rules, 
> when triggered, alter the "truth values" on atoms in certain ways. You (or 
> someone) should be able to create a different set of formulas for truth 
> values, that emulate the NARS formulas. You could then run PLN deductions 
> side by side with NARS deductions, and see which you like better (or even 
> create yet other kinds of formulas)
>
> 2) we have "relex2logic" rules, which convert natural language to logic 
> expressions. These are ... time-consuming to write, and by nature are 
> incomplete and buggy -- because natural language is a fluid, changing 
> thing. Hand-writing rules is a good exercise, but madness lies in that 
> direction.
>
> 3) the current diagram of how things connect is kind-of-ish reviewed here: 
> https://github.com/opencog/opencog/blob/master/opencog/eva/architecture/embodiment.pdf
>
> --linas
>
> On Thu, Jul 20, 2017 at 6:14 AM, > 
> wrote:
>
>> Hi, I am new to Opencog and hopefully building a chatbot with it soon, I 
>> was going to use OpenNARS but after some reading I am convinced that PLN > 
>> NARS
>>
>> So here are my questions:
>>
>> 1 I am thinking of writing rules that convert input text to a 
>> understandable format for Opencog, I am aware that this has already been 
>> done with the NLP pipeline
>> However from what I've been told rules that for example convert "that" 
>> into what is meant with "that" aren't implemented yet.
>>
>> Example: Tim: My computer keeps crashing 
>> Tim: I hate that 
>> This rule would turn this into : Tim said that Tim hates that his 
>> computer keeps crashing (In atomese)
>>
>> This is just one example of such a rule.
>>
>> 2 I should've asked this before but are such rules even helpful? And is 
>> atomese even the language in which such things would be inputted to the 
>> system? 
>> I am extrapolating from OpenNARS in which input like this is done in 
>> Narsese but I am not sure how that works in Opencog yet...
>>
>> 3 What does MOSES do exactly? And is it needed for a chabot? (I know what 
>> MOSES does with the evolution of mini programs, I am just not quite sure on 
>> what those mini programs do..)
>>
>> That's all of the questions I could think of right now, not sure if I 
>> missed one (hopefully not)
>>
>> The chatbot I am building will use an up board which will run Opencog, 
>> that should be okay right?
>> http://up-shop.org/up-boards/62-up-board-4b-32-gb-emmc-memory.html
>>
>>
>> Thanks!
>>
>> -- 
>> 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+u...@googlegroups.com .
>> To post to this group, send email to ope...@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/d4fa76b4-80d2-4ea6-96af-e072237b03fd%40googlegroups.com
>>  
>> 
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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/b8288b31-9201-42e2-b979-a101541639c2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Android port (GUI and NDK engine build)

2017-07-21 Thread Dagim Sisay
That's a nice idea. Maybe before going too low level to NDK, what if  u run 
opencog on a PC or some internet accessible server and just connect to it. 
I use to telnet to the cogserver from phone terminal emulator when I'm 
bored. It's fun to scheme on phone.  

On Thursday, July 20, 2017 at 8:20:52 AM UTC+3, Dmitry Ponyatov wrote:
>
> Is anybody works on opencog android port (using NDK I think for lower 
> source code adaptation) or can help on in this theme ?
>
> I'm thinking about some graph rewrite engine I can experiment on my 
> smartphone, binded with some sensors (accellerometer, gps, gsm).
>
> Tge first app is some personal planning app : tasks, sheduling, some 
> logistics like shopping driven by geolocation, intellectual reminders and 
> so on, with some graph editiong gui + script engine
>
>

-- 
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/3b079072-d72d-4128-986e-f6ff5e094243%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.