skip to Main Content

I’m currently using Java to code a program that can have conversations and solve problems.

So far, the program can only have conversations. The solving problems is still in process.
The program is capable of learning, however, it’s how I made that happen that gives me doubts.

The way my program learns new words is it stores them in a TreeView menu as branches.
Each branch (word) has sub-branches that give the word meaning.
Each sub-branch has sort of like different tags to differentiate the relation to the main branch.

For example, if I teach it the word Hello and type Hello>>Hi, it then saves Hi as a sub-branch in the main branch Hello, but in the form of =s=Hi=s= to tell the program it’s a synonym of Hello, so it can use Hi instead of Hello. More synonyms can be added.

Though if you type, for example, Hello<>Greeting, it stores the branch Greeting in Hello in the form of =m=Greeting=m=. To show that Hello is a type if greeting.
There is more, but too much to explain.

Just my cheap attempt on A.I.

Can this class as a program learning? Or have I got a long way to go?



  1. As per definition of AI:- It’s the capacity to perform operations analogous to learning and decision making in humans.

    Your program do seems to learn the new words and make decision on what type of word it is i.e. Hello, Hi –>Greeting

    But more than learning, how you control its learning will be AI. For example if I use a bad word for greeting, it should not learn it. Controlled learning and decision-making do make your program a true AI program.

    Login or Signup to reply.
  2. You have actually started to learn AI. And this what you do is called giving ground terms manually for the machine. But AI is something that the system learns by itself. For example, now you have taught that hi is a way of greeting, if some other user greets it, it must greet him too. And yes you will be writing logic for that too. You cannot fully achieve AI such that the computer learns itself without writing any logic for it (only fictional characters like Jarvis can do so).

    To be frank I am not deep into machine learning and AI. But to my perception, I think some sort of implementation which involves human like thinking would be better. For example, try to implement a chess game. In that you have back tracking. You can get a better understanding. Properties of each coin and their power is what you give as ground terms(base knowledge). And based on the moves of User, system must analyze future moves and predict user’s view and backtrack to make its move.

    Not sure whether I answered your question, but you seem to be doing cool stuff, thumbs up for you, move on and develop cool and small scale AI systems first which involves lot of computation and Algorithm stuffs.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top