1 / 63

Standardy pro anotaci jazykových dat

Počítačové zpracování přirozeného jazyka. Standardy pro anotaci jazykových dat. Daniel Zeman http://ckl.mff.cuni.cz/~zeman/. XML. eXtensible Markup Language http://www.xml.org/xml/resources_focus_beginnerguide.shtml. Značkování.

Download Presentation

Standardy pro anotaci jazykových dat

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. XML • eXtensible Markup Language • http://www.xml.org/xml/resources_focus_beginnerguide.shtml http://ckl.mff.cuni.cz/~zeman/

  3. 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? http://ckl.mff.cuni.cz/~zeman/

  4. 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… http://ckl.mff.cuni.cz/~zeman/

  5. 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). http://ckl.mff.cuni.cz/~zeman/

  6. 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, TeX) • Proč tedy nestačí tyto „standardy“ a musí se zavádět něco nového? http://ckl.mff.cuni.cz/~zeman/

  7. 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. http://ckl.mff.cuni.cz/~zeman/

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

  9. 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… http://ckl.mff.cuni.cz/~zeman/

  10. Formát RTF(Rich Text Format) {\i\caps\f22\fs20 Ze zahrani\'e8\'ed \par }\pard\plain \qc\b\f1\fs28\lang1029\kerning28 {\f0\fs40 Gerhard Schr\'f6der v\~Praze \par }\pard\plain \qc\b\i\f1\lang1029 {\i0\f22\fs22 Prvn\'ed zahrani\'e8n… \par }\pard\plain \lang1029 {\f16 \ldblquote Vztahy s\~\'c8echy jsou… \par }\pard \qc {\b\f1\fs20\ul Igor Hn\'edzdo http://ckl.mff.cuni.cz/~zeman/

  11. Formát (La)TeX {\sc\large Ze zahraničí} {\centerline\bf\Huge Gerhard Schröder v~Praze} {\centerline\bf\LARGE První zahraniční…} {\Large\uv{Vztahy s~Čechy jsou…} řekl…} {\bf\Large\underline Igor Hnízdo} http://ckl.mff.cuni.cz/~zeman/

  12. Oddělit logickou strukturuod 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. http://ckl.mff.cuni.cz/~zeman/

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

  14. Ale v RTF jsou stylya v TeXu makra! {\rtf1\ansi\ansicpg1250\uc1 {\fonttbl{\f0\froman\fcharset0\fprq2 Times New Roman;}{\f1… {\stylesheet{\s0\sb100\sa100\widctlpar\adjustright \lang1029 \snext0Normální;} {\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\lang1029\kerning28 \sbasedon0 \snext15 Nadpis 1;}… {\s1\qc Gerhard Schröder v\~Praze} http://ckl.mff.cuni.cz/~zeman/

  15. 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. http://ckl.mff.cuni.cz/~zeman/

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

  17. 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í. http://ckl.mff.cuni.cz/~zeman/

  18. 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). http://ckl.mff.cuni.cz/~zeman/

  19. 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 (TeX je starší) • 1988: CALS (obsahuje SGML) • 1990: vznikají MS Windows 3.1 • 1993: zatím nejrozšířenější aplikace SGML: HTML http://ckl.mff.cuni.cz/~zeman/

  20. 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. http://ckl.mff.cuni.cz/~zeman/

  21. 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)> http://ckl.mff.cuni.cz/~zeman/

  22. 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. http://ckl.mff.cuni.cz/~zeman/

  23. 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)! http://ckl.mff.cuni.cz/~zeman/

  24. 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. http://ckl.mff.cuni.cz/~zeman/

  25. 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í. http://ckl.mff.cuni.cz/~zeman/

  26. 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í. http://ckl.mff.cuni.cz/~zeman/

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

  28. 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ý. http://ckl.mff.cuni.cz/~zeman/

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

  30. 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. http://ckl.mff.cuni.cz/~zeman/

  31. 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. http://ckl.mff.cuni.cz/~zeman/

  32. #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 *. http://ckl.mff.cuni.cz/~zeman/

  33. 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 - - ((C1&C2),C3) +(B)> http://ckl.mff.cuni.cz/~zeman/

  34. 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 C1 - - (#PCDATA) -(B)> http://ckl.mff.cuni.cz/~zeman/

  35. 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>) http://ckl.mff.cuni.cz/~zeman/

  36. 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> http://ckl.mff.cuni.cz/~zeman/

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

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

  39. 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> http://ckl.mff.cuni.cz/~zeman/

  40. 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á http://ckl.mff.cuni.cz/~zeman/

  41. 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. http://ckl.mff.cuni.cz/~zeman/

  42. 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> http://ckl.mff.cuni.cz/~zeman/

  43. 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."> http://ckl.mff.cuni.cz/~zeman/

  44. 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. http://ckl.mff.cuni.cz/~zeman/

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

  46. 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) http://ckl.mff.cuni.cz/~zeman/

  47. 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 "-//W3C//DTD HTML 4.0 Transitional//EN"> http://ckl.mff.cuni.cz/~zeman/

  48. 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>… http://ckl.mff.cuni.cz/~zeman/

  49. 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. http://ckl.mff.cuni.cz/~zeman/

  50. 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šť. http://ckl.mff.cuni.cz/~zeman/

More Related