adnaneh / bnp-hackathon

0 stars 0 forks source link

Approches sémantiques détection phrases pertinentes #4

Open Ryosaeba8 opened 3 years ago

Ryosaeba8 commented 3 years ago

@LamDang j'ai commencé à checker le Universal Encoder Sentence

LamDang commented 3 years ago

OK @Ryosaeba8 je recommande jouer avec la version Lite d'abord. https://tfhub.dev/google/universal-sentence-encoder-lite/2

Clicker sur Open Colab Notebook pour avoir un notebook d'exemple tout fait.

En suite il y a plusieur variants à tester:

Les autres variants:

Model Comments
universal-sentence-encoder  
universal-sentence-encoder-large  
universal-sentence-encoder-lite  
universal-sentence-encoder-qa Question answering
universal-sentence-encoder-multilingual 16 languages
universal-sentence-encoder-multilingual-large 16 languages
universal-sentence-encoder-multilingual-qa 16 languages , Question answering
universal-sentence-encoder-xling-many 8 languages
universal-sentence-encoder-xling/en-de  
universal-sentence-encoder-xling/en-es  

universal-sentence-encoder-xling/en-fr

Ryosaeba8 commented 3 years ago

Yes, j'étais justement entrain de m'amuser avec la version Lite. je vais regarder ensuite qques variantes. Merci pour les infos !

Ryosaeba8 commented 3 years ago

Du coup @LamDang j'ai fait une première version d'extraction de phrase pertinentes dans laquelle, pour chaque couple (texte, question) je renvoit le top 10 des phrases les plus similaires à la question.

quentinheinrich commented 3 years ago

@Ryosaeba8 si tu veux tester d'autres variantes de modèles je te conseille de tester aussi un vectorizer tfidf (https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html), souvent des approches fréquentielles peuvent être très pertinentes dans des use-cases comme celui-ci.

LamDang commented 3 years ago

Du coup @LamDang j'ai fait une première version d'extraction de phrase pertinentes dans laquelle, pour chaque couple (texte, question) je renvoit le top 10 des phrases les plus similaires à la question.

  • Il faudrait qu'au lieu du TOP 10 je définisse plutôt un threshold. Par exemple une valeur à partir de laquelle, je retrouve tous les vrais paragraphes tagués par les experts. Je vais creuser ça demain

En faite, le top 10 c'est bien je trouve car le seuil varie en fonction de la qualité de la requete : si la requete est vague ou précise la distribution de score est très différente.

  • Je dois aussi tester d'autres variantes de modèles, mais le critère de choix de modèle n'est pas encore très clair dans ma tête Pour choisir le modèle il faudrait que

  • tu constitue un mini dataset d'évaluation avec des requetes et les phrases qu'ont choisi les experts. Si les experts choisi tous un bloc de textes à toi de dire si tu prends tout ou une partie

  • le metrique pour comparer c'est sur top 5/10/20, combien % du texte de l'expert est retrouvé dans tes candidats?

  • Aussi il serait intéressant de considérer plusieurs formulations possibles étant donnée une question

C'est une très bonne idée, c'est une sorte d'ensembling qui va bcp améliorer le résultat.