Hi,
I’m looking to catching up in the other threads. I always learn a lot while surfing chat bots.
Erwin,
What is the advantage of using Excel? Great question. I’ll give you my thoughts. I’m not referring to ‘recording and using’ macros. I’m talking about using the programming language and a significant amount if its capabilities.
* Rapid development and testing of chatting concepts…if you know VBA =)
* BASIC based language…has gotta be the simplest to learn. VBA is very similar to VB6…one of the most used languages to date…if I recall my facts. It is easier and more intuitive (IMHO) than C++, C#, Perl, VB.net, etc.
* Numerous flat database tables in a single workbook….limited only by PC RAM. A complete AIML stimulus-response database (45000+) may be placed into a single sheet (Excel 2003 supports 65536 rows and 256 columns). No need to know how to access various file types….just use the tables.
* Easy to add user interface (forms, buttons, list boxes, scrollbars, etc.)
* Easy to create unique classes (with properties and methods).
* Extended with Win32 functions (over 600+ operating system functions).
* Easy to look up and parse data.
* Can be extended easily with other libraries and controls:
- Supports regular expressions and pattern matching (VBScript)
- Internet access…downloading pages easily.
- XML reading/writing.
- Access to most databases via the ADO.
- Excellent file management capabilities with the file system object.
- Timers (Win32)
- Accesses Windows operating system and other Windows programs.
- Add voice (TextToSpeech)
* Plenty of documentation available…to do just about anything in VBA.
* Easy to build a scripting language to store learned procedures and knowledge.
* Code runs quickly.
I believe Excel/VBA has all the components to build a ‘proof of concept’ app or a full-blown chat bot. In fact, I’ve thought a lot about doing that this year to develop and test various techniques. With a bit of cajoling I might built a VBA chat bot this year…as a test platform. =)
Things I can not do? I can’t (don’t know if possible) how to create a Singleton class or create multi-threaded processes. I can simulate multi-threaded processes by having a different workbook in a different ‘instance’ of Excel working on various aspects of the same problem.
Regards,
Chuck