Outils pour utilisateurs

Outils du site


tal_traitement_automatique_du_langage_avec_des_fables_de_la_fontaine

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tal_traitement_automatique_du_langage_avec_des_fables_de_la_fontaine [2020/05/30 10:41] – [Etape 2: Nettoyez et normalisez les données] sergetal_traitement_automatique_du_langage_avec_des_fables_de_la_fontaine [2022/02/08 15:59] (Version actuelle) – Tag0 Removed: text_gen serge
Ligne 8: Ligne 8:
 <WRAP center round box 80% centeralign> <WRAP center round box 80% centeralign>
 **Cette page est la suite de [[Text Processing and Machine Learning TAL]]** **Cette page est la suite de [[Text Processing and Machine Learning TAL]]**
 +</WRAP>
 +
 +<WRAP center round box 80% centeralign>
 +**La page suivante est  [[archives:textgenrnn|Générer du texte en python avec textgenrnn]]**
 </WRAP> </WRAP>
  
 ===== Sources ===== ===== Sources =====
 +Tout le code utilisé ici se trouve à:
   * **[[https://github.com/sergeLabo/text_processing|text_processing sur github.com]]**   * **[[https://github.com/sergeLabo/text_processing|text_processing sur github.com]]**
 +Les liens de code pointent directement à la ligne du github.
  
  
 ===== Ressources ===== ===== Ressources =====
-  * **[[https://openclassrooms.com/fr/courses/4470541-analysez-vos-donnees-textuelles|Analysez vos données textuelles]]** sur OpenClassrooms. L'exemple est trop compliqué pour expliquer des notions simples. De plus, l'exemple n'est pas fourni, le code est partiel (avec des erreurs et un mauvais respect du PEP8, des ";" en python !!). C'est en français et ça a le mérite d'exister.+  * **[[https://openclassrooms.com/fr/courses/4470541-analysez-vos-donnees-textuelles|Analysez vos données textuelles]]** sur OpenClassrooms. L'exemple est trop compliqué pour expliquer des notions simples. De plus, l'exemple n'est pas fourni, le code est partiel (avec des erreurs et un mauvais respect du PEP8, des ";" en python !!). C'est en français et ça a le mérite d'exister. Et ça fini en queue de poisson: manifestement, l'auteur ne veut surtout pas partager, et donner des billes à la concurrence
  
 +  * **[[https://github.com/karpathy/char-rnn|github.com/karpathy/char-rnn]]** Multi-layer Recurrent Neural Network for training/sampling from character-level language models.
 ===== Récupération des datas ===== ===== Récupération des datas =====
 Les fables de **[[https://fr.wikipedia.org/wiki/Jean_de_La_Fontaine|Jean de La Fontaine]]** sont récupérées sur le site **[[http://mesfables.com/|mesfables.com]]** Les fables de **[[https://fr.wikipedia.org/wiki/Jean_de_La_Fontaine|Jean de La Fontaine]]** sont récupérées sur le site **[[http://mesfables.com/|mesfables.com]]**
Ligne 49: Ligne 55:
   * [[https://github.com/sergeLabo/text_processing/blob/771c131ef5f8ddc27d5177876c6b155aee56bda7/etape_1.py#L22|get_corpus()]]   * [[https://github.com/sergeLabo/text_processing/blob/771c131ef5f8ddc27d5177876c6b155aee56bda7/etape_1.py#L22|get_corpus()]]
  
 +Les fables sont reproupées par livre, numéroté livre-i (i de 1 à 12), [[https://fr.wikipedia.org/wiki/Jean_de_La_Fontaine#Chronologie|voir la Chronologie]].
 ==== Exploration ==== ==== Exploration ====
 +<WRAP group> 
 +<WRAP half column>
   * [[https://github.com/sergeLabo/text_processing/blob/771c131ef5f8ddc27d5177876c6b155aee56bda7/etape_1.py#L31|get_all_words(corpus)]]   * [[https://github.com/sergeLabo/text_processing/blob/771c131ef5f8ddc27d5177876c6b155aee56bda7/etape_1.py#L31|get_all_words(corpus)]]
 {{:media_10:fable_01.png?400|}} {{:media_10:fable_01.png?400|}}
   * [[https://github.com/sergeLabo/text_processing/blob/771c131ef5f8ddc27d5177876c6b155aee56bda7/etape_1.py#L54|get_words_without_punkt(corpus)]]   * [[https://github.com/sergeLabo/text_processing/blob/771c131ef5f8ddc27d5177876c6b155aee56bda7/etape_1.py#L54|get_words_without_punkt(corpus)]]
 {{:media_10:fable_02.png?400|}} {{:media_10:fable_02.png?400|}}
 +</WRAP>
 +
 +<WRAP half column>
   * [[https://github.com/sergeLabo/text_processing/blob/771c131ef5f8ddc27d5177876c6b155aee56bda7/etape_1.py#L109|words_total(corpus)]]   * [[https://github.com/sergeLabo/text_processing/blob/771c131ef5f8ddc27d5177876c6b155aee56bda7/etape_1.py#L109|words_total(corpus)]]
 {{:media_10:fable_03.png?400|}} {{:media_10:fable_03.png?400|}}
   * [[https://github.com/sergeLabo/text_processing/blob/771c131ef5f8ddc27d5177876c6b155aee56bda7/etape_1.py#L130|words_frequency(corpus)]]   * [[https://github.com/sergeLabo/text_processing/blob/771c131ef5f8ddc27d5177876c6b155aee56bda7/etape_1.py#L130|words_frequency(corpus)]]
 {{:media_10:fable_04.png?400|}} {{:media_10:fable_04.png?400|}}
- +</WRAP> 
 +</WRAP>
  
 ===== Etape 2: Nettoyer et normaliser les données ===== ===== Etape 2: Nettoyer et normaliser les données =====
 Script  **[[|etape_2.py]]** Script  **[[|etape_2.py]]**
-====Suppression des stopwords====+====Suppression des stop words ou Mot vide==== 
 +En recherche d'information, un [[https://fr.wikipedia.org/wiki/Mot_vide|mot vide (ou stop word, en anglais)]] est un mot qui est tellement commun qu'il est inutile de l'indexer ou de l'utiliser dans une recherche.\\ 
 +Chaque mot se voit affecté le nombre de fois qu'il apparaît dans le document: [[https://fr.wikipedia.org/wiki/Sac_de_mots|Sac de mots]]  
   * [[|words_frequency_without_stopwords]]   * [[|words_frequency_without_stopwords]]
-{{:media_10:fable_06.png?400|}}+{{ :media_10:fable_06.png?400 |}}
 Si je n'ai pas fais d'erreur, Monsieur Jean De La Fontaine écrit une poésie avec peu de bla bla: les mots sont toujours riches ! Si je n'ai pas fais d'erreur, Monsieur Jean De La Fontaine écrit une poésie avec peu de bla bla: les mots sont toujours riches !
-====S==== 
  
-===== Etape 3 ===== +====Racinisation (Stemming en EN)==== 
-===== Etape 4 ===== +En linguistique, la [[https://fr.wikipedia.org/wiki/Racinisation|racinisation]] ou désuffixation est un procédé de transformation des flexions en leur radical ou racine. Contrairement au [[https://fr.wikipedia.org/wiki/Lemme_(linguistique)|lemme]] qui correspond à un terme issu de l’usage ordinaire des locuteurs de la langue, la racine ne correspond généralement qu’à un terme résultant de ce type d’analyse. 
-===== Etape 5 ===== + 
-===== Etape 6 =====+  * [[https://github.com/sergeLabo/text_processing/blob/master/etape_2.py#L128|racinisation(corpus, sw)]] 
 + 
 +{{ :media_10:fable_07.png?400 |}} 
 + 
 +===== Etape 3 Représentation du corpus en bag of words ===== 
 +====Cooccurrence==== 
 +  * **[[https://fr.wikipedia.org/wiki/Cooccurrence|Cooccurrence]]** sur Wikipedia: La cooccurrence (orthographiée co-occurrence en anglais) est la présence simultanée de deux ou de plusieurs mots (ou autres unités linguistiques) dans le même énoncé (la phrase, le paragraphe, l'extrait).  
 +====Bi-gram ==== 
 +  * **[[https://github.com/sergeLabo/text_processing/blob/master/etape_3.py#L50|get_bigram()]]** 
 +====TF-IDF==== 
 +  *   * **[[https://github.com/sergeLabo/text_processing/blob/master/etape_3.py#L62|get_bigram()]]** 
 +====Représentation du TF-IDF==== 
 +Cette fonction est secrète: en fait, je n'ai pas trouvé de code utilisant sklearn et qui soit juste, et comme c'est inutile pour la suite, je passe (en python pass). 
 + 
 +===== Plongement de mots - word embedding ===== 
 +====Wikipedia==== 
 +  * Le **[[https://fr.wikipedia.org/wiki/Word_embedding|word embedding]]** (« plongement de mots1 » ou « plongement lexical2 » en français) est une méthode d'apprentissage d'une représentation de mots utilisée notamment en traitement automatique des langues. 
 + 
 +Cette technique permet de représenter chaque mot d'un dictionnaire par un vecteur de nombres réels. 
 +La technique des word embeddings diminue la dimension de la représentation des mots en comparaison d'un modèle vectoriel par exemple, facilitant ainsi les tâches d'apprentissage impliquant ces mots, puisque moins soumis au fléau de la dimension.  
 + 
 +Comprendre: transformer le teste en matrice de nombre de taille limitées pour être traitées avec un apprentissage automatique. Voir **[[https://fr.wikipedia.org/wiki/Word2vec|Word2vec]]** 
 + 
 +Une image uniquement pour faire joli et épater en société ! 
 +{{ :media_10:cbow_eta_skipgram.png?400 |}} 
 +====Gensim==== 
 +  * Voir **[[https://radimrehurek.com/gensim/auto_examples/|Gensim Documentation]]** 
 + 
 + 
 +===== Réseaux de neurones ===== 
 +  * **[[archives:textgenrnn|Et composer des textes en vers comme La Fontaine avec textgenrnn]]** 
 + 
 + 
 +{{tag> apprentissage_automatique python tal }} 
  
-{{tag>tal text_processing machine_learning apprentissage_automatique python python3 nltk}} 
tal_traitement_automatique_du_langage_avec_des_fables_de_la_fontaine.1590835296.txt.gz · Dernière modification : 2020/05/30 10:41 de serge