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

Les entités HTML pour les accents en français sont devenues obsolètes (oui !!!)

Posted in pluriTAL by pluritaluser on 28 juin 2009

J’ai découvert quelque chose, je ne sais pas depuis quand cela existe, mais si vous utilisez windows (charset=windows-1250) et un clavier français (fr), il n’y a qu’à rajouter cette ligne dans la balise HEAD:

<meta http-equiv=\”content-type\” content=\”text\/html; charset=windows-1250; fr\”> (unix)

<meta http-equiv=”content-type” content=”text\/html; charset=windows-1250; fr”> (fichier texte brut -> save as HTML)

Les minuscules tout comme les majuscules s’accentuent miraculeusement !
Et on n’a plus d’utiliser les programmes qui transforment ” à ” en & agrave ; ” é ” en & eacute ; !
Je ne connais pas les initiales pour les autres langues, mais vous pouvez essayer. Et je sais que l’HTML pour Mac et Linux a pour charset utf-8 ou utf8.
En donc c’est pareil que pour le XML.
Je suis encore avec mon dernier devoir (statistiques), c’est long! Il y a encore beaucoup de travail, là j’améliore le tableau qui ressemble à celui du premier projet mais c’est pour expliquer le choix des balises, mais je pense que quand je vais le rédiger ce sera en XML car c’est plus facile en fonction de la simplification que l’on fait.

Je vous rappelle qu’un fichier HTML se construit ainsi:

<html><head>ce qui n’est pas visible dans le corps du document</head><body>texte et balises locales</body></html>

Ex (programme en Bash, sur un fichier texte les \ sont supprimés sauf pour text\/html):

#Mini éditeur HTML
a=”../CONTEXTES/Francais/potentiel-de-repos-$i.html”;
sed -i ‘/[a-z]/ a\</br>’ $a; #met des br en fin de ligne
sed -i ‘/–/ a\</br>’ $a; #met des br en fin de ligne
cat $a >> ../CONTEXTES/Francais/potentiel-de-repos-$i.temp.html;
echo “<html>” >$a;
echo “<head><title>Le choix des balises: potentiel en fran&ccedil;ais</title><meta http-equiv=\”content-type\” content=\”text\/html; charset=windows-1250; fr\”></head>” >> $a;
echo “<body bgcolor=\”#DEF7D8\” text=\”#DE6B3F\” link=\”#034B16\” alink=\”#C059E2\” vlink=\”#431C4F\” background=\”../../IMAGES/multibk.jpg\”><blockquote>” >> $a;
cat ../CONTEXTES/Francais/potentiel-de-repos-$i.temp.html >> $a;
echo “<p><a href=\”../../TABLEAUX/potentiel-francais.html\”><img src=\”../../IMAGES/retour.gif\”></a></blockquote></body>” >> $a;
echo “</html>” >> $a; #met des balises html entre les contextes
sed -i -r -e ’s/potentiel de repos/<b>potentiel de repos<\/b>/g’ $a; #met les contexte en gras
rm ../CONTEXTES/Francais/*\.temp.html;
#

Exemple 2:

<html>
<head>
<title>Poesie</title>
<meta http-equiv=”content-type” content=”text\/html; charset=windows-1250; fr”>
</head>
<body bgcolor=”#DEF7D8″ text=”#DE6B3F” link=”#034B16″ alink=”#C059E2″ vlink=”#431C4F”>
Voilà les feuilles sans sève<br/>
Qui tombent sur le gazon,<br/>
Voilà le vent qui s’élève<br/>
Et gémit dans le vallon,<br/>
Voilà l’errante hirondelle<br/>
Qui rase du bout de l’aile<br/>
L’eau dormante des marais,<br/>
Voilà l’enfant des chaumières<br/>
Qui glane sur les bruyères<br/>
Le bois tombé des forêts.<br/>
<br/>Tiré de: http://www.poesies.net/poeme10.html, Alphonse De Lamartine
</body>
</html>

Voilà, j’ai mis en ligne, car je pense que c’est nouveau et ce n’est marqué nulle part sur internet qu’on peut faire comme ça (0 articles):

http://francoisepeace.cwahi.net/mhaourrr_fifiufiufiu/ancienne-norme.html

http://francoisepeace.cwahi.net/mhaourrr_fifiufiufiu/nouvelle-norme.html

Je pense que c’est vraiment très récent, peut-être quelques heures ? Peut-être que ça vient avec le nouveau Mozilla ? Aucune idée. Faîtes sélectionner la source pour voir la différence. Le javascript ça appartient au site. Même le sélectionner la source (code source de la page)  donne les mauvais caractères pour l’ancienne norme.

Non, c’est la nouvelle version de Mozilla !

Dans l’ancienne version de Internet Explorer les accents ne s’affichent pas. Donc c’est bien le navigateur qui a changé et pas internet. Je vais installer la nouvelle version de Internet Explorer pour voir. Car sur Mozilla ça marche, or ce qui marche sur Mozilla devrait marcher sur Internet Explorer ?

Internet Explorer me dit que j’ai déjà la version la plus récente. Donc soit Mozilla Firefox est en avance sur Internet Explorer, soit les règles du langage HTML qu’il traduit pour afficher les pages sont différentes.

——————————–

Pour Mozilla Firefox, l’adaptation au méta est automatique.

Pour Internet Explorer 8, il faut aller sur: Affichage > Codage > Sélection Automatique

Il ne faut pas qu’il y ait d’encodage à défaut, et sur ce point Internet Explorer a perdu 1 point sur Mozilla 3.0.11 qui est en Sélection Automatique en plus d’être en ISO-8859-1.

A défaut Internet Explorer 8 est sur Europe Centrale (Windows), ce qui l’empêche de reconnaître le fr (clavier ? langue ?) dans ma balise. Et donc il faut le mettre en automatique.

Les deux navigateurs affichent mes deux pages différemment:

http://francoisepeace.cwahi.net/mhaourrr_fifiufiufiu/ancienne-norme.html

http://francoisepeace.cwahi.net/mhaourrr_fifiufiufiu/nouvelle-norme.html

Sauf que Mozilla perd 1 point sur Internet Explorer au niveau de la Sélection de la source car il sélectionne dans son fichier texte le mauvais affichage des caractères lorsque celui-ci n’est pas reconnu en ligne. Cependant Internet Explorer n’a pas ce problème.


J’ai encore une chose à rajouter: Internet Explorer n’affiche que mes deux pages différemment la première fois où on l’a mis sur:
Sélection automatique, la deuxième fois (Actualiser) ça ne fonctionne plus et pourtant il est sur SA. Et donc comme IE8 reconnaît ce code seulement 1 fois, il y a une erreur dans le navigateur. Amusez-vous à mettre puis enlever puis mettre: Sélection Automatique.

Donc Internet Explorer perd 2 points.

Conclusion: 3 problèmes différents et une toute nouvelle balise qui marche pour afficher ses entités HTML en français sans avoir à les transformer soi-même:

<meta http-equiv=”content-type” content=”text\/html; charset=windows-1250; fr”>

Vraiment vous avez eu la première nouvelle sur le sujet, découverte par hasard, car je me suis inspirée de l’XHTML que je ne connais pas:

http://www.loria.fr/~glisse/enseignement/xhtml/skel.html

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta http-equiv="Content-Language" content="fr" />
 <meta name="author" content="Marc Glisse" />

Françoise Del Socorro

Le droit des élèves: il n’est pas écrit mais il existe – pour mes camarades.

Posted in pluriTAL by pluritaluser on 20 juin 2009

J’aimerais pour finir cette année (il me reste encore un devoir à rendre mais ce n’est pas pressé), discuter d’un sujet qu’on n’aborde jamais depuis la réforme LMD: Le droit des élèves. Le droit des élèves ce n’est pas le droit des professeurs sur les élèves or les seuls affichages qui existent sur le LMD concernent l’idée selon laquelle les professeurs ont le contrôle absolu sur les élèves, une utopie, un mensonge. Et donc on ne nous raconte rien, ce que l’on sait sur nos droits vient:

- Des bonnes expériences inattendues. Quand on obtient quelque chose de bien en croyant que c’est illégal parce qu’on ne sait pas que c’est légal.

- De ce que certains professeurs qui sont contre le système nous racontent pour qu’on n’ai pas peur de réussir.

- De ce que les autres élèves ont dit à voix haute qu’ils ont fait afin de profiter au maximum des limites du système afin de partager nos droits avec ceux qui ne les connaissent pas.

Par expérience, je suis une grande redoublante, or je croyais que c’était illégal de se réinscrire chaque année comme cela sans rien demander à personne. Et quand j’ai décidé de changer de sous filière et de m’inscrire en TAL (ingénierie linguistique), j’ai appris que ce que je faisais avant c’était légal. Parce que le service des inscriptions m’a expliqué que pour changer de sous-filière, il faut deux autorisations différentes par écrit, mais pour redoubler dans la même filière, on peut le faire à vie même si il y a une réponse négative de la part du département. Du coup ils voulaient me réinscrire dans la filière d’avant et me faire dire qu’ils allaient me réinscrire parce qu’on ne voulait plus de moi, ce qui n’est pas vrai, personne ne m’a rien dit. J’ai refais 5fois la même filière, mais vous pouvez redoubler à vie, car c’est écrit dans un texte de loi non diffusé: tout élève a le droit de redoubler.

Par expérience j’ai aussi été au rattrapage dans la session de septembre. La session de septembre c’est un droit des élèves que beaucoup de professeur ne respectent pas. Et ils sont dans l’illégalité quand ils disent que c’est nous qui n’avons pas le droit. Mais ils profitent parce que le droit des élèves n’est pas écrit. Dans tous les pays on donne aux élèves plusieurs chances pour réussir, on m’a raconté qu’en Italie, chaque élève choisis une date de contrôle différente, en fonction du moment où il se sentira prêt pour répondre aux questions des professeurs. En France, on a l’année scolaire, et si on ne l’a pas, on a le droit de demander à repasser toutes les notes qui sont inférieures à 10 dans la session de septembre. Avec le système LMD, la plupart des professeurs insistent sur le fait que la session de septembre a disparu, qu’elle est devenue session de juillet, moi je crois plûtot qu’ils racontent des mensonges sur nos droits pour avoir plus de vacances. Parce que encore une fois nos droits ne sont pas écrits.

Par expérience j’ai aussi été une ancienne élève en reprise d’études. Mon professeur de soutient en mathématiques au CNAM, nous a raconté que il a des amis qui n’ont jamais fait d’études et qui à 30ans décident qu’ils veulent faire de la médecine, qui passent la bac scientifique et qui s’inscrivent en médecine, puis qui deviennent médecins alors pourquoi pas nous? C’est l’occasion de profiter du système LMD pour changer de philosophie de vie parce que les notes dans le système Licence Master Doctorat sont gardées à vie et donc on peut faire tout ce que l’on veut y compris des longues pauses et demander qu’on conserve ses notes quand on reprend ses études. Ce qui fait que je suis revenue à Nanterre et j’ai dit au secrétariat: J’ai le droit de conserver mes anciennes notes à vie. Ils n’ont pas protesté contre moi par contre ils se sont moqués à voix autre des autres redoublants: Tu te rends compte si on disait à tous les redoublants qu’ils ont le droit de conserver leurs notes, tout le travail en plus que cela nous ferait ? Il vaut mieux qu’ils ne sachent pas et qu’ils repassent tout sinon on aura trop de travail à tout retaper.

Finalement j’ai beaucoup souffert avec le système scolaire français, j’ai fait le bac littéraire contre ma volonté en pleurant, je voulais redoubler le bac scientifique, peut-être que je n’aurai pas aimé la biologie, mais on ne m’a pas donné la chance de redoubler pour voir. Alors que je suis sûre que c’est illégal. La prof de biologie des psychologues m’a raconté qu’elle avait fait un bac littéraire avec du latin et du grec et qu’elle avait été prise en biologie, et donc que c’est possible de s’inscrire dans n’importe quelle filière à la sortie du bac. J’ai essayé de m’inscrire à Cergy Pontoise, j’ai même reçu 3 oui par la poste, mais après avoir fait la queue des inscriptions, avoir trouvé la réponse à leur devinette pour gagné un agenda gratuit, lorsque j’allais payer, on m’a empêché et on m’a convoquée pour me dire que c’était une erreur. La responsable du département a engueulé la secrétaire qui met les oui à sa place, n’a pas voulu entendre parler de mon savoir en biologie, et n’a pas voulu me diffuser le sien, elle m’a juste montré un tas de feuilles sans mise en page et sans saut à la ligne en disant que c’était ça leurs publications scientifiques. Donc après cet empêchement illégal de m’inscrire, je me suis inscrite au CNAM alors que je n’avais vraiment pas le droit parce que il faut être étudiante ou avoir travaillé pour s’y inscrire, mais ils t’ouvrent les portes de toutes les disciplines pour tous les âges et même pour les gens qui n’ont pas le temps parce qu’ils travaillent à temps plein. Ils ne font que des difficultés pour les élèves qui cherchent à décoder le système universitaire traditionnel chez eux, mais on est tellement habitués à être maltraité dans le système traditionnel que c’est difficile d’accepter un système où on est traité à sa juste valeur. L’université organise ses trois premières années d’études par palliers, alors que au CNAM les trois années sont imbriquées, et on a deux fois plus de temps libre, il n’y a que la structure qui change mais les cours en soi fonctionnent pareil.

Et donc je suis sûre que les élèves ont plein d’autres droits qu’ils ne connaissent pas et le jour où quelqu’un qui a accès aux informations sur ce qui facilite notre réussite psycho-sociale décidera de publier tout ça, ça va changer la face du système universitaire français LMD.

Et pour ne pas être hors sujet parlons de nous: Si vous n’êtes pas pris là où vous avez postulé, rien n’est perdu parce que le système n’est pas clair et que chacun raconte des choses contradictoires. Mr Cori a dit: Les bons élèves en informatique au DEFI et les mauvais élèves à la Recherche, Mr Fleury a dit le strict contraire. Et je ne sais pas comment fonctionne l’Inalco. De plus je ne suis pas sûre si cette histoire de moyenne supérieure à 14 s’applique aux Sciences du Langage car l’année passée on m’a dit que ce n’est pas une loi pour toutes les filières, qu’ils n’avaient pas voté pour cette loi dans la notre. De plus si cette loi s’applique à nous, il y a deux fois plus de chances qu’il faille avoir une moyenne supérieure à 14 pour accéder aux filières professionnelles et une moyenne supérieure à 10 pour accéder à la recherche, en tout cas d’après ce qu’on m’a dit à Nanterre qui est l’opposé de ce qu’on m’a dit à la Sorbonne.

Et parlons argent: Je n’ai jamais reçu de subventions de la part du gouvernement pour étudier, ce pourquoi je ne suis ni riche ni pauvre mais sans aucun argent, zéro euros constant sur mon compte ce qui est bien pour une étudiante. Et donc je ne pense pas que les histoires de: la fac paye 2000euros au minimum pour les élèves inscrits dans des études post MASTER soit vrai pour tout le monde. La plupart de mes camarades reçoivent du gouvernement 500euros par mois au moins pour faire leurs études de Licence, et ils se plaingnent que ce n’est pas assez. Moi si je recevais tout ça je n’étudierais pas, je voyagerais, je mangerais. Et donc si je passe, je vais m’inscrire en Recherche mais je ne vais pas chercher à obtenir de l’argent du gouvernement, à moins que mon père soit à la retraite parce qu’il est Français mais n’a presque pas travaillé en France car à l’étranger il gagne mieux mais ne cotise pas. La seule chose que j’espère c’est d’avoir des professeurs qui nous encadrent aussi bien que Fleury et Daube, parce que pour la plupart des professeurs, en tout cas de Nanterre, l’autonomie c’est: faites vos devoirs sans notre aide, alors que à la Sorbonne l’autonomie c’est: faites vos devoirs avec notre aide, et là on se sent beaucoup mieux car on apprend la méthode et on peut faire mieux que si on était abandonnés à nous-mêmes.

Et si vous avez des problèmes pour vous réinscrire sur Sésame, ne vous inquiétez pas. Moi mes inscriptions à la fac n’apparaissent pas, mais c’est une erreur d’affichage, parce que le système est entièrement automatisé, il n’y a personne qui rentre mes données dedans, il va chercher les données présentes dans tous les autres systèmes informatiques dans la fac. Et comme tout va bien sur Apogée, et sur tous les autres systèmes, si le système de communication avec les élèves de la fac ne me communique que des informations fausses sur moi-même ce n’est pas un problème, car personne ne va vérifier non plus. C’est ce que le service des inscriptions de Nanterre m’a dit en se connectant sur mon compte grâce à ma carte d’étudiant. Vous seul lisez Sésame. Mais personne ne peut réparer ça non plus, il n’existe pas de secrétariat Sésame. Et donc une fois que j’aurai toutes mes notes, je ferai une demande de dossier et j’enverrai la réponse à la fac. Et si vous avez des problèmes similaires: disparition d’informations ou fausses informations dans le service de communication automatique, ne vous inquiétez pas, si vous avez votre année, vous pourrez vous inscrire car le service des inscriptions de la fac a votre dossier en entier dans son ordinateur.

Voilà tout, des commentaires ?

Françoise Del Socorro

Paris X Nanterre, (renommée Paris Ouest, mais on est au Nord-Ouest).

Projet multilingue

Posted in pluriTAL by pluritaluser on 11 juin 2009

1) fichier html

<html><head></head><body>

<form method=”post” action=”search.php”>
<input name=”entree” type=”text”></input>
<input value=”envoyer” type=”submit”></input>
</form>
</body>
</html>

2)fichier search.PHP

<html>
<body>
Bonjour voici mon programme PHP !!!!!!:
</body>
<?PHP
echo “voici la variable entrée:”;
$_POST["entree"];
?>
</html>

vite fait

3) Avoir un web local (j’ai easyPHP qui est meilleur que base pour SQL) ou se connecter sur le site de Daube.

Françoise Del Socorro

Editeurs XML en Perl !

Posted in pluriTAL by pluritaluser on 6 juin 2009

Incroyable mais vrai ! Je suis trop lente pour taper et pour réfléchir alors je crée des programmes qui font ça à ma place, c’est calqué sur Mes Editeurs HTML en Perl, donc ça m’a pris 10min pour les adapter…

Ils sont tous dans mon site de partage de fichiers: http://www.mybloop.com/francoisepeace

Désormais je peux créer des fichiers XML en 1seconde chrono sans réfléchir, le problème c’est de réfléchir les exercices, je suis hyper en retard sur tout. Je vais essayer de faire le XML aujourd’hui et demain. Et lundi je fais le projet Multilingue, en espérant ne pas avoir jusqu’à mardi, parce que je n’ai pas encore choisi les phrases, et j’ai mon programme qui affiche un tableau différent que je n’ai pas fini.

Un exemple: txt2xml.pl (il y a là des balises que je souhaite afficher en format xsl – visualisable comme un html)

Perl

####Les métacaractères####
$recup=~s/\</&lt;/g;
$recup=~s/\>/&gt;/g;
$recup=~s/\”/&quot;/g;
##Les paragraphes et les line breaks en XML !##
$recup=~s/(\s)*\n/\n/g; #supprime les espaces avant le retour à la ligne
$recup=~s/^\n/<p><\/p>\n/g; #met des paragraphes dans tous les sauts de ligne
if ($recup=~/[^<p><\/p>]\n/g) {
$recup=~s/^/<br>/g; # met des br en début de ligne
$recup=~s/\n/<\/br>\n/g; # met des br en fin de ligne

};

+ XSL

<xsl:template match=”br”>
<xsl:apply-templates/><xsl:text> </xsl:text><br/>
</xsl:template>

<xsl:template match=”p”>
<p/><xsl:apply-templates/><xsl:text> </xsl:text>
</xsl:template>

->ti1.XML (exemple)

<br><blue>&lt;mot&gt;</blue>Zil<blue>&lt;/mot&gt;</blue></br>
<br><blue>&lt;mot&gt;</blue>jsem<blue>&lt;/mot&gt;</blue></br>

Ce qui fait en HTML (ce qu’on voit):

<font color=”blue”>&lt;mot&gt;</font>Zil<font color=”blue”>&lt;/mot&gt;</font><br/>
<font color=”blue”>&lt;mot&gt;</font>jsem<font color=”blue”>&lt;/mot&gt;</font><br/>

Françoise Del Socorro

Comment afficher des liens avec XML-XSL dans Mozilla ?

Posted in pluriTAL by pluritaluser on 5 juin 2009

J’ai eu du mal à trouver:

Marchent sur Mozilla:
XML:

<link><ref>http://www.mozilla.com/en-US/</ref><t>Mozilla Firefox</t></link>
<a1>W3C</a1>
XSL:

<xsl:template match=”index/link”>
<a href=”{ref/text()}”><xsl:apply-templates select=”t”/></a>
</xsl:template>

<xsl:template match=”a1″>
<A XML-LINK=”LINK” HREF=”http://www.w3.org/”><xsl:apply-templates/></A>
</xsl:template>

Autres pages sur XML:

Mourad: http://tal-p3.wordpress.com/2009/05/23/comment-creez-notre-site-de-document-structure/

Moi : http://tal-p3.wordpress.com/2009/05/18/devoir-loupy-%E2%80%93-ri-pour-le-mardi-26-mai/

Françoise Del Socorro

Projet Multilingue – programmes

Posted in pluriTAL by pluritaluser on 3 juin 2009

Bonjour, j’ai fait un programme qui transforme les tables de mozilla en fichier texte, il est en ligne, et un treetagger (simtree) éditable en français et portugais mais j’ai des corrections à faire avant de le mettre en ligne.

Bonne chance à tous car certains travaillent et n’ont pas le temps même s’ils sont très bons en informatique, et d’autres ont besoin d’encore plus d’expérience pour se perfectionner.

J’aurai voulu que tout le monde partage ses programmes en ligne.

Mes programmes sont inspirées sur la façon dont Mr Serge Fleury se représente le rechercher – remplacer. Je lui dois beaucoup. Mais je suis nulle en boucles alors il y en a très peu dans mes programmes, ils exécutent tout d’un coup.

Mes programmes au départ avaient une version particulière et une générale, parce que ce n’est pas évident d’écrire tout de suite une version qui puisse fonctionner pour d’autres textes, mais il le faut. Moi je réutilise mes anciens programmes  dans d’autres cours! Donc si vous avez le temps pendant les vacances, créez un site internet où la version générale de vos programmes sera téléchargeable en ligne pour partager avec les autres.

Les programmes sont très utiles surtout quand les corpus sont très longs, mais je les utilise toujours conjointement avec quelques petits nettoyages manuels car la machine ne fait pas tout. De plus mes programmes sont faits pour un emploi particulier, je sais ce que je veux avant de les créer.

Finalement il y a des programmes que je sais que je ne sais pas créer et j’espère que vous les créerez.

Bonne chance !!!

mozillatable2TXT.pl -> http://www.mybloop.com/francoisepeace

et bientot simtree.pl aussi

Françoise Del Socorro

#########################################################################################

Si votre texte fait moins de 100mots (aka si vous avez du temps libre pour étiqueter vos 100mots), vous pouvez utiliser mon ” treetagger ” simtree.pl de plus il faut que votre texte ne soit pas ambigüe (ou alors changer les balises du vrai treetagger2xml en rajoutant des balises ou des attributs). Moi les seuls problèmes d’étiquetage que j’ai sont dues soit à cygwin soit à mon ordinateur qui est pourtant neuf, en tout cas c’est corrigible et tout est éditable (Françoise Del Socorro):

#!/usr/bin/perl
use locale; #caracteres accentues
#On lance: perl simtree-fr.pl
#Fichiers utilisés: potentiel-pt-liste.txt et potentiel-fr-liste.txt obtenus après mozillatable2txt.pl, il s’agit d’une liste de mots-composés à nettoyer.

print “Bienvenu(e) à l’étiqueteur syntaxique simtree \n qui permet de simuler treetagger, \n dont les entrées sont éditables, \n dont le choix du vocabulaire est limité\n, et qui n’utilise pas la probabilité — vraiment rustique!\n”;
print “Ce fichier prend en entrée des segments répétés, des phrases courtes ou des phrases longues mais sans balises.\n”;
print “En tout cas choississez un texte qui ne contient que les phrases que vous allez analyser linguistiquement.\n”;
print “Nom du fichier de travail, de preference un .txt au format UNIX: \n”;

my $file01=<STDIN>;
chomp($file01);
my $file02=$file01.”-token.txt”;
#Première étape la tokenisation et le remplacement des retours charriot par le point-virgule
open(FILEIN01, $file01);
open(FILEOUT01, “>$file02″);
my $DUMPFULL01=”";
while(my $recup01=<FILEIN01>)
{
#1.Transformation
$recup01=~s/^\n//g;#supprime tous les sauts de ligne
$recup01=~s/\n/;\n/g;#remplace toutes les fins de ligne par un point-virgule
$recup01=~s/\s/\n/g;#remplace chaque espace par un saut de ligne
$DUMPFULL01=~s/\n\n/\n/g;#supprime tous les sauts de ligne

#2. Memorisation dans DUMPFULL
$DUMPFULL01.=$recup01;
}
#3.Sortie
print FILEOUT01 $DUMPFULL01;
print “Attendez s’il vous plaît !”;
#Deuxième étape: la proposition du vocabulaire que vous allez étiqueter correspondant au texte qui ne contient que les phrases qui vous intéressent.
$file04=$file02.”-lexique-simtree.txt”;
open(FILEIN02, $file02);
open(FILEOUT02, “>$file04″);
system “#!/bin/bash
sort -u $file02 > $file04″;
close(FILEIN02);
close(FILEOUT02);
#Troisième étape: l’étiquetage du fichier
my $file05=$file01.”-3.txt”;
open(FILEIN03, $file02);
open(FILEOUT03, “>$file05″);
my $DUMPFULL03=”";
while(my $recup03=<FILEIN03>)
{
#1.Vocable    catégorie    lemme /^**Vocable**\n/**Vocable**\tN\t**Lemme**\n/
#La catégorie à défaut est celle du morceau de mot dans laquelle simtree-fr.pl reconnaît un mot d’où un ordre alphabétique s’impose
#Si vous voulez ignorer la casse (accepter les majuscules) utilisez gi plutôt que g.
#Catégories proposées: PUNCT D N A P V ADV SIGLE PRON…inventez
#Langue = Français

$recup03=~s/^;\n/;\tPUNCT\t;\n/g;
$recup03=~s/^action\n/action\tN\taction\n/g;
$recup03=~s/^actions\n/actions\tN\tactions\n/g;
$recup03=~s/^au\n/à\tP\tà\nle\tD\tle\n/g;
#
$recup03=~s/^beaucoup\n/beaucoup\tADV\tbeaucoup\n/g;
#
$recup03=~s/^ca+\n/ca+\tN\tca+\n/g;
$recup03=~s/^canal\n/canal\tN\tcanal/g;
$recup03=~s/^ce\n/ce\tD\tce\n/g;
$recup03=~s/^cellule\n/cellule\tN\tcellule\n/g;
$recup03=~s/^cellules\n/cellules\tN\tcellule\n/g;
$recup03=~s/^cette\n/cette\tD\tcette\n/g;
$recup03=~s/^compartiments\n/compartiments\tN\tcompartiment\n/g;
$recup03=~s/^concentration\n/concentration\tN\tconcentration\n/g;
$recup03=~s/^concentrations\n/concentrations\tN\tconcentration\n/g;
$recup03=~s/^conductance\n/conductance\tN\tconductance\n/g;
$recup03=~s/^conduction\n/conduction\tADV\tconduction\n/g;
#
$recup03=~s/^d\n/d\tP\td\n/g;
$recup03=~s/^dans\n/dans\tP\tdans\n/g;
$recup03=~s/^ddp\n/ddp\tSIGLE\tddp\n/g;
$recup03=~s/^de\n/de\tP\tde\n/g;
$recup03=~s/^des\n/de\tP\tde\nles\tD\tle\n/g;
$recup03=~s/^deux\n/deux\tA\tdeux\n/g;
$recup03=~s/^différence\n/différence\tN\tdifférence\n/g;
$recup03=~s/^du\n/de\tP\tde\nle\tD\tle\n/g;
$recup03=~s/^dépolarisation\n/dépolarisation\tN\tdépolarisation\n/g;
#
$recup03=~s/^en\n/en\tP\ten\n/g;
$recup03=~s/^entre\n/entre\tP\tentre\n/g;
$recup03=~s/^et\n/et\tCONJ\tet\n/g;
$recup03=~s/^excitateur\n/excitateur\tA\texcitateur\n/g;
$recup03=~s/^excitateurs\n/excitateurs\tA\texcitateur\n/g;
$recup03=~s/^excitation\n/excitation\tN\texcitation\n/g;
#
$recup03=~s/^faces\n/faces\tN\tface\n/g;
#
$recup03=~s/^générateur\n/générateur\tA\tgénérateur\n/g;
$recup03=~s/^hyperpolarisation\n/hyperpolarisation\tN\thyperpolarisation\n/g;
$recup03=~s/^il\n/il\tPRON\til\n/g;
$recup03=~s/^influx\n/influx\tN\tinflux\n/g;
$recup03=~s/^inhibiteur\n/inhibiteur\tA\tinhibiteur\n/g;
$recup03=~s/^inhibiteurs\n/inhibiteurs\tA\texcitateur\n/g;
$recup03=~s/^intérieur\n/intérieur\tN\tintérieur\n/g;
$recup03=~s/^inversion\n/inversion\tN\tinversion\n/g;
$recup03=~s/^ion\n/ion\tN\tion\n/g;
$recup03=~s/^ionique\n/ionique\tA\tionique\n/g;
$recup03=~s/^ions\n/ions\tN\tion\n/g;
#
$recup03=~s/^k+\n/k+\tN\tk+\n/g;
#
$recup03=~s/^l\n/l\tD\tl\n/g;
$recup03=~s/^la\n/la\tD\tle\n/g;
$recup03=~s/^le\n/le\tD\tle\n/g;
$recup03=~s/^les\n/les\tD\tle\n/g;
#
$recup03=~s/^mais\n/mais\tADV\tmais\n/g;
$recup03=~s/^membranaire\n/membranaire\tA\tmembranaire\n/g;
$recup03=~s/^membrane\n/membrane\tN\tmembrane\n/g;
$recup03=~s/^mitochondrial\n/mitochondrial\tA\tmitochondrial\n/g;
#
$recup03=~s/^na+\n/na+\tN\tna+\n/g;
$recup03=~s/^ne\n/ne\tADV\tne\n/g;
$recup03=~s/^nernst\n/nernst\tN\tnernst\n/g;
$recup03=~s/^nerveuse\n/nerveuse\tA\tnerveux\n/g;
$recup03=~s/^nerveux\n/nerveux\tA\tnerveux\n/g;
$recup03=~s/^neuronaux\n/neuronaux\tA\tneuronal\n/g;
$recup03=~s/^neurone\n/neurone\tN\tneurone\n/g;
$recup03=~s/^niveau\n/niveau\tN\tniveau\n/g;
$recup03=~s/^nous\n/nous\tPRON\tnous\n/g;
#
$recup03=~s/^on\n/non\tPRON\ton\n/g;
$recup03=~s/^ou\n/ou\tCONJ\tou\n/g;
#
$recup03=~s/^pa\n/pa\tSIGLE\tpa\n/g;
$recup03=~s/^par\n/par\tP\tpar\n/g;
$recup03=~s/^plus\n/plus\tADV\tplus\n/g;
$recup03=~s/^post\n/post\tP\tpost\n/g;
$recup03=~s/^postsynaptique\n/postsynaptique\tA\tpostsynaptique\n/g;
$recup03=~s/^postsynaptiques\n/postsynaptiques\tA\tpostsynaptique\n/g;
$recup03=~s/^potassium\n/potassium\tN\tpotassium\n/g;
$recup03=~s/^potentiel\n/potentiel\tN\tpotentiel\n/g;
$recup03=~s/^potentiels\n/potentiels\tN\tpotentiel\n/g;
$recup03=~s/^pour\n/pour\tP\tpour\n/g;
$recup03=~s/^ppse\n/ppse\tSIGLE\tppse\n/g;
$recup03=~s/^pr\n/pr\tSIGLE\tpr\n/g;
#
$recup03=~s/^quand\n/quand\tCONJ\tquand\n/g;
#
$recup03=~s/^rapide\n/rapide\tA\trapide\n/g;
$recup03=~s/^relative\n/relative\tA\trelative\n/g;
$recup03=~s/^repolarisation\n/repolarisation\tN\trepolarisation\n/g;
$recup03=~s/^repos\n/repos\tN\trepos\n/g;
$recup03=~s/^récepteur\n/récepteur\tN\trécepteur\n/g;
#
$recup03=~s/^saltatoire\n/saltatoire\tA\tsaltatoire\n/g;
$recup03=~s/^sans\n/sans\tP\tsans\n/g;
$recup03=~s/^seuil\n/seuil\tN\tseuil\n/g;
$recup03=~s/^synaptiques\n/synaptiques\tA\tsynaptique\n/g;
#
$recup03=~s/^toute\n/toute\tADV\ttout\n/g;
$recup03=~s/^transmembranaire\n/transmembranaire\tA\ttransmembranaire\n/g;
#
$recup03=~s/^un\n/un\tD\tun\n/g;
$recup03=~s/^une\n/une\tD\tune\n/g;
#
$recup03=~s/^à\n/à\tP\tà\n/g;
#
$recup03=~s/^électrique\n/\tA\télectrique\n/g;
$recup03=~s/^électriques\n/électriques\tA\télectrique\n/g;
$recup03=~s/^électrostatique\n/électrostatique\tA\télectrostatique\n/g;
$recup03=~s/^électrotoniques\n/électrotoniques\tA\télectrotonique\n/g;
$recup03=~s/^élémentaire\n/élémentaire\tA\télémentaire\n/g;
$recup03=~s/^équilibre\n/équilibre\tA\téquilibre\n/g;

#2. Memorisation dans DUMPFULL
$DUMPFULL03.=$recup03;
}
#3.Sortie
print FILEOUT03 $DUMPFULL03;
close(FILEIN03);
close(FILEOUT03);
#Quatrième étape: renommage des fichiers en sortie
print “\nAttendez renommage de toutes vos extensions…\n”;
system “#!/bin/bash
rename .txt-token.txt -token.txt *\.txt-token.txt;
rename .txt-3.txt -3.txt *\.txt-3.txt;
rename .txt-token.txt-lexique-simtree.txt -lexique-simtree.txt *\.txt-token.txt-lexique-simtree.txt;
ls > tous-vos-fichiers\.txt;
grep token.txt tous-vos-fichiers\.txt > nom-de-fichier\.txt;
grep 3.txt tous-vos-fichiers\.txt >> nom-de-fichier\.txt;
grep lexique-simtree.txt tous-vos-fichiers\.txt >> nom-de-fichier\.txt;”;
print “\nVous avez trois nouveaux fichiers créés dans cette liste: \n”;
system “#!/bin/bash
cat nom-de-fichier\.txt;”;

#Quatrième étape treetagger2xml.pl
print “\n Si vous voulez diminuer le nombre d’entrées à étiqueter vérifiez votre fichier\.txt\.\n Si vous voulez étiqueter des entrées allez sur fichier-lexique-simtree\.txt\. \n Si vous voulez corriger un bug allez sur fichier-token\.txt ou sur votre fichier \.xml, je pense que les erreurs sont dues à la mémoire de l’ordinateur. \n Si votre fichier en sortie est vide c’est soit parce que ce n’est pas un point \.txt \n soit parce que vous avez mal tapé son nom\. \n Maintenant lancez perl treetagger2xml.pl <fichier-3\.txt> sur votre fichier étiquetté.\n Rem: treetagger2xml\.pl vient avec treetagger\. “;

Vos problèmes avec UTF-8 (Linux, Mac, langues non ASCII) -> ASCII ? + mes problèmes avec le choix du vocabulaire ?

Posted in pluriTAL by pluritaluser on 31 mai 2009

UTF-8 2 ASCII

J’ai trouvé deux programmes sur internet qui pourraient aider ceux qui ont des problèmes d’affichage de caractères. Mais je ne sais pas les utiliser parce que je ne les utilise pas:
uni2ascii
http://www.billposer.org/Software/uni2ascii.html
Recode
http://recode.progiciels-bpi.ca/README.html

Françoise Del Socorro

——————————————————————————————————

Problèmes avec mkalign pour les corpus comparables

Moi j’ai un problème avec mkalign, je ne suis pas encore dans la phase d’aligner les textes, je suis en train de choisir le lexique de mon vocabulaire. J’ai recherché les segments répétés sur lexico 3 puis j’ai sélectionné une liste de mots composés en français que je dois aligner avec des mots composés en portugais. J’ai utilisé l’option save as HTML de Mozilla puis j’ai enlevé les balises HTML. Moi ce qui serait utile pour choisir les mots ce serait de pouvoir: 1) supprimer les lignes que je ne souhaite pas avoir 2) pouvoir mettre des flèches dans les deux sens pour aligner une case sur une ou plusieurs cases et inversement. Et comme cela je pourrais choisir le vocabulaire à aligner. Je n’aime pas avoir à comparer une liste de 300mots dont 80% des lignes ne sont pas des mots, des deux côtés, mentalement.

Deuxième problème je ne sais pas si le pluriel correspond à une entrée lexicale différente, parce que même si là je suis restée sur le plan morpho-lexical, si j’avais pris en compte le sens, ce que je ne vais pas faire car cela aurait impliqué de mettre en valeur la polysémie, l’homonymie et la synonymie (il y en a autant que dans la langue courante car ce qu’on nous enseigne sur le langage scientifique c’est l’inverse de la réalité linguistique, il ne faut pas croire la norme, il faut croire les faits), morphologiquement le pluriel ne signifie pas la même chose. De plus il y en a très peu dans les segments répétés, alors je ne sais pas si je dois n’utiliser que le texte ? Proposer tout au singulier et au pluriel ? Proposer tout au singulier ? De plus si on prend en compte le pluriel x les variations morphologiques, il y aura des redondances dans la traduction des mots, et donc des cases pareilles puisqu’on ne peut pas faire des croisements. Là je parle des mots tout courts et pas des phrases.

Et donc là je ne parle que de la morphologie, des variations morphologiques, si je prenais en compte la sémantique, l’alignement serait impossible à faire à cause de la dénotation, ie: un mot peut se traduire de plusieurs façons différentes.

Finalement étant donné que j’utilise le même corpus avec Lexico3 et le Projet Multilingue, je suis en train de tout mélanger dans ma tête. Est-ce que je peux faire une explication différente dans l’index avec des liens vers des fichiers traités, des tableaux explicatifs (j’ai fait plus de traitements manuels que de traitements automatiques pour avoir de meilleurs résultats), des résultats, et des programmes pareils ? J’ai déjà commencé une pluie de blablabla avant d’avoir obtenu des résultats pour le projet multilingue… Et en plus dans le projet Lexico3 il y aura plus de choses car je vais le rendre vers le 20juin (Nanterre fini le 27juin) et avoir plus de donnée mes permettra de donner un point de vue différent dans l’index.

Exemple: potentiel-fr-mkalign.txt

potentiel de la
potentiel de la membrane  (v = variante morphologique désignant le mot composé: potentiel de membranne)
potentiel de membrane  (v = potentiel de membranne)
potentiel de membrane à
potentiel de membrane au
potentiel de membrane au repos (v = variante morphologique désignant le mot composé: potentiel de repos)
potentiel de membrane d une cellule oeuf
potentiel de membrane d une cellule
potentiel de membrane de
potentiel de membrane de repos (v = variante morphologique désignant le mot composé: potentiel de repos)
potentiel de membrane des
potentiel de membrane en

Exemple: potentiel-fr-mkalign.txt

potencial de membrana celular
potencial de membrana das células em geral
potencial de membrana das células
potencial de membrana das
potencial de membrana de repouso (v = variante morphologique désignant le mot composé: potentiel de repos)
potencial de membrana de
potencial de membrana do
potencial de membrana é
potencial de membrana em células
potencial de membrana em repouso (v = variante morphologique désignant le mot composé: potentiel de repos)
potencial de membrana em
potencial de membrana em torno de
potencial de membrana esse potencial pode ser medido
potencial de membrana está
potencial de membrana mitocondrial (v = potentiel de membranne mitochodrial – peut-être non pertinent pour un lexique général)
potencial de membrana mv
potencial de membrana na
potencial de membrana nas células
potencial de membrana no
potencial de membrana o
potencial de membrana por
potencial de membrana potencial de repouso
potencial de membrana (v = potentiel de membranne)

– > La réalité du jargon scientifique est pire si on se fie à la réalité.

Françoise Del Socorro

Projet pour projet multilingue + début du projet : les fichiers contextes sont soulignes en bash ! + qqn a 1 pgme pour découper les balises d’après lexico3?

Posted in pluriTAL by pluritaluser on 29 mai 2009

Ce que je pense faire pour le projet multilingue:

Le tableau sur les 3 mots en deux langues je vais le garder pour le projet lexico3.

Le tableau que je vais faire va avoir cette allure:

Le choix des phrases en contexte dans des corpus comparables

1 2 3 4 5 6 7 8 9 10 theme 1 mot br mot fr theme 1 1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10 theme 2 theme 2 1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10 theme 3 theme 3 1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10 theme 1 mot br mot fr theme 1 1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10 theme 2 theme 2 1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10 theme 3 theme 3 1 2 3 4 5 6 7 8 9 10

Les liens pointeront vers des fichiers de contextes concaténés.

Mon lexique bilingue aura 10 entrées.

Une fois que le tableau sera fonctionnel, ce n’est pas du tout relevant, mais je vais compter le nombre de fois que je vais trouver chacun des mots dans chaque contexte concaténé (commandes trouvées sur internet).

nom@ordinateur ~
$ wc lynx-blogtal-enligne.html
1477 11817 136984 lynx-blogtal-enligne.html

nom@ordinateur ~
$ grep -cw le lynx-blogtal-enligne.html
146

grep -cw peut compter le nombre total d’occurrences d’un motif > je ne vais que utiliser cette fonction.

Problème: je ne peux pas chercher des mots accentués (accented characters) comme “potencial de ação” parce que déjà je ne peux pas les taper. La commande qui permet de savoir si on est en UTF-8 ne répond pas: env|grep LANG. Et je n’ai pas du tout compris comment combiner les accents:

nom@ordinateur ~
$ grep -cw “structur” lynx-blogtal-enligne.html
5

nom@ordinateur ~
$ grep -cw “structur?” lynx-blogtal-enligne.html
0

Rem: Pour les mots accentués, ce n’est que sur le terminal qu’ils sont invisibles, mais la requête pour l’autre tableau (lexico3) a fonctionné dans le script: egrep -i -A1 -B1 “potencial de ação” ../DUMP-TEXT/Portugais/$i.html > ../CONTEXTES/Portugais/potencial-de-acao-$i.html; j’espère seulement qu’elle continuera de fonctionner.

Après je vais choisir 1 seule phrase par mot pour chaque langue, et je vais les mettre chacune dans un fichier texte avec le retour chariot comme délimiteur et les charger dans mkalign.

Après je vais sauvegarder le résultat de mkalign, je pense qu’on peut le sauvegarder en .html, et si c’est en xml, il va falloir faire la feuille de style.

Mon domaine c’est la biologie cellulaire et les 3 thèmes c’est potentiel d’action, potentiel de repos et potentiel de membranne. Ce pourquoi j’ai dit que le décompte des mots est arbitraire, ces 3 mots sont trop liés pour être considérés comme des thèmes, ce ne sont pas des domaines d’étude, mais comme mathématiquement tout est ensemble. Donc ces mots sont des mots-ensemble !

Ce qui change c’est que wget (lynx -source) servira à expliquer la source des documents pour lexico3, et ici on ne va pas du tout parler du téléchargement des pages web en local, car j’ai trouvé mieux d’utiliser les fichiers que j’avais normalisé pour lexico3 du coup on cherchera: “ potentiel d action ” au lieu de “ potentiel d’action ” puisque il y a plusieurs façons de mettre une apostrophe.

Françoise Del Socorro

——————————————————————————————————————-

J’ai trouvé une manière de mettre les mots en gras sous bash et de faire un minimum de présentation c’est très difficile car sed n’aime pas les balises HTML. J’ai trouvé des exemples sur internet et je me suis inspirée: http://www.grymoire.com/Unix/Sed.html

Par contre si quelqu’un a un programme qui découpe les fichiers d’après les balises de lexico3 j’aimerais bien car ce serait mieux que de redécouper toutes les +de 60pages du fichier actualisé.

Je suis au début du programme mais je vais écrire autant que je peux aujourd’hui… la sortie c’est deux carrés dont le premier carré contient des liens vers des fichiers contextes soulignés ! Je veux dire: mis en gras ! souligné c’est <u></u>, moi j’ai mis <b></b>

#!/bin/bash

tablo=”../TABLEAUX/lexique-portugais-francais.html”;

echo “Creation page html pour le lexique francais – portugais”
#
# Tableau 1
echo “Téléchargement du tableau 1…”;
# Titre dans le title-bar et titre de la page.
echo “<html><head><title>Le choix des phrases en contexte dans des corpus comparables</title></head><body bgcolor=\”#DEF7D8\” text=\”#DE6B3F\” link=\”#034B16\” alink=\”#C059E2\” vlink=\”#431C4F\”><h2><font color=\”#DE6B3F\”>Le choix des phrases en contexte dans des corpus comparables</font></h2>” >> $tablo;
# Initialisation du compteur
i=1; #contextes
j=1; #contextes2theme
k=1; #contextes
#  Outils: egrep et cat.
echo “<table border=\”4\” BORDERCOLOR=\”darkblue\” cellspacing=\”2\” cellpadding=\”8\” bgcolor=\”lightblue\”><tr><td>” >> $tablo;

#idee pour open file en bash
#cat $a >> temp
#cat temp > $a
#cat temp >> $a

for line in `cat ../URLS/norm-repos-pt.txt`
{
(egrep -i -l “potencial de repouso” $line & egrep -i -n -A1 -B1 “potencial de repouso” $line) > ../CONTEXTES/Portugais/$i.html;
a=”../CONTEXTES/Portugais/$i.html”
sed -i ‘/[a-z]/ a\</br>’ $a; #met des br en fin de ligne
cat $a >> ../CONTEXTES/Portugais/$k.temp.html;
echo “<html>” > $a;
cat ../CONTEXTES/Portugais/$k.temp.html >> $a
echo “</html>” >> $a; #met des balises html entre les contextes
sed -i -r -e ’s/potencial de repouso/<b>potencial de repouso<\/b>/g’ $a; #met les contexte en gras

(egrep -i -l “potencial de repouso” $line & egrep -i -A1 -B1 “potencial de repouso” $line) > ../CONTEXTES/Portugais/$j.temp.html;
cat ../CONTEXTES/Portugais/$j.temp.html >> ../THEMES/Portugais/potencial-de-repouso-pt.html;
rm ../CONTEXTES/Portugais/*\.temp.html;
echo “<a href=\”../CONTEXTES/Portugais/$i.html\”>$i</a>” >> $tablo;
let “i+=1″ ;
let “j+=1″ ;
let “k+=1″ ;
}
echo “</td>” >> $tablo;
echo “<td><a href=\”../THEMES/Portugais/potencial-de-repouso-pt.html\”>Potenciel de Repos pt</a></td>” >> $tablo;
echo “</tr></table>” >> $tablo;

echo “</body></html>” >> $tablo;
echo “terminé.”;

Françoise Del Socorro

Petit résumé en syntaxe formelle

Posted in pluriTAL by pluritaluser on 24 mai 2009

Lisez absolument l’article de Mourad sur le XSL: Comment créez votre site de document structuré qui est dessous !!!

Si jamais vous passez par le blog lundi, je vous propose un résumé d’une grande partie des photocopies de la prof, il faut lire les photocopies aussi.

To download the summary, you can go to my bloop: http://www.mybloop.com/francoisepeace >> resume-syntaxe.odt
Or ask Foutoun or Raoum to send it to you.

Voici un extrait:

Given ; <=> \n and {a,b} <=> a or b

3.3.7 The head feature principle

According to the Head Feature Principle (HFP), the HEAD value of the mother and the HEAD value of the head-daughter are identical, so if we place an H on the right side of the head-daughter, we can simplify both the mother and the head-daughter.

Same HEAD

Examples:

mother

head-daughter

strict-transitive phrase: S → V NP:

[phrase ; VAL[COMPS itr ; SPR ]]

H[word ; VAL[COMPS str ; SPR ]] NP

nominal phrase: NP → D NOM:

[phrase ; VAL[COMPS itr ; SPR +]]

→ D H[phrase ; HEAD noun ; VAL[SPR ]]

NOM

N (word)

NP

NOM (phrase)

VP

V (word)

S

VP (phrase)

PP

VP/NOM (phrase)

Françoise Del Socorro

Comment créez votre site de document structuré

Posted in pluriTAL by pluritaluser on 23 mai 2009

Bonjour Françoise et tous mes camarades,

Suite à votre demande j’ai rédigé ce petit tutorial et espérant qu’il vous aide à faire votre site des documents structurés.

En effet, le site web qu’on doit faire nécessite nos connaissances en html/css et les connaissances qu’on doit l’acquérir à travers surtout les exercices de TP XSLT.

Dans la suite, nous allons voir un petit exemple dont nous allons créer une pages web en utilisant un fichier XML, un fichier XSLT et un fichier CSS.

Tout d’abord, on crée un fichier xml bien structuré qui contient toutes les informations et les liens qu’on veut les mettre. Vous savez le choix des balises dans le xml est arbitraire donc vous créez votre page « index.xml » comme vous voulez à condition qu’il soit bien formé.

Dans notre exemple, le document suivant que je l’ai appelé index.xml présente l’enonce et la solution d’exercice1 de TP XPATH.

Voici notre exemple index.xml :

<?xml version="1.0" encoding="UTF-8"?>
<rapport>
    <page titre="Accueil" status="nav" link="ACCUEIL.xml"/>
    <page titre="XML" status="nav" link="XML.xml"/>
    <page titre="XPATH" status="cour" link="XPATH.xml">
	        <section titre="result_bio-v3.xml">
            <exercice>
                <enonce>Rechercher tous les SN</enonce>
                <solution><code><![CDATA[//SN]]></code></solution>
            </exercice>
            <exercice>
                <enonce>Rechercher tous les SV</enonce>
                <solution><code><![CDATA[//SV]]></code></solution>
            </exercice>
            <exercice>
                <enonce>Rechercher tout élément ORGANIZATION</enonce>
                <solution><code><![CDATA[//ORGANIZATION]]></code></solution>
            </exercice>
            <exercice>
                <enonce>Rechercher tout élément LOCATION</enonce>
                <solution><code><![CDATA[//LOCATION]]></code></solution>
            </exercice>

        </section>
</page>
<page titre="XSLT" status="nav" link="XSLT.xml"/>
</rapport>

Aprés comme nous avons fait dans le TP XSLT, nous créons tous d'abord la feuille de style xslt pour cette
 page.
Pour notre exemple la feuille de style XSL est la suivante:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="html"/>

<!-- ******************* impression de la structure HTML *********************** -->

<xsl:template match="rapport">

    <html lang="fr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

        <head>
            <title><xsl:value-of select="info/titre"/></title>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
           <!-- L'appel au feuille de style CSS -->
           <link rel="stylesheet" href="rapport_fichiers/style.css"/>
        </head>

        <body>
            <div id="entete">
           <h2 style="color:#000000;"> Site Documents Structurés</h2>
            </div>

            <div id="navigation">
                <xsl:call-template name="navigation"/>
            </div>

            <div id="espace_de_travail">
                <xsl:apply-templates select="page"/>
            </div>

            <div id="footer">
                Présentation faite par <b><xsl:value-of select="info/nom"/></b>,
                <xsl:value-of select="info/e-mail"/>, <xsl:value-of select="info/date"/>
            </div>
        </body>

    </html>
</xsl:template>

<!-- ******************* impression des onglets *********************** -->

<xsl:template name="navigation">
    <xsl:for-each select="page">
        <a>
            <xsl:attribute name="class">
                <xsl:value-of select="@status"/>
            </xsl:attribute>

            <xsl:attribute name="href">
                <xsl:value-of select="@link"/>
            </xsl:attribute>

            <xsl:value-of select="@titre"/>
        </a>
        <xsl:text> </xsl:text>
    </xsl:for-each>
</xsl:template>

<!-- ******************* impression page *********************** -->

<xsl:template match="page">
    <xsl:if test="@status='cour'">
        <h2><xsl:value-of select="./@titre"/></h2>
        <xsl:for-each select="section">
            <h3><xsl:value-of select="./@titre"/></h3>
            <xsl:apply-templates/>
            <h4 align="right"><a href="#entete">remonter</a></h4>
        </xsl:for-each>
    </xsl:if>
</xsl:template>

<!-- ******************* impression section *********************** -->

<xsl:template match="commentaire">

    <p><xsl:apply-templates/></p>

</xsl:template>

<xsl:template match="exercice">

    <p><b><xsl:number format="1"/>.</b><xsl:apply-templates/></p>

</xsl:template>

<!-- ******************* impression exercice *********************** -->

<xsl:template match="enonce">

    <b><xsl:value-of select="."/></b><br/>

</xsl:template>

<xsl:template match="solution">

    <p><xsl:apply-templates/></p>

</xsl:template>

<xsl:template match="prog">
    <blockquote>
        <pre>
            <xsl:apply-templates/>
        </pre>
    </blockquote>
</xsl:template>

<!-- ******************* mise en page bold/italic/code *********************** -->

Après n'oubliez pas d'ajouter l'appel au feuille de style dans le fichier index.xml comme nous voyons
dans notre exemple:
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
Maintenant vous pouvez tester et voir que votre fichier index.xml est bien transformé.
La résultat n'est pas très agréable. C'est pour cela nous allons faire appel au css pour que notre
fichier soit beaucoup mieux.
Puisque les transformation se fait en utilisant une feuille XSLT. Donc au niveau de feuille de style XSLT
aussi qu'il faut appliquer le CSS.
Il existe 3 méthodes pour appliquer les classes CSS, la meilleur méthode consiste à créer un fichier
style.css qui contient tous les classes CSS que vous voulez l'appliquer sur stylesheet.xsl.
Afin de faire un appel à style.css dans stylesheet.xsl.
L'appel se fait en ajoutant la ligne suivante dans votre fichier stylesheet.xsl
<link rel="stylesheet" href="rapport_fichiers/style.css"/>

Voici un exemple de fichier style.css:
body
{
font-family: Verdana, Arial, sans-serif;
font-size: 11px;
padding:15px;

}

#entete
{
width:700px;
height: 100px;
margin:auto;
border-color:#5d6c79;
border-style:solid;
border-width:1px;
border-bottom-style:solid;

padding-left:15px;
padding-right:15px;
background-repeat:repeat-x;
background-position:top;
background-color:#ffffff;
}
a.nav
{
padding-left:25px;
padding-right:25px;
border-color:#5d6c79;
border-style:solid;
border-width:1px;
text-align:center;
background-color:#fdb57a;
}

a.nav:hover
{
padding-left:25px;
padding-right:25px;
border-color:#5d6c79;
border-style:solid;
border-width:1px;
text-align:center;
background-color:#ffffff;
}
Maintenant, vous avez une page web très agréable :) .
Enfin si vous avez bien compris vous pouvez utilisez ce exemple pour faire vos sites.
Et comme a dit M. Fleury « n'hésitez pas à voir les travaux des années derniére »
pour inspiré et prendre des bonnes idées.
Remarque importante: Ce exemple est extrait de site de Ivan Smilauer (2006-2007)

                                     Bon courage
                                     Mourad Aouini

wget en local et lynx en local (projet multilingue)

Posted in pluriTAL by pluritaluser on 20 mai 2009

Au cas où wget ne marche pas en local, essayez: lynx -source, je n’ai trouvé aucun forum qui propose cela, mais j’ai eu l’idée parce que c’est comme cela que l’on fait avec les navigateurs comme IE ou Mozilla on peut sélectionner la source et la sauvegarder en .html
Le -term=vt100 indique le type de navigateur, on ne l’utilise que si cygwin nous le demande.

Exemples:
wget -O wget-blogtal-enligne.html http://tal-p3.wordpress.com/
wget -O wget-blogtal-enlocal.html file://localhost/cygdrive/c/cygwin/home/fran/wget-blogtal-enligne.html
lynx -source http://tal-p3.wordpress.com/ > ./lynx-blogtal-enligne.html
lynx -source -term=vt100 file://localhost/cygdrive/c/cygwin/home/fran/lynx-blogtal-enligne.html > lynx-blogtal-enlocal.html

Toutes les pages téléchargées sont pareilles !

********Rappel:
Pour poster sur le blog, le username c’est: pluritaluser et le mot de passe c’est le nom de l’endroit où on apprend le projet encadré -2008, après on fait: articles > add new, moi je fais toujours ” aperçu ” avant de ” publier ” sinon ça ne marche pas de chez moi.

Françoise Del Socorro

Devoir Loupy – RI pour le Mardi 26 Mai

Posted in pluriTAL by pluritaluser on 18 mai 2009

Aller sur Wordnet http://wordnet.princeton.edu/ > Use Wordnet Online, regarder 5 mots appartenant à un domaine assez concret et pas trop large, et essayer de voir les liens entre ces mots: synonymie, hyponymie, hyperonymie, méronymie, etc. Répondre aux questions:

  1. Quelle est la nature des liens entre ces mots ?

  2. Est-ce que le lien thématique est bien fait (au cas où on le trouve)?

    Remarques:

    * En cours il a critiqué Wordnet parce que il n’y a pas le lien entre King et Queen à part Human parce que ce sont des gens qui ne se connaissaient pas qui ont étiqueté ces deux mots séparément, et il n’est pas non plus d’accord avec la top ontology parce que les américains rapportent tout dans la catégorie Dieu, or pour nous ce n’est ni objectif ni utile puisque notre but est d’avoir un lexique qui permette de désambiguïser les mots sémantiquement de façon automatique.

    * Il n’est pas non plus d’accord avec les définitions dans les dictionnaires communs car elles sont trop générales parce que si on essaye de relier les mots en contextes avec leurs définitions lexicologiques on voit très vite qu’il y a des sens qui manquent, et donc ce qui nous intéresse c’est d’avoir la distinction la plus grossière possible porteuse d’information en rapport avec ce qui est dit dans le texte.

    * De plus il n’est pas non plus d’accord avec l’idée de tout devoir relier au sommet, il pense qu’on peut avoir des catégories isolées parce qu’on ne cherche pas à représenter l’univers. On veut c’est travailler par champ sémantique en fonction du client que l’on a: assurances, voyages, vacances, informatique… Donc il faut qu’on néglige les 3 premiers niveaux hiérarchiques en partant du sommet et qu’on critique le sens des mots dans le domaine sémantique qu’on a choisi.

    * Finalement il pense aussi qu’il faut admettre les doubles héritages: un mot peut appartenir à plusieurs catégories sémantiques différentes. Et que l’homogénéité dans la description des catégories n’est pas importante, si on a besoin, on peut avoir dans la catégorie SPORT l’hyponyme sport d’équipe et l’hyponyme sport de ballon, ce n’est pas incompatible.

Vous avez le temps, on n’a pas cours ce jeudi (21 mai), et le devoir c’est pour mardi prochain (26 mai),

Françoise Del Socorro

***************************************************************

Comment utiliser facilement le XSL ?

Un document XML contient des données structurées.

Un document XSL contient la page web (ou le fichier texte en output) + les données structurées.

Ce qui fait que XML + XSL <> HTML.

En HTML on peut avoir une liste de règles prédéfinies associées aux balises:

<html>Définit un document html.</html>

<head>Délimite l’en-tête.</head>

<body>Délimite le corps du document et permet de donner l’affichage à défaut pour tout le document.</body>

<p>Permet de sauter une ligne (angl = paragraph).

<br>Permet d’aller à la ligne (angl = line break).

<pre>Permet d’afficher le texte tel qu’il est préformatté dans le fichier texte.</pre>

<b>Permet de mettre le texte en gras.</b>

<i>Permet de mettre le texte en italique.</i>

<u>Permet de souligner le texte.</u>

<sup>Permet de mettre un texte en indice.</sup>

etc…

En XML, comme c’est la première fois que j’en fais, j’ai essayé de re-créer cette idée, mais ça a été un échec car ça ne sert pas à cela. Le XML ne présente pas le texte tel qu’il doit s’afficher et ne doit pas donner d’indices sur comment l’afficher.

Un document XML contient des données structurées dans le but de partager un corpus textuel avec d’autres chercheurs et sur lequel on peut effectuer des requêtes XPATH. Donc le document XSL contient les requêtes XPATH + l’HTML avec toutes ses balises fermées ou auto-fermées:

<p/> ou <p>texte</p>

<br/> ou <br>texte</br>

etc…

Donc on peut considérer le fichier XSL comme un fichier HTML enrichi.

1) Relation entre XML et XSL

Un document XML est bien formé si il contient au moins la déclaration XML <?xml version=”1.0″?> et que il est sauvegardé en .xml. Mais le français contient des signes diacritiques et donc il faut dire que le codage qu’on utilise c’est du latin 1: <?xml version=”1.0″ encoding=”iso-8859-1″?> pour que tous nos caractères soient valables. On pourrait également utiliser de l’UTF-8 qui est apparemment le codage utilisé dans MAC OS et LINUX.

Un document XML s’affiche comme un fichier HTML sur le navigateur s’il contient le lien vers le fichier XSL qui donne les règles d’affichage du document: <?xml-stylesheet type=”text/xsl” href=”nom-fichier.xsl”?>

Un document XML associé à une feuille de style XSL peut être transformé en un fichier HTML soit au moyen d’un éditeur XML (ex: cooktop, editix) soit au moyen de la commande Transform du programme SAXON:

Ex: Invite de commandes

C:\Users\fran>cd /

C:\>cd ./Fpgmes/Saxon

C:\Fpgmes\Saxon>.\saxonb9-1-0-6n\bin\Transform -t -s:\fran\aaa\art1.xml -xsl:\fran\aaa\style-art1.xsl -o:c:\fran\aaa\art1.html

(Sur cygwin c’est la même chose avec les slash à l’envers et il faut vérifier s’il préfère les chemins relatifs ou absolus / ou ./)

2) Relation entre XSL et HTML

On a le choix entre modifier les balises XML qui suggèrent un format de sortie HTML, ce qui est pénible car la plupart du temps on ne trouve pas comment faire:

XML:

<a href=”http://www.centrepompidou.fr/education/ressources/ENS-abstrait/ENS-abstrait.html”>la peinture abstraite</a>ne reflète pas<a href=”http://www.espacefrancais.com/realisme.html“>la réalité</a>

XSL:

<xsl:template match=”a”>

<xsl:choose>

<xsl:when test=”//a[@href]“>

<a href=”{@href}”>

<xsl:value-of select=”.”/><xsl:text/></a>

</xsl:when>

</xsl:choose>

</xsl:template>

Ou utiliser le fichier XSL comme un fichier HTML enrichi avec les requêtes XPATH.

En ce qui concerne XPATH, je fais mes tests sur XPathBuilder http://www.bubasoft.net/xpathbuilder/Xpathbuilder.aspx qui malgré tout ne reconnaît pas les accents, et je n’oublie pas de mettre //. Et là je crée ma page web entièrement sur le fichier XSL. Voici un exemple:

XML:

<?xml version=”1.0″ encoding=”iso-8859-1″ standalone=”no”?>
<?xml-stylesheet type=”text/xsl” href=”style-art3.xsl”?>
<document>
<phrase>
<syntagme cat=”GN”>
<token>
<categorie>D</categorie><lemme>le</lemme><vocable>L’</vocable>
</token>
<token>
<categorie>N</categorie><lemme>art</lemme><vocable>art</vocable>
</token>
<token>
<categorie>A</categorie><lemme>contemporain</lemme><vocable>contemporain</vocable>
</token>
</syntagme>
<syntagme cat=”GV”>
<token>
<categorie>V</categorie><lemme>plaire</lemme><vocable>plaît</vocable>
</token>
</syntagme>
<syntagme cat=”PO”>
<token>
<categorie>E</categorie><lemme>!</lemme><vocable>!</vocable>
</token>
</syntagme>
</phrase>
</document>

XSL:

<?xml version=”1.0″ encoding=”iso-8859-1″?>

<xsl:stylesheet xmlns:xsl=”http://www.w3.org/1999/XSL/Transform” version=”2.0″>

<xsl:output method=”html”/>

<xsl:template match=”/”>

<html>

<head>

<title>Le titre de votre page</title>

<meta http-equiv=”content-type” content=”text/html; charset=windows-1250″/>

</head>

<body bgcolor=”lightpink” text=”mediumseagreen” link=”red” alink=”indigo” vlink=”gray” background =”./IMAGES/image-fond.jpg”>

<p align=”left”/><u>Auteur 1:</u> Liste de vocables:

<xsl:for-each select=”//vocable”>

<xsl:apply-templates select=”.”/><xsl:text> </xsl:text>

</xsl:for-each>

<p/><xsl:apply-templates select=”./document/phrase”/>

</body>

</html>

</xsl:template>

<xsl:template match=”//phrase”>

<p align=”left”>

<table bgcolor=”mediumseagreen”>

<tr><td><font color=”blue”>Auteur 2</font></td></tr>

<tr><td><font color=”lightpink”>

Liste de lemmes:

<xsl:for-each select=”//lemme”>

<b><xsl:apply-templates select=”.”/></b><xsl:text> </xsl:text>

</xsl:for-each>

</font></td></tr></table>

</p>

<p align=”center”>

<table bgcolor=”mediumseagreen”>

<tr><td><font color=”lightpink”>Auteur 3</font></td></tr>

<tr><td><font color=”lightblue”>

Liste de categories:

<xsl:for-each select=”//categorie”>

<pre><xsl:apply-templates select=”.”/></pre>

</xsl:for-each>

</font></td></tr></table>

</p>

<p align=”right”>

<table bgcolor=”#3034E0″>

<tr><td><font color=”greenyellow”>Auteur 4</font></td></tr>

<tr><td><font color=”lightcoral”>

Liste de syntagmes:

<xsl:for-each select=”//syntagme”>

<xsl:text> </xsl:text>

<xsl:value-of select=”name()”/>

<xsl:text> = </xsl:text>

<xsl:apply-templates select=”@cat”/>

<xsl:text> ,</xsl:text>

</xsl:for-each>

<br/>

<p/>

<xsl:for-each select=”//syntagme[@cat='GN']“>

<xsl:text> </xsl:text>

<xsl:value-of select=”@cat”/>

<xsl:text> = </xsl:text>

<xsl:apply-templates select=”//syntagme[@cat='GN']/token/categorie”/>

<xsl:text> ,</xsl:text>

</xsl:for-each>

<xsl:for-each select=”//syntagme[@cat='GV']“>

<xsl:text> </xsl:text>

<xsl:value-of select=”@cat”/>

<xsl:text> = </xsl:text>

<xsl:apply-templates select=”//syntagme[@cat='GV']/token/categorie”/>

<xsl:text> ,</xsl:text>

</xsl:for-each>

<xsl:for-each select=”//syntagme[@cat='PO']“>

<xsl:text> </xsl:text>

<xsl:value-of select=”@cat”/>

<xsl:text> = </xsl:text>

<xsl:apply-templates select=”//syntagme[@cat='PO']/token/categorie”/>

<xsl:text> .</xsl:text>

</xsl:for-each>

</font></td></tr></table>

</p>

</xsl:template>

</xsl:stylesheet>

Ainsi vous avez plus de liberté pour créer votre page web et moins de contraintes et de règles en conflit. Une fois que vous aurez choisi le format de votre page HTML, vous la mettez dans le XSL et puis voilà. Ce n’était pas mon idée de départ quand j’ai commencé à imaginer mon site mais c’est ma conclusion. Je mets les deux fichiers sur mon Bloop http://www.mybloop.com/francoisepeace pour que vous les testiez et Mourad va sûrement vous expliquer comment utiliser css et xsl au même temps.

Françoise Del Socorro

FTP explication d’une nécessité

Posted in pluriTAL by pluritaluser on 27 avril 2009

Mon site web du projet 2 est presque fini:
http://francoisepeace.cwahi.net/rss-livres.culture-lemonde/index.htm

Il remplace celui de geocities (qui va fermer) et de 125mb.com qui n’acceptait pas de télécharger de gros fichiers.

J’ai commencé par utiliser le FTP interne, mais après je me suis rendue compte que dans l’onglet My Account il y a les instructions pour utiliser le FTP externe, celui qui aspire tous nos fichiers et tous nos dossiers sans qu’on ne fasse rien. Bien que dans la version gratuite de Core FTP il ne supporte pas d’innombrables fichiers au même temps. Bref, l’adresse FTP de ce site fonctionne de la façon suivante: 1 FTP pour tous les sites de cwahi, mais il faut être honnête et indiquer la bonne destination de ces fichiers. La sécurité n’est pas géniale mais au moins tout est illimité.

Pour les autres cours, j’ai encore de l’espoir dans la session de septembre, car pour moi le plus difficile ce n’est pas l’informatique, c’est aller vite.

Françoise Del Socorro

——————————————————————————————————————————————————————————-

Après avoir essayé Yahoo Geocities (15Mo max) et 125Mb.com (125Mo max):

http://rss-livres-culture-lemonde.medianewsonline.com/

Je me suis rendue compte qu’il n’y a pas que la taille du site web qui compte pour mettre mes devoirs de Projet Encadré (qui n’est pas encore fini). Il y a aussi la taille maximale des fichiers qu’il accepte.

Me voilà donc en train de chercher un nouveau site web gratuit (free web hosting) avec au moins 100mo et no file size limit.

En ce qui concerne le upload, il faut absolument utiliser le FTP vu la taille et la quantité des fichiers qui pour nous sont petits mais pour le web sont grands. C’est la première fois que j’utilise un FTP et c’est très facile.

Le site web vous fournit le nom de l’hôte qui est l’adresse de votre site web (ou du sous-domaine) après le home\www\, vous choisissez à l’intérieur du site votre 2eme username et 2eme password, et le port à défaut c’est 21 pour tous les ordinateurs.

host: rss-livres-culture-lemonde.medianewsonline.com
user: 258228_258228
password: ***************
port: 21

J’ai essayé Filezilla mais c’est trop lent, je vous recommande la version gratuite de Core FTP:

http://www.coreftp.com/download.html

Si vous utilisez Core FTP, on met ces informations dans le File Manager. Et pour que ça fonctionne il faut être simultanément connecté dans le File Manager de votre site web, là où il y a tous vos dossiers et vos fichiers car le FTP ne passe pas par l’entrée principale du site web, il passe par les options FTP que vous avez choisis (2eme username, 2eme mot de passe) dans votre nom de domaine gratuit.

Quand il y a trop de FAILED c’est parce que le site web gratuit limite la taille de ses fichiers à 500Ko environ d’où l’intérêt d’avoir un host gratuit avec no file size limit (nos fichiers ont plus de 700Ko). Vous verrez que mon site web n’est pas complet à cause de cela, donc il va falloir que je déménage encore une fois.

Françoise Del Socorro

Questions

Posted in pluriTAL by pluritaluser on 23 avril 2009

J’avais posé la question:

Comment lancer patron2graphe.exe ?

Est-ce qu’il faut ne pas avoir Windows Vista ? Parce que Treetagger ne fonctionne pas dans mon ordinateur. Ou alors il faut télécharger un programme pour que Cygwin reconnaisse les .exe ?

fran@Charmmy-Kitty ~/Projet2/patron2graphe-2.0
$ patron2graphe.exe “iso-8859-1″ patrons-1.txt
bash: patron2graphe.exe: command not found

Et je viens de trouver la réponse ce matin:

./patron2graphe.exe “iso-8859-1″ patrons-1.txt

Françoise Del Socorro

Utilités (doublons, html)

Posted in pluriTAL by pluritaluser on 18 avril 2009

1) La commande sort (sort -u fic) est téléchargeable dans le package coreutils: GNU core utilities (includes fileutils, sh-utils and textutils) à partir du setup.exe de Cygwin.

2) C’est ainsi que je vais éditer automatiquement mes pages web:
http://www.mybloop.com/francoisepeace
Pour changer l’affichage automatique de la page web, remplacez le code source de ma page web par le code source de votre page web. Mon code source est en bas du fichier Perl.
Pour changer les couleurs, il faut soit mettre les noms en anglais, soit télécharger un éditeur hexadécimal de couleurs (visual color picker, etc…) soit aller dans une page qui vous donne ce code et le mettre après le #.
Pour additionner ou supprimer des changements, il suffit d’imiter le code.

MyBloop stores your files forever. They will never be deleted and will never expire, unless you delete the file yourself.
The site to upload and share files for free with infinite space.

Françoise Del Socorro

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

3) Je pense que la plupart d’entre vous on finalisé la BAO3, mais pour ceux qui ne savent pas du tout la faire et qui n’ont pas eu les programmes de SF, extrait-term.pl ni extract-patron-cordial.pl de SF je vous propose mes programmes qui font la même chose en plus long et plus compliqué. Je n’ai pas fait de version générale pour mon dernier programme car je devais commencer Document structuré et donc c’est vous qui devez la faire.

-3- treetagger

-3c- treetagger + cordial

-c3- cordial normalisé en treetagger

j’ai fait les rubriques livres et culture mais la plupart des programmes ont des versions générales incluses

le résultat est un tableau comparatif de Cordial et Treetagger

http://www.mybloop.com/francoisepeace

Françoise Del Socorro

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

J’ai commencé les TP de document structurés, et j’ai été étonné qu’on n’avait pas besoin des entités HTML dans XML:

http://xmlfr.org/documentations/tutoriels/010115-0003

Le deuxième point qui frappe les développeurs HTML s’attaquant à XML est le petit nombre de “caractères spéciaux” permettant de désigner des caractères non- ascii.

Les caractères spéciaux HTML appelés “entités générales internes” ou plus communément entités dans la terminologie XML et permettant de définir des caractères accentués, des symboles monétaires et autres copyright ou espaces insécables dans des encodages où ils peuvent ne pas exister ne sont pas nécessaires pour XML qui s’appuyant sur Unicode permet d’insérer tous ces caractères sans avoir recours à cet artifice.

Ces caractères spéciaux ne sont donc pas prédéfinis en XML et doivent être définis dans une DTD avant de pouvoir être utilisés.

Si cette définition est réalisée dans certaines DTDs comme XHTML (pour des raisons de compatibilité) ou DocBook, pour la plupart des vocabulaires XML et en particulier pour XSLT, ces entités ne sont pas définies et un parseur XML générera une erreur s’il rencontre par exemple “&nbsp;” ou “&eacute;”.

Les seules exceptions sont, bien entendu, les entités nécessaires à inclure les caractères de balisage (”&amp;”, “&lt;”, “&gt;”, “&apos;” et “&quot;”).

Et donc un petit programme en Perl comme xml2web.pl (pas xml2html.pl qui affiche xml) contenant

while(my $recup=<FILEIN>) {
#1. transcodage
###Les paragraphes###
$recup=~s/(\s)*\n/\n/g; #supprime les espaces avant le retour à la ligne
$recup=~s/^\n/<p\/>\n/g; #met des paragraphes dans tous les sauts de ligne
if ($recup=~/[^<p\/>]\n/g) {
$recup=~s/\n/<br\/>\n/g
};# met des br en fin de ligne lorsque la balise <p> n’est pas là
###Les guillemets dans le texte balise
unless (($recup=~/1.0/g)||($recup=~/UTF-8/g)||($recup=~/text\/xsl/g)||($recup=~/ti-prince/g)){
$recup=~s/\”/&quot\;/g;
}
#2. Memorisation dans DUMPFULL
$DUMPFULL.=$recup;
}

devrait suffire largement pour éditer toutes vos pages en XML avec des feuilles de style XSL.

Je n’ai pas encore testé le résultat mais je pense que le texte sera mis en forme convenablement car cooktop accepte les documents avec des balises XML modifiés ainsi.

Et j’ai aussi découvert que le </br> n’était pas fermé pour XML, il faut qu’il soit : <br/>.

Je n’ai pas encore mis ce programme en ligne, mais il y en a tellement qui se ressemblent que vous pourrez facilement l’essayer en modifiant paragraphes.pl

Espérons que les br et les p fermés s’afficheront comme il faut.

Françoise Del Socorro

—————————————

Pour le XSLT et le XPath, je vous conseille un site où je suis en train d’apprendre:

http://www.zvon.org/index.php?nav_id=tutorials
Pour Xpath, on peut tester avec Xlab les exemples.

Françoise Del Socorro

————————————

Finalement en ce qui concerne les bibliographies (corpus parallèles et comparables, etc.), je crois que le TAL a des normes de présentation des auteurs que je ne connais pas encore et qui sont différentes de celles-ci, mais celles que je connais sont les suivantes:

http://www.ulb.ac.be/philo/infodoc/biblio.html#types
Exemple: “

Responsabilité principale (de la contribution) – Titre (de la contribution) – Titre (de la série) – Type de support – Édition – Désignation du numéro – Date de mise à jour ou de révision – Emplacement à l’intérieur du document hôte.

THANARAJ, T.A., et ARGOS, P., “Ribosome-mediated translational pause and protein domain organization” dans Protein Science. Electronic Edition, Revue sur INTERNET, août 1996, vol. 5, n° 8, p. 1594-1612, dernière mise à jour : 6 août 1996, http://www.prosci.uci.edu/cgi-bin/sgmhtm5.conv.pl?, Vol5 No08/6048, 1996.

Et pour avoir les auteurs présumés des sites: http://news.nic.com/cgi-bin/whois (sites anglais), http://www.afnic.fr/outils/whois (sites français), essayez sur Mozilla: Outils > Informations sur la page, pour avoir la dernière date de modification.

Françoise Del Socorro