adnaneh / bnp-hackathon

0 stars 0 forks source link

Pipeline de preprocessing : Segmenter le fichier en phrases , nettoyer les éléments non linguistique (saut à la ligne, etc) #3

Open adnaneh opened 3 years ago

adnaneh commented 3 years ago

@LamDang issue créée

adnaneh commented 3 years ago

@LamDang Tu voulais proposer des idées de librairies/méthodes? Je suis preneur !

LamDang commented 3 years ago

Ok

Approches:

adnaneh commented 3 years ago

@LamDang Très clair merci !

LamDang commented 3 years ago

@adnaneh Une fois terminer cette partie je pense que ça vaut le coup que tu communique des stats sur les phrases qui sortent: la distribution du nombre de caractère / de mots. Ca permet que Joel et Syrine aient bien en têtes les caractéristiques de leur inputs.

adnaneh commented 3 years ago

@LamDang Oui on fait comme ça

adnaneh commented 3 years ago

@LamDang Au passage j'ai trouvé la fonction nltk sent_tokenize mais ai rapidement trouvé une erreur: "on a transaction(e.g." nltk coupe incorrectement au niveau de e.g. Du coup je propose qu'on reste sur la méthode expression régulière et ne pas switcher sur le sent_tokenize préimplémenté. Ton avis ?

adnaneh commented 3 years ago

@LamDang @quentinheinrich @syrinecheriaa @Ryosaeba8 Une idée sur comment avoir les stop words mais garder les mots avec une connotation positive ou négative?

LamDang commented 3 years ago

@adnaneh Ce serait pas mal si

@LamDang Au passage j'ai trouvé la fonction nltk sent_tokenize mais ai rapidement trouvé une erreur: "on a transaction(e.g." nltk coupe incorrectement au niveau de e.g. Du coup je propose qu'on reste sur la méthode expression régulière et ne pas switcher sur le sent_tokenize préimplémenté. Ton avis ?

Oui je suis d'accord. Si tu ne détecte pas de cas ou la méthode regex split mal des phrases alors c'est bon.

LamDang commented 3 years ago

@LamDang @quentinheinrich @syrinecheriaa @Ryosaeba8 Une idée sur comment avoir les stop words mais garder les mots avec une connotation positive ou négative?

Attention sur les techniques de nettoyage style stemming et stop words. Les modèles de langage de transformers (BERT etc) sont entrainé sur wikipedia entre autres donc l'objectif du preprocessing est d'avoir le texte en claire comme dans wikipedia.

adnaneh commented 3 years ago

@LamDang Ok, merci pour la clarification

adnaneh commented 3 years ago

@LamDang Je laisse les stop words, qu'en est-il de la ponctuation (virgules, points) et des apostrophes e.g: can't

LamDang commented 3 years ago

il faut aussi laisser les ponctuations. il faut que le texte soit le plus naturel possible.

adnaneh commented 3 years ago

@LamDang Ok, les majuscules aussi quelque soit leur position dans la phrase?

adnaneh commented 3 years ago

@LamDang Par example : "Zoom shall, taking into account the nature of the Processing, assist the Customer by appropriate technical and organizational measures ..."

LamDang commented 3 years ago

Oui si c’est des noms propres. Sinon c’est peut-être une phrase mal segmentée

Le mar. 1 déc. 2020 à 16:58, Adnane Hamid notifications@github.com a écrit :

@LamDang https://github.com/LamDang Ok, les majuscules aussi quelque soit leur position dans la phrase?

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/adnaneh/bnp-hackathon/issues/3#issuecomment-736644846, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACXFMSZDSYH4QJGC3MSKHBTSSUHCDANCNFSM4UI2U3NQ .

LamDang commented 3 years ago

Oui c’est bien de garder comme ça

Le mar. 1 déc. 2020 à 17:00, Adnane Hamid notifications@github.com a écrit :

@LamDang https://github.com/LamDang Par example : "Zoom shall, taking into account the nature of the Processing, assist the Customer by appropriate technical and organizational measures ..."

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/adnaneh/bnp-hackathon/issues/3#issuecomment-736646100, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACXFMSZTVZEFNOBRGYSUQM3SSUHJZANCNFSM4UI2U3NQ .

adnaneh commented 3 years ago

@LamDang Ca marche

adnaneh commented 3 years ago

@LamDang Dans cette optique comment cette le titre de ce paragraphe doit être transformée par exemple:

  1. Your Account Where use of our Services requires an account, you agree to provide us with complete and accurate information when you register for an ...

Je parle en particulier de "2. Your Account".

adnaneh commented 3 years ago

@LamDang Aussi comment ceci devrait être transformé?: ... which may concern the following special categories of data, if any: ● racial or ethnic origin; ● political opinions;

adnaneh commented 3 years ago

@LamDang Voici ce que j'ai retenu pour la ponctuation naturelle '!"\'(),-.:;?' tout le reste est remplacé par un espace.

adnaneh commented 3 years ago

@LamDang J'ai trouvé ce cas de bord: Zoom’s au lieu de Zoom's
Il y'a une différence entre les apostrophes et python fait la différence. Il y'a aussi plusieurs charactères pour le ?⁇ etc... Je laisse ça de côté pour le moment sauf si tu juges que c'est une priorité.

adnaneh commented 3 years ago

@LamDang Quelles charactères doivent être utilisés pour les fin de phrase? Je suis parti sur '.!?' mais est-ce qu'il faudrait intégrer ':;' ou d'autres encore?

LamDang commented 3 years ago

Je pense que .!? c'est bien @adnaneh. On verra bien en analysant des cas de réussite ou échec de l'algo si c'est nécessaire de revenir dessus. pour le moment c'est bien ce que tu fais je ttrouve

LamDang commented 3 years ago

Juste une remarque, essaie déjà de envelopper ton code dans une fonction ou classe qu'on peut importer dans main.py par exemple

def preprocessing(text_file_path: str) -> list(str):
    "fonction qui transforme text file en list de phrases"
adnaneh commented 3 years ago

Juste une remarque, essaie déjà de envelopper ton code dans une fonction ou classe qu'on peut importer dans main.py par exemple

def preprocessing(text_file_path: str) -> list(str):
    "fonction qui transforme text file en list de phrases"

C'est noté.