Boston Linux & Unix (BLU) Home | Calendar | Mail Lists | List Archives | Desktop SIG | Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings
Linux Cafe | Meeting Notes | Blog | Linux Links | Bling | About BLU

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

So much for that....



David Kramer <david at thekramers.net> wrote:
> I may say to my wife: "I heard there's a 60% chance of rain today.  I
> think you should bring an umbrella to work.  Do you have one, or do you
> need to borrow one from me?"
> In order to even START communicating things like this in a computer
> language... you need to:

Are we talking about communicating via Perl, or programming a computer to
understand natural language? These are two seperate subjects.

On the former, Perl will never become a widespread human language--at
least not in its current form--simply because it is inefficient for
communication. It's a programming language, designed to express a computer
program in a logical and maintainable manner.


> (1) Have a class heirarchy that contains all objects in the universe,
> real, imaginary, or theoretical, complete with hundreds (on the average)
> of methods each.  And you thought the Human Genome project was big,

Not really. You just need a method by which the language can expand. And
this method must allow people to use new terms without first setting out a
formal definition. As long as people refer to libraries they've already
imported, as it were, and as long as they can implicitly use a library
without it first being written, the language will do for this. Each
conversation is essentially a code snippet out of context. In order to get
a runnable program, you must first include all of the relevant context
(including the implied definitions libraries).


> (2) A deeper concept of the relationship between objects than "is a" and
> "has a"

That's what functions are properties and methods are for.


> (3) Some equivalent of the punctuation marks that can change the meaning
> of a sentence, like the question mark, and conjugation.

This is untrue. Throughout much of recorded history, language was written
without any such punctuation marks. Greek classics, for example, were
originally written using only capital letters all crammed together--no
spaces, no punctuation. It was up to the person reading it to figure out
from the context where the spaces and punctuation belonged. For example,

  THISISASENTENCEALLCRAMMEDTOGETHERCANYOUREADTHISNOWTHATWASNTSOHARDWASIT


> (4) Strong fuzzy logic functionality, probablility and statistsics, the
> concepts of needs, wants, emotions, and desires.

For human communication, that's what the human mind is for. To express
these things, you simply declare functions and classes that represent
them. The linguistic symbol is not the reality. No computer must
understand feeling, for example, in order for a computer language to
represent it. Linguistic symbols (such as words) have semantic range,
which interact with their context to form meaning. But these meanings may
not refer to an extra-linguistic reality. (Abstract adjectives like
_beautiful_, for example, don't refer to anything in the real world.)


But none of this makes Perl a good language for communication. To
demonstrate, I will attempt to translate into a dialect of Perl.

  &but q[ $demonstration = { !&all($this) or &assert(
  !$Perl->isgoodfor($communciation)) } ]; $demonstration->perform(q[
  $Tim->attempt(q[ $paragraph->translateinto(&dialect($Perl)) ]) ]);

Not especially readable. And there are implementation issues that crowd
their way into the equation. Human language, to be useful, cannot be
concerned with such things.


Now, to get a computer to parse a human language (including the above
dialect of Perl), you have to do a bit more. You have to implement
semantic range and parse syntagmatic relationships (and paradigmatic ones,
too, if you're clever). It's actually not that difficult a problem if the
vocabulary and grammar are reasonably limited. The earliest text
adventures did this quite well. Today, well-written interactive fiction
follows suit. You can leave out descriptive words and phrases and the
parser will understand what you meant to say. You can use pronouns, and
the parser will figure out what you're referring to. When done well, it's
an effective illusion of reality.

-TimK
-- 
Listen to my radio playlists at MP3.com:
  http://MP3.com/TimK
    It's free!




BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org