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

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 &raquo; 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

Publicités

Une Réponse

Subscribe to comments with RSS.


Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :