\documentclass[12pt,a4paper,openright]{book}
\usepackage[round]{natbib}
\usepackage[acronym]{glossaries} % make a separate list of acronyms
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{url}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage{acronym}
\usepackage{makeidx}
\usepackage{times}
\usepackage{latexsym}
\usepackage{epsf}
\usepackage{covington}
\usepackage{algpseudocode}
\usepackage{algorithmicx}
\usepackage{algorithm}
\usepackage[utf8x]{inputenc}
\usepackage{amssymb,amsmath}
\usepackage[all]{xy}
\usepackage[T1]{fontenc}
\usepackage{latexsym}
\usepackage[russian,german,english,slovene]{babel}
\usepackage{glossaries}
\usepackage{array} 
\usepackage{indentfirst}
\usepackage{amsthm}
\usepackage{float}

\renewcommand{\algorithmicforall}{\textbf{for each}}


\makeatletter
\setlength{\abovecaptionskip}{6pt}   % 0.5cm as an example
\setlength{\belowcaptionskip}{6pt}   % 0.5cm as an example

%Velikost strani - dvostransko
\oddsidemargin 1.4cm
\evensidemargin 0.35cm
\textwidth 14cm
\topmargin 0.26cm
\headheight 0.6cm
\headsep 1.5cm
\textheight 20cm

%Nastavitev glave in repa strani
\pagestyle{fancy}
\fancyhead{}
\newenvironment{definicija}[1][Definicija]{\begin{trivlist}
\item[\hskip \labelsep {\bfseries #1}]}{\end{trivlist}}
\newtheorem{definic}{definicija}[section]
\renewcommand{\chaptermark}[1]{\markboth{\small{Poglavje \thechapter:\ #1}}{}}
\renewcommand{\sectionmark}[1]{\markright{\small{\thesection\  #1}}{}}
\fancyhead[RE]{\leftmark}
\fancyhead[LO]{\rightmark}
\fancyhead[LE,RO]{\thepage}
\fancyfoot{}
\renewcommand{\headrulewidth}{0.0pt}
\renewcommand{\footrulewidth}{0.0pt}
\numberwithin{examplecounter}{chapter} 
\renewcommand{\ALG@name}{Algoritem}
\renewcommand{\listofalgorithms}{ 
  \begingroup 
    \listof{algorithm}{Algoritmi} 
  \endgroup 
}
\floatstyle{plain}
\newfloat{unbreakableexample}{thp}{lop}
\floatname{unbreakableexample}{unbreakableexample}
\makeindex
%********************************************
\makeglossaries

\newglossaryentry{Apertium}{name={Apertium}, description={ogrodje za postavitev sistemov za strojno prevajanje na osnovi pravil plitke analize in prenosa}}
\newglossaryentry{inflectional morphology}{name={inflectional morphology}, description={pregibno oblikoslovje}}
\newglossaryentry{accuracy}{name={accuracy}, description={točnost -- stopnja ustreznosti merjene ali izračunane količine glede na njeno dejansko vrednost}}
\newglossaryentry{non-terminals}{name={non-terminals}, description={neterminalnimi simboli slovnice}}
\newglossaryentry{shallow parsing}{name={shallow parsing}, description={plitko skladenjsko razčlenjevanje besedil }}
\newglossaryentry{chunking}{name={chunking}, description={plitko skladenjsko razčlenjevanje besedil }}
\newglossaryentry{light parsing}{name={light parsing}, description={plitko skladenjsko razčlenjevanje besedil }}
\newglossaryentry{natural language processing}{name={ natural language processing}, description={statistična obdelava naravnih jezikov}}
\newglossaryentry{word class}{name={word class}, description={besedni razred}}
\newglossaryentry{morphosyntactic analysis}{name={morphosyntactic analysis}, description={oblikoskladenjska analiza}}
\newglossaryentry{shallow structural transfer}{name={shallow structural transfer}, description={plitki strukturni prenos}}
\newglossaryentry{statistical language model -- SLM}{name={statistical language model -- SLM}, description={statistični modeli jezika}}
\newglossaryentry{statistical language modelling}{name={statistical language modelling}, description={statistično modeliranje jezika}}
\newglossaryentry{maximum likelyhood estimation -- MLE}{name={maximum likelyhood estimation -- MLE}, description={najvišja ocena verjetnosti}}
\newglossaryentry{n-gram language model}{name={n-gram language model}, description={modeli, temelječi na n-gramih, n-gramski modeli}}
\newglossaryentry{maximum entropy language model}{name={maximum entropy language model}, description={model največje entropije}}
\newglossaryentry{perplexity}{name={perplexity}, description={nivo začudenja}}
\newglossaryentry{long-distance dependencies}{name={long-distance dependencies}, description={oddaljene odvisnosti}}
\newglossaryentry{trigger models}{name={trigger models}, description={jezikovni modeli na osnovi sprožil}}
\newglossaryentry{skipped n-gram language model}{name={skipped n-gram language model}, description={jezikovni modeli s preskakovanjem n-gramov}}
\newglossaryentry{post-editing}{name={post-editing}, description={končno urejanje -- dodatno delo, ki ga je treba vložiti za izdelavo dovolj dobrih prevodov}}
\newglossaryentry{verb valency}{name={verb valency}, description={glagolska vezava}}
\newglossaryentry{cognates}{name={cognates}, description={podobnice}}
\newglossaryentry{false friends}{name={ false friends}, description={lažni prijatelji}}
\newglossaryentry{left-to rigth longest match -- LRLM}{name={left-to rigth longest match -- LRLM}, description={algoritem najdaljšega možnega ujemanja iz leve proti desni}}
\newglossaryentry{multiset}{name={multiset}, description={množica z dvojniki}}
\newglossaryentry{rule-based machine translation -- RBMT}{name={rule-based machine translation -- RBMT}, description={prevajanje s pomočo pravil}}
\newglossaryentry{corpus-based machine translation }{name={corpus-based machine translation -- CBMT}, description={prevajanje na osnovi korpusov}}
\newglossaryentry{fully automatic machine translation -- FAMT}{name={fully automatic machine translation -- FAMT}, description={strojno prevajanje naravnih jezikov brez uporabnikovega sodelovanja }}
\newglossaryentry{generalized parsing}{name={generalized parsing}, description={posplošeno razčlenjevanje}}
\newglossaryentry{hidden markov model -- HMM}{name={hidden markov model -- HMM}, description={skriti markovski model}}
\newglossaryentry{weighed finite state transducers -- WFST}{name={weighed finite state transducers -- WFST}, description={uteženi končni avtomati z izhodom}}
\newglossaryentry{n-best set}{name={n-best set}, description={najboljši $n$ kandidati za prevode}}
\newglossaryentry{concatenated}{name={ concatenated}, description={združeni (morfemi) }}
\newglossaryentry{sparse data problem}{name={sparse data problem}, description={problem redkih podatkov}}
\newglossaryentry{interlingua}{name={interlingua}, description={vmesni jezik}}
\newglossaryentry{structural transfer module}{name={ structural transfer module}, description={Apertiumov modul strukturnega prenosa}}
\newglossaryentry{pattern}{name={pattern}, description={vzorec, ki ga pravilo išče v besedilu}}
\newglossaryentry{action}{name={action}, description={ukrep, ki ga izvede pravilo}}
\newglossaryentry{alignment template -- AT}{name={ alignment template -- AT}, description={predloga poravnave}}
\newglossaryentry{text chunks}{name={text chunks}, description={deli besedila (pogosto tudi opisovani kot fraze, vendar brez semantične povezave)}}
\newglossaryentry{word alignment}{name={word alignment}, description={besedna povezava}}
\newglossaryentry{statistical machine translation by parsing -- SMTbyP}{name={statistical machine translation by parsing -- SMTbyP}, description={statistično strojno prevajanje na osnovi dreves izpeljav}}
\newglossaryentry{statistical parsing models}{name={statistical parsing models}, description={statistični modeli razčlenjevanja besedila}}
\newglossaryentry{treebank}{name={treebank}, description={skladenjsko označeni dvojezični poravnani korpus (drevesnica)}}
\newglossaryentry{less used languages}{name={less used languages}, description={manj uporabljeni jeziki}}
\newglossaryentry{confidence score}{name={confidence score}, description={stopnja zaupanja}}
\newglossaryentry{fidelity, accuracy}{name={fidelity, accuracy}, description={informativnost -- določa, v kolikšni meri prevod posreduje enake informacije kot izvirnik}}
\newglossaryentry{intelligibility}{name={intelligibility}, description={razumljivost -- določa, ali je prevod jasen}}
\newglossaryentry{language style}{name={language style}, description={ustreznost jezika}}
\newglossaryentry{translation adequacy}{name={translation adequacy}, description={vsebinska ustreznost prevodov}}
\newglossaryentry{fluency}{name={fluency}, description={slovnična pravilnost}}
\newglossaryentry{true positives}{name={true positives}, description={pravilno klasificirani elementi}}
\newglossaryentry{precision}{name={precision}, description={preciznost}}
\newglossaryentry{unigram precision and recall}{name={unigram precision and recall}, description={preciznost in priklic unigramov}}
\newglossaryentry{mappings}{name={mappings}, description={povezave}}
\newglossaryentry{stemming}{name={stemming}, description={krnjenje}}
\newglossaryentry{word error rate -- WER}{name={word error rate -- WER}, description={stopnja napačnih besed}}
\newglossaryentry{weighted Levenshtein edit-distance}{name={weighted Levenshtein edit-distance}, description={utežena Levenshteinova razdalja}}
\newglossaryentry{word recognition rate -- WRR}{name={word recognition rate -- WRR}, description={stopnja prepoznanih besed}}
\newglossaryentry{NIST machine translation evaluation workshop}{name={NIST machine translation evaluation workshop}, description={delavnica o vrednotenju strojnega prevajanja}}
\newglossaryentry{non-native language}{name={non-native language}, description={nematerni jezik}}
\newglossaryentry{native speaker}{name={native speaker}, description={govorec maternega jezika}}
\newglossaryentry{inter-rater agreement}{name={inter-rater agreement}, description={ujemanje med ocenjevalci}}
\newglossaryentry{no agreement}{name={no agreement}, description={ni ujemanja}}
\newglossaryentry{slight agreement}{name={slight agreement}, description={rahlo ujemanje}}
\newglossaryentry{fair agreement}{name={fair agreement}, description={dokajšnje ujemanje}}
\newglossaryentry{moderate agreement}{name={moderate agreement}, description={zadovoljivo ujemanje}}
\newglossaryentry{substantial agreement}{name={substantial agreement}, description={znatno ujemanje}}
\newglossaryentry{almost perfect agreement}{name={almost perfect agreement}, description={skoraj popolno soglasje}}
\newglossaryentry{parse tree}{name={parse tree}, description={drevo izpeljav}}
\newglossaryentry{concrete syntax tree}{name={concrete syntax tree}, description={drevo izpeljav}}
\newglossaryentry{UNIX pipe}{name={UNIX pipe}, description={cevi UNIX -- niz procesov, ki so povezani na podlagi standardnih tokov, tako da je izhod (stdout) vsakega procesa direktni vhod (stdin) naslednjega procesa}}
\newglossaryentry{dummy rule}{name={dummy rule}, description={prazno pravilo}}
\newglossaryentry{out of domain error}{name={out of domain error}, description={napaka manjkajočih besed izven domene}}
\begin{document}
%
% Naslovnica
%
  \begin{titlepage}
   \Large \centering
    Univerza v Ljubljani \\ Fakulteta za računalništvo in informatiko \\ \vfill
    Jernej Vičič \\
    \vspace{1cm}
    {\Huge\bf Hitra postavitev prevajalnih sistemov na osnovi pravil\index{pravilo} za sorodne naravne jezike} \\ 
 \vspace{1cm}
	\MakeUppercase{Doktorska disertacija} \\ \vspace{1cm}
\vfill

Mentor: prof.\ dr.\ Igor Kononenko \\
    Somentor: doc.\ dr.\ Tomaž Erjavec \\ \vspace{1cm}
    Ljubljana, 2012
%    \vspace{1cm} Ver.\ 0.9$\alpha$ / \today  \\ \vspace{2cm}
  \end{titlepage}

\clearpage{\pagestyle{empty}\cleardoublepage}



%********************************************
\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{3}

\newpage

%********************************************

% 3zahvala

\chapter*{Zahvala}
Iskreno se zahvaljujem mentorju prof.\ dr.\ Igorju Kononenku in somentorju doc.\ dr.\ Tomažu Erjavcu za strokovno pomoč in usmeritve pri izdelavi doktorske disertacije.

Zahvaljujem se dr. Karin Marc Bratina za pomoč pri razvozlavanju jezikoslovnih ugank ter za kritičen pregled in tehtne predloge pri urejanju doktorske disertacije.

Posebej bi se rad zahvalil svoji družini, ki me je podpirala na dolgotrajni poti do tega izdelka.
\thispagestyle{empty}

Hvala!

\clearpage{\pagestyle{empty}\cleardoublepage}
\newpage


%********************************************

% Izjava

\begin{center}
\textbf{{\Large I Z J A V A \ \ O \ \ A V T O R S T V U}}
\end{center}

\begin{center}
\textbf{{\large doktorske disertacije}}
\end{center}
\mbox{}
\mbox{}

{\raggedright
Spodaj
podpisani/-a\hspace{15pt} Jernej Vičič,
}

\mbox{}

{\raggedright
z vpisno številko
\hspace{15pt} 24930372,
}

\mbox{}

{\raggedright
sem avtor/-ica doktorske disertacije z naslovom
}

\mbox{}


{\raggedright
Hitra postavitev prevajalnih sistemov na osnovi pravil\index{pravilo} za sorodne naravne jezike
}
\mbox{}






{\raggedright
S svojim podpisom zagotavljam, da:
}
\mbox{}

\begin{itemize}
	\item sem doktorsko disertacijo izdelal/-a samostojno pod vodstvom mentorja\\
\mbox{}
prof.\ dr.\ Igorja Kononenka
\mbox{}

in somentorstvom
\mbox{}

doc.\ dr.\ Tomaža Erjavca
\mbox{}

	\item so elektronska oblika doktorske disertacije, naslov (slov., angl.), povzetek (slov., angl.) ter ključne besede (slov., angl.) identični s tiskano obliko doktorske disertacije
\mbox{}
\mbox{}
\mbox{}


	\item in soglašam z javno objavo elektronske oblike doktorske disertacije v zbirki "Dela FRI".
\end{itemize}
\mbox{}
\mbox{}
\mbox{}
\mbox{}
\mbox{}
\mbox{}
\mbox{}
\mbox{}
\mbox{}
\mbox{}
\mbox{}
\mbox{}








{\raggedright
V Ljubljani, dne \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\hspace{15pt}Podpis
avtorja/-ice: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\hspace{15pt}
}


\thispagestyle{empty}

\clearpage{\pagestyle{empty}\cleardoublepage}
\newpage
$\;$ 

\vspace{5cm}
\hfill {\Large \em Mojim.}
\thispagestyle{empty}

\newpage

%********************************************
\clearpage{\pagestyle{empty}\cleardoublepage}
\newpage
\renewcommand\thepage{} 
\tableofcontents 
%\thispagestyle{empty}

%********************************************

\chapter*{Seznam uporabljenih kratic in simbolov}
%\addcontentsline{toc}{chapter}{Seznam uporabljenih kratic in simbolov}
\thispagestyle{empty}
\begin{acronym}
\thispagestyle{empty}
\acro{BLEU} Bilingual Evaluation Understudy, metrika za samodejno preverjanje kakovosti prevodov, ocenjuje stopnjo uspešnih prevodov
\acro{CBMT}{Corpus Based Machine Translation, strojno prevajanje na osnovi korpusov}
\acro{EBMT}{Example Based Machine Translation, strojno prevajanje na osnovi primerov}
\acro{FAMT} Fully Automatic Machine Translation, popolnoma samodejno strojno prevajanje
\acro{GNU} GNU's Not Unix!, projekt za izdelavo operacijskega sistema GNU
\acro{GPL} GNU General Public License, prosta licenca za programsko opremo in ostalo 
\acro{HMT}{Hybrid Machine Translation, hibridno (mešano) strojno prevajanje}
\acro{LDC} Linguistic Data Consortium, odprti konzorcij članov, ki se ukvarjajo z jezikovnimi tehnologijami
\acro{LGPL} GNU Lesser General Public License, prosta licenca za programsko opremo in ostalo z omiljenimi omejitvami
\acro{METEOR} Metric for Evaluation of Translation with Explicit ORdering, metrika za samodejno preverjanje kakovosti prevodov, ocenjuje stopnjo uspešnih prevodov
\acro{MSD}{Morphosyntactic description, oblikoskladenjska oznaka}
\acro{MT}{Machine Translation, strojno prevajanje}
\acro{NIST} National Institute of Standards and Technology, inštitut za standarde in tehnologijo
\acro{PBMT}{Phrase Based Machine Translation, strojno prevajanje na osnovi fraz}
\acro{PoS}{Part of Speech, označba besedne vrste}
\acro{RBMT}{Rule Based Machine Translation, strojno prevajanje na osnovi pravil}
\acro{SMT}{Statistical Machine Translation, statistično strojno prevajanje}
\acro{WER} Word Error Rate, metrika za samodejno preverjanje kakovosti prevodov, ocenjuje stopnjo napake
\acro{WFST} Weighed Finite State Transducers, uteženi končni avtomati z izhodom
\acro{WRR} Word Recognition Rate, metrika za samodejno preverjanje kakovosti prevodov, ocenjuje stopnjo uspešnih prevodov
\acro{XML} Extensible Markup Language, jezik za označevanje
\thispagestyle{empty}
\end{acronym} 
\thispagestyle{empty}
\newpage
\renewcommand\thepage{\arabic{page}}

%********************************************
%zacno se glavni listi, ki so numerirani z arabskimi stevilkami

\setcounter{page}{1}

\thispagestyle{empty}
\chapter*{Povzetek}
\addcontentsline{toc}{chapter}{Povzetek}
\thispagestyle{empty}
Pričujoče delo predstavlja pregled strojnega prevajanja naravnih jezikov, osredotoča se predvsem na sisteme in metode za prevajanje sorodnih naravnih jezikov. Večina predstavljenih sistemov sodi v skupino strojnega prevajanja na osnovi pravil plitkega prenosa, ki so najprimernejši za postavitev sistemov za strojno prevajanje sorodnih jezikov. 
Največja težava sistemov, ki temeljijo na pravilih, je dolgotrajna in draga ročna izdelava slovarjev ter prevajalnih pravil v primeru klasičnega pristopa h gradnji prevajalnih sistemov na osnovi pravil. Delo ponuja pregled zbirke izbranih in na novo zasnovanih metod samodejne izdelave gradiv za postavitev prevajalnih sistemov na osnovi pravil.
Metode so bile preizkušene na študiji primera: postavitev popolnoma delujočega prevajalnega sistema za sorodne jezike. Postavljeni so bili štirje sistemi: slovenščina-srbščina, slovenščina-češčina, slovenščina-angleščina in slovenščina-estonščina. Poleg same kakovosti prevodov je bila ocenjena tudi hitrost postavitve novega prevajalnega sistema. 

V disertaciji je predstavljena metoda, ki razširja osnovno metodo za prevajanje s pomočjo dreves izpeljav za jezike z omejeno podporo jezikovnih tehnologij. V učni fazi je za izvorni jezik namesto drevesnice uporabljen le poravnani korpus.

V disertaciji je opisana metoda za samodejno izdelavo oblikoskladenjskih slovarjev, ki vključuje samodejno označevanje paradigem\index{paradigma}, njihovo samodejno luščenje\index{luščenje} za visoko pregibne jezike in izdelavo pripadajočih leksikonov ter samodejno izdelavo dvojezičnih prevajalnih slovarjev.

V disertaciji je predstavljena metoda za uporabo, izbiro in ocenjevanje pravil\index{pravilo} za strukturni\index{strukturni prenos} prenos. Opisane metode za samodejno gradnjo pravil strukturnega prenosa pogosto izdelajo veliko množico pravil, ki med sabo tekmujejo (mogoče jih je uporabiti za iste dele besedila). Najboljša pravila izberemo na podlagi korpusa ciljnega jezika.

\thispagestyle{empty}
\vspace{1.0cm}
\noindent
{\large \bf Ključne besede:}
\thispagestyle{empty}
\noindent
strojno prevajanje, strojno prevajanje sorodnih naravnih jezikov, tehnologije hitrih postavitev sistemov za strojno prevajanje
%\clearpage{\pagestyle{empty}}
\clearpage{\pagestyle{empty}\cleardoublepage}

\chapter*{Abstract}
%\thispagestyle{empty}
\addcontentsline{toc}{chapter}{Abstract}
\hyphenpenalty=10000%
The work presents an overview of the systems and methods for the natural language machine translation. It focuses primarily on systems and methods for the translation of the related languages. Most of the presented systems belong to the Shallow Parse and Transfer Rule-Based Machine Translation paradigm, which is better suited for the implementation of a translation system for related languages. The major problem of the rule-based translation systems is costly manual production of dictionaries and translation rules in the case of a classical approach to building such systems. The work provides an overview over the collection of selected and new methods designed for automatic production of materials for the installation of systems based on translation rules.

Methods were tested on a case study: the implementation of a fully functioning translation system for related languages. The following four systems were used as the basis: Slovenian-Serbian, Slovenian-Czech, Slovenian-English and Slovenian-Estonian. The evaluation process focused on the quality of the translations as well as the estimation of the time needed for the implementation of a new system.

The dissertation presents a method that extends the basic Statistical Machine Translation by Parsing paradigm for languages ​​with limited support of language technologies. The learning phase uses an aligned corpus instead of a full treebank.

The dissertation describes a method for the automatic creation of morphologies, which includes automatic paradigm tagging, automatic paradigm construction for the highly inflected languages and automatic production of bilingual dictionaries.

The dissertation presents a method for the selection and assessment of the rules for the structural transfer. Methods for the automatic construction of structural transfer rules often produce a large set of rules, which compete with each other (it is possible to use multiple rules on the same part of text). The best rules are chosen on the basis of the target language corpus.

\vspace{1.0cm}
\noindent
%\thispagestyle{empty}
{\large \bf Key words:}
%\thispagestyle{empty}
\noindent
rbmt, machine translation, machine translation of related languages, speeding up the implementation of machine translation systems
\thispagestyle{empty}
\clearpage{\pagestyle{empty}\cleardoublepage}
\hyphenpenalty=1%
%********************************************
\chapter{Uvod}
\label{chapter:uvod}
\input{uvod}
\chapter{Pregled področja}
\label{chapter:pregledpodrocja}
\input{pregledpodrocja}
\chapter{Sistemi za strojno prevajanje}
\label{chapter:sistemizastrojnoprevajanje}
\input{sistemizastrojnoprevajanje}
\chapter{Leksikoni z oblikoskladenjskimi informacijami}
\label{chapter:morfologijainleksikoni}
\input{morfologijainleksikoni}
\chapter{Pravila prenosa}
\label{chapter:pravilatransferja}
\input{pravilatransferja}
\chapter{Prevajanje na osnovi dreves izpeljave}
\label{chapter:prevajanjenaosnovidrevesizpeljave}
\input{prevajanjenaosnovidrevesizpeljave}
\chapter{Metodologije vrednotenja sistemov in rezultati vrednotenj}
\label{chapter:evalvacija}
\input{evalvacija}
\chapter{Razprava in nadaljnje delo}
\label{chapter:razprava}
\input{razpravainnadaljnjedelo}

\newpage

\appendix
\renewcommand{\chaptermark}[1]{\markboth{\textnormal{Dodatek \thechapter:\ #1}}{}}
\chapter{Pravila prenosa}
\label{chapter:priloga1}
\input{priloga1}
\chapter{Primeri prevodov}
\label{chapter:priloga2}
\input{priloga2}
\newpage
\addcontentsline{toc}{chapter}{Seznam slik}
\addtocontents{toc}{\protect\vspace{-2ex}}
\listoffigures
\newpage
\addcontentsline{toc}{chapter}{Seznam tabel}
\listoftables
\newpage
\addcontentsline{toc}{chapter}{Seznam algoritmov}
\listofalgorithms

%\listofalgorithms


%********************************************
\newpage

\addcontentsline{toc}{chapter}{Literatura}
\label{stran_literatura}
\bibliographystyle{myplainnat}
\bibliography{jernejvicic-doc}
\printglossary[title=Glosar,toctitle=Glosar,style=altlist]
\addcontentsline{toc}{chapter}{Glosar}
\printindex{}
\end{document}