• Aucun résultat trouvé

Chapitre 3. Proposition d’une chaîne de formalisation des connaissances pour la maîtrise

3.3 Intégration des connaissances

3.3.2 Fonctionnement technique

L’outil est réalisé dans un environnement Java, le choix de ce langage a été fait suite à l’inventaire des solutions par ailleurs existantes. Il est vrai que la plupart des outils permettant

de traiter les ontologies sont réalisés avec le langage Java. Bien qu’ayant pour objectif d’être utilisé au sein de la plateforme Preventeo® opérée en Php, le choix s’est donc avéré limité.

La base de données est au format MySQL 5.1. Là encore le choix s’est porté sur cet outil en

raison de l’utilisation de celui-ci au sein de la plateforme Preventeo®.

Afin de réaliser les opérations de traitement sur l’ontologie, la bibliothèque Jena est utilisée

pour réaliser les requêtes de récupération des informations au sein de l’ontologie.

Le langage SparQL permettant dans le cas présent d’interroger l’ontologie pour récupérer les

sèmes des différents concepts (Agent de direction, Agent de personnel et Action) est utilisé.

En l’état actuel, le prototype est fonctionnel et s’exécute en “invité de commande”, l’informaticien est alors chargé de lancer l’outil avec les paramètres de l’application. Il est

nécessaire de spécifier l’identifiant du texte à analyser ainsi que le souhait de recréer ou non

une copie du texte ou d’écraser une précédente analyse par l’outil. Cette option permet par

exemple de générer plusieurs versions de l’analyse au fur et à mesure des améliorations apportées sur l’outil ou sur l’ontologie.

Les étapes du fonctionnement du prototype sont décrites ci-après.

Etape 1. Connexion à la base de données

La connexion à la base de données est réalisée dans le langage Java en utilisant un connecteur à la base de données MySQL.

Etape 2. Récupération du texte dont l’identifiant est passé en paramètre de l’application Les données du texte sont récupérées, ici, si l’outil a déjà proposé une analyse du texte,

l’identifiant correspondant est récupéré dans cette requête afin, selon le paramètre passé à l’application, de l’écraser ou de créer un nouveau texte. Il est à considérer aussi le découpage proposé par l’opérateur qui analyse le texte, il est possible de réaliser un découpage manuel

du texte en articles, ceci permet de renseigner ces informations de découpage directement dans le texte. Ainsi, plutôt que de réaliser un traitement du texte complet, il est possible de traiter les différents articles qui composent le texte en question.

Etape 3. Découpage du texte en phrases

Le texte est ensuite découpé en phrases. L’outil propose une analyse sur chaque phrase du texte récupéré. Ceci dans le but de proposer une extraction la plus fine possible des exigences réglementaires. Cette méthode présente l’avantage de la précision sur les exigences réglementaires mais engendre aussi des inconvénients tels que la non gestion des exigences sur plusieurs phrases. Il est à considérer une phrase dans le langage français comme une chaîne de caractères qui commence par une majuscule et se termine par un point. Si le point de départ est celui-ci, les textes étant insérés en base de données au format HTML, certaines particularités sont ajoutées pour le traitement, ainsi, les retours à la ligne ou fin de paragraphe (</p> </div>) considèrent aussi un bloc comme une phrase à analyser.

Etape 4. Connexion sur l’ontologie

De la même manière que le prototype se connecte à la base de données, la connexion sur

l’ontologie est relativement long, cependant, l’ontologie est alors chargée en mémoire, ce qui

permet par la suite d’être très performant sur les requêtes effectuées.

Etape 5. Récupération des termes candidats porteurs d’exigences réglementaires

Le langage SPARQL, présenté dans le chapitre précédent, permet d’effectuer des requêtes sur l’ontologie. Ainsi, au travers d’une requête syntaxiquement proche du langage SQL, il est aisé de traiter les informations contenues dans l’ontologie. L’exemple ci-dessous sélectionne les

étiquettes rédigées dans la langue française de toutes les sous-classes du concept Agent.

Tableau 4 - Requête SPARQL

PREFIX onto: <http://monontologie.com/ressources#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label ?class

WHERE { ?class rdfs:subclassof 'Agent' . ?class rdfs:label ?label .

FILTER (?label rdfs:lang('fr') ) }

Cette requête est effectuée pour vérifier la présence des termes dans le texte, il est nécessaire

ensuite de récupérer certaines informations telles que l’instance correspondant au terme ainsi

que les principes de management liés dans le cas d’un concept d’action.

Etape 6. Vérification sur chaque phrase de la présence des différents concepts

Il est ensuite possible de traiter chaque phrase, les informations basiques de l’ontologie étant

récupérées et stockées en mémoire, il est nécessaire de vérifier la présence des différents

termes dans les phrases. Lors de cette phase, l’outil vérifie la présence d’au moins un terme de

chaque concept ainsi que la position les uns par rapport aux autres afin de proposer ou non une exigence réglementaire. Toutefois, les informations relevées sont annotées sur le texte final.

Etape 7. Annotation du texte

Durant cette étape, le texte se voit ajouter toutes les informations permettant de prendre une décision, premièrement, tous les termes sont mis en sur brillance selon trois couleurs, une pour chaque famille de concepts : Agent de direction, Agent de personnel et Action. De

même, lors du repérage d’une exigence réglementaire, la phrase est soulignée afin que l’opérateur puisse visualiser directement les exigences proposées. Ajouté à ces informations, un récapitulatif des traitements effectués est affiché, le nombre d’exigences repérés, le

nombre de termes repérés pour chaque famille et le nombre de phrases analysées et la version du texte proposé.

Etape 8. Enregistrement du texte dans la base de données ou écrasement de la précédente analyse

Toutes les informations étant ajoutées sur le texte, celui-ci peut ensuite être enregistré dans la

base de données. Si l’utilisateur a choisi d’écraser les propositions précédentes des analyses, l’identifiant récupéré dans la troisième étape est utilisé pour la mise en base de données.

Sinon, un nouveau texte est créé et la version est incrémentée.