Integrating OpenCog‘s Atomspace Hypergraph to Accelerate Intelligence Development

We continue to make progress on platform development.

Aigents with Anton Kolonin
SingularityNET
5 min readFeb 23, 2018

--

Earlier, we discussed how SingularityNET is integrating Aigents Social Intelligence Services. This will make it possible for anyone — even non-professionals — to create, educate, train, and launch their own personal AI agent.

While technological developments like this are creating crticial first-mover advantages for the SingularityNET platform, we wanted to highlight some of the network’s core components, starting with OpenCog.

To dive even deeper, check out our whitepaper.

OpenCog gives SingularityNET access to valuable features that no other platforms can offer

The first core AI component and node in SingularityNET is provided by the open-source OpenCog project. It’s primary feature is its unique Atomspace component. This component is akin to a database for graph representations suitable to host neuromorphic data structures as well as semantic graphs and ontologies.

This Atomspace Hypergraph allows for the creation of hybrid networks consisting of symbolic and subsymbolic segments. This is made possible by Atomspace’s unique ability to store multi-layer hierarchical hyper-graphs, built with atoms.

In such hyper-graphs, a single link at one layer can serve as a node at higher layers. At the same time, the link (as an atom) may contain internal subgraph representation inside of it at the lower layer. Moreover, each atom may have any number of contextual properties used for either probabilistic inference, activation spreading, or anything else based on the choice of specific
algorithm.

OpenCog’s capabilities are already being integrated

One particular piece of OpenCog integrated into SingularityNET already is the RelEx component for extraction of semantic relationships from English texts.

The other part of OpenCog in active development now is the Unsupervised Language Learning (ULL) project. It employs hybrid approach unifying sub-symbolic and symbolic AI techniques. The goal of ULL is to provide semantic comprehension capabilities for many human and domain-specific languages.

Case Study: SingularityNET can address the massive demand for linguistic programming

At the moment, only a few languages on Earth are covered with formal grammars such as literary English with Link Grammar. Most others are not. However, enormous volumes of digitized texts lay in storages for semantic comprehension.

To solve the problem, thousands of years of computational linguists are required to build grammars for these language. Or, thousands of years are needed to annotate training corpora for automated grammar learning for all languages on Earth.

SingularityNET has the ability to address these problems with greater speed and efficiency than ever thought possible. Currently, our team is building a pipeline which uses sub-symbolic approaches such as ADAGRAM, Word embeddings, SVD, and K-means for word-sense disambiguation and
category learning. At the same time, we’re using probabilistic inference for grammatical link type formation and extraction of semantic relationships from the parse trees.

Importantly, the OpenCog language learning pipeline implements a continuous self-reinforced loop where knowledge learned at earlier iterations may be used to seed later iterations and get adjusted incrementally. We already have demonstrated success with extracting grammatical and semantic categories from unannotated English Gutenberg corpus.

Once we develop the Language Learning framework to be capable of dealing with existing languages, it can be used to power the Language Learning Nodes of SingularityNET, a critical technological advance that no other project can match.

Early development success could create growing competitive advantages

A core component for the development of intelligent systems is the ability to acquire knowledge incrementally. Because our system is self-learning, early advantages could provide exponential benefits over time.

The process of incremental development of a system knowledge is required to be the part of a solution. It is well forgotten now, that the notion of the Baby Turing Test was suggested more than 30 years ago. In the modern AI community, so far, I am aware of just of couple of people knowledgeable of this approach, and even fewer projects implementing it.

The approach reflects the incremental nature of development for an intelligent being. The nature of the test is that you take the newborn “black box”, capable of little, then feed it with data, knowledge, and your parental feedback. You increase the complexity of your inputs gradually.

At the finish, the “black box” should be able to render intelligent behavior such as required by “Basic Turing Test”.

Overcoming development challenges with iterative design

We’re implementing this paradigm in Agents within a test-driven development approach adopted for AI software processes. That is, our scripts include incremental addition of novel knowledge to newly created agents. At the same time, our test assertions validate that intelligence of the agents increases incrementally along with the new knowledge acquisition process.

The importance of this has been found in the Unsupervised Language Learning project at OpenCog, mentioned earlier. When trying to acquire language grammar and ontology for large unannotated and uncontrolled corpora, we have noticed statistical biases accumulated in the large text corpora may lead to misleading initial premises at the beginning of the learning curve.

For instance, counted word co-occurrences may lead to a misleading minimum spanning tree parses that we use within the current approach. And then, incorrect parse trees may cause incorrect grammar learning. To combat these challenges, we are starting with smaller lexicons with limited sentence lengths. First, using bi-term constructions of intransitive verbs, then with low-ambiguity three-term constructions with transitive verbs. We will keep increasing the richness of lexicon and length of the sentences, adding adjectives and adverbs.

Overall, our development plan to create intelligent systems will:

  1. Facilitate social computing powered with reputation-based consensus
  2. Allow functional diversity with convergence of symbolic and sub-symbolic approaches
  3. Provide rich environments with data fusion from multiple sources
  4. Enable incremental experiential learning from implicit and explicit inputs and feedback
  5. Be open-source in open ecosystems

We’re Just Getting Started

Our team has been working tirelessly to assemble an AI ecosystem that has significant competitive advantages. Over the next few weeks, we’ll continue to demonstrate how we’re lowering the barriers to AI development faster than any other project.

Subscribe to our newsletter, join our Telegram Channel, and check out the community-governed subreddit for more information.

--

--

Aigents with Anton Kolonin
SingularityNET

Creating personal artificial intelligence and agents of collective intelligence for individuals and small businesses.