|
|
Senior member
Total posts: 160
Joined: Mar 22, 2014
|
I’ve created a github project we all can use to share brains. I’m planning to put my more general files there in the hopes that others can use them and maybe make them better over time. I’ve started with a basic by bot organization, but it may make more sense to organize by topic or something.
Thoughts?
Best way to contribute for now is to fork the repo in github, make changes or add your own files and then submit a pull request. I’ll generally approve a pull request as soon as I can. Let’s get together a library that can be pulled from to get a good starter bot. I see this as one of the benefits of AIML - the default bot is a pretty good start. Let’s get our own Alice together.
https://github.com/tkuebler/ChatScriptBrains
PS: for those of you new to git, don’t be afraid, just download the free SourceTree and follow the crumb trail to the prize. You can also just post a zip file or send me one, happy to add them for you too. But really, git is not that hard, well, for most things…
|
|
|
|
|
Posted: Apr 30, 2014 |
[ # 1 ]
|
|
Experienced member
Total posts: 69
Joined: Feb 6, 2014
|
This is good. Thank you for putting this together, Todd.
|
|
|
|
|
Posted: Apr 30, 2014 |
[ # 2 ]
|
|
Moderator
Total posts: 2372
Joined: Jan 12, 2010
|
Have fun!
A couple of notes on coding….
1. ALWAYS use sample comments. your barista file has
#! not coffee
a: ( don’t want coffee ) Maybe tea?
a: ( _[drip clover brew “cold brewed”] ) _0 it is. Any pastries today? $order = _0
b: (~yes) ^reuse(FOOD)
a: ( _~coffee ) _0’s a good choice, how many shots? $order = _0
which means it lacks 2 sample inputs.
2. ALWAYS run :verify on your files before putting them up there. helps identify errors.
Your first rejoinder shouldn’t match your “not coffee” input, because the pattern has “don’t” which will not match a normal input because contractions are, by default, expanded.
Similarly:
#! check my order
?: ( what is my order $order )
will not match.
3. Unlabelled gambits don’t need empty pattern…
t: () Are you ready to order?
can just be
t: Are you ready to or
|
|
|
|
|
Posted: Apr 30, 2014 |
[ # 3 ]
|
|
Senior member
Total posts: 160
Joined: Mar 22, 2014
|
Thanks for the comments Bruce, very helpful - didn’t know about :verify or what #! meant over #. I’m still reading through the docs. There is a lot to absorb!
|
|
|
|
|
Posted: May 1, 2014 |
[ # 4 ]
|
|
Senior member
Total posts: 160
Joined: Mar 22, 2014
|
Call for help creating a chat script Alice. There have been a bunch of posts about people wanting such a thing - maybe some of these people can help out creating it?
I’ve added an ‘Alice’ bot to the project mentioned at the start of this thread and started the long and tedious conversion of the alice bot files into that bot under the aiml2cs subdirectory. It is found in that same directory and people are welcome to contribute both to the ongoing translation and to the script via fork/pullrequest. I plan on working through the Alice set one file at a time, improving the script each file and manually correcting the deficiencies in the chat script file as I go ( but also comparing it’s output to the ruby aiml2chat project. ) I’ve looked at a couple of the AIML to Chatscript translators available but am also writing my own to learn the differences between AIML and Chatscript. I find perl best at on the fly string manipulation so I chose that language.
To help: fork the project and work in your fork. pick a file from the base set that doesn’t exist in the amil2chat/cs directory yet and convert/translate it using whatever method you want - fully by hand, the aiml converter of your choice or via some other magic, then put in a pull request for me to update my project with the file.
|
|
|
|
|
Posted: May 3, 2014 |
[ # 5 ]
|
|
Senior member
Total posts: 160
Joined: Mar 22, 2014
|
Happens in both the included linux and a mac Xcode compiled binary:
<while loading poorly translated alice aiml files>
*** Warning- line 6921 of mp3-aiml.top: Word dion only known in opposite case *** Warning- line 6933 of mp3-aiml.top: gree is not a known word. Is it misspelled? *** Warning- line 6961 of mp3-aiml.top: Word ricardo only known in opposite case *** Warning- line 6965 of mp3-aiml.top: Word erika only known in opposite case *** Warning- line 6965 of mp3-aiml.top: eleniak is not a known word. Is it misspelled? *** Warning- line 6969 of mp3-aiml.top: startec is not a known word. Is it misspelled? *** Warning- line 6977 of mp3-aiml.top: Word katie only known in opposite case *** Warning- line 6997 of mp3-aiml.top: Word reiki only known in opposite case *** Warning- line 7001 of mp3-aiml.top: rexx is not a known word. Is it misspelled? *** Warning- line 7025 of mp3-aiml.top: kpbs is not a known word. Is it misspelled? Segmentation fault
How do I look up to see if a word is known or not? ( outside chat script, i.e. is there a file list I can loo at to see what to capitalize or not include a word? )
|
|
|
|
|
Posted: May 3, 2014 |
[ # 6 ]
|
|
Moderator
Total posts: 2372
Joined: Jan 12, 2010
|
First, segmentation fault is not a good thing. Can you run it compiled -g under gdb or give me source and let me do it?
second, chatscript is already telling you it is not known. If you want to know if the other form is known, you can do :word Ricardo to see if it is known as a proper name.
Dion, Erika, Katie, Ricardo, Reiki, Kbps would all be cap words.
|
|
|
|
|
Posted: May 3, 2014 |
[ # 7 ]
|
|
Senior member
Total posts: 160
Joined: Mar 22, 2014
|
Bruce Wilcox - May 3, 2014: First, segmentation fault is not a good thing. Can you run it compiled -g under gdb or give me source and let me do it?
I’ll give you a file later today ( got to make breakfast for the kid first and get him off to kendo ) that can reproduce it. This is during ‘:build Alice’ on one of the translated AIML files from the standard Alice set I’m working on in the ChatScriptBrains project. I figure an alice set + a way to translate AIML files to CS (at least to the 80% lvl with commented data regarding the parts it couldn’t translate so they could be hand modified ) would lower the barrier for people to try CS out.
Bruce Wilcox - May 3, 2014: second, chatscript is already telling you it is not known. If you want to know if the other form is known, you can do :word Ricardo to see if it is known as a proper name.
Dion, Erika, Katie, Ricardo, Reiki, Kbps would all be cap words.
Again, this is on load of a translated AIML file - I was asking if there was a db or something I could access outside of CS to check this during the translation process from perl. I suppose since I got perl to work with an embedded CS dyn library already I could just use that to check each word, but then I’ll have to figure out how to detect proper nouns etc. Actually, now that I’ve thought that through I think the more likely approach is to load the file in CS, capture all the warnings into a ‘to be CAP’d’ word list and then fix all those warnings with another script. That would be easier.
|
|
|
|
|
Posted: May 3, 2014 |
[ # 8 ]
|
|
Moderator
Total posts: 2372
Joined: Jan 12, 2010
|
Yes, grepping the chatscript log for the warnding is doubtless easiest.
|
|
|
|
|
Posted: May 3, 2014 |
[ # 9 ]
|
|
Senior member
Total posts: 160
Joined: Mar 22, 2014
|
Todd Kuebler - May 3, 2014:
I’ll give you a file later today that can reproduce it.
https://dl.dropboxusercontent.com/u/47427484/mp3-aiml.top
put that in a fresh bot and :build - it should crash
|
|
|
|
|
Posted: May 4, 2014 |
[ # 10 ]
|
|
Moderator
Total posts: 2372
Joined: Jan 12, 2010
|
Rats. You were about 10 minutes too late. I just posted a new build.
I have found and fixed the crash you got. I can ship you a new executable with that fix… send me an email to my gmail account and I’ll send you back a zip of the correct src directory.
|
|
|
|
|
Posted: May 4, 2014 |
[ # 11 ]
|
|
Moderator
Total posts: 2372
Joined: Jan 12, 2010
|
CS 4.33a now up fixes the crash
|
|
|
|
|
Posted: May 21, 2014 |
[ # 12 ]
|
|
Member
Total posts: 5
Joined: May 16, 2014
|
I just spent the last week cleaning up the Alice brain that came with your zip. What I have now compiles with no errors, but as a disclaimer I have been editing it with our project in mind so I have removed references to Alice, most of the content deemed inappropriate for the audience, some dated/controversial references, etc. That being said, it still has a LOT of good stuff. I also made a list of words I added to the dictionary to make it work. I’d be happy to send you the zip if you’s like to add it Todd.
|
|
|
|
|
Posted: May 22, 2014 |
[ # 13 ]
|
|
Senior member
Total posts: 160
Joined: Mar 22, 2014
|
Robert Jackson #2 - May 21, 2014: I just spent the last week cleaning up the Alice brain that came with your zip. What I have now compiles with no errors, but as a disclaimer I have been editing it with our project in mind so I have removed references to Alice, most of the content deemed inappropriate for the audience, some dated/controversial references, etc. That being said, it still has a LOT of good stuff. I also made a list of words I added to the dictionary to make it work. I’d be happy to send you the zip if you’s like to add it Todd.
Sure - glad to add it. Have you checked the github project lately? There are more and better quality files there as I incrementally better my translator script.
Send the zip to my email address which is myfirstname at mylastname dot org but of course replace the obvious with the obvious.
|
|
|
|
|
Posted: May 24, 2014 |
[ # 14 ]
|
|
Senior member
Total posts: 160
Joined: Mar 22, 2014
|
Hey Robert - did you just use the simple control.top file from harry? I’m guessing I need to add that in and probably do the fake keyword hack like the alice bot too to get the bot to act normal?
I’ve named the bot ‘Jennifer’ if that’s ok with you.
-tk
|
|
|
|
|
Posted: Nov 26, 2014 |
[ # 15 ]
|
|
Senior member
Total posts: 160
Joined: Mar 22, 2014
|
Bumping this - we have some new chat script people, want to make sure everyone knows about this resource. Hoping to do some more work on the Alice -> CSalice over the holidaze.
|
|
|
|