Outils pour utilisateurs

Outils du site


public:specs_dictionnaire

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
public:specs_dictionnaire [2015/11/12 18:40]
slh@ens-lyon.fr
public:specs_dictionnaire [2016/07/19 15:17] (Version actuelle)
alexei.lavrentev@ens-lyon.fr
Ligne 34: Ligne 34:
  
   * start to provide a dictionary software component very soon   * start to provide a dictionary software component very soon
-  * start with the trivial tabular model <one word per line, one word property per column> because the push is given by the need to develop open-source lemmatizers,​ TreeTagger architecture is the reference model (tabular lexicon + tagged golden corpus for learning) -> language model to lemmatize+  * start with the trivial tabular model <one word per line, one word property per column> because the push is given by the need to develop open-source lemmatizers,​ TreeTagger&​Melt ​architecture is the reference model (tabular lexicon + tagged golden corpus for learning) -> language model to lemmatize
   * probably need to develop bi-lingual support later (TXM imports TMX corpora)   * probably need to develop bi-lingual support later (TXM imports TMX corpora)
   * probably need to develop compound words support later (Unitex is the reference model: simple words lexicon+compound words lexicon+local grammars)   * probably need to develop compound words support later (Unitex is the reference model: simple words lexicon+compound words lexicon+local grammars)
   * probably need to augment the tabular model in something richer later (several tables, hierarchical,​ network, etc.)   * probably need to augment the tabular model in something richer later (several tables, hierarchical,​ network, etc.)
   * etc.   * etc.
 +
 +==== V1 - Palafra ====
 +
 +Implémenter les fonctionnalités nécessaires pour la recette Palafra.
 +
  
 ==== État de la plateforme ==== ==== État de la plateforme ====
Ligne 48: Ligne 53:
 ==== État de l'art ==== ==== État de l'art ====
  
 +=== Softwares ===
 We should look for software components implementing such data and operations to which we could delegate dictionary management or that we could use, adapt, augment, etc.\\ ​ We should look for software components implementing such data and operations to which we could delegate dictionary management or that we could use, adapt, augment, etc.\\ ​
 The preferred components would be: The preferred components would be:
Ligne 58: Ligne 64:
   * [[http://​fieldworks.sil.org/​flex/​|FLEx]] "​integrates dictionary development with basic corpus analysis"​   * [[http://​fieldworks.sil.org/​flex/​|FLEx]] "​integrates dictionary development with basic corpus analysis"​
   * [[https://​github.com/​KorAP|KorAP]] (Next Generation Corpus Analysis Platform)   * [[https://​github.com/​KorAP|KorAP]] (Next Generation Corpus Analysis Platform)
 +
 +=== Implemented Standards ===
 +
 +Chercher des implémentations de formats standard (ou des implémentations capables de les interpréter en import-export),​ en s'​intéressant surtout aux formats les plus élémentaires.
 +
 +En partant de la liste suivante issue d'un article de la revue JTEI, d'​après un mail récent de M. Holmes dans TEI-L :
 +[[https://​listserv.brown.edu/​archives/​cgi-bin/​wa?​A2=ind1510&​L=TEI-L&​P=R20490&​1=TEI-L&​9=A&​I=-3&​J=on]]
 +
 +<​code>​A great number of divergent formats have coexisted: Multilex and 
 +Genelex (GENEric LEXicon) are systems that are associated with the 
 +Expert Advisory Group on Language Engineering Standards (EAGLES). Other 
 +formats used in digital dictionary projects are OLIF (Open Lexicon ​
 +Interchange Format), MILE (Multilingual ISLE Lexical Entry), LIFT 
 +(Lexicon Interchange Format), OWL (Web Ontology Language) and DICT 
 +(Dictionary Server Protocol)..."​
 +<​https://​jtei.revues.org/​522#​tocto1n3>​
 +
 +(Of course there are even more, including LMF.)
 +</​code>​
 +
 +
 +==== Spécifications ====
 +
 +=== Interface d'​accès aux fonctions ===
 +
 +Pour manipuler des dictionaires dans TXM, il faut installer l'​extension "​Dictionary"​ qui rajoute plusieurs commandes dans le menu principal "​Dictionary"​ :
 +  * List : liste tous les dictionnaires
 +    * Pas de paramètre
 +  * Print : affiche dans la console le contenu d'un dictionnaire
 +    * Paramètres : 
 +      * name : le nom du dictionnaire à afficher
 +  * Import : import un dictionnaire depuis un fichier TSV
 +    * Paramètres : 
 +      * tsvFile : le fichier TSV à importer, le nom du dictionnaire à afficher est créé à partir du nom du fichier sans l'​extension
 +  * Import from Index : créé un dictionnaire depuis un Index sélectionné dans la vue Corpus
 +    * Paramètres : 
 +      * name : le nom du dictionnaire à créer/​peupler
 +  * Recode : recode une propriété du dictionnaire à l'aide de règles de conversion
 +      * conversionFile : le fichier TSV de conversion
 +      * type : la propriété à lire
 +      * newType : le propriété à créer ou mettre à jour
 + 
 +=== SQL ===
 +
 +Un gestionnaire de dictionnaire donne accès à la création et la liste des dictionnaires.
 +Un dictionnaire est identifié par un nom unique auquel lui est associé une table SQL (HSQL), les propriétés des entrées du dictionnaire sont codées dans des colonnes de la table.
 +
 +=== JPA ===
 +
 +Un dictionnaire :
 +  * contient ​
 +    * des entrées : 
 +      * ont un identifiant unique
 +      * est exporté sous forme de ligne
 +    * des propriétés : triplets uniques
 +      * ont un identifiant d'​entrée
 +      * ont un identifiant de type
 +      * ont une valeur
 +        * porte son type de donnée : chaine, entier...
 +      * est exporté sous forme de contenu de cellule
 +    * des types :
 +      * ont un identifiant unique
 +      * est exporté sous forme de colonne
 +  * permet de créer, modifier, sélectionner...
 +
 +Implémentation dans une class DictionaryFactory,​ une classe Dictionary et 3 classes JPA (qui étendent la classe Entity) :
 +  * DictionaryFactory : gère les dictionnaires
 +    * création et ouverture
 +    * libération de mémoire
 +    * fermeture
 +    * liste des dictionnaires ouverts
 +  * Dictionary
 +    * a un nom unique
 +    * contient un EntityManager JPA (accès en lecture, écriture aux données persistées)
 +  * Entry
 +    * id de type long
 +  * EntryProperty
 +    * ref de type long
 +    * type de type String
 +    * value de type Serializable (peut contenir String, Integer...)
 +  * EntryPropertyType
 +    * id de type String
 +
  
 ==== Prototypes ==== ==== Prototypes ====
 +
 +voir ticket : [[http://​forge.cbp.ens-lyon.fr/​redmine/​issues/​1635]]
 +
 +
 ==== Version finale ==== ==== Version finale ====
  
Ligne 69: Ligne 162:
 ==== Protocole de test ==== ==== Protocole de test ====
 === Alpha === === Alpha ===
 +voir [[https://​groupes.renater.fr/​wiki/​palafra/​prive/​lexique_fro]]
 +
 === Beta === === Beta ===
  
public/specs_dictionnaire.1447350017.txt.gz · Dernière modification: 2015/11/12 18:40 par slh@ens-lyon.fr