Potaov zpracovn pirozenho jazyka Standardy pro anotaci jazykovch

  • Slides: 63
Download presentation
Počítačové zpracování přirozeného jazyka Standardy pro anotaci jazykových dat Daniel Zeman http: //ckl. mff.

Počítačové zpracování přirozeného jazyka Standardy pro anotaci jazykových dat Daniel Zeman http: //ckl. mff. cuni. cz/~zeman/ 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/

XML • e. Xtensible Markup Language • http: //www. xml. org/xml/resources_focus_b eginnerguide. shtml 5.

XML • e. Xtensible Markup Language • http: //www. xml. org/xml/resources_focus_b eginnerguide. shtml 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 2

Značkování • Počítačové zpracování přirozeného jazyka velmi často znamená „značkování“: k původně holému textu

Značkování • Počítačové zpracování přirozeného jazyka velmi často znamená „značkování“: k původně holému textu přibývají informace zjištěné na různých úrovních. • V užším smyslu jde o zjednoznačnění morfologie. • Jaký je jazyk pro vpisování informací do textu? 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 3

SGML: Standard Generalized Markup Language • „markup“ = „opatřit poznámkami“ • K rozlišení textu

SGML: Standard Generalized Markup Language • „markup“ = „opatřit poznámkami“ • K rozlišení textu a poznámek využívá „SGML tags“ — SGML značky. Skákal pes přes oves. <f>Skákal<f>pes<f>přes<f>oves<d>. <f>Skákal<l>skákat<f>pes<l>pes<f>… <f>Skákal<l>skákat<r>1<f>pes<l>pes<g>1… 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 4

Poslání SGML • SGML nevzniknul za lingvistickými účely. • Standard pro strukturování (×formátování) dokumentů.

Poslání SGML • SGML nevzniknul za lingvistickými účely. • Standard pro strukturování (×formátování) dokumentů. – Dokumenty sdíleny mezi různými systémy. – Dokumenty s dlouhým životním cyklem. – Nárok na automatické zpracování (formátování, vyhledávání, jiná manipulace). 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 5

Je to potřeba? • Řada formátů je de-facto standardních, protože jsou čitelné pro větší

Je to potřeba? • Řada formátů je de-facto standardních, protože jsou čitelné pro větší část uživatelů. – Binární formáty (např. Microsoft Word) – Textové formáty (např. RTF, Te. X) • Proč tedy nestačí tyto „standardy“ a musí se zavádět něco nového? 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 6

Nevýhody existujících standardů • Binární formáty: problémy s uložením vícebytových hodnot, nečitelné pro člověka,

Nevýhody existujících standardů • Binární formáty: problémy s uložením vícebytových hodnot, nečitelné pro člověka, čitelné jen pro konkrétní software, často ani nejsou dokumentované a veřejné. • Textové: lepší, ale soustřeďují se na vzhled dokumentu, ne na jeho logickou strukturu. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 7

Příklad dokumentu: novinový článek 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 8

Příklad dokumentu: novinový článek 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 8

Formát prostého textu ZE ZAHRANIČÍ. . . . Gerhard Schröder v Praze První zahraniční

Formát prostého textu ZE ZAHRANIČÍ. . . . Gerhard Schröder v Praze První zahraniční cesta vítěze voleb vede… „Vztahy s Čechy jsou naší prioritou, “ …. . . Igor Hnízdo. . . -----Řadu let vládla v Německu Kohlova CDU… 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 9

Formát RTF (Rich Text Format) {icapsf 22fs 20 Ze zahrani'e 8'ed par }pardplain qcbf

Formát RTF (Rich Text Format) {icapsf 22fs 20 Ze zahrani'e 8'ed par }pardplain qcbf 1fs 28lang 1029kerning 28 {f 0fs 40 Gerhard Schr'f 6 der v~Praze par }pardplain qcbif 1lang 1029 {i 0f 22fs 22 Prvn'ed zahrani'e 8 n… par }pardplain lang 1029 {f 16 ldblquote Vztahy s~'c 8 echy jsou… par }pard qc {bf 1fs 20ul Igor Hn'edzdo 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 10

Formát (La)Te. X {sclarge Ze zahraničí} {centerlinebfHuge Gerhard Schröder v~Praze} {centerlinebfLARGE První zahraniční…} {Largeuv{Vztahy

Formát (La)Te. X {sclarge Ze zahraničí} {centerlinebfHuge Gerhard Schröder v~Praze} {centerlinebfLARGE První zahraniční…} {Largeuv{Vztahy s~Čechy jsou…} řekl…} {bfLargeunderline Igor Hnízdo} 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 11

Oddělit logickou strukturu od vzhledu dokumentu • Vzhled kódován mezi textem: příliš mnoho příkazů,

Oddělit logickou strukturu od vzhledu dokumentu • Vzhled kódován mezi textem: příliš mnoho příkazů, nečitelné. • Vzhled závisí na software a hardware: je k dispozici ten a ten font? Umíme podtrhávat…? • Každý autor může pro tentýž prvek (např. nadpis) použít jiný vzhled. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 12

Formát SGML <RUBRIKA>Ze zahraničí</RUBRIKA> <NADPIS>Gerhard Schröder v  Praze</NADPIS> <PODTITUL>První zahraniční cesta vítěze… <UVOD><Q>Vztahy s 

Formát SGML <RUBRIKA>Ze zahraničí</RUBRIKA> <NADPIS>Gerhard Schröder v  Praze</NADPIS> <PODTITUL>První zahraniční cesta vítěze… <UVOD><Q>Vztahy s  Čechy jsou naší prioritou, </Q> řekl…</UVOD> <AUTOR>Igor Hnízdo</AUTOR> <ODSTAVEC>Řadu let vládla… <ODSTAVEC>… 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 13

Ale v RTF jsou styly a v Te. Xu makra! {rtf 1ansicpg 1250uc 1

Ale v RTF jsou styly a v Te. Xu makra! {rtf 1ansicpg 1250uc 1 {fonttbl{f 0fromanfcharset 0fprq 2 Times New Roman; }{f 1… {stylesheet{s 0sb 100sa 100widctlparad justright lang 1029 snext 0 Normální; } {s 1sb 240sa 60keepnwidctlparadjustr ight bf 1fs 28lang 1029kerning 28 sbasedon 0 snext 15 Nadpis 1; }… {s 1qc Gerhard Schröder v~Praze} 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 14

Proč nestačí styly v RTF? • Autoři by nejdříve museli chtít styly používat. •

Proč nestačí styly v RTF? • Autoři by nejdříve museli chtít styly používat. • Nikdo jim nebrání ručně přidat např. „tučné písmo“, ale dokonce ani konce řádků a mezery pro posunutí textu na požadované místo. • V SGML tuto možnost nemusejí vůbec dostat. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 15

I SGML lze využít (či zneužít) ke kódování vzhledu <HTML><BODY> <I><FONT FACE="Arial" SIZE=2><P>ZE ZAHRANIÈ

I SGML lze využít (či zneužít) ke kódování vzhledu <HTML><BODY> <I><FONT FACE="Arial" SIZE=2><P>ZE ZAHRANIÈ Í</P> </I></FONT><B><FONT SIZE=6><P ALIGN="CENTER">Gerhard Schröder v  Praze</P> </FONT><FONT FACE="Arial" SIZE=3><P ALIGN="CENTER">První zahraniè ní cesta vítì ze voleb vede k  nám</P></FONT></BODY></HTML> 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 16

Kdy nemá smysl rozlišovat logickou strukturu a vzhled • U dokumentů s jednorázovým použitím,

Kdy nemá smysl rozlišovat logickou strukturu a vzhled • U dokumentů s jednorázovým použitím, s krátkou životností. • U dokumentů, které nesdílí více jednotlivců či organizací. • U dokumentů, které kromě vytištění nevyžadují žádné automatické zpracování. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 17

Jiný příklad použití: CALS • Computer-aided Acquisition and Logistics Support. • Americké ministerstvo obrany:

Jiný příklad použití: CALS • Computer-aided Acquisition and Logistics Support. • Americké ministerstvo obrany: stovky dokumentů ke každému bombardéru. • Dokumentace od různých dodavatelů s různými editory. • Standard CALS obsahuje SGML (+ návod). 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 18

Historie SGML a spol. • • • pozdní 60. léta: nroff 1970: vzniká Unix

Historie SGML a spol. • • • pozdní 60. léta: nroff 1970: vzniká Unix 1978: pracovní skupina ANSI počátek 80. let: přebírá ISO 1980: vzniká MS-DOS 1986: standard SGML (ISO 8879: 1986) 1987: první verze RTF (Te. X je starší) 1988: CALS (obsahuje SGML) 1990: vznikají MS Windows 3. 1 1993: zatím nejrozšířenější aplikace SGML: HTML 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 19

Tři části SGML • SGML deklarace. Znaková sada, oddělovače (</>…). • DTD (definice typu

Tři části SGML • SGML deklarace. Znaková sada, oddělovače (</>…). • DTD (definice typu dokumentu — document type definition). • Text dokumentu obohacený o SGML značky. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 20

Příklad DTD <!ELEMENT CLANEK - - (RUBRIKA? , NADPIS, PODTITUL? , UVOD? , AUTOR,

Příklad DTD <!ELEMENT CLANEK - - (RUBRIKA? , NADPIS, PODTITUL? , UVOD? , AUTOR, TELO)> <!ELEMENT RUBRIKA - O (#PCDATA)> <!ELEMENT NADPIS - O (#PCDATA)> <!ELEMENT PODTITUL - O (#PCDATA)> <!ELEMENT UVOD - O ((#PCDATA | Q)+)> <!ELEMENT TELO - O (ODSTAVEC+)> <!ELEMENT ODSTAVEC - O ((#PCDATA | Q)+)> <!ELEMENT Q - - (#PCDATA)> 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 21

Jméno SGML prvku • 1 až 8 znaků. • První znak musí být písmeno

Jméno SGML prvku • 1 až 8 znaků. • První znak musí být písmeno A-Z, a-z (žádná diakritika). • Další znaky mohou být písmena, číslice, tečka a pomlčka — tzv. jmenné znaky. • Ve jménech prvků se nerozlišují velká a malá písmena. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 22

Minimalizace • U některých prvků je možné vynechat koncovou, případně počáteční značku. • Například

Minimalizace • U některých prvků je možné vynechat koncovou, případně počáteční značku. • Například pokud víme, že za nadpisem vždy následuje podtitul, který nemůže být součástí nadpisu, <PODTITUL> zastupuje i </NADPIS>. • <!ELEMENT NADPIS - O (#PCDATA)> • „O“ nebo „o“ jako „omitted“ (ne 0)! 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 23

Operátory v popisu složení prvku • <! Odlišuje deklarace prvků od jejich výskytů. Závorky

Operátory v popisu složení prvku • <! Odlišuje deklarace prvků od jejich výskytů. Závorky ohraničují tzv. modelovou skupinu. , & | Spojovací operátory. ? * + Indikátory výskytů. #PCDATA List v hierarchii, prostý text. • (…) • • • 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 24

Operace sřetězení: , (čárka) • <!ELEMENT A - - (B, C)> • Prvek A

Operace sřetězení: , (čárka) • <!ELEMENT A - - (B, C)> • Prvek A se skládá z prvků B a C, které se musí vyskytnout za sebou v uvedeném pořadí. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 25

Operace sjednocení: & (ampersand) • <!ELEMENT A - - (B & C)> • Prvek

Operace sjednocení: & (ampersand) • <!ELEMENT A - - (B & C)> • Prvek A se skládá z prvků B a C, které se musí vyskytnout oba, ale v libovolném pořadí. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 26

Operace disjunkce: | (svislítko) • <!ELEMENT A - - (B | C)> • Prvek

Operace disjunkce: | (svislítko) • <!ELEMENT A - - (B | C)> • Prvek A odpovídá buď prvku B, nebo prvku C, ale ne oběma za sebou. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 27

Volitelnost: ? (otazník) • <!ELEMENT A - - (B? )> • Prvek A může

Volitelnost: ? (otazník) • <!ELEMENT A - - (B? )> • Prvek A může být realizován prvkem B, nebo může být prázdný. • <!ELEMENT A - - (B? , C)> • Prvek A se skládá z B a C, kde prvně jmenovaný je nepovinný. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 28

Volitelnost a iterace: * (hvězdička) • <!ELEMENT A - - (B*)> • Prvek A

Volitelnost a iterace: * (hvězdička) • <!ELEMENT A - - (B*)> • Prvek A může být prázdný, nebo obsahovat libovolný počet prvků B. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 29

Nejméně jeden výskyt: + (plus) • <!ELEMENT A - - (B+)> • Prvek A

Nejméně jeden výskyt: + (plus) • <!ELEMENT A - - (B+)> • Prvek A se skládá z libovolného počtu prvků B, nejméně však z jednoho. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 30

Priorita operátorů • Indikátory výskytů mají vyšší prioritu než spojovací operátory. Srovnejte: <!ELEMENT P

Priorita operátorů • Indikátory výskytů mají vyšší prioritu než spojovací operátory. Srovnejte: <!ELEMENT P - - (#PCDATA|Q)*> ale <!ELEMENT P - - (#PCDATA|Q*)> • Uvnitř jedněch závorek se smí vyskytnout pouze jeden druh spojovacího operátoru. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 31

#PCDATA • • Parsed Character Data List hierarchie, terminální symbol. Platné SGML znaky, ne

#PCDATA • • Parsed Character Data List hierarchie, terminální symbol. Platné SGML znaky, ne obrázky apod. Data musí být „parsed“ (analyzována), aby se rozbalily entity (viz později) a aby se vědělo, co je text a co SGML značky. • Implicitně obsahuje operátor *. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 32

Mimo hierarchii: zahrnutí prvku • Prvek B zahrnutý do definice prvku A se může

Mimo hierarchii: zahrnutí prvku • Prvek B zahrnutý do definice prvku A se může vyskytnout ve kterémkoli podprvku C prvku A, aniž by to muselo být explicitně řečeno v deklaraci C. • K zahrnutí (inkluzi) se používá operátor + (tentokrát prefixový, ne postfixový). <!ELEMENT A - - ((C 1&C 2), C 3) +(B)> 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 33

Mimo hierarchii: vyloučení prvku • Ruší zahrnutí prvku v daném podstromu. Například proto, že

Mimo hierarchii: vyloučení prvku • Ruší zahrnutí prvku v daném podstromu. Například proto, že prvek se nemůže vyskytnout uvnitř sebe sama. • K vyloučení (exkluzi) se používá operátor – (prefixový). <!ELEMENT C 1 - - (#PCDATA) -(B)> 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 34

Zvláštní druhy prvků • ANY = #PCDATA nebo libovolný prvek deklarovaný v tomtéž DTD

Zvláštní druhy prvků • ANY = #PCDATA nebo libovolný prvek deklarovaný v tomtéž DTD (jen pro ladění) • CDATA: ignorovat oddělovače kromě </ • RCDATA: podobné, ale rozpoznají se odkazy na entity a znaky. • EMPTY: prázdné, sama značka má význam pro zpracování (např. <TODAY>) 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 35

Prvky s atributy <DOPIS DRUH=FIREMNI> <ODSTAVEC CISLO=5>Toto je pátý odstavec dopisu. </ODSTAVEC> </DOPIS> <!ELEMENT

Prvky s atributy <DOPIS DRUH=FIREMNI> <ODSTAVEC CISLO=5>Toto je pátý odstavec dopisu. </ODSTAVEC> </DOPIS> <!ELEMENT DOPIS - - (ODSTAVEC*)> <!ATTLIST DOPIS DRUH (FIREMNI|SOUKROMY) FIREMNI> <!ATTLIST element atribut hodnoty implicitní_hodnota> 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 36

Typy hodnot atributů CDATA ENTITY ENTITIES ID IDREFS NAMES NMTOKEN 5. 11. 2002 <TABLE

Typy hodnot atributů CDATA ENTITY ENTITIES ID IDREFS NAMES NMTOKEN 5. 11. 2002 <TABLE ARRANGE="1 2/3 4"> <ARTWORK NAME="PIC 1 PIC 2"> <BIB ID="Capek"> <BIBREF REFID="Capek Polacek"> <MAIL FROM="Karel Honza"> <BUILDING NO="R-021"> http: //ckl. mff. cuni. cz/~zeman/ 37

Typy hodnot atributů (pokračování) NMTOKENS NOTATION NUMBERS NUTOKENS 5. 11. 2002 <BUILDING NO="R-021 R-023">

Typy hodnot atributů (pokračování) NMTOKENS NOTATION NUMBERS NUTOKENS 5. 11. 2002 <BUILDING NO="R-021 R-023"> <FORMULA NOTATION="EQN"> <C N="7"> <TABLE NO="5 0 8 7"> <PHONE NO="2191 -4288"> <PHONE NO="2191 - 4288"> http: //ckl. mff. cuni. cz/~zeman/ 38

Pro jeden prvek nejvýše jeden seznam atributů <!ATTLIST f case (lower|cap|upper) lower cphr NMTOKEN

Pro jeden prvek nejvýše jeden seznam atributů <!ATTLIST f case (lower|cap|upper) lower cphr NMTOKEN #IMPLIED id NMTOKEN #IMPLIED> (Volné místo mezi slovy se interpretuje jako jediná mezera, a to i v uvozovkách. ) <!ATTLIST SEZNAM DRUH (odrazky, cislovany) odrazky ZNAK (odrazky, hvezdicky, cisla) cislo> 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 39

Implicitní hodnoty atributů • Prázdný řetězec je povolen pro typ CDATA. #FIXED hodnota je

Implicitní hodnoty atributů • Prázdný řetězec je povolen pro typ CDATA. #FIXED hodnota je pevná, udává se za klíčovým slovem #FIXED #REQUIRED atribut je povinný #CURRENT naposledy použitá hodnota #CONREF pro křížové odkazy #IMPLIED zpracovatel hodnotu zná 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 40

Entity • Zástupce znaku nebo řetězce. • Zástupce externího souboru. Obsah souboru se vloží

Entity • Zástupce znaku nebo řetězce. • Zástupce externího souboru. Obsah souboru se vloží na daném místě do dokumentu. • „Datový text“. • Uzávorkovaný text. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 41

Parametrický literál • Řetězec nebo znak, na který se v dokumentu odkazujeme, ale jeho

Parametrický literál • Řetězec nebo znak, na který se v dokumentu odkazujeme, ale jeho obsah se stanoví někde jinde — podobně jako parametry u procedur. <!ENTITY UFAL "Ústav formální a aplikované lingvistiky"> <!ENTITY OMEGA "Ω"> <P>Značkou jednotky elektrického odporu je &OMEGA; (čti omega). </P> 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 42

Odkaz na nedefinovanou entitu <P>Značkou pro ohm je &bflmpsvz; . </P> • Pokud bflmpsvz

Odkaz na nedefinovanou entitu <P>Značkou pro ohm je &bflmpsvz; . </P> • Pokud bflmpsvz nebylo definováno, analyzátor oznámí chybu. Místo chybového hlášení je možné všechny neznámé entity rozbalit na varovný text, pokud deklarujeme „defaultní“ entitu. <!ENTITY #DEFAULT "Varování: Odkaz na nedefinovanou entitu. "> 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 43

Externí entita • Tam, kde se vyskytne odkaz na externí entitu, se do dokumentu

Externí entita • Tam, kde se vyskytne odkaz na externí entitu, se do dokumentu vloží obsah jiného souboru. • Dva druhy externích entit: – Lokální jsou známé pouze na našem počítači či síti. – Veřejné jsou k dispozici každému. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 44

Lokální externí entita • Lokální entita umožňuje rozdělit velký dokument na více souborů, například

Lokální externí entita • Lokální entita umožňuje rozdělit velký dokument na více souborů, například po kapitolách. <!ENTITY KAPITOL 1 SYSTEM "C: Kapitola 1. sgml"> 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 45

Veřejná externí entita • Veřejná entita umožňuje použít DTD nebo sadu entit a prvků,

Veřejná externí entita • Veřejná entita umožňuje použít DTD nebo sadu entit a prvků, definovanou jako navazující standard. <!ENTITY PUBLISH PUBLIC "ISO 8879: 1986//ENTITIES Publishing//EN" "c: a. ent"> • Pro registraci veřejných identifikátorů zvláštní standard ISO 9070: 1991. (vlastník//třída text//jazyk) 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 46

Propojení dokumentu a DTD • Každý dokument musí buď přímo obsahovat DTD, nebo alespoň

Propojení dokumentu a DTD • Každý dokument musí buď přímo obsahovat DTD, nebo alespoň odkaz na externí DTD. <!DOCTYPE DOPIS SYSTEM "dopis. dtd"> <!DOCTYPE HTML PUBLIC "-//W 3 C//DTD HTML 4. 0 Transitional//EN"> 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 47

Vložení DTD do dokumentu <!DOCTYPE MAIL [ <!ELEMENT MAIL - - ((FROM & TO),

Vložení DTD do dokumentu <!DOCTYPE MAIL [ <!ELEMENT MAIL - - ((FROM & TO), BODY, CLOSE? )> <!ELEMENT (TO|FROM|CLOSE) - O #PCDATA> <!ELEMENT BODY - O (P)*> <!ELEMENT P - O (#PCDATA|Q)*> <!ELEMENT Q - - (#PCDATA)> <!ATTLIST MAIL STATUS (PUBLIC|CONFIDEN) PUBLIC>]> <MAIL>… 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 48

Text Encoding Initiative • Aplikace SGML (řada DTD apod. ) • Zaměřená na výzkum

Text Encoding Initiative • Aplikace SGML (řada DTD apod. ) • Zaměřená na výzkum v humanitních vědách — jedna z prvních takto rozsáhlých nekomerčních aplikací. • Založena a sponzorována třemi vědeckými asociacemi včetně Association for Computational Linguistics. • TEI guidelines zpracovány 1989– 1994. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 49

TEI guidelines • SGML se snaží uzákonit to, co je společné všem počítačovým zpracováním

TEI guidelines • SGML se snaží uzákonit to, co je společné všem počítačovým zpracováním textu. • TEI jde dál a snaží se pokrýt společné potřeby „počítačově-humanitních věd“ včetně počítačové lingvistiky. • 1300 stran SGML definic pro nejrůznější druhy textu: TEI guidelines. • Spíše než o standard jde o doporučení, aby se usnadnila komunikace vědeckých pracovišť. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 50

Text Encoding Initiative • Definuje množinu DTD, resp. stavebních kamenů, z nichž mohou být

Text Encoding Initiative • Definuje množinu DTD, resp. stavebních kamenů, z nichž mohou být DTD ušita na míru problému. Umožňuje tak to, co je společné více problémům, kódovat stejně. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 51

Modularita TEI DTD • Ústřední sady značek (core tag sets): předpokládá se, že je

Modularita TEI DTD • Ústřední sady značek (core tag sets): předpokládá se, že je potřebuje každý dokument, jsou proto k dispozici vždy. • Základní sady značek (base tag set) jsou vždy společné jedné třídě dokumentů. Jeden dokument potřebuje právě jednu základní sadu. • Přídavné sady značek (additional tag sets) mohou potřebovat dokumenty libovolné třídy, ale jsou to specializované značky, potřebné obvykle ve specializované aplikaci. • Pomocné sady značek (auxiliary tag sets) obsahují prvky se zvláštním posláním. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 52

Modularita TEI DTD (pokračování) • Tentýž prvek může být definován různě v různých základních

Modularita TEI DTD (pokračování) • Tentýž prvek může být definován různě v různých základních sadách. • Kromě této výjimky nesmí být tentýž prvek definován na více místech, tj. ani ve více různých přídavných sadách, ani ve dvou sadách z různých skupin (ústřední a pomocné). 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 53

Příklad: TEI kompatibilní dokument <!DOCTYPE tei. 2 [ <!ENTITY % TEI. prose "INCLUDE"> <!ENTITY

Příklad: TEI kompatibilní dokument <!DOCTYPE tei. 2 [ <!ENTITY % TEI. prose "INCLUDE"> <!ENTITY % TEI. linking "INCLUDE"> ]> <tei. 2> <!-- zde je obsah dokumentu --> </tei. 2> 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 54

TEI: otevřený standard • Modulární schéma umožňuje rozšiřitelnost: lze doplňovat další sady značek. •

TEI: otevřený standard • Modulární schéma umožňuje rozšiřitelnost: lze doplňovat další sady značek. • V konkrétním dokumentu si každý může dodefinovat své prvky, pokud mu TEI vidění světa nestačí. • Spíše než o standard jde o doporučení. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 55

Ústřední sady značek • Jsou dvě: – Definice prvků nacházejících se ve všech druzích

Ústřední sady značek • Jsou dvě: – Definice prvků nacházejících se ve všech druzích dokumentů. • • • Zvýrazněné fráze (rozdělené na zdůraznění, technické termíny, cizí slova, tituly děl…). Fráze v uvozovkách (rozdělené na přímou řeč, glosy, citáty…). Jména, čísla, míry, data, časy… Seznamy všeho druhu. Nástroje pro redakční korektury. Odkazy (hypertext), bibliografické citace. – Záhlaví, které musí mít každý dokument (jedna z mála povinných věcí v TEI). • Popis dokumentu a zdrojů, z nichž byl odvozen, autorská práva, distribuční podmínky… (elektronické knihovny) • Popis zvoleného kódování. • Tématické zařazení, použité jazyky, zařazení autora… • Historie změn dokumentu. • „Nikdo pravděpodobně nepotřebuje každou věc, kterou umíme popsat. Ale každou věc, kterou umíme popsat, pravděpodobně někdo potřebuje. “ 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 56

Základní sady značek • Šest sad pro dokumenty, u nichž převažuje zařazení do jedné

Základní sady značek • Šest sad pro dokumenty, u nichž převažuje zařazení do jedné třídy: próza, verše, drama, přepis mluveného slova, slovník, terminologická databáze. • Další dvě sady pro dokumenty, které třídy kombinují: obecná a smíšená. Liší se podle zacházení s částmi dokumentu. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 57

Dělení dokumentu na části • V různých dokumentech různé názvy částí: kapitoly, oddíly, části…

Dělení dokumentu na části • V různých dokumentech různé názvy částí: kapitoly, oddíly, části… • Bez ohledu na název podobné vlastnosti: – Jsou členěny hierarchicky. – Samostatná část je nekompletní. • Bez ohledu na název stejný prvek v TEI: <SEG> pro rekurzi, <S> pro obyčejné členění (věty). • Atribut TYPE: jiné než hierarchické vlastnosti. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 58

Třídy prvků • Prvky ze sad TEI jsou řazeny do tříd. • Modelové třídy:

Třídy prvků • Prvky ze sad TEI jsou řazeny do tříd. • Modelové třídy: prvky se objevují na stejném místě ve struktuře dokumentu. • Atributové třídy: prvky mají stejné atributy. • Jeden prvek může patřit do více tříd současně. • Třídy mohou mít podtřídy i nadtřídy. • Třídy jsou definovány v DTD pomocí parametrických entit lze přidávat prvky do tříd. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 59

Přidávání prvků do tříd <!ENTITY % x. divtop ""> <!ENTITY % m. divtop "%x.

Přidávání prvků do tříd <!ENTITY % x. divtop ""> <!ENTITY % m. divtop "%x. divtop head | byline | epigraph"> Chceme-li přidat do třídy m. divtop nový prvek (třeba <keywords>) a umožnit tak jeho použití kdekoli, kde jsou povoleny i ostatní prvky třídy, jediné, co musíme udělat, je předefinovat parametrickou entitu x. divtop: <!ENTITY % x. divtop "keywords |"> 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 60

Přejmenovávání a odstraňování prvků • Následující deklarace přejmenuje prvek <p> na <para>: <!ENTITY %

Přejmenovávání a odstraňování prvků • Následující deklarace přejmenuje prvek <p> na <para>: <!ENTITY % n. p "para"> • Následující deklarace odstraní prvek <mentioned>: <!ENTITY % mentioned "IGNORE"> 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 61

Globální atributová třída • Atributy, které existují u všech TEI prvků: – ID je

Globální atributová třída • Atributy, které existují u všech TEI prvků: – ID je SGML identifikátor prvku (jedinečný). – N je jméno nebo číslo prvku, ne nutně jedinečné (kanonická reference TEI). – LANG udává jazyk, a tedy i písmo, použité pro obsah prvku. – REND může popsat zobrazení obsahu (např. tučně), pokud není vzhled dán jinak. 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 62

Přídavné sady značek • Je jich zatím deset. • Specifické účely: např. přepis řeči;

Přídavné sady značek • Je jich zatím deset. • Specifické účely: např. přepis řeči; kontextová informace potřebná v textových korpusech; podrobnější rozbor jmen a dat; abstrakce jako sítě, grafy, stromy; matematické vzorce a tabulky… • Obecnější účely: např. propojování odkazů a paralelních textů; lingvistická analýza (např. identifikace morfémů); struktury rysů; stupeň nejistoty či nejednoznačnosti zakódované informace… 5. 11. 2002 http: //ckl. mff. cuni. cz/~zeman/ 63