CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 7 of 7
  1. #1
    Join Date
    Apr 2014
    Posts
    2

    Question How would you approach this?

    Hello there!

    I'm sure some of you have seen the Iron Man films by now, if not they are awesome you should watch them.. anyways to the point..

    I'm starting a new project, yes I want to program my own "Jarvis", I have "Medium" knowledge with C++ and C#.

    So my question is, is it possible to make like a "database" with "all" the words in the English dictionary (maybe using an online API?), and make like layers with one that contains the meaning of the word, and another with how the word can be used in a sentence.

    And after TONS of programming end up with a program that is able to look though the "database" and know how to "respond"?

    I'm asking is because I really want to start working on it, but I currently have no idea how to start it all? And ofc, I know this is not a "one-day" project.

    And It will take a long time with my "Medium" knowledge.

    But please if you have any suggestions of how this could be executed let me know.

  2. #2
    2kaud's Avatar
    2kaud is offline Super Moderator Power Poster
    Join Date
    Dec 2012
    Location
    England
    Posts
    7,824

    Re: How would you approach this?

    All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!

    C++23 Compiler: Microsoft VS2022 (17.6.5)

  3. #3
    GCDEF is offline Elite Member Power Poster
    Join Date
    Nov 2003
    Location
    Florida
    Posts
    12,635

    Re: How would you approach this?

    Assuming you're talking about having a conversation with a computer, I don't think I would. Some of the best minds in computer science have been working on it for decades, and still have a way to go. I don't think it's a project you take on for funsies.

  4. #4
    Join Date
    Apr 2014
    Posts
    2

    Re: How would you approach this?

    I'm not talking about having a human conversation with the computer..

    What I was thinking was having like a "dictionary" of words, their meaning, their usage, etc.

    And then have a "database" with the expressions, and phrases possible.

    And if I then were to say e.g. "Hello Jarvis, how are you".

    Jarvis would then use the "database" to generate a "natural" respond. e.g. (I'm fine, it's a great day today.) or something like that.

    This would take a lot of training for it to be able to combine the right words.

    And then also be able to override words, like every time it uses the word "internet" it should say "World Wide Web" instead. (I know that is a stupid example)..

    I hope this makes sense? But looking at my description here, do you think it would be possible?

  5. #5
    Join Date
    Jan 2006
    Location
    Singapore
    Posts
    6,765

    Re: How would you approach this?

    Quote Originally Posted by Evilsystem
    I'm not talking about having a human conversation with the computer..

    And if I then were to say e.g. "Hello Jarvis, how are you".

    Jarvis would then use the "database" to generate a "natural" respond. e.g. (I'm fine, it's a great day today.) or something like that.
    I think that you need to be clear as to your objectives, and then investigate possible ways of achieving it. At the moment, I do not see how a "natural" response is not (the start of) a "human" conversation.

    There certainly have been "chat bots" for quite some time (and a quick search of the Web for the term will bring up several). More recently, features like Apple's Siri also has some functionality for such "natural" responses. So, obviously, something along the lines of what you want is possible. The details of how to accomplish it therefore depends on your requirements. 2kaud's suggestion to investigate natural language processing definitely is a right place to start.
    C + C++ Compiler: MinGW port of GCC
    Build + Version Control System: SCons + Bazaar

    Look up a C/C++ Reference and learn How To Ask Questions The Smart Way
    Kindly rate my posts if you found them useful

  6. #6
    Join Date
    Nov 2000
    Location
    Voronezh, Russia
    Posts
    6,620

    Re: How would you approach this?

    Quote Originally Posted by Evilsystem View Post
    I'm asking is because I really want to start working on it, but I currently have no idea how to start it all?
    To start it you have to learn what people already did in this field. You find some community obsessed with the subject of your interest and join it. You learn the terminology and basics, and find a way to start participating. The best place to start is some University, I guess.

    And this is definitely not a matter of programming language, but rather computer science in general.
    Best regards,
    Igor

  7. #7
    Join Date
    Apr 2000
    Location
    Belgium (Europe)
    Posts
    4,626

    Re: How would you approach this?

    if all you want is the computer to respond with premade answers to premade input-tekst, then that is fairly simple.

    Get a speach recognition library (there's several good and free ones). learn how to use it.
    Either pre-record all the responses as singular wave/mp3 files.
    or use voice synthesis software (there's one default in windows used by the narrator), but you may not like it's voice or how it interprets certain tekst.

    If you want the computer to "understand" what you are saying to it, and make it respond "on it's own" with semi intelligent responses, thenthis becomes a lot more difficult. as someone said before, many (teams of) developers have been trying to do this for years. ANd while it's possible to make computers "seem" semi intelligent, they're actually quite dumb in their responses if the human starts to ask things the computer wasn't programmed to handle.

    There's basic software out there (even source) for an automated "chat bot", it may do what you want, but like said, they tend to be pretty 'dumb' although they can be programmed to handle specific usage cases. some call centers use software like this as 1st line customer support.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured