... | ... | @@ -15,12 +15,59 @@ L’analyse des structures pivot (UNL) est guidée par des schémas de transduct |
|
|
|
|
|
## Installation et usage
|
|
|
|
|
|
[TODO]
|
|
|
TENET est un module python. Les dépendances sont spécifiées dans le fichier `requirements.txt`.
|
|
|
|
|
|
Les sources peuvent être copiées dans un repertoire local. Il est conseillé de créer un environnement virtuel, puis d'installer les paquets nécessaires, par exemple avec la commande _pip_ :
|
|
|
> `pip install -r requirements.txt`
|
|
|
|
|
|
## Guide de développement
|
|
|
L'outil TENET est constitué de librairies python (repertoire `lib`) et de structures définissant le processus d'extraction (repertoire 'structure'). Les librairies peuvent être utilisées dans un script d'exécution pour mettre en oeuvre le processus d'exécution.
|
|
|
|
|
|
Le script `run_execution.py` est proposé pour un usage simple. Les données d'entrée doivent être placées dans le repertoire `input`. Les résultats seront générées dans le repertoire `output`. Pour lancer l'extraction, il suffit d'exécuter la commande suivante :
|
|
|
> `python3 run_execution.py`
|
|
|
|
|
|
Il est possible d'adapter la configuration de l'outil en modifiant le fichier `config.xml`. Les références des données à traiter sont à définir dans le script d'exécution.
|
|
|
|
|
|
|
|
|
## Implémentation
|
|
|
|
|
|
Le processus d’extraction implémente le concept de transduction sémantique, qui consiste à appliquer une série de transformations sur un graphe sémantique. Ce processus prend, en _entrée_, une **ontologie cadre** et un ensemble de **graphes UNL-RDF**. Il produit, en _sortie_, est un ensemble de **triplets RDF-OWL** enrichissant et instanciant l’ontologie cadre.
|
|
|
|
|
|
|
|
|
### Exécution du processus
|
|
|
|
|
|
L'extraction est réalisée en trois étapes :
|
|
|
1. le chargement de la configuration,
|
|
|
2. la préparation de la structure de travail,
|
|
|
3. l'application du mécanisme d'inférence sur la structure de travail.
|
|
|
|
|
|
Ces trois étapes sont implémentées dans les modules config, structure et inference du repertoire `lib`.
|
|
|
|
|
|
|
|
|
### Mécanisme d'inférence (structure d'inférence)
|
|
|
|
|
|
L’analyse de la structure pivot (UNL) est guidée à l’aide de schémas de transduction compositionnelle. Implémentés sous la forme de requêtes SPARQL-construct, ces schémas sont intégrés dans un graphe de contraintes (shapes) respectant la spécification SHACL-SPARQL. Ils sont organisés en niveaux d’application, grâce au mécanisme sh:order. Ces règles dépendent fortement de la structure des graphes sémantiques en entrée, c’est à dire du formalisme UNL et des spécificités du corpus (syntaxe, registre, style, parfois phraséologie). En revanche, elles sont génériques du point de vue du contenu métier des phrases, qui est seulement précisé au niveau de l’ontologie cadre.
|
|
|
|
|
|
En complément, un mode d’exécution à quatre niveaux est adopté pour le mise en œuvre
|
|
|
du processus :
|
|
|
1. l’extraction des éléments atomiques,
|
|
|
2. la formation d’éléments composites par un procédé récursif,
|
|
|
3. l’extraction des propriétés et relations pour les éléments atomiques et composites,
|
|
|
4. la construction de l’ontologie cible.
|
|
|
|
|
|
Le typage des filets permet d’ajuster le traitement pour en assurer l’efficacité et la terminaison.
|
|
|
|
|
|
Ce mécanisme d'inférence est implenté, en s'appuyant sur les standards du Web Sémantique du W3C (RDF, OWL, SPARQL, SHACL), dans les structures du repertoire `structure`.
|
|
|
|
|
|
|
|
|
### Convention de nommage
|
|
|
|
|
|
Toutes les structures RDF utilisées par le processus d'extraction devraient respecter la convention de nommage suivante :
|
|
|
* séparation avec '/' pour les classes et sous-classes
|
|
|
* séparation avec '#' pour les nouvelles classes et instances
|
|
|
* identification des nouvelles classes avec la marque 'new-class#'
|
|
|
|
|
|
> Ex. : https://tenet.tetras-libre.fr/frame/system/new-class#operator
|
|
|
|
|
|
[TODO]
|
|
|
|
|
|
------------------------------------------------------------------
|
|
|
[1] Lamercerie, A. (2021). _Principe de transduction sémantique pour l’application de théories
|
... | ... | |