Laboratorio di analisi di dati linguistici

Download Report

Transcript Laboratorio di analisi di dati linguistici

Laboratorio di analisi di dati linguistici

Laurea specialistica in Linguistica Teorica e Applicata, Università di Pavia Andrea Sansò [email protected]

A.A. 2005-2006 Corso progredito 10 CFU

Laboratorio di analisi di risorse linguistiche Parte quinta Elementi di XML La standardizzazione

Sommario

  

XML e HTML XML e SGML La sintassi di XML: tags, nesting, commenti, elementi e attributi, la pianificazione

Creazione di documenti XML ben formati: la DTD

Un sito di riferimento

http://www.w3schools.com

XML e HTML

XML e HTML

XML was designed to carry data.

XML

is not

a replacement for HTML.

XML and HTML were designed

with different goals

: XML was designed to describe data and to

focus on what data is

.

HTML was designed to display data and to focus on

how data looks

.

HTML is about displaying information, while XML

is about describing information

.

XML e HTML

XML (e

X

tensible

M

arkup

L

anguage) è un linguaggio di markup come HTML (

M

arkup

H

yper

L

anguage), ma a differenza di HTML

T

ext può essere personalizzato per applicarlo a dati di qualsiasi natura.

Un file HTML è un testo contenente dei tag di markup che indicano al browser come visualizzare la pagina:

Esempio

Che cosa significa etichettatura?

Da

www.tei-c.org

: … we define markup, or (synonymously)

encoding

, as

any means of making explicit an interpretation of a text

. Of course, all printed texts are implicitly encoded (or marked up) in this sense: punctuation marks, use of capitalization, disposition of letters around the page, even the spaces between words, might be regarded as a kind of markup, the function of which is to help the human reader determine where one word ends and another begins, or how to identify gross structural features such as headings or simple syntactic units such as dependent clauses or sentences. Encoding a text for computer processing is in principle … a process of making explicit what is conjectural or implicit,

a process of directing the user as to how the content of the text should be (or has been) interpreted

.

Che cosa significa etichettatura?

Da

www.tei-c.org

: By

markup language

we mean a set of markup conventions used together for encoding texts. A markup language must specify what markup is allowed, what markup is required, how markup is to be distinguished from text, and what the markup means.

HTML

Che cosa contiene un file

HTML

tags

di apertura e di chiusura •

attributi

contenuti all’interno delle tags bla bla bla

Esempio

Che cosa contiene un file

HTML

• • •

heading tags

Title

Subtitle

, …

paragraph tags

This is a paragraph

line breaks


Una lista comoda di tutti i tipi di tag si trova all’indirizzo:

http://www.w3schools.com/html/html_quick.asp

Esempio

HTML

HTML

I

tags

(e in generale la sintassi) di

HTML

contengono esclusivamente informazioni relative alla visualizzazione del documento attraverso un browser.

HTML

, a differenza di

XML

, rimedia autonomamente ad alcuni errori facili da riconoscere (

esempio

). L’esistenza di applicazioni di tipo WYSIWYG come FrontPage ha reso non indispensabile la conoscenza della sintassi di HTML per la creazione di pagine web. Lo stesso non può dirsi di XML!

Inoltre, HTML è utilizzato per la visualizzazione e consultazione di file XML, e quindi è utile conoscerne il funzionamento (anche perché FrontPage non permette operazioni complesse come l’inserimento di dati codificati in XML all’interno di un documento HTML!).

HTML

Un breve corso di HTML è online al seguente indirizzo:

http://www.w3schools.com/html/default.asp

Un quiz per verificare la propria competenza in HTML si trova all’indirizzo:

http://www.w3schools.com/html/html_quiz.asp

Esempi semplici di pagine HTML all’indirizzo:

http://www.w3schools.com/html/html_examples.asp

HTML

Alcuni documenti non sono comodamente descrivibili con HTML.

Le pagine HTML consentono ad esempio di archiviare e visualizzare informazioni di database statici, ma se si desidera ordinare, filtrare e trovare informazioni o elaborarle in altri modi, HTML diventa insufficiente.

XML

non sostituisce

HTML. Come vedremo, nella gran parte dei casi i metodi di visualizzazione dei documenti XML

richiedono l’uso di HTML

.

Più che sostituirlo, XML si utilizza correntemente con HTML aumentando notevolmente la capacità delle pagine web di

presentare informazioni molto strutturate

.

2

XML e SGML

XML e SGML

XML e HTML si fondano su

SGML

(

S

tandard

G

eneralized

M

arkup

L

anguage), un linguaggio sviluppato per fornire un metodo di identificazione delle parti e del contenuto di un documento sulla base delle informazioni contenute. SGML e XML, a differenza di HTML, sono entrambi degli insiemi di regole usate per controllare la creazione di linguaggi di markup che identificano il contenuto dei documenti. XML e SGML sono entrambi particolarmente adatti a documenti che contengono grandi quantità di informazioni organizzate in modo simile, come cataloghi o database. SGML e XML consentono inoltre la lettura del documento da parte di qualunque tipo di software, e l’autore del documento è in grado di specificare come ogni porzione del documento verrà interpretata da tutti i software.

SGML

SGML è stato sviluppato avendo come finalità la predisposizione di un sistema di rappresentazione e gestione documentale in grado di consentire l’illimitato trasferimento dei dati codificati tra differenti piattaforme informatiche (hardware e software) senza perdite di informazione.

Inoltre, SGML è indipendente dalle

applicazioni

, cioè permette la rappresentazione di qualsiasi tipo di testo e di qualsiasi caratteristica testuale, indipendentemente dalle finalità per le quali il testo è stato memorizzato e codificato.

Infine, SGML è indipendente dalle lingue nazionali e dai relativi sistemi di scrittura, permettendo la rappresentazione di testi redatti in qualsiasi sistema alfabetico latino e non latino.

XML e SGML

SGML può sembrare il linguaggio perfetto per descrivere l’informazione contenuta nei documenti, ma è sempre stato considerato troppo complesso per diventare il linguaggio universale del web. Nel 1996, l’XML Working Group del

W3 Consortium

ha sviluppato un sottoinsieme di SGML chiamato XML. XML è quindi una versione semplificata di SGML ottimizzata per il web, che mantiene tutti i vantaggi di SGML. Come SGML, XML consente di creare un insieme proprio di etichette da utilizzare nella descrizione di un determinato documento o insieme di documenti.

3

La sintassi di XML:

tags, nesting, commenti, elementi e attributi, la pianificazione

Perché XML?

• XML is a cross-platform, software and hardware independent tool for

transmitting

information

.

XML will be as important to the future of the Web as HTML has been to the foundation of • the Web.

XML will be the most common tool for all

data manipulation

and

data transmission

.

Che cos’è XML?

Un semplice documento XML:

Paul Jane Reminder Don't forget me this weekend!

Che cos’è XML?

I tag XML descrivono la struttura del documento, oltre ad identificarne il contenuto. Proprio come i tag HTML, essi vengono aperti e chiusi con parentesi angolari. Dopo il tag di apertura verrà collocato il contenuto effettivo e infine il tag di chiusura (che si distingue per l’aggiunta di una barra trasversale alla parentesi angolare aperta).

Che cos’è XML?

Paul Jane Reminder Don't forget me this weekend!

Forse è difficile da comprendere immediatamente, ma XML non serve a “fare” niente. Serve soltanto a strutturare, immagazzinare e diffondere informazione. Questo semplice documento XML rappresenta informazione pura “codificata” attraverso i tags XML. Perché XML sia utile a qualcosa, bisogna trovare un sistema per diffondere questa informazione o semplicemente per visualizzarla.

Che cos’è XML?

Paul Jane Reminder Don't forget me this weekend!

I tags di XML

non sono predefiniti

, ma devono essere inventati. Gli autori di documenti HTML possono usare solo i tags predefiniti nello standard HTML (come

,

, ecc.).

Che cos’è XML?

Quando si usa HTML per visualizzare dei dati, i dati sono contenuti all’interno del file HTML. Utilizzando XML i dati si possono immagazzinare in files separati. In questo modo si può utilizzare HTML solo per il layout e la visualizzazione, essendo sicuri che i cambiamenti nel file XML non richiedono alcun adattamento del file HTML ausiliario.

Che cos’è XML?

I file XML possono essere compilati con un semplice editor di testo, e pertanto possono essere condivisi indipendentemente dal software e dall’hardware.

È possibile creare documenti XML utilizzando il proprio editor preferito (Microsoft Word, Notepad, ecc.), anche se esistono editor che facilitano la scrittura di XML (XMLSpy, JEdit, ecc.).

Che cos’è XML?

Esempi di editors: •XMetaL : è possibile prelevarne una versione dimostrativa (30 giorni) sul sito di SoftQuad (www.softquad.com) • XML Spy : è possibile prelevare una demo di questo software, funzionante per trenta giorni, dal sito web di Icon Information Systems (www.xmlspy.com)

Il primo documento XML

Se si salva un file in Notepad, l’estensione che viene automaticamente assegnata è .txt. Per assegnare una diversa estensione, si deve racchiudere il nome del file + l’estensione tra virgolette (es. “inventario.xml”). Quando andremo a riaprire il file salvato con estensione .xml, bisognerà aprire prima Notepad e poi scegliere “Apri” dal menu “File” (non è possibile aprirlo facendo doppio clic come si fa normalmente per i files .txt).

Il primo documento XML

> Paul Jane Reminder Don't forget me this weekend!

Dichiarazione XML Root element Child elements End of the root element

Il primo documento XML

>

Dichiarazione XML

La dichiarazione XML indica che si tratta di un documento XML (e include il numero di versione, specificando che il documento utilizza l’insieme di caratteri UTF-8).

Il primo documento XML

Paul Jane Reminder Don't forget me this weekend!

Root element Child elements End of the root element L’

elemento radice

del documento specifica di che tipo di documento si tratta. Tra i due tag e si collocano gli

elementi annidati

.

Il primo documento XML

In XML non è possibile omettere dei tag di chiusura, mentre in HTML in taluni casi è possibile:

This is a paragraph

This is another paragraph HTML

This is a paragraph

This is another paragraph

XML

Il primo documento XML

La dichiarazione XML non ha un tag di chiusura. Non si tratta di un errore, perché la dichiarazione non è parte del documento in senso stretto e non si può ritenere un

elemento

)

elemento

(n.b.:

ogni tag identifica un

Il primo documento XML

I tags di XML, a differenza di quelli di HTML sono

sensitive

. Il tag

case

è pertanto diverso dal tag , e ovviamente è necessario che i tag di apertura e di chiusura siano scritti allo stesso modo

ESATTAMENTE

This is incorrect This is correct

Il primo documento XML

Tutti gli elementi devono essere annidati in maniera corretta (a differenza di HTML, che permette un certo grado di libertà).

This text is bold and italic

HTML

Brambilla

XML

Il primo documento XML

L’elemento radice

è obbligatorio

. Tutti gli altri elementi devono essere annidati all’interno di questo elemento, e all’interno di ogni elemento figlio possono essere annidati a loro volta altri elementi .....

Il primo documento XML

Empire Burlesque Bob Dylan Columbia 10.90

1985 Hide your heart Bonnie Tyler CBS Records 9.90

1988 Documento non ben strutturato perché ha due elementi radice anziché uno

Il primo documento XML

Possiamo concludere che XML HTML.

Le applicazioni che è molto più rigido di leggono XML

non possono

esattamente

ignorare

in

gli errori

, corrispondenza ma si fermano dell’errore del documento e inviano un messaggio d’errore al visualizzatore.

debugging

Ciò rende relativamente semplice il dei documenti XML perché è sempre possibile sapere con precisione quale linea sta provocando l’errore quando si visualizza il documento.

Esempio

Il fauno di marmo Nathaniel Hawthorne tascabile 473 EURO 10,95 Moby Dick Herman Melville copertina rigida 724 EURO 9,95

Esempio

Inserimento di commenti

In un documento XML è possibile inserire dei commenti, che

verranno ignorati dal visualizzatore

, ma che possono avere una funzione fondamentale (ad esempio, possono brevemente segnalare le scelte del creatore del file, o la data dell’ultima modifica). Un commento inizia con i caratteri caratteri . Tra questi due gruppi di è possibile digitare un qualsiasi testo, tranne i caratteri - , che verrebbero intesi dal browser come chiusura del commento.

version="1.0" encoding="ISO-8859-1" ?> ...

Elementi

Dati carattere Elemento annidato Moby Dick <SUBTITLE> o la balena </SUBTITLE> Nome dell’elemento Contenuto dell’elemento TITLE

Elementi

Quando si aggiunge un elemento al documento XML,

selezionare qualsiasi nome, è possibile purché venga rispettata la seguente regola

: Il nome deve iniziare con una lettera o un carattere di sottolineatura (_), seguito da zero o più lettere, cifre, punti, trattini o caratteri di sottolineatura.

Esempi di nomi non validi: <1stplace> non si può iniziare con un numero <:Chapter> non sono ammessi spazi vuoti non è ammesso il carattere “barra” non si può cominciare con i due punti

Elementi

Alcuni caratteri non sono ammessi all’interno del contenuto degli elementi. Ad esempio la parentesi angolare sinistra non è ammessa. Per risolvere il problema, bisogna sostituire il carattere illegale con un riferimento a un’entità predefinita if salary < 1000 then

Sostituire con

if salary < 1000 then

Entità predefinite

< < > > & & ' " ' "

Elementi vuoti

È possibile immettere degli elementi vuoti all’interno di un documento.

L’importanza degli elementi vuoti è fondamentale: essi ci permettono di mantenere

la simmetria strutturale

, ad esempio nei vari

item

di una lista o rubrica, come nell’esempio seguente, in cui non conosciamo il prezzo di uno degli item della lista.

L’elemento vuoto ha un tag proprio (oppure si possono usare i tag di apertura e chiusura uno subito dopo l’altro; le due notazioni sono del tutto

equivalenti

).

oppure

Esempio

Empire Burlesque Bob Dylan Columbia 10.90

1985 Hide your heart Bonnie Tyler CBS Records 1988

Inserimento di attributi

Nel tag iniziale di ciascun elemento uno o è possibile includere più attributi. Una specifica di un attributo è rappresentata da una

coppia nome-valore

associata all’elemento. Gli attributi rappresentano un metodo alternativo per includere informazioni in un documento.

...

Attributi

Inserimento di attributi

L’aggiunta di un attributo offre diversi vantaggi. Come vedremo, se si scrive un documento valido utilizzando una DTD, è possibile limitare i valori che possono essere assegnati a un attributo, ed è possibile specificare un valore predefinito che verrà assegnato all’attributo nel caso venga omessa la specifica. Al contrario, utilizzando una DTD non è possibile specificare un valore predefinito per il contenuto di un elemento.

Non esistono

regole obbligatorie

essere memorizzato riguardo a ciò che deve all’interno degli attributi o come contenuto di un elemento.

Inserimento di attributi

Il valore assegnato ad un attributo delimitato da virgolette.

letterale ad un attributo, è una serie di caratteri È possibile assegnare qualsiasi valore purché si rispettino le regole seguenti: • La stringa doppie ( “” ); può essere delimitata da virgolette singole ( ‘’ ) o • la stringa non può contenere lo stesso carattere utilizzato per delimitarla (quindi se si vogliono includere nella stringa le virgolette singole, si dovrà delimitare la stringa stessa con virgolette doppie, e viceversa); • la stringa non può includere la parentesi angolare sinistra, se non attraverso il riferimento ad un’entità generale.

Inserimento di attributi: esempio

> Le avventure di Huckleberry Finn Mark Twain 298 Foglie d'erba Walt Whitman 462

La pianificazione

Quando si utilizza XML non conviene procedere a lume di naso.

L’approccio ottimale quando si hanno dei dati da marcare con XML richiede un minimo di pianificazione.

Prima fase

: stabilire il livello di dettaglio (che cosa va negli attributi e che cosa negli elementi? Entrambi sono accessibili a una query, ma si tende a limitare la proliferazione degli attributi …). Inoltre, un elemento può essere semplice o comprendere diversi elementi annidati.

Seconda fase

: creare il template di un documento XML prima di inserire il contenuto è sempre utile. Ciò non significa che non si debbano escogitare sempre nuove modifiche in corso d’opera...

La pianificazione

Si tenga presente che: • Gli elementi possono essere secondo tempo più facilmente estesi in un • Gli attributi

NON CONTENGONO UNA STRUTTURA

non sono estensibili e • Inserendo tutte le informazioni negli attributi, si pongono dei seri limiti all’utilizzabilità dei dati e alla quantità dei dati che possono essere aggiunti al documento • I valori degli attributi possono contenere un riferimento a un altro file

La pianificazione

3 alternative: il corso online di XML consiglia la terza!

Prima alternativa

Paul Jane Reminder Don't forget me this weekend!

La pianificazione

Seconda alternativa

12/11/2002 Paul Jane Reminder Don't forget me this weekend!

La pianificazione

Terza alternativa

12 11 2002 Paul Jane Reminder Don't forget me this weekend!

La pianificazione

In alcuni casi è preferibile utilizzare gli attributi invece degli elementi. Se abbiamo ad esempio un elenco e a ogni

item

vogliamo assegnare un’identità numerica è consigliabile farlo attraverso gli attributi.

Paul Jane Reminder Don't forget me this weekend!

Jane Paul Re: Reminder I will not!

La pianificazione

Gli attributi possono sembrare eleganti e economici, ma bisogna evitare di creare documenti che somiglino al seguente:

4

Namespaces e CDATA

Namespaces

Unire dati XML da diverse fonti può causare conflitti tra i nomi di elementi e attributi. Immaginiamo il caso di un elenco di CD e un elenco di libri. In entrambi ho utilizzato i tag , , <PRICE>, ecc. per riferirmi a entità differenti. Se volessi unificare in un unico documento chiamato</p> <p><i>Collection</i></p> <p>questi insiemi di dati, una eventuale applicazione non potrebbe distinguere tra libri e CD, o calcolare il prezzo medio dei CD. Per risolvere questo conflitto si riscrivere il documento, oppure utilizzare una soluzione può più comoda e meno dispendiosa, e cioè il meccanismo dello</p> <p><b>spazio dei nomi</b></p> <p>.</p> <p>Attraverso lo spazio dei nomi, ogni elemento di un libro allo spazio dei nomi</p> <p><i>book</i></p> <p>, mentre ogni elemento di un CD è assegnato è assegnato allo spazio dei nomi</p> <p><i>cd</i></p> <p>.</p> <a id="p59" href="#"></a> <h3>Namespaces: un esempio</h3> <p><?xml version="1.0"?</p> <p>> <COLLECTION xmlns:book="http://www.mjyOnline.com/books" xmlns:cd="http://www.mjyOnline.com/cds" > < book: ITEM Status="in" > < book: TITLE> Le avventure di Huckleberry Finn </ book: TITLE> < book: AUTHOR> Mark Twain </ book: AUTHOR> < book: PRICE> EURO 5,49 </ book: PRICE> </ book: ITEM> < cd: ITEM> < cd: TITLE> Concerto per violino e Orchestra in Re maggiore </ cd: TITLE> < cd: COMPOSER> Beethoven </ cd: COMPOSER> < cd: PRICE> EURO 14,95 </ cd: PRICE> </ cd: ITEM> </COLLECTION></p> <a id="p60" href="#"></a> <h3>Namespaces</h3> <p><b>L’esempio completo</b></p> <p>Per utilizzare uno spazio dei nomi, occorre dichiararlo all’interno del tag iniziale. Lo si fa aggiungendo un attributo speciale, che ha la sintassi seguente: xmlns:namespace-prefix="namespace"</p> <a id="p61" href="#"></a> <h3>Namespaces</h3> <p><COLLECTION xmlns:book="http://www.mjyOnline.com/books" xmlns:cd="http://www.mjyOnline.com/cds" > Lo spazio dei nomi è definito attraverso un indirizzo URI (Uniform Resource Identifier), come richiesto dalle specifiche del consorzio W3C. L’indirizzo non è utilizzato dal parser per cercare informazioni, ma solo per assegnare a ogni spazio dei nomi un’identità univoca.</p> <a id="p62" href="#"></a> <h3>Default Namespaces</h3> <p><COLLECTION xmlns</p> <p><b>:book</b></p> <p>="http://www.mjyOnline.com/books" xmlns:cd="http://www.mjyOnline.com/cds" > <COLLECTION xmlns="http://www.mjyOnline.com/books" xmlns:cd="http://www.mjyOnline.com/cds" > Se eliminiamo uno dei prefissi (in questo caso</p> <p><i>book</i></p> <p>), vuol dire che questo spazio dei nomi è quello di default, per cui ogni nuovo inserimento di un elemento book non avrà bisogno del prefisso all’inizio del tag, mentre ogni inserimento di un nuovo CD richiede la presenza del prefisso cd:</p> <a id="p63" href="#"></a> <h3>CDATA</h3> <p>Se il testo contiene molti caratteri illegali, evitare che il browser lo analizzi. Si può essere opportuno può ottenere questo scopo racchiudendo il testo in questione in una sezione CDATA. Una sezione CDATA comincia con la stringa</p> <p><b><![CDATA[</b></p> <p>e termina con</p> <p><b>]]></b></p> <p>.</p> <p><script> <![CDATA[ {if (a < b && a < 0) then {return 1} else {return 0}} ]]> </script></p> <a id="p64" href="#"></a> <p>5</p> <h3>Creazione di documenti XML validi</h3> <a id="p65" href="#"></a> <h3>La DTD</h3> <p>Finora ci siamo occupati di documenti XML ben strutturati. I documenti XML che utilizziamo devono avere qualcosa in più, e cioè devono essere</p> <p><b>validi</b></p> <p>. Un documento XML valido è un documento ben strutturato che risponde a uno dei seguenti requisiti: • Il prologo del documento deve contenere una DTD (</p> <p><b><i>Document Type Definition</i></b></p> <p>, ossia definizione del tipo di documento) in grado di definire la struttura del documento XML, mentre la parte restante del documento deve essere conforme alla struttura definita nella DTD.</p> <p>• Il documento è conforme alla struttura definita in uno schema XML compreso in un file separato.</p> <a id="p66" href="#"></a> <h3>La DTD</h3> <p>Quando si utilizza una DTD, si fornisce al browser una copia standard del documento, cosicchè, durante la verifica della validità del documento, questo possa garantire che il documento corrisponda agli standard richiesti. Se una qualsiasi parte del documento non alla specifica della DTD il processore è conforme visualizzerà un messaggio di errore consentendo la modifica del documento per renderlo conforme.</p> <p>L’uso della DTD</p> <p><b>tra favorisce la coerenza più documenti</b></p> <p>(pertanto</p> <p><b>all’interno del documento o</b></p> <p>è fondamentale in lavori di gruppo in cui gli utenti che marcano i dati sono diversi o quando lo stesso utente lavora a uno stesso documento in due fasi diverse), e può evitare che chi immette dati informazioni aggiunga arbitrariamente nuovi elementi, collochi nell’ordine sbagliato, o assegni valori scorretti agli attributi, ecc.</p> <a id="p67" href="#"></a> <h3>La DTD</h3> <p>Una DTD è un blocco di tag XML che deve essere aggiunto al prologo di un documento XML valido.</p> <p>Essa ha la seguente forma</p> <p><b>astratta</b></p> <p>:</p> <h3><!DOCTYPE </h3> <h3><i>root-element DTD</i></h3> <h3>></h3> <p>Tag standard (DOCTYPE va scritto sempre in lettere maiuscole) Nome dell’elemento RADICE la cui struttura si intende descrivere Va sostituito con un insieme di regole</p> <a id="p68" href="#"></a> <h3>Una DTD molto semplice</h3> <p><?xml version”1.0” ?></p> <p><b><!DOCTYPE SIMPLE [ <!ELEMENT SIMPLE ANY> ] ></b></p> <p><SIMPLE> Questo è un documento molto semplice </SIMPLE> La DTD di questo semplice documento specifica che il documento può contenere solo elementi di tipo <SIMPLE> , e, mediante la parola chiave ANY che un elemento <SIMPLE> può avere qualsiasi tipo di contenuto</p> <a id="p69" href="#"></a> <h3>La DTD</h3> <p>Una DTD può contenere, fra le altre, le seguenti dichiarazioni: •</p> <p><b>Dichiarazioni del tipo di elementi</b></p> <p>che posono essere contenuti in un documento, contenuto e l’ordine degli elementi); (definiscono i tipi di elementi così come il •</p> <p><b>Dichiarazioni dell’elenco di attributi</b></p> <p>(definiscono i nomi degli attributi che posono essere associati a ciascun elemento, così come i valori - liberi o predefiniti - che possono essere assegnati a questi attributi); Un tutorial specifico sulla DTD si trova all’indirizzo:</p> <p><b>http://www.w3schools.com/dtd/</b></p> <a id="p70" href="#"></a> <h3>La DTD</h3> <p><b>Dichiarazioni del tipo di elementi <!ELEMENT TITLE (#PCDATA)></b></p> <p>Elemento di cui si descrive la struttura</p> <p><b>(#PCDATA)</b></p> <p>indica che l’elemento TITLE può contenere soltanto caratteri, senza alcun elemento annidato</p> <a id="p71" href="#"></a> <h3>La DTD</h3> <p><b>Dichiarazioni del tipo di elementi <!DOCTYPE COLLECTION [ <!ELEMENT COLLECTION(CD)+> <!ELEMENT CD (#PCDATA)> ] ></b></p> <p>In questa DTD si specifica che l’elemento radice <COLLECTION> può contenere uno o più elementi <CD> , e che ciascun elemento <CD> può contenere solo caratteri.</p> <a id="p72" href="#"></a> <h3>La DTD</h3> <p><b>Dichiarazioni del tipo di elementi</b></p> <p><?xml version=“1.0” > <!DOCTYPE COLLECTION [<!ELEMENT COLLECTION(CD)+><!ELEMENT CD (#PCDATA)>] > <COLLECTION> <CD> Concerti per violino </CD> <CD> Concerti per tromba </CD> </COLLECTION> Questo documento è conforme alla DTD precedente</p> <a id="p73" href="#"></a> <p><b>Dichiarazioni del tipo di elementi</b></p> <p><!ELEMENT COLLECTION EMPTY> <!ELEMENT COLLECTION ANY></p> <h3>La DTD</h3> <p>EMPTY indica che l’elemento deve essere vuoto ANY indica che l’elemento può avere qualsiasi tipo di contenuto valido</p> <a id="p74" href="#"></a> <h3>La DTD</h3> <p><b>Dichiarazioni del tipo di elementi (elementi con figli)</b></p> <p><!DOCTYPE BOOK [ <!ELEMENT </p> <p><b>AUTHOR)</b></p> <p>] ></p> <p><b>BOOK (TITLE, </b></p> <p><!ELEMENT TITLE (#PCDATA)> <!ELEMENT AUTHOR (#PCDATA)> In questa DTD, si specifica che l’elemento <BOOK> contiene non caratteri ma due elementi annidati, <TITLE> e <AUTHOR> , i quali a loro volta contengono solo caratteri ></p> <a id="p75" href="#"></a> <h3>La DTD</h3> <p><b>Dichiarazioni del tipo di elementi</b></p> <p><!ELEMENT note (message)> <!ELEMENT note (message+)> <!ELEMENT note (message*)> In questa DTD si specifica che l’elemento figlio <message> può occorrere solo una volta all’interno dell’elemento padre <note> In questa DTD si specifica che l’elemento figlio <message> deve occorrere <note></p> <p><b>almeno </b></p> <p>una volta all’interno dell’elemento padre In questa DTD si specifica che l’elemento figlio <message> dell’elemento padre <note> può occorrere zero o più volte all’interno </p> <a id="p76" href="#"></a> <h3>La DTD</h3> <p><b>Dichiarazioni del tipo di elementi</b></p> <p><!ELEMENT note (message?)> <!ELEMENT note (to,from,header,(message|body ))> In questa DTD si specifica che l’elemento figlio <message> dell’elemento padre <note> può occorrere zero o una volta all’interno In questa DTD si specifica che l’elemento <note> deve comprendere un elemento <to> , un elemento <from> , un elemento <header> , e infine, o un elemento <message> o un elemento <body> . L’ordine della DTD è quello in cui gli elementi annidati devono comparire (come indicato dall’uso delle virgole)</p> <a id="p77" href="#"></a> <h3>La DTD</h3> <p><b>Dichiarazioni del tipo di elementi</b></p> <p><!ELEMENT note (#PCDATA|to|from|header|message)*> In questa DTD si specifica che l’elemento <note> può contenere caratteri, e qualsiasi numero di elementi <to> , <from> , <header> , e/o <message> .</p> <a id="p78" href="#"></a> <h3>La DTD</h3> <p>Dichiarazioni degli attributi (segue sempre quella dell’elemento a cui si riferisce) <!ELEMENT FILM (STAR | NARRATOR | INSTRUCTOR)> <!ATTLIST FILM Class CDATA “fiction” Year CDATA #REQUIRED> Dichiarazione dell’elenco di attributi Tipo di attributo Nome dell’elemento a cui sono associati gli attributi Nome dell’attributo Tipo di attributo Valore predefinito Nome dell’attributo Status dell’attributo</p> <a id="p79" href="#"></a> <h3>La DTD</h3> <p><b>Il tipo di attributo può avere i valori seguenti:</b></p> <p>Value CDATA (en1|en2|..) ID IDREF IDREFS NMTOKEN NMTOKENS ENTITY ENTITIES NOTATION xml: Explanation The value is character data The value must be one from an enumerated list The value is a unique id The value is the id of another element The value is a list of other ids The value is a valid XML name The value is a list of valid XML names The value is an entity The value is a list of entities The value is a name of a notation The value is a predefined xml value</p> <a id="p80" href="#"></a> <h3>La DTD</h3> <p><b>Il valore predefinito può essere espresso nei modi seguenti:</b></p> <p>Value value #REQUIRED #IMPLIED #FIXED value Explanation The default value of the attribute The attribute value must be included in the element The attribute does not have to be included The attribute value is fixed</p> <a id="p81" href="#"></a> <h3>La DTD</h3> <p>Nell’esempio seguente, l’elemento con un attributo width <square> è un elemento vuoto che ha come valore una stringa di caratteri.</p> <p>Se non “0” è specificato alcun valore, è assegnato il valore di default di DTD: <!ELEMENT square EMPTY> <!ATTLIST square width CDATA "0"> Valid XML: <square width="100" /></p> <a id="p82" href="#"></a> <h3>La DTD</h3> <p>Si utilizza includere #IMPLIED l’attributo se non si vuole obbligare fax l’autore a DTD: <!ATTLIST contact fax CDATA #IMPLIED> Valid XML: <contact fax="555-667788" /> Valid XML: <contact /></p> <a id="p83" href="#"></a> <h3>La DTD</h3> <p>Si utilizza #REQUIRED se non si ha a disposizione un valore predefinito, ma si vuole comunque obbligare l’autore a includere l’attributo number DTD: <!ATTLIST person number CDATA #REQUIRED> Valid XML: <person number="5677" /> Invalid XML: <person /></p> <a id="p84" href="#"></a> <h3>La DTD</h3> <p>Si utilizza #FIXED se non si vuole che valore a piacere per un dato attributo l’autore includa un DTD: <!ATTLIST sender company CDATA #FIXED "Microsoft"> Valid XML: <sender company="Microsoft" /> Invalid XML: <sender company="W3Schools" /></p> <a id="p85" href="#"></a> <h3>La DTD</h3> <p>Nell’esempio seguente si dichiara che il valore dell’attributo type deve essere scelto all’interno di una lista predefinita, all’interno della quale c’è un valore di default Syntax: <!ATTLIST element-name attribute-name (en1|en2|..) default-value> DTD example: <!ATTLIST payment type (check|cash) "cash"> XML example: <payment type="check" or <payment type="cash" /> /></p> <a id="p86" href="#"></a> <h3>La DTD</h3> <p><!DOCTYPE root-element SYSTEM "filename"> Con questa notazione si può accedere a una DTD esterna senza bisogno di inserirla all’interno del documento. Questo semplifica le cose, purchè il file (salvato in formato DTD) sia contenuto nella stessa cartella del documento XML</p> <a id="p87" href="#"></a> <p><?xml <note> <to> <from> version="1.0" "note.dtd"> Paul </to> Jane <heading> </from> Reminder ?> <!DOCTYPE note SYSTEM </heading> <body> Don't forget me this weekend!</p> <p></body> </note> </p> <h3>La DTD</h3> <p><!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> File “note.dtd” File “note.xml”</p> <a id="p88" href="#"></a> <h3>Laboratorio di analisi di risorse linguistiche 3.2.</h3> <h3>L’annotazione dei dati linguistici: esempi e standardizzazioni</h3> <a id="p89" href="#"></a> <h3>Come annotare i dati linguistici: un problema di standardizzazione</h3> <p>A più riprese abbiamo detto che XML consente la massima libertà nella creazione di propri tag per etichettare qualsiasi tipo di informazione. Ovviamente, avendo a che fare con dati linguistici e ambendo alla massima riusabilità dei nostri dati, dobbiamo porci il problema dell’adeguamento a standard esistenti per la codifica di dati linguistici.</p> <p>Esistono importanti iniziative che hanno come obiettivo la standardizzazione e la creazione nell’etichettatura dei dati linguistici.</p> <p>di</p> <p><i>best practices</i></p> <a id="p90" href="#"></a> <h3>Come annotare i dati linguistici: un problema di standardizzazione</h3> <p><b>La possibilità di creare DTD è la chiave di volta per raggiungere l’obiettivo della standardizzazione. La DTD è ciò che differenzia un documento XML ben formato da un documento XML valido.</b></p> <p><b>Documento XML ben formato:</b></p> <p></p> <p><b>i tag sono sintatticamente corretti</b></p> <p></p> <p><b>ogni tag di apertura ha un tag di chiusura</b></p> <p></p> <p><b>i tag sono annidati in maniera corretta Documento XML valido:</b></p> <p></p> <p><b>sono utilizzati soltanto i tag dichiarati</b></p> <p></p> <p><b>tutte le occorrenze dei tag sono conformi ad alcune restrizioni posizionali descritte dalla DTD.</b></p> <a id="p91" href="#"></a> <h3>Come annotare i dati linguistici: un problema di standardizzazione</h3> <p><b>Necessità di standardizzazione:</b></p> <p>•</p> <p><b>gli elementi SGML (e XML) hanno una semantica leggera;</b></p> <p>•</p> <p><b>«one man's <p> is another's <para> »;</b></p> <p>•</p> <p><b>l’uso “libero” di XML è un rimedio ai limiti di HTML peggiore del male!</b></p> <p>•</p> <p><b>le DTD devono essere significative all’interno di una comunità di utenti.</b></p> <a id="p92" href="#"></a> <h3>5 massime (Leech 1993)</h3> <p>• l’annotazione deve poter essere rimossa annotazioni di tipo “stand-off” (v. oltre);  preferenza per • le informazioni relative allo schema di annotazione devono essere messe a disposizione dell’utente; • deve essere sempre chiaro</p> <p><i>chi</i></p> <p>e</p> <p><i>come</i></p> <p>ha annotato il testo (numero di annotatori, tecnica di annotazione – manuale, automatica, mista, …); • l’utente deve essere consapevole che l’annotazione non è infallibile, e che è soltanto un utile strumento di lavoro; • lo schema di annotazione deve essere basato su procedure quanto più possibile condivise.</p> <a id="p93" href="#"></a> <h3>Come annotare i dati linguistici: un problema di standardizzazione</h3> <p><b>Text Encoding Initiative: http://www.tei-c.org/ Dalla pagina web: «Initially launched in 1987, the TEI is an international and interdisciplinary standard that helps libraries, museums, publishers, and individual scholars represent all kinds of literary and linguistic texts for online research and teaching, using an encoding scheme that is maximally expressive and minimally obsolescent» Una presentazione online su “Encoding a language corpus”: http://www.tei-c.org/Talks/ESS2001/index.html</b></p> <a id="p94" href="#"></a> <h3>Come annotare i dati linguistici: un problema di standardizzazione</h3> <p><b>Goals of the TEI </b></p> <p>•</p> <p><b>better interchange and integration of scholarly data </b></p> <p>•</p> <p><b>support for all texts, in all languages, from all periods</b></p> <p>•</p> <p><b>guidance for the perplexed: what to encode -- hence, a user-driven codification of existing best practice </b></p> <p>•</p> <p><b>assistance for the specialist: how to encode -- hence, a loose framework into which unpredictable extensions can be fitted </b></p> <a id="p95" href="#"></a> <h3>Come annotare i dati linguistici: un problema di standardizzazione</h3> <p><b>Scopo della TEI: creare delle DTD standard per la codifica dei testi; queste DTD devono essere il più possibile modulari, in modo da minimizzare lo sforzo e massimizzare l’applicabilità ai dati reali. </b></p> <a id="p96" href="#"></a> <h3>Come annotare i dati linguistici: un problema di standardizzazione</h3> <p><b>Il protocollo TEI indica dei tag standard per le seguenti entità che sono comuni in ogni tipo di testo:</b></p> <p>•</p> <p><b>paragraphs </b></p> <p>•</p> <p><b>highlighted phrases </b></p> <p>•</p> <p><b>names, dates, number, abbreviations... </b></p> <p>•</p> <p><b>editorial tags </b></p> <p>•</p> <p><b>notes, cross-references, bibliography </b></p> <p>•</p> <p><b>verse and drama</b></p> <a id="p97" href="#"></a> <h3>Come annotare i dati linguistici: un problema di standardizzazione</h3> <p><b>Il protocollo TEI indica poi dei tag aggiuntivi per le seguenti entità che sono da marcare solo se lo si ritiene necessario:</b></p> <p>•</p> <p><b>linking and alignment; analysis; feature structures; </b></p> <p>•</p> <p><b>certainty; physical transcription; textual criticism, </b></p> <p>•</p> <p><b>names and dates; graphs and trees; figures and tables; </b></p> <a id="p110" href="#"></a> <h3>TEI: nozioni generali</h3> <p><b>The TEI encoding scheme consists of a number of modules or DTD fragments (tag sets).</b></p> <p><b>Selected tag sets may be combined in many different ways, according to some principles, within the framework of the TEI main DTD.</b></p> <a id="p111" href="#"></a> <h3>TEI: nozioni generali</h3> <p><b>Core tag sets</b></p> <p>: standard components of the TEI main DTD in all its forms; these are always included without any special action by the encoder; </p> <p><b>Base tag sets</b></p> <p>: basic building blocks for specific text types; exactly one base must be selected by the encoder </p> <p><b>Additional tag sets</b></p> <p>: extra tags useful for particular purposes. All additional tag sets are compatible with all bases and with each other; an encoder may therefore add them to the selected base in any combination desired. </p> <a id="p112" href="#"></a> <h3>TEI: nozioni generali</h3> <p><b>Se si sceglie un tag set di base per marcare un documento, lo si dichiara nella DTD del documento tramite il riferimento a un’entità predefinita dal consorzio TEI:</b></p> <p><!ENTITY % TEI.prose 'INCLUDE' ></p> <a id="p113" href="#"></a> <h3>TEI: nozioni generali</h3> <p><b>Altri tag sets di base: TEI.prose</b></p> <p>selects the base tag set for prose, contained in teipros2.dtd. </p> <p><b>TEI.verse</b></p> <p>selects the base tag set for verse, contained in teivers2.dtd and teivers2.ent. </p> <p><b>TEI.drama</b></p> <p>selects the base tag set for drama, contained in teidram2.dtd and teidram2.ent. </p> <p><b>TEI.spoken</b></p> <p>selects the base tag set for transcriptions of spoken texts, contained in teispok2.dtd and teispok2.ent. </p> <p><b>TEI.mixed</b></p> <p>selects the base tag set for free mixed-mode texts, contained in teimix2.dtd. </p> <a id="p114" href="#"></a> <h3>TEI: nozioni generali</h3> <p><b>Tag sets aggiuntivi: TEI.linking</b></p> <p><b>TEI.analysis</b></p> <p>with tags for linking, segmentation, and alignment with tags for simple analytic mechanisms </p> <p><b>TEI.fs</b></p> <p>with tags for feature structure analysis </p> <p><b>TEI.certainty </b></p> <p>with tags for indicating uncertainty and probability in the markup </p> <p><b>TEI.transcr </b></p> <p>with tags for manuscripts, analytic bibliography, and transcription of primary sources</p> <p><b>Questi tag sets possono essere evocati esattamente allo stesso modo, e sono legati a specifiche esigenze di chi marca il testo</b></p> <a id="p115" href="#"></a> <h3>TEI: nozioni generali</h3> <p><b>Un semplice documento TEI deve cominciare con una DTD. La versione più semplice della DTD TEI cita il file .dtd TEI come file esterno, e specifica un singolo tag set di base da utilizzare nel documento. Ad esempio, un documento che utilizza il tag set per la prosa comincia con una DTD come la seguente:</b></p> <p><!DOCTYPE TEI.2 PUBLIC "-//TEI P4//DTD Main Document Type//EN" "tei2.dtd" [ <!ENTITY % TEI.XML 'INCLUDE' ></p> <p><b><!ENTITY % TEI.prose 'INCLUDE' ></b></p> <p>]></p> <a id="p116" href="#"></a> <h3>TEI: nozioni generali</h3> <p><b>Nel caso di documenti misti (es. prosa e versi), si voler includere può più tag sets. In questo caso si utilizza la seguente DTD:</b></p> <p><!DOCTYPE TEI.2 PUBLIC "-//TEI P4//DTD Main Document Type//EN" "tei2.dtd" [ <!ENTITY % TEI.XML 'INCLUDE' > <!ENTITY % </p> <p><b>TEI.mixed</b></p> <p>'INCLUDE' > <!ENTITY % TEI.prose 'INCLUDE' > <!ENTITY % TEI.verse 'INCLUDE' > ]></p> <a id="p117" href="#"></a> <h3>TEI: nozioni generali</h3> <p><b>Oppure la seguente:</b></p> <p><!DOCTYPE TEI.2 PUBLIC "-//TEI P4//DTD Main Document Type//EN" "tei2.dtd" [ <!ENTITY % TEI.XML 'INCLUDE' > <!ENTITY % </p> <p><b>TEI.general </b></p> <p>'INCLUDE' > <!ENTITY % TEI.prose 'INCLUDE' > <!ENTITY % TEI.verse 'INCLUDE' > ]> La differenza consiste nel fatto che con questa DTD (che invoca l’entità </p> <p><b>TEI.general</b></p> <p>) ogni divisione del testo può usare uno ed un solo tag set di base (o prosa o versi)</p> <a id="p118" href="#"></a> <h3>TEI: nozioni generali</h3> <p><b>Attributi globali (e cioè attributi che sono validi per ogni elemento di un documento TEI) id</b></p> <p>provides a unique identifier for the element bearing the ID value.</p> <p><b>Values</b></p> <p>: any valid name.</p> <p><b>Default</b></p> <p>: #IMPLIED</p> <p><b>n</b></p> <p>gives a number (or other label) for an element, which is not necessarily unique within the document.</p> <p><b>Values</b></p> <p>: any string of characters; often, but not necessarily, numeric.</p> <p><b>Default</b></p> <p>: #IMPLIED</p> <a id="p119" href="#"></a> <h3>TEI: nozioni generali</h3> <p><b>Attributi globali (e cioè attributi che sono validi per ogni elemento di un documento TEI) lang</b></p> <p>indicates the language of the element content, usually using a two- or three-letter code from ISO 639.</p> <p><b>Values</b></p> <p>: The value must be the identifier of a <language> element supplied in the TEI Header of the current document; </p> <p><b>Default</b></p> <p>: %INHERITED.</p> <a id="p120" href="#"></a> <h3>TEI: nozioni generali</h3> <p><b>Attributi globali (e cioè attributi che sono validi per ogni elemento di un documento TEI) TEIform</b></p> <p>indicates the standard TEI name (generic identifier) for a given element.</p> <p><b>Values</b></p> <p>: must be a valid name; by default, the canonical name of this element as defined in the TEI Guidelines.</p> <p><b>Default</b></p> <p>: #IMPLIED Example: <fn TEIform="note">This is a footnote; its tag uses a non-standard name defined by the user; the attribute TEIform indicates thatthe normal TEI name for the element is NOTE.</fn></p> <a id="p121" href="#"></a> <h3>TEI: nozioni generali</h3> <p><b>Ogni elemento di un documento conforme alle specifiche TEI può avere gli attributi precedenti!</b></p> <p><b>Quanto all’attributo lang , raccomandano che ogni le Guidelines TEI “cambio” di lingua in un testo sia segnalato esplicitamente.</b></p> <p><p lang="en">The constitution declares <q>that no bill of attainder or <term lang="la">ex post facto</term> law shall be passed.</q> ... </p></p> <a id="p122" href="#"></a> <h3>TEI: nozioni generali</h3> <p><b>La DTD TEI definisce oltre 400 tipi di elementi. Questi sono raggruppati in classi per quanto possibile, in modo da facilitare la comprensione.</b></p> <p><b>Gli elementi appartenenti a una classe possono avere in comune un set di attributi.</b></p> <a id="p123" href="#"></a> <h3>TEI: alcuni elementi</h3> <p><b><text> contains a single text of any kind, whether unitary or composite. <front> contains any prefatory matter (headers, title page, prefaces, dedications, etc.) found at the start of a document, before the main body.</b></p> <p><b><body> contains the whole body of a single unitary text, excluding any front or back matter.</b></p> <p><b><group> contains the body of a composite text, grouping together a sequence of distinct texts (or groups of such texts) which are regarded as a unit for some purpose, for example the collected works of an author, etc.</b></p> <p><b><back> contains any appendixes, etc. following the main part of a text.</b></p> <a id="p124" href="#"></a> <h3>TEI: alcuni elementi</h3> <p><b>Tutte le suddivisioni testuali, secondo lo standard TEI devono essere considerate come occorrenze dello stesso elemento “neutro”, con un attributo “type”.</b></p> <p><b><div></b></p> <p>contains a subdivision of the front, body, or back of a text.</p> <p><b>Attributes</b></p> <p>: those globally available; this element has the following additional attribute: </p> <p><b>type</b></p> <p>: specifies a name conventionally used for this level of subdivision, e.g. act, volume, book, section, canto, etc.</p> <p><b>Values</b></p> <p>: any string of characters</p> <p><b>Default</b></p> <p>: #IMPLIED</p> <a id="p125" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>http://mate.nis.sdu.dk/ Progetto Europeo (9 partners), con l’obiettivo di facilitare la riusabilità delle risorse linguistiche e di proporre standard per l’annotazione linguistica a più livelli. Approccio <i>multi-</i> <i>lingual </i>e focus su <i>multi-level issues</i>.</b></p> <p><b>Breve presentazione: http://mate.nis.sdu.dk/about/lux-slides2-13/sld001.htm</b></p> <p><b>Guidelines scaricabili: http://www.ims.uni-stuttgart.de/projekte/mate/mdag/</b></p> <a id="p126" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Annotazione del dialogo, ma NON SONO ESCLUSE APPLICAZIONI DEGLI STANDARD MATE AD ALTRI TIPI DI TESTO.</b></p> <p><b>Livelli considerati:</b></p> <p>•</p> <p><b>Prosodia</b></p> <p>•</p> <p><b>Morfosintassi</b></p> <p>•</p> <p><b>Atti dialogici</b></p> <p>•</p> <p><b>Coreferenza</b></p> <p>•</p> <p><b>Problemi di comunicazione</b></p> <p>•</p> <p><b>Cross-level issues</b></p> <a id="p127" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Livello morfosintattico (V. Pirrelli & C. Soria) “Word analysis, chunking and representation of syntactic functional relations” transcription of a più dialogue” “guidelines</b></p> <p></p> <p><b>to the edited “Conceptually independent, though analysis” inter-connected sub-levels of morpho-syntactic “not intended to give instructions for marking up an exhaustive list of language-specific facts: … we do not provide language-specific recommendations concerning problems of segmentation due to fusional phenomena or truncated stems, as in <i>provide</i></b></p> <p></p> <p><b><i>provision </i>or <i>truncate</i></b></p> <p></p> <p><b><i>truncation</i></b></p> <p><b>”.</b></p> <a id="p128" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Livello morfosintattico (V. Pirrelli & C. Soria) Parola chiave: MODULARITÀ</b></p> <p>“For all sub-levels of annotation considered here, the meta-scheme consists of two subsets of tags. The first subset, or core scheme, supplies basic means for annotating obligatory information. The second subset, or periphery tag set, serves the purpose of making provision for further linguistic annotation to be added on top of obligatory information, whenever this is required by the annotator. In its turn, the periphery tag set parts into two further subsets: a recommended set and an optional one. This makes the meta-scheme highly modular, and open to further augmentation, both in terms of more granular information and of further independent dimensions of analysis.</p> <p>”</p> <a id="p129" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Livello morfosintattico (V. Pirrelli & C. Soria) Sottolivelli:</b></p> <p>•</p> <p><b>Edited transcription level</b></p> <p>•</p> <p><b>Morphological word-level</b></p> <p>•</p> <p><b>Chunk level</b></p> <p>•</p> <p><b>Functional level Per ogni livello sono forniti un esempio di annotazione (dello stesso testo di base) e una DTD</b></p> <a id="p130" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Edited transcription level Elementi (in relazione gerarchica) che marcano speech repairs: <seg> <dys> <repair> <reparandum> <signal></b></p> <a id="p131" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Edited transcription level <seg> è un elemento generico che marca ogni porzione non fluente di un dialogo e le possibili riformulazioni (se presenti); la porzione non fluente del testo marcata con <seg> viene ignorata dai successivi livelli morfologico e sintattico.</b></p> <p><b>Bisogna distinguere due tipi di materiale non fluente: i) materiale che viene riformulato dal parlante all’interno del testo (ripetizioni, riformulazioni, false partenze, ecc.); ii) materiale non fluente che non viene riformulato., e per il quale l’annotatore può voler segnalare una forma target standard.</b></p> <a id="p132" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Edited transcription level <seg> marca inoltre tutte le forme non-standard, e, possibilmente, fornisce un’indicazione della forma standard target.</b></p> <p><b>Inoltre, <seg> marca anche le parole necessarie omesse nel dialogo, come nell’esempio seguente:</b></p> <p><i>oh she was shouting at him at dinner time Steven oh god dinner time she was shouting him</i></p> <a id="p133" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Edited transcription level <seg> marca anche enunciati incompleti (e cioè sia spezzati tra due turni dello stesso interlocutore sia completati da un altro interlocutore)</b></p> <p><i>A: so after the tower B: yeah A: I go straight ahead A: if Bill had known B: he would have come</i></p> <a id="p134" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Edited transcription level <seg> marca infine anche sequenze dette <i>retrace-and-repair </i>sia con auto-correzione che senza. In questo caso entrambi i segmenti sono marcati da <seg> ; il primo è segnalato come l’elemento interrotto e il secondo come l’elemento target.</b></p> <p><i>I wanted I wanted to invite Margie I wanted uh I thought I wanted to invite Margie All of my friends had uh we had decided to go home for lunch</i></p> <a id="p135" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Edited transcription level Attributi dell’elemento <seg> : id</b></p> <p>: a unique identifier </p> <p><b>type</b></p> <p>: whether the annotated segment is interrupted, or contains a non-standard form, or is followed by an omission, or else is a completion of a previously interrupted sequence </p> <p><b>rep</b></p> <p>(mnemonic for "replace"): a place for providing indication of the target form when the annotated segment contains a non-standard form </p> <p><b>ins</b></p> <p>(mnemonic for "insert"): a place for providing indication of the missing form when the annotated segment contains a gap. </p> <p><b>href</b></p> <p>: a sequence of <w> identifiers. </p> <a id="p136" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Valori dell’attributo type broken</b></p> <p>segnala che la porzione marcata con </p> <p><b><seg></b></p> <p>è una porzione interrotta di testo Esempio: </p> <p><i>[I wanted] broken</i></p> <p><b>sic</b></p> <p><i>I wanted to invite Margie </i></p> <p>segnala che la porzione marcata da </p> <p><b><seg></b></p> <p>è un elemento non standard Esempio: </p> <p><i>the dog is [eat] sic</i></p> <p><b>gap</b></p> <p>segnala che la porzione marcata con </p> <p><b><seg></b></p> <p>contiene del materiale omesso Esempio: </p> <p><i>go in the sitting room until I [shout you] gap for tea </i></p> <a id="p137" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Valori dell’attributo type scomp</b></p> <p>segnala che il parlante stesso completa un’interruzione Esempio: </p> <p><i>A: [I'll do it if] broken B: Yeah A: [you wish] scomp</i></p> <p><b>ocomp</b></p> <p>segnala che è un altro interlocutore a completare l’enunciato Esempio:</p> <p><i>A: [if Bill had known] broken B: [he would have come] ocomp</i></p> <a id="p138" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Valori dell’attributo </b></p> <h3><b>rep </b></h3> <h3>Questo attributo consente all’annotatore di segnalare la forma target standard. Perché questo attributo sia praticabile, l’attributo </h3> <h3><b>type</b></h3> <h3>della porzione marcata con </h3> <h3><b><seg></b></h3> <h3>deve avere il valore </h3> <h3><b>sic</b></h3> <h3>.</h3> <a id="p139" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <h3><b>Valori dell’attributo ins </b></h3> <h3>Questo attributo ha come valore una stringa che segnala la </h3> <h3><i>categoria grammaticale </i></h3> <h3>della forma mancante. Se è invece possibile stabilire con certezza qual è la parola mancante, si utilizza un elemento figlio dell’elemento </h3> <h3><b><seg></b></h3> <h3>.</h3> <a id="p140" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Esempio:</b></p> <p><i>the dog is eat</i></p> <p>File XML contenente la codifica ortografica di tutto il testo (frammento): orth.xml</p> <p><w id="w_001">the</w> <w id="w_002">dog</w> <w id="w_003">is</w> <w id="w_004">eat</w> File edit.xml, contenente la annotazione del livello che ci interessa: <seg id="seg_001" type="sic" rep="eating" href="orth.xml# id(w_004)"/></p> <a id="p141" href="#"></a> <h3>La codifica del dialogo: MATE</h3> <p><b>Esempio:</b></p> <p><i>go in the sitting room until I shout you for tea</i></p> <p>File XML <w id="w_001">go</w> <w id="w_002">in</w> <w id="w_003">the</w> <w id="w_004">sitting</w> <w id="w_005">room</w> <w id="w_006">until</w> <w id="w_007">I</w> <w id="w_008">shout</w> <w id="w_009">you</w> <w id="w_010">for</w> <w id="w_011">tea</w> File edit.xml, contenente la annotazione del livello che ci interessa: <seg id="seg_001" type="gap" href="orth.xml# id(w_008)..id(w _009)">at</seg></p> <a id="p142" href="#"></a> <h3>Standards</h3> <p>XML Corpus Encoding Standard (XCES):</p> <p><b>http://www.cs.vassar.edu/CES/ </b></p> <p>Standard utilizzato per l’American National Corpus (</p> <p><b>http://americannationalcorpus.org/FirstRe lease</b></p> <p>; N. Ide, K. Suderman), un progetto mirato a creare, per l’inglese americano, una risorsa pari per mole al British National Corpus: 11 milioni di parole (3 milioni di parole di parlato; 8 milioni di parole di scritto). </p> <a id="p143" href="#"></a> <h3>Standards</h3> <p>XML Corpus Encoding Standard (XCES): • Annotazione stand-off: il collegamento tra i documenti è conforme alle specifiche del linguaggio XPointer proposte dal consorzio W3.</p> <p><p id="p3"><s id="p3s1"> Ireland has been inhabited since very ancient times, but Irish history really begins with the arrival of the Celts around the 6th century b.c.</s> <chunk type="sentence" xml:base="#p3s1"> <tok xlink:href="xpointer(string range('',0,7))"><msd>np++++</msd><base>ireland</base></tok> <tok xlink:href="xpointer(string range('',8,11))"><msd>vbz+hvz+aux++</msd><base>have</base></tok> <tok xlink:href="xpointer(string range('',12,16))"><msd>vprf+ben+aux+xvbnx+</msd><base>be</base></tok></p> </div> </section> </div> </div> </div> </main> <footer> <div class="container mt-3"> <div class="row justify-content-between"> <div class="col"> <a href="/"> <img src="/theme/studyslide/static/logo-slideum.png" /> </a> </div> </div> <div class="row mt-3"> <ul class="col-sm-6 list-unstyled"> <li> <h6 class="mb-3">Company</h6> <li> <i class="fa fa-location-arrow"></i> Nicosia Constantinou Palaiologou 16, Palouriotissa, 1040 <li> <i class="fa fa-phone"></i> +357 64-733-402 <li> <i class="fa fa-envelope"></i> info@slideum.com </ul> <ul class="col-6 col-sm-3 list-unstyled"> <li> <h6 class="mb-3">Links</h6> <li> <a href="/about">About</a> <li> <a href="/contacts">Contact</a> <li> <a href="/faq">Help / FAQ</a> </ul> <ul class="col-6 col-sm-3 list-unstyled"> <li> <h6 class="mb-3">Legal</h6> <li> <a href="/terms">Terms of Service</a> <li> <a href="/privacy">Privacy policy</a> <li> <a href="/page.html?code=public.usefull.cookie">Cookie policy</a> <li> <a href="/page.html?code=public.usefull.disclaimer">Disclaimer</a> </ul> </div> <hr> <p>slideum.com © 2024, Inc. All rights reserved.</p> </div> </footer> <div class="modal directory" id="directory-modal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Directory</h5> <button class="close" type="button" data-dismiss="modal">×</button> </div> <div class="modal-body"></div> </div> </div> </div> <script src="/theme/common/static/jquery@3.5.1/dist/jquery.min.js"></script> <script src="/theme/common/static/jquery_extra/dist/jquery-extra.js"></script> <script src="/theme/common/static/popper.js@1.16.1/dist/umd/popper.min.js"></script> <script src="/theme/common/static/bootstrap@4.6.0/dist/js/bootstrap.min.js"></script> <script> var __path_directory = [ ] !function __draw_directory(data, root, uuid) { var ul = $('<ul>', uuid && { id: 'category' + uuid, class: !__path_directory.includes(uuid) ? 'collapse' : null }); for (var item in data) { var li = $('<li>').appendTo(ul); if (item = data[item], item.children) { li.append('<a href=#category' + item.id + ' data-toggle=collapse>') __draw_directory(item.children, li, item.id); } else { li.append('<a href=' + item.url + '>'); } var a = $('> a', li).addClass('item').text(item.name) .append($('<a class="link fa fa-external-link" href=' + item.url + '>')); if (item.id === +__path_directory.slice(-1)) { a.addClass('active'); } /* if (item.id !== __path_directory[0]) { a.addClass('collapsed'); } */ } root.append(ul); } ([{"id":1,"name":"Food and cooking","url":"/catalog/Food+and+cooking","children":null},{"id":2,"name":"Education","url":"/catalog/Education","children":null},{"id":3,"name":"Healthcare","url":"/catalog/Healthcare","children":null},{"id":4,"name":"Real estate","url":"/catalog/Real+estate","children":null},{"id":5,"name":"Religion ","url":"/catalog/Religion+","children":null},{"id":6,"name":"Science and nature","url":"/catalog/Science+and+nature","children":null},{"id":7,"name":"Internet","url":"/catalog/Internet","children":null},{"id":8,"name":"Sport","url":"/catalog/Sport","children":null},{"id":9,"name":"Technical documentation","url":"/catalog/Technical+documentation","children":null},{"id":10,"name":"Travel","url":"/catalog/Travel","children":null},{"id":11,"name":"Art and Design","url":"/catalog/Art+and+Design","children":null},{"id":12,"name":"Automotive","url":"/catalog/Automotive","children":null},{"id":13,"name":"Business","url":"/catalog/Business","children":null},{"id":14,"name":"Government","url":"/catalog/Government","children":null}], $('#directory-aside')); var __root_directory = $('#directory-aside > ul'); $('#directory-aside') .on('show.bs.collapse', function() { //console.log('show.collapse') }) .on('hide.bs.collapse', function() { //console.log('hide.collapse') }); $('#directory-modal') .on('show.bs.modal', function() { $('[class$="body"]', this).prepend(__root_directory); }) .on('hide.bs.modal', function() { $('#directory-aside').prepend(__root_directory); }); $('.directory-mobile').on('click', function(e) { e.preventDefault(); }); $('.directory .link').on('click', function(e) { e.stopPropagation(); }); </script> <script> function scrollToViewport() { $('html, body').stop().animate( { scrollTop: $('.navbar').outerHeight() }, 1000); } setTimeout(scrollToViewport, 1000); $(window).on('orientationchange', scrollToViewport); $('[data-toggle="tooltip"]').tooltip(); </script> <script async src="//s7.addthis.com/js/300/addthis_widget.js#pubid=#sp('addthis_pub_id')"></script> <!-- Yandex.Metrika counter --> <script type="text/javascript"> (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter28397281 = new Ya.Metrika({ id:28397281 }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks"); </script> <noscript><div><img src="//mc.yandex.ru/watch/28397281" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css" /> <style> @media screen and (max-width: 768px) { .cc-revoke { display: none; }} </style> <script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js"></script> <script> window.addEventListener("load", function() { window.cookieconsent.initialise( { content: { href: "https://slideum.com/dmca" }, location: true, palette: { button: { background: "#fff", text: "#237afc" }, popup: { background: "#007bff" }, }, position: "bottom-right", revokable: true, theme: "classic", type: "opt-in" })}); </script> </body> </html>