• Aucun résultat trouvé

3.3 Construction du graphe de connaissance

3.3.2 Analyse syntaxique de langage naturel

Rappelons le vocabulaire associé à l’analyse syntaxique :

− Lemme : En morphologie (linguistique), le lemme est la représentation canonique d’un en- semble de mots ayant le même sens (appelé lexème). Par exemple, les mots {mangeons, man-

geais, mange, manger} forme un lexème dont mange est le lemme. De même, fleur est le

lemme du lexème {fleur, fleurs}.

− POS (part-of-speech) : La nature d’un mot : nom, verbe, adjectif, déterminant, etc.

3.3. CONSTRUCTION DU GRAPHE DE CONNAISSANCE

Nature Catégories

Nom

act, animal, artifact, attribute, body, cognition, communication, event, feeling, food, group, location, motive, object, person, phenomenon, plant, possession, process, quantity, relation, shape, state, substance, time

Adjectif all,pert(pertainym4), ppl (participial)

Adverbe all

Verbe

body, change, cognition, communication, competition, consumption, contact, creation, emotion, motion,

perception, possession, social, stative, weather

Table 3.2 – Ensemble des sous catégories de WordNet par nature. Les catégories utilisées dans nos travaux ont été soulignées

− UPOS (Universal part-of-speech) [PDM11] : Cela correspond aux principales natures uni- verselles (c’est-à-dire commune à tous les langages) telles que VERB (verbe) ou NOUN (nom).

− XPOS (Language-Specific part-of-speech) [San90] : Natures spécifiques à un langage en particulier (l’anglais dans nos travaux) comme par exemple les différentes conjugaisons d’un verbe (VBZ pour la conjugaison à la 3èmepersonne, VBG pour les verbes au gérondif). − UDR (Universal Dependency Relation) [DMM08] [DMDS+14] [NDMG+16] : Représente

les liens syntaxiques entre les mots d’une phrase. Par exemple, dans la phrase Le chat mange

la souris, chat est lié à mange par une relation NSUBJ (sujet nominal), et ce verbe est lui-

même lié à souris par une relation DOBJ (cod).

Les différents tags existants (UPOS, XPOS et UDR) et leur significations sont référencées en Annexe A.

La construction de notre ontologie se fait à partir de l’analyse syntaxique de chaque définition associée aux synsets de WordNet. Par analyse syntaxique, nous entendons l’inférence de la nature et des relations grammaticales liant les mots dans une phrase. Nous nous basons ensuite sur cette analyse "bas niveau" en suivant une approche dite "bottom-up", c’est-à-dire en regroupant les mots en ensembles qui sont ensuite eux-même regroupés en relations. L’analyse est effectuée par l’analy- seur en langage naturel Parsey McParseface, qui est un réseau SyntaxNet [AAW+16] pré-entraîné sur un large corpus en langue anglaise.

SyntaxNet est un réseau de neurones basé transition qui permet l’analyse syntaxique d’une

ROOT He has good control . ROOT He has good control . ROOT He has good control . ROOT He has good control . ROOT He has good control . ROOT He has good control . ROOT He has good control . ROOT He has good control .

ROOT He has good control .

Figure 3.12 – Exemple d’analyse de dépendance par un système basé transition. La pile est indiquée en bleu et le tampon en gris. Modifié à partir de [CM14]

en suivant la nomenclature des tags UPOS ou XPOS. Dans la suite, ce sont ces derniers qui sont utilisés. Une deuxième étape vise ensuite, en utilisant les natures estimées, à inférer les relations de dépendances entre les mots (tags UDR).

Les systèmes basés transition [CM14] cherchent séquentiellement la meilleure "transition" en tenant compte de la configuration courante de l’analyse. De manière générale, la configuration d’une analyse c = (s, b, A) d’une phrase consiste en une pile (stack) s, un tampon (buffer) b et un ensemble d’arcs de dépendance (correspond au UDR) A . Pour plus de clarté, on se réfère à la figure 3.12. Dans cet exemple, on cherche à analyser la séquence de mots "He has good control.", que l’on note formellement w1, . . . , wn(ici n = 4). La première colonne correspond aux transitions

inférées par le système et les trois autres forment la configuration c. Il faut noter que cet exemple se place directement dans la seconde étape, à savoir que les tags XPOS de chaque mot de la séquence sont connus. L’état initial correspond à la première ligne du tableau. On peut y voir que le tampon est rempli par la séquence de mots et que la pile est vide. Bien sûr, l’ensemble des dépendances l’est également. A partir de là, le système va estimer la meilleure transition (et le label associé selon son type) à partir de la configuration actuelle. On note par si le ièmeélément à partir du haut de la

pile et bile ièmeélément du tampon. Il y a trois types de transitions :

3.3. CONSTRUCTION DU GRAPHE DE CONNAISSANCE xhe xPRP xgood xJJ xamod xdobj

Figure 3.13 – Schéma d’un réseau de neurones basé transition. Chaque descripteur (mot w, tags

POS t et dépendance l) de chaque élément de la phrase d’entrée est représenté sous forme vectorielle

via respectivement les matrices Ew, Etet El. Modifié à partir de [CM14]

de la pile. On peut en voir un exemple à la transition entre la 3ème et 4ème ligne du tableau. On a, avant la transition, s1 = has et s2 = He. Le système estime la transition LEFT-

ARC(NSUBJ), ce qui enlève He de la pile et ajoute la relation de dépendance à l’ensemble

A.

− RIGHT-ARC(l) : La même chose en inversant le sens de la relation (ie de s2 vers s1) et en

retirant s1à la place de s2. Exemple visible à la 8èmeligne du tableau.

− SHIFT : Quand aucune dépendance n’est trouvée, on ajoute le premier élément du tampon

b1à la pile (2èmelignes du tableau).

L’analyse est terminée lorsque la pile et le tampon sont vides.

Voyons maintenant comment les transitions et les labels sont inférés en pratique. Pour cela, on commence par représenter les mots mais également les natures de mots XPOS ainsi que les dépendances UDR sous forme vectorielle (bas de la figure 3.13). Ces représentations sont apprises en même temps que les poids du réseau de neurones (haut de la figure 3.13) dont elles sont l’entrée. Chaque entrée (mot, nature XPOS et dépendance UDR) est un vecteur avec une coordonnée à 1 et

le reste à zéro. Dans le cas de mots, chaque coordonnée représente un mot du dictionnaire. Dans le cas de POS, chaque coordonnée correspond à une valeur de tag XPOS (cf Table A.2 en annexe) et de même pour les relations de dépendances (tag UDR). Dans le schéma, d est la dimension des vecteurs associés à chaque descripteur (mot, POS ou relation de dépendance). Nw est la taille du

dictionnaire (nombre de mots connus), Ntle nombre de tags XPOS et Nlle nombre de tags UDR.

L’ensemble des types de transitions et de labels (tags UDR) étant discret, on se retrouve avec un problème de classification : la transition (et le label) inférée est donc celle avec la probabilité la plus élevée en sortie du réseau de neurone. Le vecteur d’entrée est une concaténation des représentations vectorielles des mots, des tags POS et des tags UDR pour des ensembles de groupes (allant de 1 à 3) de mots.

Jusque là, il a été supposé que les POS étaient connus. En pratique, ils ne le sont pas. SyntaxNet estime le POS d’un mot wi de la phrase à partir d’un autre réseau de neurones en utilisant les représentations vectorielles de ce mot et de ces voisins. Les représentations vectorielles des tags

POS précédemment inférées pour j < i sont également utilisées.

La sortie de SyntaxNet suit le format coNLL-X [BM06], qui va constituer l’entrée de notre algorithme. ce format contient différentes entrées dont certaines sont dépendantes des applications. Lorsque qu’une entrée est inutilisée ou non déterminée, elle est représentée par un signe _. La figure 3.14 est un exemple de phrase décrite en format coNLL-X. Dans la suite, nous ignorons les colonnes liées aux descriptions spécifiques (colonne 6), les relations de dépendances projectives (colonne 10) et les index correspondants (colonne 9). L’index de dépendance (head en anglais) est l’index du mot auquel est dépendant le mot courant par la relation spécifiée par son tag UDR. On lit ainsi que food est lié à eating par une relation de complément d’objet direct. On rappelle que les domaines de définition des différents tags UPOS, XPOS et UDR sont donnés en annexe A. Notons que SyntaxNet ne donne pas les lemmes de chaque mot. Nous les ajoutons par la suite en utilisant le processeur morphologique Morphy5de WordNet.