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.