IMHO the reason Cyc failed is that it lacks a natural language model. Thus, there was no alternative to using formal language to entering and extracting data. Even after building a huge knowledge base, Cyc is mostly useless in applications because it cannot adapt to its environment and cannot communicate with users who don't speak Cycl.
The approach was understandable in the 1980's because we lacked then (and maybe still lack) the computing power to implement natural language. An adult human model consists of a sparse matrix of around 10^8 associations between 10^5 concepts, and an eidetic (short term) memory of about 7 concepts. Language learning consists of learning associations between active concepts in eidetic memory and learning new concepts by clustering in context space. This structure allows learning concepts of arbitrary complexity in a hierarchical fashion. Concepts consist of phonemes, phoneme groups, words, phrases, parts of speech constrained by grammar and semantics (nouns, animals, etc), and grammatical structures. A neural implementation [1] would require on the order of tens of gigabytes of memory and hundreds of gigaflops. This is without grounding in sensory or motor I/O. So far, we have not discovered a more efficient implementation in spite of decades of research. A natural language model should be capable of learning any formal language that a human can learn, such as mathematics, first order logic, C++, or Cycl. Learning is by induction, by giving lots of examples. For example, to teach the commutative law of addition: "5 + 3" -> "3 + 5" "a + b" -> "b + a" "sin 3x^2 + 1" -> "1 + sin 3x^2" etc. Likewise, translation between natural and formal language is taught by example. For example, to teach applications of subtraction: "There are 20 cookies. I take 2. How many are left?" -> "20 - 2 = ?" "I pay $10 for a $3.79 item. What is my change?" -> "10.00 - 3.79 = ?" etc. I believe that formal models of common sense (probabilistic or not) would be a mistake. This type of knowledge is best left to the language model. Rather than probabilistic rules like: "if it is cloudy, then it will rain (p = 0.6)" "if it rains, then I will get wet (p = 0.8)" such knowledge can be represented by associations between concepts in the language model, e.g. two entries in our huge matrix: (clouds ~ rain, 0.6) (rain ~ wet, 0.8) People invented mathematics and formal languages to solve problems that require long sequences of exact steps. Before computers, we had to execute these steps using grammar rules, sometimes with the help of pencil and paper. However, this process is error prone and slow. Now we only have to convert the problem to a formal language and input it into a calculator or computer. AI should replicate this process. 1. Rumelhart, David E., James L. McClelland, and the PDP Research Group, Parallel Distributed Processing, Cambridge MA: MIT Press, 1986. The authors described plausible, hierarchical connectionist models, although they lacked the computing power to implement them. -- Matt Mahoney, [EMAIL PROTECTED] ------------------------------------------- agi Archives: https://www.listbox.com/member/archive/303/=now RSS Feed: https://www.listbox.com/member/archive/rss/303/ Modify Your Subscription: https://www.listbox.com/member/?member_id=8660244&id_secret=114414975-3c8e69 Powered by Listbox: http://www.listbox.com
