|Did you know ...||Search Documentation:|
|Pack programk -- prolog/notaiml/designnotes.txt|
Some good stuff in Richard Wallaces 'the Elements of Style in AIML'
Initial thoughts on format. I'm thinking that catagories are separated by a blank line.
#This is a comment and doesn't count What is *? I don't know what * is, let me research that.
I feel * when I am ** -I too feel * when I am *. Could we * together sometimes?
a dependence on that matching the lexically previous catagory is implied by omitting the blank line
#this uses the implied THAT I like sailing. -Ooh, I like sailing too. I have a small sailboat. What kind? -A J/24 * -Do you have a boat? A boat_type=(*)
the botmaster can also use an explicit that #this uses an explicit that that-Ooh, I like sailing * I have a boat_type=(*)
It would be good to know the 'type of speech act' - if the user types something ending in ? we should only answer with answers. if the stimulus ends in ? the response would be an anwser.
Handling Propercase? Maybe a directive to allow #$PROPER insertion?
might be nice to somehow have confidence factors.
Need an include mechanism
How do we do escapes to Prolog?
'that' and 'topic' seem to be a simple version of my 'context'
Do you know who * is? Yes, [Who is *?]
SR - an abbreviation for <srai><star/></srai> we don't need it, [*] is clearer and 1 char longer
*0 match zero or more words *1 match one or more words
_0 match zero or more words
^ as *, but matches preceeding articles, which are removed from the consequent @ as _, but matches preceeding articles, which are removed from the consequent
in templates ** matches the second match of * or _, *** the third, and so on
escaping specials \<char> disables syntactic meaning
~propername means use some external matcher
blink( some tokens) means query blink/2 with the contents of the parens,
blink([word(some), word(tokens)], X) and replace the whole mass with X. If X is a list append it, if not then just add it.
#$ is preserved in patterns and templates, but stripped from input, so you can create catagories that can only be entered from SRAI
articles are optional unless appended by an exclamation point?
<dmiles_afk> ~propername* <dmiles_afk> should be match it.. and put it inmto the star index <dmiles_afk> ~propername <dmiles_afk> should be match it.. and dont put it into the star index
xml in templates
non chat input (e.g. from a camera and emotion recognizer)? answer - use #$
========= Sentence splitting
:- use sentence splitting.
======== Synonyms - handle synonyms whereever they occur
General mechanism for
======= handling specials that aren't syntactically important
======= handling articles the aforementioned winky match on ^ and @
======= implementation http://www.alicebot.org/TR/2005/WD-aiml/#section-explanation-via-implementation-description-graphmaster ======= Input cleanup (input normalization) all word compares are caseless The AIML 1.0.1 spec contains useful ideas http://www.alicebot.org/TR/2005/WD-aiml/
note that input cleanup needs defined for both the pattern and the input
stemming? Should stemming work like the articles?
How do we support training the bot?
ok, no better place for this
git add for new files git commit -m 'made the dancing bunnies cuter' to 'commit' 9which only commits them locally) and git push origin master to push them back to the proejct