Well myself no programmer… so don’t know much but I think in my opinion there no difference in Chatbot Interpreter and rules engine if not taken in specific sense. A interpreter also works as per some rules. Doesn’t matter if we use it in the sense of basic or java language interpreter itself. Interpreter just means which interpret some code or text whatever (in general sense). But the job of interpretation can’t be done randomly. It’s a systematic process which obeys certain rule. Even natural language obeys rules just in more general form than hard core mathematics.
As far as natural language or language is concern. We always follow some rules while constructing or interpreting a dialogue or text. Without which everything is just garbage in the first place. Rules are not just about 2 + 2. Rule can be anything i.e a formal dress for some occasion kinda rule too and are more important in NLP case then in pure mathematics.
Marcus Endicott says…
One of the lessons I learned in Bangalore was that if your algorithms are sound then the programming language becomes irrelevant. Sound algorithms can be implemented in more or less any programming language..
I beg to disagree to some extend on this. Algorithm has nothing to do with any programming language. Its just plain logic or set of rules to follow to achieve some objective. So programming language becoming irrelevant or not is irrelevant in itself. Like even pseudo code fulfils all the requirement needed to construct a algorithm even if it naive in a sense. So the thing is, once you have something clear in your mind about what and how to do it. Naturally programming language doesn’t count that much here at this stage. But its relevance only kicks in, when you take up the things for final implementation. So you go for your choice of things. You might know some language so it becomes a choice. So does some language if it provides some benefits in coding or library wise. I mean these are decisions have nothing to do with actual algorithm thing. The algorithm you thought about to achieve whatever objective. It’s about matter of choice.
But maybe you mean something else here by just chatbot or language interpreter. I just don’t know anything about except a bot called Alice And that to in general way ...not read its engine code… couldn’t do it with my capacity of things (novice programmer) ...smile.
But sure mathematics and general algebra has much to do with NLP thing if not all. Our mind is a rule based engine in a sense. Not strict mathematical type of ..but more liberal and broader and in general sense. At the base level ours is still a very efficient pattern recognition and comparison machine. But its new rule could be just a new pattern rather than any typical mathematical formula. We form upper level rules on top of that basic consciously or maybe something not so consciously. But it is this simple pattern recognition and comparison mechanism that gives us the ability to deal or survive in unpredictable environment. Cause you just have to detect difference or similarity and it become yet another rule.
And I think the basic level mathematics or set theory is very much used in normal talks. Just it is used in more general form and we selectively use it on certain conditions. i.e. A normal set theory can’t be used liberally on the word level within a sentence but are tactically used at entity level. In raw essence a sentence is just a collection of some entities in some ordered form. But it looks like that more of because you tend to see it through one language. There is certain way of saying things in language but if you take up all languages as whole or some free-form language this phenomena is more noticeable then in English. More when we do day to day talking than when we write things. A verb or noun positions could be easily interchanged and they mean the same things occasionally. Actually its call freezing of time within a frame or lets say one sentence. When you do uttering a sentence time doesn’t change. You just stating things without any regard to time factor most of the time if not all. Especially within a sentence.
i.e. you describe a scene with 3 or 4 sentences. Like…
Ram was running on the road. A truck was coming from opposite direction. And was coming too fast….
Most probably they can be ordered in anyway, until of it makes this time factor change or some other reason kicks in. Like in this case third sentence can’t be put before 2nd one untill you expect to annoy somebody ..smile. That is, you can’t state a property of something before you say what thing it is. . So comes into play other conditions or reasons to make thing stiff. Not good with my English I am, But I hope you get much stimulant to work out what I meant to say here. And that’s how I think our mind make use of as well ...stimulation element. You just have to systematic with your approach, that’s all. Logical I mean.
So its all about…
A rule is only as good as it is applied sensibly.
So whether you call your thing a interpreter or rule based engine or something. You can’t make a interpreter without any rules, can you? More or less of it can vary. So if this the criteria of differentiation then ..what can I say ..else both mean same thing to me.
And let me add a last line. The power of pattern recognition is not fully utilized if not done comparison. Doesn’t need to be in strict literal sense ..smile. But its at this level the simple pattern becomes a rule by itself. The more finer pattern you can decipher (knowledge) the more powerful your analysis becomes. And I think that’s the problemo with normal AIML based bots. They have to use it in some more refined and powerful way then just matching the bunch of text and outputting predetermined not so flexible output. Sure one can do it within the AIML frame work as he/she can do it any other way he/she likes. You just do thing in more systematic way and your chatbot becomes a expert system in itself. General one I mean!
But by the way AIML is import/export format isn’t it ..that’s what XML is I suppose….smile.
Lastly, Hiya guys to all of you! for who may know me and for who don’t
NickyBlue
(Note: Anyway rules are good for there own reasons… A purchi (cheat paper) is far more better than long hours of pure training sometimes ..smile)