Partage
  • Partager sur Facebook
  • Partager sur Twitter

Chatbot

    15 mars 2018 à 2:41:07

    Bonsoir, j'espère que vous allez bien. J'ai, pour un projet en Intelligence Artificielle, à faire un chatbot et l'intégrer dans un site crée en JEE.

    Au début j'avais pour idée de le faire à l'aide node.js + watson mais je ne sais pas si c'est bien ou pas, je ne sais pas comment m'y prendre etc.

    Bref, je suis tournée vers vous pour voir si vous avez des tutos des démo (pas quelque chose de très élaboré) juste des exemples, histoire de me mettre (enfin) sur la bonne voie.

    Pour tout vous expliquer, mon projet est de créer un psy qui lorsqu'on lui donne des symptômes il connaîtra la maladie (tout ça avec un BD), mais il devra aussi répondre à des questions du genre quels sont les créneau libre d'un médecin x ou y (se trouvant aussi dans une BD). Il faudra qu'il réponde a la question même si elle est un peu mal orthographié comme par exemple: comment ça va?=comment cv?= cmt ça va?=comment tu va? etc etc (J'avais l'idée des if mais euh .... ^^').

    N'ayez pas peur de détailler vos réponse je ne m'y connais pas DU TOUT (oui comme ça ^^')

    Merci d'avance et bonne soirée.

    • Partager sur Facebook
    • Partager sur Twitter
      15 mars 2018 à 7:49:13

      Bonjour,

      Je te conseille d'aller etudier les REGEX car c'est exactement comme ca que ca va fonctionner :

      1) Ta REGEX (ou tes REGEX a la suite) doivent analyser les reponses des internautes.

      2) En fonction des reponses (et notamment des mots cles) tu seras capables d'interroger ta base de donnees pertinament

      La partie base de donnees devrait etre la partie la moins complique de ton projet. Par exemple, tu crees une table "maladies", une autre "symptomes" et une table intermediaire (tu vas creer d'autres tables par la suite ...)

      3) La REGEX te permettra donc d'extraire la liste des symptomes, et il te suffira alors de faire une requete dans la table intermediaire et le tour sera joue.

      • Partager sur Facebook
      • Partager sur Twitter
        15 mars 2018 à 22:59:36

        Il faut procéder par étape. 

        1) comprendre le fonctionnement de ce que tu veux faire.

        L'IA telle qu'elle existe à l'heure actuelle est un système d'analyse de donnée permettant d'établir des corrélations. (exemple : la vente des glaces augmente quand il fait chaud donc le nombre de glace vendu est corrélé à la température extérieure). Les IA ont besoin de beaucoup de donnée pour établir des corrélations car elles émettent des hypothèses pour ensuite les tester et ainsi créer un arbre de corrélation "valide" ou fiable avec un taux d'erreur assez bas pour être acceptable. Dans ton cas, la base de donnée permet de créer des exemples de corrélation symptômes => maladies avec un taux de probabilité associé qui peut être statique (à condition d'avoir une info fiable) ou bien calculée en fonction de la quantité de donné de la base. À partir de là, chaque nouveau cas présenté à l'IA (le patient avec ses symptômes) donnera la liste des maladies possibles (et les traitements associés) avec la probabilité associée que la maladie du patient soit celle listée. Le but final est bel et bien de suggérer un traitement mais il est plus pertinent d'offrir la possibilité à l'IA de proposer un examen supplémentaire permettant d'acquérir de nouvelles données afin de mieux cibler la maladie en cas de doute. L'avis du médecin doit être pris en compte tant que le taux de réussite de l'IA ne sera pas de 100%. L'IA ne fait de seconder le médecin lui permettant d'accéder à la liste des maladies possibles en fonction des symptômes car il peut arriver qu'un médecin ignore l’existence d'une nouvelle maladie découverte récemment. J'espère que tu apprécie l'explication, ce pavé est là uniquement à titre informatif car Watson est déjà utilisé dans des hôpitaux tel que je viens de le décrire. Cette partie complexe de code n'est donc pas à créé toi même. Il suffit d'utiliser Watson (je ne sais pas comment on fait et j'ignore aussi si cette fonction de watson est open source et accessible à tout développeur).

        Ensuite viens la partie chatbot. Celle là aussi utilise l'IA. Google par exemple a utilisé sa base de donnée de livre dématérialisé pour créer des corrélations entre les mots. C'est ce qui permet une auto complétion efficace. Dans le cadre d'un chat-bot il faut donner à l'IA la liste des questions bateau qu'un utilisateur pose à l'IA ainsi que des exemples de réponses valides et invalides. Les questions peuvent avoir des variantes en fonction de l’orthographe, cela ne pose pas de problème car c'est le concept de question qui est corrélé à un concept de réponse valide. La réponse concrète n'est alors qu'une représentation valide syntaxiquement du concept de réponse valide et cette validation syntaxique peut être obtenue grâce à un système entraîné avec du texte comme le fait google mais centré sur le champ lexical de la médecine pour augmenter ses chances de formuler une réponse valide dans des délais courts. (c'est un compromis à faire : on privilégie la réactivité de l'IA au détriment de la capacité de l'IA à répondre à une question complètement hors sujet).

        Je ne sais pas si cette fonctionnalité existe ou non pour Watson mais si ce n'est pas le cas, elle est sans doute en cours de développement chez google. Conclusion : pourquoi veux tu créer seule quelque chose qui existe déjà (ou est en train d'être créé), implémenté non pas par une personne mais une équipe complète de dev avec sans doute plusieurs années d'expérience et de connaissance accumulées dans le domaine ? Sans vouloir te vexer, ce projet c'est à la fois réinventer la roue certes mais c'est aussi trop ambitieux même en tant que challenge personnel pour s’entraîner. Si tu veux t'exercer à l'IA et aux chatbot, il est préférable de choisir un projet réaliste, pas forcément petit juste réaliste et surtout un projet personnel qui sera plus motivant qu'une pâle copie d'un système opérationnel existant.

        • Partager sur Facebook
        • Partager sur Twitter
          16 mars 2018 à 10:17:45

          Bonjour, 

          Merci de m'avoir répondu aussi rapidement.

          J'ai une idée assez clair de ce que je veux faire et c'est exactement ce que tu as dis, le chatbot n'est qu'une partie d'une plateforme qui fera la gestion d'un ensemble de psy/patients etc ...

          Le problème ici c'est que ce n'est pas un projet que j'ai choisi a 100% ...... J'avais le choix entre beaucoup de projet et il m'a paru le plus intéressant. En bref c'est un projet académique proposé par un prof, je suis en deuxième année cycle d'ingénieur ^^'.

          Le sujet n'était pas de faire un chatbot (ça c'était mon idée ^^') mais en gros c'est de faire une IA de diagnostique médical.

          Je sais que ce système existe déjà, mon but personnel est de pouvoir jouer avec IA/chatbot (c'est ce qui m'intéresse) donc a ton avis serai-ce possible de faire un miniature de la copie qui existe déjà (vu que j'ai pas l'expérience, je suis seule ET je n'ai que 3 mois mdr).

          Si oui aurais-tu une idée de ce que je devrai faire pour y arriver?

          Merci encore, infiniment !

          PS: Si je devient riche avec je me rappellerai de toi x)

          • Partager sur Facebook
          • Partager sur Twitter
            16 mars 2018 à 14:50:42

            Il existe des librairies de deep learning open source dans différents langages (vas voir sur github, section deeplearning). Après avoir suivi quelques tutos tu pourras créer ton IA. Le seul soucis c'est qu'il va te falloir des données, beaucoup de données pour entraîner ton IA avant qu'elle ne soit fiable. Sans données, l'IA ne fera que donner une réponse au pif à chaque question.

            ps : si jamais tu as d'autres questions je penses que ton professeur sera plus à même de préciser ce qu'il attend de toi

            -
            Edité par Benevolar 16 mars 2018 à 14:51:46

            • Partager sur Facebook
            • Partager sur Twitter
              17 mars 2018 à 21:44:12

              Bonjour, 

              Oublions la partie du prof parce qu'il ne me répondra pas ^^'.

              Tu as parlé de tuto sauf que je n'en trouve pas, j'ai cherché sur youtube il n'y a que des bots crée sur des plateformes tel que dialogflow.com cependant mon bot fera partie d'un site web, donc si j'utilise ces plateformes je ne sais pas comment l'intégrer à mon site (qui ne va pas vraiment être déployé puisque c'est juste un projet académique)

              Encore une fois merci pour ton aide.

              Cordialement.

              • Partager sur Facebook
              • Partager sur Twitter

              Chatbot

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown