[alicebot-developer] Subconscious Alice

Dave Sienkiewicz alicebot-developer@list.alicebot.org
Tue, 24 May 2005 19:15:54 -0400


This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C56095.022F1200
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

For the past few months, I've been experimenting with writing ALICE
algorithms in REXX and in my ham-handed attempts at programming, I
discovered something quite by accident that is so interesting in the way it
changes the quality of a conversation that I just had to pass it along.

 

In a nutshell, the change is simply to add a secondary means of input that
the end-user would not normally see to the program. Everything else is
exactly the same, but what it provides is a way of simulating something
being remembered or an event being experienced, by interfacing what I call
scheduled events, status codes, things of that nature, that may affect a
conversation. I see this kind of an option of particular use in robotics
although I'm sure there are situations useful in just chatting.

 

Say for example, I have ALICE running on a PC that is interfaced to an OOPIC
controller that can raise or lower an actuator that we'll call an arm.

I can code a pattern of RAISE ARM with a template composed of the utterance
"OK" plus a system call to the OOPIC of a code that commands the actuator to
be raised.

I can then program the OOPIC controller to return a string of characters
when the arm is raised. The string could essentially be a status word, e.g.
"ARMISRAISED" which the user does not see, but could for example trigger a
template with the utterance, "Uh, my arm is raised as high as it can go." It
kind of works like "think" but the data is being externally input from an
unseen source instead of directly from the user.

 

Another example, let's say I have a crontab or some other scheduling
resource. Theoretically, I could use that to signal an event. For example at
2100 hours, perhaps I could send a secondary input of a pattern SLEEP 2100,
which can have a template assigned, "It is 9 PM. It's time to go to sleep."
Or let's say I have a wireless X10 controller that issues simple ASCII codes
that can advise on a house temperature, status of light switches, burglar
alarms and so on. X10 would issue a code like A21 which could be assigned,
"The light was left on in the study." I mean there are a lot of
applications, fingerprint reader, UPS alarm; all kinds of stuff could be
done.

 

Imaging conversing with ALICE, and having her suddenly say, "there's someone
coming to the front door", just before the door bell rings. Being able to
accept hidden status information in the form of simple ASCII strings, I
think, opens up an entire new level of realism.

 

I'm not advocating that we rip all our existing code apart to add this
interface, but I think this is something that is well worth considering in
future versions.

 

Thanks for your time.

Dave Sienkiewicz


------=_NextPart_000_0000_01C56095.022F1200
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:st1=3D"urn:schemas-microsoft-com:office:smarttags" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"City"/>
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"place"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:Arial;
	color:windowtext;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
-->
</style>

</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>For the past few months, I&#8217;ve been =
experimenting with
writing <st1:City w:st=3D"on"><st1:place =
w:st=3D"on">ALICE</st1:place></st1:City>
algorithms in REXX and in my ham-handed attempts at programming, I =
discovered
something quite by accident that is so interesting in the way it changes =
the
quality of a conversation that I just had to pass it =
along.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>In a nutshell, the change is simply to add a =
secondary means
of input that the end-user would not normally see to the program. =
Everything
else is exactly the same, but what it provides is a way of simulating =
something
being remembered or an event being experienced, by interfacing what I =
call scheduled
events, status codes, things of that nature, that may affect a =
conversation. I
see this kind of an option of particular use in robotics although =
I&#8217;m
sure there are situations useful in just =
chatting.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Say for example, I have <st1:City =
w:st=3D"on"><st1:place
 w:st=3D"on">ALICE</st1:place></st1:City> running on a PC that is =
interfaced to
an OOPIC controller that can raise or lower an actuator that we&#8217;ll =
call
an arm.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>I can code a pattern of RAISE ARM with a template =
composed
of the utterance &#8220;OK&#8221; plus a system call to the OOPIC of a =
code
that commands the actuator to be raised.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>I can then program the OOPIC controller to return a =
string
of characters when the arm is raised. The string could essentially be a =
status
word, e.g. &#8220;ARMISRAISED&#8221; which the user does not see, but =
could for
example trigger a template with the utterance, &#8220;Uh, my arm is =
raised as high
as it can go.&#8221; It kind of works like &#8220;think&#8221; but the =
data is
being externally input from an unseen source instead of directly from =
the user.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Another example, let&#8217;s say I have a crontab or =
some
other scheduling resource. Theoretically, I could use that to signal an =
event.
For example at 2100 hours, perhaps I could send a secondary input of a =
pattern
SLEEP 2100, which can have a template assigned, &#8220;It is 9 PM. =
It&#8217;s
time to go to sleep.&#8221; Or let&#8217;s say I have a wireless X10 =
controller
that issues simple ASCII codes that can advise on a house temperature, =
status
of light switches, burglar alarms and so on. X10 would issue a code like =
A21
which could be assigned, &#8220;The light was left on in the =
study.&#8221; I
mean there are a lot of applications, fingerprint reader, UPS alarm; all =
kinds
of stuff could be done.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Imaging conversing with <st1:City =
w:st=3D"on"><st1:place
 w:st=3D"on">ALICE</st1:place></st1:City>, and having her suddenly say, =
&#8220;there&#8217;s
someone coming to the front door&#8221;, just before the door bell =
rings. Being
able to accept hidden status information in the form of simple ASCII =
strings, I
think, opens up an entire new level of =
realism.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>I&#8217;m not advocating that we rip all our existing =
code
apart to add this interface, but I think this is something that is well =
worth
considering in future versions.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Thanks for your time.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Dave Sienkiewicz<o:p></o:p></span></font></p>

</div>

</body>

</html>

------=_NextPart_000_0000_01C56095.022F1200--