adnaneh / bnp-hackathon

0 stars 0 forks source link

QA with pretrained language models: using pretrained language models (bert based models) as TF5, albert .. #5

Open syrinecheriaa opened 3 years ago

LamDang commented 3 years ago

@syrinecheriaa Je pense que ça vaut le coup d'attaque les questions binaires d'abord car c'est potentiellement plus facile.

J'ai revérifié le modèle T5 mentionné dans le doc Toolbox mais c'est en faite un modèle générative (source https://github.com/ramsrigouthamg/generate_boolean_questions_using_T5_transformer). Ce n'est pas utilisable directement.

Par contre je pense qu'il y a une approche intéressante avec les modèles Textual Entailment: utiliser le texte input come Premise, transformer la question en une affirmation (Hypothesis) et le modèle permet de scorer si l'affirmation est correcte ou non ou non pertinent.

Voici qq exemples que j'ai testé sur la démo AllenNLP image

image

quentinheinrich commented 3 years ago

@syrinecheriaa si tu veux entrainer ton propre modèle de QA booléen je te conseille par exemple ce tuto : https://medium.com/illuin/deep-learning-has-almost-all-the-answers-yes-no-question-answering-with-transformers-223bebb70189 en utilisant un notebook google colab avec un gpu gratuit tu pourrais rapidement entrainer ce type de modèle pour l'utiliser dans le challenge.

quentinheinrich commented 3 years ago

En parallèle de ça, je te conseille de tester aussi des approches simples (regex, etc ...) pour obtenir une 1ere baseline rapidement !

syrinecheriaa commented 3 years ago

Merci @quentinheinrich, à ce stade je ne vois pas trop l'interet de fine tuner un modèle de langue sur le QA vu que : 1- on n'a pas de données d'entrainement du coup on va finir par prendre des données open source qui ne sont pas spécifique à notre domaine 2 - il y a déja des models fine tuné pour le zero shot classification, et je doute fort qu(on peut faire mieux meme ci il sont pas tres performant (j'ai déja essayer xlm-r et albert)

LamDang commented 3 years ago

@quentinheinrich le blog vient de illuin.. Tu n'aurais pas le modèle déjà entrainé qu'on puisse tester ? ;P

LamDang commented 3 years ago

@syrinecheriaa d'après notre discussion cet après midi, je pense que le problème restant est de fixé de seuil de confiance : le argmax par défaut n'est pas suffisant dans les cas incertain.

Ton problème: comment fixer le seuil? Voici deux propositions:

Qu'en penses-tu?

adnaneh commented 3 years ago

En parallèle de ça, je te conseille de tester aussi des approches simples (regex, etc ...) pour obtenir une 1ere baseline rapidement !

@quentinheinrich J'ai push une première version par mot clés, je serai curieux d'avoir ton avis sur les premiers résultats pour savoir si ça vaut le coup de peaufiner l'approche ou s'il faudrait se focaliser sur l'approche ML.