While most academics would suggest Prolog I would say that it depends on the IT infrastructure that you are going to deploy such system and the requirement for coupling with existing systems.
I would also recommend that if you are going to do program such a system for large scale production you should optimize as much as possible.A simlple suggestion is to use hashes and use fast string matching to reduce lookup time(some Prolog implementations use these but you must check to see if the selected Prolog engine does so).
I am totally agree with the previous answer. Prolog may be suitable most of the cases but still I will say it totally depends on the infrastructure and the requirements: functional as well as non-functional. So I will suggest you for depth requirement analysis before choosing any particular language.
I have used Prolog during my undergraduate and postgraduate. It is a good learning language but not really practical. Based on my understanding of how prolog works, I rewrote the functionalities in C in a real system.