Hi,
On 12/11/2017 09:44 PM, Mindey I. wrote:
Hello everyone,
is there a simple way to download OpenCog KR model in a machine-readable format, so I could try representing knowledge, learning relations and reason with OpenCog links and models without installing the software per se?
I'm afraid not, certainly not easily. What format would you have in mind? Prolog? KIF?
Beside the logic you'd also have to represent truth values (second order probabilistic distributions representing uncertainty, though in practice, for now we only use SimpleTruthValue that can be represented by 2 numbers https://wiki.opencog.org/w/TruthValue#SimpleTruthValue).
Sure, everything is possible but it looks like you'd have to write the translation tool yourself.
Nil
For example, I'd like to get a list of all "Links", with machine-readable mathematical, linguistic, and ML model-based definitions, and reproducible code to re-learn them, or re-implement them.
My interest is in integration of all learning and reasoning systems, and I'd like to simply collect them into a machine-readable collection of models and processes, with more accessible human interface for reproducible engineering and science. (Wikipedia and arXiv are not good enough...)
Best regards,
Mindey
--
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+unsubscribe@googlegroups.com <mailto:opencog+unsubscribe@googlegroups.com>.
To post to this group, send email to ope...@googlegroups.com <mailto: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/62287087-a54c-47fa-98a4-4cc68be85bf4%40googlegroups.com <https://groups.google.com/d/msgid/opencog/62287087-a54c-47fa-98a4-4cc68be85bf4%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opencog+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/58ac80b7-cb99-f30e-fd5e-6b13169b1389%40gmail.com.
but there's just a huge amount of stuff buried in C++ code that this would never be workable in practice.
--
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+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/9134f62f-7343-4cda-9a1b-427ae6eba475%40googlegroups.com.
Atomese is not an ontology, like OpenCyc, nor is it a KR representation language, like KIF. It is a meta-language that can describe these other two languages.
If you wish, you could take OpenCyc, and put it into the atomspace (this has been done before), or you could take anything in KIF, and put it into the atomspace. But you cannot go in the other direction. So this doesn't make sense. They're operating at different levels.
Atomese is not an ontology, like OpenCyc, nor is it a KR representation language, like KIF. It is a meta-language that can describe these other two languages.For what I understand, it's an evolving generalized hypergraph database, linking hardware systems, not just software and concept definitions as hyperedges, and thus, having something else than itself to map its hyperedges is not readily possible, would that be a good way to put it? If not, what makes atomese unrepresentable in other languages?
If you wish, you could take OpenCyc, and put it into the atomspace (this has been done before), or you could take anything in KIF, and put it into the atomspace. But you cannot go in the other direction. So this doesn't make sense. They're operating at different levels.How would things like this be addressed in atomspace? What would be the address for OpenCyc in it, or what about the address of IBM's Watson in it? A hardware I/O system is also a relation to me.
Mindey
--
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+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/7e033647-faca-4072-999d-31b9f206de6b%40googlegroups.com.
It would be easiest to work out some examples. Suppose your KR language has relations for "is-a", "has-part" -- these are two relations in WordNet. [...] But, in atomese, I can also write:EvaluationLinkPredicateNode "has-similar-color"ListLinkVariable "$X"Variable "$Y"Since WordNet does not have a "has similar color" relation, that's it, game over.
or perhapsEvaluationLinkPredicateNode "runs on hardware made from PowerPC"ListLinkConcept "IBM Watson"which would evaluate to "true" or "probably true".
Think of it this way: atomese is kind-of-like json, or kind-of-like javascript, or kind-of-like prolog or kind-of-like SQL -- it is a little bit like all of these.
If your email asked: can I translate atomese into prolog, or atomese into javascript, I would have said, yes, sort-of-maybe with various difficulties. If you asked "can I translate prolog into atomese" or "can I translate javascript into atomese" I would have said "yes, with various difficulties".But instead you compared it to KIF and OpenCyc. Can random prolog or javascript programs be converted to KIF or OpenCyc? I don't think so, not in any normal sense.
Linas,It would be easiest to work out some examples. Suppose your KR language has relations for "is-a", "has-part" -- these are two relations in WordNet. [...] But, in atomese, I can also write:EvaluationLinkPredicateNode "has-similar-color"ListLinkVariable "$X"Variable "$Y"Since WordNet does not have a "has similar color" relation, that's it, game over.There is a database (Wikidata), that stores common relations, https://www.wikidata.org/wiki/Wikidata:List_of_properties/all , with their multilingual definitions.
or perhapsEvaluationLinkPredicateNode "runs on hardware made from PowerPC"ListLinkConcept "IBM Watson"which would evaluate to "true" or "probably true".In such scenario, the relation "runs on hardware made from PowerPC" would also go to the compendium of relations, and the concept "IBM Watson", actually, may have concept identifier.
I suppose, the indentation syntax is part of atomese,
which makes it more human-readable.So, what remains that I wanted to know about "downloading" link definitions, is -- what is the full list of definitions of the generic symbols of atomese (like, EvaluationLink, PredicateNode, ListLink, Concept, Variable, etc.)
with their definitions,
and the additional syntax,
like the percent sign before the variables ($X).
Think of it this way: atomese is kind-of-like json, or kind-of-like javascript, or kind-of-like prolog or kind-of-like SQL -- it is a little bit like all of these.Yes, I see, and grounding the EvaluationLinks, makes it possible to satisfy conditions defined in atomese.If your email asked: can I translate atomese into prolog, or atomese into javascript, I would have said, yes, sort-of-maybe with various difficulties. If you asked "can I translate prolog into atomese" or "can I translate javascript into atomese" I would have said "yes, with various difficulties".But instead you compared it to KIF and OpenCyc. Can random prolog or javascript programs be converted to KIF or OpenCyc? I don't think so, not in any normal sense.I see now, why. So, what I'd like to "download" so to speak, is the definition of the metalanguage in a single document (e.g., in model-theoretic sense, set of symbols and rules of language, with their definitions), rather than translating it.
--Mindey
Can you download the definition of python in a single document, in a model-theoretic sense? What about prolog? or SQL or haskell or F# or C++ or javascript or scheme? That's actually an interesting question, and its been hotly discussed over the decades. See, for example, lambda-the-ultimate.
Atomese is like a psychedelic mashup of F#, SQL and prolog. In principle, it could be self-describing; its a principle we are moving towards very very slowly, but its unlikely to happen any time soon.At any rate, the only "model theory" of atomese is written in C++, and its buggy, and changes every day.
To unsubscribe from this group and stop receiving emails from it, send an email to opencog+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/bee7218e-1377-4017-9c97-85af6c6e4668%40googlegroups.com.
So if you want all of the symbols (aka atoms), you dump the entire contents of the atomspace.
To unsubscribe from this group and stop receiving emails from it, send an email to opencog+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/bee7218e-1377-4017-9c97-85af6c6e4668%40googlegroups.com.
Linas,So if you want all of the symbols (aka atoms), you dump the entire contents of the atomspace.any concrete example or command for doing it?
To unsubscribe from this group and stop receiving emails from it, send an email to opencog+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/be502e88-5638-45fb-b5e5-b833e9e908d1%40googlegroups.com.