|
Posted: Jan 24, 2013 |
[ # 31 ]
|
|
Guru
Total posts: 1081
Joined: Dec 17, 2010
|
Bugs:
aimlif/OOB.csv
aimlif/dialog.csv
are not formatted correctly to read as a CSV file in windows (new line problem?). Entire file shows up in first row.
Spelling Errors in AIMLIF file:
inappropriate.aiml
<srai>FILTER INAPPROPRAITE</srai> inappropriate.aiml
should be
<srai>FILTER INAPPROPRIATE </srai> inappropriate.aiml
|
|
|
|
|
Posted: Jan 24, 2013 |
[ # 32 ]
|
|
Moderator
Total posts: 206
Joined: Jul 1, 2009
|
Not sure what the problem is with those files. They open properly in Excel for me. Did you edit them?
If you edit the CSV files you have to be careful to avoid “,” and newline in the template. Use #Comma and #Newline instead.
Thanks for catching the spelling mistake. I’ve fixed it for the next release.
|
|
|
|
|
Posted: Jan 24, 2013 |
[ # 33 ]
|
|
Guru
Total posts: 1081
Joined: Dec 17, 2010
|
I did not edit it.
I just ran a check by unpacking the zip file and opening OOB.csv.
The file shows up in the first line when opening with excel.
It looks ok if I open it in a text editor. I am not exactly sure what is going on.
|
|
|
|
|
Posted: Jan 24, 2013 |
[ # 34 ]
|
|
Guru
Total posts: 1297
Joined: Nov 3, 2009
|
Richard Wallace - Jan 24, 2013: it looks like you may have an error in your CLASSPATH. Look at run.bat and check that your java command looks like:
java -cp out/production/ab;lib/commons-codec-1.6.jar;lib/commons-logging-1.1.1.jar;lib/fluent-hc-4.2.1.jar;lib/httpclient-4.2.1.jar;lib/httpclient-cache-4.2.1.jar;lib/httpcore-4.2.1.jar;lib/httpmime-4.2.1.jar;lib/jgoodies-common.jar;lib/jgoodies-forms.jar;lib/json-20090211.jar;lib/kuromoji-0.7.7.jar;lib/sanmoku-0.0.5.jar;lib/sanmoku-feature-ex-0.0.1.jar Main bot=super action=chat trace=true
(Actually you don’t need
lib/kuromoji-0.7.7.jar;
—I will take that one out. I was experimenting with different morphological analysis libraries for Japanese input).
I converted the DOS batch file from Windows to a BASH script running in Linux.
There is a whole dialog to open about that. But for now, let me report that your
advice worked excellent.
Human: What is your favorite movie Robot: Right now my favorite movie is The Twilight Saga: Breaking Dawn - Part Two. Have you seen it? Human:
Thank you!
|
|
|
|
|
Posted: Mar 17, 2014 |
[ # 35 ]
|
|
Member
Total posts: 8
Joined: Jul 27, 2009
|
Gentlemen, I have been unable to find yet a description of the data base interface native to program AB.
Is it MySQL? Sequel server or .NET? More generally speaking, What are the issues when scaling up the engine to serving thousands of simultaneous users? What are the bottlenecks? On a bad day Alice, Capt Kirk, or Mitsuke must have hundreds of IO requests per minute. Where is buffering needed? Has there been prior discussion of this topic?
Perhaps I am not using the right keywords in my search. Please advise.
|
|
|
|
|
Posted: Mar 17, 2014 |
[ # 36 ]
|
|
Administrator
Total posts: 3111
Joined: Jun 14, 2010
|
I’m not 100% certain here, but I THINK that Program AB loads the AIML files into memory on initial startup, thus eliminating the need for a DB. Of course, I could be wrong here, but…
|
|
|
|
|
Posted: Mar 17, 2014 |
[ # 37 ]
|
|
Guru
Total posts: 1297
Joined: Nov 3, 2009
|
Stanley asked, “Is it MySQL? Sequel server or .NET?”
I tested Program AB on Linux, so that may rule out .NET and SQL Server. My test run consisted of JAVA compiled with a bunch of libraries, and AIML 2.0 files, Stanley.
Separately, there was also an offspring of two different chatbot technologies, Program O 2.0 and AIML 2.0 which I created to serve simultaneous users over the Internet. I gave my new hybrid the name Program OB. It was the first of its kind.
Merlin… Just the other day, I saved a CSV file on Linux. Then when I tried to open it up in Windows notepad editor… The CSV data all bunched up to the top in the editor. So, that type of compatibility issue may be solved, I think, easily.
|
|
|
|
|
Posted: Mar 18, 2014 |
[ # 38 ]
|
|
Member
Total posts: 8
Joined: Jul 27, 2009
|
Thank you guys. I now know Program AB is Java based, so shooting from the hip that would argue in favor of Oracle products. A interpreter is not satisfactory for a large scale transaction intensive application. Do any of you have an opinion on TRUE Java COMPILERS? What is the best Java compiler? Regarding the knowledge base, how large can it get before it cannot be cashed into memory? I know your average good bot will have 13,000 + phrase responses. As it is all text; with today’s hardware it is no problem. What about 50,000 + categories? Has there been much technical discussion of how to best exploit the new AIML 2.0 features such as set theory? Especially of interest would be examples of improved nuance or context accuracy in rebuilding a AIML 1.0 category to a new 2.0 category.
BTW: is Program OB shareware or proprietary? Why did you build from program O?
|
|
|
|
|
Posted: Mar 18, 2014 |
[ # 39 ]
|
|
Administrator
Total posts: 2048
Joined: Jun 25, 2010
|
The AIML bot Mitsuku has over 250,000 categories and responds almost instantly on Program AB. When preparing for the Loebner Prize, the Professor had around 500,000 categories which took around 8 seconds to initially load into memory but again, answered almost instantly.
AIML 2.0 is backwards compatible with AIML 1.0 and so no rebuilding is necessary.
|
|
|
|
|
Posted: Mar 18, 2014 |
[ # 40 ]
|
|
Member
Total posts: 8
Joined: Jul 27, 2009
|
Hi Steve, I understand that AIML 2.0 is backwards compatible. What I’m asking for is improved context selectivity and more nuanced responses via AIML 2.0. I’m looking for examples of how to make the bot MORE intelligent via the new supported data structures of AIML 2.0 Take a catagory from 1.0 and show how to get more selective and accurate responses for the same catagory implemented via one of the new command structures in 2.0 And an example of a category type or structure that would not even be possible in 1.0 Perhaps is this discussed in a different thread?
Or perhaps there is a topic in Alice or Pandorabots?
How much ram does Mitsuku take to load up? How many users can Mitsuku handle on a busy day? Are stats available? Thanks for that answer too.
|
|
|
|
|
Posted: Mar 18, 2014 |
[ # 41 ]
|
|
Administrator
Total posts: 2048
Joined: Jun 25, 2010
|
I believe that the coolest feature that has been added in AIML 2.0 is the use of sets and maps. This makes it a lot easier to process many types of input. eg:
AIML 2.0
<pattern>IS <set>country</set> A COUNTRY</pattern>
instead of something like:
AIML 1.0
<pattern>IS CHINA A COUNTRY</pattern> <pattern>IS FRANCE A COUNTRY</pattern> <pattern>IS ITALY A COUNTRY</pattern> ... ...
How to make the bot more intelligent? Time and effort I’m afraid. No matter what tools you use, you still need to put the effort in to making a great bot.
How much RAM does Mitsuku use? The Program AB version uses about 500Mb. Unsure about the server version, as this is managed for me.
How many users can Mitsuku handle on a busy day? The Program AB version was only in use for the Loebner Contest, as no internet connection is allowed and so only had 1 user at a time. The server version gets pretty busy at times. The Monday after I won the Loebner Prize and was featured on the front page of the BBC news website, she handled about 500-1,000 concurrent users at her peak, dealing with approx 10,000 exchanges per minute, all with no problems.
|
|
|
|
|
Posted: Mar 18, 2014 |
[ # 42 ]
|
|
Guru
Total posts: 1297
Joined: Nov 3, 2009
|
Stanley asked, “BTW: is Program OB shareware or proprietary? Why did you build from program O?” For anything shareware or proprietary for AIML, I would recommend Superbot by Dr. Wallace. It is important to support the A.I. companies in our chatbot community. For anything Program O, I would chat with Dave Morton.
During the rollout, compiling the JAVA AIML 2.0 interpreter was temporarily down. I launched Program OB during that brief downtime. The same AIML 2.0 worked with the Program OB PHP/MySQL chatbot interpreter. So, this isolated that temporary issue to the JAVA chatbot interpreter.
For the sake of chatbot history, Dr. Wallace confirmed me (on the Robitron list) as the first to launch an Alicebot as an official Facebook app. So the chance to make chatbot history again encouraged me to jump at this opportunity to beta test. Perhaps Dr. Wallace may be kind enough to confirm any of these observations which I made while beta testing the AIML 2.0 rollout:
Program OB beta test observations:
A. Program OB was the first AIML 2.0 chatbot on the Internet.
B. Program OB was the first AIML 2.0 chatbot using PHP and MySQL.
C. While beta testing I was the first to compile the JAVA AIML 2.0 chatbot on Linux.
|
|
|
|
|
Posted: Dec 5, 2014 |
[ # 43 ]
|
|
Member
Total posts: 14
Joined: Dec 5, 2014
|
Thank you for releasing this. Most AIML parsers out there are out of date and do not even compile or work with things like the learn.aiml. The best thing I found was ProgramD, but it did not work with learn.aiml or badanswer.aiml. I had a rough time compiling rebeccaAIML, and jalice didn’t work with random replies. The only thing that was listed at http://www.alicebot.org/downloads/programs.html that works well is Program O, but it is slow because it is running on PHP. Responses are anywhere between 200MS to 3 seconds.
There are a few things Program AB doesn’t do that is a must in my implementation, but I believe that I can fix that by modifying the code. Thank God for Open Source!
I love how you can train it, but it doesn’t seem to save the things you taught it. I am going to try to add code to save it into bots/alice2/config/learned.aiml and load it back when starting up.
Do you plan on releasing this to github? It is my prefered method of contributing and I’m sure others as well.
Do you want me to send you my changes?
|
|
|
|
|
Posted: Dec 5, 2014 |
[ # 44 ]
|
|
Administrator
Total posts: 3111
Joined: Jun 14, 2010
|
Hi and welcome, James.
I’m aware of Program O’s performance issues, though they’ve improved significantly over the past year. In fact, with Dr. Wallace’s approval, I’m working on incorporating Program AB’s GraphMaster algorithms into Program O, but it’s slow going, as I’m having to learn Java in the process.
|
|
|
|
|
Posted: Dec 5, 2014 |
[ # 45 ]
|
|
Member
Total posts: 14
Joined: Dec 5, 2014
|
I personally don’t know java ether, but I can find my way around from all the other langauges I know.
I added to Program AB the ability to have users seporated and the ability to change user using uc. Each user has their own predicates which is pre-filled by my IRC bot and session for history. It works well and I wrote a function to save the predicates so if the user decides they want to change what the bot calls them, they can.
People right now are teaching it many things using the learn.aiml and badanswer.aiml.
|
|
|
|