pluriTAL – BLOG Master pluriTAL [ParisX, ParisIII, INALCO]

BaO2: Treetagger – limité à 1000 mots !

Posted in Boîte à Outils, pluriTAL by pluritaluser on 23 mars 2009

Bonjour,

Tout d’abord j’ai joint mes deux fichiers de fils RSS en un seul: livres-culture.txt, cygwin a dit:

ERROR: Not enough memory
aborted.

Ensuite j’ai modifié mon programme parcours-arborescence et je les ai disjoint en livres.txt ( 5043 mots d’après Treetagger en ligne) et culture.txt (6535 mots d’après Treetagger en ligne), mais cygwin continue de donner le même message d’erreur pour Treetagger (idem en ligne). Alors que quand il n’y avait pas de saut à la ligne, cela fonctionnait, mais je pense que quand il n’y a jamais de saut à la ligne sûrement le texte doit être tronqué par notepad++ sans preuves.

Alors que pour le petit corpus de janvier, cela fonctionnait. Et j’ai refait des tests avec Notepad++, conclusion il y a un bug quand on veut visualiser une ligne de plus de 65535 caractères environ sans aucun retour charriot, les espaces sont comptés, dans le cas de l’assemblage manuel livres.txt + culture.txt, on voit apparaître des lettres superposés, dans le cas de l’assemblage mécanique le texte est tronqué à 79% mais dans le cas de l’assemblage manuel, presque tout le texte est là sauf  5%. Mais avec le retour charriot tout semble marcher sauf que je n’ai pas réussi à trouver une manière de le contrôler car les phrases de culture et livres se mélangent (ou alors tout est faux) au lieu que les deux parties se suivent.

Donc il vaut mieux avoir deux output livres.txt et culture.txt et des retours charriots si on veut être sûr de la réponse de notepad car les corpus sont trop gros même s’ils sont plus petits qu’un long devoir (texte+culture en mode LF =22 pages).

(Calculs tirés de la partie inférieur de Notepad++ où les colonnes indiquent le numéro du caractère où on est et où on a la somme des caractères qu’il a pu compter:

Sans retour charriot:

culture.txt + livres.txt sans retour charriot (collage manuel): 68982 cractères reconnus mais 65535 cararctères visualisables + symbole d’erreur (lettres superposées).
livres-culture.txt sans retour charriot: 69626 caractères reconnus, pas de symbole d’erreur, mais que 15039 caractères visualisés.
culture.txt sans retour charriot: 38870 caractères y compris l’espace reconnus, un caractère en plus visualisé.
livres.txt sans retour charriot:30232 caractères y compris l’espace reconnus, un caractère en plus visualisé.

Avec retour charriot:


livres-culture.txt avec retour charriot: 70326 caractères reconnus, les caractères en plus sont dus à l’espace et aux sauts de ligne.
culture.txt: 39663 caractères reconnus, les caractères en plus sont dus à l’espace et aux sauts de ligne.
livres.txt: 30678 caractères reconnus, les caractères en plus sont dus à l’espace et aux sauts de ligne.

Donc on a bien la somme des deux. Mais on ne peut pas vérifier que les deux parties sont entières car il y a des mélanges phrastiques.)

Et donc comment faire pour couper le texte en tranches de nombre de lignes qui contiennent moins de 1000mots en Perl ?

Je vais recopier votre cours, regarder de nouveau vos slides sur perl et réfléchir à comment faire ce programme et après je vous re-questionnerais, mais si quelqu’un à une idée, merci de nous la faire parvenir !

Françoise Del Socorro

————————————————————————–

Je remets en question ma théorie selon laquelle le TreeTagger téléchargé est limité à 1000mots comme le TreeTagger en ligne ainsi que la théorie de Nassim selon laquelle le TreeTagger ne fonctionne pas sous Windows Vista. Je pense que comme le programme nécessite qu’on configure des variables d’environnement pour qu’il fonctionne (et je ne sais pas ce que c’est) et que je n’ai fait que copier-coller le programme alors c’est normal qu’il ne fonctionne pas. Donc j’ai besoin de votre aide pour finir l’installation.

Réinstallation de TreeTagger sous Windows Vista Basic

Install.txt

OK (ActivPerl 5.10, sa version gratuite vient avec le ppm, pour avoir son Icône cliquez sur ouvrir avec.) 1. Install a Perl interpreter (if you have not already installed one).

You can download Perl for free at

http://www.perl.com/pub/language/info/software.html

OK (C:\TreeTagger) 2. Move the TreeTagger directory to the root directory of drive C:.

OK (avec 7-Zip, on n’a plus besoin de renommer les fichiers qui étaient zippés sous linux.) 3. Download the PC parameter files for the languages you need, decompress

them (e.g. using Winzip) and move them to the subdirectory lib.

Rename the parameter files to <language>.par

Example: Rename french-par-linux-3.1.bin to french.par

OK (Panneau de configuration > Système > Paramètre système avancé > Variables d’environnement – autoexec.bat n’existe plus au-delà de Windows 98, mais c’est plus facile.) 4. Add the following line to autoexec.bat (Windows 95/98) set PATH=C:\TreeTagger\bin;%PATH% or change the corresponding system settings (Windows NT).

5. Open a shell and type the command

set PATH=C:\TreeTagger\bin;%PATH%

6. Change to the directory C:\TreeTagger

7. Now you can test the tagger, e.g. by analyzing this file with the command

tag-english INSTALL.txt

Sur l’invite de commandes il ne se passe rien ni sur cygwin:

*Invite de commandes j’ai tapé

C:\Users\fran>PATH=C:\TreeTagger\bin;%PATH% et il est revenu à la ligne mais quand

C:\Users\fran>cd C:\TreeTagger\

C:\TreeTagger>tag-english INSTALL.txt

‘perl’ n’est pas reconnu en tant que commande interne

ou externe, un programme exécutable ou un fichier de commandes.

*Cygwin j’ai tapé

fran@Charmmy-Kitty ~

$ PATH=C:\TreeTagger\bin;%PATH%

bash: fg: %PATH%: no such job

fran@Charmmy-Kitty ~

$ cd /cygdrive/C/TreeTagger

fran@Charmmy-Kitty /cygdrive/C/TreeTagger

$ tag-english INSTALL.txt

bash: tag-english: command not found

Donc comment finaliser l’installation de TreeTagger ?

Françoise Del Socorro

—————————————————————————–

Françoise

Pour travailler avec treetagger sous windows, on peut faire simple (comme on le fait en cours).

1. Vous récupérez treetagger pour windows sur la page du cours

(http://www.cavi.univ-paris3.fr/ilpga/ilpga/tal/cours/BAO-master/treetagger-win32.zip)

2. Vous dézippez cette archive. Treetagger est disponible dans une sous-arborescence de cette archive avec plusieurs sous-dossiers (bin, cmd…). Mettez l’arborescence « pas trop loin » de votre répertoire de travail pour les BàO puis lancer les commandes pour l’étiquetage (tokenisation, étiquetage, normalisation XML cf mode d’emploi disponible dans l’archive) en adaptant avec des chemins relatifs correspondants à votre organisation locale sur votre disque.

Si c’est pas clair, on regarde mercredi.

SF

Pour Françoise

Posted in Boîte à Outils, Master TAL Recherche, pluriTAL, Projet 2008-2009 by pluritaluser on 15 mars 2009

#/usr/bin/perl

my $rep= »$ARGV[0] »;

$rep=~ s/[\/]$//;

my $DUMPFULL1= » »;

my %tableaudestextes=(); #—————————————-

my $output1= »test1.xml »;

if (!open (FILEOUT, »>$output1″)) { die « Pb a l’ouverture du fichier $output1 »};

&parcoursarborescencefichiers($rep);

sub parcoursarborescencefichiers {

 my $path = shift(@_);

opendir(DIR, $path) or die « can’t open $path: $!\n »;

my @files = readdir(DIR);

closedir(DIR);

foreach my $file (@files) {

next if $file =~ /^\.\.?$/;

 $file = $path. »/ ».$file;

if (-d $file) {

&parcoursarborescencefichiers($file);

}

if (-f $file) {

if ($file=~/\.xml/){

open(FILEIN,$file);

printf « $file\n »;

   while ($ligne = <FILEIN>){

    if ($ligne=~/<description>([^<]+)<\/description>/){ 
 my $propre=$1;

 if (exists($tableaudestextes{$propre})) {

$tableaudestextes{$propre}++;

}

 else {

$DUMPFULL1.= »$propre\n »;

 $tableaudestextes{$propre}++;

}

}

}

}

 close(FILEIN);

}

 }

}

print FILEOUT « <?xml version=\ »1.0\ » encoding=\ »iso-8859-1\ » ?>\n »;
print FILEOUT « <PARCOURS>\n »;
print FILEOUT « <NOM> </NOM>\n »;
print FILEOUT « <FILTRAGE> ».$DUMPFULL1. »</FILTRAGE>\n »;
print FILEOUT « </PARCOURS>\n »;
close(FILEOUT);
exit;

Tragédie grecque des statistiques du corpus

Posted in Boîte à Outils, Projet 2008-2009 by pluritaluser on 3 février 2009

Nous avons lancé le script et nous avons constaté ce qui suit :

 

Le fichier xml de sortie présentait des répétitions de bouts de texte placés de façon aléatoire.

En premier lieu, nous avons pensé à une erreur dans le code PERL. Cependant, en analysant manuellement les fichiers xml, un par un, nous nous sommes aperçu que la rubrique que nous avons choisie (technologie : 2,0.-651865. 1-0-0) n’était pas mise à jour quotidiennement.

En regardant le résultat affiché pendant l’exécution du code, le script traitait le dossier dans un ordre qui ne correspondait pas l’ordre temporel, c’est-à-dire 1-10-11-12-13-14-15-2 etc., au lieu de 1-2-3-4-5 etc. Il manquait donc un zéro avant les unités.

Ces deux phénomènes associés engendraient le mauvais résultat obtenu au départ (doublons).

 Une question de nature éthique s’impose :

Est-ce qu’on doit être fidèles aux statistiques donc inclure les doublons ?

Marco & Nassim.

Ce qu’on a fait à la première semaine du S2 du M1 PluriTAL

Posted in Boîte à Outils, Master TAL Recherche, pluriTAL by pluritaluser on 31 janvier 2009

A faire ce weekend pour les absents:

0) On a grève des enseignants lundi. D’après Mr Fleury et Mr Daube on a cours lundi à l’INALCO à 14h contrairement à ce qu’on nous a dit Vendredi.

1) Envoyer un e-mail à la prof de syntaxe Mme SAMVELIAN sans contenu: pollet.samvelian@univ-paris3.fr avec comme objet/titre:  Syntaxe formelle

(ça va être utile pour savoir si on aura cours ou grève Mardi)

2) Trouver un corpus avec un taux élevé de redondances (espressions semblables / mêmes mots qui se suivent pour ne pas avoir que du: « et le », et du « et la » à analyser) et télécharger Lexico 3, c’est écrit qu’il faut payer, mais si on clique dessus, on télécharge sans payer. Si vous ne savez pas où le trouver, tapez sur le moteur de recherche: lexico3 , et cliquez sur Lexico 3 Web Page.

Le corpus peut être un discours, un forum, un blog, des sms, etc… et la taille n’est pas importante, c’est la redondance qui est importante, mais je pense que ça doit être assez long pour pouvoir faire des analyses statistiques dessus.

3)  Télécharger les corpus de Le Monde pour 15jours et pour 1 année ( 2008 ) sur le site de Mr Fleury, choisir la rubrique RSS  qui vous intéresse sur les diapos,  et insérer un programme de ce style dans parcours-arborescence-fichiers:

#       Insérer ici votre code (le filtreur)

if ($file=~/0,2-3208,1-0,0\.xml) #numero de la rubrique qui vous intéresse

open(FILEINPUT, »$ARGV[0] »);

open(FILEOUTPUT, »>resu.txt »); #nom de la rubrique qui vous intéresse

$i=1;

while ($ligne = <FILEINPUT>){

if ($ligne=~/<description>([^<]+)<\/description>/) {

my $recup=$1; #la variable $1 est remplacée par recup

$recup=~s/’/\’/g;

$recup=~s/ »/\ »/g;

$recup=~s/é/é/g;

$recup=~s/ê/ê/g;

print FILEOUTPUT « Contenu de description n° $i: $recup \n »;

$i++;

}

}

close(FILEINPUT);

close(FILEOUTPUT);

print $i++, »\n »;

}

}

}

4) Aller sur le site de Agora ou demander à quelqu’un de Paris 3 d’y aller pour télécharger les fichiers pour le cours de Document structuré de Mr Fleury, et apprendre comment faire des pages en .xml et des feuilles de style.

C’est ce qu’on a fait cette semaine.

Françoise Del Socorro

Question de codage caractères spéciaux XML

Posted in Boîte à Outils, Projet 2008-2009 by pluritaluser on 20 janvier 2009

Nous avons jeté un premier coup d’oeil au nouveau projet et, comme d’habitude, nous avons constaté des petits soucis de codage, notamment pour ce qui concerne les caractères spéciaux d’XML, par exemple  l’apostrophe, les guillemets et le &.

En effet, quand nous voulons afficher à l’écran ces caractères, il est nécessaire de les écrire avec une notation spéciale, soit en décimal, soit en hexadécimal. Par exemple, la notation que nous avons repérée pour l’apostrophe dans un des fichiers xml de notre corpus, est la suivante:

&#39

39 étant le code décimal de l’apostrophe en ASCII.

Nous nous sommes donc demandé comment il faudra eventuellement traiter ce genre de caractères.

Marco & Nassim

BàO séance n°7 et 8

Posted in Boîte à Outils, Projet 2006-2007 by tal-p3 on 7 mars 2007

7ème séance le 07/03/2007

Début BàO série 4 « des textes aux graphes »

  • Détail sur la page du cours.
  • Prochaine séance : fin BàO série 4

8ème séance le 14/03/2007

  • FIN BàO série 4 et fin des BàO !!!!!

Les travaux BàO seront à remettre fin Avril.

BàO séance n°6

Posted in Boîte à Outils, Projet 2006-2007 by tal-p3 on 1 mars 2007

6ème séance le 28/02/2007

Suite BàO série 3 « extraction de patrons »

  • en entrée, les sorties produites dans BàO série 2 (sortie semi-structurée via Cordial),
  • un script perl produit en sortie des extractions de patrons syntaxiques (lecture détaillée du script et test de celui-ci sur les données construites à partir du corpus de fils)
  • Détail sur la page du cours.
  • Prochaine séance : BàO série 4.

BàO séance n°5

Posted in Boîte à Outils, Projet 2006-2007 by tal-p3 on 21 février 2007

5ème séance le 21/02/2007

Début BàO série 3 « extraction de patrons »

  • en entrée, les sorties produites dans BàO série 2 (sortie étiquetée « brute » et structurée),
  • en sortie des extractions de patrons syntaxiques (via programme ou via XSLT/XPath).
  • Détail sur la page du cours.

Modifications sur tree-tagger2xml.pl (suite)

Posted in Boîte à Outils, Projet 2006-2007 by pluritaluser on 21 février 2007

Pardon j’ai oublié de signer!

C’était Marianna en direct de l’ILPGA.

Bon courage à tous!

Modifications sur tree-tagger2xml.pl

Posted in Boîte à Outils, Projet 2006-2007 by pluritaluser on 21 février 2007

Bonjour à tous,

Quelques modifs sur tree-tagger2xml.pl:

Voici la solution pour retirer le retour à la ligne qui apparaît systématiquement après le lemme dans le fichier xml sortie tree-tagger:
$Ligne=~s/(.*?)(\r)$/$1/g;
Le caractère fin de ligne à supprimer est « \r » et non « \n « , puisqu’il a été généré par cygwin! (ce serait trop beau si c’était toujours le même!)
On peut supprimer les chevrons à « unknown » dans tree-tagger2xml (plutot que dans le lancement de tree-tagger avec l’option -no -unknown):

$Ligne=~s/\<unknown\>/unknown/g;

BàO séance n°4

Posted in Boîte à Outils, Projet 2006-2007 by tal-p3 on 14 février 2007

4ème séance le 14/02/2007

Suite BàO série 2 « étiquetage »
Mise en oeuvre du programme « étiquetage » sur le corpus de travail : via treetagger et cordial.
Prochaine séance la semaine prochaine :

  • BàO série 3 :

    • en entrée, les sorties produites dans BàO série 2 (sortie étiquetée « brute » et structurée),
    • en sortie des extractions de patrons syntaxiques (via programme ou via XSLT/XPath).
    • Détail sur la page du cours.

BàO séance n°3

Posted in Boîte à Outils, Projet 2006-2007 by tal-p3 on 8 février 2007

3ème séance le 07/02/2007

Début BàO série 2 « étiquetage »
Mise en oeuvre du programme « étiquetage » sur le corpus de travail : via treetagger et cordial. 2 versions du programme : étiquetage à la volée avec treetagger, étiquetage global avec cordial.
Prochaine séance la semaine prochaine :

  • suite BàO série 2 …

procédure de nettoyage Cours 3

Posted in Boîte à Outils, Projet 2006-2007 by pluritaluser on 7 février 2007

Salut à tous!

voici le bout de code pour nettoyer les 4 entités qui posent problème à l’affichage (si j’ai bien compris, il n’y en a que 4, mais c’est à vérifier!!)

sub nettoyage {
my ($ligne) = shift(@_);
$ligne=~s/’/’/g;
$ligne=~s/é/é/g;
$ligne=~s/ê/è/g;
$ligne=~s/ »/ »/g;
return $ligne;
}

bon taf à tous! :p

Marguerite

BàO séance n°1

Posted in Boîte à Outils, Projet 2006-2007 by tal-p3 on 17 janvier 2007

1ère séance le 17/01/2007


Présentation générale de la série « Boîte à Outils » (slides BàO intro).

Présentation de la chaîne des traitements à mettre en oeuvre.

Présentation du corpus de travail (introduction à RSS, présentation des fils RSS traités)

  • Début « Boîte à Outils » Série 1 (Slides BàO perl)
    • écriture du programme de filtrage et du programme de nettoyage
    • finir les 2 programmes pour la prochaine séance
  • Présentation du travail à rendre : parcours d’une arborescence de fils (filtrage des zones textuelles et nettoyage)


Prochaine séance dans 15 jours :

  • Lecture « détaillée » du programme de parcours d’arborescence
  • Modification du programme pour réaliser le travail demandé

Série « Boîte à Outils » 2006/2007

Posted in Boîte à Outils, Projet 2006-2007 by tal-p3 on 7 janvier 2007

Série des Boîtes à Outils : Master Tal
Mise en oeuvre d’une chaîne de traitement textuel semi-automatique,
depuis la récupération des données jusqu’à leur présentation
.
Module « Programmation et projet encadré » (S. Fleury/R. Belmouhoub) 2006/2007
Les ressources pointées sur la page infra nécessitent des identifiants de connexion qui seront donnés en cours.

(clic sur l’image pour accéder au sommaire de la série BàO)

= »1