Cillex est un projet Service à valeur ajoutée financé par ISTEX. Cillex est développé au Laboratoire Toulousain CLLE (Cognition Langues Langage Ergonomie) sous la direction de Bruno Gaume, avec Yannick Chudy, Emmanuel Navarro et Pierre Magistry.
La plus-value de cillex réside dans la NAVIGATION, les CARTES et les MESURES produites sur les archives numériques d’ISTEX. L’utilisateur peut ainsi mieux cibler sa recherche ou explorer les collections d’ISTEX pour les analyser ou y découvrir de nouvelles connaissances.
![]() |
L’utilisateur peut par exemple comprendre comment neuf auteurs ont collaboré pour rédiger vingt documents. |
---|
(1)–>API WEB–>(2)
On peut formuler une requête à l’API d’ISTEX de plusieurs manières :
1. Requête libre:
[a] Dans graphsearch
, on ouvre l’onglet ENGRENAGE, puis dans le champ « q : » on formule une requête.
[b] Dans le champ « field » sélectionner « * ».
[c] Cliquer sur le triangle pour lancer la requête.
2. Requête ISTEX:
[a] Dans démonstrateur
, formuler une requête puis copier le champ « Réponse brute complète ».
[b] Dans graphsearch
, on ouvre l’onglet ENGRENAGE, puis dans le champ « q : » coller.
[c] Dans le champ « field » sélectionner « istex ».
3. Requête Auteurs:
[a] Dans graphsearch
, on ouvre l’onglet ENGRENAGE, puis dans le champ « q : » on formule une requête.
[b] Dans le champ « field » sélectionner « auteurs ».
(A le même effet que 2. Requête ISTEX, en utilisant la « Recherche avancée » du démonstrateur
pour sélectionner « author.name » et formuler une requête)
4. Requête refBibAuteurs:
[a] Dans graphsearch
, on ouvre l’onglet ENGRENAGE, puis dans le champ « q : » on formule une requête.
[b] Dans le champ « field » sélectionner « refBibAuteurs ».
(A le même effet que 2. Requête ISTEX, en utilisant la « Recherche avancée » du démonstrateur
pour sélectionner « refBibs.author.name » et formuler une requête)
5. Requête keywords:
[a] Dans graphsearch
, on ouvre l’onglet ENGRENAGE, puis dans le champ « q : » on formule une requête.
[b] Dans le champ « field » sélectionner « keywords ».
(A le même effet que 2. Requête ISTEX, en utilisant la « Recherche avancée » du démonstrateur pour sélectionner « keywords.teeft » et formuler une requête)
(2)–>APIistex2csv–>(3)
L’API ISTEX retourne une liste de métadonnées sur N articles en format JSON. Ces métadonnées sont alors transformées en un tableau de N lignes en format CSV (Une ligne par document).
(4)–>réification–>(5)
Chacune des lignes du tableau ci dessus sera considérée comme un sommet du graphe (un sommet de type document
). Chacune des cellules d’une ligne est considérée comme une propriété du document correspondant (son titre, son score, …).
Si on ajoute les deux caractères «%+» devant l’entête d’une colonne, alors chacune des valeurs présentes dans la colonne, sera considérée comme un sommet du graphe (réification). Ceci permet par exemple de considérer les auteurs des documents comme des sommets du graphe (avec la colonne «%+auteurs»).
Par défaut, seront considérés comme sommets : les documents
(systématiquement), les auteurs
(avec la colonne «%+auteurs»), les refBibsAuteurs
(avec la colonne «%+refBibsAuteurs»), les keywords
(avec la colonne «%+keywords») et les catégories
(avec la colonne «%+catégories»).
Pour faciliter leurs identificaions, une forme est associée à chaque type de sommet:
documents
: [square]keywords
: [triangle-top]refBibAuteurs
: [diamond]auteurs
: [circle]categories
: [triangle-bottom]Par exemple http://calc.padagraph.io/cillex-exemple_nlp_graph_10 est le tableau .csv pour la requête libre « nlp graph » avec une réification par défaut.
(6bis)<–>Import/Export
On peut Exporter et Importer le tableau ci-dessus. Cela permet de travailler en collaboratif sur le tableau pour ajuster la réification selon les choix de l’utilisateur ou/et modifier des données (ajouts, suppression, corrections). Il suffit pour cela d’envoyer l’adresse du tableau (http://calc.padagraph.io/cillex-{calc-id}) aux personnes avec qui on veut collaborer sur le corpus extrait de la collection ISTEX encodé dans ce tableau. Le tableau ainsi ajusté pourra ensuite être importé dans cillex pour être étudié.
(6)–>csv(%+)2graph–>(7)
C’est ici qu’on construit le graphe à partir du tableau réifié ci-dessus.
ATTENTION! Si aucune colonne du tableau n’a été réifiée, alors seuls les documents sont les sommets du graphe qui est alors sans arête.
![]() |
Ce graphe n’a pas d’arête, il n’a donc pas de structures. |
---|
(8=GRAPHE)–>Métrologie->(Affichage)
On peut afficher les propriétés caractéristiques du GRAPHE (Son pédigrée: Densité, L, C …), ses clusters selon plusieurs métriques, la labelisation de ses clusters selon plusieurs métriques. Les métriques sont défnies par le type de réification (voir : (4)–>réification–>(5))
L’utilisateur peut indépendament choisir une métrique :
L’utilisateur peut librement croiser différentes structures du GRAPHE qui l’intéresse sur une même carte.
(8=GRAPHE)–>Expansion–>(9)
On peut enrichir le GRAPHE avec les résultats d’une nouvelle requête.
(8=GRAPHE)–>Navigation–>(10)
Le GRAPHE ainsi obtenu peut posséder plusieurs centaines de sommets et plusieurs milliers d’arcs (documents
–>auteurs
, documents
–>keywords
, documents
–> refBibAuteurs
, documents
–>categories
, ...
).
Aussi pour aider à analyser les structures présentes dans le GRAPHE, on navigue sur des sous parties du GRAPHE qui sont extraites par proxémie pour être cartographiées dans graphsearch
.
“Ce démonstrateur permet l’accès à une archive numérique de revues, d’ouvrages scientifiques et de corpus de textes à une échelle inégalée en France (Plus de 21 millions de documents, 54 millions d’Euros consacrés aux acquisitions) ;”
Ce démonstrateur illustre les différents aspects de l’API ISTEX, de la recherche à l’affichage des résultats, en passant par l’utilisation des facettes. Des infobulles sont disponibles sur l’ensemble des fonctionnalités pour vous guider.
http://demo.istex.fr/
https://api.istex.fr/documentation/
cillex permet la construction de graphes (documents->propriétés) issus du corpus et retournés par le moteur de recherche ISTEX
Avec les résulats des requêtes à l’api, les documents
sont de nouveaux noeuds dans le graphe ainsi que les auteurs
, refBibAuteurs
, keywords
et catégories
…
Les autres champs conservés et fournis par l’api sont des propriétés des documents
.
cillex propose de construire un graphe à partir de plusieurs requêtes successives et d’expansion de noeuds. Selon le type du noeud étendu, une nouvelle requête produit un nouveau graphe qui est fusionné dans un graphe global.
La visualisation proposée est celle d’un graphe local qui contient moins de noeuds.
La sélection des noeuds s’effectue selon des rangs proxémiques ou manuellement.
https://github.com/ynnk/cillex-csv
cillex se compose d’une interface de visualisation ainsi que d’un menu contenant les options des composants du moteur cillex
On déplace le graphe en laissant appuyé le bouton droit
de la souris, pour le zoom on utilise la molette
.
Le double click
souris dans l’espace dés/active la rotation automatique.
mouseover
(souris) sur un noeudclick
sur un noeud/arêteclick
dans l’espace pour désélectionner.Ce champ permet de rechercher dans le graph global un noeud pour l’ajouter dans le local ou de lancer une nouvelle recherche ISTEX en validant la saisie avec le touche enter
.
cf composant graph
Informations concernant le graph global :
id
n noeuds
m relations
Cliquer sur le label id
pour ouvrir une fenêtre avec le schema et le pedigree du graphe.
touche | fonction |
---|---|
enter |
étendre le noeud sélectionné |
backspace |
cacher le noeud sélectionné |
+ |
augmentation de la taille des noeuds |
- |
réduction de la taille des noeuds |
, |
augmentation de la taille des labels |
; |
réduction de la taille des labels |
L |
affichage des labels des labels |
N |
affichage des noeuds |
E |
affichage des arêtes |
R |
rotation du graphe |
S |
vitesse rotation - |
D |
vitesse rotation + |
Indique le type d’un noeud, liste ses propriétés ainsi que ses relations.
+10
expansion d’un noeudneighbors
nouvel onglet avec le json des voisins d’un noeud{id}
nouvel onglet vers le document dans cillexEnsemble des propriétés d’un noeuds extrait de l’api ISTEX.
document
est un lien vers le document dans le moteur ISTEX.
fulltext
est un lien vers le pdf de l’article.
…
Les relations entrantes et sortantes du noeud sont listées avec leurs directions.
![]() |
Affiche le nombre de noeuds du graphe local courant et permet de filtrer selon certains critères. |
---|
All
affiche tous les noeuds du graphe local.LABEL
recherche et filtre sur le label des noeuds.TYPES
filtre selon le type des noeuds.Layout
mise à jour du layout pour les noeuds affichés.![]() |
Affiche le nombre de relations du graphe local courant et permet de filtrer selon certains critères. |
---|
All
affiche toutes les relations du graphe local.LABEL
recherche et filtre sur le label des relations.TYPES
filtre selon le type des relations.Layout
mise à jour du layout pour les relations affichées.![]() |
Choix d’un algorithme de layout parmi une liste. |
---|
![]() |
Choix d’un algorithme de clustering parmi une liste. |
---|
![]() |
Ouverture du menu composant |
---|
Les composants modifient la structure du graphe global construits à partir des documents retournés par le moteur de recherche et la visualisation dans le navigateur.
Le menu des paramêtres des composants est accessible à l’aide du bouton engrenage
:
istex
)Récuppere un ensemble de document par une requête au moteur ISTEX et les converti en graphe.
https://api.istex.fr/documentation/
Les requêtes sont additives. Chaque requête successive enrichie le graphe global.
q: {query}, {name} ou {keyword}
field: champ specifique de matching pour la requête envoyé ISTEX
*
recherche sur tout le champsistex
adresse complete de la recherche construite à l’aide du démonstrateur.auteurs
q:author.name={name}refBibAuteurs
q:refBibs.author.name={name}keywords
q:keywords.teeft={keyword}results_count: nb de résultats renvoyé par le moteur
Exploration du graphe global par extraction des noeuds selon des scénarios de requêtes et de pondération.
reset reset le graph local selon les options sélectionnées.
all_articles : force la présence des articles
weighting : scénario de pondération des arêtes.
0
tous les poids des arêtes sont à 0
1
tous les poids des arêtes sont à 1
weight
tous les poids des arêtes ont la valeur de la propriété weight
auteurs
les arêtes de type article_auteurs
ont un poids 5refBibAuteurs
les arêtes de type article_refBibAuteurs
ont un poids 5keywords
les arêtes de type article_keywords
ont un poids 5categories
les arêtes de type article_categories
ont un poids 5length : longueur de propagation.
cut : nombre de noeuds retenus.
L’expansion d’un noeud s’effectue :
+10
dans sa fiche.enter
lorsqu un noeud est selectionné.Labellisation des clusters
weighting : scénario de pondération des arêtes. voir (#Exploration-du-graph)[composant graph
count : nombre de labels
Sauvegarde du graphe construit dans une feuille de tableur en ligne.
calc_id : identifiant du calc
le calc sera sauvegardé vers l’adresse http://calc.padagraph.io/cillex-{calc-id}
Import d’un graphe sauvegardé dans une feuille de tableur en ligne.
calc_id : identifiant du calc,
le calc sera importé depuis l’adresse http://calc.padagraph.io/cillex-{calc-id}
editer le pad exporté vers http://calc.padagraph.io/cillex-{calc-id}
_ article_categories | color[#CCC] | width[1] | line[dashed] |
_ article_refBibAuteurs | color[#666] | width[1] | line[plain] |
_ article_auteurs | color[#555] | width[3] | line[plain] |
_ article_keywords | color[#EEE] | width[1] | line[plain] |
@keywords: #label | shape[triangle-top] | color[#EEE] | |
@refBibAuteurs: #label | shape[diamond] | ||
@auteurs: #label | shape[circle] | size[1.3] | |
@categories: #label | shape[triangle-bottom] |
Nous avons présenté cillex lors des journées ISTEX du 15 et 16 mars 2018.
Regarder la vidéo
Yannick Chudy - Bruno Gaume - Université de Toulouse/CLLE