Cyc
Cyc (from English encyclopedia) is an artificial intelligence project that attempts to assemble a comprehensive ontology and database of general knowledge in order to enable artificial intelligence applications to perform human-like reasoning.
The project was started in 1984 by Doug Lenat. The name Cyc is a registered trademark of Cycorp Inc. in Austin, Texas, a Lenat company engaged in the development of Cyc. The original project is proprietary software, but a small version of the project has been released under an open source license and is known as OpenCyc.
Cyc contains a multitude of simple rules (such as "water causes moisture" and "moisture rots food"). A computer can conclude from Cyc's inference engine that water rots food (at least excessively). The database contains approximately 100,000 concepts and 1,000,000 statements encompassing human-defined assertions, rules, or common sense ideas. These are written in the CycL language which is based on predicate calculus and has a syntax similar to Lisp.
Cyc's construction continues to be Knowledge Engineering, representing facts about the world manually and implementing effective inference mechanisms on said knowledge. However, the goal of the work at Cycorp is to give the Cyc system the ability to communicate with end users in natural language so that the system can continue the knowledge construction process on its own.
Database description and terminology
Data entry in Cyc is carried out through a process that Lenat calls teaching by brain surgery, which is carried out in the CycL language. Said process consists of breaking down an information unit into a series of characteristics called slots that form a kind of template for this type of information. For each slot, another information unit must be built with its characteristics, so that all knowledge is hierarchical and categorized so that Cyc "understands" the relationships that exist between the concepts and objects entered.
Concept names are known in Cyc as constants. Constants start with #$ and are case sensitive. There are constants for:
- Individual items, known as individuals, such as #$LinusTorvalds or #$Colombia.
- Collections such as #$Tree-ThePlant (containing all trees) or #$EquivalenceRelation (containing all equivalence relationships). A member of a collection is called a instance of the collection.
- Real functions which can be applied to one or more concepts and return true or false. For example #$siblings (brothers) is the relationship of brotherhood and it is true if the two arguments are brothers. Real functions can be divided into logical connectors (#$and, #$or, #$not, #$implies), quantifiers (#$forAll, #$thereExists, etc.) and preached (as in the example of brotherhood).
- Functionswhich produce new terms from the given terms. For example #$FruitFn to which, when an argument is provided that describes a type or collection of plants, returns the fruits of these plants. By convention, constant functions start with capitals and end up in "Fn".
See: CycL, artificial intelligence, logic, WordNet, Semantic Web
Contenido relacionado
Linked list
K-Meleon
File server