Nastavení

Struktura korpusu

Korpus - jako soubor textů - je vnitřně strukturován do různých celků. Jednotlivé celky v rámci korpusu se nazývají strukturní jednotky (jako opus, dokument, věta), k nimž se vážou různé strukturní atributy (např. autor, název díla, rok vydání apod.). Zároveň je většina korpusů opatřena dodanou lingvistickou informací, která se týká jednotlivých slov (tj. pozičními atributy, jako třeba lemma, tag apod.).

Za účelem zachycení takovéto mnohovrstevnaté struktury se užívají značkovací jazyky. Standardem v této oblasti je formát XML, často se ovšem používají i různé formy jazyka SGML.

Vertikála – korpusy psaného jazyka

Vertikála je interní formát sloužící pro zachycení struktury korpusu a textů v něm (spolu s jejich anotací). V korpusu SYN2010 má např. následující podobu (jedná se o ukázku z díla A. C. Doyla Příběhy Sherlocka Holmese, konkrétně o větu Když školení skončilo, přidělili mne k pátému northumberlandskému střeleckému pluku jako pomocného chirurga., která se nachází na začátku celé knihy):

<opus autor="Doyle, Arthur Conan" nazev="Příběhy Sherlocka Holmese" nakladatel="Mladá fronta" mistovyd="Praha" 
rokvyd="1971" isbnissn="" preklad="Henzl, V. - Zábrana, J. - Wolfová, Z." srclang="ENG" txtype_group="beletrie" 
txtype="NOV" genre="CRM" med="B" id="pribshho">
<doc id="1">
...
<s id="10">
Když	když	J,--------------
školení	školení	NNNS4-----A-----
skončilo	skončit	VpNS---3R-AA---P
,	,	Z:--------------
přidělili	přidělit	VpMP---3R-AA---P
mne	já	PP-S4--1--------
k	k	RR--3-----------
Pátému	Pátý	NNMS3-----A-----
northumberlandskému	northumberlandský	AAIS3----1A-----
střeleckému	střelecký	AAIS3----1A-----
pluku	pluk	NNIS3-----A-----
jako	jako	J,--------------
pomocného	pomocný	AAMS4----1A-----
chirurga	chirurg	NNMS4-----A-----
.	.	Z:--------------
</s>
...
</doc>
...
</opus>
<opus>
...
</opus>

Každý text (nazývaný opus) začíná specifickou značkou <opus…>, za kterou následují jeho charakteristiky (zachycené strukturními atributy).

<opus autor="Doyle, Arthur Conan" nazev="Příběhy Sherlocka Holmese" nakladatel="Mladá fronta" mistovyd="Praha" 
rokvyd="1971" isbnissn="" preklad="Henzl, V. - Zábrana, J. - Wolfová, Z." srclang="ENG" txtype_group="beletrie" 
txtype="NOV" genre="CRM" med="B" id="pribshho">

Zde je poznačeno, kdo je autorem (je-li to známo), jaký je název textu, nakladatel, rok vydání, ISBN/ISSN, překladatel (není vyplněno u českých originálů), zdrojový jazyk (taktéž) a stylové a žánrové zařazení textu (atributy txtype_group, txtype a genre). Dále je v hlavičce zachyceno, jaké bylo médium zdrojového textu (např. B = kniha) a jaký je jeho jednoznačný identifikátor (id).

Pokud se text dělí na dokumenty (např. různé povídky) a na věty, následuje řádek se specifikací této strukturní jednotky:

<doc id="1">
<s id="10">

V drtivé většině případů má strukturní značka <doc> a <s> pouze jednoznačný identifikátor (id), který se ovšem vztahuje pouze k hierarchicky nadřazené jednotce, tj. k opusu. Dokumentů a vět s id=„1“ je tak v korpusu celá řada.

Samotný text je uspořádán do sloupců. První sloupec představuje originální text (atribut word), další sloupce jsou pak vyhrazeny pro jednotlivé poziční atributy (v tomto případě lemma a tag).

Když	když	J,--------------
školení	školení	NNNS4-----A-----
skončilo	skončit	VpNS---3R-AA---P
,	,	Z:--------------
přidělili	přidělit	VpMP---3R-AA---P
mne	já	PP-S4--1--------
k	k	RR--3-----------
Pátému	Pátý	NNMS3-----A-----
northumberlandskému	northumberlandský	AAIS3----1A-----
střeleckému	střelecký	AAIS3----1A-----
pluku	pluk	NNIS3-----A-----
jako	jako	J,--------------
pomocného	pomocný	AAMS4----1A-----
chirurga	chirurg	NNMS4-----A-----
.	.	Z:--------------

Všimněme si značky, kterou automatický tagger přiřadil tvaru školení: NNNS4.*. Číslice 4 reprezentuje 4. pád, což znamená, že zde je v tagování chyba, ve skutečnosti se nejedná o realizaci akuzativní, ale nominativní. Chybovost automatického značkování dosahuje cca 4 %.

Jednou ze zásad XML, z něhož je vertikála odvozena, je, že všechny struktury musí mít otevírací i ukončovací značku. Proto jsou nakonec všechny otevřené struktury uzavřeny:

</s>
</doc>
</opus>

Vertikála – korpusy mluveného jazyka

Analogicky vypadá struktura korpusů mluveného jazyka, viz ukázka z korpusu ORAL2008:

<doc id="02A002N" temp="2002" pocet="3" promluva="N">
...
<sp num="00" pohlavi="Z" vek="I" vzdelani="A" veknum="22" vzdelanityp="VŠ" oblast="pohraničí české">
jo
,
dyk
já
se
snažim
,
dyk
já
nechávám
všechno
na
koleji
v
rybičce
taky
.
</sp>
...
</doc>

Základní odlišností je fakt, že mluvený korpus není členěn na opusy, ale na sondy (označené pomocí <doc>), tj. souvislé rozhovory v rámci jedné komunikační situace. Namísto vět sleduje vnitřní členění střídání promluv mezi mluvčími. Značka <sp> (speaker) tedy vyjadřuje fakt, že došlo ke změně mluvčího. Zároveň jsou součástí této značky i informace o mluvčím (pořadové číslo v promluvě, pohlaví, věk, vzdělání, nářeční oblast apod.).

Korpusy mluveného jazyka většinou nebývají lemmatizovány a tagovány, proto je ve zdrojovém textu pouze jeden sloupec (pro atribut word).

Struktura v XML

Spíše pro ilustraci uvádíme příklad v XML notaci.

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE doc SYSTEM "http://korpus.cz/intercorp/files/intercorp.dtd">
<doc id="Mandelstamova-DveKnihy" language="cs" version="00" wordcount="279826">
<div author="Mandělštamová, Naděžda Jakovlevna" title="Dvě knihy vzpomínek" publisher="Atlantis" pubplace="Brno" pubyear="1996" pubmonth="" origyear="" isbn="80-7108-128-0" txtype="próza" comment="" original="NE" srclang="ru" translator="Dušková, Ludmila" transsex="F" authsex="F" transcomment="" collectionauthor="" collectiontitle="" volume="" pages="" id="cs:Mandelstamova-DveKnihy:0" wordcount="279826">
 <p id="cs:Mandelstamova-DveKnihy:0:1">
 <s id="cs:Mandelstamova-DveKnihy:0:1:1">
  <w lemma="Naděžda" tag="NNFS1-----A----">Naděžda</w>
  <w lemma="Mandelštamová" tag="NNFS1-----A----">Mandelštamová</w>
 </s>
 </p>
 <p id="cs:Mandelstamova-DveKnihy:0:2">
 <s id="cs:Mandelstamova-DveKnihy:0:2:1">
  <w lemma="dva" tag="ClHP1----------">DVĚ</w>
  <w lemma="kniha" tag="NNFP1-----A----">KNIHY</w>
  <w lemma="vzpomínka" tag="NNFP2-----A----">VZPOMÍNEK</w>
 </s>
 </p>
 <p id="cs:Mandelstamova-DveKnihy:0:3">
 <s id="cs:Mandelstamova-DveKnihy:0:3:1">
 <i>
  <w lemma="k" tag="RR--3----------">K</w>
  <w lemma="okenní" tag="AAFS3----1A----">okenní</w>
  <w lemma="tabulka" tag="NNFS3-----A----">tabulce</w>
  <w lemma="přilnout" tag="VpQW---XR-AA---">přilnula</w>
  <w lemma="ženský" tag="AAFS1----1A----">ženská</w>
  <w lemma="tvář" tag="NNFS1-----A----">tvář</w>
  <w lemma="a" tag="J^-------------">a</w>
  <w lemma="po" tag="RR--6----------">po</w>
  <w lemma="sklo" tag="NNNS6-----A----">skle</w>
  <w lemma="začít" tag="VpTP---XR-AA---">začaly</w>
  <w lemma="pomalu" tag="Db-------------">pomalu</w>
  <w lemma="stékat" tag="Vf--------A----">stékat</w>
  <w lemma="slza" tag="NNFP4-----A----">slzy</w>
 <D/>
  <w lemma="," tag="Z:-------------">,</w>
  <w lemma="jako" tag="Db-------------">jako</w>
  <w lemma="kdyby" tag="J,-------------">kdyby</w>
  <w lemma="být" tag="VB-S---3P-AA---">je</w>
  <w lemma="žena" tag="NNFS1-----A----">žena</w>
  <w lemma="mít" tag="VpQW---XR-AA---">měla</w>
  <w lemma="pořád" tag="Db-------------">pořád</w>
  <w lemma="na" tag="RR--6----------">na</w>
  <w lemma="krajíček" tag="NNIS6-----A----">krajíčku</w>
 <D/>
  <w lemma="." tag="Z:-------------">.</w>
 </i>
 </s>
 </p>
 .
 .
 .
</div>
</doc>

Příklad ukazuje počáteční část jednoho ze souborů korpusu InterCorp odpovídajícího české verzi knihy N. J. Mandelštamové Dvě knihy vzpomínek ve formátu XML. Na druhém řádku souboru najdeme odkaz na DTD (Document Type Definition) s definicí struktury celého dokumentu. Tato definice je však pouze formální (na rozdíl od následujícího výkladu, který stručně popisuje také význam a motivaci).

Jeden dokument (označený XML elementem doc) odpovídá celému textu (knize) a je dalšími XML elementy hierarchicky strukturován na části dokumentů (div; v publicistice jim odpovídají články, mohou tak být oddělené i jednotlivé kapitoly apod.), odstavce (p) a věty (s). Každý z těchto elementů začíná otevíracím tagem (např. pro věty <s …>) a je uzavřen tagem uzavíracím (</s>), součástí otevíracích tagů jsou navíc atributy a jejich hodnoty v uvozovkách. Element div obsahuje řadu atributů s podrobnými bibliografickými informacemi o textu. Všem dosud zmíněným elementům je společný atribut id, identifikátor jednoznačně určující daný element v korpusu.

Dalším elementem je w, označující každou jednotlivou pozici vzniklou tokenizací. Jeho atributy jsou lemma a morfologická značka jako výsledek (automatické) lemmatizace a tagování. Tyto pozice jsou základní jednotky pro vyhledávání v korpusu odpovídající tokenům: samostatnou pozici v takto označeném textu dokumentu tvoří každý jednotlivý výskyt slovního tvaru, čísla nebo interpunkčního znaménka, které bylo při tokenizaci osamostatněno.

Každý w-element je svým umístěním zařazen do konkrétní věty, odstavce a dokumentu. Elementem i je ohraničena část textu, která byla zapsána kurzívou, a element D označuje místo, kde jednotlivé w-elementy v původním textu nebyly odděleny mezerou, což umožňuje jeho zpětnou rekonstrukci. Za povšimnutí stojí také fakt, že element D je při svém otevření vždy vzápětí uzavřen, což je signalizováno tagem <D/>.

Michal Křen, Václav Cvrček

Související odkazy