1. Creating Artificial Intelligence Triggers and Commands
There are two approaches to creating and saving commands.
The first is "Pragmatic", in that whole sentences are used to trigger commands; this is stored as direct "Knowledge".
The Second is "Semantic", in that what is said must be parsed into "Phrases".
To deturmine which should be used, you must decide if the trigger your going to use
needs a target or object that is taken from, or parsed from the sentence. For example, saying "sit" or "who are you" are complete in their meanings, while "hug ...[somebody]" or "who is ...[somebody]" are phrases
that need to deturmine the target or object.
The first would be stored by using: .addcommand (.ac, .add)
and the second would be stored by using: .addphrase (.ap)
Understanding the terms:
This system uses a unique A.I. approach that is designed to grow or learn with use and with all users creating and sharing 'Public' commands.
A "do it now' philosophy that follows a simple stimulus/response or triggered model.
The Command, is used for what comes first, what is spoken, heard or sensed: the stimulus.
The Consequence, is what follows, what is to be done: the response.
The Action, is the method for perfoming the consequence.
To create new knowledge, use .addcommand (or .ac) and the page will guide you to give the trigger Command, which is what you say.
Next, give the response or response list as the Consequence.
Then, you must decide upon the Action, these are offered in a drop down menu. Action examples: "Public Chat", "WebLink", "Animation".
2. Search Rules
1. 'Whole' sentences/commands/triggers/questions, are searched for first in the Knowledge database.
2. 'Parsed' Phrases or parts of sentences are searched second.
3. The larger length sentences and phrases are searched first before smaller.
4. 'Private' knowledge and phrases are searched before 'Public' knowledge and phrases.
Terms:
The combination of a 'Command-Action-Consequence' is called a Conceptual.
A collection of Conceptuals is called Knowledge.
There are two kinds of conceptuals, Public and Private. Private is searched before Public.
If you edit a Public conceptual, the Public data remains intact and a new Private conceptual is created for you.
In use, your private conceptual will be found first, for you.
Others will not be able to see, edit or use your Private conceptuals, except your primary Dominant, who can create, read, edit and delete. --Be Warned--
3. Action Methods for Knowledge and Phrases
token | Select | Discription |
ownersay | Self Chat | will say anything to slave only (some rlv direct @commands also) |
whisper | Whisper Chat | will say anything in chat as a whisper |
chat | Public Chat | will say anything in chat |
webpage | Goto WebPage | drop down dialog with url given in response |
weblink | WebLink in Chat | says Weblink: with url given in response, in chat |
requestion | Return Question | on hold - very soon |
anim | Animation | say anything to trigger animation, must be in collar |
multiple | Multiple(cmd|cmd|cmd) | separate cmds with | also use Multiple action for the couples/sync in .addphrase |
goto | Goto Person | put ~target~ or a single persons name/initials/part in response field |
gotoa | Goto Object | put ~target~ or an objects name/initials/part in response field |
v | Goto Vector <x,y,z> | get vector with 'where am i' if not known |
vectormap | Vector Map | on hold - use macro template in collar instead |
walk | Walk(dir@dist) e@5 | on hold - needs testing |
rotation | Rotation | Uses RLV to rotate to ~target~ |
sleep | Sleep(in secs) | stops script with llSleep() |
readsite | Read Web Site | on hold - for use with speech synth mod |
rlv | RLV | Denotes an RLV command like @tpto:462944/305345/68=force |
addon | AddOn Script | addon's - see inside collar for details - for use with addon manager |
pointsto | PointsTo | points to another sent/cmd |
giveinventory | Give Inventory | place object in collar, use this to send with permissions |
macro | Macro | triggers stored macro in the collar for long sequences of commands |
4. Additional Actions used Only in Parsing Phrases:
drop | will cause the first phrase indicated to be dropped and the remainder to be resubmitted |
paraphrase | will replace the phrase indicated with another phrase the remainder added and resubmitted |
websearch | the object/target phrase is extracted and added to the end of the consequence. |
5. Multiple Responses at Once
To create a command list or 'mini macro' to be performed from a single Command, set the Action to "Multiple". Give your Command, then as the consequence, list commands separated by | which is the pipe symbol.
Example:
Command: jane what have you been doing
Action: Multiple
Consequence: come here|anim*kneel2|report
With the commands also being placed in the database separatly, the same effect could be induced with 'and' usage.
Command: jane come here and kneel and report
6. Phrases with Multiple Responses
Create a Phrase (using .ap):
Will want to say:
wendi say hello to Mistress Elizibeth
First-Phrase: say hello to Mistress
Response: goto*~target~|chat*greetings Mistress|anim*bellydance|sleep*15|anim*nadu
Action: Multiple
7. Parsing Phrases
For parsed Phrases use:
.addphrase (.ap).
You will be taken to the add phrase manager. The approach to this A.I. structure is as follows.
Sentences are searched for the first phrase given by you and the remaining half is the object/target phrase.
example: 'search wiki for ' is the first half of the sentence and the remainder is the object to be searched for.
The Action for this example would be 'websearch' and would be presented privately to you as a dropdown button
giving a webpage for http://en.wikipedia.org/wiki/ and the remainder or object/target phrase would be appended
to the end of this url request.
There is also the option of adding a last phrase to further differentiate meaning, for example, use the last phrase:
'as weblink' and the url will be shown in the chat box for anyone present to click.
Or 'translate' + object + 'into latin' would be another example of using both the first and last phrases.
This can lead to complex command structures for both the Command and Consequence.
Use copy and paste to lift some of the more complex structures, such as url links for search pages,
and edit the details to simplify creating new responses.
8. Couples Animations/Sync Commands
Couples commands are very complex involving parsing, scanning, movement, permissions, animations and need to be synchronized. Therefore, a sync command has been created to deal with a lot of these details.
First, make sure the animations to be used by you and your partner or the ~target~ are in the collar.
then, use the .addphrase (.ap) command, since this is a parsed sentence.
Enter the first half of the sentence to be used, ie. 'hug' or 'kiss' or 'roll in the hay with'
and
if you wish, a last half of the sentence, ie. 'quickly' or 'on the lips' or 'if they let me' to distinguish from other uses of hug, kiss, etc.
For the Action, select: Multiple
Enter the response with this format:
goto*~target~|sync*9,hug-feminine,hug(~target~)
example:
To say: "hug wendi"
First, the scripts needs to parse hug from the target wendi. Thats why we used .addphrase
You want the following actions to occur: goto wendi, load the anim for yourself called hug-feminine,
then send an animation and requst to animate to wendi, when they respond, begin both animations, hold for 9 seconds, then stop both animations. Use ~target~ to auto replace the name/object being discovered during parsing.
These individual commands are connected with the | thus as a multiple command list:
The sync command has two parts that are coordinated to cause couples animations that require animation permisions to be given. This command can be given by itself if no other needs like "goto" are nescessary.
Its structure is as follows:
sync*seconds, youranim , theiranim (their name)
their name will be replaced with ~target~ if used. 0 seconds will keep playing until a stop command is given.
To stop these coordinated animations in a separate command, use the sync* command again with the command stop instead of an animation name if its desired to to have only one animation stop and perhaps the other to do another, while the other continues.
sync*20,youranim,stop(~target~)
or any combination of choices. It is preferred to use the goto command before a sync command because the sync command will wait for the response to animate and start the sequence immediatly.