A few comments on this discussion.
1) It’s not entirely an “either/or” situation. I wrote the public interface for my chatbot that looks to the outside world like a Pandorabot (AIML), but under the covers it sends the user’s response to BOTH an AIML pandorabot and ChatScript. If Chatscript says it has no good reply, the interface sends the Pandorabot response back to the user.
That won’t scale up to thousands of users, but I only have a few users so it works just fine. That way I have the whole AIML basic dialog AND a maintainable ChatScript knowledge-base about the domain I care about. It “works for now.”
2) The example question about “knowing everything about Excel” seems to me both ill-formed and misleading.
A question back: How long would it take someone to simply type out “everything about Excel”, with no supporting dialog infrastructure at all?
How long would it take just to type “The Excel Bible” or whatever one of those 1400 page tomes is called?
The problem is somewhat fractal and depends on the user’s state and mental capacity. How long it would take if every fact had to stand alone on less than a page of text is different from how long it would take if one can determine some expertise and shared context.
So, if a Chatbot knew exactly what the user already knew, how proficient they were, what level language they could understand, what other languages they knew, etc., the answer to a question might only require two sentences, or a link to a web-page.
In other cases, the Chatbot or a wise person might reply ” That very concept is so far beyond you I won’t even begin. It would take two years for you to understand enough to know what the answer entails.”
3) My programming team documented some legacy systems using a wiki. Every time we came to a new area, we looked to see what we had down in the wiki, and added a little if there wasn’t enough. Over a year we developed pretty good documentation for the PART OF THE WORLD WE CARED ABOUT, in the ORDER WE CARED ABOUT IT.
I can imagine creating a Chatbot similarly, starting with the most frequently asked questions and working back slowly towards the less frequently asked ones, at each point slowly but inexorably shifting the technical support burden from human beings on the “help desk” to the automated system.
Such an approach would never actually “finish”, but be a member of the “Church of our Lady of Perpetual Beta”.
But no matter, it would be very helpful, not waste time on minor issues, not waste time on very complex and hard to program dialogs, and all of it would be somewhat irrelevant within a year when the NEW VERSION of the software came out and all the rules changed.
4) For something like that, it would seem that a chatbot-assistant who could help a person navigate the existing knowledge bases would be a better plan. The assistant might not need to understand the details of what is being searched, if what’s stored has good structure. The assistant might only need to know how to ask: “What part of what you just read was useful? Highlight the part that was NOT desired. Give me a few more clues and I’ll write a much better query for you that will zero in on what you want.”
So now the Chatbot isn’t an expert in Excel—it’s an expert in navigating whatever web pages exist at this moment related to Excel, and helping humans create better queries.
Which, perhaps, is a better approach than the original question.
Anyway, fodder for thought.
Wade