© 16.11.2003 |
|||||||||||||||||||||||||||||||||||||||
|
MkCorpus/CorpusPlusBuilder...Outil de préparation et de manipulation de Corpus Page Web MKCORPUS (téléchargement, documentation) : http://www.tal.univ-paris3.fr/sfleury/mkcorpusProject.htm
La documentation en ligne au format PDF correspond à la dernière version de la documentation complète de MKCORPUS. Certains éléments présentés infra ont été sensiblement améliorés. Mkcorpus est un programme de préparation de corpus pour leurs analyses ultérieures via des outils traditionnels du TAL. Il est écrit en Perl/TK. Ce programme permet : de visualiser le corpus, de manipuler via des outils idoines le contenu du corpus et de ses éléments pour les formater suivant les contingences imposées par les outils (suppression de balises, nettoyage…). Cet outil se présente comme un éditeur traditionnel et les menus construits permettent de réaliser des opérations sur les fichiers visualisés dans la zone d'édition ou attachés aux programmes de traitement. Pour utiliser MKCORPUS, il faut télécharger une des archives disponibles sur la page : http://www.tal.univ-paris3.fr/sfleury/mkcorpusProject.htm MKC-Binary (WIN32) : http://www.tal.univ-paris3.fr/sfleury/mkcorpus/mkc-win32-1.03-beta1.zip (pour la version 1.03)... (cf supra) Pré-requis : A priori aucun... à part Windows MKC-Sources : http://www.tal.univ-paris3.fr/sfleury/typweb/tools/CorpusBuilderLocation.zip (pour la version 1.01) ou http://www.tal.univ-paris3.fr/sfleury/mkcorpus/CorpusBuilderLocation-1.02.zip (pour la version 1.02)... (cf supra) Cette archive contient toutes les ressources disponibles et le code source complet. Le plus simple pour l'installer est de "dézipper" l'archive dans un répertoire en respectant l'arborescence construite dans l'archive. Cette version a été testée sous Windows et Linux. Pour lancer MKCORPUS, il faut lancer le programme Perl nommé loadMkCorpus.pl ou le programme win32MkCorpus.pl sous Windows. Pré-requis : il faut disposer de Perl et de Perl/Tk. Il faut aussi installer les modules Perl contenus dans le répertoire mkCorpusModules contenu dans l'archive (voir aussi la liste infra). Pour ces installations suivre les instructions contenues dans les Readme de chaque module :il faut en général déposer une bibliothèque dans le répertoire local lib de Perl (en général c:\Perl\lib sous windows, sous linux, la procédure d'installation standard fait le travail parfaitement). On donne ci-dessous un descriptif rapide des différentes opérations actuellement disponibles via cet outil (ces modules sont détaillés infra). Les modules présentés ci-dessous sont disponibles actuellement : Fichier : ouverture, sauvegarde Edition : outils traditionnels d'édition Search : recherche (regexp), remplacement, (dans menu et via boutons) Markups <[^>]+>: liste, suppression, modification Ce module utilise la représentation de balise sous la forme d'expression régulière du type <[^>]+> : solution intéressante mais pas toujours concluante. Extraction de texte entre balises <[^>]+>. Tools HTML : En développement…Des modules de transcodage sont disponibles. Tools SGML : En développement… Tools XML : Outils spécifiques pour travailler sur des documents XML: parsage, représentation graphique, stat, comments, extraction de texte entre balises… Map Corpus : Manipulation du documents XML représentés sous la forme de cartes graphiques ou d'arbres Représentation graphique de corpus balisés : "parcours" dans l'arbre associé au texte balisé via une interface graphique Corpus Tools : Préparation de corpus (recherche et nettoyage de caractères), avec sous-modules spécifiques pour Lexico, Cordial, Alceste Statistiques sur fichiers, concaténation de fichiers Typweb : la chaine typweb est disponible complètement : version 036 et 038, avec les programmes associés. La phase d'aspiration de site est en cours de mise au point. NLP tools : concordance, bigrammes, collocation, programme xword (cf "Web programming with perl" O'Reilly) Mise en œuvre et utilisation des modules MKCORPUS se présente comme un éditeur de texte traditionnel : une fenêtre d'édition, des menus et des boutons. La fenêtre principale est donc destinée à abriter un fichier en édition. Les principales actions disponibles sont activées via les menus ou via les boutons (qui correspondent en fait à des raccourcis de fonctions disponibles dans les menus). View dir : affiche le contenu de l'arborescence du disque de travail sous une forme d'arbre. Select File & open : déclenche l'ouverture d'une boîte de dialogue pour l'ouverture d'un fichier afin de l'éditer. Select File & not open : déclenche l'ouverture d'une boîte de dialogue pour associer un fichier à des traitements sans ouvrir celui ci dans la fenêtre principale. Cette option est surtout destinée à être utiliser dans le cas de travail sur de gros fichiers. Cette option n'est pas encore disponible. Open this file : charge le fichier courant, celui dont le nom est affiché dans la boîte File. Save this file : sauvegarde le fichier courant, celui dont le nom est affiché dans la boîte File. Save this file as : sauvegarde le fichier courant, celui dont le nom est affiché dans la boîte File avec possibilité de le renommer. Cette option fait appel à une boîte de dialogue. Clear : cette option crée un nouveau fichier dans la fenêtre principale. Ce fichier n'existe pas physiquement. Il faut au préalable l'enregistrer. Ce menu fait appel à des opérations traditionnelles disponibles dans les éditeurs : copier, coller, sélectionner... Menu SEARCH Ce menu fait appel à des opérations traditionnelles disponibles dans les éditeurs : recherche incrémentale, recherche globale, remplacement... Ces recherches utilisent la notions d'expression régulière. Le motif de recherche doit être au préalable intégré dans le champ "Search String" idem pour le motif de remplacement le cas échéant. Le bouton "highlight" est équivalent à une recherche globale du motif donné. Le bouton "delete" est équivalent à un remplacement global du motif donné par le motif de remplacement donné. Chaque recherche concluant provoque l'affichage coloré et clignotant du motif trouvé. Le bouton "no hightlight" inhibe ce formatage. Ce menu permet de réaliser des traitements sur des fichiers balisés, avec des balises du type <BALISE>. Les opérations disponibles utilisent une représentation formelle de ce type de balise sous la forme d'une expression régulière suivante "<[^>]+>". Remarque importante : la représentation d'une balise sous la forme de cette expression régulière n'est en aucun cas une solution optimale pour représenter une balise. Nous l'avons retenu dans la mesure où les fichiers que nous avons l'habitude de manipuler ne présentent pas de balises dont l'écriture est scindée sur deux lignes. View all : crée une nouvelle fenêtre contenant toutes les balises du fichier courant de la fenêtre principale.Il est possible de sauvegarder le fichier construit. delete all : supprime toutes les balises du fichier courant de la fenêtre principale. global search : recherche globale de toutes les balises. I-search : recherche incrémentale de motifs donnés dans le champ de recherche. repeat I-Search : nouvelle recherche du motif en cours de recherche. Extract text in markup : cette option active la génération d'une nouvelle fenêtre qui permet de sélectionnner des balises du texte courant pour : les modifier, les supprimer ou bien pour extraire le contenu situé entre la balise ouvrante et la balise fermante de la balise visée. HTML-Converter : ce sous-menu contient des programmes de transcodage. HTML-Tidy : ce sous-menu permet l'utilisation de l'utilitaire Tidy sur des pages HTML locales. Cette option prend en entrée un répertoire contenant un site et réalise le nettoyage des fichiers HTML suivant la configuration de Tidy contenu dans le fichier Tidy/config-html.txt (Outils XML, documentation complète à venir) XML-Viewer : outils pour visualiser l'arbre XML associé au document XML contenu dans la fenêtre principale XML-Parser : outil pour parser le document XML contenu dans la fenêtre principale XML Xpath : rechercher et extraire des parties du document XML via Xpath : en indiquant le chemin Xpath souhaité dans la zone de recherche, le programme produit, s'il le trouve, le contenu de la zone trouvée dans une zone d'édition qu'il est possible de sauvegarder. XML-Grove : en développement XML-ParseDTD : en développement XML-Extractor : outils pour réaliser des extractions des contenus d'éléments sélectionnés (plusieurs options sont disponibles) XML-Element : plusieurs outils sont disponibles ici : afficher tous les commentaires du document XML contenu dans la fenêtre principale, afficher des statistiques sur le document XML contenu dans la fenêtre principale XML-AddTagInTextNode : programme permettant d'ajouter des nœuds au document XML chargé XML-TIDY : conversion en format XHTML de sites web initialement codés en HTML XML-Converters : programmes de transcodage Module en cours de test et non documenté. Make TAG-MAP (REGEXP) Cette option s'inspire de la notion de "carte graphique de textes" disponibles dans Lexico3. L'enjeu est le suivant : il s'agit de donner une représentation graphique d'un document XML, sous la forme d'une carte de carrés colorés, sur la base d'une sélection d'un certain niveau de représentation (sélectionné par l'utilisateur) de ce document XML. On peut aussi considérer que cette option permet de se "promener" dans l'arbre XML du document visé en sélectionnant le niveau des nœuds de l'arbre à visualiser, on peut ensuite poursuivre la "descente de l'arbre" en sélectionnant un niveau de nœud plus profond. On donne une illustration de cette option dans les figures qui suivent. La représentation graphique produite du document est réalisée en utilisant des expressions régulières. Dans cette figure, on suppose que MKCORPUS a chargé un corpus XML contenant des zones textuelles comprises entre les balises <SITEFILETXTBRUT> et </SITEFILETXTBRUT>. L'activation de l'option MapXMLCorpus déclenche la génération dans un menu déroulant de toutes les balises du corpus. On peut ensuite sélectionner la balise que l'on souhaite visualiser sous la forme d'une carte graphique. Dans notre exemple, la balise <SITEFILETXTBRUT> a été sélectionnée. MKCORPUS se charge ensuite de construire une carte de ces zones. Dans la figure, chaque carré construit correspond à une zone textuelle associée à la balise choisie (balises ouvrante et fermante). On peut ensuite réaliser différentes opérations : Rechercher des éléments textuels dans la carte ; pour cela, il convient de donner une chaîne de caractère dans la zone de recherche puis d'activer le bouton "search in map", les zones textuelles rouges contiennent la chaîne visée, les autres, en blanc, ne le contiennent pas. Dans notre figure, le mot Boeing a été mis en valeur dans la carte, les carrés rouges contiennent donc ce mot. Afficher le contenu textuel d'un carré de la carte ; en cliquant sur le bouton gauche de la souris au dessus du carré, le contenu textuel apparaît dans la zone d'édition. Mettre en valeur une chaîne de caractères dans la zone d'édition : mécanisme Highlight déjà vu plus haut. Dans notre figure, le mot Boeing a été mis en valeur dans la zone d'édition. Sélectionner une balise fils de l'un des carrés de la carte et la sélectionner pour générer une nouvelle carte : le clic droit sur un carré de la carte déclenche la génération de toutes les balises présentés dans cette zone textuelle. La sélection de balises peut ensuite déclencher la génération d'une nouvelle carte sur la base de cette nouvelle sélection. Make TAG-MAP (DOM) Cette option est une extension de la précédente qui utilise DOM pour construire la représentation graphique du document sous la forme de carrés associés à un ou plusieurs éléments de l'arbre. Make TREE-MAP (DOM) Cette option prend elle aussi appui sur DOM pour construire, non plus une carte d'un certain type d'éléments du document XML (options précédentes), mais l'intégralité du document représenté sous la forme d'un arbre. La figure qui suit donne un exemple d'arbre construit à partir d'un document XML chargé au préalable dans MKCORPUS. L'interface graphique construire par ce module donne d'une part la représentation graphique du document XML, elle donne aussi accès à des outils pour accéder aux données textuelles du document ou pour modifier le document initial : CLIC GAUCHE sur carré => affichage du contenu textuel du carré (un élément) et de ses fils dans la zone d'édition Dans la figure précédente, le contenu textuel de l'élément "grammar" est visible dans la zone d'édition. 2 CLIC DROIT sur carré => sauvegarde du carré-noeud et de ses fils dans un fichier XML Dans la figure précédente, l'activation du clic-gauche sur le premier nœud "rule" provoque l'extraction de son contenu normalisé et la génération d'un fichier XML avec ce contenu. 3 La Fonction "search in Map" recherche dans tous les noeuds-carré la présence de la chaîne de caractère donnée dans la zone "search : ": les carrés devenus rouge contiennent la chaîne, les carrés devenus blanc ne la contiennent pas. Dans cette figure, la séquence GN est présente dans tous les nœuds rouges de l'arbre, on peut ainsi à partir de la racine localiser cette séquence dans l'arborescence du document. 4 Les fonctions "HighLight in text" et "search in text" recherchent dans la zone dans la zone d'édition la présence de la chaîne de caractère donnée dans la zone "search : " (cf supra). Les graphiques produits peuvent être sauvegardés dans des fichiers au format PostScript. Stat File, File Tools Ces deux options permettent respectivement : d’obtenir des statistiques élémentaires sur un fichier de concaténer des fichiers contenus dans un répertoire avec 2 formats de sortie : une sortie pour Lexico3 avec un balisage construit sur la base du nom des fichiers concaténés et une sortie XML avec le même type de balisage mais conforme cette fois ci aux recommandations XML. Check Char Cette option intègre des opérations de vérification et de remplacement de caractères (pris individuellement ou globalement). Il est possible de visualiser tous les caractères du fichier. On peut ensuite les modifier ou les supprimer interactivement et individuellement.
Il existe aussi une option qui permet d'appliquer des modifications sur tous les caractères du fichier sur la base d'une table de transcodage contenue dans le fichier nommée TableCharacter.txt. Il est possible de modifier cette table, chaque ligne est construite sous la forme suivante : <caractèreInput><caractèreOutput><chiffre> Le premier caractère sera remplacé par le second quand cette option est activée. Tous les caractères non contenus dans cette table seront remplacés par un blanc. PrepHtml2Txt Ces items permet de transformer des pages HTML en fichiers texte. Deux options sont disponibles : la première permet de réaliser le transcodage sur un répertoire complet (de manière récursive). En sortie, on obtient un fichier réécrit pour chaque fichier lu dans l'arborescence parcourue et un fichier global concaténant l'ensemble des fichiers transcodés. le seconde réalise l'opération de transcodage sur le fichier lu dans la fenêtre d'édition active. Ces programmes ont été inspirés par ceux disponibles à l'adresse suivante : http://www.codearchive.com/home/jon/. Option Lexico Ce sous-menu permet de construire des corpus prêts à être analysés par Lexico3 après sélection d'élément (plusieurs options sont disponibles). Il permet aussi de lancer des traitements particuliers : remplacement de tous les caractères majuscule par le même caractère en minuscule précédé par une étoile (cf documentation Lexico3), reformatage des sorties produites par Lexico2. Option Cordial : Une opération disponible actuellement (Make-Corpus Tag (For Lexico v1, v2)) concerne le traitements des résultats issus de Cordial Analyseur. Il est possible de formater les résultats issus de Cordial et de les préparer pour être traitées par Lexico. Le fichier à soumettre à Cordial doit être balisé sous la forme suivante : <balise1=valeur1> zone textuelle 1 <balise2=valeur2> zone textuelle 2 … S'il y a des balises dans le texte, il faut qu'elles aient l'allure précédente, s'il n'y en a pas, aucun problème a priori. Le résultat créé par Cordial est ensuite reformaté pour Lexico. Le résultat produit par l'étiquetage est de nouveau soumis à MKCORPUS qui se charge de remettre en forme ce résultat d'étiquetage pour qu'il soit de nouveau utilisable dans LEXICO. Ce travail de reformatage produit en fait 6 fichiers qui peuvent être tous traités par LEXICO : Un fichier contenant toutes les formes graphiques (i.e. le corpus initial) Un fichier contenant tous les lemmes Un fichier contenant toutes les étiquettes syntaxiques Un fichier contenant les couples (lemme, étiquette) Un fichier contenant les couples (forme, étiquette) Enfin, un fichier contenant la concaténation des trois premiers fichiers : i.e. une partition d'un même texte sous trois facettes complémentaires. On présentes un extrait de cet état du corpus ci-dessous : Le paramétrage de cordial à utiliser est le suivant : Les options "Cordial" de ce menu permettent ensuite de remettre en forme les résultats de Cordial. On obtient en fait plusieurs sorties : formes, lemmes, catégories, forme_catégorie, lemme_catégorie et une version du corpus qui contient une partition regroupant les lemmes, une partition regroupant les formes et une partition regroupant les catégories. Ce menu regroupe différents programmes de manipulation pour les textes manipulés (documentation complète à venir) : Concordance Collocation Bigramme Fourgramme Wordcount xword Les outils Typweb sont intégrés dans ce menu. Pour un descriptif de ces outils : http://www.tal.univ-paris3.fr/sfleury/typweb.htm Chaîne Typweb version 036 webxref On peut activer webxref sur un site aspiré localement et contenu dans un réperoire donné. On peut activer webxref sur un fichier index.htm sauvegardé localement et contenu dans un répertoire donné. Il faut au préalable chargé le fichier dans la fenêtre principale. mktypo On peut activer le programme mktipo présenté supra dans ce menu. mkstat On peut activer le programme ExtAndStatFrCorpTwb présenté supra dans ce menu. Chaîne Typweb version 038 webxref On peut activer webxref sur un site aspiré localement et contenu dans un répertoire donné. On peut activer webxref sur un fichier index.htm sauvegardé localement et contenu dans un répertoire donné. Il faut au préalable chargé le fichier dans la fenêtre principale. Certaines options ne sont disponibles que sous Unix. On peut, à partir des résultats fournis par les différentes options de webxref, générer les fichiers de travail de la chaîne Typweb : matrice de liens, corpus de TAGs, matrice de mots et de TAGs. Toutes les opérations disponibles sont décrites dans les fichiers d'aide fournis dans cette version. "Introduction à Perl/Tk", Nancy Walsh, O'Reilly "Programmation en Perl", L. Wall & al. , Traduction française, 2ème édition, O’Reilly "Perl cookbook", Tom Christiansen & Nathan Torkington, O’Reilly "Perl Annotated Archives", Martin Brown , Ed. Osbourne/Mc Grawhill "Perl 5 how-to", Glover Mike, Humphreys, Ed Weiss, The Wait Group, Inc. "Web Programming with Perl", Clinton Wrong, O'Reilly "Bien Débuter avec GNU Emacs", Frédéric Pierrestéguy, Masson "XML Processing with Perl, Python, and PHP", Martin C. Brown, SYBEX, 2002. "Computer Science & Perl Programming : Best of The Perl Journal", Orwant John, (edité par), 600 pages, édition O'Reilly, ISBN 0-596-00310-2, 2002 "Web, Graphics & Perl/Tk : Best of The Perl Journal", Orwant John, (edité par), 504 pages, édition O'Reilly, ISBN 0-596-00311-0, 2002 "Perl & XML, XML processing with Perl", Ray Erick T., Jason McIntosh, édition O'Reilly, 2002. "Learning XML", Ray Erick T., Christopher R. Maden, édition O'Reilly, ISBN 0-596-00046-4, 2001. "XML and Perl", Riehl Mark, Sterin Ilya, New Riders Publishing 2003
XML::LibXML XML::LibXSLT Tk::Graphviz |