Ton problème n'a rien de compliqué.
Par contre pour ce n'est efficace que pour des dialogues basiques et extrêmement limités. J’espère que tu n'imagines pas une seule seconde faire une ia, même petites, de conversation avec ça!
Et tu ne vois pas la chose efficacement:
Déjà pourquoi deux fichiers? Un seul, avec un séparateur, ou encore du CSV ou du XML et tu te contenteras d'un seul fichier, c'est mieux.
Tu recherches comment la réponse que tu dois donner à l'utilisateur? Non parce que si tu t'amuses à parcourir les possibilités séquentiellement jusqu’à que tu trouves la bonne, tu vas attendre longtemps
Voir le point suivant pour un début de solution.
Pourquoi faire la recherche dans un fichier? Si le fichier n'est pas énorme, pourquoi ne pas charger toutes les possibilités en RAM, et faire cette recherche en ne travaillant qu'avec la RAM? Parce que les accès disques, c'est lent.
Tu peux par exemple utiliser une HashMap, qui à partir d'une clé, te donnes la valeurs associée. Ici la clé serait ce qui représente l'entrée utilisateur et la valeur, ce que la machine doit répondre.
C'est globalement assez rapide, a partir de la clé tu retrouves rapidement la valeur associé. (Pour peu que tu fasse attention au problème de collision)
Bon en l'état c'est très limité, parce si l'utilisateur n’écrit pas précisément ce dont à quoi tu t'attends, ça ne marche pas. Mais pour faire un truc tout basique juste pour tester, tu peux utiliser trim et faire des conversions uppercase/lowercase. En plus, ça ne gère pas le fait qu'une entrée utilisateur peut bien sûr avoir plusieurs réponses crédibles possibles.
ATTENTION: Cette approche naïve ne marche que pour de mini-dialogue très limités! Si tu veux faire un bot conversationnel un peu plus sérieux, il va falloir apprendre l'analyse syntaxique, le traitement du langage et les réseaux de neurones
Mais le niveau de difficulté n'a absolument rien de comparable. A ton niveau, faire une petite implémentation de l'approche naïve sera déjà un bon exercice.