• Aucun résultat trouvé

Linguistique de corpus

N/A
N/A
Protected

Academic year: 2022

Partager "Linguistique de corpus"

Copied!
30
0
0

Texte intégral

(1)

Outils et m´ethodes de traitement de corpus

Patrick Paroubek

LIMSI-CNRS ept. CHM - Groupe LIR

Campus universitaire bˆat 507, Rue du Belv´ed`ere, F - 91405 Orsay cedex pap@limsi.fr

mercredi 10 novembre 2021 / L3 - Cours 8

(2)

La premi`ere statistique que l’on calcule `a partir d’une distribution c’est la fr´equence relative des diff´erents types d’observation, c’est `a dire le nombre d’observation d’un type divis´e par le nombre d’occurence cumul´e de tous les types observ´es. Par exemple, si mon corpus est le

texte :mon corpus, la distribution des caract`eres sera :c=1 m=1 n=1 o=2 p=1 r=1 s=1 u=1 <espace>=1et la fr´equence relative deo sera :2/10 = 0.2

(3)

Quelques acronymes

Voici par ordre d’anciennet´e d´ecroissant la signification de quelques acronymes :

I SGML = Standard Generalized Markup Language I XML = Extensible Markup Language

I HTML = Hypertext Markup Language

I XHTML = Extensible Hypertext Markup Language (le plus r´ecent, dont la derni`ere version du standard propos´e par le W3C date du 26 janvier 2000

(4)

Histoire

I L’ancˆetre de SGML est GML (Generalized Markup Language), cr´e´e en 1960 par Charles Golfarb, Edward Mosher and Raymon Lorie alors chez IBM, pour annoter la structure des documents techniques.

I le progr`es essentiel apport´e par GML et ses descendants est de s´eparer la structure d’un document (division arbitraires hierarchiques, e.g. chapitre etc.) de son contenu (le texte du document) en rendant la structure explicite par l’interm´ediaire d’un balisage sp´ecifique, I de permettre `a l’utilisateur de d´efinir son syst`eme de structuration,

avec ses propres balises et sa propre granularit´e,

I de pouvoir soumettre facilement (sans avoir `a l’inf´erer `a partir du document) la structure du document `a des traitements

informatiques.

(5)

HTML

I HTML a ´et´e cr´e´e en 1980 par le physicien Tim Berner-Lee du CERN (avec son premier prototype de navigateur hypertext ENQUIRE) I en 1989 T. Berner-Lee et Roger Cailliau font s´epar´ement une

proposition d’une norme d’hypertexte pour Internet.

I en 1990 leur proposition conjointe est accept´ee par le CERN I la premi`ere norme HTML, publi´ee en 1991, d´efinissait 22 ´etiquettes

d’annotation, dont 13 sont toujours pr´esentes dans HTML-4 I `a cette ´epoque HTML ´etait une application de SGML

(6)

HTML...

I en 1993 T. Berner-Lee et Dan Conolly ´ecrivent la premi`ere sp´ecifiation HTML avec leur HTML Internet draft et sa DTD (Document Type D´efinition) SGML (la DTD est la grammaire d´efinit les balises d’annotation de structure et qui contraint leur emploi).

I la formalisation de HTML en SGML a ´et´e le point de d´epart de son utilisation par le grand public avec le premier browser WEB gratuit MOSAIC de NCSA, avec en particulier la possibilt´e d’inclure des images dans un document avec une simple ´etiquette.

I en 1993, Dave Raggettt publie un Internet draft pour HTML qui inclut les tables et les formulaires interactifs.

(7)

HTML...

Ensuite c’est l’enchaˆınement des nouvelles versions du standard I 1995 HTML-2

I 1997 HTML-3.2

I 1997 decembre HTML-4.0 I 2000 le 15 mai, standard ISO/IEC

(8)

´El´ements et attributs

I Pour ce standards SGML, HTML, XML, les balises sont indiqu´ees entre chevrons et d´elimitent des´el´ementsstructurels (portion de contenu)

I les ´el´ements peuvent avoir des attributs (qui les caract´erisent), aux valeurs plus ou moins codifi´ees

I ex. un ´el´ement titre encadr´e par ses balises ouvrantes et fermantes :

<TITLE >Le tour du Monde en 80 jours< /TITLE >

I ex. un attribut identifiant IDet sa valeur E34F23 pour une balise F encadrant un mot :<F ID=”E34F23”>mot< /F >

(9)

Encodage des caract`eres

I SGML, HTML et XML utilisent aussi des entit´es, un symbole commen¸cant par& et se terminant par un point-virgule;pour des caract`eres sp´eciaux ou toute portion de texte arbirtraire (par ex. un nom propre ou un acronyme) que l’entit´e remplace.

I ex. en sgml le charact`eres inf´erieur se code au moyen de l’entit´e

&lt ;(less than), en html le & se note au moyen de l’entit´e&amp ; I SGML utilise uniquement le codage ASCII (d’o`u la n´ecessit´e d’avoir

des entit´es pour les charact`eres accentu´es),

(10)

Encodage des caract`eres...

I en HTML on peut soit encoder les charact`eres soit avec un

encodage arbitraire (ex. ISO-8859-1, UTF8 etc.), soit au moyen des entites d´efinies par HTML (e.g.&eacute ;pour ´e)

I de mˆeme en XML, on peut utiliser un encodage utiliser un encodage de charact`eres arbitraire ou le codage UNICODE, qui est choisi lorsqu’aucun encodage n’est sp´ecifi´e, dans ce cas les caract`eres hors ASCII peuvent ˆetre repr´esent´es au moyen de r´ef´erences num´eriques (ex. &#38 ;en d´ecimal ou&#x26 ; en hexad´ecimal)

I notez que le codage ASCII des caract`eres est commun au normes SGML, HTML et XML.

(11)

Structure

I deux balises ne peuvent avoir des contenus qui se croisent partiellement, ils sont soit totalement disjoints soit l’un contient l’autre,

I ex.<A>contenu 1< /A>...<B>contenu 2< /B>ou bien

<A>contenu 1...<B>contenu 2< /B>...< /A>;

I la structure d’un document est donc n´ecessairement un arbre (pas de croisement de balises).

I en SGML la DTD (Document Type D´efinition) associ´ee `a un document est la grammaire formelle qui d´efinit les balises d’annotation de structure et qui contraint leur emploi dans des documents qui sont consid´er´es “valides” pour la DTD.

I contrairement a SGML, XML autorise la validation d’extraits de documents

(12)

DTD

Il existe des outils (parsers, i.e. analyseurs syntaxiques, par ex. xmllint sous Linux) pour valider automatiquement des documents SGML ou XML par rapport `a une DTD. Il existe aussi des langages pour exprimer des contraintes sur les annotations XML, les deux plus utilis´es sont RelaxNG et lesschemas XML du consortium W3C.

(13)

de r´ef´erence (grammaire d´efinissant la structure des documents) avec la commande :.

xmllint -noout -dtdvalid passage.dtd lemon.xml Le fichierpassage.dtdcontient la DTD et le fichierlemon.xml contient le document xml `a valider :

<?xml version="1.0" encoding="UTF-8"?>

<Document dtdVersion="1.0" file="lemon">

<Sentence id="E1">

<T id="E1T1" start="727" end="731">Voeux</T>

<T id="E1T2" start="733" end="734">de</T>

<T id="E1T3" start="736" end="742">Jacques</T>

...

<G id="E1G2" type="GP">

<W id="E1F2" tokens="E1T2"/>

<W id="E1F3" tokens="E1T3"/>

<W id="E1F4" tokens="E1T4"/>

</G>

...

<R type="MOD-N" id="E1R1">

<modifieur ref="E1G2"/>

<nom ref="E1G1"/>

</R>

(14)

<?xml version=’1.1’ encoding="UTF-8"?>

<!ELEMENT Document (MSTAG*, Sentence*)>

<!ATTLIST Document dtdVersion CDATA #FIXED "1.0"

file CDATA #IMPLIED>

<!-- ==============================-->

<!ELEMENT MSTAG (fs)>

<!ATTLIST MSTAG id ID #REQUIRED>

<!ELEMENT fs (f+)>

<!ELEMENT f (symbol | vAlt)+>

<!ATTLIST f name CDATA #REQUIRED>

<!ELEMENT symbol EMPTY>

<!ATTLIST symbol value CDATA #REQUIRED>

<!ELEMENT vAlt (symbol+)>

<!-- ==============================-->

<!ELEMENT Sentence ( (T|G|W)+, R*, M* ,NE*)>

<!ATTLIST Sentence trust CDATA #IMPLIED id ID #IMPLIED>

<!-- ==============================-->

<!ELEMENT T (#PCDATA)>

<!ATTLIST T id ID #REQUIRED

start CDATA #REQUIRED

end CDATA #REQUIRED

>

(15)

´el´ements(ELEMENT) utilise les op´erateur de r´ep´etition non vide d’un

´el´ement+(e.g.symbol+), de r´ep´etition ind´efinie (y compris vide)*, d’alternative|, les parenth`eses()et l’op´erateur de s´equence :,(la virgule).

Notez que les ´el´ements terminaux de la structure des ´el´ements (feuilles de l’arbre) sont soit desCDATA(Carat`ere DATA) s´equences de caract`eres pour lesquelles les balises XML ne sont pas interpr´et´ees comme telles, mais seulement comme des caract`eres), soit desPCDATA(Parsed Caract`ere DATA), i.e. des s´equences de caract`eres o`u les balises XML sont prises en compte.

(16)

desattributs(ATTLIST) d’un ´el´ement va d´efinir leurs identifiants, leurs types (chaˆıne de caract`eres non-analys´eeCDATA, analys´ee pour son balisagePCDATA, identifiant uniqueID) et leurs natures (par ex. une valeur constante sera#FIXED, un attribut optionnel sera#IMPLIEDet un attribut obligatoire sera#REQUIRED).

(17)

apparait :

xmllint --noout --dtdvalid passage.dtd lemon_BAD.xml lemon_BAD.xml:8: parser error : Opening and ending tag mismatch: TOTO line 8 and T

<TOTO id="E1T5" start="750" end="750">:</T>

(18)

original sans aucun transcodage des carat`eres comme par exemple&,<

ou>, il est recommand´e, dans un document annot´e avec des balises xml (et pas dans la DTD !), d’utiliser un balisage explicite des portions originales de document avec les balisesCDATA:

<![CDATA[...le contenu original...]]>

Dans ce cas la seule s´equence de caract`eres interdite est]]>, mais elle peut ˆetre repr´esent´ee

avec :<![CDATA[]]]><![CDATA[]]]><![CDATA[>]]>

(19)

XML

<Sentence id="E1">

<T id="E1T1" start="727" end="731"><![CDATA[Voeux]]></T>

<T id="E1T2" start="733" end="734"><![CDATA[de]]></T>

<T id="E1T3" start="736" end="742"><![CDATA[Jacques]]></T>

(20)

Python

Ecrire un programme python qui ´ecrit dans un fichier le texte suivant en HTML :

<HTML><BODY>il fait beau

</BODY></HTML>

puis charger ce fichier dans un navigateur WEB Modifiez votre programme pour que l’affichage utilise des variations typographiques comme les caract`eres gras, italiques ou color´es

(21)
(22)

sont SGML son descendant XML, car HTML m´elange all´egrement des balises destructure(par ex.DIV) avec des balises derendu (par ex.B ouI)

(23)

sur 3 lignes et 2 colonne contenant les nombres entiers de 1 `a 6.

1 2 3 4 5 6

(24)

normal...c’est de l’informatique...donc un langage et un mode de pens´ee qui ne sont pas intuitifs...notre cerveau n’a pas l’habitude de fonctionner comme un ordinateur, c’est `a un automate, c’est `a dire comme un distributeur de boissons chaudes...

Dans ce cas, vous avez 2 solutions :

I aller acheter un marteau au magazin de bricolage le plus

proche...(ouvert pendant le confinement)...¸ca soulage mais ne r´esoud pas le probl`eme

I appliquer une approche constructive ascendante, si vous voulez

´

ecrire un roman, commencez par ´ecrire une phrase, puis un paragraphe, puis un chapitre et recommencez... au lieu de vouloir

´

erire le roman du premier coup en entier.

(25)

1 2

(26)
(27)

1 2 1 2 1 2

(28)
(29)

I le premier chiffre affich´e sera 1

I le prochain chiffre sera toujours le successeur du pr´ec´edent (donc +1

`

a chaque fois sur la valeur affich´ee)

(30)

Références

Documents relatifs

L'élément imapServerName contient le FQDN du serveur du protocole d'accès à la messagerie Internet (IMAP, Internet Mail Access Protocol) qui devrait être utilisé pour se connecter

Dans certaines situations, il peut s'avérer nécessaire d'utiliser la chaîne &lt;script language=&#34; – comme c'est le cas du second lien présenté sur le Listing 6. Si

2.4 ) Exercice 2 : Modifiez à nouveau votre script pour que le texte de votre page html soit toujours en caractère gras mais qu’il soit en plus de couleur rouge.. Vérifiez

Il est affiché dans la barre de titre du

Cliquez ici pour telecharger le

E:\OneDrive\Informatik\JavaScript\WS PHBern Aufg &amp; Lsgn\Grundgeruest.html

• Changer le nom de l’onglet (actuellement « Ma page de test » dans le fichier source par « Structure de base d’une page HTML »,supprimer la totalité de l’élément

Une façon simple d’y arriver est de créer un fond d’écran avec les bornes pour une résolution de 800x600 pixels et de 1024x768 pixels. IFT1147 -