A talking computer

This is a discussion on A talking computer within the C++ Programming forums, part of the General Programming Boards category; I know this may sound crazy, but this is the program I'm working on: My program basically creates an enviroment ...

  1. #1
    hacker in training AdamLAN's Avatar
    Join Date
    Sep 2004
    Posts
    56

    Lightbulb A talking computer

    I know this may sound crazy, but this is the program I'm working on:

    My program basically creates an enviroment where the user can talk to the computer, the computer responds based on "emotions" (which are actually carefully determined numbers). I have been working on this for a while, and I am confident it is possible.

    The first step is to make it understand English and sentences, recognize words the same way a human does:by remembering the part of speech, and the emotion tied to it, and the importance it has. Emotion and Importance are determined by numbers.
    To make it understand English entirely is almost impossible, so instead, I'm making it understand definitions and simpler words that can define things. One problem is finding these "basic words", if anyone can help me, I'd appreciate it.
    The next thing to do is once it understands the words, to the sentences they're part of to determine what it means. Averaging the emotion and importance numbers and storing them in arrays works nicely, and storing the words of the sentence in an array and defining them may also work (I hope). Once it finds the meaning, it can then use a personality code (with a lot of "if" statements) to determine the numbers of the response. Then it passes through the grammar code, which transforms the numbers into sentences, which are then outputted.

    The next step is to create the personality code, basically determining what to say to the user based on what the user and computer are talking about. I'm having some difficulty with this.

    Finally, the last step is to create a function where if the subject of a sentence is "You" or "computer" and the sentence is not a question it will respond with "yes" and perform the verb, or "no, i cannot" and not perform it. Basically, the user could say "Computer, create a text file" and it should say something like "Yes, Sir". This is also difficult.

    If you think you can help, send me an email. I won't try to explain the method that each part uses to work here, but if you can offer help (like from years of expertise in C++) I would greatly appreciate it.


    Sincerely,
    Adam

    PS: UPDATE : This is based on TEXT input, not sound.
    Last edited by AdamLAN; 09-22-2004 at 06:40 PM.

  2. #2
    Registered User
    Join Date
    Aug 2004
    Location
    San Diego, CA
    Posts
    313
    Some common verbs for a computer..

    Create <filetype> <filename>
    Launch <filename>
    Execute <filename>
    Delete <filename>
    Move <filename> <pos1> <pos2>
    Open <filename>
    Make <filetype> <filename>
    Close <window>
    Control <verb>
    Alt <verb>
    Windows <key>
    Focus <window>
    Show <window>
    Hide <window>
    Maximize / Minimize <window>
    Fullscreen <window>
    Size <window> <X-width> <Y-width>

    Just some ideas.

  3. #3
    i dont know Vicious's Avatar
    Join Date
    May 2002
    Posts
    1,200
    I think the most important thing, would be checking for these key words and where they are relative to other words.

    For example.

    Create a text file. Name it llamma.

    For the computer to know what to name llamma you would have to check prior context.

    (sorry talking outa my head, it just your idea excited me! )
    What is C++?

  4. #4
    Registered User axon's Avatar
    Join Date
    Feb 2003
    Posts
    2,572
    AdamLan,

    that is an ambitious goal my friend, but you don't know what you're getting yourself into!! I have been working on this for over two years now...it is coming along quite well, but it has taken up a lot of my free time.

    If you really want to do this, and do it right, you will need a huge amount of determination and skill. What is your programming background? what language are you planning to implement you bot? will it be text based or sound (!?) based. From your post I'm assuming sound, and if it is, then you are starting all wrong.

    I recommend you get and read a couple of books before you do anything else, and most importantly:

    Robert Schank - "Tell me a story" // great book about "understanding" speech etc

    and another book that has changed my perspective and approach (kinda set me back to the beginning actually) is Simon Haykin's "Neural Networks". Before, my whole project was based on symentec networks, but if you want to revolutionize the field of AI you must go with neural networks.

    So, my friend, you better quit before you start


    some entropy with that sink? entropysink.com

    there are two cardinal sins from which all others spring: Impatience and Laziness. - franz kafka

  5. #5
    Registered User axon's Avatar
    Join Date
    Feb 2003
    Posts
    2,572
    oh yeah, and you could also check out http://www.alicebot.org/ the silver version is quite great and subscription to it, and other great resources (which I recommend if you are series about it) is only like 30 bucks.

    The online version of alice bot works "kind-of" like your description of the approach, which isn't good at all. They are making the online ALICE better, she could retain some info and use it into further conversation...she also stores unique phrases and questions she has never been asked before.

    some entropy with that sink? entropysink.com

    there are two cardinal sins from which all others spring: Impatience and Laziness. - franz kafka

  6. #6
    i dont know Vicious's Avatar
    Join Date
    May 2002
    Posts
    1,200
    Ooooh make the AI so good that if you say "Computer, make a text file.", it says... "What.. no, do it your self you lazy retard, jeez."
    What is C++?

  7. #7
    Super Moderator
    Join Date
    Sep 2001
    Posts
    4,913
    Dude, that is soo 5 minutes ago. They already have an AI program called govtcheez that keeps people in their place on the boards. There are also prototype versions running under the names of quzah and axon.

  8. #8
    i dont know Vicious's Avatar
    Join Date
    May 2002
    Posts
    1,200
    Quote Originally Posted by sean_mackrory
    Dude, that is soo 5 minutes ago. They already have an AI program called govtcheez that keeps people in their place on the boards. There are also prototype versions running under the names of quzah and axon.
    rofl
    What is C++?

  9. #9
    Registered User axon's Avatar
    Join Date
    Feb 2003
    Posts
    2,572
    >>prototype versions running under the names of quzah and axon.<<

    yes. they are newer, more advanced models

    some entropy with that sink? entropysink.com

    there are two cardinal sins from which all others spring: Impatience and Laziness. - franz kafka

  10. #10
    Code Monkey Davros's Avatar
    Join Date
    Jun 2002
    Posts
    812
    What you describe is often called a 'chat bot' today. People have been working on these since the 1960s; the most famous being ELIZA.

    I would forget about any notions about writing a program which can 'understand English like a human'. While I may believe that computers posses the ability for intelligence, I don't think it will be done by breaking up sentences into component parts.

    I have spent many years trying (since around 1986). You can find my last and final embarrasing effort here:

    http://www.generation5.org/content/2001/answer.asp

    There has been a lot of effort in developing these kind of programs, a field generally called NLP (natural language processing). In the 80s, people used to talk about 'expert systems'. Recently, there has been an effort called CYC - which maybe worth taking a look at, of only to see what you are getting into.

    Personally, I would either quit or keep your expectations very low.
    OS: Windows XP
    Compilers: MinGW (Code::Blocks), BCB 5

    BigAngryDog.com

  11. #11
    Registered User Elhaz's Avatar
    Join Date
    Sep 2004
    Posts
    32
    Hi AdamLAN,

    To make it understand English entirely is almost impossible, so instead, I'm making it understand definitions and simpler words that can define things. One problem is finding these "basic words", if anyone can help me, I'd appreciate it.
    You might try Ogden's Basic English. It's a bit old but it gives a list of 850 basic English words.

    Be sure to note the "criticisms" section, though, in the above link.

    You might also look into ESL/EFL teaching resources for lists of words and basic grammar patterns. Check out, for example, Oxford Bookworms. They publish readers that have a controled vocabulary (headwords) and grammar base.

    These might give you something to go on from a language point of view. But from what the other guys have been saying sounds like you've got a long hard road ahead. Best of luck to you!

  12. #12
    Never Exist Hermitsky's Avatar
    Join Date
    Jul 2004
    Posts
    149
    to create a program that could talk to people, i think, is a work that will never end and make no sense.

    if you want this program to talk like humen do,that means you have to made this program "thinking" like humen do.it is impossible, because program and our mind are completely different.
    program is programmed,but our mind is free~

    and,who want to talk to a computer ?
    if i need someone to talk to, i would prefer humen-beings rather than computers.
    the basic communication between people and computer for information passing is entirely enough.



    what is your opinion ?

    blow me ... ...

  13. #13
    Registered User axon's Avatar
    Join Date
    Feb 2003
    Posts
    2,572
    Quote Originally Posted by Hermitsky
    to create a program that could talk to people, i think, is a work that will never end and make no sense.

    if you want this program to talk like humen do,that means you have to made this program "thinking" like humen do.it is impossible, because program and our mind are completely different.
    program is programmed,but our mind is free~

    and,who want to talk to a computer ?
    if i need someone to talk to, i would prefer humen-beings rather than computers.
    the basic communication between people and computer for information passing is entirely enough.



    what is your opinion ?
    I strongly believe that we are less than a decade away from creating an intelligent machine. I very much think that it is possible not to simulate thinking, but to actually make the machine think.

    My project (named Fyodor) will learn as a baby learns, only much faster. I don't think it is possible to simply code an allready thinking bot; first you need a complex simulation of a neural network...

    some entropy with that sink? entropysink.com

    there are two cardinal sins from which all others spring: Impatience and Laziness. - franz kafka

  14. #14
    Never Exist Hermitsky's Avatar
    Join Date
    Jul 2004
    Posts
    149
    I strongly believe that we are less than a decade away from creating an intelligent machine. I very much think that it is possible not to simulate thinking, but to actually make the machine think.
    My project (named Fyodor) will learn as a baby learns, only much faster. I don't think it is possible to simply code an allready thinking bot; first you need a complex simulation of a neural network ...

    to make the machine think is the job for physicists and biologists, not for programmers.
    as you said, we need a complex simulation of a neural network that can work like our brain.

    and,if the machine can think as we do , then there is nothing to do with programmers.

    blow me ... ...

  15. #15
    Registered User axon's Avatar
    Join Date
    Feb 2003
    Posts
    2,572
    >>to make the machine think is the job for physicists and biologists, not for programmers.<<

    physicits?? why the hell do e need physicist; this HAS to be joined effort of biology/neurology and computer science

    some entropy with that sink? entropysink.com

    there are two cardinal sins from which all others spring: Impatience and Laziness. - franz kafka

Page 1 of 2 12 LastLast
Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Is anyone ever a computer scientist outside of college?
    By indigo0086 in forum A Brief History of Cprogramming.com
    Replies: 25
    Last Post: 08-31-2007, 10:26 AM
  2. upgrade computer ?
    By teeyester in forum Tech Board
    Replies: 4
    Last Post: 10-11-2003, 10:51 PM
  3. Regarding Undergraduate Computer Majors
    By UnregdRegd in forum A Brief History of Cprogramming.com
    Replies: 11
    Last Post: 10-04-2003, 12:55 PM
  4. Visual C++ restarts my computer!
    By Misi in forum Tech Board
    Replies: 5
    Last Post: 11-20-2002, 03:58 PM
  5. computer sex
    By Unregistered in forum A Brief History of Cprogramming.com
    Replies: 5
    Last Post: 09-17-2001, 08:09 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21