[REBOL] Re: Perl is to stupid to understand this 1 liner.
From: greggirwin:mindspring at: 16-Dec-2001 12:36
Hi Joel,
<< As always, I'd be very interested to hear if anyone else has a
better solution to this meta-problem (or is that "meta-solution"?) >>
It seems to me that you pointed it out in an earlier message when you made
reference to how humans would identify phone numbers given potentially
ambiguous data by using context. This is right up REBOL's alley, though far
from the one liner approach. :)
Do you recall my solution to your "table parser" dilemma (look at things
like a human)? Same idea, different rules and, to be really good, it should
learn.
In this case you have some basic rules to start with, given your example
text:
[opt proper-name] 'at [phone-num]
[proper-name] '( [phone-num] ')
['cell | 'phone | 'mobile...] [opt 'number] 'is [phone-num]
What makes up a phone number?
groups of digits, with various separators between.
When you hit alpha chars (probably with special checks for "PIN", "x", "ext"
followed by more digits, you're done with the number. Hmmm. Maybe a quick
check for mutiple numbers?
[phone-num] 'or [phone-num]
Now, you run it and it shows you the results for confirmation, just like a
new assistant you hire. You give it feedback, which it remembers, and over
time it builds new rules to account for your style. At some point, it may do
so well that you tell it "Don't ask me to proof your work unless you have
some doubt about something". If something, like your example, is of a
critical nature, you can always tell it "run this by me before you send it
out", or "Add your own 'signature' so, if something is wrong, they can blame
you." :)
We could, of course, contrive a million examples that would confuse it, just
as they might confuse a person who, for example, had never seen a number in
an international format.
One of the big things I believe is that we need to get over the perception
that computers and software are faultless. We need to use them to lighten
our load but any given system must build trust from its users over time and,
even then, must be forgiven for its errors, just as we would its human
counterpart. The world us just too lumpy.
--Gregg