Outils pour utilisateurs

Outils du site


text_processing_and_machine_learning_tal

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
text_processing_and_machine_learning [2020/05/28 14:53] – [Installation] sergetext_processing_and_machine_learning_tal [2022/02/08 16:00] (Version actuelle) – Tag0 Removed: text_gen serge
Ligne 1: Ligne 1:
-======Text Processing and Machine Learning====== +======Text Processing and Machine Learning TAL====== 
- +<WRAP center round box 60% centeralign> 
-<WRAP center round box 80% centeralign> +**{{tagpage>ia|Intelligence Artificielle}}**     **[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Ftext_processing_and_machine_learning_tal|English Version]]** 
-**{{tagpage>ia|Intelligence Artificielle}}**+</WRAP> 
 +<WRAP center round box 60% centeralign> 
 +**[[les_pages_intelligence_artificielle_en_details|Les Pages Intelligence Artificielle en détails]]**
 </WRAP> </WRAP>
  
 <WRAP center round box 80% centeralign> <WRAP center round box 80% centeralign>
-**[[https://en.wikipedia.org/wiki/Text_processing|Text processing]]**\\ +**{{tagpage>tal|Traitement Automatique du Langage}}**  
-**[[https://fr.wikipedia.org/wiki/Traitement_automatique_du_langage_naturel|TAL : Traitement automatique du langage naturel]]**+
 </WRAP> </WRAP>
 =====Définitions ===== =====Définitions =====
Ligne 61: Ligne 62:
  
 import nltk import nltk
 +from nltk.corpus import treebank
  
 raw = """À Monseigneur Le Duc de Bourgogne raw = """À Monseigneur Le Duc de Bourgogne
Ligne 68: Ligne 70:
 """ """
  
 +# ### Récupération d'un texte
 # Tokenize the text # Tokenize the text
 tokens = nltk.wordpunct_tokenize(raw) tokens = nltk.wordpunct_tokenize(raw)
 +print(f'tokens:\n{tokens}')
  
 # Je ne garde que du 2ème mot au 30ème # Je ne garde que du 2ème mot au 30ème
 tokens =tokens[2:30] tokens =tokens[2:30]
 +print(f'Texte:\n{tokens}')
  
 +# ### Normalizing 1
 # Création d'un NLTK Text # Création d'un NLTK Text
 text = nltk.Text(tokens) text = nltk.Text(tokens)
Ligne 86: Ligne 92:
 vocab = sorted(set(words)) vocab = sorted(set(words))
 print(f'vocab: nombre={len(vocab)}\n{vocab}') print(f'vocab: nombre={len(vocab)}\n{vocab}')
 +
 +# ### Normalizing 2
 +# Tous les mots sans exception
 +mots_brut = nltk.word_tokenize(raw)
 +print(f'\nTous les mots bruts = {mots_brut}\n')
 +print(f'\nNombre de mots brut = {len(mots_brut)}\n')
 +
 +# Sans la ponctuation et apostrophes
 +tokenizer = nltk.RegexpTokenizer(r'\w+')
 +bons_mots = tokenizer.tokenize(raw.lower())
 +print(f'\nTous les bons mots = {bons_mots}\n')
 +print(f'\nNombre de bons mots = {len(bons_mots)}\n')
 +
 +# Fréquence des mots, sans la ponctuation et apostrophes
 +tokenizer = nltk.RegexpTokenizer(r'\w+')
 +corpora = tokenizer.tokenize(raw.lower())
 +freq = nltk.FreqDist(corpora)
 +print(f'Fréquence des mots dans le désordre:')
 +for k, v in freq.items():
 +    print(f'    {k} {v}')
 +
 +# ### Some simple things you can do with NLTK
 +tokens = nltk.word_tokenize(raw)
 +tagged = nltk.pos_tag(tokens)
 +print(f'tagged[0:6] = {tagged[0:6]}')
 +
 +# Identify named entities
 +entities = nltk.chunk.ne_chunk(tagged)
 +print(f'entities = {entities}')
 +
 +# Display a parse tree:
 +t = treebank.parsed_sents('wsj_0001.mrg')[0]
 +t.draw()
 </code> </code>
  
Ligne 102: Ligne 141:
 Tous les mots bruts = ['À', 'Monseigneur', 'Le', 'Duc', 'de', 'Bourgogne', 'Prince', ',', 'l', '’', 'unique', 'objet', 'du', 'soin', 'des', 'Immortels', ',', 'Souffrez', 'que', 'mon', 'encens', 'parfume', 'vos', 'Autels', '.', 'Je', 'vous', 'offre', 'un', 'peu', 'tard', 'ces', 'présents', 'de', 'ma', 'Muse', ';'] Tous les mots bruts = ['À', 'Monseigneur', 'Le', 'Duc', 'de', 'Bourgogne', 'Prince', ',', 'l', '’', 'unique', 'objet', 'du', 'soin', 'des', 'Immortels', ',', 'Souffrez', 'que', 'mon', 'encens', 'parfume', 'vos', 'Autels', '.', 'Je', 'vous', 'offre', 'un', 'peu', 'tard', 'ces', 'présents', 'de', 'ma', 'Muse', ';']
 Nombre de mots brut = 37 Nombre de mots brut = 37
- 
  
 Tous les bons mots = ['à', 'monseigneur', 'le', 'duc', 'de', 'bourgogne', 'prince', 'l', 'unique', 'objet', 'du', 'soin', 'des', 'immortels', 'souffrez', 'que', 'mon', 'encens', 'parfume', 'vos', 'autels', 'je', 'vous', 'offre', 'un', 'peu', 'tard', 'ces', 'présents', 'de', 'ma', 'muse'] Tous les bons mots = ['à', 'monseigneur', 'le', 'duc', 'de', 'bourgogne', 'prince', 'l', 'unique', 'objet', 'du', 'soin', 'des', 'immortels', 'souffrez', 'que', 'mon', 'encens', 'parfume', 'vos', 'autels', 'je', 'vous', 'offre', 'un', 'peu', 'tard', 'ces', 'présents', 'de', 'ma', 'muse']
Ligne 116: Ligne 154:
     prince 1     prince 1
     l 1     l 1
-etc .....+etc ... 
 +tagged[0:6] = [('À', 'JJ'), ('Monseigneur', 'NNP'), ('Le', 'NNP'), ('Duc', 'NNP'), ('de', 'IN'), ('Bourgogne', 'NNP')] 
 +entities = (S 
 +  À/JJ 
 +  (ORGANIZATION Monseigneur/NNP Le/NNP Duc/NNP) 
 +  de/IN 
 +  (PERSON Bourgogne/NNP Prince/NNP) 
 +  ,/, 
 +  l/NN 
 +  ’/NNP 
 +  unique/NN 
 +  objet/NN 
 +  du/NN 
 +  soin/NN 
 +  des/NNS 
 +  (PERSON Immortels/NNP) 
 +  ,/, 
 +  (GPE Souffrez/NNP) 
 +  que/NN 
 +  mon/NN 
 +  encens/VBZ 
 +  parfume/JJ 
 +  vos/NN 
 +  (PERSON Autels/NNP) 
 +  ./. 
 +  Je/NNP 
 +  vous/JJ 
 +  offre/NN 
 +  un/JJ 
 +  peu/NN 
 +  tard/NN 
 +  ces/VBZ 
 +  présents/NNS 
 +  de/IN 
 +  ma/NN 
 +  (ORGANIZATION Muse/NNP) 
 +  ;/:)
 </code> </code>
 +{{ :media_10:nltk_01.png?800 |}}
  
-===Exploration du corpus=== 
  
  
-=====Fin=====+=====Apprentissage avec des Fables de La Fontaine===== 
 +[[TAL Traitement Automatique du Langage avec des Fables de La Fontaine]]
  
-{{tag>ia text_processing machine_learning apprentissage_automatique python python3}}+{{tag> ia python tal }}
text_processing_and_machine_learning_tal.1590677610.txt.gz · Dernière modification : 2020/05/28 14:53 de serge