d2jsp
Log InRegister
d2jsp Forums > Off-Topic > Computers & IT > Programming & Development > Chat Ai
Prev1234567Next
Add Reply New Topic New Poll
Member
Posts: 13,425
Joined: Sep 29 2007
Gold: 0.00
Warn: 20%
Mar 17 2016 06:57am
I haven't thought about attempting to design templates for responses rather than unique chains per response. I'll have to ponder about that one for a bit and see how I could implement something. Could you go into a bit of detail if you can about the templates? Do you just mean noun verb adverb combinations that form a valid sentence or some other form of template?

And I don't expect this project to pass a Turing test since it is more of a side project. It's just from what I've seen online all the deep learning ai isn't public and owned by large corporations or they are to simple by using pure question response pairs. I am particularly excited about Microsoft's Xiaoice which they were testing in China though.

This post was edited by AbDuCt on Mar 17 2016 06:59am
Member
Posts: 14,631
Joined: Sep 14 2006
Gold: 575.56
Mar 17 2016 07:35am
did you just look at my post and see a link then decide that was it?
don't even bother looking at what it is, if you actually think rating 1000 different responses for every user input is a valid idea then a bayesian network is beyond you

gave you what you asked for, u know you started this insulting. sorry i got mad when u flipped out on me for telling you it wouldnt work
i overreacted
but it wont work
Member
Posts: 13,425
Joined: Sep 29 2007
Gold: 0.00
Warn: 20%
Mar 17 2016 07:43am
Quote (Ideophobe @ Mar 17 2016 09:35am)
did you just look at my post and see a link then decide that was it?
don't even bother looking at what it is, if you actually think rating 1000 different responses for every user input is a valid idea then a bayesian network is beyond you

gave you what you asked for, u know you started this insulting. sorry i got mad when u flipped out on me for telling you it wouldnt work
i overreacted
but it wont work


I did read it. Did you notice that your article also links to Markov edge networks lol.

Also how do you think megahal and cobe work, one of which won Turing tests. They generate thousands of ouputs, rank them, and picks the best one.

Then again megahal uses a simple stochastic predictive model rather than Markov chains which I have also been researching.

This post was edited by AbDuCt on Mar 17 2016 07:44am
Member
Posts: 29,345
Joined: Mar 27 2008
Gold: 504.69
Mar 17 2016 07:51am
I have thought about the subject before but I clearly don't have the application knowledge you do.

But my "solution" if you could call it that would be based on feedback.

In communication, if someone was to ask you a seemingly simple question and you give a garbled non-related answer they would give you a funny look. You would take that look as feedback telling you that is not an appropriate response.

So, implement a way that you can give feedback to the AI's resposne. Then when it comes time to selecting one it will choose more heavily on the more accepeted responses. Over time it will "learn" based on feedback what appropriate responses are.

This post was edited by ROM on Mar 17 2016 07:52am
Member
Posts: 13,425
Joined: Sep 29 2007
Gold: 0.00
Warn: 20%
Mar 17 2016 07:56am
Quote (ROM @ Mar 17 2016 09:51am)
I have thought about the subject before but I clearly don't have the application knowledge you do.

But my "solution" if you could call it that would be based on feedback.

In communication, if someone was to ask you a seemingly simple question and you give a garbled non-related answer they would give you a funny look. You would take that look as feedback telling you that is not an appropriate response.

So, implement a way that you can give feedback to the AI's resposne. Then when it comes time to selecting one it will choose more heavily on the more accepeted responses. Over time it will "learn" based on feedback what appropriate responses are.


That is indeed possible althoughs fairly complicated to do. It has to do with sematic and synonym processing. CHATSCRIPT does something similar iirc for parsing "yes" and "no" answers for similar ways to say them. For example "affirmative" and "absolutely" could count towards a "yes" answer for the question.

This post was edited by AbDuCt on Mar 17 2016 07:58am
Member
Posts: 29,345
Joined: Mar 27 2008
Gold: 504.69
Mar 17 2016 08:03am
Quote (AbDuCt @ Mar 17 2016 09:56am)
That is indeed possible althoughs fairly complicated to do. It has to do with sematic and synonym processing. CHATSCRIPT does something similar iirc for parsing "yes" and "no" answers for similar ways to say them. For example "affirmative" and "absolutely" could count towards a "yes" answer for the question.


Yeah, I've read through the thread and everything seems complicated to me. ;)
Anyways gl.
Member
Posts: 1,995
Joined: Jun 28 2006
Gold: 7.41
Mar 17 2016 09:08am
Quote (AbDuCt @ Mar 17 2016 07:57am)
I haven't thought about attempting to design templates for responses rather than unique chains per response. I'll have to ponder about that one for a bit and see how I could implement something. Could you go into a bit of detail if you can about the templates? Do you just mean noun verb adverb combinations that form a valid sentence or some other form of template?

And I don't expect this project to pass a Turing test since it is more of a side project. It's just from what I've seen online all the deep learning ai isn't public and owned by large corporations or they are to simple by using pure question response pairs. I am particularly excited about Microsoft's Xiaoice which they were testing in China though.


Well what I was thinking was how you normally take a set of sentences and train the system to build markov chains based on how likely it is for a word to follow another particular word right? So if you visualized a giant wall of text as a graph, where each distinct word is a node, and if a word neighbors another word then these nodes would be connected by an edge. The weight of this edge would be how frequent these words appear next to each other. From this graph you can generate an adjacency list and then use this to drive your Markov Chain generator. My idea is to extend this process from not just neighboring words, but neighboring sentences. For instance, if you trained your system with a text transcript of a full conversation, then you would have a good set of statement -> responses. The idea is you can then receive a sentence as input, and then query for a sentence which matches that sentence to some reasonable degree (ie types of words, length of sentence, punctuation, specific key words etc), find what sentences had followed this particular sentence from that adjacency list, and use this information to determine how you should begin building your Markov chain as a response to the originally inputted sentence. The computations seem pretty heavy, which they are. Natural language processing is no small feat.
Member
Posts: 13,425
Joined: Sep 29 2007
Gold: 0.00
Warn: 20%
Mar 18 2016 12:31am
Yea, that makes sense and I believe I implemented something similar to this in a prior attempt.

You are describing something like this right?

Counting the number of times words neighbor each other, and then do a weighted selection which leans towards words that are seen together more often. Rather than giving each node a equal chance at being chosen.



I am not quiet sure what you mean by an adjacency list though.

As for training on a sentence basis, I would need an incredible amount of data to be able to train that. I could probably train it against cleverbot/mitsuku for testing purposes to build a decent test database (probably rather than speaking to them directly, take the output of one to feed the other and vice versa while logging the conversation in the middle). I can see how that would work though. Rather than in the above image using words, if make all nodes sentences you can recreate entire conversations by transversing the graph rather than just sentences.

This post was edited by AbDuCt on Mar 18 2016 12:32am
Member
Posts: 14,631
Joined: Sep 14 2006
Gold: 575.56
Mar 18 2016 02:33am
read the link i posted he's talking about useing a bayesian network for language processing using statement response

dont just look at the topics and see the word markov and think you've got it down


anyway your thread gave me an idea for a fun chatbot project of my own
Member
Posts: 13,425
Joined: Sep 29 2007
Gold: 0.00
Warn: 20%
Mar 18 2016 07:45am
Quote (Ideophobe @ Mar 18 2016 04:33am)
read the link i posted he's talking about useing a bayesian network for language processing using statement response

dont just look at the topics and see the word markov and think you've got it down


anyway your thread gave me an idea for a fun chatbot project of my own


That's good, post results ID love to bounce ideas off another person working on something similar.
Go Back To Programming & Development Topic List
Prev1234567Next
Add Reply New Topic New Poll