Quel langage me conseillez-vous d'utiliser pour la représentation des connaissances ?

L'objectif est de:

1) Représenter des connaissances (dynamiques c-a-d changeantes en fonction des entrées-sorties) cela implique donc une très forte programmation objet (non ?)
2) Pour le fun, pouvoir le coupler à un outil de synthèse vocale (VBasic fait ca, non ? Mais je ne souhaite pas être forcé à utiliser VB rien que pour çà; peut-être pourrai-je envoyer des commandes vocales à VB depuis un langage mieux prévu pour les Connaissances)
3) Idéalement s'il y avait une option de reconnaissance vocale, ça me plairait bcp !
4) Enfin, il y a 15 ans j'avais programmé un outil de vérification de structure et de représentation interne de phrases en français...c'était en langage Prolog, et dans ce langage c'était très facile à faire. Aujourd'hui, quid ? On l'utilise toujours ? Il y a mieux ?
En gros, vous avez compris, j'aimerais me remettre à l'intelligence artificielle...et j'ai besoin de votre aide pour repartir avec les bons outils !

Merci beaucoup !
Babar.