The Open Cognition Project

From OpenCog
Logo.png

OpenCog is a unique and ambitious open-source software project. Our vision is to create an open source framework for Artificial General Intelligence, intended to one day express general intelligence at the human level and beyond.

We're undertaking a serious effort to build a thinking machine.

That is, our long-term goal is the creation of an advanced Artificial General Intelligence system, with cognitive capability at the human level and (we hope) ultimately beyond. Out strategy is straight-forward:

  • Perform incremental research and development in many key areas.
  • Develop a software infrastructure, consisting of various useful and usable parts.
  • Develop detailed plans (subject to ongoing revision based on what we learn as we proceed!)
  • Assemble a team of thinkers, writers, technologists, developers and scientists able to carry this out.

This last point cannot be overemphasized:

We want you to be a part of the team!

There are many opportunities, many ways in which you can participate!

The software

The OpenCog project provides key components and a platform for AI R&D. We hope that the platform will be appealing to students, scientists and system integrators. Don't be fooled: AI, and the theories underlying it, are quite complex. This complexity is reflected in the system components. If we could see a way of making it easy and simple to use, we would. So far, results are mixed.

  • App developers and system integrators are invited to contribute standard API's and interfaces to the existing systems. The primary and most central component is the AtomSpace and the Atomese language. The OpenCog Incubator provides a long list of immature and incomplete projects looking for wise and capable software developers.
  • The AtomSpace is a generalized graph store, with a sophisticated graph query engine. This query engine far exceeds the features and capabilities of popular commercial and open source graph stores. Atomese is a graph language, optimized for manipulation by algorithms. The intent is that automated agents, reasoning subsystems and processing pipelines can work with a rich and sophisticated language system. Think of Atomese is "assembly code", or, beter yet, an "intermediate language".
  • Other worthy and notable subsystems that are maintained and actively developed include:
    • The CogServer, the StorageNodes and the ProxyNodes, which provide networking, storage and processing infrastructure;
    • Link Grammar, which provides a parser for converting input streams into structured semantic streams (i.e. for converting a stream of input tokens into a stream of graphlets that capture the structure of that toekn stream.)
    • The MOSES system, which manages a set of Atomese graphlets encoding decision-tree-like information. That is, the managed structures are the Atomese generalization of the idea of a decision tree. Thus, MOSES manages a forest of such structures. It can be deployed in a classical machine-learning style, although current efforts involve bringing it closer to being able to process streams.
  • Students interested in AGI are encouraged to pick specific subject areas, focus and drill deep into them. The OpenCog Incubator is a good place to start.
  • Scientists are encouraged to use OpenCog as a research platform. This includes the exploration of knowledge-representation systems as a form of programming (the Atomese programming language), the unsupervised learning of natural structure, focusing on natural language, audio, still pictures and video, and the duality between neural network ("deep learning"), distributional and symbolic approaches to knowledge representation.
  • OpenCog has been around for more than twenty years! Many lessons have been learned: how to do things, and how to not do them. There is no one page that summarizes these. However, the OpenCog Fossils page does provide a list of the most recently retired subsystems. Many, perhaps most of the pages on this wiki have been marked "obsolete" and "historical": these can be taken as examples of how not to do things. A few of the pages explain why not, and provide a "post mortem" of the subsystems.
  • The OpenCog Incubator lists some of the newest, completely incomplete, not yet mature systems that have been started but have not yet grown to fruition. They're fun, they're promising. Go for it!

The Getting Started page provides more details.

Participate

The OpenCog community operates as a virtual "AI Lab", with several modes of communication:

  • Real-time chat (Discord)
  • Issues & Trouble Tickets (Github issues)
  • Short-form prose (Twitter, Diaspora*)
  • Long-form prose (the mailing list, Wiki, Blog)

Here's how to participate:

Please be aware of the rules of etiquette when interacting with others.

There are also some feeds:

Activities

One place to start is with the Hands On With OpenCog tutorials. Or just take a look at the code on GitHub. Jump straight in, by attempting some of the quick tasks or the not so quick tasks. Some guides that should be helpful:

Theory

Participating in the project will be almost impossible, without a good grounding in theory. Here's some ways to get that:

Organization

The project is very much inspired and supported by Dr. Ben Goertzel, who has been writing about, promoting and planning AGI for decades. Without him, none of what's been discovered or built would have been possible. The project is formally hosted by the OpenCog Foundation.

We have a wiki page on the OpenCog Foundation. The project doesn't run on good intentions alone: please donate money.