\textit{Étude des techniques de visualisation pour l'alignement interactif des ontologies}}
\vskip 3cm
\end{huge}
\Large
Gökcan GÜZEL
\vskip 1cm
Encadrant~: Gilles FALQUET
\end{center}
\end{titlepage}
\thispagestyle{empty}
\renewcommand{\abstractname}{Remerciements}
\begin{abstract}
\begin{spacing}{1.5}
\noindent Je souhaiterais remercier toutes les personnes m'ayant soutenu tout au long de mon travail de recherche. \\
Tout d'abord, j'aimerais remercier tout particulièrement le professeur Gilles Falquet pour son encadrement, ses conseils et sa disponibilité. \\
J'aimerais également remercier Damien Morard, Sami Ghadfi et Claudine Metral qui ont contribué de proche ou de loin à la réalisation de ce travail. \\
A ma famille et mes amis qui m'ont supporté, aidé et soutenu pendant mon master.\\
Finalement, je tiens à remercier Sandra qui a bien voulu lire mon mémoire et le corriger.
\end{spacing}
\end{abstract}
%%%%%%%%%%%%%%%%%%%%%%
% BEGIN ABSTRACT
%%%%%%%%%%%%%%%%%%%%%%
\thispagestyle{empty}
\renewcommand{\abstractname}{Résumé}
\begin{abstract}
{\color{red}Ajouter une phrase positive ici.\\}
Compte tenu de la croissance et de l'hétérogénéité des ontologies, rendre complètement autonome les algorithmes d'alignement d'ontologies s'avère être une pratique {\color{red}encore difficile}. Les outils visuels d'alignement entre ontologies permettent d'aligner deux ontologies automatiquement, mais les résultats des alignements sont souvent médiocres. Par conséquent, l'intervention de l'humain est nécessaire pour terminer l'alignement. L'objectif de ce travail est mettre en lumière les techniques existantes de visualisation interactive pour aider un expert à aligner deux ontologies. Ainsi l'étude des articles, le test des outils mis à disposition par la communauté des chercheurs et l'extraction des techniques de visualisation d'alignement entre ontologies ont été nécessaire pour la réalisation de ce travail. En plus des techniques, nous nous pencherons sur les tâches d'alignement entre ontologies pour chaque outils afin de mettre en évidence l'utilisabilité des techniques par rapport aux tâches d'alignement d'ontologies.
{\color{red}
En fin de compte, il s'avère que les techniques les plus efficientes sont les plus simples et les plus faciles à distinguer pour un utilisateur.
Par ailleurs, afin de répondre au sujet de ce travail de master, nous proposons et évaluons une interface visuelle d'alignement entre ontologies.
La quantité des ontologies ne cesse d'augmenter ce qui engendre une grande diversité et hétérogénéité de celles-ci. Il existe donc un large panel d'ontologies diverses et variées qui peuvent cependant présenter des communs~; comme l'équivalence de concepts ou encore l'équivalence de relation. Par ailleurs, les algorithmes d'alignement automatique d'ontologies donnent des résultats pas complètement satisfaisants. C'est pourquoi, pour arriver à de bons résultats, il est nécessaire que l'humain intervienne pour terminer l'alignement manuellement. Cette personne est souvent soit un expert en ontologie soit plus spécifiquement un expert dans le domaine d'une ontologie. Ce dernier utilise un outil d'alignement entre ontologies pour accomplir ses tâches. Plusieurs outils proposent l'alignement automatique d'ontologies. Un bon nombre d'outils de visualisation d'ontologies est disponible mais seulement une petite partie concerne les outils de visualisation d'alignement entre ontologies. Le but de ce travail est d'étudier ces outils afin de savoir quelles sont les meilleures techniques de visualisation pour aider un expert. Cette recherche se base sur une étude des techniques de visualisation, les tâches d'alignement entre ontologies pour chaque outils et met en évidence l'utilisabilité des techniques par rapport aux tâches.
\subsection{Problématique d'alignement entre ontologies}
Créer des liens entre deux ontologies s'avère être une tâche fastidieuse et longue. Malgré des années de recherches, les aligneurs automatiques ne donnent pas des résultats complétement fiables. Nous savons que les experts en ontologie qui souhaitent faire correspondre des ontologies se confrontent aux problèmes de l'alignement. Les chercheurs Sean M. Falconer et al \cite{InterTech} énumèrent ces difficultés parmi lesquelles on relève l'ambiguïté de la langue. Les langues sont connues pour être localement ambiguës. La phrase doit être suffisamment bien détaillée pour qu'on puisse la comprendre et avec une unique ontologie on a souvent un manque d'information. À cette difficulté s'ajoute la différence de format des données car une ontologie peut être décrite avec plusieurs langages par exemple le OWL ou le RDF. De plus, une difficulté récurrente est l'apparition du niveau de granularité différent pour décrire le même concept entre deux ontologies. Pour palier à ces problèmes, il existe des outils visuels d'alignement semi-automatique d'ontologies. Ces outils permettent à l'utilisateur de terminer l'alignement visuellement et interactivement.
Une ontologie est une conceptualisation de la réalité. Le terme "ontologie" a été emprunté à la philosophie et concerne l'étude de l'existence. En informatique ou en sciences de l'information, d'après Gruber \cite{GrubOnto}, Ling Liu et M. Tamer Özsu \cite{LiuOzsuOnto}, une ontologie est une forme de représentation de la connaissance définie par un ensemble de termes du même contexte. Ces termes reliés les uns aux autres expriment un vocabulaire et peuvent correspondre à des objets, des concepts ou des entités. En outre, on utilise des axiomes pour exprimer les contraintes entre les termes.
\subsection{Alignement}
Un alignement d'ontologies est le faite de créer des liens entre deux ontologies différentes \cite{OntologyAlignmentWiki}. C'est aussi un ensemble de correspondances entre deux entités (classes, objets, propriétés) ou entre deux concepts \cite{API4}. Cet alignement permet généralement d'assurer l'interopérabilité entre les systèmes hétérogènes dans le Web sémantique. D'après Namyoun Choi et al \cite{SurveyOntoMap}, l'alignement d'ontologies est créé quand on souhaite obtenir des domaines complémentaires. Ces mêmes auteurs distinguent clairement l'alignement d'ontologie, la jointure d'ontologie et l'intégration d'ontologie. En effet, la jointure d'ontologies se traduit par la génération d'une seule ontologie à l'aide de deux ontologies ayant le même sujet tandis que l'intégration d'ontologies génère une seule ontologie avec deux ontologies mais traitant des sujets différents.
\subsection{Utilisabilité d'un système}
L'utilisabilité d'un système est définie comme l'indicateur de l'effectivité, de l'efficacité et de la satisfaction dont un utilisateur arrive à effectuer les tâches prévues \cite{UsabilityWiki}. L'effectivité détermine si l'utilisateur accompli ou non les tâches. L'efficacité correspond au temps nécessaire pour que l'utilisateur fasse une tâche. Enfin, la satisfaction est une mesure subjective (personnelle) du plaisir qu'à l'utilisateur à travailler avec cette interface. À l'heure actuelle, il n'existe aucune théorie pour créer d'interfaces utilisables. Le test est la seule manière de vérifier l'utilisabilité d'une interface. Il convient donc de tester toutes nouvelles interfaces créées et de réitérer les tests jusqu'à ce que l'interface atteigne une utilisabilité suffisante \cite{KEUsability}.
Ce travail se compose de 8 chapitres~: introduction, présentation des outils existants, analyse des tâches extraites des outils, techniques de représentation visuelles extraites des outils, utilisabilité des interfaces, implémentation d'une interface, tests d'utilisabilité de l'interface et conclusion.
Un grand nombre d'outils de visualisation d'ontologies existe mais seulement une petite partie concerne les outils de visualisation d'alignement entre ontologies. Dans ce chapitre, nous étudions en détails les outils visuels d'ontologies et les outils visuels d'alignement entre ontologies afin de prendre connaissance de leurs différences et de leurs utilités. Nous commençons par les outils de visualisation d'ontologies (section ~\ref{sec:IntVisOnto}). Puis, nous poursuivons avec les outils de visualisation d'alignement entre ontologies (section ~\ref{sec:IntVisAliOnto}) et finissons par une analyse d'outils d'alignement d'ontologie (section ~\ref{sec:NonVisOnto}).
\section{Interface de visualisation interactive d'ontologies}
\label{sec:IntVisOnto}
La plupart des outils d'ontologies ont une interface de visualisation interactive. Celle-ci permet principalement d'aider l'utilisateur à manipuler des entités d'une ontologie~; ceci par exemple en créant une classe. Quelques outils visuels d'ontologie vont être décrits dans la partie qui suit~: Protégé \cite{ProtegeWeb}, Jambalaya (Protégé) \cite{JambaWeb}, OWLViz (Protégé) \cite{OWLVizWeb}, VOWL (Protégé) \cite{VOWLWeb}, NeON toolkit \cite{NeOnWeb}, RDF Gravity \cite{RDFGraWeb}, IsaViz \cite{IsaVizWeb} et OWLGrEd \cite{OWLGrEdWeb}.\\
\\
Protégé est un outil libre de création d'ontologie. Il possède un grand nombre d'extension pour la visualisation d'ontologie. Avec cet outil, il est assez simple de visualiser la hiérarchie des classes, les propriétés et les instances. L'utilisateur peut aussi choisir d'afficher ou non des fenêtres interactives. Toutefois, il est plus aisé d'accomplir la tâche si on affiche plus de 5 fenêtres à la fois. \\
Les extensions de Protégé (Jambalaya, OWLViz et ProtégéVOWL) offrent chacune une autre façon de visualiser une ontologie. Jambalaya propose deux visualisations différentes~: une vue classique en arbre et une autre en imbriquant les classes et les concepts (Monika Lanzenberger et al \cite{VizOntoTools}). OWLViz \cite{OWLVizWeb} permet d'avoir une visualisation en graphe de la hiérarchie des classes. Quant à l’extension ProtégéVOWL, il s'agit d'un outil qui suit la notion VOWL et Steffen Lohmanna et al \cite{VOWL1} décrivent ces éléments. Les points principaux que les auteurs font ressortir de cette notation sont les primitives graphiques, la couleur, les symboles (mathématiques ou autres) et les textes. Les primitives graphiques sont les représentations graphiques de chaque élément (par exemple un cercle pour une classe ou une flèche pour une relation). La couleur est simplement utilisée pour chaque élément d'une ontologie. Par la suite, dans leurs recherches, les auteurs ont adopté une nouvelle version qui s'intitule VOWL2 \cite{VOWL2}.\\
\\
Tout comme Protégé, NeON toolkit est un outil libre de création d'ontologie qui possède aussi des extensions pour la visualisation d'ontologies \cite{InterTech}. Il permet de naviguer facilement à travers les éléments de base d'une ontologie (les classes, les attributs et les instance)s. Il est possible de choisir d'afficher ou non des fenêtres interactives.\\
\\
RDF Gravity est un outil de visualisation interactif de graphe d'ontologie \cite{LinkedDashbord}. La fenêtre du programme est séparée en trois grandes parties. L'une d'elles est consacrée au graphe d'ontologie où l'on aperçoit des nœuds reliés entre eux avec des arcs. Les deux autres parties sont dédiées aux propriétés du graphe comme le filtrage des éléments du graphe ou encore l'exécution d'une requête. Selon les auteurs Nadia Catenazzi et al \cite{easyViz}, le graphe devient incompréhensible avec plus de 100 nœuds.\\
\\
IsaViz est un outil de visualisation graphique de modèle RDF \cite{LinkedDashbord}. Il permet de naviguer à travers les éléments du modèle, de faire un zoom et de créer des formes géométriques pour concevoir une ontologie. Selon Steffen Lohmanna et al \cite{VOWL1} OWLGrEd est un outil facile d'utilisation pour un utilisateur débutant. Cet outil est aussi basé UML et peut être utilisé comme une extension de Protégé.
\section{Interface de visualisation interactive d'alignement entre ontologies}
\label{sec:IntVisAliOnto}
Dans cette partie, nous allons décrire les critères analysés des outils visuels d'alignement entre deux ontologies. Il s'agit de OntoMap (NeON toolkit) \cite{OntoMapWeb}, OLA \cite{OLAWeb}, Coma++ \cite{ComaWeb}, PromptViz (Protégé) \cite{PromptVizWeb}, OnAGUI \cite{OnAGUIWeb}, CogZ \cite{CogZWeb}, AlViz (Protégé) \cite{AlVizWeb}, OPTIMA \cite{OptimaArt}, SAMBO \cite{SamboBioMedSys,SamboSessionBased} et AgreementMakerLight \cite{AgreMakerLightWeb}.
\subsection{Alignement automatique}
Pour commencer, nous allons nous focaliser sur l'alignement automatique entre deux ontologies. Cette fonctionnalité est pratique pour tout expert. En effet, elle facilite le travail et évite la répétition d'un bon nombre de tâches comme aligner deux classes pour l'alignement de deux grandes ontologies.\\
Parmi les outils analysés, excepté OntoMap, tous permettent l'alignement automatique entre deux ontologies et il est facile d'y procéder. Il suffit de charger les deux ontologies et de lancer le programme d'alignement automatique. Pour certains outils, l'utilisateur peut choisir l'algorithme d'alignement. Par exemple, l'outil OPTIMA utilise l'algorithme espérance-maximisation afin de trouver les similarités lexicales entre deux ontologies \cite{OptimaArt} ou encore OnAGUI permet de choisir entre un algorithme d'alignement basé sur la distance de Levenshtein ou sur la distance de Stoilos \cite{Spim}. Parmi tous les outils qui fournissent l'alignement automatique, seuls OnAGUI, AgreementMakerLight, Sambo, Coma++, PromptViz, CogZ et AlViz ont une interface visuelle de suggestion d'alignement entre ontologies. Sur la figure ~\ref{fig:ComaSug} nous apercevons par exemple le résultat d'alignement avec l'outil Coma++. Nous y voyons un lien (intensité de correspondance en couleur) reliant une classe d'une ontologie source à une classe d'une ontologie cible.
Patrick Lambrix et Rajaram Kaliyaperumal \cite{SamboSessionBased} expliquent que l'interface Sambo, un système spécifique à l'alignement des ontologies bio-médical, avertit l'utilisateur s'il y a un confit pendant l'alignement automatique mais le système actuel ne permet pas la résolution du litige. Cet avertissement est aussi considéré comme une suggestion d'alignement. Sambo permet de sauvegarder un alignement automatique et donne la possibilité à l'utilisateur d'y revenir ultérieurement pour terminer.
\subsection{Suggestion visuelle d'alignement entre ontologies}
La suggestion visuelle d'alignement entre deux ontologies est un moyen d'aider l'utilisateur à terminer l'alignement. Cette suggestion n'est pas forcément effectuée après un alignement automatique, elle peut aussi être proposée pour l'alignement manuel entre deux ontologies.\\
OntoMap, AgreementMakerLight, Coma++, Sambo, OnAGUI, PromptViz, CogZ et AlViz permettent de créer, modifier ou valider les alignements. Ces outils présentent les ontologies sous forme de représentation hiérarchique des classes.
Avec l'extension OntoMap, NeOn toolkit permet de créer ou modifier des correspondances d'alignement entre les objets. Les auteurs Sean M. Falconer and Natalya F. Noy expliquent dans leur article \cite{InterTech} que deux objets (classes, attributs ou instances) de OntoMap sont reliées par des traits qui représentent donc la suggestion visuelle d'alignement. Ils s'intéressent aussi à Coma++, un outil de l'université de Leipzig qui permet de visualiser deux ontologies côte à côte avec des arcs reliant les objets qui correspondent les uns aux autres. De plus, l'arc est de différentes couleurs pour montrer le niveau de correspondance. PromptViz (extension de Protégé) offre une suggestion des alignements sous forme de liste de correspondance avec le nom de la classe de l'ontologie source et le nom de la classe de l'ontologie cible. CogZ est une extension visuelle de PromptViz. CogZ suggère une liaison avec un arc entre deux classes. Tout comme Coma++, cet arc est de différentes couleurs, ceci dans le même but~; à savoir montrer le niveau de correspondance. AlViz (extension de Protégé) propose une suggestion visuelle d'alignement sous la forme de similarité entre les couleurs des deux ontologies. Il permet également une représentation de clusters (groupe de classes avec les concepts proches) avec les mêmes couleurs. Faria D. et al \cite{AgreementMakerLight} nous apprennent que AgreementMakerLight met à disposition une suggestion d'alignement avec deux listes d'ontologies représentées en arbre. Sambo dispose aussi d'une liste de suggestion d'alignement et l'utilisateur peut modifier les alignements \cite{SamboWeb}. La figure ~\ref{fig:SamboSugAli} montre une suggestion d'alignement avec Sambo. On aperçoit une classe source en rouge et une classe cible en bleu.
En outre, Sambo donne la possibilité de faire un alignement manuel avec deux listes hiérarchiques d'ontologies. On aperçoit cette possibilité sur la figure ~\ref{fig:SamboAliMan}.
Enfin, Laurent Mazuel et Jean Charlet \cite{Spim} illustrent dans leur article une première version de OnAGUI. Celle-ci ne contient pas de liste de suggestion. On bénéficie d'une liste de suggestion d'alignement dans une version plus récente de OnAGUI \cite{OnAGUIWeb}.
\subsection{L'utilisation des couleurs pour les interfaces visuels d'alignement entre les ontologies}
Nous allons parler de la fonctionnalité et de l'utilité de la couleur des outils lors de l'alignement entre les ontologies. On sait que la couleur représente un aspect important pour bien distinguer chaque objet et pour faciliter la tâche d'alignement d'ontologie.\\
NeON Toolkit avec OntoMap contient une interface avec plusieurs couleurs.
Nous apercevons sur la figure ~\ref{fig:NeON} la posibilité d'aligner les classes, les relations et les instances. Les classes sont représentées avec un « C » entouré avec un fond en bleu. Les relations sont représentées avec un « A » entouré avec un fond en orange. Nous apercevons aussi le violet pour la correspondance représentée avec un « M ». Grâce à ces couleurs l'utilisateur peut facilement créer un alignement. OLA est un outil de visualisation graphique d'ontologie et d'alignement entre ontologies. Il se décline aussi en plusieurs couleurs pour distinguer les objets tels que les classes et les propriétés qui sont respectivement le bleue et le rouge. Bien que OLA dispose de couleurs, il est néanmoins difficile de visualiser les deux ontologies. L'outil Coma++ utilise la couleur pour mettre en évidence le taux de correspondance (entre 0 et 1) entre un objet de l'ontologie source et un objet de l'ontologie cible. Les couleurs varient entre le vert (correspondance maximale) et le rouge (correspondance minimale). Pour PromptViz et CogZ la couleur n'est pas utile en soit pour distinguer les éléments. Monika Lanzenberger et Jennifer Sampson \cite{AlVizArt} font part de l'utilité de la couleur de l'outil AlViz. Elle est utilisée pour distinguer les classes ayant des concepts proches. On a donc une représentation visuelle en groupe de classes qui se dit cluster. L'outil Optima est un outil d'alignement automatique entre deux ontologies. L'article de Ravikanth Kolli et Prashant Doshi \cite{OptimaArt} présente l'outil Optima. On y aperçoit deux couleurs. Le bleue montre un nœud de l'ontologie source aligné avec l'ontologie cible tandis que le rouge met en évidence les nœuds qui ne sont pas alignés. Avec AgreementMakerLight on obtient aussi un taux de correspondance entre le concept source et le concept cible. Une couleur est définie pour cette correspondance. OnAGUI affiche également une couleur pour indiquer le degré de similarité entre les concepts des deux ontologies. Patrick Lambrix et He Tan \cite{SamboWeb} proposent pour l'alignement manuel de leur système Sambo deux couleurs~: le rouge pour l'ontologie source et le bleu pour l'ontologie cible.
\subsection{L'utilisation des formes pour les interfaces visuels d'alignement entre ontologies}
Les formes sont très utiles pour aider l'utilisateur à se représenter les objets d'une ontologie, c'est pourquoi il est intéressant de les étudier.\\
Dans la plupart des outils visuels d'alignement entre ontologies, nous avons un cercle comme forme géométrique pour représenter graphiquement un nœud ou une classe d'une ontologie. C'est le cas de OPTIMA, AlViz, CogZ, OntoMap, et OLA. OPTIMA contient des nœuds qui sont représentés graphiquement avec des petits cercles. AlViz offre une représentation avec des groupes de classes qui forment chacun un amas de cercles. Les formes comme les arcs ou les flèches sont souvent synonymes de propriétés ou de relations. Dans l'article \textit{Interactive Techniques to Support Ontology Matching}\cite{InterTech} on aperçoit que pour OLA on utilise des cercles pour les classes, des rectangles pour les propriétés et des losanges pour les types de données tandis que pour OntoMap il y a uniquement des cercles pour représenter des classes, des attributs ou des relations. La couleur du cercle et une lettre permettent de faire la distinction entre les cercles. Cependant, il est difficile de comparer deux ontologies avec OLA car il est sous forme de graphe. On le voit sur la figure ~\ref{fig:OLA}.
\begin{figure}[!h]
\centering
\includegraphics[scale=0.6]{img/Tools/L_OLA.jpg}
\caption{Outil OLA}
\label{fig:OLA}
\end{figure}
L'extension de PromptViz, à savoir CogZ, propose différentes visualisations d'ontologies \cite{VizTrouOnto}. On y trouve la visualisation en graphe, la visualisation en carte de l'arbre des classes ou la visualisation en graphique de camembert. Pour la visualisation en graphe, il y a des rectangles pour représenter des classes et des individus. Des flèches expriment les relations entre ces classes. Pour la visualisation en carte de l'arbre des classes, une fenêtre séparée en plusieurs rectangles forme l'intensité d'alignement. Concernant la visualisation en graphique de camembert, on aperçoit une représentation d'un cercle séparé en trois parties (alignés, concepts dans alignement, concepts alignés).
\subsection{L'utilisation des labels pour les interfaces visuels d'alignement entre ontologies}
Le label de l'alignement entre ontologies est le nom ou le texte qui décrit l'alignement. Il est souvent utilisé par les éditeurs d'alignement entre ontologies.\\
Dans l'outil OnAGUI, nous avons deux ontologies sous forme de liste hiérarchique de concepts ou de classes avec au milieu des deux ontologies une liste d'alignements possibles. La figure ~\ref{fig:OnAGUI} montre l'outil OnAGUI avec une liste d'alignement au milieu de deux ontologies. Dans cette liste, on aperçoit deux colonnes de labels qui sont les noms des deux concepts alignés.
Comme OnAGUI, les outils PromptViz et CogZ proposent une liste de labels de suggestion d'alignement entre ontologies. AlViz, quant à lui, propose deux listes mais sans le label d'alignement. Coma++ met à disposition uniquement un nombre entre 0 et 1 (degré de similarité) comme label de l'alignement. Bien sûr, l'utilisateur peut obtenir davantage d'informations en cliquant sur les noms des concepts correspondants à l'alignement. On retrouve les mêmes fonctionnalités pour AgreementMakerLight. Ce dernier offre également un label qui indique un pourcentage sur l'arc reliant le concept de l'ontologie source à l'ontologie cible.
\subsection{Disposition visuelle des ontologies}
La disposition visuelle des ontologies se décline de plusieurs manières. D'après les outils d'alignement entre les ontologies et les articles analysés, les dispositions visuelles sont en général en liste de hiérarchie de classes ou en graphe. \\
Les extensions de Protégé, PromptViz, CogZ et AlViz, ont une disposition en liste de hiérarchie de classes. PromptViz et CogZ contiennent deux listes d'ontologies côte à côte avec une liste de suggestion d'alignement au milieu tandis que AlViz présente les deux listes d'ontologies l'une sur l'autre. Coma++ compte deux listes d'ontologies côte à côte reliées par des arcs qui définissent le degré de correspondance entre les objets. Tout comme Coma++, OntoMap comprend deux listes de classes et attributs d'ontologie liées par des arcs. L'outil de l'INSERM, Institut National de la Santé et de la Recherche Médicale, OnAGUI propose une disposition visuelle similaire à PromptZ. En mode « alignement manuel » l'outil Sambo offre aussi une structure en hiérarchie de classe. \\
Les trois outils suivants fournissent une disposition visuelle en graphe. L'outil de visualisation d'alignement automatique OLA met en évidence une disposition visuelle en graphe où l'on peut charger deux ontologies et voir deux graphes l'un au-dessus de l'autre avec des nœuds (classes) et des flèches (relations). L'outil Optima permet une visualisation en graphe et l'utilisateur peut voir des nœuds (classes) et des arcs (relations) après avoir effectué l'alignement automatique. La figure ~\ref{fig:Optima} montre un alignement automatique effectué par Optima. On voit les nœuds alignés en bleu. On aperçoit aussi que cet outil permet de changer la disposition des ontologies grâce aux boutons situés au bas de la fenêtre.
On peut donc avoir des nœuds en arbre, en cercle, mélangés ou secoués. L'extension AlViz de Protégé donne la possibilité d'avoir des vues multiples en même temps. En plus de la vue en liste, on peut voir deux ontologies en graphe. On ne peut pas par contre distinguer les nœuds. On voit des groupes de classes avec les concepts proches.
\subsection{Filtre, Zoom et Mise en évidence}
Le filtre, le zoom et la mise en évidence des éléments d'alignement entre deux ontologies sont des options qui aident l'utilisateur à mieux effectuer les alignements ou à comprendre les manipulations effectuées sur l'alignement entre ontologies. Le filtre est une fonctionnalité pour ne choisir que les éléments en relation au filtre. Le zoom, quant à lui, permet à l'utilisateur de se focaliser sur les éléments proches et la mise en évidence met en avant (en gras et/ou en couleur différente) les éléments choisis par l'utilisateur.\\
On trouve ces options dans les trois extensions de Protégé, PromptViz, CogZ et AlViz. Les trois permettent de filtrer et de mettre en évidence les éléments. Parmi ces outils, uniquement CogZ utilise un zoom automatique lorsque l'utilisateur choisit un alignement \cite{InterTech}. La figure ~\ref{fig:CogZ} montre CogZ. On peut observer qu'il est possible de faire un filtre en haut des listes d'ontologies. De plus, on aperçoit que l'on peut effectuer un zoom en choisissant une classe depuis la liste des ontologies.
\begin{figure}[!h]
\centering
\includegraphics[scale=1]{img/Tools/CogZ.png}
\caption{Outil CogZ}
\label{fig:CogZ}
\end{figure}
Ce zoom est défini selon la similarité entre les classes sources et les classes cibles. Plus la similarité est grande, plus le zoom des classes est grand. Inversement, plus la similarité est petite plus le zoom des classes est petit. Après avoir effectué un alignement automatique avec Optima, on peut choisir d'afficher ou de ne pas afficher les nœuds, les arcs et les flèches. Avec OnAGUI et OntoMap, il est également possible de faire un filtre. Ces deux derniers outils permettent à l'utilisateur qui choisit l'alignement au milieu des deux listes d'ontologies de mettre en évidence les classes source et cible. Pour les outils Coma++ et AgreementMakerLight l'utilisateur peut déclencher une mise en évidence des concepts qui sont susceptibles d'être alignés. Pour ces outils, l'utilisateur doit simplement cliquer sur un concept qu'il désire ouvrir et automatiquement le concept de l'autre ontologie s'affiche avec un cadre en couleur avec l'arc et le degré de similarité.
\subsection{Taille des ontologies}
Nous nous intéressons ici à la taille des ontologies supportée par les interfaces visuels d'alignement entre ontologies. Intuitivement, nous pouvons dire que plus les ontologies sont grandes plus l'interface aura des difficultés à visualiser l'alignement. D'après les outils testés et ceux décrits dans les articles on sait que OLA est adapté pour les petites ontologies. OLA est un outil de visualisation graphique et il s'avère difficile de visionner l'alignement sur un graphe. De plus, il ne supporte que le OWL-Lite. Sean M. Falconer et Natalya F. Noy \cite{InterTech} mentionnent dans leur recherche que Coma++, PromptViz, CogZ et AlViz sont mieux adaptés aux grandes ontologies. Faria D. et al \cite{AgreementMakerLight} indiquent qu'ils ont amélioré AgreementMakerLight pour permettre l'alignement de grandes ontologies. La figure ~\ref{fig:AML} montre l'outil AgreementMakerLight. On aperçoit le résultat d'un alignement automatique effectué pour deux grandes ontologies. Cet outil permet aussi de valider l'exactitude de chaque alignement.
\begin{figure}[!h]
\centering
\includegraphics[scale=0.6]{img/Tools/L_AML.png}
\caption{Outil AgreementMakerLight}
\label{fig:AML}
\end{figure}
Ces auteurs ont aussi relevé que PromptViz et CogZ sont conformes pour les grandes ontologies. Uthayasanker Thayasivam et Prashant Doshi \cite{OptimaOAEI2011} disent que Optima est destiné à l'alignement de grandes ontologies. Cependant, Optima ne le permet pas pour tous les cas étudiés par les auteurs. Il est donc considéré comme un outil d'alignement d'ontologies à taille moyenne. Quant aux autres outils analysés, il est difficile de dire que tel outil est fait pour de petites ou grandes ontologies car seul Coma++, AgreementMakerLight et OnAGUI ont été testés.
\subsection{Alignement d'alignements entre ontologies}
Nous abordons dans cette partie l'alignement d'alignements entre ontologies. Certains chercheurs ont orienté leur recherche sur l'alignement d'alignements entre ontologies afin d'améliorer l'alignement et de pouvoir comparer les résultats d'alignement. Valentina Ivanova et al \cite{AlignmentCubes} ont développé un outil, AlignmentCubes, qui permet d'avoir une visualisation de plusieurs alignements disposés en matrice pour deux ontologies. L'outil est disponible sur le site Web des auteurs \cite{AlignmentCubesWeb}.
L'outil a plusieurs vues avec comme vue principale la matrice en cube. La figure ~\ref{fig:AlignmentCubes} illustre l'outil avec la vue en matrice. Cette matrice montre sur l'axe des x les concepts de l'ontologie cible, sur l'axe des y les concepts de l'ontologie source et sur l'axe des z les alignements créés par d'autres systèmes. En plus de la vue matrice en 3D, il existe la vue projection et la vue avec des multiples vues.
\subsection{Types de relation pour l'alignement}
Il est intéressant de connaître les types de relation que propose un outil d'alignement d'ontologies car cela nous renseigne sur le choix des fonctionnalités à disposition de l'utilisateur. Nous avons testé OnAGUI \cite{OnAGUIWeb} et nous découvrons qu'il permet la disjonction, l'intersection, l'inclusion et l'équivalence exact pour effectuer l'alignement. En ce qui concerne Coma++\cite{ComaWeb} nous avons constaté que cet outil permet un alignement soit avec l'intersection soit avec la différence. Faria D. et al \cite{AgreementMakerLight} relatent que l'outil AgreementMakerLight sauvegarde les différentes manières d'aligner. Cet outil permet l'inclusion avec une fermeture transitive et la disjonction sans fermeture transitive. Jérôme Euzenat et al \cite{OLAArt} expliquent dans leur article que l'outil OLA permet l'alignement d'ontologies avec la similarité lexicale entre les classes. Ceci peut donc être une similarité des chaînes de caractères entre les classe mais aussi des sous-chaînes de caractères.
\begin{figure}[!h]
\centering
\includegraphics[scale=0.5]{img/Tools/AlViz.png}
\caption{Outil AlViz}
\label{fig:AlViz}
\end{figure}
L'article \textit{AlViz - A Tool for Visual Ontology Alignement}\cite{AlVizArt} décrit l'outil AlViz et ses fonctionnalités. Les auteurs relèvent six catégories d'association entre les classes: l'égalité, l'égalité syntaxique, le plus grande que, le plus petit que, la similarité et la différence. Ces types de relations sont visibles sur la partie supérieure de la figure ~\ref{fig:AlViz} (en dessous de la barre de menu). Thayasivam Uthayasanker et Prashant Doshi \cite{OptimaOAEI2011} relatent que l'outil Optima permet l'alignement d'ontologies avec la similarité lexicale entre les classes. Finalement, Patrick Lambrix et He Tan \cite{SamboSessionBased} expliquent que Sambo permet l'équivalence exacte et l'inclusion entre les classes.
\section{Autres critères d'analyse d'alignement entre ontologies}
\label{sec:NonVisOnto}
Cinq autres axes de recherche non visuels ont été analysés au sein des outils interactifs d'alignement entre ontologies. Il s'agit de la combinaison d'algorithme d'alignement entre ontologies, de l'alignement d'instances entre ontologies, de l'alignement avec une ontologie de référence, du format de langage accepté par l'outil et du système d'exploitation toléré par l'outil. Les points suivants exposent les cinq orientations.
\subsection{Combinaison d'alignement entre ontologies}
Une des méthodes pour améliorer la précision d'alignement consiste à combiner les alignements entre ontologies. AgreementMakerLight le permet. En effet, AgreementMakerLight utilise quatre algorithmes d'alignement~: un algorithme basé sur le nom du littéral, un algorithme basé sur le nom du littéral d'une ontologie externe, un algorithme basé sur la similarité entre deux classes et un algorithme basé sur la similarité de chaînes de caractères (Faria D. et al \cite{AgreementMakerLight}). On trouve un autre système, Opal, qui combine les alignements dans l'article \textit{Mutiple alignement by aligning alignments}\cite{btm226}. Ce système combine les méthodes ayant obtenu les meilleures résultats lors de la recherche des auteurs. Il s'agit des méthodes d'estimation des distances, de la fusion d'alignement, de la pondération des paires de séquence, du polissage d'alignement et du choix des paramètres. Quand à Juanzi Li et al \cite{RiMOM}, ils décrivent un framework qui utilise deux stratégies d'alignement d'ontologies~: la stratégie basée sur la linguistique (\textit{Lingustic-Based}) et la stratégie basée sur la structure (\textit{Structure-Based}). L'outil Sambo \cite{SamboBioMedSys} utilise aussi plusieurs stratégies d'alignement~: la correspondance linguistique, la stratégie basée sur la structure, l'approche basée sur les contraintes, la stratégie basée instance et la stratégie utilisant une information auxiliaire. Finalement, Miklos Nagy et al \cite{DSSimOnto} introduisent un système d'alignement d'ontologies. L'alignement est créé avec un processus itératif en trois étapes. Ces étapes sont la similarité syntaxique, la similarité sémantique et l'information incertaine. Cette dernière est calculée par la fonction de masse de la théorie de Dempster-Shafer.
% {\color{red} Si nous obtenons plusieurs fois la fonction de masse pour un alignement alors on utilise la règle de combinaison de Dempster. }
\subsection{Alignement d'instances entre ontologies}
Dans cette partie nous nous penchons sur les outils qui pratiquent l'alignement d'instances entre ontologies. Fabian M. Suchanek et al \cite{PARIS} présentent leur outil, PARIS, qui est un algorithme probabiliste d'alignement d'instances, de classes et de relations à travers les ontologies. L'alignement d'instances de PARIS est basé sur une équivalence d'instances. Les auteurs conçoivent un modèle de probabilité d'équivalence qui définit l'intensité d'équivalence entre deux instances de deux ontologies différentes en supposant que ces deux ontologies partagent la même relation. Ravikanth Kolli et Prashant Doshi \cite{OptimaArt} mentionnent dans leur article qu'Optima aligne automatiquement les concepts et les relations. Néanmoins, Optima utilise les instances, seulement si elles existent, pour affiner le résultat d'alignement. Cela va de même pour l'outil Sambo. Ce dernier peut aussi utiliser une stratégie d'alignement pour les instances. Cepdandant d'après l'article \textit{SAMBO - A System for Aligning and Merging Biomedical Ontologie}\cite{SamboBioMedSys} si des instances sont disponibles alors elles peuvent qu'être utiles à la définition des similarités entre les concepts. Quant à l'outil NeOn Toolkit avec le plugin OntoMap \cite{OntoMapWeb}, il permet de voir les instances lors de la création d'un alignement manuel entre deux classes de deux ontologies différentes.
\subsection{Alignement avec une ontologie de référence}
Nous étudions, dans cette partie, les outils qui effectuent l'alignement d'ontologies avec une ontologie de référence. Nous cherchons à savoir comment cette ontologie de référence peut aider à aligner deux ontologies. OLA s'appuie sur WordNet pour mesurer la similarité lexicale en deux termes \cite{OLAArt}. Ces termes sont considérés comme des noms de classes, des noms de propriétés ou des prédicats. Afin d'identifier la similarité lexicale, un score est alors calculé pour chaque ensemble de synonymes pour les deux termes. Le système AQUA, décrit par Miklos Nagy et al \cite{DSSimOnto}, utilise aussi WordNet pour exploiter les synonymes au niveau lexical. Quant à l'outil Sambo \cite{SamboBioMedSys}, il peut utiliser deux ontologies de référence. Le thésaurus général WordNet est employé pour améliorer la mesure de similarité en recherchant les relations d'hyperonyme des pairs de mots dans WordNet. L'autre possibilité est d'utiliser un Metathesaurus, UMLS, qui est un système de langage médical uni. Il contient plus de cent vocabulaires biomédicaux. La mesure de similarité entre les termes est déterminée par leur relation dans UMLS.
Laurent Mazuel et Jean Charlet \cite{Spim} expliquent que Spim-AlignementGUI, la première version de OnAGUI, a la possibilité de s'aligner avec des ontologies de références tel que la SNOMED \textit{(Systematized Nomenclature of Human and Veterinary Medicine)}. Daniel Faria et al \cite{AgreementMakerLight} décrivent AgreementMakerLight qui peut utiliser une ontologie externe pour l'alignement. Cet outil permet d'aligner les noms d'une ontologie source avec les noms d'une ontologie externe et les noms d'une ontologie cible avec les noms d'une ontologie externe. Il est alors possible de calculer la similarité entre ces deux derniers alignements.
\subsection{Formats de langage acceptés}
Le format de langages acceptés est un critère intéressant car il pourra permettre à un expert d'aligner deux ontologies de formats différents. Ceci reste néanmoins une supposition et sera à analyser par la suite avec de vraies ontologies. Ci-après nous listons les formats acceptés~:
\begin{itemize}
\item Les extensions de Protégé, PromptViz, CogZ et AlViz, tolèrent plusieurs formats dont le RDF, le OWL, le Turtle et le N3.
\item SAMBO et OLA (OWL Lite) se prêtent uniquement au format OWL.
\item Optima peut charger les formats OWL, RDF et N3.
\item Coma++ accepte le XSD et le OXL.
\item OnAGUI admet le OWL et le SKOS.
\item AgreementMakerLight accepte les formats XML, RDF, OWL et N3.
\end{itemize}
\subsection{Système d'exploitation multiple}
PromptViz \cite{PromptVizWeb}, CogZ \cite{CogZWeb}, AlViz \cite{AlVizWeb}, OntoMap \cite{OntoMapWeb}, OLA \cite{OLAWeb}, Optima, Coma++ \cite{ComaWeb} et OnAGUI \cite{OnAGUIWeb} sont accessibles sur les systèmes d'exploitation les plus couramment utilisés (Linux, Windows et Mac). Ils sont exécutables grâce à la plate-forme JAVA. Les outils demandent l'installation d'une version spécifique de JAVA pour être fonctionnels. Des marches à suivre sont disponibles sur les site Web de chacun de ces outils (exceptés Optima) pour savoir comment les installer.
Afin d'évaluer les techniques intéressantes de visualisation d'alignement entre deux ontologies, il est nécessaire d'explorer la tâche d'alignement entre ontologies plus précisément \textit{"aligner deux ontologies"}. Pour cela, nous avons testé quelques outils d'alignement visuel d'ontologies et nous avons collecté toutes les tâches extraites de ces outils. Nous avons aussi sélectionné certaines tâches qui sont décrites dans les articles. Ainsi nous avons obtenu une liste exhaustive de toutes les tâches pour ensuite les unifier en tâches similaires. Les tâches sont classées en deux catégories~: les tâches de modification d'alignement et les tâches de navigation d'alignement. Celles-ci ont été établies selon le modèle ConcurTaskTrees \cite{KECTT}.
\subsection{ConcurTaskTrees}
ConcurTaskTrees (CTT) (Mori et al. 2002) (Paterno et al. 1997) est une notation pour la conception de modèles de tâches pour les interfaces utilisateur. Que ce soit pour un système existant ou un système envisagé, cette notation est parfaitement adaptée à la conception d'applications interactives. Les principales caractéristiques de ConcurTaskTrees sont~:
\begin{itemize}
\item Notation axée sur les tâches,
\item Décomposition des tâches en structure hiérarchique,
\item Syntaxe graphique,
\item Riche ensemble d'opérateurs temporels,
\item Attribution des tâches,
\item Objets et attributs des tâches.
\end{itemize}
On distingue quarte attribution de tâches~:
\begin{itemize}
\item Tâches attribuées au système
\item Tâches attribuées à l'utilisateur,
\item Tâches attribuées à une interaction entre le système et l'utilisateur,
\item Tâches abstraites.
\end{itemize}
ConcurTaskTrees définit des opérateurs temporels. Une tâche est décomposée en sous-tâches qui doivent se situer dans le même niveau d'abstraction. Il n'y a donc pas de hiérarchie entre les opérateurs temporels. On dissocie par un symbole qui se place entre deux tâches de gauche à droite~:
Dans cette partie qui traite du modèle de tâches, nous listons dans un premier temps les tâches de modification d'alignement et ensuite nous inventorions les tâches de navigation d'alignement. Les sous tâches sont représentées sous la forme de liste et une sous-tâche optionnelle est mise entre parenthèses. Une sous-tâche peut faire référence à une autre sous-tâche. Dans ce cas le nom de la sous-tâche est indiqué exactement à droite du symbole "$\Longrightarrow$". Parmi toutes les sous-tâches existantes seules deux sous-tâches ( Ajouter un alignement et Visualiser un alignement ) ont été conçues avec l'outil ConcurTaskTrees Environment (CTTE) \cite{CTTEMoriPaterno}. CTTE est un logiciel libre et il a été développé par des chercheurs du modèle ConcurTaskTrees.
\subsection{Liste des tâches de modification d'alignement}
\subsubsection{\textit{Ajouter un alignement} (nombre étape = 5 à 8)}
La figure ~\ref{fig:AddAli} est une représentation avec le modèle CCT de la tâche d'ajout d'alignement. Avec le modèle CCT, on aperçoit clairement que les tâches sont effectuées selon une séquence et l'icône en vert et jaune nous informe qu'il s'agit d'une tâche d'interaction entre le système et l'utilisateur. On voit aussi que l'ordre des tâches "choisir une classe source" ou "choisir une classe cible" est indifférent. De plus, une tâche entre les crochets signifie qu'elle est optionnelle.
\subsubsection{\textit{Supprimer un alignement} (nombre étape = 4)}
\begin{itemize}
\item Choisir un alignement parmi les alignements $\Longrightarrow$\textit{Rechercher un alignement}
\item Supprimer l'alignement choisi
\end{itemize}
\subsubsection{\textit{Modifier un alignement} (nombre étape = 9 à 12)}
\begin{itemize}
\item Choisir un alignement parmi les alignements $\Longrightarrow$\textit{Rechercher un alignement}
\item Modifier l'alignement choisi
\item Choisir une classe source $\Longrightarrow$\textit{Rechercher une entité}
\item Choisir une classe cible $\Longrightarrow$\textit{Rechercher une entité}
\item ( Choisir l'intensité d'équivalence entre deux classes )
\item ( Choisir le type de relation )
\item ( Choisir le seuil de tolérance )
\item Valider la modification
\end{itemize}
\subsubsection{\textit{Définir un alignement pas possible} (nombre étape = 5)}
\begin{itemize}
\item Choisir une classe source $\Longrightarrow$\textit{Rechercher une entité}
\item Choisir une classe cible $\Longrightarrow$\textit{Rechercher une entité}
\item Valider l'alignement impossible
\end{itemize}
\subsubsection{\textit{Définir un alignement correct} (nombre étape = 4)}
\begin{itemize}
\item Choisir un alignement parmi les alignements $\Longrightarrow$\textit{Rechercher un alignement}
\item Valider l'alignement qui est correct
\end{itemize}
\subsubsection{\textit{Définir un alignement incorrect} (nombre étape = 4)}
\begin{itemize}
\item Choisir un alignement parmi les alignements $\Longrightarrow$\textit{Rechercher un alignement}
\item Valider l'alignement qui est incorrect
\end{itemize}
\subsubsection{\textit{Modifier le nom d'un concept / d'une classe /d'une relation} (nombre étape = 4)}
\begin{itemize}
\item Choisir un concept, une classe ou une relation $\Longrightarrow$\textit{Rechercher une entité}
\item Modifier le nom
\item Valider la modification
\end{itemize}
\subsection{Liste des tâches de navigation d'alignement}
\subsubsection{\textit{Visualiser un alignement (nombre étape = 4)}}
La figure ~\ref{fig:VisAli} est une représentation de la tâche "Visualiser un alignement". Cette tâche est composée de la sous-tâche "Rechercher un alignement" (Choisir un alignement en 3 étapes) et d'une tâche utilisateur de visualisation d'information sur l'alignement (1 étape).
Nous décrivons dans ce chapitre les techniques de représentation visuelles extraites des outils. Nous nous centrons d'abord sur les techniques créées et extraites des outils et nous spécifions les techniques utilisées pour chaque outil ~\ref{sec:TechTool}. Ensuite, nous synthétisons le tout en un tableau des techniques de représentation à la section \ref{sec:SynTech}.
\paragraph{Alignement représenté par une ligne avec un septuplet composé des valeurs suivantes~:}
\begin{itemize}
\item le label de la classe source
\item le label de la classe cible
\item le type
\item le score
\item la validité
\item la méthode
\item la date
\end{itemize}
L'outil OnAGUI utilise cette technique. La figure ~\ref{fig:OnAGUI} montre la liste des alignements. Cette liste est située au milieu entre l'ontologie source et l'ontologie cible.
\paragraph{Alignement représenté par une courbe qui relie une classe source à une classe cible de deux listes hiérarchiques d'ontologies disposées côte à côte.}
~~\\
L'outil Coma++ utilise cette technique. La courbe est visible sur la figure ~\ref{fig:ComaSug}. Une couleur révèle le niveau de correspondance entre deux entités. Cette couleur va du rouge (0 = pas de correspondance) au vert (1 = correspondance exacte).
\paragraph{Alignement représenté par un encadrement d'une ligne qui est composé de quatre valeurs~:}
\begin{itemize}
\item le nom de la classe source
\item le symbole "=" égalité
\item le nom de la classe cible
\item le pourcentage de correspondance entre les deux classes
\end{itemize}
L'outil AgreementMakerLight utilise cette technique. La figure ~\ref{fig:AML} illustre la liste des alignements.
\paragraph{Alignement représenté par une classe source à gauche, une classe cible à droite et une flèche avec un « M » (=Mapping) entouré avec fond en violet de la classe source à la classe cible.}
~~\\
L'outil NeOn avec le plu-gin OntoMap utilise cette technique. Cette représentation est visible sur la figure ~\ref{fig:NeON}.
\paragraph{Alignement représenté par une ligne avec un quadruplet qui est composé des valeurs suivantes~:}
\begin{itemize}
\item le nom d'alignement
\item l'argument 1 qui est la classe source
\item l'argument 2 qui est la classe cible
\item les paramètres
\end{itemize}
Les outils PromptViz et CogZ utilisent cette technique. La liste des alignements est perceptible sur la figure ~\ref{fig:CogZ}.
\paragraph{Alignement représenté par deux graphes d'ontologies l'un dessus l'autre dessous avec les classes, les relations et les types.}
~~\\
L'outil OLA utilise cette technique. Les deux graphes d'ontologies sont visible sur la figure ~\ref{fig:OLA}. Nous distinguons parfaitement chaque entité (classe, relation, instance) mais il est difficile de naviguer à travers les graphes.
\paragraph{Alignement représenté par deux graphes d'ontologies empilés sur la droite avec des clusters de classes et deux hiérarchies de classes empilées sur la gauche.}
~~\\
L'outil AlViz utilise cette technique. Cette représentation est visible sur la figure ~\ref{fig:AlViz}. Les clusters sont différentiables grâce aux couleurs.
\paragraph{Alignement représenté par deux graphes d'ontologies côte à côte avec les nœuds et les arcs. Les nœuds alignés sont en bleu.}
~~\\
L'outil Optima utilise cette technique. La figure ~\ref{fig:Optima} montre cette représentation. Nous pouvons distinguer les classes alignées des classes non-alignées avec une couleur. Le bleu indique que la classe source correspond à la classe cible et le rouge indique qu'il n'y pas d'alignement.
\paragraph{Alignement représenté par un aperçu d'une suggestion d'alignement de deux classes côte à côte avec~:}
\begin{itemize}
\item le nom de la classe
\item la définition
\item le synonyme
\item le part-of
\end{itemize}
L'outil Sambo utilise ce procédé. Cette représentation est une technique de suggestion d'alignement de deux classes. La figure ~\ref{fig:SamboSugAli} montre la suggestion d'alignement entre deux classes.
\paragraph{Alignement multiple représenté par un cube en 3D avec l'ontologie source sur l'axe des X (l'abscisse), l'ontologie cible sur l'axe des Y (l'ordonnée) et les alignements sur l'axe des Z (la cote).}
~~\\
L'outil AlignmentCubes utilise cette technique. La figure ~\ref{fig:AlignmentCubes} illustre cette représentation avec sur l'axe des Z les alignements effectuées.
Nous présentons dans cette synthèse les dix techniques de représentation visuelles. Le tableau (figure) \ref{table:TechRepresentation} illustre cette analyse. Nous apercevons 4 colonnes. La première donne le nom de la technique, la deuxième le ou les outils qui représente(nt) la technique, la troisième les objets de l'ontologie et la quatrième les objets qui représentent l'interface pour chaque technique.
En définissant un modèle de tâches pour aligner deux ontologies et à partir d'un catalogue de techniques de visualisation d'alignement entre ontologies, nous pouvons mettre en évidence l'utilisabilité de chaque technique par rapport à une tâche. Nous analysons alors les trois critères d'utilisabilité~: effectivité, efficacité et satisfaction. Le premier définit l'accomplissement d'une tâche par une technique. Le deuxième montre le nombre d'étapes à effectuer une tâche pour une technique. Le troisième est une analyse de satisfaction de l'utilisateur (subjective) de l'utilisabilité pour chaque technique.\\
La section \ref{sec:CrietreUti} donne le détail sur les critères d'utilisabilité et au point nous présentons \ref{sec:ForceFaib} les avantages et les inconvénients des techniques. Cette analyse met au clair les limites des techniques et des outils.
Nous analysons dans cette section les critères d'utilisabilité de chaque technique dans l'ordre suivant~: effectivité, efficacité et satisfaction. Nous avons pu tester uniquement les outils OnAGUI, Coma++, AML et AlignmentCubes. Les autres outils n'ont pas pu être installés ou même téléchargés dû à leur obsolescence. L'analyse des critères se base sur les outils testés, la description des outils sur leur site Web et la description des outils dans les articles.
\subsection{Effectivité}
Nous listons dans cette section les tâches qui sont accomplies par un outil/une technique. Chaque technique accomplissant une tâche est vue comme une mesure de l'effectivité de l'utilisabilité de l'outil. Dans l'inventaire de tâches qui suit, plusieurs techniques se succèdent lorsqu'elles accomplissent la même tâche.
\subsubsection{Ajouter un alignement}
\paragraph{Technique 1 OnAGUI}
\begin{itemize}
\item Choisir une classe source $\Longrightarrow$\textit{Rechercher une entité}
\item Choisir une classe cible $\Longrightarrow$\textit{Rechercher une entité}
\item ( Choisir l'intensité d'équivalence )
\item ( Choisir le type de relation )
\item ( Choisir le seuil de tolérance )
\item Confirmer l'ajout d'alignement en appuyant sur "Add"
\end{itemize}
\paragraph{Technique 2 Coma++}
\begin{itemize}
\item Choisir une classe source $\Longrightarrow$\textit{Rechercher une entité}
\item Choisir une classe cible $\Longrightarrow$\textit{Rechercher une entité}
\item Appuyer sur le bouton droit de la souris et choisir "Create Correspondence"
(par supposition nous pouvons modifier le nom car ces outils sont des éditeurs d'ontologie)
\begin{itemize}
\item Choisir une classe $\Longrightarrow$\textit{Rechercher une entité}
\item Appuyer sur le bouton droit de la souris et choisir "Rename"
\item Effectuer la modification du nom
\item Appuyer sur le bouton "ok"
\end{itemize}
\subsubsection{Visualiser un alignement}
\paragraph{Technique 1 OnAGUI}
\begin{itemize}
\item Choisir un alignement parmi les alignements $\Longrightarrow$\textit{Rechercher un alignement}
\item Visualiser les informations sur l'alignement
\end{itemize}
\paragraph{Technique 2 Coma++}
\begin{itemize}
\item Choisir une classe source $\Longrightarrow$\textit{Rechercher une entité} ou choisir une classe cible $\Longrightarrow$\textit{Rechercher une entité}
\item Visualiser les informations sur l'alignement
\end{itemize}
\paragraph{Technique 3 AML}
\begin{itemize}
\item Naviguer à travers les alignements avec la roulette de la souris ou $\Longrightarrow$ Rechercher un alignement
\item Visualiser les informations sur l'alignement
\end{itemize}
\paragraph{Technique 4 NeON (OntoMap)}
\begin{itemize}
\item Naviguer à travers les alignements avec la roulette de la souris
\item Visualiser les informations sur l'alignement
\item Naviguer à travers les ontologies visibles graphiquement avec la roulette de la souris ou avec les flèches du clavier
\item Visualiser une partie de l'ontologie source comparable à l'ontologie cible pour visualiser un alignement
\end{itemize}
\subsubsection{Vérifier un alignement}
\paragraph{Technique 1 OnAGUI}
\begin{itemize}
\item Choisir un alignement parmi les alignements $\Longrightarrow$\textit{Rechercher un alignement}
\item Visualiser les informations sur l'alignement
\end{itemize}
\paragraph{Technique 2 Coma++}
\begin{itemize}
\item Choisir une classe source $\Longrightarrow$\textit{Rechercher une entité} ou choisir une classe cible $\Longrightarrow$\textit{Rechercher une entité}
\item Visualiser les informations sur l'alignement
\end{itemize}
\paragraph{Technique 3 AML}
\begin{itemize}
\item Naviguer à travers les alignements avec la roulette de la souris ou $\Longrightarrow$ Rechercher un alignement
\item Visualiser les informations sur l'alignement
\end{itemize}
\paragraph{Technique 4 NeON (OntoMap)}
\begin{itemize}
\item Naviguer à travers les alignements avec la roulette de la souris
\item Visualiser les informations sur l'alignement
\item Naviguer à travers les ontologies visibles graphiquement avec la roulette de la souris ou avec les flèches du clavier
\item Visualiser une partie de l'ontologie source comparable à l'ontologie cible pour visualiser un alignement
\end{itemize}
\subsubsection{Naviguer à travers une ontologie avec la roulette de la souris}
\paragraph{Technique 1 OnAGUI\\
Technique 2 Coma++\\
Technique 3 AML\\
Technique 4 NeON (OntoMap)\\
Technique 5 PromptViz CogZ\\
Technique 6 OLA\\
Technique 7 AlViz\\
Technique 8 Optima\\
Technique 9 Sambo\\
Technique 10 AlignmentCubes}
\begin{itemize}
\item Déplacer la roulette de la souris pour naviguer
\item Visualiser l'ontologie
\end{itemize}
\subsubsection{Naviguer à travers une ontologie avec les flèches du clavier}
\paragraph{Technique 1 OnAGUI\\
Technique 2 Coma++\\
Technique 3 AML\\
Technique 4 NeON (OntoMap)\\
Technique 5 PromptViz CogZ\\
Technique 6 OLA\\
Technique 7 AlViz}
\begin{itemize}
\item Utiliser les flèches du clavier pour naviguer
\item Visualiser l'ontologie
\end{itemize}
\subsubsection{Rechercher une entité}
\paragraph{Technique 1 OnAGUI}
\begin{itemize}
\item Appuyer sur "Find selected concept"
\item Écrire le terme recherché dans le champ texte
\item Valider la recherche
\end{itemize}
\paragraph{Technique 2 Coma++\\
Technique 4 NeON (OntoMap)\\
Technique 5 PromptViz CogZ\\
Technique 9 Sambo}
\begin{itemize}
\item Écrire le terme recherché dans le champ texte
\item Valider la recherche
\end{itemize}
\paragraph{Technique 3 AML}
\begin{itemize}
\item Appuyer sur le bouton "Search"
\item Écrire le terme recherché dans le champ texte
\item Valider la recherche
\end{itemize}
\paragraph{Technique 6 OLA\\
Technique 10 AlignmentCubes}
\begin{itemize}
\item Naviguer à travers une ontologie visible graphiquement avec la roulette de la souris ou avec les flèches du clavier pour rechercher une entité\\
\end{itemize}
\paragraph{Technique 7 AlViz}
\begin{itemize}
\item Soit Naviguer à travers une ontologie visible graphiquement avec la roulette de la souris ou avec les flèches du clavier pour rechercher une entité
\item Soit écrire le terme recherché dans le champ texte
\item Appuyer sur la touche "Enter" du clavier
\end{itemize}
\paragraph{Technique 8 Optima}
\begin{itemize}
\item Naviguer à travers une ontologie visible graphiquement avec la roulette de la souris ou avec les flèches du clavier
\item Appuyer sur un nœud pour voir le nom de l'entité
\end{itemize}
\subsubsection{Déplier/Plier les nœuds}
\paragraph{Technique 1 OnAGUI \\
Technique 2 Coma++\\
Technique 4 NeON (OntoMap)\\
Technique 5 PromptViz CogZ\\
Technique 7 AlViz\\
Technique 9 Sambo\\
Technique 10 AlignmentCubes}
\begin{itemize}
\item Appuyer sur l'icône plier ou déplier
\item Visualiser l'ontologie
\end{itemize}
\subsubsection{Trier les alignements par ordre ascendant/descendant}
\paragraph{Technique 1 OnAGUI\\
Technique 5 PromptViz CogZ}
\begin{itemize}
\item Appuyer sur les noms de colonnes pour trier les alignements
\item Visualiser les alignements
\end{itemize}
\paragraph{Technique 3 AML}
\begin{itemize}
\item Appuyer le bouton "Sort" pour trier
\item Visualiser les alignements
\end{itemize}
\subsubsection{Rechercher un alignement}
\paragraph{Technique 3 AML}
\begin{itemize}
\item Appuyer sur le bouton "Search"
\item Écrire le terme recherché dans le champ texte
\item Valider la recherche
\end{itemize}
\paragraph{Technique 5 PromptViz CogZ}
\begin{itemize}
\item Écrire le terme recherché dans le champ texte
\item Valider la recherche
\end{itemize}
\paragraph{Technique 6 OLA\\
Technique 10 AlignmentCubes}
\begin{itemize}
\item Naviguer à travers une ontologie visible graphiquement avec la roulette de la souris ou avec les flèches du clavier pour rechercher un alignement
\end{itemize}
\paragraph{Technique 8 Optima}
\begin{itemize}
\item Naviguer à travers une ontologie visible graphiquement avec la roulette de la souris ou avec les flèches du clavier
\item Appuyer sur un nœud bleu pour voir le nom de l'entité alignée
\end{itemize}
\subsubsection{Filtrer les classes d'une ontologie}
\paragraph{Technique 1 OnAGUI}
\begin{itemize}
\item Appuyer sur le bouton qui permet de filtrer
\item Choisir les classes voulues
\end{itemize}
\paragraph{Technique 4 NeON (OntoMap)}
\begin{itemize}
\item Choisir les filtres voulus
\item Appuyer sur le bouton "Create a new filter"
\end{itemize}
\paragraph{Technique 5 PromptViz CogZ}
\begin{itemize}
\item Écrire les filtres voulus dans le champ texte
\item Appuyer sur la touche "Enter" du clavier
\end{itemize}
\subsubsection{Modifier la disposition des ontologies alignées}
\paragraph{Technique 7 AlViz}
\begin{itemize}
\item Appuyer sur les onglets pour choisir la disposition
\begin{itemize}
\item Soit ( en tableau )
\item Soit ( en arbre )
\end{itemize}
\end{itemize}
\paragraph{Technique 8 Optima}
\begin{itemize}
\item Appuyer sur les boutons pour choisir la disposition
\begin{itemize}
\item Soit ( en cercle )
\item Soit ( en arbre )
\item Soit ( en secouée )
\item Soit ( mélangée )
\item Soit ( active )
\end{itemize}
\end{itemize}
\subsubsection{Visualiser les statistiques sur l'alignement}
\paragraph{Technique 1 OnAGUI}
\begin{itemize}
\item Appuyer sur le bouton "Statistics" dans le menu
\item Visualiser les statistiques
\end{itemize}
\paragraph{Technique 2 Coma++}
\begin{itemize}
\item Appuyer sur le bouton "View" dans le menu
\item Choisir la visualisation des statistiques
\item Visualiser les statistiques
\end{itemize}
\paragraph{Technique 3 AML\\
Technique 5 PromptViz CogZ\\
Technique 8 Optima\\
Technique 9 Sambo}
\begin{itemize}
\item Visualiser les statistiques après alignement automatique
\end{itemize}
\subsubsection{Naviguer à travers une ontologie avec le zoom}
\paragraph{Technique 5 PromptViz CogZ\\
Technique 6 OLA\\
Technique 7 AlViz}
\begin{itemize}
\item Appuyer sur la touche "crtl" et la roulette de la souris pour faire/défaire un zoom sur le graphe d'ontologie
\item Naviguer à travers une ontologie visible graphiquement avec la roulette de la souris ou avec les flèches du clavier
\end{itemize}
\subsubsection{Visualiser/Comparer plusieurs alignements avec un cube en 3D}
\paragraph{Technique 10 AlignmentCubes}
\begin{itemize}
\item Choisir une ontologie source
\item Choisir une ontologie cible
\item Choisir un répertoire avec plusieurs alignements
\item Confirmer les choix et lancer la visualisation
\end{itemize}
\paragraph{Analyse~:}
D'une façon générale, nous pouvons confirmer que les \textbf{Techniques 6, 7, 8 et 10} sont destinées aux tâches de navigation d'alignement entre ontologie tandis que les autres techniques sont aussi consacrées aux tâches de modification. Trois tâches (visualiser un alignement, vérifier un alignement et naviguer à travers une ontologie avec la roulette de la souris) sont faisables par toutes les techniques de visualisation. Cela affirme que ces trois tâches sont des tâches de base qu'un outil doit avoir pour aligner deux ontologies. Par ailleurs, il n'y a que la \textbf{Technique 1} (OnAGUI) qui peut effectuer la tâche \textit{Définir un alignement pas possible}, la \textbf{Technique 3} (AML) est la seule à pouvoir \textit{Définir un alignement correct ou incorrect} et seule la \textbf{Technique 10} peut effectuer la tâche \textit{Visualiser/Comparer plusieurs alignements avec un cube en 3D}.
\subsection{Efficacité}
Nous observons, dans cette section, l'efficacité d'utilisabilité de chaque technique par rapport à une tâche. Nous définissons une matrice des tâches sur les techniques qui indique le nombre d'étapes à accomplir une tâche pour chaque technique. Ce nombre a été conçu en comptant les sous-tâches de chaque technique ou outil. Les sous-tâches peuvent être des tâches humaines ou des tâches d'interaction humain-machine. Le tableau ~\ref{table:MatNbStep} illustre cette matrice. Sur les colonnes nous distinguons les dix techniques de représentation et sur les lignes nous percevons les tâches d'alignement d'ontologies. Lorsqu'il est possible d'effectuer la tâche pour une technique, nous indiquons le nombre d'étapes sinon nous n'indiquons rien.
Les nombres d'étapes des tâches de modification d'alignement (entre 3 et 10 étapes) sont plus importants que les nombres d'étapes des tâches de navigation d'alignement (entre 1 et 4 étape(s)). En effecutant toutes les étapes de la tâche \textit{Ajouter un alignement}, c'est à dire aussi les tâches optionnelles, la \textbf{Technique 1} est la tâche qui demande le plus d'étape (10 étapes). Cette tâche est donc considérée comme la tâche la moins efficace. A l'inverse \textit{Visualiser les statistiques sur l'alignement, Recherche une entité et Rechercher un alignement} sont les tâches qui demandent qu'une étape. Ces tâches sont alors les plus rapides. Nous pouvons également observer au tableau ~\ref{table:MatNbStep} que souvent le nombre d'étape est identique pour plusieurs techniques de visualisation. Par exemple, on aperçoit le nombre d'étape pour la navigation à travers une ontologie avec souris ou avec le clavier est identique pour toutes les techniques.
\subsection{Satisfaction}
Nous traitons dans cette partie de la satisfaction subjective de l'utilisateur. Pour chaque technique, nous testons et examinons les tâches pour noter où le système bloque et faisons part aussi des petites subtilités de chaque technique.
\subsubsection{Technique 1 OnAGUI}
Il s'agit d'une technique de visualisation d'alignement appréciée car les alignements sont au centre et les ontologies sont disposées autour des alignements. Elle laisse à l'utilisateur choisir l'intensité d'équivalence lorsqu'il effectue la tâche \textit{Ajouter un alignement} (seule technique à le permettre). Elle permet de choisir un seuil de tolérance pour l'alignement automatique et également de faire une disjonction, une intersection, une inclusion ou une équivalence exacte lors d'un alignement. Par contre, nous n'avons pas la possibilité de voir le détail des concepts ni des propriétés et de faire une modification d'alignement. Une fonctionnalité ne marche pas dans le menu "File" - "Change label language 1" alors nous ne sommes pas parvenues é la faire fonctionner.
\subsubsection{Technique 2 Coma++}
Bien que destinée à l'alginement de grandes ontologies, cette technique présente de nombreux défauts car elle ne tolère les grandes ontologies que lorsqu'il y a assez de mémoire RAM. Ceci a pour effet le redémarrage du système et la non-visualisation des alignements effectués automatiquement. Tout comme pour la technique 1, celle-ci permet de choisir un seuil de tolérance pour l'alignement automatique. Elle donne la posibilité de réaliser une intersection et une différence lors d'un alignement mais le détail des concepts et des propriétés n'est pas visible.
\subsubsection{Technique 3 AML}
La technique 3 est destinée à un alignement automatique de grandes ontologies. Son interface est facile à prendre en main pour modifier l'alignement. Une fois l'alignement automatique effectué, on ne voit qu'une liste d'alignements. Cette interface affiche donc les alignements et facilite la vision. On peut aussi voir le graphe des classes proches. Cependant, il n'est pas possible de voir les 2 ontologies et les propriétés. Tout comme por les techniques précédentes, il est possible d'obtenir un seuil de tolérance pour l'alignement automatique.
%En chargeant 2 ontologies de Conférence (cnfious.owl ne fonctionne pas), nous obtenons un message java.lan.NullPOinterException
\subsubsection{Technique 4 NeON (OntoMap)}
Cette technique a été conçue en JAVA avec l'éditeur Eclipse. Un plugin, OntoMap, permet l'alignement d'ontologie mais n'est disponible qu'avec une version ancienne. D'après les articles et le site Internet, il en ressort que cette technique permet d'aligner manuellement uniquement les petites ontologies et qu'il est possible de visualiser les instances dont les classes sont alignées.
\subsubsection{Technique 5 PromptViz CogZ}
La technique 5 regroupe deux outils, PromptViz et CogZ, tous les deux des outils des plugin de Protégé qui ne sont plus disponibles. Au vu de la disposition des éléments sur l'interface de visualisation, nous pouvons dire que cette technique est conviviale car les ontologies sont autour des alignements effectués.
\subsubsection{Technique 6 OLA}
La technique 6 permet d'effectuer les tâches de navigation d'alignement entre des petites ontologies. La technique de visualisation repose sur deux graphes d'ontologies l'un au dessus de l'autre. Il est donc difficile pour l'utilisateur de voir rapidement les objets qui sont alignés. Aucun élément n'indique que tel objet est aligné avec un autre objet. C'est à l'utilisateur de le constater en naviguant à travers les 2 graphes. C'est donc un travail laborieux. De plus, il n'y a pas de formulaire de recherche d'entité ou d'alignement. Néanmoins, l'outil permet d'avoir un seuil de tolérance pour l'alignement automatique.
\subsubsection{Technique 7 AlViz}
La technique 7 est aussi un plugin de Protégé. Il est possible d'aligner automatiquement deux ontologies et le type de relation peut être choisi comme l'équivalence exacte. Bien que nous avons deux listes hiérarchiques d'ontologies et deux graphes, il est difficile de savoir si un objet est aligné avec un autre. C'est à l'utilisateur de le voir en naviguant à travers les 2 graphes. Le seul moyen est de naviguer et de comparer les couleurs similaires et les classes. Ce qui représente un travail fastidieux.
\subsubsection{Technique 8 Optima}
Cette technique de visualisation est destinée à une vision globale d'alignement automatique entre 2 ontologies. Il y a deux ontologies côte à côte avec des nœuds pour indiquer les classes. On ne peut pas voir les alignements néanmoins le nœud de la classe devient bleu lorsque la classe est alignée.
\subsubsection{Technique 9 Sambo}
Cette technique de visualisation d'alignement entre ontologies permet de choisir un seuil de tolérance pour l'alignement automatique et de faire une inclusion ou une équivalence exacte lors d'un alignement. Elle requiert l'ouverture d'autres fenêtres pour accéder aux détails d'une classe et semble accepter les petites à moyennes ontologies.
\subsubsection{Technique 10 AlignmentCubes}
Cette technique de visualisation n'est pas consacrée à l'alignement d'ontologies. Elle concerne la comparaison des résultats d'alignements d'ontologies déjà effectués. Par conséquent, les fonctionnalités sont des tâches de navigation. Cet interface est utile pour comparer les alignements.
%\multirow{9}{*}{\rotatebox[origin=c]{90}{ALTERNATIVES DES TACHES}}
%& Choix de l'intensité de correspondance & oui& & & & & & & & & \\ \cline{2-12}
%& Choix du seuil de tolérance pour alignement automatique & oui & oui & oui & & & oui & & & oui & \\ \cline{2-12}
%& Choix du type de relation & disjonction, intersection, inclusion, équivalence exact & intersection, différence & & & & similarité lexicale & équivalence exact, plus petit que, plus grand que & & équivalence exact, inclusion & \\ \cline{2-12}
%\subsection{Différences de fonctionnalités pour chaque outil/technique}
%
%La matrice des différences de fonctionnalités pour chaque outil/technique a été conçue en analysant cinq critères de recherche. Il s'agit de vérifier si l'outil ou la technique possède les fonctionnalités recherchées. Le tableau ~\ref{table:MatDiffTech} illustre cette matrice. Sur les colonnes de la matrice nous avons les cinq fonctionnalités étudiées et sur les lignes nous apercevons les dix techniques de représentation. Lorsqu'il y a une différence de fonctionnalité pour une technique nous indiquons alors la ou les différence(s) sinon nous n'indiquons rien.
%\paragraph{Analyse~:}
%Les \textbf{Techniques 1, 3, 6 et 9} peuvent faire appel à une ontologie de référence pour aider à aligner deux ontologies. Nous savons que OLA et Sambo utilise WordNet pour rechercher les termes dont la similarité lexicale est semblable. Deux \textbf{Techniques 3 et 9} combinent des algorithmes d'alignement. Nous apprenons donc que AML combine quatre algorithmes et que Sambo combine cinq stratégies. \\
%En ce qui concerne l'alignement des instances, nous avons trois techniques qui le pratique. La \textbf{Technique 4} qui rend visible les instances dont les classes ont été alignées. Nous avons la \textbf{Technique 8}, Optima, qui utilise l'alignement d'instances pour améliorer les résultats d'alignement. Et la \textbf{Technique 9} qui utilise une stratégie d'alignement avec les instances.\\
%Pour ce qui est des techniques qui permettent l'alignement automatique et/ou manuel, nous découvrons qu'un seul outil NeON (OntoMap) permet uniquement l'alignement manuel et que les autres donnent droit au moins à l'alignement automatique.\\
%Pour terminer nous analysons les techniques avec l'alignement des ontologies de différentes tailles. Nous nous apercevons que deux \textbf{Techniques 2 et 3} sont destinées à aligner des grandes ontologies et que deux autres \textbf{Techniques 4 et 6} sont pour aligner les petites ontologies. Le reste des techniques est adapté au ontologie de taille petite à de taille grande.
%& Technique 1 OnAGUI & oui en option (ex. SNOMED) & & & automatique / manuel & \\ \cline{2-7}
%& Technique 2 Coma++ & & & & automatique / manuel & grandes (mais parfois lent à l'exécution)\\ \cline{2-7}
%& Technique 3 AML & oui avec ontologies source et cible & combine 4 algo. (littéral, littéral externe, similarité, chaine de char & & automatique & grandes (mais parfois lent à l'exécution)\\ \cline{2-7}
%& Technique 4 NeON (OntoMap) & & & Visibilité des instances dont les classes sont alignées & manuel & petites \\ \cline{2-7}
%& Technique 5 PromptViz CogZ & & & & automatique / manuel & grandes / petites \\ \cline{2-7}
%& Technique 6 OLA & utilise WordNet pour la similarité lexicale entre 2 termes & & & automatique & petites\\ \cline{2-7}
%& Technique 7 AlViz & & & & automatique / manuel & grandes / petites \\ \cline{2-7}
%& Technique 8 Optima & & & Alignement d'instances pour améliorer le résultat & automatique & grandes / petites\\ \cline{2-7}
%& Technique 9 Sambo & utilise WordNet pour la similarité avec les hyperonymes, utilise UMLS pour la similarité entre les termes & combine 5 stratégies (correspondance linguistique, basé structure, basé contrainte, basé instance, information auxiliaire) & utilise la stratégie basé instance & automatique / manuel & \\ \cline{2-7}
%& AQUA system \cite{DSSimOnto} & utilise les synonymes de WordNet pour la similarité lexicale & combine 3 étapes (similarité syntaxique, similarité sémantique, information incertaine D. and S.) & & & \\ \cline{2-7}
%& PARIS \cite{PARIS} & & & équivalence d'instances d'après l'équivalence de relation & & \\ \hline
Dans cette section, nous allons faire l'état des avantages et des inconvénients d'une technique par rapport à une autre d'après l'analyse des critères effectués.\\
Toutes les techniques permettent d'effectuer les tâches \textit{Visualiser ou Vérifier un alignement, Naviguer à travers une ontologie avec la roulette de la souris et Rechercher une entité}. Cependant ces tâches sont plus courts pour les techniques 4 à 10 car elles emploient en moyenne 2 étapes tandis que les techniques 1 à 3 ont 4 étapes. En ce qui concerne les tâches de modification d'alignement, les techniques 4, 5 et 9 nécessitent rien que 5 étapes pour aligner deux ontologies tandis que les techniques 1 et 2 en demandent 7. Nous ajoutons que les tâches de modification d'alignement entre ontologies sont uniquement faisable par les techniques 1, 2, 3, 4, 5 et 9 et que les techniques 6, 7, 8 et 10 donnent seulement la possibilité d'accomplir les tâches de navigation. Par conséquent, les techniques/outils qui offrent la navigation et la modification sont adéquat à une édition complète des ontologies.\\
D'après notre étude, seul les techniques 2 et 3 sont en mesure d'accepter l'alignement de grandes ontologies. Les techniques 4, 6 et 8 permettent quant à elles d'aligner de petites ontologies. Nous pouvons conclure que les techniques 1, 5, 7 et 9 sont adéquates à l'alignement d'ontologies de taille moyenne. Quant à la technique 10, elle permet de comparer plusieurs alignements déjà effectués et elle conviendrait aussi aux ontologies de taille moyenne.\\
Les techniques de visualisation qui confortent l'utilisateur à l'alignement d'ontologies seraient les techniques 1, 2, 3, 4, 5 et 9 car elles ont une vision simple avec deux ontologies côte à côte et/ou les alignements au milieu des ontologies. Cela est donc une façon habituel et simple de voir deux ontologies s'aligner pour tous les utilisateurs qui lisent de gauche à droite. En revanche, les techniques 6, 7 et 8 sont moins conforment à la visualisation des ontologies alignées. Elles mettent en avant des graphes d'ontologies côte à côte et il est difficile de voir les éléments alignés d'une ontologie source avec une ontologie cible.
Dans ce chapitre et suite aux recherches effectuées aux chapitres précédents, nous décrivons le modèle de visualisation conçu, l'interface de visualisation développée et les fonctionnalités de cette interface.
\section{Modèle de visualisation}
Le modèle de visualisation d'alignement d'ontologies est une visualisation matricielle d'alignement d'ontologies avec en lignes les classes de l'ontologie source et en colonnes les classes de l'ontologie cible. La grille de la matrice représente donc l'alignement entre deux objets. Le tableau \ref{table:modVis} est une schématisation du modèle.
\begin{center}
\begin{table}[h!]
\caption{Modèle de visualisation matricielle d'alignement d'ontologies}
\label{table:modVis}
\begin{tabular}{c|c|c|c|c|}
& classes cibles & ... & ... & ... \\\hline
classes sources& 0.8& 0.76 & 0.9 & ...\\\hline
...& 0.84 & 0.6 & ... & ...\\\hline
...& ... & ... & ... & ...\\\hline
...& ... & ... & ... & ...\\\hline
\end{tabular}
\end{table}
\end{center}
\section{Interface de visualisation}
L'interface de visualisation se nomme MatrixVisiOnAl, acronyme en anglais de \textit{Matrix Visualisation for Ontologies Alignment}. MatrixVisiOnAl a été développé sur la base du modèle cité précédemment. Il est disponible dans un dépôt \textit{"GIT"} c4science (un \textit{"GIT"} des universités Suisse). L'adresse est .... \\
Ce système permet ~:
\begin{itemize}
\item d'avoir une visualisation matricielle
\item de créer un alignement
\item de comparer deux alignements
\item de voir plus facilement les concepts proches qui ont été alignés
\item de compter ou estimer les comparaisons d'alignement alignements
Ce système est simple et fonctionne sur un serveur Web. Pour visualiser l'interface, il convient d'installer un serveur Http localement, par exemple le serveur Apache, et avoir le langage interprété PHP. La figure \ref{fig:DirTree} montre l'arborescence des fichiers de l'application. On aperçoit quatre répertoires principaux~: data, lib, src et uploads. Le répertoire \textbf{data} contient les données c'est à dire les ontologies "Conference" et les alignements entre ces ontologies, le répertoire \textbf{lib} les librairies utilisées, le répertoire \textbf{src} les fichiers de l'implémentation de l'interface et le répertoire \textbf{uploads} l'ontologie source et l'ontologie cible.
\begin{figure}[!h]
\dirtree{%
.1 MVOA.
.2 data.
.3 conference.
.3 conference2017results.
.2 lib.
.3 bootstrap.
.3 js.
.2 src.
.2 uploads.
}
\caption{Arborescence des répertoires}
\label{fig:DirTree}
\end{figure}
\subsection{Langages utilisés}
Le cœur de l'application a été programmé en JavaScript, langage destiné aux pages Web interactives. Nous utilisons trois autres langages qui sont HTML, PHP et CSS.
Les donneés de cette interface viennent de OAEI (\textit{Ontology Alignment Evaluation Initiative}) \cite{OAEIWeb}. L'OAEI est un organisme international qui organise des événements annuels d'évaluation de système d'alignement entre ontologies. Cette initiative fournit depuis 2004 des données de référence, raison pour laquelle nous avons choisi des données sur les ontologies "Conference" en provenance de OAEI.
\subsection{Exigences}
Pour que ce système puisse fonctionner, il est nécessaire d'avoir~:
Ce chapitre décrit la méthode employée et les résultats des tests pour évaluer l'interface créée. A la fin de ce chapitre, nous vérifions que le système fonctionne selon les trois critères d'utilisabilité~: efficacité, efficience et satisfaction.
Pour mener à bien l'évaluation de l'utilisabilité, nous devons choisir le nombre de participants, définir des conditions d'évaluation et établir un protocole de test \cite{KETestsUsability}.\\
Lorsque toute les conditions d'évaluation sont respectées nous effectuons l'évaluation comme suit~:
\begin{itemize}
\item faire remplir le formulaire consentement de participation
\item observer attentivement chaque action de l'utilisateur
\item faire remplir le formulaire SUS
\item récolter les commentaires et les propositions de l'utilisateur
\end{itemize}
\subsection{Nombre de testeurs}
Le nombre de participants pour les tests est restreint car il est primordial d'avoir une connaissance en alignement d'ontologie pour tester cet outil. Ce qui n'est pas le cas de tous les informaticiens. Il s'agit de trouver quelques connaisseurs du domaine comme des expert en ontologie. D'après les observations de Nielsen il faut au minimum 5 participants, nous en avons donc choisi 5.
\subsection{Conditions d'évaluation}
Les tests ont été effectués en septembre 2018. Ci-après, nous listons les conditions d'évaluation~:
\begin{itemize}
\item tests effectués dans une salle de travail de l'université de Genève
\item ordinateur portable HP EliteBook 8440p, 14 pouce
\item ubuntu 16.04, serveur apache et navigateur Web firefox installés
\item pas de connexion à Internet
\item pas de sauvegarde de l'historique, du cache et des cookies
\item explication de l'interface MatrixVisiOnAl
\item interface MatrixVisiOnAl prête à être utilisée
\item respect du protocole de test
\item ordre des scénarios différents pour chaque testeur
\end{itemize}
\subsection{Protocole de test}
Le protocole de test comprend~:
\begin{itemize}
\item le déroulement de test,
\item le consentement de participation,
\item le formulaire SUS \textit{System Usability Scale},
\item et les scénarios.
\end{itemize}
\subsubsection{Déroulement de test}
Deux personnes sont présentes lors des tests~: l'utilisateur qui teste le système et l'évaluateur qui observe le testeur et l'évalue.
\begin{enumerate}
\item Introduction du système à tester
\item Remplissage du formulaire consentement de participation
\item Explication du déroulement des tests
\begin{enumerate}
\item L'évaluateur fait une démonstration
\item L'utilisateur effectue trois scénarios
\item L'utilisateur ne sera pas testé mais l'interface le sera
\item L'évaluateur ne peut pas aider l'utilisateur sauf pour des problèmes extra-tests
\item L'utilisateur doit se concentrer sur les scénarios
\end{enumerate}
\item Début des tests
\item Application des scénarios par l'utilisateur
\item Fin des tests
\item Remplissage du questionnaire SUS
\item Discussion et commentaires de l'utilisateur
\end{enumerate}
\subsubsection{Formulaire de consentement de participation}
Le formulaire de consentement de participation explique au participant qu'il a bien reçu toutes informations nécessaire aux tests. Il mentionne aussi que ses données resteront confidentielles. Ce formulaire se trouve en annexe \ref{ch:secConsentement}.
\subsubsection{Formulaire SUS}
Le questionnaire SUS est utile pour évaluer la satisfaction de l'utilisateur envers un système \cite{SUSusability}. Ce questionnaire se trouve en annexe \ref{ch:secSUS}.
\subsubsection{Scénarios}
\paragraph{Tâches}
\begin{table}[h!]
\centering
\caption{Tableau des tâches pour les scénarios de tests de l'interface créée}
\begin{tabular}{|c|c|}
\hline
Tâche 1 (T1) & Rechercher une entité\\\hline
Tâche 2 (T2) & Rechercher un alignement\\\hline
Tâche 3 (T3) & Visualiser l'alignement\\\hline
Tâche 4 (T4) & Ajouter un alignement\\\hline
Tâche 5 (T5) & Trouver des concepts proches \\\hline
Tâche 6 (T6) & Compter et estimer le nombre de différences entre 2 alignements \\\hline
\end{tabular}
\end{table}
\paragraph{Scénario 1~: Aligner les classes Workshop pour les ontologies CONFOF et CONFERENCE avec l'alignement SANOM}
\begin{enumerate}
\item Ouvrir la $1^{ere}$ page~: \textit{"Conference" ontologies alignement}
\item Choisir les ontologies et l'alignement
\item Rechercher les classes Workshop et alignez les
\end{enumerate}
Tâches accomplies~: T1, T2 et T4.
\paragraph{Scénario 2~: Comparer la différence entre les alignements LogMapLt et LogMap de la classe Person pour les ontologies CONFOF et CONFERENCE}
\begin{enumerate}
\item Ouvrir la $2^{eme}$ page~: \textbf{Comparison} of \textit{"Conference" of ontologies alignement}
\item Choisir les ontologies et les alignements
\item Rechercher le score de la correspondance pour la classe Person (0.14)
\end{enumerate}
Tâches accomplies~: T1, T2 et T3.
\paragraph{Scénario 3~: Trouver les concepts proches de Workshop pour les ontologies EDAS et EKAW et avec l'alignement POMap}
\begin{enumerate}
\item Ouvrir la $1^{ere}$ page~: \textit{"Conference" ontologies alignement}
\item Choisir les ontologies et l'alignement
\item Rechercher les concepts proches de Workshop
\end{enumerate}
Tâches accomplies~: T1, T2, T3 et T5.
\paragraph{Scénario 4~: Compter/estimer la différence entre les alignement LogMapLt et LogMap pour les ontologies CMT et IASTED}
\begin{enumerate}
\item Ouvrir la $2^{eme}$ page~: \textbf{Comparison} of \textit{"Conference" of ontologies alignement}
\subsubsection{Proposition d'amélioration, commentaires, remarques des utilisateurs}
Il faudrait avoir deux barres de recherches(une par ontologie). La recherche pourra se faire avec des parties de mots (partie de classe). Ontologie cible n'est pas très lisible car elle est disposée à 60 degré. La mstrice utile pour avoir une vision globale.\\
Une interface de recherche textuelle aurait été bienvenue. Avoir une fonctionnalité permettant de visualiser des alignements lorsqu'on clique sur un concept (e.g. afficher les alignements correspondants dans l'ontologie cible)
A travers ce travail de recherche, nous avons pu étudier plusieurs articles et outils sur le thème de la visualisation d'ontologie et plus précisément sur celui de la visualisation d'outil d'alignement d'ontologies. \\
Au début, nous avons décrit quelques interfaces de visualisation interactive d'ontologie et ensuite nous nous sommes penchés distinctement sur des axes d'analyse des interfaces d'alignement entre ontologies. Ces axes ont été définis par la lecture d'articles. Les tâches d'utilisation d'outil et les techniques de visualisation récurrentes ont été mises en évidence. \\
Ainsi,nous avons pu rédiger une synthèse des techniques de visualisation d'alignement d'ontologies par outil et par axe de recherche.