swapagarwal / JARVIS-on-Messenger

:speech_balloon: A community-driven python bot that aims to be as simple as possible to serve humans with their everyday tasks
https://m.me/J.A.R.V.I.S.on.Messenger
MIT License
1.35k stars 989 forks source link

Making general conversations #42

Open ghost opened 8 years ago

ghost commented 8 years ago

I think it'll be good if Jarvis can make conversations with us. Say I'm bored and neither of my close friends are online, so I'll text Jarvis like "Hey", " Hi" or "Hello" and so begins the conversation.

swapagarwal commented 8 years ago

Totally agree! This is one of the main focus right now, i.e. remembering the previous context. Can you list some sample conversations to be included?

ghost commented 8 years ago

Hi if(string contains "Hello". toupper()) Sup? How are you? Hey Jarvis

every type of conversation starters can be included

akarshHegde commented 8 years ago

What would be the logic to implement this?? (technical detail)

ghost commented 8 years ago

I've found a Python program named ChatterBot which can generate conversations. Their "How to" section says:

An untrained instance of ChatterBot starts off with no knowledge of how to communicate. Each time a user enters a statement, the library saves the text that they entered and the text that the statement was in response to. As ChatterBot receives more input the number of responses that it can reply and the accuracy of each response in relation to the input statement increase. The program selects the closest matching response by searching for the closest matching known statement that matches the input, it then returns the most likely response to that statement based on how frequently each response is issued by the people the bot communicates with.

ghost commented 8 years ago

The limitation to that approach is that the bot wouldn't know to be always polite even though negativity or sarcasm is introduced by the user. It would just become another Microsoft's bot that went good to super bad in less than 24 hrs.

swapagarwal commented 8 years ago

I'll look into this tonight and (hopefully) have an alpha version ready.

ghost commented 8 years ago

All the best bro :)

UshalNaidoo commented 8 years ago

@swapagarwal Have you managed to progress with this? in regards to the negativity, we could have a smart counter to the response and increment it with more of that response you get. Then in a response you have a sorted list of most common responses. This should (hopefully) prevent Jarvis from mutating into an evil version of Vision, especially since you only have testers working on it at the moment and it isn't in the public domain...We can build on the smarts as we progress.

MaxKusnadi commented 7 years ago

Hi I am new to the OSS community. Is this resolved? I suggest that we can use wit.ai to build a chat bot model. Basically we can train the ai to give responses according to the input. However, it is different from the Microsoft Bot as we get to select the responses. It is more of parsing the user input. I have tried it before and it is not bad.

swapagarwal commented 7 years ago

@MaxKusnadi Welcome Max! 😄 This is yet to be done. Jarvis currently uses wit.ai to understand the intent. This requires keeping a context in a conversation. Feel free to experiment with some ideas!

cardosource commented 4 years ago

Jarvis conversation in all languages ??