• Aucun résultat trouvé

Recueil et structuration de corpus − TD 4

N/A
N/A
Protected

Academic year: 2022

Partager "Recueil et structuration de corpus − TD 4"

Copied!
41
0
0

Texte intégral

(1)

Recueil et structuration de corpus − TD 4

Achille Falaise − Alexandre Roulois

(2)

Plan du TD

Correction TD

Édition XML avancée

Langage XPath

Collecte de documents Web (Web Scraping)

– Approche manuelle

– Approche automatique

Importation d’un corpus dans TXM

(3)

Correction

Cherchez l’erreur !

(4)

Correction

Cherchez l’erreur !

(5)

Correction

Cherchez le problème !

(6)

Correction

Cherchez le problème !

(7)

Correction

Un choix de balise qui pourrait être amélioré

(8)

Correction

Attention à la balise auto-fermante : </lb> vs <lb/>

(9)

Correction

(10)

Correction

(11)

Où en sommes nous ?

Définition d’un corpus

Choix des sources Choix des textes Licence, éthique

Collecte

Corpus existants

Documents pdf, doc, odt...

Web

Normalisation XML-TEI

Tableur

Navigateur Web

Scraping

(langages Regex, XPath)

Éditeur texte

Éditeur XML

(Oxygen)

TâcheOutil

Utilisation

TXM

(12)

Où en sommes nous ?

Définition d’un corpus

Choix des sources Choix des textes Licence, éthique

Collecte

Corpus existants

Documents pdf, doc, odt...

Web

Normalisation XML-TEI

Tableur

Navigateur Web

Scraping

(langages Regex, XPath)

Éditeur texte

Éditeur XML

(Oxygen)

TâcheOutil

Utilisation

TXM

(13)

Collecte de documents Web

Scraping manuel / automatisé

Documents source

Téléchargement

manuel Formatage manuel

Documents XML

Téléchargement automatique

Formatage automatique

XPath Regex

(14)

Collecte de documents Web

Scraping manuel / automatisé

Documents source

Téléchargement

manuel Formatage manuel

Documents XML

Téléchargement automatique

Formatage automatique

XPath Regex

(15)

Collecte de documents Web

Scraping manuel / automatisé

Documents source

Téléchargement

manuel Formatage manuel

Documents XML

Téléchargement automatique

Formatage automatique

XPath Regex

(16)

Collecte de documents Web

Scraping manuel / automatisé

Documents source

Téléchargement

manuel Formatage manuel

Documents XML

Téléchargement automatique

Formatage automatique

XPath Regex

(17)

Édition XML

Scraping manuel / automatisé

Documents source

Téléchargement

manuel Formatage manuel

Documents XML

Téléchargement

automatique Formatage

automatique XPath Regex

(18)

Oxygen XML Editor

(19)

19 / 41

Oxygen XML Editor

https://www.youtube.com/watch?v=PiCWAIiKx78

(20)

20 / 41

Oxygen XML Editor

https://www.youtube.com/watch?v=PiCWAIiKx78

(21)

Difficulté de conversion vers XML

XML, HTML (page Web)

Assez facile : souvent il suffit de renommer/supprimer des balises !

Texte, DOC, ODT

Plus difficile, mais on peut souvent faire pas mal de choses avec du chercher/remplacer avancé (regex, formatage

conditionnel...)

PDF

Difficile à très difficile : souvent inexploitable

De manière générale

Le travail est généralement différent pour chaque source de

documents, donc on tend à réduire le nombre de sources.

(22)

Collecte de documents Web

Manuel / Automatisé

Documents source

Téléchargement

manuel Formatage manuel

Documents XML

Téléchargement automatique

Formatage automatique

XPath Regex

(23)

Le langage XPath

Pour manipuler du XML

/bloc1/bloc2

bloc3

bloc3

bloc3 bloc1

bloc2

(24)

Le langage XPath

Pour manipuler du XML

/bloc1/bloc2/bloc3

bloc3

bloc3

bloc3 bloc1

bloc2

(25)

Le langage XPath

Avec un vrai document

– Test avec :

le fichier XML

https://pro.aiakide.net/cours/Corpus2021a/exempleCorpus14.xml

le site d’évaluation d’expressions Xpath

http://xpather.com/

(26)

Racine du document

Attraper tout le document :

– /TEI

<TEI>

<body>

Paragraphe

<p> … </p>

<p> … </p>

<p> … </p>

</TEI>

<teiHeader>

...

</teiHeader>

</body>

(27)

Un sous-bloc

Attraper tout les blocs teiHeader:

– /TEI/teiHeader

<TEI>

<body>

Paragraphe

<p> … </p>

<p> … </p>

<p> … </p>

</TEI>

<teiHeader>

...

</teiHeader>

</body>

(28)

Un autre sous-bloc

Attraper tous les blocs body:

– /TEI/body

<TEI>

<body>

Paragraphe

<p> … </p>

<p> … </p>

<p> … </p>

</TEI>

<teiHeader>

...

</teiHeader>

</body>

(29)

Un sous-sous-bloc

Attraper tout les blocs p:

– /TEI/body/p

<TEI>

<body>

Paragraphe

<p> … </p>

<p> … </p>

<p> … </p>

</TEI>

<teiHeader>

...

</teiHeader>

</body>

(30)

Un sous-sous-bloc n°x

Attraper le 2

e

bloc p:

– /TEI/body/p[2]

<TEI>

<body>

Paragraphe

<p> … </p>

<p> … </p>

<p> … </p>

</TEI>

<teiHeader>

...

</teiHeader>

</body>

(31)

Tous les blocs d’un type donné

Attraper tous les blocs p:

– //p

<TEI>

<body>

Paragraphe

<p> … </p>

<p> … </p>

<p> … </p>

</TEI>

<teiHeader>

...

</teiHeader>

</body>

Où qu’ils soient dans le document !

(32)

Tous les blocs d’un type donné

Attraper tous les blocs availability:

– //availability

(33)

Tous les blocs d’un type donné…

avec un attribut donné

Attraper tous les blocs availability dont l’attribut status vaut restricted:

– //availability[@status="restricted"]

Attraper tous les blocs p dont l’attribut xml:lang vaut fra:

– //p[@xml:lang="fra"]

(34)

34 / 41

Exercice

À partir du document

https://pro.aiakide.net/cours/Corpus2021a/laurent-1-150216-2.xml

Trouver…

– tous les paragraphes

– tous les paragraphes du texte

– le 3

e

paragraphe du texte

– tous les passages ajoutés par l’éditeur (bloc add)

– tous les passages raturés (bloc del avec

attribut rend="overstrike")

(35)

35 / 41

Utilisation en scraping

Pour scraper du HTML

– Les pages Web (HTML) sont aussi des documents XML !

– Exemple pour scrapper plusieurs articles du journal Le Monde

Avec un outil Web :

http://www.urlitor.com/web-scraping

Avec un outil en ligne de commande : Xidel

xidel

http://maPage/web -e '/le/chemin/xpath' --xml

for url in $(cat listeURLs.txt) ; do xidel -e '/le/chemin/xpath' --xml ; done >> monCorpus.xml

(36)

Collecte de documents Web

Manuel / Automatisé

Documents source

Téléchargement

manuel Formatage manuel

Documents XML

Téléchargement automatique

Formatage automatique

XPath Regex

Reste un peu de reformatage

manuel

(37)

Où en sommes nous ?

Définition d’un corpus

Choix des sources Choix des textes Licence, éthique

Collecte

Corpus existants

Documents pdf, doc, odt...

Web

Normalisation XML-TEI

Tableur

Navigateur Web

Scraping

(langages Regex, XPath)

Éditeur texte

Éditeur XML

(Oxygen)

TâcheOutil

Utilisation

TXM

(38)

Exemple : corpus Presto

(39)

Le fichier de métadonnées

https://groupes.renater.fr/wiki/txm-users/public/tutoriel_import_txt_csv

(40)

Importation dans TXM

(41)

41 / 41

Pratique

À partir du document

https://pro.aiakide.net/cours/Corpus2021a/laurent-1-150216-2.xml

Trouver…

– tous les paragraphes

– tous les paragraphes du texte

– le 3

e

paragraphe du texte

– tous les passages ajoutés par l’éditeur (bloc add)

– tous les passages raturés (bloc del avec

attribut rend="overstrike")

Références

Documents relatifs

La session technique sur la mise en œuvre du mécanisme NDPSE fournira une plateforme de rencontre aux points focaux au sein des institutions membres pour (a) faciliter leur

La transposition de telles catégories dans le contexte français pose des problèmes de différente nature : éthique (faut-il reconnaître la « race » même à des fins positives

Le bit de plus fort poids indique le signe (bit de signe) -n est codé par le codage binaire de 2 k -n..

– Noter : le titre, l’URL, le genre textuel, le codage, le format, la licence, la taille et 2 variables au choix. – À organiser dans un tableau au

● Formattez-les en XML avec votre éditeur de texte préféré ( pas Word ou Writer − dans le doute utilisez SublimeText ) , en suivant le schéma page suivante..

Remarque : dans la norme ISO-15924, même l’API est considéré comme une graphie latine... 18

• Si l’on écarte de l’analyse les universitaires qui ont utilisé les différentes modalités de candidatures à la mutation, le taux de réussite des

[r]