AGI -- Artificial General Intelligence
A messy and incomplete list of open source
Artificial General Intelligence projects.
A good overview is given by:
Pei Wang's
AGI Intro
Project plans
Some all-encompassing plans for do-it-all systems:
- OpenCog
- Novamente's general cognition/reasoning system. Includes NLP
subsystem.
- Pei Wang's NARS
project
- NARS, the Non-Axiomatic Reasoning System, is a general-purpose
reasoning system. Several white-papers. Inspired OpenCog.
(OpenCog claims to overcome certain limitations in NARS)
OpenNARS
is Pei Wang's implementation. Released under GPLv2.
- TexAI
- Aims to couple common-sense knowledge-basees systems to
natural langauge text processing.
- Stan Franklin's LIDA
- An intelligent agent, communicating by email. Built for the US
Navy. Based on Baar's Global Workspace Theory. Answers only one
question "What do I do next?". See
Tutorial
- John Weng's SAIL
architecture
- Seems primarily aimed at robots.
- Nick Cassimatis's
PolyScheme
- no code available.
- Jeff Hawkins Numenta
- Commercialized "Heierarchical Temporal Memory"
- SNePS
- SNePS is a knowledge representation, reasoning, and acting (KRRA)
system. See also the Wikipedia page
Open source projects
Some smaller, less-encompassing projects or pieces/parts:
- MicroPsi
- Study of emotional agents. Simple virtual robotic
agents that roam a 3D world and interact in various
psycholgically motivated (needs & wants) kinds of ways.
Humboldt University of Berlin. Java/Eclipse infrastructure.
- AGIsim
- GPL. AGISim is a framework for the creation of virtual worlds for
artificial intelligence research, allowing AI and human controlled
agents to interact in realtime within sensory-rich contexts. AGISim is
built on the Crystal Space 3D game engine. Some parts of AGISim are
closed related to OpenCog.
- A.L.I.C.E.
- Chatterbot, AIML
- Hypergraph DB
- Database for storing hypergraphs. Pretty Cool. Java based, C++
coming. Strange BSD-like license, but requires source code!
Compatibility of license with GPL is unclear.
Ontologies, Knowledge Bases and Reasoning Engines
A giant list at Some
Ongoing KBS/Ontology Projects and Groups. Problems with ontologies
are reviewed in
Ontology Development Pitfalls
A giant list is at
Peter
Clark's Ongoing KBS/Ontology Projects page.
Big ones include
- ConceptNet3
Common-sense knowledgebase. Large. GPL license. Users can edit
data online, at http://torg.media.mit.edu:3000/
- Open Mind Common Sense
Collection of english-language sentences, rather than using a strict
upper ontology. This is actually quite conventient, if you have a
good NLP input system, as it helps avoid the strictures of pre-designed
ontologies; and rather gets you to deal with the structure of your
NLP-to-KR layter. From MIT. -- large -- 700K sentences
-
Historical Thesaurus of English
Licensing is unclear.
- WordNet
Semantic network.
See also:
Wordnet::Similarity
A perl module implementing various word similarity measures
from Wordnet data. i.e. Thesaurus-like.
- SUMO - Suggested Upper
Merged Ontology
SUMO
WP article. Includes an open source
Sigma knowledge engineering environment, includes a theorem prover.
Sigma uses KIF.
"The largest formal public ontology in existence", availble under GPL.
(although OpenCyc is arguably bigger, and is free.) Has mappings to WordNet.
- OpenCyc
Large KB under artistic license. Source for engine not available.
KB seems messy and capricious. The uppper ontology is not clear.
- YAGO
Yago is a huge semantic knowledge base.
- ThoughtTreasure
Common sense KB, available in CycL. GPL'ed
- Conceptual Nets
- A knowledge representation system.
Conceptual
Graph Interchange Format is an ISO standard. See also
"Common Logic Interchange Format (CLIF)", which is more lisp-like.
- Ontolingua
- Seems well-engineered. Actual KB is slim. Source not available.
- GFO -
General Formal Ontology
- Provides a firm theoretical foundation for representing ontologies; no actual data.
OWL version of GFO
under a modified BSD license. Examples include the periodic table of elements,
amino acids. See also WP
article.
- DOLCE - Descriptive Ontology for Linguistic and Cognitive Engineering
- PSL - Process Specification Language
- BFO - Basic Formal Ontology
- Algernon - Rule-Based
Programming
- Java, on sourceforge. Recommended for small-to-medium systems.
A frame-slot type system.
- CLIPS - A Tool for
Building Expert Systems
- Originally from NASA, now public domain. See also Wikipedia page.
Rather old, and primitive.
- SOAR expert system
- DAML+OIL
- Obsoleted by OWL
- KIF - Knowledge Interchange Format
- Obsoleted by SOU-KIF (used in SUMO)
Reasoning engines/Inference engines
Reasoning engines only, without accompanying inference engines.
See also
Open Source Rule Engines in Java
- PLN Probabilistic Logic Network
- From Novamente LLC. promising.
-
- Features:
- Both forward-chaining rules and backward-chaining rules.
- Multiple rule bases, each with its own list of forward-chaining and/or
backward-chaining rules.
Current version is 0.2 ...
- PyIE - Python Inference Engine
-
- DROOLS
Drools is a business rule management system (BRMS) and an enhanced Rules
Engine implementation, ReteOO, based on Charles Forgy's Rete algorithm
tailored for the Java language.
- SAT, SMT Propositional logic solvers
- Use SAT for traditional propositional logic solvers, use SMT for
solvers that include arithmetic expressions.
NLP - Natural Language Processing
See the
NLP
Resources wiki page at agiri.org.
A particularly important theory is Dick Hudson's Word Grammar.
Other NLP resources include:
- VerbOcean
- A set of semantic-like verb frames.
- FrameNet
- A set of semantic-like frames. Free for personal use, but has
commercial license.
- WordNet
- Dictionary of synonyms, antonyms, etc.
See also
http://www.singinst.org/research/researchareas
General tools
- Freeling
- Includes a shallow parser, a sentence splitter, entity detection,
sense annotation (using wordnet senses), etc.
NLP Parsers
Another kind of useful linguistic resource is the NLP parser. Some free
NLP parsers are:
- Link
Grammar Parser
- From Carnegie-Mellon. A parser for the English language, based
on "link grammar", a novel theory of natural language syntax.
Written in C, with a BSD license. English dictionary includes
90K words. Actively maintained.
- Relex Semantic
Relationship Extractor
- Built on top of the Carnegie Mellon link parser. Extracts
semantic structures from link data. Includes ability to
handle multi-sentence corpus, entity detection, and perform
anaphora (pronoun) resolution via Hobbs algo. Apache v2
license. Written in Java. Actively developed/maintained.
- Fluild Construction Grammars.
- Idea from Luc Steels. There is a LISP
implementation at http://www.emergent-languages.org/
A Java implementation at TexAI.
- Maltparser
- Maltparser is a system for data-driven dependency parsing, which
will learn a parsing model from treebank data, and can then be used
to parse new data using the induced model. Java, BSD license.
Word Sense Disambiguation
Word sense disambiguation attempts to determine which of multiple
possible semantic senses are used in a sentence.
A good set of references and code are on
Rada Mihalcea senseval.org
page. Code is under GPL license.
See also:
Entity Extraction
Other NL tasks include entity extraction. Entity extraction refers to
the recognition of names, dates, places in a body of text. Related is
the recognition of technical terms.
Also popular are "frameworks", which will graph things, provide user
interfaces, etc.; these are useful for R&D.
Freeling
- NLTK --
Natural Language Toolkit
- Has a book, multiple articles. Integration into WordNet. Written in python.
Not clear whether it has an actual parser. Seems to do some sort of
entity extraction, esp. for biomedical terms.
- GATE - General Architecture for
Text Engineering
- Java, GPL'ed. Big.
GATE is supplied with an Information Extraction system called ANNIE,
which seems to be focues on "entity extraction".
Also in use for Dialogue processing and Natural Language Generation.
NLP+Reasoning
Some problems with hooking NLP to a reasoning engine:
Learning
Linear classifiers, and stuff.
- libSVM
- Library that implements
Support
Vector Machine, which is one of many ways of doing a linear classifier.
- TiMBL
- Fast, decision-tree-based implementation of k-nearest neighbor
classification. Implements half-dozen algo's. GPL'ed.
(Might not scale well for large problems?)
Narrow AI
- RapidMiner (YALE) Java data mining
- OntoWiki and Powl
- Semantic web development. Screenshots show business-type apps:
addressbook, calander, etc. Powl seems to be a classes and GUI
designer. GPL license
- OWL API
- Java interface for the W3C Web Ontology Language OWL. LGPL license.
- Siafu: an Open Source Context Simulator
- Simulate individual agents
- Jamocha - one engine for all your rules.
- Rule engine
Robotics
- MOAST
- The Mobility Open Architecture Simulation and Tools (MOAST) framework
aids in the development of autonomous robots. It includes an
architecture, control modules, interface specs, and data sets and is
fully integrated with the USARSim simulation system.
- OpenJaus
- Robotics messaging. Military standard.
Misc links
- MapReduce
- Distributed processing using key-value generaion and reducing
primitives. See Hadoop
for an open-source implementation.
- Shard databases
- Shard overview
escribes an alternate to centralized, normalized datbases.
- http://www.isi.edu/~hobbs/ see especially "magnum opus"
- http://www.geocities.com/genericAI/ -- Yan King Yin (YKY)'s project