|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
Subconscious AliceFor the past few months, I’ve been experimenting with
writing 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 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 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 |
|
|
|
|
|
Re: Subconscious AliceDave Sienkiewicz wrote:
... > 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. > > 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. > > Dave Sienkiewicz > Given that my personal project is home automation, I have done some things similar to what you're talking about, but I took a different approach. I have a simple natural language interpreter I wrote in Prolog which handles the "action" type inputs like "Please turn on the outside lights." which calls some Prolog libs I wrote which make CORBA calls to an X10 server which turns on the lights. Then the Prolog side returns a string like "The lights are now on" which is passed back to the chat window the user typed in. In the event that the sentence is not parsable by my Prolog engine, the input string is passed through the http interface to an Alicebot which provides the answer to the chat interface. The user doesn't know that two different systems cooperated to provide a seamless user interface (in fact the programs are on different computers), but the effect is pretty impressive. Since the chat interface I provide for the user is actually also a CORBA service I can send it asynchronous messages like your "someone is coming to the front door." without any problems. The thing I'm missing at the moment is for the two systems to share "context" information so that if the Alicebot learned something in the conversation, the Prolog side doesn't have access to it. Since both systems can access MySQL tables there is a possibility I can use this, but first I'd have to rip out the caching that Alicebot does for those tables - haven't gotten around to that yet. The other thing I don't handle well yet is multiple userid support between the two pieces like Alicebot does through its web interface. Steve _______________________________________________ alicebot-developer mailing list alicebot-developer@... http://list.alicebot.org/mailman/listinfo/alicebot-developer |
| Free Forum Powered by Nabble | Forum Help |