Win a copy of TDD for a Shopping Website LiveProject this week in the Testing forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Jeanne Boyarsky
  • Tim Cooke
Sheriffs:
  • Liutauras Vilda
  • paul wheaton
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Carey Brown
  • Frits Walraven
Bartenders:
  • Piet Souris
  • Himai Minh

ideas to make lie detector app

 
Ranch Hand
Posts: 99
Eclipse IDE Firefox Browser Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Collective Brain!

After reading posts and taking advices, I decided on making a lie detector app. I have been working on the design part but I'm not able to make it efficient. Here is what I've come up with.

Goal: Detect if a person is lying or not.
Rules: Way to detect a lie. Read an article that talks about the rules, will be using that. It's a long list of rules.
Subject: The person being tested.

I'm trying to divide the subject in age groups and then to identify the percentage of people inclined to lying in the particular age group.

As of now I've come up with these suggestions and cannot think of anything more. I'm new to programming and looking to make use of polymorphism and data structures. Please help me out. Please suggest some more ideas to make this detector a bit more interesting.

Regards,
Mohan
 
Rancher
Posts: 43027
76
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Lie detectors work with biometrical data, and it doesn't sound like that's what you're proposing to do. So your app would perform some kind of Turing test?
 
Aki Mohan
Ranch Hand
Posts: 99
Eclipse IDE Firefox Browser Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Ulf Dittmer wrote:Lie detectors work with biometrical data, and it doesn't sound like that's what you're proposing to do. So your app would perform some kind of Turing test?



Actually not. What I am thinking is :
1. Ask a question.
2. Pre-filled values.
3. Check the values and detect if it's a lie or not.
4. Then check the subject's profile and calculate the % of people inclined to lie in a particular age group.

Should I look into Turing test? Is it something that a newbie like me would be able to code?
 
Ulf Dittmer
Rancher
Posts: 43027
76
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
So, for example, you would ask 10 questions of which you knew that the group the subject was in was liable to lie to with 70% certainly, and if the subject chose the "lie" answer 10 times, you'd deduce that the subject was a liar with (1-0.7)^10 % probability?

A Turing test is a conversation between a human interviewer and X, where the conversation happens like a Skype chat - you type in something, and X types something back. It is meant to decide whether X is another human being or a software algorithm. It is reckoned that computers have developed intelligence once the decision can't be made reliably. So far, no algorithm has passed it.
 
Marshal
Posts: 27211
87
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Aki Mohan wrote:3. Check the values and detect if it's a lie or not.



You realize that to do that you would have to know two things: (1) Whether the client answered the question incorrectly, and (2) Whether the client knew that his/her answer was incorrect, right? Number 2 is the key thing you have to know to determine whether the answer was a lie, number 1 isn't sufficient. Do you have a plan about how you're going to implement number 2?
 
Aki Mohan
Ranch Hand
Posts: 99
Eclipse IDE Firefox Browser Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Ulf and Paul,

So the idea was like this : we ask a question to the user, we would observe his movements and check with the rules. Just to be simple, say the user has been clinching his fist and squinting his eyes (or whatever). That means he's lying. We will ask 10 questions and based on that we would calculate the lying percentage : correct/total. Once this is done we would put this result into the database under say juvenile + convicted of stealing (something like that). This is how we will keep our own statistics of age group and inclination to lying.

Since there's no way of telling the actions or the movements of the user, I was planning on saving the movements and randomly picking them (someday when I'm good enough, I would like to implement this part in a much better way). I'm not sure about this part to be honest.

Are there any better ways of doing this? I could pick stuffs like making a calculator or calendar but this app interests me and so I'm keen on doing this.

Regards,
Mohan
 
Bartender
Posts: 10780
71
Hibernate Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Aki Mohan wrote:Since there's no way of telling the actions or the movements of the user, I was planning on saving the movements and randomly picking them (someday when I'm good enough, I would like to implement this part in a much better way). I'm not sure about this part to be honest.


Well you definitely should be before you start, because it's likely to be the "beating heart" of your project.

Are there any better ways of doing this? I could pick stuffs like making a calculator or calendar but this app interests me and so I'm keen on doing this.


And that alone probably makes it something to have a go at.

However, you could attack it in small stages. For example, a lie-detector is going to involve a subject answering questions, which is pretty much the same as a person answering a set of multiple-choice questions for an exam. So you could start out with a module that simply asks a bunch of questions, and records the results.

When you've got that working, then you could get into the business of "lying" (or "evasion"), and exactly what it entails.

However, in answer to your basic question: Yes, I think that picking "responses" at random is probably the way to go - especially if you can skew that randomness.
For example, you might want to be able to model a situation where someone is more likely to lie than not, so you can see how your detector analyses the results.

HIH, and good luck. I suspect you have quite a bit of work ahead of you.

Winston
 
Aki Mohan
Ranch Hand
Posts: 99
Eclipse IDE Firefox Browser Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yeah, it would be better to break down into smaller projects. Thanks Winston for your inputs.
 
Don't MAKE me come back there with this tiny ad:
Free, earth friendly heat - from the CodeRanch trailboss
https://www.kickstarter.com/projects/paulwheaton/free-heat
reply
    Bookmark Topic Watch Topic
  • New Topic