Closed gunthercox closed 8 years ago
Heads up: your link is dead
Remember that for the bot to be able to pass the Turing test, it should be able to answer questions like
Explain why the following story is funny/absurd: "A man walks into a bar and say 'Hello, it's me!' - but it wasn't him..."
My point is that although your implementation might pass a restricted Turing test, aiming for the full version will require more semantic analysis.
@justindomingue You have a valid point. As I've researched this topic more in-depth I'm beginning to see a trend in the types of questions that are asked. An example might be something such as
"What is the meaning of life?"
which is actually an invalid Turing test question. The problem with it is the assumption that the machine can't define the meaning of life because it isn't alive. In reality, producing a definition to answer a question is very easy to do.
At the moment, I believe that the best questions for a Turing test require the subject to express abstract application of their own knowledge. By this I mean that they have to be able to leverage their own knowledge toward an end result. An example I've been using for this is the following question:
Pretend you are Arnold Schwarzenegger.
This command should invoke some serious cognitive requirements to test the subject. This is because it requires self-recognition, knowledge of an existing subject, and the ability to apply that knowledge onto itself while using it to issue a response.
I'm in the process of researching more possibilities for valid Turing test questions. This is obviously a very long-term goal, but it is useful to have the idea out in the open so that it can be discussed.
Just wanted to post a few more thoughts here.
Turing questions
I'm going to close this off as a ticket and move the content of the discussion into the project wiki (https://github.com/gunthercox/ChatterBot/wiki/Turing-Test-Questions). Eventually my goal will be to create a document that proposes a methodology for creating good questions to ask a computer / human to try to determine which is which. Obviously this project is still a ways away from this level of interaction, but this is still a concept that is somewhat interesting.
I would like to allow this program to begin to address the Turing test concept.
A few common ways that users from a study attempted to determine if an entity was a computer or a person included the following:
I do not plan to immediately address the last two bullets regarding math and speed. The math questions inherently suggest that the chat bot should get some math problems wrong in order to seem more human. My view on this is that it is more useful to have a bot that is good at math, which could just as easily be a human. Also, the amount of time taken to respond is not critical at this point but could be easily added if needed.
A great selection of turing test questions: http://greatbird.com/turing/