Je ne suis pas vraiment un expert en la matière, mais voila comment je m'y prendrais :
1) printf("Que-puis je faire pour vous?");
2) scanf("%s", laquestion);
Bon là c'est le plus simple on est d'accord...
3) Je pense qu'il faudrait assigner certains mots (ou plusieurs mots de la même phrase) à un domaine en particulier, pour pouvoir orienter la recherche par la suite.
Par exemple, si ta phrase contient les mots "console" suivit "d'erreur", l'IA pourra trouver qu'il s'agit d' "INFORMATIQUE" et orienter sa recherche dessus.
Si c'est "console" et "de salon", elle saura alors qu'il s'agit de JEU-VIDEO.
Ici, c'est donc un gros problème d'analyse lexicale étant donné la taille importante de notre dictionnaire. De plus, il faudra alors utiliser un algorithme de reconnaissance de mot pour éviter les fautes d’orthographes (distance de levenshtein).
Ensuite, il faut reconnaître les mots et la structure de la phrase qui font que l'on saura si il s'agit d'une question (du genre VERBE SUJET COMPLEMENT PT-INTEROGATION), une remarque (encore faut-il savoir comment on construit une remarque). Là ce sera un gros problème d'analyse syntaxique.
4) Si la phrase est partiellement reconnue par un automate, ou du moins qu'elle est très proche de l'état final, soit tu gardes quelque part les sujets trouvés par ton programme et demande de reformuler la question, en vérifiant que les sujets sont bien proches, soit tu dis à l'utilisateur que tu n'a pas compris et qu'il doit reformuler de manière plus simple.
Autrement, tu peux faire une suggestion de ce que tu as trouvé, en demandant si cela correspond à ses attentes.
5) Si tout est passé sans problème, tu peux alors construire ta requête avec les mots clés trouvés et cela ne devrait pas être le plus difficile.