Hope everyone is fine! I am trying to make an efficient algorithm for an expert system that when asked questions through a speech recognition system, it finds an answer from database and response to it. Any good information or books?
You require a highly developed expert system with two main components. The first component should be able to extract the information from the input text and the second component should find the most appropriate solution. The text mining and case based reasoning are the most common way to do so, respectively. As an example, please see the attached paper. The system can be more complicated when you require a dynamic text generator as the third components (such as Amazon). However, this type of systems are very common in the intelligence tutoring systems.
I think you are looking for asearch algorithm which is genetic in the sense that it minimises the interest payout according to the natural decision making properties of the actors in the system. For that you can take a look at my Nanotechnology and data represntation paper suing String Theory and Haag's Theorem on my RG page. The algorithm developed theoretically can be naturally programmed to minimise the interest rate to natural levels as a duality (D-Branes String Duality). Earl SKM QC EPS Fellow (Indirect) MES MRES MAICTE
I think you are looking for a Question Answering system. It's an active area and you should be able to find many publications on it. As with most such things the "best" approach will depend on the nature of the information you're working with and on user information needs.
Being able to interact by speech is a separate issue. I would not worry about it just yet; figure out the Q/A approach first. When you get to speech note that if you want to support interactive Q/A your solution may actually use a dialog system (of which the speech recognition is only a part).
Search for "spoken language question answering"; people have built such systems in the past. But try to look for papers from the past year or two; things more fast.