2. Qui suis-je ?
Formation scientifique (biologie et
informatique fondamentale)
Machine learning (traitement du langage)
et développement (Python principalement)
Depuis janvier, chez Likeabird
3. Le traitement automatique du langage naturel est
une discipline à la frontière de la linguistique, de
l'informatique et de l'intelligence artificielle, qui
concerne l'application de programmes et
techniques informatiques à tous les aspects du
langage humain.
4. Génération automatique de texte
Traduction automatique
Classification de texte (ex: spam)
Natural Language Understanding
Applications
5.
6.
7.
8. Application de techniques
d'apprentissage statistique pour
identifier de manière automatique des
patterns dans les données.
Introduction (très rapide)
au machine learning (1)
9. Différents types de tâches, notamment :
la régression, estimation d'une valeur numérique.
Exemple : quel serait le prix de vente d'une
maison, en fonction de sa superficie, de
l'emplacement, de la présence d'un garage,... ?
la classification, attribution d'un label à une
entité. Exemple : Est-ce que ce mail est un spam ?
(2 catégories, Spam et None).
Introduction (très rapide)
au machine learning (2)
10. Assez souvent, apprentissage supervisé :
l'algorithme apprend à partir de données taggées
qu'on lui fourni.
Introduction (très rapide)
au machine learning (3)
11. On part d'un ensemble de données qu'on a
manuellement classifié.
Généralement, on sépare ce jeu de données en deux:
un jeu d'entraînement, qui permettra à
l'algorithme d'apprendre à classifier à partir
d'exemple
un jeu de test, qui permet de mesurer la capacité
de généralisation du modèle : capacité à prédire la
classe d'un objet inconnu du modèle
Procédure standard
12. On extrait des features (un vecteur) associés à
chaque élément de notre jeu de donnée.
Quels critères de décision
pour le modèle ?
13. Modèle standard de
classification de texte : Bag of
Words
Idée : un texte peut être représenté par la
fréquence de chaque mot qui le compose.
Soit un vocabulaire V de taille n. On peut
représenter un document par un vecteur
où correspond à la fréquence du
mot d'index i dans le document.
x ∈Rn
xi
15. Word Embedding
Il est parfois souhaitable d'avoir une
représentation vectorielle d'un mot (word
embedding).
E.g: similarité sémantique (pomme et orange vs
pomme et mairie), ou comme input à un réseau
de neurones.
16. En 2013, Mikolov et al. présentent un ensembles de
modèles appelés Word2Vec qui permettent d'apprendre
de manière non supervisée la distribution vectorielle de
mots.
2 méthodes pour y arriver :
cbow (Continuous bag of words), prédiction du mot en
fonction de son contexte
skip-gram, prédiction du contexte en fonction du mot
Word2Vec
20. SpaCy
Une nouvelle bibliothèque Python de
traitement du langage :
rapide (!)
versatile
API de très bonne qualité
Support de l'anglais et de l'allemand pour le moment
22. Conclusion
Un domaine qui évolue très vite
Nouvelles approches inspirées du deep
learning en reconnaissance d'image
(réseaux de neurone à attention,...)
Python est positionné comme un des
langages favoris en NLP et machine
learning