Créer un plongement de mots
Un plongement de mot
Le plongement de mot est une représentation des données textuelle qui consiste à associer un vecteur à chaque mot.
Gensim
Gensim est un package Python dédié au NLP. Il propose qui permet de
Installation
Gensim peut être installé depuis le répertoire Pypi avec pip
Vous pouvez également lancer l'installation depuis votre notebookImportation des modules
import os
import pickle
import re
import unicodedata
import nltk
import numpy as np
from gensim.models import Word2Vec
Prétraitement des textes
tokenizer = nltk.tokenize.RegexpTokenizer(r'\w+')
def preprocess(line):
def remove_no_latin(string):
return unicodedata \
.normalize('NFKD', string) \
.encode('ASCII', 'ignore') \
.decode('utf-8')
new_line = remove_no_latin(line)
new_line = re.sub(r"(@[A-Za-z]+)|([^A-Za-z \t])|(\w+:\/\/\S+)", " ", new_line)
new_line = new_line.lower()
tokens = tokenizer.tokenize(new_line)
return tokens
class MyCorpus(object):
def __init__(self, dirname):
self.dirname = dirname
def __iter__(self):
for fname in os.listdir(self.dirname):
for line in open(os.path.join(self.dirname, fname)):
yield preprocess(line)
Tester le modèle
[('le', 0.9998461008071899),
('lannee', 0.9998108148574829),
('disque', 0.9998019933700562),
('il', 0.9998003244400024),
('ses', 0.9997894763946533),
('carriere', 0.9997774362564087),
('apres', 0.9997769594192505),
('on', 0.9997597932815552),
('ou', 0.9997404217720032),
('en', 0.9997389316558838)]