John Scanlon wrote:
Ben,

I did read your stuff on Lojban++, and it's the sort of language I'm talking about. This kind of language lets the computer and the user meet halfway. The computer can parse the language like any other computer language, but the terms and constructions are designed for talking about objects and events in the real world -- rather than for compilation into procedural machine code.

Which brings up a question -- is it better to use a language based on term or predicate logic, or one that imitates (is isomorphic to) natural languages? A formal language imitating a natural language would have the same kinds of structures that almost all natural languages have: nouns, verbs, adjectives, prepositions, etc. There must be a reason natural languages almost always follow the pattern of something carrying out some action, in some way, and if transitive, to or on something else. On the other hand, a logical language allows direct translation into formal logic, which can be used to derive all sorts of implications (not sure of the terminology here) mechanically.
The problem here is that when people use a language to communicate with each other they fall into the habit of using human, rather than formal, parsings. This works between people, but would play hob with a computer's understanding (if it even had reasonable referrents for most of the terms under discussion).

Also, notice one major difference between ALL human languages and computer languages:
Human languages rarely use many local variables, computer languages do.
Even the words that appear to be local variables in human languages are generally references, rather than variables.

This is (partially) because computer languages are designed to describe processes, and human languages are quasi-serial communication protocols. Notice that thoughts are not serial, and generally not translatable into words without extreme loss of meaning. Human languages presume sufficient "understanding" at the other end of the communication channel to reconstruct a model of what the original thought might have been.

So. Lojban++ might be a good language for humans to communicate to an AI with, but it would be a lousy language in which to implement that same AI. But even for this purpose the language needs a "verifier" to insure that the correct forms are being followed. Ideally such a verifier would paraphrase the statement that it was parsing and emit back to the sender either an error message, or the paraphrased sentence. Then the sender would check that the received sentence matched in meaning the sentence that was sent. (N.B.: The verifier only checks the formal properties of the language to ensure that they are followed. It had no understanding, so it can't check the meaning.)

-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/[EMAIL PROTECTED]

Reply via email to