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

Reply via email to