Taporware

De EduTech Wiki
Aller à : navigation, rechercher
Analytique et exploration de données
Module: Outils text mining
à améliorer débutant
2015/01/29 ⚒⚒ 2014/11/19
Voir aussi

Sommaire

1 Introduction

Taporware 2.0est un outil d'analyse de texte qui permet aux utilisateurs d'exécuter des analyses de textes sur des documents HTML, XML et du texte brut. Taporware a été développé par Geoffrey Rockwell, Lian Yan, Andrew Macdonald et Matt Patey, à l'université McMaster. Cet outil d'analyse dispose de plusieurs fonctionnalités classées en 5 catégories: outils HTML, outils XML, outils texte brut, autres outils et outils en bêta.

2 Fonctionnalités

Certaines fonctionnalités pour les catégories des outils HTML, outils XML et outils texte brut sont communes. Celles-ci seront donc expliquées ensemble.

Outil HTML Outil XML Outil texte brut
Co-occurrence Co-occurrence Co-occurrence
Collocation Collocation Collocation
Comparator Comparator Comparator
Concordance Concordance Concordance
Date finder Date finder Date finder
Distribution Distribution Distribution
Extract text Extract text
Fixed phrase Fixed phrase Fixed phrase
Hypergraph
Link Extractor
List HTML tags
List Words List Words List Words
List XML elements
Speech Tagger
Summarizer Summarizer Summarizer
Tokenize Tokenize Tokenize
Transformer
Autres Outils
  • Aggregator
  • Raining Words
  • Raw Grep
  • Tagger
  • Weighted Centroid
Outils Bêta
  • Acronym Finder
  • CAPs Finder
  • Compare with Control
  • Get TEI Meta Data
  • HTML Text Extractor
  • Keywords Finder
  • List Word Pairs
  • Principal Components Analysis
  • Tool Bar
  • Word Brush
  • Web Page Cleaner
  • Word Cloud

2.1 Fonctionnalité propres aux outils HTML

2.1.1 Extract Text (HTML)

La fonctionnalité Extract Text permet d'extraire tout le texte étant contenu dans une balise HTML particulière. Il est possible de spécifier le document HTML par une URL où de l'importer. Voilà un exemple:

Garretv0 extract text.png

Ici nous voulons extraire tous les textes contenus dans la balise "h3" du document situé à l'adresse suivante: http://taporware.ualberta.ca/einstein-bio.html

Nous obtenons tout ce qui se trouve dans ces balises. Chaque saut à la ligne représente une nouvelle balise "h3".

Garretv0 extract text result.png

2.1.2 Link Extractor

La fonctionnalité Link Extractor permet de lister tous les liens présents dans une page HTML. Il est possible de spécifier le document HTML par une URL où de l'importer.

2.1.3 List HTML tags

La fonctionnalité List HTML tags permet de compter le nombre de fois qu'apparaissent les différentes balises présentes dans le document HTML. Il est possible de spécifier le document HTML par une URL où de l'importer.

2.2 Fonctionnalité propres aux outils XML

2.2.1 Extract Text (XML)

La fonctionnalité Extract Text permet d'extraire tout le texte étant contenu dans une balise XML particulière. Il est possible de choisir une balise ayant un attribut avec une valeur particulière pour mieux cibler l'extraction. Il est possible de spécifier le document HTML par une URL où de l'importer.

2.2.2 Hypergraph

La fonctionnalité Hypergraph permet d'afficher la structure d'un document XML avec des arbres hyperboliques. Il est possible de spécifier le document XML par une URL où de l'importer.

10/11/2014: Cette fonctionnalité ne semble pas fonctionner et nous affiche les messages d'erreurs suivants:

"could not find file /~taporware/cgi-bin/prototype/temp/interact2.XML Start applet with default graph"

"could not find propertyfile /~taporware/cgi-bin/prototype/temp/taporware.prop. Start applet with default properties"

2.2.3 List XML elements

La fonctionnalité List XML elements permet de lister toutes les balises d'un document XML. Cette fonctionnalité compte le nombre de fois qu'apparaissent les différentes balises présentes dans le document, le nombre moyen de mots contenus dans une balise, et liste les attributs propres à chaque balise. Il est possible de spécifier le document XML par une URL où de l'importer.

2.2.4 Transformer

La fonctionnalité Transformer permet de transformer un document XML à l'aide d'un fichier XSL en un document HTML. Il est possible de spécifier le document XML et le fichier XSL par une URL où de les importer.

2.3 Fonctionnalité propres aux outils texte brut

2.3.1 Speech Tagger

La fonctionnalité Speech Tagger permet de mettre en évidence avec de la couleur des mots du document texte brut. L'utilisateur choisit la couleur pour chaque tag qu'il veut mettre en évidence. L'utilisateur peut mettre en évidence les conjonctions, les déterminants, les mots étrangers, les adjectifs, les verbes, les "prédeterminer" (all, rather, such...), les pronoms, les particules, les to, les nombres cardinaux, les phrases existentielles ("there is..."), les préposition, les marqueurs d'éléments des listes, les nom, les terminaisons possessives, les adverbes, les symbole et les interjections. Il est possible de spécifier le document sous format de texte brut par une URL où de l'importer.

2.4 Fonctionnalité communes aux outils HTML, XML et texte brut

2.4.1 Co-occurrence

La fonctionnalité Co-occurrence permet de chercher deux mots dans le texte s'ils se trouvent à une certaine distance précisée soit en mots, soit en lignes, soit en phrases ou soit en paragraphes et de les mettre en contexte dépendamment de l'option de distance choisie. Il est possible de choisir une balise (Pour l'outil HTML et XML) ayant un attribut avec une valeur particulière (pour l'outil XML) pour mieux cibler l'extraction. Il est possible de spécifier le document par une URL où de l'importer.

2.4.2 Collocation

La fonctionnalité Collocation permet de lister les mots se trouvant autour d'un mot spécifique. Cette distance peut être précisée soit en mots, soit en lignes, soit en phrases ou soit en paragraphes (pour l'outil HTML et texte brut). Il est possible de spécifier le document par une URL où de l'importer.

2.4.3 Comparator

La fonctionnalité Comparator permet de comparer deux textes. Cela nous donne des informations générales des deux textes comme le nombre de mots, le nombre de mots uniques etc. Ensuite tous les mots des deux textes sont comptés et classés en trois tableaux: Ceux qui sont présents dans les deux textes, ceux qui sont uniquement présents dans le texte 1 et ceux qui sont uniquement présents dans le texte 2. Il est possible de spécifier les documents par une URL où de les importer.

2.4.4 Concordance

La fonctionnalité Concordance permet de chercher un mot ou un pattern en particulier et de le mettre en contexte avec le contenu du document. Il est possible de choisir une balise (Pour l'outil HTML et XML) ayant un attribut avec une valeur particulière (pour l'outil XML) pour mieux cibler l'extraction. Il est possible de spécifier le document par une URL où de l'importer.

2.4.5 Date finder

La fonctionnalité Date finder permet d'extraire toutes les dates d'un document. Ces dates peuvent être des années, des mois, des jours de la semaine, des saison ou encore le nom de vacances américaines. L'utilisateur peut spécifier une date précise à rechercher. Il faut tout de même garder à l'esprit que cet outil est en anglais et que par conséquent il ne détecte que les dates mises en anglais. Il est possible de choisir une balise (Pour l'outil HTML et XML) ayant un attribut avec une valeur particulière (pour l'outil XML) pour mieux cibler l'extraction. Il est possible de spécifier le document par une URL où de l'importer.

2.4.6 Distribution

La fonctionnalité Distribution permet de montrer la distribution d'un mot particulier dans un texte, c'est-à-dire où est-ce qu'il apparait. Il est possible de choisir une balise (Pour l'outil HTML et XML) ayant un attribut avec une valeur particulière (pour l'outil XML) pour mieux cibler l'extraction. Il est possible de spécifier le document par une URL où de l'importer.

2.4.7 Fixed phrase

La fonctionnalité Fixed phrase permet de trouver si un mot spécifique est plusieurs fois suivit ou précédé de certaines suites de mots et de dire combien de fois c'est le cas. Par exemple si on choisit le mot "work" et que ce mots apparait deux fois précédé de "he continued to" (he continued to Work) alors ceci sera détecté. Il est possible de spécifier le document par une URL où de l'importer.

2.4.8 List Words

La fonctionnalité List Words permet de compter la fréquence des mots dans un document selon certains critères. On recherche soit tous les mots, soit des mots répondant à certains expressions régulières, soit des mots en particuliers ou soit encore tous les mots sauf certains spécifiés dans une stop list. Nous pouvons choisir la stop list par défaut ou en créer une. Il est possible de choisir une balise (Pour l'outil HTML et XML) pour mieux cibler l'extraction. Il est possible de spécifier le document par une URL où de l'importer.

2.4.9 Summarizer

La fonctionnalité Summarizer permet de créer un résumé d'un document concernant un nombre prédéfini de mots les plus fréquents du document. On y calcule leur fréquence, on affiche les phrases contenant ces mots, le test de concordance, le test de collocation et leur distribution dans les balises (Pour l'outil HTML et XML). Il est possible de choisir une balise (Pour l'outil HTML et XML) pour mieux cibler l'extraction. Il est possible de spécifier le document par une URL où de l'importer.

2.4.10 Tokenize

La fonctionnalité Tokenize permet de séparer le texte d'un document par "tokens" particulier. Les "tokens" peuvent être des mots, des lignes, des phrases, des paragraphes, des caractères particuliers, des paterns ou encore des balises (Pour l'outil XML). Il est possible de spécifier le document par une URL où de l'importer.

2.5 Autres outils

2.5.1 Aggregator

La fonctionnalité Aggregator permet de fusionner des documents à la suite en un seul document. Il est possible de spécifier les document par une URL où de les importer. Cependant si on choisit de les importer alors il n'est possible d'importer que deux documents.

2.5.2 Raining Words

La fonctionnalité Raining Words permet de générer une liste des 20 mots les plus fréquents d'un document et de les afficher dans une applet Java qui en fait un espèce de word Cloud utilisant la taille de police et la couleur pour montrer la fréquence des mots. Il est uniquement possible de spécifier le document par une URL.

2.5.3 Raw Grep

La fonctionnalité Raw Grep permet de chercher tous les mots contenant la suite de texte spécifiée et de le mettre en contexte avec le contenu du document. Par exemple si on décide que la suite de texte est "work" alors "handywork" et "working" seront détectés. Il est possible de spécifier le document par une URL où de l'importer.

2.5.4 Tagger

La fonctionnalité Tagger permet de mettre en évidence les termes que l'on a précisé d'un document XML. Il est possible de choisir une balise XML ayant un attribut avec une valeur particulière pour mieux cibler l'extraction. Il est possible de spécifier le document par une URL où de l'importer.

10/11/2014: Cette fonctionnalité ne semble pas fonctionner.

2.5.5 Weighted Centroid

La fonctionnalité Weighted Centroid permet de montrer la distribution des mots les plus fréquents d'un document dans un graphique. Il est possible de spécifier le document par une URL où de l'importer.

2.6 Outils Bêta

2.6.1 Acronym Finder

La fonctionnalité Acronym Finder permet d'extraire les acronymes d'un document. Il est possible de spécifier le document par une URL où de l'importer.

2.6.2 CAPs Finder

La fonctionnalité CAPs Finder permet d'extraire tous les mots contenant des majuscules. Il est possible de spécifier le document par une URL où de l'importer.

2.6.3 Compare with Control

La fonctionnalité Compare with Control permet de comparer une liste de mots dans un document avec un corpus. On recherche soit tous les mots, soit tous les mots sauf certains spécifiés dans une stop list prédéfinie. Il est possible de spécifier le document par une URL où de l'importer. Il est possible d'importer un corpus ou d'utiliser celui qui est proposé (brown corpus).

2.6.4 Get TEI Meta Data

La fonctionnalité Get TEI Meta Data Permet d'extraire les métadonnées d'un document. Il est possible de spécifier le document par une URL où de l'importer.

2.6.5 HTML Text Extractor

La fonctionnalité HTML Text Extractor permet d'extraire des parties d'un document HTML contenues dans une balise avec un attribut ayant une valeur particulière tout en gardant sa mise en forme du document original. En somme, cela permet d'afficher une partie de la page et de rendre le reste invisible. Il est possible de spécifier le document par une URL où de l'importer.

2.6.6 Keywords Finder

La fonctionnalité Keywords Finder permet d'extraire les mots clés d'un document. Il est possible de spécifier le document par une URL où de l'importer.

10/11/2014: Cette fonctionnalité ne semble pas fonctionner.

2.6.7 List Word Pairs

La fonctionnalité List Word Pairs permet de compter la fréquence de pairs de mots apparaissant dans un document (donc deux mots à la suite). Il est possible de spécifier le document par une URL où de l'importer.

2.6.8 Principal Components Analysis

La fonctionnalité Principal Components Analysis permet de générer les relations entre les mots les plus fréquents. Il est possible de spécifier le document par une URL où de l'importer.

2.6.9 Tool Bar

La fonctionnalité Tool Bar nous permet de faire des tests de quelques fonctionnalités déjà énoncées avec une barre d'outil.

2.6.10 Word Brush

La fonctionnalité Word Brush permet de peindre avec les mots extraits d'un document HTML. Il est uniquement possible de spécifier le document par une URL.

2.6.11 Web Page Cleaner

La fonctionnalité Web Page Cleaner permet d'enlever toutes les balises d'un document HTML ou de convertir tout le document HTML en texte brut. Il est possible de spécifier le document par une URL où de l'importer.

2.6.12 Word Cloud

La fonctionnalité Word Cloud permet de faire un Word Cloud avec les mots les plus fréquents d'un document. Il est possible de spécifier le document par une URL où de l'importer.

3 Tutoriel

3.1 Introduction

Pour vous montrer plus en détail les fonctionnalités Taporware et voir ce qu'on peut tirer des résultats obtenus par les différentes analyses je vais faire quelques analyses du livre Candide écrit par Voltaire. Ce livre est disponible gratuitement ici. Le site lirenligne.net regroupe des œuvres littéraires libres de droits. Cette analyse sera effectuée en parallèle avec Arnaud qui lui utilisera l'outil Voyant Tools. Voyant Tools permet également de faire des analyses de textes sur des documents. Cependant celui-ci permet également d'analyser des documents au formats PDF et DOC contrairement à Taporware. Il permet de faire des fonctionnalités à peu près similaires mais avec des affichages un peu différents. Nous montrerons ici ce qu'il est possible de faire avec Taporware.

3.2 Phase de préparation

3.2.1 Utilisation d'un document PDF

Malgré la flexibilité de Taporware il sera plus difficile de faire des analyses si les documents ne sont pas structurés de la façon dans laquelle nous voulons analyser les documents. Par conséquent dans bien des cas il faudra commencer par préparer les données que nous voulons analyser avant même de pouvoir commencer les analyses. Comme dit précédemment, un des désavantages de Taporware est qu'il ne permet pas d'analyser des documents au format PDF ou DOC. Les livres en ligne seront dans la plus part des cas au format PDF et ceci constituera une première barrière pour pouvoir analyser notre contenu car les copier-coller ne fonctionnent pas toujours très bien avec les documents au format PDF. Il nous faudra donc convertir le document. Nitro est un service qui permet à ce titre de convertir des documents PDF en WORD (DOCX) gratuitement à l'adresse suivante: https://www.pdftoword.com/fr/. Cinq conversions sont possibles pour une même adresse e-mail sans ouvrir de compte.

3.2.2 Correction des erreurs de conversion

Cependant notre outils ne permet pas l'analyse de documents WORD. De plus l'utilisation de cet outil de conversion n'est pas magique est quelques erreurs peuvent subsister. Il se peut par exemple qu'il y ait des espaces en trop qui s'ajoutent entre les mots ou des caractères encodés étrangement comme les traits d'union. Ceci peut poser des problèmes pour les analyses. Il faudra donc commencer par corriger ces soucis. Nous allons d'abord régler le soucis des espaces. Il serait très fastidieux d'aller chercher tous les doubles espaces dans un document et de les remplacer par un espace manuellement. Néanmoins Word a une fonction Rechercher/Remplacer qui va nous permettre de corriger cela très rapidement. Commencez par ouvrir votre document généré avec Word. Ensuite chercher la fonction "Rechercher" ou appuyez sur "ctrl+h". Allez à l'onglet "Remplacer" puis dans rechercher mettez deux espaces " " et dans "Remplacer par" un seul espace " " puis cliquez dans "Remplacer tout".

Garretv0 stic3 0.1.png

Tous les doubles espaces seront donc remplacés par un seul. Cependant cela ne résout pas encore le problème entièrement car il se peut que plus de deux espaces aient été insérés entre les mots. Il vous faudra donc répéter cette opérations jusqu'au moment où on nous dira que 0 remplacements ont été effectués. Faites ensuite attention aux traits d'union car il se peut que le document les ait converti par un "−" à la place d'un "-" ce qui pourrait créer des problèmes par la suite. Je conseille donc de remplacer les "−" par des "-" de la même façon que pour enlever les doubles espaces.

3.2.3 Création du document en TXT

Une fois ces problèmes réglés il faudra donc convertir ce document dans un format accepté par Taporware (html, xml, txt). A partir d'un document WORD il est possible de convertir le fichier en format "txt". Il suffit d'enregistrer le document en format "texte brut". A ce stade nous auront un document pour pouvoir commencer à faire quelques analyses. Cependant avec le format "txt" nous seront obligés d'analyser tout le document à la fois et nous ne pourrons pas analyser certaines parties en particulier de notre document . Si nous convertissons notre document au format "html" nous pourrons faire des analyses par balises. Nous pourrions par exemple imaginer de faire des analyses sur uniquement les titres des chapitres. Cependant, pour le format html, Taporware ne nous laisse pas analyser des balises en particulier appartenant à la même famille de balises. Nous ne pourrions donc par exemple pas analyser uniquement le contenu du chapitre 1. En XML Taporware nous donne plus de flexibilité et nous permet de faire des analyses grâce aux attributs comme l'id ou la class. Il serait donc possible d'analyser uniquement le chapitre 1 en XML. Cependant comme l'outil comporte encore quelques bugs parfois des analyses avec les documents XML ne fonctionnent pas mais fonctionnent avec le HTML. Il sera alors tout de même important d'avoir notre document aux deux formats.

3.2.4 Création du document en HTML

Pour convertir votre document au format html il vous faudra donc placer votre texte dans un document html. Je vous conseille d'utiliser des balises différentes pour les différentes parties de votre document. Par exemple: h1: Le titre du livre, h2: Le nom de l'auteur, h3: numéro du chapitre, h4: nom du chapitre, p: contenu du chapitre, Pour un rappel de la structure d'un document html5: HTML5

3.2.5 Création du document en XML

Pour convertir votre document au format XML cela va demander plus d'effort car il vous faudra créer une DTD. Une DTD nous permet grossièrement de créer des balises et de spécifier comment elles doivent être utilisées. Vous pouvez soit regarder un peu cette page: DTD ou soit regarder cette DTD simple que j'ai crée afin de comprendre son fonctionnement:

<?xml version="1.0" encoding="UTF-8" ?>

<!--
   DTD simple faite par Victor Garretas pour un travail dans le cadre du cours STIC 3
                           -->

<!-- ****************************** Livre ************************** -->
<!-- La balise livre contient obligatoirement une balise titre_livre, une balise auteur et 0, une ou plusieurs balises chapitre -->
<!ELEMENT livre ( titre_livre,
					auteur,
					(chapitre)*)>
					
<!-- ****************************** Informations générales ************************** -->
<!-- les deux lignes en dessous nous disent que les balises titre_livre et auteur ne contiennent que du texte -->
<!ELEMENT titre_livre     (#PCDATA)>
<!ELEMENT auteur     (#PCDATA)>			
			   
<!-- ****************************** Chapitres ************************** -->
<!-- Chaque balise chapitre contiendra obligatoirement une balise numero, une balise titre et une balise contenu -->
<!ELEMENT chapitre ( numero, 
					titre, 
					contenu )>

<!-- Les baslises numero et titre contiennent que du texte. La balise contenu peut contenir 0, une fois ou plusieurs fois du texte ou une balise <p></p> -->					
<!ELEMENT numero     (#PCDATA)>	
<!ELEMENT titre     (#PCDATA)>
<!ELEMENT contenu     (#PCDATA | p)*>

<!-- ****************************** balise commune ************************** -->
<!-- La balise p ne contient que du texte -->
<!ELEMENT p (#PCDATA)>

Une fois votre DTD créée il vous faudra créer votre document XML associé. En suivant cette DTD, le document XML associé aura la structure suivante:

<livre>
	<titre_livre></titre_livre>
	<auteur></auteur>
	<chapitre>
		<numero></numero>
		<titre></titre>
		<contenu>
			
		</contenu>
	</chapitre>
...
</livre>

Nous pourrons maintenant différencier les parties du texte à notre mesure en ajoutant des attributs id ou class selon les analyses que nous voudrons faire. Pour ma part j'ai voulu différencier chaque chapitre, numéro de chapitre, chaque titre de chapitre et contenu des chapitres des autres. Donc j'ai rajouté un identifiant pour chaque balise:

<livre>
	<titre_livre></titre_livre>
	<auteur></auteur>
	<chapitre id="chapitre_1">
		<numero id="chapitre_numero_1"></numero>
		<titre id="titre_chapitre_1"> </titre>
		<contenu id="contenu_chapitre_1">
			
		</contenu>
	</chapitre>
	
	<chapitre id="chapitre_2">
		<numero id="chapitre_numero_2"></numero>
		<titre id="titre_chapitre_2"></titre>
		<contenu id="contenu_chapitre_2">
			
		</contenu>
	</chapitre>
...
</livre>

Il vous faudra bien entendu mettre ensuite le contenu entre les balises:

<livre>
	<titre_livre>Candide</titre_livre>
	<auteur>Voltaire</auteur>
	<chapitre id="chapitre_1">
		<numero id="chapitre_numero_1">CHAPITRE PREMIER</numero>
		<titre id="titre_chapitre_1">
                COMMENT CANDIDE FUT ÉLEVÉ DANS UN BEAU CHÂTEAU, ET COMMENT IL FUT CHASSÉ D'ICELUI
                </titre>
		<contenu id="contenu_chapitre_1">
                Il y avait en Westphalie, dans le château de M. le baron de Thunder-ten-tronckh, un jeune garçon à qui la 
                nature avait donné les moeurs les plus douces. Sa physionomie annonçait son âme. Il avait le jugement assez 
                droit, avec l'esprit le plus simple ; c'est, je crois, pour cette raison qu'on le nommait Candide. Les anciens 
                domestiques de la maison soupçonnaient qu'il était fils de la soeur de monsieur le baron et d'un bon et 
                honnête gentilhomme du voisinage, que cette demoiselle ne voulut jamais épouser parce qu'il n'avait pu prouver 
                que soixante et onze quartiers, et que le reste de son arbre généalogique avait été perdu par l'injure du 
                temps.
		...
		</contenu>
	</chapitre>
...
</livre>

Si dans votre navigateur le contenu s'affiche en un seul bloc sans espace ce n'est pas grave. Vous pourrez modifier l'affichage en utilisant un fichier XSL mais l'essentiel est d'avoir scindé notre texte avec des balises, des identifiants et des classes.

3.2.6 StopList

Un autre point important dans la phase de préparation est de préparer une stoplist qui contiendra les mots que nous ne voudrons pas utiliser pour nos analyses. En effet il n'est pas très intéressant de regarder quel est le mot le plus cité et de voir qu'il s'agit de "le" ou "la". La stoplist nous permet d'enlever ce genre de mots. Un point faible de Taporware est qu'il ne nous propose uniquement une stoplist en anglais donc cette stop liste ne bloquera pas les mots fréquents français. Il faudra donc en créer une. Pour que Taporware reconnaisse les mots de la stoplist il faut que ceux-ci soient contenu dans un fichier TXT et que tous les mots soient à la suite (sans retour à la ligne) séparés par une virgule entre chaque mot. Nous utiliserons la stoplist française proposée par Voyant Tools. A noter que dans cette stoplist les mots sont tous mis à la ligne et ne sont pas séparés par des virgules. Il faudra donc mettre en forme la stoplist pour que celle-ci soit acceptée par Taporware. Cette stopList peut être complétée selon les besoins de la personne qui analyse le document. De plus cet outil semble avoir beaucoup de difficultés à repérer les caractères accentués... Il semblerait donc que ces caractères ne soient pas reconnus... La liste est disponible ici: http://tecfaetu.unige.ch/etu-maltt/utopia/garretv0/stic-3/periode_2/stoplist/

3.3 Phase d'analyse

Une fois toutes ces préparations faites nous allons pouvoir commencer les analyses du texte grâce aux différents outils proposés par Taporware. Nous privilégierons les analyses avec le livre au format XML. Tous les fichiers qui seront utilisés sont disponibles à l'adresse suivante: http://tecfaetu.unige.ch/etu-maltt/utopia/garretv0/stic-3/periode_2

3.3.1 List XML Elements and Attributes

Grâce à la fonctionnalité List XML Elements and Attributes nous pourrons déterminer plusieurs choses concernant notre texte. Nous pouvons par exemple lister les différentes balises qui apparaissent dans notre document, le nombre de fois qu'elles apparaissent et le nombre moyen de mots qu'elles contiennent:

Garretv0 stic3 1.1.png

En regardant les résultats affichés nous voyons donc toutes les balises que mon document XML contient et leur fréquence. On peut donc déjà voir que l'histoire de Candide contient 30 chapitres composés en moyenne de 1'336.6 mots (je ne compte pas le numéro et le titre de chapitre). On peut aussi voir que l'histoire contient au total 40'626 mots.

Garretv0 stic3 1.2.png

On peut également demander à Taporware de nous montrer pour chaque balise si elle possède des attributs et le nombre de mots que chaque balise contient.

Garretv0 stic3 1.3.png

Nous pouvons ainsi voir que chaque balise chapitre, numero, titre et contenu ont un attribut "id" et voir le nombre de mots contenus par balise. Nous avons donc la possibilité de connaitre le nombre de mots par chapitre et non un nombre de mots moyens comme vu précédemment. Nous pouvons donc voir que le premier chapitre est composé de 1'012 mots.

Garretv0 stic3 1.4.png

Nous pouvons obtenir la valeur pour chaque attribut apparaissant dans notre document.

Garretv0 stic3 1.5.png
Garretv0 stic3 1.6.png

Nous avons ensuite la possibilité de pouvoir savoir quels sont les éléments qui ont un attribut en particulier.

Garretv0 stic3 1.7.png

On peut voir que toutes les balises chapitre, numero, titre et contenu ont un attribut "id" et que les balises livre, titre_livre, auteur et p n'ont pas d'attribut.

Garretv0 stic3 1.8.png

3.3.2 Extract Text from XML Document

Cette fonctionnalité va nous permettre d'extraire des parties du document grâce aux différentes balises. On pourra même demander une extraction en spécifiant la valeur d'un attribut d'où l'importance à mettre des identifiants partout dans le document lors de la phase de préparation. Ceci va nous permettre de pouvoir extraire une partie en particulier du texte. Nous allons commencer par demander à Taporware de nous extraire tous les titres des chapitres. Comme nous avons bien préparé notre document XML nous savons donc que les titres de chapitres sont contenus dans les balises "titre". Il nous suffira de mettre "titre" après les "//" dans le champs "Elements".

Garretv0 stic3 2.1.png

Nous obtenons ainsi la liste des chapitres du livre Candide:

Garretv0 stic3 2.2.png

Nous pouvons également demander à Taporware de nous extraire uniquement le contenu du chapitre 1. Comme nous avons mis des identifiants partout il suffit de lui spécifier la balise contenu et son identifiant "contenu_chapitre_1".

Garretv0 stic3 2.3.png

Nous obtenons ainsi uniquement le contenu du chapitre 1 de Candide.

Garretv0 stic3 2.4.png


3.3.3 List Words

Pour une raison inconnue cette fonctionnalité ne fonctionne pas avec mon document XML mais fonctionne avec le document donné en exemple. Nous allons donc utiliser le document HTML créé pour cette fonctionnalité. Nous allons donc voir quels sont les mots les plus fréquents dans notre livre.

Garretv0 stic3 3.1.png

Si nous choisissons de faire l'analyse en prenant en compte tous les mots de notre texte nous obtenons le résultats suivant:

Garretv0 stic3 3.2.png

Ces résultats ne sont pas très intéressants pour nos analyses. Il est alors bien d'avoir fait une stoplist lors de notre phase préparatoire afin d'enlever ce genre de mots. Il nous suffira donc d'importer notre stoplist et de refaire l'analyse. Nous allons également augmenter le nombre mots où il nous montrera la distribution. Nous allons le faire pour les 10 mots les plus fréquents dans le livre:

Garretv0 stic3 3.3.png

Nous obtenons donc une liste de mots les plus fréquents bien plus intéressante. En fait ce sont surtout les personnages principaux de l'histoire qui ressortent. Sans surprises il s'agit du mot "Candide" qui apparait en première place étant donné qu'il s'agit du personnage principal de l'histoire. Puis nous avons pas très loin le nom des personnages principaux comme "Cunégonde", "Martin", "Pangloss" et "Cacambo". Une autre chose intéressante à remarquer dans cette analyse est la distribution des mots. En effet cette distribution nous montre où dans le texte les mots sont cités et en regardant attentivement on peut remarquer certaines choses comme le fait que le personnage "Cacambo" n'apparait pas au début de l'histoire mais qu'il sera présenté vers le milieu de l'histoire. On peut aussi remarquer que "Pangloss" sera présent au début et à la fin de l'histoire mais qu'au milieu de celle-ci sera moins présent. Veuillez remarquer que cet outil semble mal gérer les caractères accentués.

Garretv0 stic3 3.4.png

Nous aurions aussi pu préciser les mots que nous souhaitions ne pas afficher dans le champs "Word list typed in". Il est également possible de rechercher des mots particulier en cochant l'option "Words in the list below". Nous pourrions rechercher ainsi les mots de notre stoplist ou des mots en particulier. Nous pouvons par exemple choisir de rechercher uniquement "Candide", "Cunégonde", "Martin", "Pangloss" et "Cacambo" pour avoir une meilleure présentation et comparaison des personnages. Il faut noter que le problème des accents persiste et qu'il faudra donc remplacer les caractères accentués ("é" par "é", "è" par "è", "ê" par "ê", "à" par "Ã", "ô" par " ô" etc). Nous devrons donc écrire Cunégonde et non Cunégonde.

Garretv0 stic3 3.5.png
Garretv0 stic3 3.6.png


3.3.4 Concordance

Pour cette fonctionnalité nous réutilisons notre document au format XML. Pour une raison inconnue il n'est pas possible de faire des analyses avec des caractères accentués. Avec cette fonctionnalité nous pouvons mettre un mot en contexte. Nous pouvons par exemple choisir de mettre le mot "Candide" en contexte dans le premier chapitre et afficher 10 mots avant et après le mot "Candide" afin de voir grossièrement ce qu'il fait dans le premier chapitre.

Garretv0 stic3 4.1.png

Nous voyons donc que dans ce premier chapitre il sera donné une explication concernant le nom de "Candide", qu'il écoute les cours de Pangloss, qu'il semble ressentir une attirance pour une certaine Mlle Cunégonde et que Candide est chassé du château.

Garretv0 stic3 4.2.png


3.3.5 Co-occurence

On va se servir de la fonctionnalité co-occurence afin de voir si "Candide" apparait souvent près du mot "Pangloss" et de voir le contexte de ces apparitions. Il faudra préciser jusqu'à quelle "distance" nous effectuerons l'analyse c'est-à-dire combien de mots/phrases peuvent séparer nos deux termes recherchés. Cela nous permettra de voir les interactions entre ces deux personnages. Nous allons restreindre la recherche au premier chapitre du livre.

Garretv0 stic3 5.1.png

Nous pouvons donc voir que dans ce premier chapitre Pangloss et Candide interagissent à un moment lorsque Candide écoute les leçons de Pangloss.

Garretv0 stic3 5.2.png


3.3.6 Collocation

Cette fonctionnalité va nous permettre de lister tous les mots qui sont autour d'un autre. Nous allons donc par exemple voir avec quels mot un personnage est souvent associé. Nous ferons cette analyse dans tout le document. Nous rechercherons tous les mots associés à "Pangloss" se trouvant au maximum à une distance de 5 mots.

Garretv0 stic3 6.1.png

Malheureusement la fonctionnalité de collocation ne nous laisse pas le choix d'importer notre stoplist. Nous ne pouvons qu'utiliser la stoplist anglaise proposée. Il faudra donc faire le tris dans les résultats obtenus car il ne seront pas filtrés. En voyant nos résultats on peut voir que Pangloss est souvent associé à Candide et Martin. On pourra donc en déduire que Pangloss interagira ou se trouvera souvent avec Candide et Martin. Ensuite nous voyons que Pangloss est souvent associé avec les mots "Docteur", "Maître" et "Philosophe". Il se trouve que ces termes définissent bel et bien le personnage Pangloss.

Garretv0 stic3 6.2.png


3.3.7 Tokenize

Cette fonctionnalité va nous permettre de séparer notre document par "token". Ces token peuvent être des mots, des phrases ou autre. Cette fonctionnalité peut être utile si nous voulons par exemple mettre en évidence un personnage dans le texte. Il faudra dans ce cas choisir l'option "keep separator as token" dans les options d'affichage pour que le "token" ne soit pas supprimé du texte.

Garretv0 stic3 7.1.png

Nous avons donc tout notre texte qui est séparé à chaque fois que le mot "Pangloss" apparait.

Garretv0 stic3 7.2.png


3.3.8 Distribution

Dans la fonctionnalité List Words nous avions pu voir un peu la distribution des personnages et nous avions vu que le Personnage Cacambo apparaissait vers le milieu de l'histoire. Grâce à la fonctionnalité Distribution nous pourrons voir plus précisément quand ce personnage apparait et le nombre de fois que son nom est présent.

Garretv0 stic3 8.1.png

Nous pouvons donc voir que Cacambo apparait dans l'histoire au quatorzième chapitre et qu'il sera ensuite présent jusqu'à la fin de l'histoire sauf dans les chapitres 20, 21 et 28. Cela ne veut pas dire que Cacambo ne fait plus partie de l'histoire mais qu'il est en tout cas moins présent vers ces chapitres de l'histoire.

Garretv0 stic3 8.2.png


3.3.9 Fixed Frase

Cette fonctionnalité nous permet de voir si un mot se trouve souvent accompagné d'une formulation précise de mots. Dans notre cas nous choisirons le mot "grand".

Garretv0 stic3 9.1.png

Nous obtenons ainsi les formulations avec lesquelles le mot "grand" est accompagné dans le texte suivit par un nombre indiquant le nombre d'occurrences de cette formulation dans notre document. Nous avons encore des problèmes d'affichages avec les caractères accentués.

Garretv0 stic3 9.2.png


3.3.10 Date Finder

Cette fonctionnalité est très utile pour savoir quand est-ce que se déroule notre histoire. En effet la fonctionnalité Date Finder est capable de nous détecter des dates dans notre document, des noms de mois, de jours de la semaine et des saisons. Malheureusement il n'est capable de détecter ce genre de choses uniquement avec des noms anglais. Donc il nous détectera que les années si nous utilisons cette fonction.

Garretv0 stic3 10.1.png
Garretv0 stic3 10.2.png

Cependant je trouve que cette fonctionnalité intéressante donc je vais vous montrer comment contourner ce problème. Pour obtenir ces résultats il nous suffira de créer une stoplist contenant les noms des mois, jours de la semaine et des saisons en français. Ensuite il suffira de faire une recherche avec ces mots et non sans ces mots grâce à la fonctionnalité list words.

Garretv0 stic3 10.3.png

Nous obtenons ensuite les mots apparaissant dans le document. Il ne nous suffira plus que d'utiliser d'autre fonctionnalités comme "tokenize" ou "concordance" afin de situer ces dates dans le texte.

Garretv0 stic3 10.4.png


3.3.11 Summarizer

La fonctionnalité "Summarizer" fait un "résumé" du texte en utilisant plusieurs autres fonctionnalités déjà expliqués. Elle offre, entre autres, la possibilité de lister les frases contenant X fois un mot fréquent. Nous pouvons par exemple demander qu'elle nous liste les phrases contenant 5 fois un des mots les plus fréquents.

Garretv0 stic3 11.1.png
Garretv0 stic3 11.2.png


3.3.12 Comparator

La fonctionnalité "comparator" nous permet de comparer deux textes. Dans notre cas nous allons comparer le premier et le deuxième chapitre. Cependant pour exécuter cette fonctionnalité il nous faut deux documents différents. Nous allons donc recréer deux documents XML pour contenir le chapitre 1 et 2. Pour une raison inconnue l'outil ne me détecte pas mon deuxième document si celui-ci ne provient pas d'une URL. Mon deuxième chapitre sera donc spécifié à partir de l'URL.

Garretv0 stic3 12.1.png

Nous obtiendrons donc un tableau comparatif nous spécifiant plusieurs choses comme le nombre total de mots dans chaque document. Ensuite trois tableaux seront générés. Le premier contiendra tous les mots présents dans les deux documents (chapitres dans notre cas) puis un tableau contenant uniquement les mots présents dans le premier texte puis le dernier tableau avec les mots uniquement présents dans le deuxième texte.

Garretv0 stic3 12.2.png
Garretv0 stic3 12.3.png
Garretv0 stic3 12.4.png
Garretv0 stic3 12.5.png


3.3.13 Transform XML to HTML

Cette fonctionnalité peut être intéressante si on a un document XML que l'on souhaiterait convertir au format HTML. Dans mon cas j'avais déjà crée un fichier XSL donc la conversion se passe sans problèmes. Il suffit donc de spécifier le fichier XSL et Taporware nous générera le HTML. Cependant il ne nous donne pas d'option pour importer le document au format HTML. Il faudra donc cliquer sur fichier enregistrer sous dans notre navigateur pour sauvegarder la version HTML généré.

Garretv0 stic3 13.1.png

Nous pourrons ainsi obtenir la version HTML générée avec quelques styles ajoutés en plus comme la couleur des titres et des chapitres.

Garretv0 stic3 13.2.png


3.3.14 Aggregator

Cette fonctionnalité peut être intéressante si on a différents textes avec des formats différents que l'on voudrait combiner. Il y a tout de même deux contraintes principales: Les textes à combiner ne peuvent qu'être aux formats supportés par Taporware (XML, HTML et TXT) et un seul texte peut être importé en local. Par conséquent si vous prévoyez de combiner beaucoup de texte je vous conseille de les téléverser sur un serveur pour pouvoir spécifier leur URL. Dans mon exemple je combine le premier et deuxième chapitre au format XML avec le troisième chapitre au format TXT. Pour une meilleure visibilité je conseille de choisir l'option d'enlever les balises (tag) des documents.

Garretv0 stic3 14.1.png

Nous obtenons ainsi nos trois chapitres combinés.

Garretv0 stic3 14.2.png


3.3.15 Raw Grep

La fonctionnalité Raw Grep nous permet de rechercher dans un documents tous les mots contenant une suite de mots. Dans notre exemple nous allons mettre "dire" et nous verrons quels mots ainsi que leur mise en contexte contiennent le mot "dire".

Garretv0 stic3 15.1.png

Nous voyons donc que le mot dire apparait 38 soit en simple soit combiné dans d'autres mots comme "répondirent", "entendirent", "défendirent", "rendirent", "c'est-à-dire" et "médire".

Garretv0 stic3 15.2.png


3.3.16 Word Cloud

La fonctionnalité Word Cloud nous permet de générer un Word Cloud à partir des mots les plus fréquents d'un document. Cependant il ne nous laisse pas le choix d'importer une stoplist. Nous ne pouvons que choisir une stoplist anglaise prédéfinie. Par conséquent avec notre texte en français nous n'obtiendrons pas un très bon résultat.

Garretv0 stic3 16.1.png

Nous obtenons un Word Cloud. Nous pouvons voir la fréquence d'apparition du mot dans le texte en posant la souris sur le mot. On peut voir que le mot Cacambo apparait 85 fois dans le texte. Cependant nous obtenons pleins de mots pas très intéressants dans notre Word Cloud car nous ne pouvons pas spécifier de stoplist. Si vous désirez réellement faire un bon Word Cloud et pouvoir appliquer une stoplist je vous conseille d'utiliser la fonctionnalité Cirrus de Voyant Tools qui permettra, à mon avis, un affichage plus clair des mots les plus fréquents.


Garretv0 stic3 16.2.png


3.3.17 Extract_Text (HTML)

Cette fonctionnalité permet d'extraire du texte comme nous l'avons fait pour le XML seulement que cette fois nous le faisons à partir d'un document HTML. Les fonctionnalités de Taporware propres au HTML ne permettent pas d'extraire des contenus précis en spécifiant un attribut et sa valeur. Elle ne permettaient que de spécifier une balise. Or cette fonctionnalité parmi les outils béta nous offre cette possibilité avec les documents HTML. Il devient alors utile de mettre des attributs "id" dans les balises de notre documents HTML. Nous choisissons ici notre document mais en version HTML.

Garretv0 stic3 17.1.png

Nous allons donc uniquement extraire le premier chapitre de notre document HTML. Celui-ci est extrait et remis en forme par notre outil.

Garretv0 stic3 17.2.png


3.3.18 CAPs Finder

La fonctionnalité CAPs Finder nous permet de lister les mots ayant des caractères en majuscule. Pour une raison inconnue si on importe un document cela ne fonctionne pas. Il faut donc obligatoirement lui spécifier une URL. De plus cet outil semble avoir des difficultés lorsque des mots contiennent des caractères accentués.

Garretv0 stic3 18.1.png

J'ai ici spécifié le document contenant uniquement le chapitre 1. Nous voyons donc les mots contenant des caractères en majuscule dans le premier chapitre. Cette fonctionnalité peut être intéressante pour retrouver des noms de personnages mais également de lieux. Ceci nous permet donc de situer le chapitre physiquement. En voyant le résultat obtenu nous voyons que "Westphalie" apparait. Nous ne pouvons pas affirmer que le chapitre se déroule en Westphalie mais en tout cas qu'il en est fait mention. Dans notre cas le premier chapitre se déroule vraiment en Westphalie.

Garretv0 stic3 18.2.png


3.3.19 Web Page Cleaner

Cette fonctionnalité permet de nettoyer un document HTML en lui enlevant toutes ces balises. Nous allons lui spécifier notre document au format HTML.

Garretv0 stic3 19.1.png

Nous obtenons donc notre document au format brut sans aucune balise.

Garretv0 stic3 19.2.png


4 Remarques

Il est possible d'insérer une barre d'outil Taporware dans nos site pour ainsi pouvoir utiliser les fonctionnalités principales de cet outil sur nos sites. Il nous est indiqué comment insérer cette barre d'outil sur ce lien: http://taporware.ualberta.ca/~taporware/addTool.shtml

Il est possible que certaines fonctionnalités ne fonctionnent pas si notre navigateur bloque les fenêtres pop-up. Les applet Java peuvent ne pas fonctionner dépendamment de notre version de Java.

Analyser des pages provenant du Wiki ne fonctionne pas en lui donnant l'URL. Il faut enregistrer la page sur notre ordinateur puis choisir l'option pour importer le document pour que cela fonctionne.

Si vous voulez exploiter tout le potentiel de l'outil comme sélectionner des parties particulières de votre corpus il est conseillé d'utiliser le format XML car Taporware laisse la possibilité de choisir des balises avec une valeur d'un identifiant (ou autre attribut) particulière.

Comme pour l'outil Voyant Tools, cet outil compote quelques bugs et peut parfois ne pas fonctionner pour des raisons inconnues.