Here are some more thoughts. Not especially insightful but at least I'm trying
Entire texts should be evaluated and not just single sentences. Spydaz has been attempting to implement this type of evaluation with his NLP programming. Just as a sentence has many rules of grammar to dictate the appropriate conveyance of information, groups of sentences have their own style of grammar. And just like sentence structures, the order of multiple sentences can indicate the type of information being presented. For instance, "Why was I at school today? It was because my parents made me go." This example would not make any sense in the reverse order.
On a larger scale of text evaluation you can examine essays and even books. Large texts often follows the Introduction/Body/Conclusion pattern. There are also a variety of styles of speeches, thesis statements, poetry, sonatas, arguments, etc.
As for evaluating specific types of information being conveyed (ie Reason , question, implication , opinion, etc.), sometimes we humans have to be told expressly what type of information is being presented. Or perhaps, we have to be expecting only a certain type. Occasionally, sentence types are obvious and are indicated by special words like "because". If I ask for a reason why my friend arrived late then I would expect an explanation. If I asked for your opinion that is what I would expect. However, if I was expecting a fact, but instead, received your opinion, I may not be able to distinguish the two. Basically, labeling the type of information being presented is sometimes faulty. It is sometimes difficult to understand the type of information being presented in any conversation.
Lots and lots of people are poor communicators... can I get an Amen! Understanding information being poorly presented can be difficult or even impossible for even a communication expert like Art
. Basically, you shouldn't set your sites too high when creating an NLP or an Inference/Deduction Machine. Somethings are only understood through various forms of telepathy
, or by truly knowing the converser's personality and personal history. Just do your best and try not to be a perfectionist when making a NLP. It takes a child a very short time to learn the basics of any language, but it will take a person years or even decades to fully understand some higher forms of communication.
So we start off with simple words, then we progress to basic forms of grammar. As children, we have very limited context, because we understand so little about our world. Things like inference and deduction (aka. logic) is barely even working. We probably spend most of our time crying or throwing tantrums because we cannot constructively deal with our emotions. This, I think, is the best place to start with a Chatbot, at the beginning of human language development.
We can convey lots of information through a simple subject-verb sentence. Children are demanding: "Daddy stop." Possessive: "My toy." Insightful: "Daddy Funny." We can demonstrate some conversational logic. Fire is hot. Hot is bad. (therefore) Fire is bad. Yes, this is overly simplified but it can be built upon. Try to convey every form of child logic and simple sentence structure to emulate a child and then attempt to build from there... see where it takes you. Try to make a child-like Ai that could pass a Turing test. Anyway, it's just a thought.