[opencog-dev] Re: Applicative Abstract Categorial Grammars

2017-12-05 Thread Alex
i.e. all the grammars in which I have interest have the common feature - 
capability of the grammatical framework to transform the natural language 
sentence in the logical formula that gives the meaning of this sentence.

-- 
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/38b46bc5-9322-4807-ad9f-23642d174b74%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Applicative Abstract Categorial Grammars

2017-12-05 Thread Alex
While learning this approach I was advised to look on transformational 
grammars - whole new world for me. Steedman says, that categorial grammars 
were more constrained approach that tried to tame the rich expressivenes of 
transformational grammars. So - are transformational grammars the 
generalization of categorial grammars and hence - better and stronger 
grammars? Can someone say some good words about them?

One should be able to build reasoning chatbots that uses logic and 
inference for their language understanding and generation. It is not good 
that so much resources are devoted to the statistical and neural - quite 
obsucre - methods for chatbots. Machine learning is that it is - it is 
learning from the given samples. But logical inference can create new 
conclusions, new concepts, new thoughts, it has inner creativity and that 
is what is expected from the truly intelligent systems!

-- 
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/a234f1f7-3f9e-451c-8997-97f098939265%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Applicative Abstract Categorial Grammars

2017-11-19 Thread Alex
I just wanted to raise awarenes of this research trend:
http://okmij.org/ftp/gengo/applicative-symantics/AACG.pdf
http://okmij.org/ftp/gengo/applicative-symantics/AACG1.pdf

These papers are generalization of categorial grammars and they provide 3 
grammars - 1) abstract grammar (one between syntactic and semantic forms), 
2) surface grammar for the real word text and 3) logical grammar for the 
logical expression that is the meaning of the abstract/surface form. 
Deterministic transformation rules allow to make inverse transformation 
from the surface form to the abstract form and direct transformation from 
the abstract form to the logical form/meaning.

So - these transformation rules can (in my opinion) encode the 
semantic/pragmatic knowledge gathered by the linguists and if we can learn 
to learn these rules automatically (e.g. by understanding maximization) 
then fantastic language processing system can be built.

I only wonder by these papers have not found wider application and 
recognitions, because the are issued in 2015 and I have not found any 
citation and further developmen. If someone knows then it would be great to 
get some further developments along these lines.

-- 
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/d377f766-6a01-4cbb-a786-aff258d856ba%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Formalization and representation of knowledge of semantics and pragmatics

2017-11-09 Thread Alex
Everyone who is interested in how language works, should 
read 
https://www.amazon.co.uk/Semantics-Introducing-Linguistics-John-Saeed/dp/1118430166/
 
and 
https://www.amazon.co.uk/Pragmatics-Oxford-Textbooks-Linguistics-Huang/dp/0199577765
 
- two great textbooks about linguistic domains called semantics and 
pragmatics. My question is - are you aware about some efforts to formalize 
and represent (e.g. with logics) those kind of linguistic knowledge 
(knowledge of semantics and pragmatics).

I also asked this question in Stackexchnage
https://linguistics.stackexchange.com/questions/26341/formalization-and-representation-of-semantic-and-pragmatic-knowledge

I you have answers I would be glad to hear them here or there.

If someone is able to combine commonsense and linguistic knowledge then one 
is able to build really, really strong system of natural language 
comprehension.

-- 
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/c29e528a-7097-4b90-aaf1-b296e24785bb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Symbolic / semantic / logical methods for building conversational agent - maybe ideas from Eva chatbot can help here?

2017-10-16 Thread Alex
Hi!

I asked this question in 
StackExchange 
https://cs.stackexchange.com/questions/82575/semantic-drt-methods-for-conversational-agents-chatbots-dialogue-systems-r
 
and actually I don't hope to receive meaningful answer there. So - maybe 
ideas and experience from Eva chatbot can provide some answer (and 
references) to my question. So - in essence - today the natural language 
can be formalized enough - 
e.g. http://www.springer.com/gp/book/9783319504209 
and https://academic.oup.com/jos and there are efforts to convert the 
formalized language into meaningful logics 
like 
http://virthost.vub.ac.be/lnaweb/ojs/index.php/LogiqueEtAnalyse/article/view/1873

So - if language can be formalized then - can we perceive the conversation 
as the logical inference process? Conversational agent is BDI or PSI agent 
that acts based on the logical inferences. Such chatbots should be built 
and they should be far more rational and human than agents built from the 
statistical methods or precompiled answers.

So - is Eva chatbot such logical/semantic conversational agent and is yes - 
then - how unique it is. Are the prior art references which I can read 
further or are there research trends which form the context of the Eva and 
from which I can receive encouragment for my own efforts.

I like logics and inference control (it should be realizable as BDI agent) 
and I can not believe that so much credit is given to the statistical and 
subsymbolic methods in this century.

-- 
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/a68d6d4e-fe65-4557-93bc-5c606d44d359%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Graphs for the two representations of the knowledge and ideas about the third generation Cog system - MOC - MetaOmegaCog?

2017-10-03 Thread Alex
Well, maybe I am too optimistic...

Regarding the rules, I am investigating the following (not impressive):
https://github.com/threatgrid/naga
https://link.springer.com/chapter/10.1007/978-3-319-21542-6_14
https://www.google.com/patents/US20150302300

Rules over graph database is far less popular theme than graph matching and 
mining, but I guess - graph matching is by far the most complex and 
important part of the any rule engine.

Well - I suggest you not to waste your time on this, I will investigate 
further open source projects and then I will report back. I don't want to 
disturb anyone from his plans.

-- 
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/da088fdb-5d63-45e1-935e-01554e22b575%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [opencog-dev] Contributing to Opencog

2017-10-03 Thread Alex
I am here since the fall of last year (around year) and if I am allowed, I 
would like to make the following thoughts that may make OpenCog project 
more attractable in the eyes of developers and users:

1) The first feature of OpenCog is its internal complexity. One can read 
two-volume AGI book and wonder about ideas about organizing mind agents and 
processing nodes in multiprocessor, distributed architectures, about load 
balancing and execution priorities, internode communication, etc. All these 
are pretty low level technicalities that require the expertise of system 
programmers, but this is quite rare expertise. There are far more business 
application programmers or scientific application programmers that are 
relying on the OS features and speciality software features (like MPICH) to 
write and execute their high level application code.

I have this discussion in other thread 
https://groups.google.com/forum/#!topic/opencog/X_eKhNErmC8 about 
possibility to use external software and external services more extensively 
in OpenCog project. So far OpenCog project is about graph database, about 
graph pattern matching and graph pattern mining, about rule engine - but 
all these technical services are separate project today. I guess that in 
the time of making first OpenCog lines, there were no graph databases, the 
resarch and tools of graph mathcing and mining was only ascent field. But 
today the situation is far more different - today graph databases and 
mathcing/mining projects are available. Maybe the development strategy 
should be changed - maybe one should more extensively use these projects 
and there is mismatch of requirements then contribute to these speciality 
projects back and not to try overdo them. E.g. I do not believe that it is 
economically feasibile to reimplement graph database. There are graph 
database projects, there is ThinkerPop (JDBC) like interface and there is 
Gremlin (SQL) like language. And can implement algorithms in the graph 
database-agnostic way and use all the industrial power of the best database 
available. Scientists do use commercial off-the-shelf computers for HPC, 
why not to use industrial software? And similar things we can say about use 
of external reasoners (linear logic, Coq, Isabelle, etc.).

I guess, that OpenCog graph database, matcher and miner features are more 
or less completed, so this work is not required for novice who would like 
to contribute to AGI with OpenCog. But the question still stands. If one 
starts to think about load balancing, about scalability - can we safely 
assume that from the technical point of view OpenCog surpasses the 
industrial graph databases? And what to do if our Atomspaces are growing 
and growing and there is need to improve this in the project? Should be 
move to the low level job of systems programmers which requires so 
different expertise? I am just afraid whether the project is going in the 
right direction. People would like to concentrate on their models and 
knowledge bases not on the techniques. 

2) Second obstacle to my adoption of OpenCog was some missed documentation. 
E.g. other programming systems have BNF formalization of their languages 
and the strict and exhaustive list of the constructions and available 
patterns. OpenCog has very good list of all the node and link types but 
sometimes I would like to have strict definitions what nodes can be used 
with what links. At present I am a bit afraid that I have to do some 
experimentation. If the language had more formal specification then it 
would be possible to develop and formalize this specification furher - e.g. 
go from the textual code to the hypergraph, from programs to the hypergraph 
transformations and see what we can deduce from such semantics.

3) Third and last obstacle to my adoption was remoteness of the OpenCog 
ideas and concepts. It was great to have OpenCog experience because it 
invites me to look deeper in the OO notions. I.e. OpenCog is thinking in 
more basic terms of extensional in intensional inheritance/association, 
OO/UML modelling oversimplifies things. It is good, but still - some 
canonical mapping from OpenCog notions to the more widely adopted knowledge 
modelling notions would be helpful. Even more so because I am pretty sure 
that there are people who have made such mappings for themselves. And 
similar things I can say about the probabilistic term logic that is 
underlying OpenCog - it is not the most popular thing in the market. Again, 
I am not against such approach, I just invite to present some canonical 
mapping to the more popular logics. I don't exactly remember but AGI books 
had such explanation, if I am correct. 


So - the general conclusion is: there are ideas about modularization of 
OpenCog. But it seems to me that everyone here expects that modules will be 
developed by OpenCog society. My view is different. Modularization is 
required but we should use already available software (be it extern

[opencog-dev] Re: Graphs for the two representations of the knowledge and ideas about the third generation Cog system - MOC - MetaOmegaCog?

2017-10-03 Thread Alex


> Ou focus is NOT to be "just" a graph storage system, but a graph storage 
> system with many additional services (the MMT page lists many of these)
>
> Our big ones are:
> * the pattern matcher
> * the pattern miner
> * the rule engine
>
> Our smaller ones are:
> * a sparse matrix subsystem
> * a parsing (categorial grammar) subsystem 
>

I did Google search - and there are already extensive research about graph 
pattern mahtching and graph pattern mining and there are some open source 
projects and tools for matcher in miner and I have found even one open 
source project for rule engine that is implemented on top of graph 
database. I am currently investigating these projects and deeper and making 
decisions whether they are appropriate for me and whether they are mature 
enough.

I just wanted to say that maybe relying on (and contributing to) open 
source projects for general features/foundation have some advantages.

-- 
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/6c19299e-6c5e-419f-97b5-a7d7dcfd8420%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Graphs for the two representations of the knowledge and ideas about the third generation Cog system - MOC - MetaOmegaCog?

2017-09-30 Thread Alex
Hi!

I have heard that AtomSpace is big hypergraph and the names of the 
representation elements - nodes and links - suggest exactly that.

So - knowledge can be represented as nodes and links, i.e. as hypergraph - 
let call it the "Type1" labelled hypergraph - semantic graph.

But I guess that the same AtomSpace/OpenCog knowledge can be represented as 
mathematical formulas, e.g. as term logic formulas. Those formulas can have 
attributes that correspond to the probabilities but they are formulas 
anyway. Each formula is the word or sentence in some formal language and 
therefor it has syntactic graph representation as well. Let call it the 
"Type2" labelled hypergraph - syntactic graph.

The question is - what is the connection between Type1 (Semantic) and Type2 
(syntactic) graphs? I guess, there can be established semantic rules that 
allow on to construct Type1 graph from the Type2 graphs and back. What is 
the right type for the representation? I guess, Type2 graphs are more 
appropriate for the formal reasoning (e.g. sequent calculus).

I have this question because there is this formalism - MMT 
https://uniformal.github.io/ - Meta-Meta-Theory that tries to unify all the 
(in)formal knowledge in one foundation free framework. There are wealth of 
literature how Florian Rabe with his collaborators try to encode every big 
formalism (Axiomatic Set Theory, Constructive Type Theory (Coq culture), 
Higher Order Logic (Isabelle/HOL culture) in one modular language. So - 
result can be the formalism, that allow to express every formula of every 
formalism in one common language and - of course - that means, that every 
formula can have Type2 graph assigned to it! And that means that we can 
encode in one graph database all the possible formulas (all the possible 
non-multimedia knowledge). 

MMT is largely completed work, so - there remains the technical work only - 
one can take the best open source graph database (JanusGraphs is the best) 
and encode this knowledge and attain the most universal knowledge base 
possible, that is certainly more expressible than OpenCog (that currently 
uses (probabilistic) term logic).

One should add that each formula syntactic graph (Type2 graph) can have 
associated semantic graph representations (Type1 graphs) - there can be 
more semantic representations for the one syntactic one. Sadly, this 
relationship between syntactic-semantic graphs is very little researched 
field. There are, of course, research about semantic graphs themselves 
(every knowledge representation with graphs do this), but about connection 
between syntactic and semantic graphs there is only one work of which I am 
aware of: http://homepages.inf.ed.ac.uk/ldixon/papers/dixon-camcad-09.pdf - 
about logical graphs.

So - we can have knowledge system that have the best from the both worlds:
- The knowledge representation forma is taken from the MMT
- The knowledge representation techniqye is taken from JanusGraph - the 
best that the industry can provide.

That can be the future of knowledge representation systems. Sometimes I am 
very, very suscipicous about efforts of building custom knowledge bases. 
There are necessary so many resources to implement technicalities that I 
can not believe that custom knowledge base can compete with universal, 
industrial quality graph database. My guess is - if industrial graph 
databases had been around at the time of inception of cognitive 
architectures (Soar, Clarion, Cog, etc.) the all the cognitive architecture 
would be built around/using the industrial quality graph databases.

So - one graph database can host both types of graphs - both syntactic and 
semantic graphs and also this graph database can host reasoning and 
self-development procedures (which are programs, which can be represented 
as syntactic trees and saved in the same graph database as the remaining 
knowledge) for self-(re)evolution. So - big, big self-evolving system or 
hypergraphs that lives in the industrial grade graph database. Maybe this 
can be the start of AGI?

I call my system MOC - MetaOmegaCog (MetaOmega stands for meta-meta-meta...)

What are your thoughts about such plans?


-- 
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/c436ad44-7d70-4af2-a3b9-cae81d6d2788%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] OpenCog mysteries revealed - 'code-as-data' programs as universal knowledge base?

2017-09-19 Thread Alex
I am back to OpenCog from my travels to the land of proof assistants 
(mainly Coq and Isabelle/HOL, I decided to stick with Coq as it is far more 
better documented and lambda-Pi-omega calculus is the most extensive 
formalism for which one can hope, besides there are pretty extensive 
formalization efforts with applications). So - I can use proof assistants 
for implementation of any more or less formal reasoning process.

Now I am in great need for the knowledge repsesentation, knowledge base and 
OpenCog is very universal and promising project.

OpenCog uses Scheme as knowledge representation language (as I understand, 
then this is one from many options for interfacing with OpenCog). So - this 
is natural question - *how close are valid Scheme programms to the 
sentences of OpenCog knowledge? Are OpenCog knowledge encoding sentences 
the real Scheme programs or real fragments of the Scheme programs?* E.g. 
maybe Node definition is Scheme variable/instance declaration, maybe link 
definition is Scheme data structure declaration? 

There is homoiconicity in Scheme language - Scheme code is the data and 
Scheme data is the code. So - one can represent the data/declarative or 
procedural knowledge with the Scheme code.

If OpenCog sentences are more or less valid Scheme programs and if Scheme 
programs are data structures, then the following question arise - *how can 
we represent Scheme programs as data structures - can current production 
ready graph databases (Neo4j) be used for the storing the Scheme programs 
and for the querying Scheme programs and also - for executing Scheme 
programs?* If such represenation is possible then maybe it is possible to 
move OpenCog knowledge bases (as Scheme programs) to graph databases. I am 
suspicious about Neo4J, because it is commercial database, but Apache 
ArangoDB can be very good options, because it is open source and it known 
to be very scalable. I am a bit suspicous whether OpenCog infrastructure 
can compete with the commercial ready databases. And if Scheme programs can 
be represent in current database then we can keep OpenCog philosophy, 
knowledge base code, agent code and gain the scalability of graph 
databases...

If OpenCog knowledge base (AtomSpace) is the big Scheme program then we can 
consider also the self-modification of this program. And even more - Scheme 
language as functional programming language is connected to lambda calculus 
and lambda calculi are the prime formalism for the reasearch and 
implementation of the Goedel machine. So - *self modifying OpenCog 
atomspace (as Scheme program) can be the Goedel machine or at least the 
seed of Goedel machine or the seed of AGI?*

*So - are there thoughts and ideas floating around along the lines that I 
have described?*

-- 
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/1a6823b8-0479-4469-a2ac-47a36b1c2140%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Will there be AGI-17 Understanding Understanding (mini)proceedings?

2017-08-19 Thread Alex
Hi! Will there be AGI-17 Understanding Understanding (mini)proceedings? Or 
maybe there are videos or presentations somewhere?

I think that the measure of understanding can be the main criteria for the 
disambiguation in the formal semantics of natural language (in the case 
when one natural language sentence allows several parse trees in some 
formal grammar lai CCG or link grammar, there should be rational criteria 
to select the only one parse tree; we can measure the understanding of the 
each parse tree and select the parse tree with the highest understanding 
mease, which is the most understandable by the agent). the main criteria 
for seeking and incorporating new knowledge on agent's knowledge base. 
Resp. maximization of the understanding can be the universal criterion.

AGI-16 proceedings has nice papers about (almost numerical) fromalization 
of the undestanding criterion and I was very expecting this AGI 17 workshop 
for the further developments of the field. So - any proceeding would be 
very, very welcome.

AGI 17 proceedings are already out as LNCS 10414 volume, but here is 
universal desire for this volume to be more widely disseminated... :)

-- 
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/d34783b8-94de-439c-9e63-44064fb80411%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] OpenCog port for Rigetti Forest

2017-08-07 Thread Alex
Curious about prospects - pros and cons about port to Rigetti 
Forest http://www.rigetti.com/forest and ideas how to do this.

-- 
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/1cc50aa4-d0cc-421d-9b21-fb0819f0ac4a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Inference control problem and autonomous BDI agent as its solutions

2017-07-31 Thread Alex
Thanks a lot! 9 words and 3 points and whole new world opens!

-- 
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/e6b81887-703d-4346-9dde-9d5423c33dbe%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [opencog-dev] Chinese, English databases

2017-07-31 Thread Alex
Just for reference, there is down-to-earth, but very interesting and 
valuable article about generating CCG lexicon from Link Grammar 
lexicon https://hal.archives-ouvertes.fr/hal-00487053/document . So, now, 
as a fan of CCG, I will start to value efforts in link grammar area.

-- 
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/a4c083d0-4f31-4205-a95a-611d4b3aa333%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Inference control problem and autonomous BDI agent as its solutions

2017-07-31 Thread Alex
I have heard about Eva chatbot. So - the question is - are there some 
ongoing efforts to build BDI (Belief-Desires-Intentions and maybe + 
synthetic emtions) agent in OpenCog? There are MindAgents and several other 
agents but I guess that those "agents" are specialised maintenance threads 
that updates PLN probability, recency and importance values and those 
MindAgents are not BDI agents.

My domain problem is code generation from the norms and commonsense 
knoweldge. And I see that I need two approaches for solving this:
1)* inference control is the narrow approach* - which premises to select 
for inference, which proof startegy to choose (in terms of Coq or 
Isabelle/HOL proof assitants) and so on. Inference control is more or less 
about small step inference.
2) activity of BDI agent: I need to formulate goals of my code generation 
and I need to ignite agent process that inferes subgoals for my goals, and 
further that decomposes those subgoals in activities and that in turn 
executes activities, monitors how the subgoals and goals are achieved and 
takes appropriate corrective actions. Appartenly - this is* large step 
inference control*. As far as I understand the state of the art, then BDI 
agents (or autonomous agents in general) are the processes what exactly do 
such kind of work - selects goals, subgoals, activities and executes them.

So - it is crucial to have BDI agent. I have (very small, but growing, 
including automatically from the natural language texts) knowledge base in 
OpenCog but I need agent activities that make directed inference and 
creates desired artifacts.* So - are there implementation of BDI agents in 
OpenCog or maybe there are external BDI agents that can process the 
OpenCog.*

There are two interesting points additionaly:
1) as far as I have checked other cognitive architectures then my guess 
that building the agent is their primary goal, i.e. these platforms are 
made in the form of agents.
2) of course, there is ongoing debate - should be build seed of AGI (e.g. 
in the form of OpenCog BDI agent) or can we wait that OpenCog knowledge 
base grows so large, sophisticated and fine that BDI agent (and very 
capable one) emerges from it. So - there is no need for seed. This may 
partially explain the situation if there is no ready BDI agent in OpenCog.

*However - I feel that some agent there should be - how Eva chatbot can 
work if it is not agent? *

-- 
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/5e6e0c68-ed83-4494-96e6-a1c6c1659294%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Problems with opencog build - very low priority beginner question

2017-07-11 Thread Alex
I had failed tests too, but I neglected them and I proceed with cogserver, 
guile and first Rule Engine runs. I hope that sooner or later I will be 
able to proceed with Ming Agent - i.e. use OpenCog as autonomous 
intellectual agent. Because only agen architectures - BDI - have goals and 
hierarchy of goals and tasks and only in such manner I can start 
goal-oriented automatic reasoning. There is inference control (PLN book has 
chapter about this), but inference control is almost non-existent theme in 
current literature. Such endeavours are gathered under notion of BDI agent 
and goal-oriented reasoning and activities of agents.

-- 
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/474f8d8e-8bc6-4ed4-9a05-d398b065c1af%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Chinese, English databases

2017-07-09 Thread Alex
Probably offtopic - while I am reading about OpenCog community efforts in 
NLP, I am quite suspicious about statistical methods. I think that the only 
meaningful approach to the NLP ir the combinatory categorial grammars 
(Lambek calculus, Montague semantics) and this effort tries to translate 
natural language sentences into logical expressions - lambda calculus 
expressions. So - if there is connection between Schema as a language of 
lambda calculus, then CCGs are the way of translating NL sentences directly 
into Scheme structures. Besides CCGs approach uses white box approach and 
understanding for the semantics of natural language, these semantical 
knowledge can also be encoded as the Scheme/OpenCog structures and can be 
learned of enhanced by time.

Of course, raw statistical approach in the end can give the same results, 
but structured approach can be more feasible. Besides - statistical 
approach yields results that are worth all or nothing. But CCG approach 
yields results that are improving step by step and such improving 
understanding reflects the human approach to the world and language - 
humans progresively learns language, its syntax and semantics. I we have 
the slightest doubts about existence of the perfect understanding of the 
language then we should also must have doubts about efficiency of the 
statistical approach.

-- 
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/393b88c8-aadd-456c-bd84-eaac92b55fd8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Problems with opencog build - very low priority beginner question

2017-07-07 Thread Alex
Fortunately I have local copy of this script. I like to execute these 
commands one by one and provide immediate reaction is something goes wrong.

The Script:

#!/bin/bash

# Assuming Ubuntu 16.04 LTS

# https://github.com/opencog/cogutils

# OpenCog Utils (cogutils), Atomspace and OpenCog Server

# v0.1- R. Hornbeck

echo "Updating Ubuntu packages..."

sudo apt-get -y update && apt-get upgrade

echo "Installing OpenCog depencencies..."

sudo apt-get -y install libboost-all-dev cmake cxxtest binutils-dev 
libiberty-dev doxygen git guile-2.0-dev cython postgresql postgresql-client 
unixodbc-dev libzmq3-dev libprotobuf-dev libsdl-gfx1.2-dev libsdl1.2-dev 
libzmq3-dev libtbb-dev libgeos-*

echo "Cloning and building CogUtils..."

cd /opt/ && git clone https://github.com/opencog/cogutils.git

cd cogutils && mkdir build && cd build && cmake .. && make && make test

echo "CogUtils build test successful..."

sudo make install

echo "OpenCog build and install successful."

echo "Cloning and building Atomspace..."

cd /opt/ && git clone https://github.com/opencog/atomspace.git

cd atomspace && mkdir build && cd build && cmake .. && make && make test

echo "Atomspace build test successful..."

sudo make install

echo "Atomspace build and install successful."

echo "Cloning and building MOSES..."

cd /opt/ && git clone https://github.com/opencog/moses.git

cd moses && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release .. 
&& make && make test

echo "MOSES build test successful..."

sudo make install 

echo "MOSES build and install successful."

echo "Cloning and building OpenCog..."

cd /opt/ && git clone https://github.com/opencog/opencog.git

cd opencog && mkdir build && cd build && cmake .. && make && make test

echo "OpenCog built test successful..."

sudo make install

echo "OpenCog successfully built."

-- 
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/3792ecab-0f70-4c4c-9db1-1e6a7e65e8fd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Problems with opencog build - very low priority beginner question

2017-07-07 Thread Alex
I wanted to suggest opencog_bash.sh script for Joseph Horner for step by 
step building and installing OpenCog software on Linux (link mentioned in 
above posts), unfortunately, the relevant Github repositories are gone. So 
sad and depserately. It was very good script, I felt like controlling 
process. If someone case copy of this script it would be nice to get it. 
Chances are that I will need to rebuild OpenCog in future and this was very 
handy script.

-- 
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/697912d0-f3d9-4daf-b192-039469847a53%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Making Atomese scripting easier

2017-05-15 Thread Alex
Syntax is not problem, there are editors and tools for Scheme. And I am 
thinking about encoding syntax tree in Scheme and then translating this 
tree into Java or Typscript, I am also investigating connecting 
Isabelle/HOL from the Scheme/Guile environment and then there are ideas 
about lingua franca for cognitive architectures. All these domains can 
benefit from the existing tools and practices of the Scheme. Scheme is 
serious and very well-thought language, 

Semantics maybe need more explanation, examples, philosophy, logical 
certainty, history and references to the works from which the inspiration 
came from...

Just humble opinion...

-- 
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/79b69ba6-4fda-4a80-a754-5cc9bc366ea9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: automated code generation

2017-05-10 Thread Alex
Well - here was mentioned idea that Atomspace/Atomese can be perceived like 
logical framework, like meta-logic in which every other kind of logic can 
be encoded. Well - logic is deductive reasoning and deductive reasoning is 
only one type of reasoning besides inductive, abductive and analogical 
reasoning. So - maybe not just meta-logic but even more - meta-reasoning 
system...

But I was taken aback by the fact, that PLN (and NARS) currently is based 
on Aristotelian term logic (just monadic fragment of the first order 
predicate logic), as I understand. I believe that PLN can be extended to 
full predicate logic or even to more general logics, but for my present 
endeavours I have decided to use Atomspace and Atomspace Scheme for the 
encoding of the entire knowledge base (facts, rules) but for the specific 
reasoning tasks I will try to call external reasoning system.

For example, legal reasoning (of which I am fan) consists from the 
commonsense reasoning which can be done in Atomspace but also it consists - 
in special cases - from formal inference that should be done in specific 
logics (e.g. deontic defeasible logics). In this formal case I will 
formulate this subtask in the terms of Atomspace and I will try to forward 
this subtask to the external reasoning engine and this engine will do 
reasoning and it will give results to Atomspace and I will be able to 
continue my inference in Atomspace with some strongly and provably deduced 
facts. *How this sounds? Is it possible to call external functions from the 
Atomspace? E.g. can Atomspace BindLink call external program in its rule 
head?*

For the external reasoning system I have choosen Coq proof asistant (which 
I am currently learning) which is capable of acting as meta-logic framework 
and in which it is possible to encode wealth of logics 
(e.g. http://www.cs.nuim.ie/~jpower/Research/LinearLogic/ Working with 
linear logic in Coq). Well - there are lot of meta-logic systems - 
including MMT project 
(Latin) https://kwarc.info/people/frabe/Research/rabe_habil_14.pdf and also 
other proof assistants but there are so much good references about Coq that 
I am sticking to it. 

There is long way to go before Atomspace can be used as strong meta-logic 
framework - provable and formal syntax and semantics should be defined for 
the Atomspace parts (maybe subset of Atomese atom and link types) that will 
be used in formal/rigorous reasoning engine. E.g. Atomspace should contain 
some atoms and links that can act as CIC (Calculus of Inductive 
Constructions) language in Coq in which wealth of other logics and 
programming languages can be encoded. I believe that such formalization of 
subspace of Atomspace can be done, but for achieving results here and now I 
am currently going with the combination of Atomspace and Coq.

-- 
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/081e154d-b58a-4235-82ae-eea6efe0a13f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: automated code generation

2017-05-09 Thread Alex
Ivan, 

is this new idea what are your writing about  ""intensional" representation 
of deduction/abduction tree"? Do you have any literature or references 
regarding this idea? I could be greate if You can share the sources of your 
idea.

Automatic programming is quite old field that has ceased to be develope in 
nineties and after them there has been only development of templates. I am 
not aware about big theories or sophisticated technologies behind model 
driven development.

Code generation is one of my goals but I have not implemented it yet. I 
plan to do this in very crude way: I will have inference process whose 
result will be abstract syntax tree (of some industrial programming 
languages like Java, Typescript and HTML) as a Scheme code and then I will 
generate actual code (Java, Typescript, HTML) from this syntax tree. 
Functional programming languages have no distinction between data and code 
(at least I have heard about such thesis in Scheme book) - meaning - Scheme 
data structures can be perceived as executable programs and that is why 
generation of Scheme data structures can be the same as generation of 
executable code (Javascript has some similar features) but I am not 
pursuing this path because I want object-oriented code - the generated code 
should be of industrial quality.

There is work in implementation of Goedel machine (self-improving software) 
and as far as I have read about it, they are using lambda calculus.

In AGI books (engineering AGI) there are chapters about evolutionary code 
generation but the generated code is the result of genetic programming 
process in that case. Genetic programming is quite relaxed and heuritic 
method, I would prefere more rigorous automatic programming methods - code 
should be generated in the inference process from the specifciation and 
specification should be autoatically generated from the normas, best 
practices, interaction with the customer. Of course, in this inference 
process we can use adaptable, probabilistic, non-classical logics, but 
nevertheless - logics should be used. Evolutionary search can not give 
guarantees that inference process can give.

-- 
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/2d3ac0f2-0d30-4d7f-9fce-25afc7be392f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Should we encode the basic cognitive procedures (initial version at least) or they will spring out automatically?

2017-05-07 Thread Alex
In the depths of the Web I have found such notions as "seed AI" and 
"bootstraping self-improving AI" 
- http://www.sciencedirect.com/science/article/pii/S1877050914015403 this 
is exactly the same idea what I am trying to pursue, but - contrary to 
others - I am trying to do this with OpenCog.

BTW, there is great BICA society and Elsevier issues quite prominent 
(indexed) journal Biologically Inspired Cognitive Architectures. I was not 
aware of this activity and now I am happy to this in action.

-- 
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/2c12c110-f040-4298-8ac5-2a2f841b8e62%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Should we encode the basic cognitive procedures (initial version at least) or they will spring out automatically?

2017-05-05 Thread Alex
Well - my endeavours are somehow marginal, because machine learning today 
is almost nothing more than applied statistics - it evaluates the 
parameters of the statistical models. By I am trying other kind of machine 
learning - symbolic, logical machine learning that learns symbolic 
knowledge. *Actually at present I don't know any good reference, resource 
about symbolic machine learning - so - if anyone can provide it, mention 
it, then I would be really happy. *

The other field that lacks development, is what I can call "*structural 
optimization*". E.g. one can imaginge complex business process/queue model 
that have service times, waiting times, availability ratios and so on. One 
can numerically optimize this model. But - we can imagine the structural 
transformation of this model in completely different business process. So - 
how to select the best model from the different structures - now just 
simlate those models and choose the best structure, but to do guided search 
(like gradient search in numerical optimization) towards the best 
structure/structural model? So - *if there are references in this field, 
then I would be more than happy to hear about them as well!*

-- 
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/4259343f-87c1-486d-81a1-5f8b24ae3263%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Should we encode the basic cognitive procedures (initial version at least) or they will spring out automatically?

2017-05-05 Thread Alex
I just wanted to say that there are open questions both in the domain 
knowledge level (e.g. in math) and in the self-learning methodology (meta-) 
level. Humanity is solving those questions in step-by-step manner and AGI 
agents can join in this process as well. But those AGI agents should have 
some basic knowledge and some basic learning skills which they can improve 
during the interaction and existence process.

-- 
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/77b0222b-73ee-45bb-a7da-36ce52310d85%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Should we encode the basic cognitive procedures (initial version at least) or they will spring out automatically?

2017-05-05 Thread Alex
No, my goal is to build AGI for the benefit of humanity and it is not 
chatbot for entertainment. Apparently, there will be different 
characters/personalities, e.g.:
- teacher that explores the pupils current knowledge, beliefs, reasoning 
styles, personality, motivational system and that provides exactly targeted 
information and explanations. Math teacher (from school to graduate level) 
can be good example.
- Math scientist that discovers, explains, publishes and implements new 
optimization algorithms
- legal QA system
- IT development system that can reengineer legacy code, recover 
specification from the the code, explore and explain code
and so on, so on

In each case the AGI agent should explore that she knows and what she does 
not know and then she should decide what knowledge is necessary and then 
gather those knowledge. She - the agent - should estimate each fact, piece 
of knowledge, how deep she understands this piece and if she does not 
understand then she should go out for further knowledge - she can read 
books, she can automatically post in forums and wait for replies, she can 
seek conversations with different agents of human beings. So - she starts 
with the minimum knowledge and basic understanding, self-learning 
capabilities and the she gets more knowledge, she deepns the notions "what 
is understanging", "how should I learn", "what are my emotions and 
motivations", "what are emotions and motivations of my students" and so on.

So - the essence of my question was this - should we encode these basic 
capabilities or can be just automatically translate all the wikipedia (or 
largers corpus) into Atomspace and wait till those basic skills - 
understanding, self-learning - emerge? My guess is that we should provide 
basic skills and ignite self-learning process. Actually - that is exactly 
how humanity develops. There is no corpus in the world that fully explains 
what understanging is, how to solve the problems of epistemology, what 
types of emotions humans have and so on. There is no such corpus and I 
guess there will never be full answers. So - we should replicate the path 
of humanity that approachs those questions in step-by-step manner and 
sometimes are content with the partial answers that can or may not converge 
to something that can be called truth.

So, I am trying this encoding, but everythins is so slow for me.

-- 
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/cbe42e21-7f16-4073-981b-cfc75a644a17%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [opencog-dev] Pros and cons

2017-04-29 Thread Alex
Pretty basic questions. Modal logics serve to formalize such notions as 
'agent knows that...', 'agent believes that...'. So the question is about 
representation of modalities in the Atomspace and this question has been 
already discussed here (result is that special predicates can be used for 
expression of modal statements). Regarding the content of the knowledge 
(everyting that sits under the modal operators) - this content can be more 
or less any logic - propositional logic, predicate logic, modal logic (then 
we have nested and mixed modalities), action logic and so on - universal 
logic (there are good Springer journal of book series Logica Universalis).

And there is other question - what agent can do with her knowledge, how 
agent knows that she knows something and whether her knowledge is 
sufficient or should she need to create goal "go out and seek for more 
knowledge". Such perspective leads use to the question "what is 
understanding", "what are tests for understanding", "how we can measure 
understanding", "what is meaning". Those questions are more or less 
answered in https://link.springer.com/chapter/10.1007%2F978-3-319-41649-6_11

BTW - there are Artificial General Intelligence conference series (LNCS) 
and de Gryter Journal of Artificial General Intelligence.

-- 
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/e6a3907f-1424-4acc-a739-3d5ddcd5f19a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Best texbook (most relevant to Opencog Node and Link Types) in Knowledge representation

2017-04-21 Thread Alex
I didn't read this discussion in its entirety, but just wanted to suggest 
nice 
article https://link.springer.com/chapter/10.1007%2F978-3-319-41649-6_11 - 
in which the pragmatic definition of understanding and meaning is given. 
The process understands phenomenon F if this process can 1) explain F; 2) 
predict F; 3) produce plans regarding F; 4) recreate F. The phenomenon F 
has meaning for some process if F is somehow related with the goals which 
process try to achieve. This is good starting point for measuring 
understanding and creating processes that maximizes understanding.

So - my 
approach https://groups.google.com/forum/#!topic/opencog/z_Uy5NYwjt4 is to 
create initial process with implemented understanding and learning 
capabilities and let this process to self-improve itself. So - this is step 
by step approach with human invovlement. Not so fancy approach as waiting 
for the full intelligence emerging from the large corpora, but, I guess, 
still good alternative path to AGI.

-- 
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/c851e465-4846-4b00-9456-d19a1b95cb1d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Best texbook (most relevant to Opencog Node and Link Types) in Knowledge representation

2017-04-18 Thread Alex
Maybe we can solve the problem about modelling classes (and using OO and 
UML notions for knowledge representation) with the following (pseudo)code

- We can define ConceptNode "Object", that consists from the set or 
properties and functions

- We can require that any class e.g. Invoice is the inherited from the 
Object:
  IntensionalInheritanceLink
Invoice
Object

- We can require that any more specifica class, e.g. VATInvoice is the 
inherited from the more general class:
  IntensionalInheritanceLink
VATInvoice
Invoice

- We can require that any instance is inherited from the concrete class:
  ExtensionalInheritanceLinks
invoice_no_2314
VATInvoice

But I don't know yet what can and what can not be the parent for 
extensional and intensional inheritance. Can an entity be extensionally 
inherited from the more complex object or it can be extensionally inherited 
from empty set-placeholder only. When we introduce notion of set, then the 
futher question always arise - does OpenCog make distinction between sets 
and proper classes?

There is second problem as well - there is only one - mixed 
InheritanceLink. One can use SubsetLink for the extensional inheritance 
(still it feels strange), but there is certainly necessary syntactic sugar 
for intensional inheritance, because it is hard to write and read 
SubsetLink of property sets again and again 
(http://wiki.opencog.org/w/InheritanceLink).

-- 
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/a6d0102e-9ca1-4204-8dd4-75a9fb2ec06b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Best texbook (most relevant to Opencog Node and Link Types) in Knowledge representation

2017-04-17 Thread Alex
Thanks for the clarification and suggestions!

I had to search book as a set of articles and then it is here!

Is it hard/possible to extend PLN from term logic to the full predicate 
logic? As far as I understand, then I should rewrite only formulas for the 
truth value vectors/matrices?

-- 
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/ebfe5706-213c-4e88-91f6-69b42449cfa4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Best texbook (most relevant to Opencog Node and Link Types) in Knowledge representation

2017-04-16 Thread Alex
Well, the mentioned book has chapter about inheritance, but it is in no way 
connected with the terms of intensional and extensional inheritance. So, 
this book is not usable.

Now I am looking Non-Axiomatic Logic: A Model Of Intelligent Reasoning by 
P. Wang and it should be fairly good book, because OpenCog uses term logic 
and the idea about possible use of term logic (more than 2000 years after 
Aristotle) in present times comes from P. Wang (as described in PLN book), 
but I have no access to this book, so.

It could be nice to know where such notions about extensional and 
intensional inheritance comes from. OpenCog wiki says that intensional 
inheritance (class inheritance) can be understood as subset relationship 
but from my programming experience I can say that this is wrong perception. 
Subset relationship is subset relationship but class is something more: 
class has class functions, class as a concept exists even without members 
of this class, class has factory methods/constructors/destuctors - means of 
creating new instances and so on. Class (in some lanuages) can have 
multiple inheritance. So, I am still afraid of adopting OpenCog notions.

To be honest, I am a bit afraid to include in my thesis project that uses 
term logic - it is just fragment of monadic predicate logic and it was 
decided some 150 years ago that more extensive logics (full predicate 
logic) are necessary for more expressivity...

-- 
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/d5114d44-aff0-42d5-b53e-d0d01870b628%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Best texbook (most relevant to Opencog Node and Link Types) in Knowledge representation

2017-04-14 Thread Alex
Hi!

What is the best texbook (most relevant to Opencog Node and Link Types) in 
Knowledge representation? I am aware about books about PLN and egineering 
AGI (and I am reading them and they are relevant to probabilisti reasoning 
side of knowledge represenatation), but I feel that e.g. concepts of 
inheritance (extensional and intensional) as adopted by OpenCog Atomsapce 
is coming from earlier work - so from what work? I would like to see this 
work, to include it into broader context. I have adapted to UML, ER, OO 
design and I am still struggling to model knowledge using OpenCog nodes and 
links. That is why I am seeking more books to dive into this line of 
thinkin.

I am reading now:
Knowledge Representation and Reasoning (The Morgan Kaufmann Series in 
Artificial Intelligence) 
17
 
Jun 2004
by Ronald Brachman and Hector Levesque Dr.

-- 
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/2fb4cdd5-067a-448b-b72e-5afbc1618729%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Calling forward/backward chainer

2017-04-09 Thread Alex
OK, I followed with updated tutorial 
https://github.com/opencog/atomspace/tree/master/examples/rule-engine/chaining 
and I managed to run my first cog-fc with the normal result. I would like 
to raise two points:

1) tutorial says that cog-fc has 4 arguments, but my version of opencog (as 
or start of 2017) of cog-fc still has 3 arguments: source/rule base/focus 
set. There is no variable-declaration argument. Just wanted to note for 
those who use this thread for troubleshooting cog-fc.

2) *I wonder about necessity of source as an argument, why we need this? 
*Business 
Rule engines (like JBoss Drools) use entire Atomspace working memory as 
domain for reasoning - somehow first rule is selected and matched with 
facts and first inference is made and so this process continues? Focus set 
can be emtpy Set and then the entire Atomspace becomes the focus set. Maybe 
we can do this with source as well - maybe empty source will designed 
entire Atomspace as a source?

-- 
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/7c03321c-8e84-408e-bfc6-24b4a72f016b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [opencog-dev] Calling forward/backward chainer

2017-04-02 Thread Alex
I am also trying to run 
this 
https://github.com/opencog/atomspace/tree/master/examples/rule-engine/chaining 
example and I enter SCM commands one by one and I am also stopped at lines 
DefineLink

(define rule1-name (Node "rule1")
*(DefineLink rule1-name rule1)*

DefineLinke requires as the first argument not the BindLink/rule node and 
it requires Defined(Schema/Predicate/Type) Node. So - at present I don't 
understant how to proceed. As far as I understandt then these two lines 
prepare the BindLink for the addition to the rule base, but why should we 
use DefineLink? I guess these are some idiomatic lines with no clear 
prupose but Rule Engine requires them... 

-- 
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/604300d3-214b-4948-b2b7-c86b2cdbdc1f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Should we encode the basic cognitive procedures (initial version at least) or they will spring out automatically?

2017-04-01 Thread Alex
Actually would be happy to make this as my contribution (with the guidance 
from the community).

-- 
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/af11f03e-53a9-41a1-a473-298f6bc7c947%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Should we encode the basic cognitive procedures (initial version at least) or they will spring out automatically?

2017-04-01 Thread Alex
Hi!

Should we encode the basic cognitive procedures:
- *check the understanding of concepts *(that can be done by the following 
activies - prediction concept, explaining concept, predicting goals 
regarding concept, recreating concept - as defined by Steunebring in AGI 
2016)
- *determine the unknown knowlege and issue queries (automatic scientici 
and artistic discovery) for gathering those knowledge from the environment*
- *consciousness* (ability to understand itself and world, ability to 
formulate, estimate and change goals, subgoals and ability to define and 
execute plans towards achieving those goals.
- *ability to experience emotions* (20 types of them, according to the 
personality as defined in Big Five factor model).

So - the question is - should we encode (e.g. as Atomspace rules) those 
basic cognitive procedures in OpenCog agent (AtomsSpace+MindAgents) or can 
we idly wait that such procedures automaticlly will emerge from the soup of 
atoms (nodes and links) when the atomspace will have just enough 
information (be it junk or something more structured)?

My dream would be to create some small agent with these basic procedurs and 
let this agent to learn and develop autonomouse? Can this be possible?

Of course - I mean only encoding the initial rules. Agent itself should be 
able to fine-tune or even redefine the meaning and actual content of 
"understaning", "consciousness", because even human being is just 
apporaching those notions via philosophy, arts, cognitive sciences, 
neuroscience. But the question still remain - should we encode at least the 
intial version of those cognitive procedures?

I have heard about Eva chatbot and other Hanson characters - maybe those 
characters as OpenCog agents already have encoded such general cognitive 
procedures?

-- 
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/6998ddfb-7dbd-41e6-96fa-81d0f60cb95b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: DBpedia runs a NLP competition called textext

2017-03-23 Thread Alex
Those epithets I devoted to https://www.general-ai-challenge.org

I think that there is pressing need to test in practice all the ideas and 
systems that have been developed so far. Every competition is welcome.

-- 
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/a95795af-f395-480d-8bd2-b1b2e2a24cf0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] How can we express modalities in atomspace and define meta-rules for modalities

2017-03-14 Thread Alex
Hi!

There can be modalities (usually spelled as diamonds or boxes in modal 
logics):
DUTY_TO_PERFORM_ACTION(agent, action, time horizon) - agent should perform 
action in time horizon
BELIEF(agent, fact, time instant) - agent believes in fact at time instant

Such modalities are necessary to model robotic rules (e.g. AGI safety 
question) or express how one agent understands another agent beliefs and 
hers reasoning type (i.e. knowledge that is strongly required for 
communication).

There are two questions about use of modalities in atomspace:
*1) how to express modalities in Scheme?* Maybe one can introduce new links 
for each type fo modality, but my guess is that we can simply remain at the 
PredicateNode level - there can be predicate that expresses the existence 
of the modality among instances of agent, action and time moment:
   PredicateNode "exists_belief"
  ConceptNode "Erving"
  ConceptNode "Money is good"
I guess - it can work.* But my question is - an be use any other Node (like 
ConceptNode, like Instance of some concept, result of SatisfyingSetLink and 
so on) instead of the literal constant "exists_belief"?* Use of other Nodes 
in the PredicateNode would allow great flexibility in modelling expanding 
set of modalities!

*2) how we can introduce new meta-rules with each new modality.* 
https://en.wikipedia.org/wiki/Modal_logic 
has list of modal logic axioms that expresses how modalities behaves in 
inference process. Such axioms/meta-rules are quite debatable but 
nonetheless they should be used in some case. Some popular example is 
IS_DUTY(agent, action)->IS_PERMISSIBLE(agent, action). *The question is - 
how can be express such meta-rules in OpenCog?* If we model modality as the 
predicate then there should be some patterns which expects certain type of 
predicates in its body and creates certain new predicates in its action:
  
 
pattern/rule_body(predicates_with_belief_modality_expression)->conclusion/rule_hear(predicate_with_some_other_modality)

Of course, I am thinking and experimenting with this, but - maybe others 
have had similar thoughts or experiences in such direction, so - it could 
be nice to hear them.

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+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/a67ba437-0674-4370-b2a3-fdccb1a85db7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] How can we express modalities in OpenCog?

2017-03-14 Thread Alex
Hi!

There can be modalities (which are usually expressed as diamonds or boxes 
(operators) in modal logic):
DUTY_TO_PERFORM_ACTION(agent, action, time horizone) - agent should perform 
action within time horizon
BELIEF(agent, statement, time instant) - agent believes in statement at the 
time instant

Such modalities are important in robotics (e.g. AGI safety - what duties 
and permissions robots have) and in communication (modelling other agent 
believes, knowledge and reasoning styles).

Important point is, that by introducing modalities we also introduce 
additional axioms/meta-rules that connect modal statements (statements 
under modal operator) with the nonmodal statements and with the statements 
of other modalities (modal conversion). Example list of such metarules are 
available in https://en.wikipedia.org/wiki/Modal_logic. Such metarules 
sometimes are debatable, e.g. rule in deontic logic: 
DUTY_TO_PERORM_ACTION(agent, action)->PERMISSION_TO_PERFORM_ACTION(agent, 
action) and such metarules sometimes lead to paradoxes (classical deontic 
logic is full of them), nevertheless, such metarules expresses additional 
knowledge about reality. And such metarules can be mined and used for 
constraining inference process (inference control)!

I have two questions regarding expression of modalities in OpenCog?:
*1) how we can express modalities in Scheme/atomspace?* 
-- *One solution is to introduce new link types*. Is such introduction 
possible? Maybe OpenCog have GenericLink for which the user form derivation 
and for the derivation the user can define syntax (how many Nodes and of 
what Type are allowed in the new Link) and semantics (what processes are 
done, what is output and strenght values of the output)? I have not heard 
about such option;
--* Another solution is to use PredicateNode*, e.g. belief can be expressed:
   PredicateNode "agent_believe"
  ConceptNode "Erving"
  ConceptNode "Door is open"
The *question is - can be use other Node, Link, result of SatisfyingSetLink 
etc. in place of the literal "agent_believes"?* Or we are bounded for using 
literal constants in the PredicateNode? If former is true, then the system 
is open for the arbitrary set of modalities and the system can generate new 
modalities!

*2) how we can express metarules for modalities in OpenCog*?:
My proposal is to use rules that accepts some patterns of predicates and 
that generates new predicates:
  
 
rule_body(obligation_predicate_type_nodes)->rule_head(new_permission_predicate_type_nodes)
Again - the question is about flexibility of the system: is the system 
allows generation of new link types or new predicate then the system can 
mine/generate the relevant rules for the newly generate modalities!

Of course, I am studying literature, experimenting, thinking about this, 
but maybe someone also has thought about those questions and has already 
something done - it would be nice to hear thoughts, proposals and 
experience!

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+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/f70e8da1-1147-41e9-8aa6-c2acbab14ce6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] NLP - moving to Word grammar (are there tools?), understanding language, universal reference knowledge base

2017-03-11 Thread Alex
Hi!

Some questions;
* In http://wiki.opencog.org/w/OpenCogPrime:NLP it is said that there are 
plans for moving from Link Grammar to Word Grammar. It can be right move 
(from binary dependencies to networked structures), but is it possible? I 
can not find any Word Grammar tools (there are lot of Link Grammar tools 
that OpenCog already employes), are there any Word Grammar tools for 
integration in OpenCog? What about other grammars - e.g. (combinatory) 
categorical? The best grammar should be selected for the further efforts. 
Are there some recent works on Grammars? All the books and articles that 
wikipedia mentions in its pages about Grammars, are some 10 years old.

* How we can express understanding in OpenCog? Every learning, 
self-modifying system should be able to estimate the fitness of new pieces 
of knowledge base (that is generated for the modification of the existing 
system's knowledge base) with the aim - how well the new pieces of the 
knowledge base extends the system's understanding about itself and about 
environment, world. I am aware about the AGI 2016 article about 
understanding, but maybe there are some other ideas.

* Do AGI systems need universal reference knowledge base (KB)? Humans have 
such KBs - wikipedia, encyclopedia, canons, universal practices, ideas 
about what is good and bad. Maybe we can define understanding as a linke to 
the notions in universal reference KB. Is notion is in KB and if notion is 
expressed in the terms of other notions in KB, then this notion can be 
considered as clearly understood and this notion can be used in the 
definition in new notions? 

-- 
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/0246ab1d-e972-46ff-afaa-fe633ed9d4cc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: ConceptNode - possibly unbound variable or unbound variable - how to declare class/concept?

2017-03-08 Thread Alex
Now it is better. It appears that I constanty entered line (define-module 
CiteauxLegal) and this somehow made guile to forget about previously loaded 
modules. OK, I will continute my trial and error process... 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+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/216551a8-e0aa-450a-93ea-64c4ee7cf721%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] ConceptNode - possibly unbound variable or unbound variable - how to declare class/concept?

2017-03-08 Thread Alex
Hi again!

I want to write my first rule and as far as I know I should start with 
declaring classes (Nodes). I want to declare class/concept Invoice. So - I 
try to write in guile (after loading of the usual OpenCog modules):
(ConceptNode "Invoice")
But this gives error warning "possibly unbound variable 'ConceptNode'" and 
error message 'Unbound variable: ConceptNode'

I receive similar warning and error when I enter the following in the guile 
shell:
(define InvoiceClass (ConceptNode "Invoice"))

So - what is wrong with my understanding about ConceptNode, about classes 
and concepts. My intuition is that I should first declare concepts before 
using them in BindLink or other rules. How can I define knowledge in 
OpenCog?

-- 
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/92956591-7484-4d2a-a2db-02263f7ece5e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Simple steps to create atomspace (scm file?) and run rule engine on it and read the resulting hypergraph (list of nodes and links)

2017-03-07 Thread Alex
I am aware of the 
tutorial http://wiki.opencog.org/w/URE_Configuration_Format I have not 
tried yet to enter the example in my scm shell but I guess, I will succeed 
in entering commands one by one.

My problems are:
1) I don't want to enter repeatedly my full atomspace manually. I want to 
save my atomspace in file and load this file into scm (or wherever it is 
appropriate).
2) How can I list/read the final Atomspace - that I can get after running 
forward chaining - are there some commands how can I write it into file, 
e.g. for the possible load in the next iteration in the role of initial 
Atomspace?

What are common scenarious of rule engine usage? Is there available some 
Hello World tutorial for this?

-- 
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/9804fe78-dad9-4da7-8c3c-98055037ad07%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Simple steps to create atomspace (scm file?) and run rule engine on it and read the resulting hypergraph (list of nodes and links)

2017-03-07 Thread Alex
I have compiled OpenCog, I can start cogserver, I can connect to the server 
with telnet and I can start scm (guilde shell) from the terminal, I can 
execute initial load of modules (opencog, opencogquery, etc), I can issue 
simple commands like creating Nodes and Links in the scm shell.
I am closely following:
http://wiki.opencog.org/w/Getting_Started_with_Atoms_and_the_Scheme_Shell

But now I would like to got further:
1) I would like to write my Atomspace (initial list of nodes and links) in 
the file (I guess it should be scm file). The question is - how can I load 
this file into scm (or should I load it in somwhere else?). As I described 
in https://groups.google.com/forum/#!topic/opencog/4jXqxM1k07c I did not 
manage to load my file in scm, there were error messages in scm and the 
warning in cogserver trace
2) I would like to run rule engine on my Atomspace to arrivet at the final 
(rewritten AtomSpace). What commands and in which shells should I use to do 
this run? This should be pretty basic and common tasks in the OpenCog 
usage: provide input AtomSpace, run RuleEngine and arrive at the final 
AtomSpace. Like some kind of business rules engine (e.g. like Droos 
https://docs.jboss.org/drools/release/6.5.0.Final/drools-docs/html_single/index.html
 
where such activity is known as knowledge session, I have managed and where 
atomspace is called a working memory).

But I am stuck in these basic things - how to load file in scm, how to 
start forward chaining reasoning and how to write back the resulting 
Atomspace in file for further processing. I would like to use Scheme, not 
C++ or Python API/bindings.

-- 
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/f1268763-c3e6-4d61-a63b-41434d35d7a6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: OpenCog on Tizen?

2017-03-06 Thread Alex
I 
used https://github.com/ryanhornbeck/opencog_bash/blob/master/opencog_bash.sh 
for step by step building. It is for Ubuntu, but if all steps are available 
and clear and it is easier to adapt them to other OS. Some tests failed.

-- 
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/4f3e6f4a-d522-45ca-b162-8efdbd3bf770%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Error while loading first scm file

2017-03-06 Thread Alex
use-modules is used for loading OpenCog scm files/modules and it would be 
nice that I can create modules to. I can succesfully load scm file with the 
only instruction:
(define-module (CiteauxLegal))

But if I update this file and execute use-module repeatedly, then nothing 
happens. Is there command for unloading module or for reloading module in 
such way that it is recompiled? Such command is very desirable because it 
is quite expensive to start new guile session again after each modification 
of the single scm file.

-- 
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/ae79db10-cdb6-482e-a4a7-5f5059637fbf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: DBpedia runs a NLP competition called textext

2017-03-06 Thread Alex
I have heard about this challenge, but it distributes funds and is intended 
for novel short programs and, as I understand, not for almost complete 
systems:

https://www.general-ai-challenge.org/

>
>

-- 
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/12c7ab76-2631-4672-a3a8-40c7dd299eb6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] How to express that object A is instance of the class ClassA?

2017-03-05 Thread Alex
Hi!

As far as I can understand then ConceptNode is used for the defintion of 
the concept/class? How can I express that some Node is the instance of this 
class? I guess that notion of instance is different from the set memebrship?

My understanding is that Atomspace is very flexible regarding 
instance/class relationship - i.e. some concept of class can be instance of 
the higher order class (like there object, class, meta-class in Model 
Driven Development).

-- 
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/888e7386-bc6e-43b2-a54c-cf01dee95721%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Error while loading first scm file

2017-03-05 Thread Alex
Hi!

*I am trying to create my first Atomspace and therefore I have created scm 
file with the content (I want to express that there exists two classes - 
Invoice and Good):*
(define InvoiceClass (ConceptNode "Invoice"))
(define GoodClass (ConceptNode "Good"))
!(cog-new-node ConceptNode "test1")

*I have loaded succesfully this script in guile:*
(use-modules (ice-9 readline)) (activate-readline)
(add-to-load-path "/usr/local/share/opencog/scm")
(add-to-load-path ".")
(use-modules (opencog))
(use-modules (opencog query))
(use-modules (opencog exec))
(use-modules (opencog atom-types))
(use-modules (opencog rule-engine))
(use-modules (opencog cogserver))
(add-to-load-path "/home/osboxes/Desktop/CiteauxSuite")

*But I am receiving error message when I am trying to load CitauxLegal.scm 
file:*
*guile> (use-modules (CiteauxLegal))*
Backtrace:
In unknown file:
   ?: 19 [call-with-input-string "(use-modules (CiteauxLegal))\n" ...]
In ice-9/boot-9.scm:
2401: 18 [save-module-excursion #]
In ice-9/eval-string.scm:
  44: 17 [read-and-eval # #:lang ...]
  37: 16 [lp (use-modules (CiteauxLegal))]
In ice-9/eval.scm:
 505: 15 [# 
(use-modules #)]
In ice-9/psyntax.scm:
1106: 14 [expand-top-sequence ((use-modules (CiteauxLegal))) () ...]
 989: 13 [scan ((use-modules (CiteauxLegal))) () ...]
 279: 12 [scan ((# #) #(syntax-object *unspecified* # #)) () (()) ...]
In ice-9/boot-9.scm:
3597: 11 [process-use-modules (((CiteauxLegal)))]
 702: 10 [map # ((#))]
3598: 9 [# 
(#)]
2864: 8 [resolve-interface (CiteauxLegal) #:select ...]
2789: 7 [# # ...]
3065: 6 [try-module-autoload (CiteauxLegal) #f]
2401: 5 [save-module-excursion #]
3085: 4 [#]
In unknown file:
   ?: 3 [primitive-load-path "CiteauxLegal" ...]
In CiteauxLegal:
   1: 2 [#]
In ice-9/boot-9.scm:
 102: 1 [# unbound-variable ...]
In unknown file:
   ?: 0 [apply-smob/1 # unbound-variable ...]

*cogserver log is:*
;;; compiling /home/osboxes/Desktop/CiteauxSuite/CiteauxLegal
;;; CiteauxLegal:1:21: warning: possibly unbound variable `ConceptNode'
;;; CiteauxLegal:2:18: warning: possibly unbound variable `ConceptNode'
;;; : warning: possibly unbound variable `!'
;;; CiteauxLegal:3:1: warning: possibly unbound variable `cog-new-node'
;;; CiteauxLegal:3:1: warning: possibly unbound variable `ConceptNode'
;;; compiled 
/home/osboxes/.cache/guile/ccache/2.0-LE-8-2.0/home/osboxes/Desktop/CiteauxSuite/CiteauxLegal.go


*What I am doing wrong? Why I can not load scm file but I can execute 
individual commands from my file (with (define...)). Is there available 
some simple scm file which I can load into my cogserver and run?*

-- 
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/a16e7a61-c542-4de6-a85e-557577c7da9f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Why OpenCog Nodes and Links, modelling paradigm is so detached from Object Orientation, UML, Description Logics, programming? And can we introduce syntactic sugar?

2017-03-04 Thread Alex
It is said in documenation http://wiki.opencog.org/w/PartOfLink that 
PartOfLink is syntactic sugar. Maybe we can make such syntactic sugar for 
every aspect of OO and so - make system more attractive for persons coming 
from the traditional knowledge management and engineering fields? Are there 
such efforts?

-- 
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/e3d126cd-d064-485c-ab49-b3bdbff2cd35%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Why OpenCog Nodes and Links, modelling paradigm is so detached from Object Orientation, UML, Description Logics, programming? And can we introduce syntactic sugar?

2017-03-04 Thread Alex
I am learning OpenCog for months and still I am struggling to express 
myself in the terms of Nodes and Links? E.g. OO has this extremely handy 
notion of attributes (which can be simple types or complex types), but each 
attribute of OpenCog requires such an elaborate and not clearly documented 
code. 

OO and UML has those notions of association and part of one object to 
another object, but in OpenCog AssociativeLink is quite undefined but 
PartOfLink is just syntactic sugar that is not yet implemented according to 
the documentation.

Object model of the world is so self-obvoius and why OpenCog does not adopt 
it? Even ConceptNet adopts it.

Sometimes I can not believe the statement that Hanson Robotics uses OpenCog 
for its knowledge base, because robotic domain requires so much 
object-orientation, so much numerical and categorical attributes that 
association link, attributes, object orientation should be first-class 
citizens to make this knowledge management framework useable for large 
scale practical projects.

I am not insulting anyone (I am deeply sorry if it sounded like that, 
apologies), I am just wondering how to perceive all this, what are the 
benfits from rejection of object orientation and making some quite elusive 
notions? My guess is that AGI system should be generalization of OO, not 
rejection of it.

-- 
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/79c4b7ee-b159-4dce-9855-3cc9e623f6d6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: How to interpret guile error message - trying to use guile for the first time

2017-03-02 Thread Alex
OK, I can execute 'telnet localhost 17001' and 'scm' and enter into remote 
guile shell and then I can succesfully execute initialization:
(use-modules (ice-9 readline)) (activate-readline)
(add-to-load-path "/usr/local/share/opencog/scm")
(add-to-load-path ".")
(use-modules (opencog))
(use-modules (opencog query))
(use-modules (opencog exec))

Now I have 2 questions:
1) how can I load file from my filesystem into this guile shell - the file 
will contain my knowledge base as a set of node and link definitions. I 
prefer to write and keep my knowledge base in file.
2) I don't understand the running of rule engine. My knowledge base can 
contain lot of rules (ImplicationLinks, BindLInks) and I would like to get 
conclusions from this knowledge base - how can I do this? I am aware of the 
command cog-bind! (and other Scheme 
commands http://wiki.opencog.org/w/Scheme ) but that command is for on 
BindLink. *I would like to initiate a continuous process (forward chaining, 
arriving the the consequence set) when one BindLink modifies hypergraph and 
new rules are automatically searched to be matched with the updated 
hypergraph and so on, so on untile some termination criteria is achived. 
How can I initiate such process and how to define termination criteria?*

-- 
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/97116f38-506a-4e5b-bb33-79729636a10f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] How to interpret guile error message - trying to use guile for the first time

2017-03-01 Thread Alex
Hi!

I am 
following 
http://wiki.opencog.org/w/Getting_Started_with_Atoms_and_the_Scheme_Shell 
and I am trying to run guile (I have already compiled all the necessary 
components and I have started cogserver). I have made .guile file with the 
suggested content:

(use-modules (ice-9 readline)) (activate-readline)
(add-to-load-path "/usr/local/share/opencog/scm")
(add-to-load-path ".")
(use-modules (opencog))
(use-modules (opencog query))
(use-modules (opencog exec))


But upon starting guile I am receiving:

Backtrace:
In ice-9/boot-9.scm:
 157: 6 [catch #t # ...]
In unknown file:
   ?: 5 [apply-smob/1 #]
In ice-9/boot-9.scm:
  63: 4 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 3 [eval # #]
In unknown file:
   ?: 2 [primitive-load "/home/osboxes/.guile"]
In ice-9/eval.scm:
 393: 1 [eval # ()]
In unknown file:
   ?: 0 [memoize-variable-access! # #]

ERROR: In procedure memoize-variable-access!:
ERROR: Unbound variable: e-modules

What to do next? 

OK, I know that I should debug code and find the error in my input files, 
configuration files of the software itself (I can do this and am ready to 
do this in future), but I am trying to set up my knowledge base ASAP and 
maybe some have already experienced something like this?

-- 
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/a1e54c78-53d6-4e28-9d5a-fc645558842d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [opencog-dev] Atoms, PLN reasoning and rules - good reference how to express rules as Atoms

2017-02-22 Thread Alex
I am well aware of breadth and depth of the project (I am reading AGI two 
volume set, PLN book, AGI conferences proceedings, wiki, etc.) but I just 
wanted to take off and start with manually created knowledge base and I 
think that OpenCog is the perfect environment where I can host it - it 
allows multiple logics (with gradual transition from probabilisti to crisp 
logic) and it allows expansion in the future (e.g. adding NLP or automatic 
learning capabilities)

Currently I don't understand:
- ImplicationLink - is it the logical connective (whose consequent just 
bring out the knowledge that existed in the implicit form) or is it the 
sign of production rule (whose consequent can create of reject existing 
knowledge, e.g., but creating new concepts or new instances of existing 
concepts)? Or maybe ImplicationLink can act in both roles depending on the 
content of the ImplicationLink?
- How can I express the creation or deletion of the Atom, e.g. in the 
consequent part of the ImplicationLink? Statement about existence or 
non-existence seems not to serve well, some imperative statement can be 
more intuitive here.

It could be good idea to document how the Object-Oriented design and 
programming notions can be mapped or translated into Atomese language. 
Potential users are experienced in object oriented modelling and it could 
smooth the learning curve if something known could be shown.

-- 
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/45f68d3c-c61c-463a-b587-3dda1949d0d7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Theme for the open source killer application that uses OpenCog

2017-02-21 Thread Alex
I am trying to formalize IT knowledge and legislation in OpenCog but I 
experience hardship - OpenCog style and idioms is so far remote from the 
UML, Object Oriented programming and even from the Description Logics (ABox 
and TBox) (Protege). Maybe it can be good idea to develop an open source 
application that can serve for:
- to be compendium of the patterns, best practices and good styles of 
writing Atomspaces and expressing knowledge in Atomspaces;
- that can test the OpenCog infrastructure and reveal what should be done 
to extend it;
- that can raise visibility of the project generally and attract more 
contributors.

There is Hanson Robotics with its proprietory knowledge base (perfect 
application), and I pursuing my goal to create legal QA system (and 
beyond), but those are closed source efforts. Maybe it can be good idea to 
find other application area in which the community can create truly open 
source application. I can work on it, I just need an idea. One idea can be 
medical application, medical QA system but it is domain that I don't like 
for personal reason (although I would like to work on psychotherapy and AI 
liek 
https://www.psychologytoday.com/blog/man-talks-machine/201404/artificial-intelligence-and-the-future-therapy
 
and 
http://bigthink.com/hybrid-reality/the-freud-apps-ai-virtual-life-coaching-and-the-future-of-psychotherapy
 
and already existing application https://x2.ai/). Maybe there can be even 
open source Watson?

There is problem with such open source application - every good idea is 
captured by businesses and becomes closed source and no idea is left for 
the open source application.

-- 
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/bd6612dc-c6a3-40b6-8e0a-a43001b254f0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Is the atomspace an attempt to make contextual models from learning algorithms?

2017-02-21 Thread Alex
There is boom of neural network translation. Maybe it is possible to 
extract formal grammars, symbolic NLP processors from the neural networks 
that are trained for translation...

-- 
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/f52f8ef2-62fa-454e-89ae-ee6181f0a72f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Is the atomspace an attempt to make contextual models from learning algorithms?

2017-02-21 Thread Alex
Hi!

There are two kinds of knowledge (or representations of knowledge) - 
symbolic (explicit, like logics, rules) and subsymbolic (black boxes like 
neural networks), And Your question is about possibility to transform the 
knowledge from the subsymbolic representation to the sybolic one. There are 
such efforts ineed. Quick Google search reveals article how to do logical 
reasoning (at least propositional and predication logic) with neural 
networks, how energy minimization of neural networks is similar to directed 
deduction process. So - symbolic knowledge can be encoded into subsymboli 
one. It can be trickier to go in other direction. I have no references 
about it but I guess it is possible - e.g. to extract logical rules from 
the trainned neural network classifier. There is branch of science called 
Connection Science that investigates the connection between neural networks 
and logics and this community have 
journal http://www.tandfonline.com/toc/ccos20/current 

So - my understanding is that OpenCog can represent rules and other 
symbolic knowledge that are extracted from the subsymbolic representation 
of the knowledge, but it is not the only domain of application of OpenCog, 
there are lot more possible applications.

-- 
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/2d250c8f-71ad-4aec-85aa-584da1316e27%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Atoms, PLN reasoning and rules - good reference how to express rules as Atoms

2017-02-21 Thread Alex
Up to know I thought that OpenCog is about PLN reasoning, but after some 
reading I should acknowledge that OpenCog is more or less yet another 
production rules system in which the expert (or other kind of) knowledge is 
encoded as rules that - in the course of inference process (forward 
chaining) are able to create new atoms, change attribute values and 
possibly negate previously concluded statements (some kind of 
nonmonotonicity). As far as I understand then rules as almost the most 
important type of representation of knowledge.

That is why I have questions:

*- does OpenCog have special rules language? I see 
example http://wiki.opencog.org/w/Expressing_PLN_Rules_As_Atoms that rules 
can be expressed in terms of Nodes and Links and there is no need for other 
language.*

*- is there some more elaborated guid how to write rules in terms of nodes 
and links?*

*How others feel about using rules?* I have encoutered many production rule 
systems (including https://www.drools.org/ 
and https://www-01.ibm.com/software/info/ilog/) I have have always wondered 
how widely accepted they are but how little theoretical foundations they 
have? Google search for "formalization of production rules", "semantics of 
production rules" and similar queries gives almost none relevant research 
result. What is production rules - is this new kind of logic or transition 
system of programming paradigm (who lacks rigorous semantics)? It is not 
the tradictional implication connective of the propositional or first order 
logic. 
http://blog.ruleml.org/post/32629706-the-sad-state-concerning-the-relationships-between-logic-rules-and-logic-programming
 
is good reference about my concerns.

-- 
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/1294dd5c-cebd-436a-8354-f099bcc87405%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] (very low priority beginner question) How to bootstrap inference process?

2017-02-14 Thread Alex
Hi!

I am continuing to design inference process that can build abstract syntax 
tree (just some very complex node) from the formalized norms (just some 
other nodes and links) (my idea about automatic programming / program 
learning). 

Now I am trying to understand - how to bootstrap inference process? I think 
that I need to do forward chaining inference (and not backward chaining 
inference because my result is unknown). I understand that I should define 
in guile Scheme a lot of Atoms (according to zoo of Atoms 
http://wiki.opencog.org/w/Category:Atom_Types ) and especially I should 
define Atoms of type EvaluationLink that creates the root node of my tree 
and then creates leave nodes and leave links. The question is - having such 
set of Atoms (Atomspace) - *how can I start bootstrap process and how can I 
read the resulting atomspace* in which I hope to see my tree after 
completion of evaluation process? 

Starter 
example 
http://wiki.opencog.org/w/Getting_Started_with_Atoms_and_the_Scheme_Shell 
*is about cog-execute of one specific Link but I need to execute entire 
Atomspace*. E.g. JBoss Drools does this - it loads Knowledge base and then 
starts forward chaining inference (Rete algorithm) until the process 
completes.

What about inference rules - are they defined in *.scm files or are they 
encoded in the CogServer? It would be nice to have complete list of rules.

What about MindAgents - when I should switch from inference over Atomspace 
to MindAgent? I guess MindAgents are intended for interactive/reactive 
reasoning in which the Atomspace is constantly updated by incoming stream 
of new facts or queries...

-- 
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/95b2ade6-429e-4ee7-82ef-e3d0a577e5ff%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: How to represent object with atributes (single value and collection value)?

2017-02-11 Thread Alex
http://wiki.opencog.org/w/Category:Atom_Types does not have AttributeLink 
or AttributeNode. So - if we want to encode "Apple's price is 1$", we 
should introduce Price Atom:
a = ConceptNode Apple
p = ConceptNode Price
$1 = NumberNode PriceValue 1$
l1 = MemberLink $1 p
l2 = MemberLink p a

-- 
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/726f11bf-a6c6-49c8-99df-e12c1b4c047a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] How to represent object with atributes (single value and collection value)?

2017-02-11 Thread Alex
Hi!

Should I write:
  OwnerPartLink Good Price
Or is some syntactic sugar available especially for those kinds of link?

-- 
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/355d434e-0713-4a9c-802d-f2082c28fc37%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [opencog-dev] Re: questions around the eva-chatbot, and current state of the opencog-nlp pipeline

2017-01-29 Thread Alex
Regarding the ideas about translation (expression) of PLN into the terms of 
categorical logics (ideas that are floating around and whose results are 
pretty much expected and hoped for) everyone is also invited to look at the 
MMT project - foundation independent logics - by Florian Rabe. MMT is 
summarized in the "Future of Logics" article 
http://link.springer.com/article/10.1007/s11787-015-0132-x and the web page 
of the project itself is https://uniformal.github.io/

While MMT research is very promising, I have some doubts about 
applicability. Categorical logic represents logics as the categories: 
terms/expressions are objects and inference relationship forms the set for 
morphisms. MMT goes one step higher - it defines morphisms among theories 
(individual logics) therefore one can expect higher order category whose 
objects are logics and whose morphisms are translation/inheritance 
relationships among logics (or alternatively - defines similar functors 
among logics as categories). MMT at the end is something similar like 
(dependent) type theory and although MMT distances from the meta-logics, 
MMT still assumes some basic inference rules that are provided 
extra-linguistically. And although MMT generalizes many algorithms, 
apparently it still requires to provide those algorithms in the specific 
cases (they can not be deduced automatically from the syntax and inference 
rules). So - MMT can be good for the uniform representation of the logics 
and for smooth transition from one inference type (i.e. rational fair 
agents) to the other inference type (irrational, narcisstic, greedy agent), 
but the discovery of logic algorithms is still necessary.

I feel that any cognitive system should be capable of using different 
inference styles and therfore any discovery of Universal Logic could be 
suitable for the OpenCog. The basic question in this case is: is 
presentation style of the logic in which every logic can be expressed?

There is this question about sequent calculus 
- 
http://math.stackexchange.com/questions/2063828/does-every-logic-have-sequent-calculus-if-not-what-are-alternatives-to-them
 
and the answer was no - there still are logics that can no be presented by 
sequent calculus.

My intuition was that ANY type of sequent calculus can be expressed by the 
forward chaining rules. But that is false - other methods are required. 
Maybe combination of backward and forward chaining systems fully covers any 
logic (including nonmonotonic, adaptable logics)?

There is apparent need for many specific logics:
- e.g. my research are about deontic logics and formalization of norms - 
this can not be done in the usual first order predicate logics or in the 
standard modal logics.
- e.g. early research by Steunebring 
(IDSIA) http://people.idsia.ch/~steunebrink/ about formalization of 
emotions and the BDI agents
- e.g. already mentioned formalization of the language by deontic event 
calculus

And it could be nice to arrive at the one reasoning engine that can handle 
all of then and that enable reasoning in any of them according to the 
situation. E.g. agents (we) usually have different reasoning styles in math 
exams, in job and in free time.

There is valid suggestion - can we outsource the reasoning part of the 
OpenCog to some external system, like MMT (I don't know yet about it) or 
Coq, Isabelle/HOL (as far as I understand those systems are capable to 
compile formally presented logics (e.g. via rules of sequent calculus) into 
reasoning engines/provers for those logics (but again - those systems are 
based on single, bounded meta-logic; to break those bounds is the main aim 
of MMT)? Or should OpenCog try to outsmart those efforts?

And last not least, there is this blog 
entry 
http://blog.ruleml.org/post/32629706-the-sad-state-concerning-the-relationships-between-logic-rules-and-logic-programming
 
It is true - many business rules engines lack formal connection to the 
logic, those rule engines seems to be good heuristics of inferring 
something from given premises. Maybe OpenCog Rule engine has this 
formalization that can enable validation and generalization of it.

Alex

-- 
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/10218666-8ee7-46db-95c6-0b1d7c6340f3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Norm-driven software development (NDSD) - automated business software generation in industrial programming languages - syntax tree manipulation

2017-01-25 Thread Alex
By "industrial programming language" I meant (as this term is used by our 
professor) languages that are used for the business software development, 
i.e. languages like Java, JavaScript, SQL, C++, C#, Python, COBOL, FORTRAN, 
etc. and there is no direct connection with the quality of the language or 
its tools. E.g. there are very good Prolog, Haskell etc. implementations 
but I don't call then "industrial programming languages", because they are 
rarely used for business programming.

-- 
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/8a893437-096d-4477-9c19-e8098d1a9b8f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: Problems with opencog build - very low priority beginner question

2017-01-25 Thread Alex
I decided to proceed with Ryan's 
script https://github.com/ryanhornbeck/opencog_bash/blob/master/opencog_bash.sh 
(thanks for it!) which I separated into individual commands and ran one by 
one. Some test failed, of course, but I managed to arrive at the running 
server. It was not hard after all.

Alex


-- 
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/88433279-f3b6-4715-82ee-63ac2d892c89%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Norm-driven software development (NDSD) - automated business software generation in industrial programming languages - syntax tree manipulation

2017-01-25 Thread Alex
I have completed successfully OpenCog build and now I am about to start my 
real project - Norm-Driven Software Development (NDSD): 
1) formalization of law, norms, software industry best practices, software 
elements and components;
2) software generation (and maintenance) using formalized norms.

OpenCog is very appropriate for the first task (although I need yet to 
understand how to represent modalities (obligations, permissions) in PLN 
and rules), because it smoothly integrates logic/reasoning with 
representation of the real-world/commonsense knowledge (which is taken into 
account in almost any legal reasoning task).

However I am researching how to do the second task - I have only vague 
ideas how to do this generally or with OpenCog particularly. My idea is to 
create layers of repositories: one level can consist of UML style set of 
business classes, of view classes and services classes and another level is 
the syntax tree representation of the software code from which the final 
code can be read and sent for the compilation and production of 
deliverables.

I am still thinking how to do syntax tree manipulation in OpenCog and I 
just wanted to know are there floating some similar ideas around - not to 
rediscover already known things.

I am aware of MOSES and procedural knowledge representation (using Combo 
programs) but MOSES is program search using genetic programming and Combo 
is not industrial programming language.

I feel that extensive set of norms can create detailed enough specification 
(or put constraints on the search space) to speedup genetic search or even 
fully replace it.

I feel that there is need for the manipulation of procedural knowledge that 
is represented in the industrial programming languages because:
1) such knowledge can be reviewed and maintained by human beings (as the 
last resort);
2) already existing code should be included in such knowledge, maintained 
and the knowledge extraction from the existing code should be possible;
3) large parts of OpenCog is still written in the industrial programming 
language - therefore ability to work with industrial programming languages 
is necessary for the enabling self modification and self-understanding of 
the system.

Every program can be represented as abstract syntax tree and therefore I 
should start with enabling syntax tree manipulation in OpenCog...

Alex

-- 
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/171290fa-603a-4179-880f-bf31d311746c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: questions around the eva-chatbot, and current state of the opencog-nlp pipeline

2017-01-16 Thread Alex
Regarding NLP - I have always been suspicous about statistical methods of 
NLP, it is something like subsymbolic methods of neural networks. Such 
subsymbolic methods require other science to make explicit inference (about 
results, about argumentation) possible - there is connection science for 
neural networks but I don't know about similar tool for statistics. My 
ideal is NLP along lines of article "On Deep Computational Formalization of 
Natural Language" (available via Google search) and I wonder why this path 
has not been pursued so far. Lack of developed suitable logic (deontic 
event calculus in this case) is one explanation. There is clearly need for 
universal logic (as considered by Springer journal Logica Universalis) and 
I guess that categorical logic may become such logic - it already 
formalizes predicate and modal logics and similar formalization of 
probabilistic and adaptable logic (Strasser) (nonmonotonic) may be 
discovered in future (I hope, though I have no idea about direction how 
this can be done. Coalgebraic logic unifies modal and probabilistic logics 
but I had had hard time understanding it). Then it wil be possible to do 
formalization of natural language (in all its modes - starting from 
scientific reasoning and ending with emotional utterances) in such way.

-- 
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/cf6a0d01-b98e-4fda-9473-7aeb24bc916e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Re: some explanations on the unified rule engine

2017-01-07 Thread Alex
I don't know yet the OpenCog rules, but some time ago I played with 
business rules engines 
(https://en.wikipedia.org/wiki/Business_rules_engine) like JBoss Drools or 
IBM ILOG. Those rule engine uses forward chaining algorith called Rete 
algorithms for making their inferences. It is very useful approach for some 
parts of business software.

-- 
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/5eeb32d3-5b7a-43a6-97c6-5ad6d2ec2ca8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Problems with opencog build - very low priority beginner question

2017-01-01 Thread Alex
Hi!

I am trying to build opencog. I am aware 
of http://wiki.opencog.org/w/Octool and 
instructions http://wiki.opencog.org/w/Building_OpenCog but I am coming 
from Windows Java & Delphi development and therefore I have problems with 
build process on Ubuntu.

Regarding Octool - when I issued '*sudo ocpkg - rsdpcalv*' then I received 
error message 'command not found'. Then I issued '*bash -x ocpkg - rsdpcalv*' 
and somehting happend - something was downloaded and there were no red 
error messages except for one '*E: Unable to locate package 
libjson-spirit-dev*'. I did this for all 3 octool commands -rsdpcalv, 
-rdcv, -rdv but don't know I arrived at any meaningful reasult. It is said 
in documentation that octool just prepares the environment and dependencies 
but apparently other command should be used for building the cogserver 
itself.

So - I went to http://wiki.opencog.org/w/Building_OpenCo and there I read 
that maybe '*bash -x ocpkg -b*' is the right command to complete the build 
process? There the cmake is mentioned but I don't manage to find make file 
- in which directory it is?

I completed '*bash -x ocpkg -b*', something happened but when I tried to 
run opencog command then the answer was that opencog was not found.

How can I check the result of build process - in which directories the 
final executables are going? How to run octool wihout bash prefix - in 
normal mode?

The project is very, very interesting, but the start is very hard. I 
OpenCog had be available as Windows or Java programs then every novice 
could be able to run server, to create AtomSpaces, to start experiments, to 
use without programming knowledge. But OK, I can continues in this mode as 
well, but just some advice would be very helpful.

Alex

-- 
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/c6e56151-fbd6-4aba-8dae-a9b75fbd2d47%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[opencog-dev] Can AGI be of help for solving mathematical and engineering problems?

2016-12-11 Thread Alex
It is said in one of Goertzel's book that scientific data analysis and 
theorem proving probably can be done more efficiently outside the cognitive 
cycle of OpenCog. My question is - *can AGI contribute towards solving 
engineering problems and proving mathematical theorems?* From the one side 
the current focus of AGI is to replicate human behavior, motivations, 
emotions and (bounded and sometimes irrational) reasoning. From the other 
side - we cannot say that AGI system is complete if it can not do what 
bright human individuals can do - i.e. - prove theorems and introduce new 
mathematical concepts and theories. So - AGI should focus also on automatic 
solutions of the engineering and mathematical problems.

Currently I see the following tasks ahead in this direction:
- OpenCog should replace existing mathematical systems, like Mizar, by 
(automatic) translation of Mizar libraries into AtomSpaces
- OpenCog should implement more general and creative automatic theorem and 
proof search procedures, stress on creative (the synergy from artistic 
creativity can be employed)
- OpenCog should be adapted for the automatic translation of the inferred 
theories into human language and more accessible texbook forms, employing 
analogies, jokes and stories about applications and motivations
- OpenCog should be made ready to accept natural language input of 
mathematical texts and automatic processing of them, automatic addition to 
the relevant AtomSpaces. Also meta-level learning, reasoning and searching 
procedues should be read from the human-language texts and added to the 
AtomSpaces.

To achieve this agenda I see necessary to do the following tasks:
- decide how AtomSpaces can be used for representation of mathematical 
facts, algorithms and search techniques
- improve natural language processing, understanding and input/output.

AGI should win humans in theorem proving as well. In fact - automatic 
discovery and application of engineering knowledge should be one of the 
main application areas of AGI. Even today many computer systems that are 
necessary for humanity are too complex to be programmed and maintained by 
human. Search of better optimization algorithms is another necessity whose 
results can be very beneficial.

A,

-- 
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/121bc616-b9e4-4927-95a2-4a393ed7075b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.