Guanzhou Li - Jul 25, 2013:
In the long term, I would like to evolve it into a full-blown help desk/customer service bot that would be able to identify the user’s problems and troubleshoot basic ones.. Or recommend a solution if it can’t help.
First, I’m glad to see somebody wise enough to post their goal when asking a question. That helps tremendously.
My reaction is that you are off on the wrong track, using the wrong tools for the job. Neural networks are typically used for statistical pattern matching, especially for partial matches / associative memory at a subsymbolic level (i.e., below the level of text). While it’s true that such matching could be of some use in a help desk due to associations, you could do the same thing with standard textual keywords, and probably far better. The inputs you listed are going to be close to useless for machine understanding, especially for specific, detailed, technical knowledge at a help desk. To be useful, I think the system would have to be trained on concepts, probably implemented as keywords, which is not only problematic in itself due to synonyms and volume of training data, but neural networks simply don’t “understand” the types of problems you’re describing because of the Binding Problem. At least regular text and computer code can do binding, and there are many tricks that can be used for handling synonyms, associations, and so on without using neural networks. The idea of feeding a neural network a lot of former user conversations in an attempt to have it learn or understand the domain makes me cringe: it will just turn into a nightmare that could never work as you want.
If you insist on using known AI techniques, I’d go for an expert system instead, and I’m not even sure that would be the best approach.