Contexte du projet, voir [html4txm]
Ce projet de premier semestre est à réaliser par groupes d'étudiants. Ces groupes sont constitués :
Le sujet est commun à tous les groupes. Chaque groupe devra réaliser un programme Java permettant le traitement semi-automatique de fichiers HTML pour intégration dans l'outil TXM.
Chaque groupe devra rendre, à la date indiquée les éléments suivants :
Chaque étudiant devra rendre, à la date indiquée les éléments suivants :
Nous attendons donc 4 programmes, 12 rapports, et au moins 12 dossiers de données sur lesquels appliquer le programme.
L'intention générale du programme est d'extraire le contenu textuel signifiant d'une liste de fichiers XHTML issu d'un même site pour générer des fichiers prêts à être ingérés et traités par TXM.
Le programme fonctionnera en ligne de commande (c’est un prototype qui pourra être intégré plus tard).
Le premier format de sortie préconisé est un format XHTML comprenant le texte signifiant et un certain nombre de métadonnées. Ce format sera normalisé par un schéma Relax-NG à écrire. Il sera nommé format XHTML pivot dans la suite de l'énoncé.
Cependant, comme TXM ne supporte pas encore l'import de fichier XHTML, le programme devra permettre la transformation de ces fichiers XHTML normalisés en :
L'implémentation d'une classe Java de préparation du corpus a été fourni lors de la séance du [2013-11-27]. Celle-ci peut-être personnalisée et améliorée avant de l'appliquer sur l'arborescence obtenu par récupération complète du site choisi. Cette étape de préparation est de la responsabilité de chaque étudiant et ne fait pas partie du projet.
Le dossier contenant les fichiers XHTML bruts (en UTF-8 et valide XML) est la source des données à traiter par le programme à réaliser. Ce dossier fait partie des livrables pour permettre de tester le programme fourni, il est nommé dossier corpus dans la suite de l'énoncé.
Le programme à réaliser prendra donc en entrée le chemin de ce dossier corpus.
Par "extraire le contenu signifiant" du fichier XHTML source, on entend éliminer tous les contenus de type navigation (menus, retour à la page d'accueil, ...) et ne retenir que l'information textuelle propre à la page. La structuration des pages et l'endroit où trouver le texte signifiant dépendent de chaque site (on part du principe que les sites étudiés sont produits par un CMS et que les pages du site sont globalement toutes structurées de la même manière).
Ainsi, le programme devra pouvoir être paramétré par un fichier propre à chaque site. On pense ici à une XSL qui prendrait en entrée un fichier XHTML source pour générer un fichier XHTML normalisé (valide contre le schéma RNG fourni) ne conservant que le contenu textuel pertinent.
La définition de ce format pivot, et le rédaction du schéma Relax-NG, fait partie de l’exercice. Dans chaque groupe, la confrontation de différents sites, et de différents intérêts linguistiques, obligera à des synthèses qui font justement l’intérêt de ce travail collectif.
La génération du format texte + fichiers CSV de métadonnées compatible TXM s'effectuera en prenant en entrée le dossier contenant les fichiers XHTML au format "pivot" (commun à tous les sites). Cette transformation est un moyen de contrôler si le format pivot retient tout ce qui est utile pour une étude du corpus dans TXM (exemple : désignation normalisée des champs de métadonnées).
Notes :
Le programme de conversion des fichiers XHTML bruts en XHTML format pivot doit pouvoir alerter l'utilisateur si des effets indésirables se produisent, afin notamment d’aider à la mise au point de la transformation XSL (exemples : pas de contenu trouvé, métadonnée nécessaire manquante). Ce rapport sera produit par la validation du document xhtml sur son schéma Relax-NG, à laquelle peuvent être ajoutées d’autres procédures automatisées qui s’avèreront utiles.
Lorsque les programmes sont appelés sans paramètres, un message d’aide est fourni à l’utilisateur pour expliquer l’ordre et la nature des paramètres.
java -cp html4txm.jar fr.crim.html4txm.XhtmlExtractor OPTIONS <src> <dst> <xsl>
Le programme renverra un rapport, avec au minimum, le temps de traitement total, le nombre de fichiers transformés, et les erreurs de validation Relax-NG lorsqu’il y en a. Le schéma Relax-NG est interne au logiciel, il sera recopié dans le dossier de destination.
Les options prévues sont les suivantes :
Toutes autres options qui s’avèreraient utiles sont autorisées.
java -cp html4txm.jar fr.crim.html4txm.Xhtml2txt <src> <dst>
src : le dossier contenant les fichiers XHTML au format pivot (généré par le programme précédent)
dst : le dossier contenant les fichiers texte et le fichier CSV prêt à être ingéré par TXM
Le programme indiquera le nombre de fichiers traités et le délai total de traitement
Chaque étudiant(e) rédigera un document de quelques pages qui présente :
Dans ce rapport sera valorisée la réflexion critique sur le travail effectué afin d’ouvrir les meilleures pistes de développement du projet.
Chaque groupe rendra son programme Java sous forme d'un fichier jar autonome (i.e. incluant les bibliothèques nécessaires) contenant également les fichiers source Java.
Chaque étudiant fournira son dossier corpus de fichiers XHTML bruts, avec la XSL spécifiquement rédigée pour traiter les pages du site choisi.
Il doit suffire d'appliquer les commandes plus haut sur le dossier livré pour faire fonctionner le programme.
Wiki: 2013-11-27
Wiki: Home 2013-12-11 22:25:56.186231
Wiki: Home
Wiki: html4txm
Anonymous