Vous êtes sur la page 1sur 9

Recherche sur l'utilisation des

réseaux de neurones à convolution


et de graphes acycliques non-
circuités pour l’analyse de
données textuelles francophone.
Havas Montréal - Le 29 mars 2018

Rédaction et recherche par Antoine Fortin


Sous la supervision de Julien Bigeault
1.0 – Présentation
Ce dossier de recherche présente les différentes phases de recherches sur le
sujet
de l'intelligence artificiellle afin de construire un réseaux de neuronnes
permettant l'analyse automatique et suppervisé de synthèse de texte afin d'en
extraire un thème et une catégorie. Le dossier de recherche se penche sur
l'analyse de textes rédigé en français. En utilisant diverses technologies et
recherches déjà présentes sur le web, nous avions comme but de trouver les
meilleurs outils et moyens afin de réaliser la tâche donnée d’analyse et de
synthèse textuellle.

L’utilisation d’algorithme par renforcement fût utilisé lors de l’exploration et


la veille technologique de la recherche.

2.0 – Introduction et présentation


Problématique
Suite à un jeu de donnés de 8600 articles, l’utilisation d’algorithmes afin d’en
déduire un résultat de synthèse fût choisi comme approche. C’est enn
utilisant en premier lieu la rédaction d’un algorithme et d’une librairie
maison en utilisant diverses équations en papier sur le sujet pour la
résolution de la problématique que nous voulions résoudre la problématique.

La problématique rencontré fût la barrière linguistique du français qui posait


souvent une limite quant aux modèles déjà entrainés pour faire la tâche
précise. Rapidement, les ressources de diverses techniques bien installées
dans le domaine, notamment l’utilisation de Word2Vec, ce sont résulté non-
concluantes, notamment due au manque d’entrainement de ces modèles sur
des jeux de données francophone.

Comment l’intelligence artificielle peut-elle être utilisée


afin de produire un synthèse sur un jeu de donnée
textuelle francophone?
La question principale de notre recherche fût la dernière. Suite à cette
problématique linguistique, nous avons exploré les principes de bases de
l’analyse algorithmique de données textuelle, en prenant en considération la
langue comme principal argument. Plusieurs modèle et réseaux de neuronne
existent déjà et les recherches sur l’analyse textuelle est bien ancré dans le
domaine de l’intelligence artficielle. Il nous fût donc possible d’utiliser
plusieurs de ces informations afin d’en déduire les lignes directrice de notre
problématique et nous données des pistes de réflexions et d’analyse.

En nous basant sur plusieurs recherches effectuées au courant des dernières


décennie, il nous fût possible de déduire une logique d’analyse linguistique et
de pouvoir créer une abstraction permettant à un cas donné de pouvoir
interagir avec un jeu de donnés francophone.

État de la question et problématique


Plusieurs compagnie ce sont déjà penchées sur l’analyse textuelle des réseaux
de neuronnes et comment utiliser une abstraction afin de pouvoir réduire
l’impact linguistique sur un jeu de données. Les diverses ressources récoltés
et analysé afin de produire une recherche significative ce sont rapidement
tournée vers le NLP (Natural Langage Processing).

Plusieurs articles déjà présent dans le domaine utilise la Classification par la


méthode des nuées dynamiques (k-means) et le K-regroupement.
Suite a une identification de différentes partie d’une données x et la
réduction de celle-ci en nœud et poid respectif, il est possible de faire une
réduction considérable d’un nombre de sorties possibles.

En entrainant l’algorithmes avec de large jeu de données, il est possible de


prendre une logique existante pour l’analyse textuelle (IE : K-Means, K-Nearest
) et de la transposé sur une analyse francophone.

Analyse de la problématique
Beaucoup des mots et expressions francophone ont un taux de règles
particulière aux contextes dans lesquels ils ou elles sont utilisés, ce qui ajoute
un degré de complexité lors de l’analyse d’un texte par un réseaux de
neurone. Le genres (féminin-masculin) des noms communs ajoutent un degré
de profondeur à notre réseaux de neuronnes qui devra faire une
différenciation directe de ces deux entité étant à la base même des langues
latines.
Le genre des mots n’est pas relié au sens littéral de ceux-ci, mais bien au poid
et à la signification d’un contexte dans l’analyse d’une donnée. Le genre
deviendra une couche primaire du réseaux afin de permettre une exactitude
accrue d’un jeu de donnée.

Technologies utilisées

Avant de commencer la recherche nous avons dû établir une boîte à outil et


un barême de direction technologique. Dûe à la forte utilisation de ce
langage dans le domaine de l’IA et de la science des données,
l’utilisation de Python fût le premier choix lors du langage. De plus,
l’objectif technologique de cette recherche était de proposé un service
dans les nuages permettant de résoudre la problématique.

Python, TensorFlow et Annaconda.

3.0 – Analyse des Réseaux de Neurones


L’analyse du langage naturelle est un champs de l’IA très large qui se veut souvent
montré comme un des champs pillier du domaine. Le processus se nomme
le traitement automatique du langage naturel, cette branche de l’IA a pour
but d’analyser et de comprendre les liens entre l’utilisations des mots, de la
linguistique et du processus de poids entres mots.

Chaque mot d’une phrase possède un poid dans la une phrase, mais reste relatif au
contexte de la phrase elle-même. Nous devons donc traiter chacun des
données d’une phrase comme étant un nœud unique, mais également
comme dépendant du contexte lui appartenant.

Dans une matrice A ayant n entré…


n pouvant être représenter comme un mot, dans la matrice phrase possédant n entrée et
ou chaque entrée a son propre poid.

Quel type de réseaux de neurone choisir?

Avant de nous pencher sur la rédaction et le design de notre réseaux, nous nous sommes
pencher sur lkes différents types de réseaux de neurone permettant de
garantir un résultat optimal pour notre situation x.

Les réseaux neuronaux convulotifs sont un type de réseaux approprié pour le NLP.

Perceptron et Perceptron Multi-couches


L’utilisation d’un perceptron multicouche a également été mise de l’avant quant à nos
recherches. Suite au différents test et entraînement sur divers jeu de
données, l’utilisation d’un perceptron multi-couches se voyaient vite limité
en performance. Les ressources et le temps d’éxécution de ce type de
structure sont vite limitéesé
Étant activé ou non lors de la fonction d’activation(binaire), un perceptron est la base de
tous réseaux de neurones. L’utilisation multis couches de ce dernier peut-
être utiles. Comment mentionné ci-dessus, les perceptron multiouches sont
énormément gourmand en mémoire et le temps d’éxécution d’un
entrainement sur un large jeu de données est prèsque qu’impossible pour
avoir un résultat significatif.

Les perceptrons multi-couches proposent un lien entre chaque couches d’un réseaux, ce
qui explique la complexité et la lenteur de ce type. Chaque ajout d’une
nouvelle couche, le processus devient exponentielle dû à l’analyse de
chaque nœud de chaque couche pour chaque entrée.
Malgré l’orientation acyclique des signaux, il est posssible de constaté que chaque nœud
est couplé en n nombre d’entrée et de sortie étant toujours la même. En
grdant en tête l’orientation acyclique d’un graphe, nous avons recherché
quel type de réseaux de neurone serait possible de rendre l’acyclique
divergeant en entrée et sortie.

Graphe orienté acyclique


Un graphe acyclique ne possède pas de circuit, ce qui permet à chaque nœud d’avoir une
direction d’entrée et de sortie sans circuit précis. Malgré sont approche
acyclique, le perceptron démontré dans la rubrique précédente est
unidirectionnelle. Aucun circuit n’est précisé, mais chaque nœud doit
communiqué avec tous les nœud du réseaux. D’où l’exponentiel.

Un circuit acyclique

La beauté
Chaque nœud d’un graphe acyclique possède donc un nombre de signaux entrant et un
nombre de signaux sortant, ce qui propose une plus grande flexibilité
quant à l’utilisation d’un réseaux non-circuitié.

Graphe et réseau neuronal convolutif


L’utilisation d’un réseaux de neurone convulotif est de permettre de segmenter le nombre
d’entrée et de sortie de nos nœud de chaque coiche afin d’en modifié le
nombre total. Contrairement au perceptron multi-couche, le RNC
permettent de traiter de manière optimal les signaux sorant et sortant d’un
noyau.
**RNC = Réseaux neuronal convulotif

Les RNC sont construit de plusieurs petites couiches de perceptrons qui permettent de
briser l’information en petits segments et donc de permettre une logique
quant au in-out.

**** a et b
(en) Ian J. Goodfellow, Yoshua Bengio et Aaron Courville, Deep Learning, MIT
Press, 2016(ISBN 0262035618, lire en ligne [archive]) [détail des éditions] , chapitre 9.

1. Connectivité locale : grâce au champ récepteur qui limite le nombre d'entrées du


neurone, tout en conservant l'architecture MLP (cf. point précédent), les réseaux de
neurones convolutifs assurent ainsi que les « filtres » produisent la réponse la plus
forte à un motif d'entrée spatialement localisé, ce qui conduit à une représentation
parcimonieuse de l'entrée. Une telle représentation occupe moins d'espace en
mémoire. De plus, le nombre de paramètres à estimer étant réduit, leur estimation
(statistique) est plus robuste pour un volume de données fixé (comparé à un MLP).
2. Poids partagés : dans les réseaux de neurones convolutifs, les paramètres de
filtrage d'un neurone (pour un champ récepteur donné) sont identiques pour tous les
autres neurones d'un même noyau (traitant tous les autres champs récepteurs de
l'image). Ce paramétrage (vecteur de poids et biais) est défini dans une « carte de
fonction ».
3. Invariance à la translation : comme tous les neurones d'un même noyau (filtre) sont
identiques, le motif détecté par ce noyau est indépendant de localisation spatiale
dans l'image

http://www.maltparser.org/
http://www.lrec-conf.org/proceedings/lrec2016/pdf/85_Paper.pdf
https://www.bloomberg.com/news/articles/2018-01-15/alibaba-s-ai-outgunned-
humans-in-key-stanford-reading-test

http://www.iro.umontreal.ca/~hamelsyl/oriente4.pdf

4.0– Hypothèse