• Aucun résultat trouvé

VI.5 Module d’identification

VI.5.2 Implémentation des patrons linguistiques

VI.5.2.2 Patrons pour l’analyse syntaxique

Les patrons ”syntaxiques” constituent une extension des patrons ”lexicaux”, ils sont aussi construits autour des mots-clés mais utilisent des informations syntaxiques renvoyant aux ca-tégories morpho-syntaxiques des mots d’une phrase et aux dépendances syntaxiques entre ces mots. Ces patrons sont donc appelés à s’appliquer sur les arbres syntaxiques des phrases de la base documentaire qui sont pris en charge dans les objets ”AnalyzedSentence” avec la propriété ”content” (héritée de ”TextualUnit”) qui stocke l’arbre syntaxique d’une phrase donnée.

Chapitre VI. Conception et développement de la plateforme SemEx

PREFIX schema: <http://lipn.univ-paris13.fr/RCLN/schema#>

select ?sentence ?content where{

?sentence rdf:type schema:Sentence.

?sentence schema:content ?content.

?sentence schema:normalizedContent ?norm.

?sentence schema:isValidated <false>.

?sentence schema:isNoValidated <false>.

FILTER regex(str(?norm), p1).

FILTER regex(str(?norm), p2).

...

FILTER regex(str(?norm), pn).

}

Figure VI.27Typologie de requêtes prenant en compte les combinaisons de mots-clés à base d’inter-sections de patrons.

PREFIX schema: <http://lipn.univ-paris13.fr/RCLN/schema#>

select ?sentence ?content where{

?sentence rdf:type schema:Sentence.

?sentence schema:content ?content.

?sentence schema:normalizedContent ?norm.

?sentence schema:isValidated <false>.

?sentence schema:isNoValidated <false>.

{FILTER regex(str(?norm), p1).}

UNION

{FILTER regex(str(?norm), p2).}

UNION ...

UNION

{FILTER regex(str(?norm), pn).}

}

Figure VI.28Typologie de requêtes prenant en compte les combinaisons de mots-clés à base d’union de patrons.

Ces patrons ne sont pas implémentés dans des requêtes SPARQL, mais utilisent une requête pour l’accès aux phrases auxquelles ils vont s’appliquer. La requêteVI.29fournit l’ensemble des

VI.5 Module d’identification

arbres syntaxiques associés aux phrases de la base documentaire non encore classifiées. Chaque patron construit est comparé avec chacun de ces arbres et les phrases filtrées sont proposées à l’expert métier pour les valider comme règles candidates.

PREFIX schema: <http://lipn.univ-paris13.fr/RCLN/schema#>

select ?sentence ?content ?analyzedContent where{

?sentence rdf:type schema:Sentence.

?sentence schema:content ?content.

?sentence schema:parsedTo ?analyzedSentence.

?analyzedSentence schema:content ?analyzedContent.

?sentence schema:isValidated <false>.

?sentence schema:isNoValidated <false>.

}

Figure VI.29Requête renvoyant la liste des phrases analysées syntaxiquement dans la base documen-taire.

Les patrons syntaxiques sont construits à partir de mots-clés mi et d’informations syn-taxiques cj. Ils utilisent des opérateurs tels que ”+” et ”...” et les relations hiérarchiques des éléments mi et cj dans l’arbre syntaxique. Nous avons défini deux catégories de patrons, l’une sur les arbres syntaxiques des composants (Pasc), l’autre sur les arbres syntaxiques des dépen-dances (Pasd).

Nous avons testé l’implémentation dans ce module des patrons sur les arbres de composants.

A la différence des patrons définis au niveau lexical, SPARQL n’est pas adapté pour implémenter les patrons devant s’appliquer sur des arbres syntaxiques : d’une part la structure des arbres syntaxiques est plus complexe que celle des chaînes de caractères, d’autre part les catégories syntaxiques ne sont pas prises en charge dans les expressions régulières classiques qui traitent des caractères. Pour cette raison, nous avons testé l’outil Tregex9 proposé par le projet Stanford10, le même qui propose aussi l’analyseur syntaxique que nous utilisons.

Trois types de patronsppeuvent être représentés dans Tregex et appliqués sur les arbres de composants permettant une recherche sur les phrases à partir d’une combinaison de mots-clés et de catégories syntaxiques. :

1. L’opérateur ”+”, d’où les patrons p= +ni=1(mi|ci)∧kj=1ancestor(ci, cj) qui sont associés

9. http ://nlp.stanford.edu/software/tregex.shtml 10. http ://nlp.stanford.edu/software/index.shtml

Chapitre VI. Conception et développement de la plateforme SemEx

aux mots-clés successifs du genre +mi=1mi. Dans Tregex, dans ce même patron la combi-naison est encapsulée dans les liens de succession entre les ci et les cj. Pour généraliser par exemple l’arbre syntaxique de la phrase dans la figure VI.31, nous pouvons définir un patron P1 (voir VI.30) de recherche du mot-clé ”must” dans la base documentaire analysée syntaxiquement.

P1 : (MD < < must) > ((VP $. NP) <- (VP <, VB))

P2 : (MD < < must) > ((VP $. NP) <- (VP < VB < < be)) P3 : If > > IN > (SBAR $ (ADVP < RB < < then))

Figure VI.30Exemple de patrons de fouille syntaxique applicables sur des arbres syntaxiques des composants.

Ce patron P1 filtre toutes les phrases où :

– le mot-clé ”must” est dominé par le nœud MD (opérateur modal), à son tour immédia-tement dominé par un nœud VP (groupe verbal)

– le frère direct à gauche de ce VP est un nœud NP (groupe nominal)

– le dernier fils à droite de ce VP est un autre nœud VP dont le premier fils est un verbe VB.

Autrement dit, ce patron reconnaît toutes les phrases où le mot-clé ”must” est précédé d’un groupe nominal NP et suivi d’un groupe verbal VP. Ce patron peut être plus spé-cialisé en précisant le verbe VB du groupe verbal VP. D’où le patron P2 qui est une spécialisation de P1 où le nœud VB domine ”be”.

2. L’opérateur ”...”, d’où les patrons p=...ni=1(mi|ci)∧kj=1ancestor(ci, cj) qui sont associés aux mots-clés successifs mais éloignés les uns les autres. Dans Tregex, pour ce même patron la combinaison est encapsulée dans les liens de succession entre lesci et lescj. Par exemple pour la phraseVI.32, nous pouvons avoir un patron P3 (voir VI.30) qui matche avec toutes les phrases où apparaît le mot-clé ”if...then”. Ce patron P3 permet de trouver les phrases commençants par ”If” dominé par le nœud SBAR (sous-phrase) qui est frère d’un nœud ADVP (adverbe pronominal) dominant une chaîne avec le nœud RB puis la valeur ”then”.

3. La combinaison de ces deux premiers opérateurs, ”+” et ”...” qui permet de construire des patrons autour de mots-clés plus longs et plus complexes comme ”must not...if not”, d’où des patrons dans Tregex décrits par p = (+|...)ni=1kj=1 ancestor(ci, cj)(mi|ci). Ces patrons sont définis de la manière que les premiers types mais semblent plus rares ; nous

VI.5 Module d’identification

Figure VI.31Arbre syntaxique des composants d’une phrase à partir duquel est défini le patron syntaxique.

n’avons pas trouvé d’exemple dans nos expérimentations mais ils pourront jouer un rôle dans d’autres corpus.

L’utilisation de ces patrons bénéficierait grandement de la constitution d’une bibliothèque de patrons avec l’aide de spécialistes de la syntaxe. Dans la mesure où une bonne partie de la détection repose sur les mots-clés, cette bibliothèque aurait une bonne réutilisabilité. Nous avons pour l’instant montré comment intégrer ces patrons à SemEx et comment les utiliser pour des fouilles plus complexes.