accueil | bào1 | bào2 | bào3 | bào4 | bào + le_trameur

Boîte à outils n°3

Objectif : construire une liste de patrons à partir des contenus textuels des fils traités.

Ressources

L'ensemble des fichiers XML obtenus lors de la phase d'étiquetage morpho-syntaxique.

Réalisation

Ecrire une feuille de styles pour chacun des patrons à extraire. L'évaluation XPath marche aussi bien pour les fichiers étiquetés avec Cordial que ceux étiquetés avec TreeTagger.

NOM-ADJ

Feuille de styles : nom_adj.xsl

<xsl:template match="element">
	<xsl:if test="(./data[contains(text(),'NC') or contains(text(),'NOM')]) and (following-sibling::element[1][./data[contains(text(),('ADJ'))]])">
		<xsl:value-of select="./data[3]" /> 
		<xsl:text> </xsl:text>
		<xsl:value-of select="following-sibling::element[1]/data[3]" />
		<xsl:text>
</xsl:text>
	</xsl:if>
</xsl:template>

NOM-NOM

Feuille de styles : nom_nom.xsl

<xsl:template match="element">
	<xsl:if test="(./data[contains(text(),'NC') or contains(text(),'NOM')]) and (following-sibling::element[1][./data[contains(text(),'NC') or contains(text(),'NOM')]])">
		<xsl:value-of select="./data[3]" /> 
		<xsl:text> </xsl:text>
		<xsl:value-of select="following-sibling::element[1]/data[3]" />
		<xsl:text>
</xsl:text>
	</xsl:if>
</xsl:template>

NOM-PREP-NOM

Feuille de styles : nom_prep_nom.xsl

<xsl:template match="element">
	<xsl:if test="(./data[contains(text(),'PREP') or contains(text(),'PRP')]) and (preceding-sibling::element[1][./data[contains(text(),'NC') or contains(text(),'NOM')]]) and (following-sibling::element[1][./data[contains(text(),'NC') or contains(text(),'NOM')]])">
		<xsl:value-of select="preceding-sibling::element[1]/data[3]" />
		<xsl:text> </xsl:text>
		<xsl:value-of select="./data[3]" /> 
		<xsl:text> </xsl:text>
		<xsl:value-of select="following-sibling::element[1]/data[3]" />
		<xsl:text>
</xsl:text>
	</xsl:if>
</xsl:template>

Tester les différentes transformations XSL avec un programme comme Cooktop :

Ecriture d'un programme (bao3.pl) chargé d'extraire les suites NOM-ADJ, NOM-NOM et NM-PREP-NOM de chacun des fichiers.

Fichiers : bao3.pl

Résultat

Patrons issus de l'étiquetage avec Cordial

Cordial
NOM-ADJNOM-NOMNOM-PREP-NOM
cinémac-cinema-nom_adj.txtc-cinema-nom_nom.txtc-cinema-nom_prep_nom.txt
culturec-culture-nom_adj.txtc-culture-nom_nom.txtc-culture-nom_prep_nom.txt
sciencesc-sciences-nom_adj.txtc-sciences-nom_nom.txtc-sciences-nom_prep_nom.txt
économiec-economie-nom_adj.txtc-economie-nom_nom.txtc-economie-nom_prep_nom.txt
europec-europe-nom_adj.txtc-europe-nom_nom.txtc-europe-nom_prep_nom.txt
examens 2008c-examens_2008...c-examens_2008...c-examens_2008...
internationalc-international-nom_adj.txtc-international-nom_nom.txtc-international-nom_prep_nom.txt
livresc-livres-nom_adj.txtc-livres-nom_nom.txtc-livres-nom_prep_nom.txt
mediasc-medias-nom_adj.txtc-medias-nom_nom.txtc-medias-nom_prep_nom.txt
municipales-cantonalesc-municipales-cantonales...c-municipales-cantonales...c-municipales-cantonales...
opinionsc-opinions-nom_adj.txtc-opinions-nom_nom.txtc-opinions-nom_prep_nom.txt
politiquec-politique-nom_adj.txtc-politique-nom_nom.txtc-politique-nom_prep_nom.txt
rendez-vousc-rendez-vous-nom_adj.txtc-rendez-vous-nom_nom.txtc-rendez-vous-nom_prep_nom.txt
societec-societe-nom_adj.txtc-societe-nom_nom.txtc-societe-nom_prep_nom.txt
sportsc-sports-nom_adj.txtc-sports-nom_nom.txtc-sports-nom_prep_nom.txt
technologiesc-technologies-nom_adj.txtc-technologies-nom_nom.txtc-technologies-nom_prep_nom.txt
unec-une-nom_adj.txtc-une-nom_nom.txtc-une-nom_prep_nom.txt
voyagesc-voyages-nom_adj.txtNULLc-voyages-nom_prep_nom.txt

Patrons issus de l'étiquetage avec TreeTagger

TreeTagger
NOM-ADJNOM-NOMNOM-PREP-NOM
cinématt-cinema-nom_adj.txttt-cinema-nom_nom.txttt-cinema-nom_prep_nom.txt
culturett-culture-nom_adj.txttt-culture-nom_nom.txttt-culture-nom_prep_nom.txt
sciencestt-sciences-nom_adj.txttt-sciences-nom_nom.txttt-sciences-nom_prep_nom.txt
économiett-economie-nom_adj.txttt-economie-nom_nom.txttt-economie-nom_prep_nom.txt
europett-europe-nom_adj.txttt-europe-nom_nom.txttt-europe-nom_prep_nom.txt
examens 2008tt-examens_2008...tt-examens_2008...tt-examens_2008...
internationaltt-international-nom_adj.txttt-international-nom_nom.txttt-international-nom_prep_nom.txt
livrestt-livres-nom_adj.txttt-livres-nom_nom.txttt-livres-nom_prep_nom.txt
mediastt-medias-nom_adj.txttt-medias-nom_nom.txttt-medias-nom_prep_nom.txt
municipales-cantonalestt-municipales-cantonales...tt-municipales-cantonales...tt-municipales-cantonales...
opinionstt-opinions-nom_adj.txttt-opinions-nom_nom.txttt-opinions-nom_prep_nom.txt
politiquett-politique-nom_adj.txttt-politique-nom_nom.txttt-politique-nom_prep_nom.txt
rendez-voustt-rendez-vous-nom_adj.txtNULLtt-rendez-vous-nom_prep_nom.txt
societett-societe-nom_adj.txttt-societe-nom_nom.txttt-societe-nom_prep_nom.txt
sportstt-sports-nom_adj.txttt-sports-nom_nom.txttt-sports-nom_prep_nom.txt
technologiestt-technologies-nom_adj.txttt-technologies-nom_nom.txttt-technologies-nom_prep_nom.txt
unett-une-nom_adj.txttt-une-nom_nom.txttt-une-nom_prep_nom.txt
voyagestt-voyages-nom_adj.txttt-voyages-nom_nom.txttt-voyages-nom_prep_nom.txt

Liens

Cooktop : http://www.xmlcooktop.com/
SLTProc : http://gd.tuwien.ac.at/linuxcommand.org/man_pages/xsltproc1.html

retour en haut

©2008 Pierre Marchal (INaLCO)