\documentclass[10pt,xetex]{beamer} %[compress, blue]
\mode<presentation>

\usepackage{shupashkar}

\usepackage{alltt}

\date{23--27 января 2012 г.}
\title{Раздел 5: Структурная передача}
\begin{document}

\begin{frame}
        \titlepage
\MyLogoBottomCentred
\end{frame}

\logo{\includegraphics[height=1.6cm]{logoASWnotrans.png}}

%\begin{frame}
%
%\end{frame}

\begin{frame}
 \frametitle{Вступление}

\begin{itemize}
  \item {\bf Сопоставительный анализ}
~\\
~\\
  \item {\bf Написание правил}
~\\
~\\
  \item {\bf Структурный перенос в Apertium}
\end{itemize}

\end{frame}

\begin{frame} %% framesection
 \begin{center}
 {\Large {\bf Сопоставительный анализ}} 
 \end{center}
\end{frame}

\begin{frame}
  \frametitle{Сопоставительный анализ}

Сопоставительный анализ это процесс сопоставления двух и более языков для нахождения общих и отличных черт.
% Сопоставительный анализ is the process of examining two or more languages together to find out what kind of features they share, and how they are distinguished. 

\end{frame}

\begin{frame}
  \frametitle{Морфологические различия}

Различия между языками внутри слова, называются морфологическими различиями (contrasts), например:
% We call morphological contrasts those differences between languages which are expressed at the level of a single word. Some examples might 
be:

\begin{itemize}
  \item Как выражена притяжательность: суффикс или отдельное слово % How possession is expressed: suffix, or separate word
  \item Падежный инструментарий % Case inventories
  \item Указатели рода или класса слов % Gender (or word class) inventories
  \item Число (во всех словах или только существительные / местоимения % Number (in all words, or just in nouns/pronouns)
  \item ``Синтетические'' глагольные формы % ``Synthetic'' verb tenses
  \item Выражение лица % Person inventory 
  \item Определить формальность отношений (ты или вы) % Formality
  \item Местоположение морфем  (например, притяжательные до или после числа) % Morpheme order (e.g. possessive before/after number)
\end{itemize}

\end{frame}

\begin{frame}
  \frametitle{Синтаксические различия}

Синтаксические различия - это различия между словами
% Syntactic contrasts on the other hand are differences between words

\begin{itemize}
  \item Наличие или отсутствие отдельных артиклей % Existence or not of separate articles
  \item Обязательно ли наличие личного местоимения в роли подлежащего % Existence or not of compulsory subject pronouns
  \item Порядок слов (как внутри фраз, так и между фразами) % Word order (both within phrases, and between phrases)
  \item ``Аналитические'' формы глагола % ``Analytic'' verb tenses
\end{itemize}

\end{frame}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame} %% framesection
 \begin{center}
 {\Large {\bf Создание правил}} % Formalising rules
 \end{center}
\end{frame}


\begin{frame}
  \frametitle{Создание правил}

\begin{itemize}
\item В Apertium, промежуточная репрезентация представлена леммами, частями речи или морфологическими тэгами. При необходимости могут применяться синтаксические тэги % In Apertium, our intermediate representation is based on lemmas, parts-of-speech and morphological tags. Syntactic tags may also be used if available.
\item Поэтому, при написании правил, необходимо ориентироваться на данный уровень промежуточной репрезентации % So, when writing rules, they should be based on this level of intermediate representation
\end{itemize}

\end{frame}

\begin{frame}
  \frametitle{Операции}

При применение правил переноса, полезно разбить процесс на простые операции % When thinking about implementing transfer rules, it is often worth trying to think in terms of some very basic operations. 

Вот самые основные: % The most basic are:

\begin{itemize}
  \item {\bf Вставка}: Добавить новое слово или тэг % Add a new word or tag, 
  \begin{itemize}
    \item например, турецкое {\em Yeme!} $\rightarrow$ чувашское {\em {\bf Ан} çи!}. 
  \end{itemize}
  \item {\bf Удаление}: Удаление слова или тэга % Removing a word or a tag, 
  \begin{itemize}
    \item например, русское {\tt <n>{\bf <m><aa>}<nom>} $\rightarrow$ чувашское {\tt <n><nom>}
  \end{itemize}
\end{itemize}

Следующие действия тоже очень просты, но могут рассматриваться как комбинации двух предыдущих: % The following operations are also basic operations, but can be considered to be permutations of the first two:

\begin{itemize}
  \item {\bf Замена}: Замена слова или тэга % Replacing one tag or word, with another tag or word
  \begin{itemize}
    \item например, звательный падеж в украинском должен быть замещен именительным падежом в русском языке % e.g. the vocative case in Ukranian has to be replace with nominative in Russian 
  \end{itemize}
  \item {\bf Изменение порядка слов}: изменение порядка слов или тэгов % Changing the order of words, or tags
  \begin{itemize}
    \item Например, местоположение и порядок морфем множественного числа и принадлежности в чувашском и турецком языках: {\em kitap·{\bf lar·ım}} $\rightarrow$ {\em кӗнеке·{\bf м·сем}} % e.g. the order of plural and possessive morphemes in Chuvash and Turkish: {\em kitap·{\bf lar·ım}} $\rightarrow$ {\em кӗнеке·{\bf м·сем}}
  \end{itemize}
\end{itemize}

\end{frame}

\begin{frame}
  \frametitle{Комбинированные операции} % Combining operations

Основные  правила переноса будут состоять из нескольких операций.
Рассмотрите пример перевода выражения возможности на турецком и на киргизском языках. Правило: % Most actual transfer rules will require more than a single operation.  Consider the following example of translating the abilitative from Turkish into Kyrgyz. The rule:

\begin{itemize}
  \item Возможность в турецком языке выражается при помощи суффикса, {\em -bI-}, который затем принимает глагольные окончания % The abilitative in Turkish is formed with a suffix, {\em -bI-}, which then takes verb endings
  \item В киргизском языке, деепричастие прошедшего несовершенного вида и вспомогательный глагол {\em ал}, который принимает окончания глагола % In Kyrgyz, it is formed with the imperfect participle and the auxiliary {\em ал}, which takes the verb endings
\end{itemize}

Программирование: % Formalised:

\begin{itemize}
  \item {\bf Ввод данных}: {\em gelebilirim} = {\tt gel<v><abil><aor><p1><sg>} % Input
  \begin{itemize}
    \item ({\sc ins}) Добавьте вспомогательный глагол {\em ал} после главного глагола % Add auxiliary verb {\em ал} after the main verb
    \item ({\sc del}) Удалите тэг {\tt <abil>} от главного глагола % Remove {\tt <abil>} tag from the main verb
    \item ({\sc ins}) Присвойте вспомогательному глаголу такое же лицо, число и время как у главного глагола % Set the person, number and tense of the auxiliary verb to be the same as the main verb
    \item ({\sc del}) Удалите лицо и число главного глагола и сделайте его деепричастием несовершенного вида % Remove the person, number from the main verb and set the tense to be imperfect participle
  \end{itemize}
  \item {\bf Итог}: {\tt кел<v><iv>\alert<4>{<prt\_{}impf>} \alert<1>{ал<v><tv>\alert<3>{<aor><p1><sg>}}} = {\em келе алам} % Output
\end{itemize}


\end{frame}

%\begin{frame}
%  \frametitle{Some advice}
%
%
%
%\end{frame}
%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\begin{frame} %% framesection
 \begin{center}
 {\Large {\bf Структурный перенос в Apertium}} 
 \end{center}
\end{frame}

\begin{frame}
\begin{center}
\includegraphics[width=\textwidth]{architecture-6.pdf}
\end{center}
\end{frame}


\begin{frame}
  \frametitle{Структурный перенос}

В Apetium в языковых парах есть несколько видов организации переноса % There are several types of transfer arrangements in Apertium language pairs,

\begin{itemize}
  \item Одноуровневой перенос: % Single-level transfer:
\includegraphics[width=0.8\textwidth]{apertium1.pdf}

  \item Многоуровневый перенос (без разделения на блоки (chunks)) % Multiple-level transfer (without chunking):
\includegraphics[width=0.8\textwidth]{apertium2.pdf}

  \item Многоуровневый перенос % Multiple-level transfer:

\includegraphics[width=0.8\textwidth]{apertium3.pdf}
  
\end{itemize}

\end{frame}

\begin{frame}
\frametitle{Как работает перенос} % How the transfer works
\begin{itemize}
\item Правила определяют образцы слов (обычно отмеченные как части речи): % Rules detect patterns of words (generally specified as parts of speech):

  \begin{itemize}
  \item DET NOUN\\
    \emph{The table}
  \item DET ADJ NOUN\\ 
    \emph{The black table}
   \end{itemize}
\item Затем образцы  подвергаются некоторым изменениям: % Transformations are applied to these patterns:


\texttt{EN $\rightarrow$ ES}
\newline
\newline
 \begin{tabular}{ll}
   DET ADJ NOUN & $\rightarrow$ DET NOUN ADJ\\
   \emph{The black table} &  $\rightarrow$\emph{La ~~mesa ~~negra}\\
          sp  ~~sp ~~~~  sg     & ~~~f.sg ~f.sg ~~f.sg\\
\hline
   \emph{The black book} &  $\rightarrow$\emph{El ~~libro ~~negro}\\
          sp  ~~sp ~~~~  sg     & ~~~m.sg ~m.sg ~m.sg\\
  \end{tabular}

   \end{itemize}
\end{frame}


\begin{frame}
\frametitle{Как работают правила} % How the rules work
\begin{itemize}
\item слова могут обрабатываться только одним правилом: % words can only be processed by ONE rule: rules can not be overlapped
\item правила не могут накладываться друг на друга % patterns are matched following the LRLM principle (left-to-right-longest match)
\item образцы сопоставляются по принципу с лева направо, учитывая самое дистанционное соответствие (left-to-right-longest match)
\newline Пример: % Example:
\begin{itemize}
  \item Правило 1: DET ADJ
  \item Правило 2: ADJ CONJ ADJ NOUN
   \item Вводимый текст (fr): \emph{Этот большой и шумный город}
\newline 
\newline 
\textbf{Какие правила применить?} % Which rule(s) will be applied?
\end{itemize}
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Как работают правила} % How the rules work
\begin{itemize}
\item слова могут обрабатываться только одним правилом: % words can only be processed by ONE rule: rules can not be overlapped
\item правила не могут накладываться друг на друга % patterns are matched following the LRLM principle (left-to-right-longest match)
\item образцы сопоставляются по принципу с лева направо, учитывая самое дистанционное соответствие (left-to-right-longest match)
\newline Пример: % Example:
\begin{itemize}
  \item Правило 1: DET ADJ
  \item Правило 2: ADJ CONJ ADJ NOUN
   \item Вводимый текст (fr): \emph{Этот большой и шумный город}
\newline 
\newline \textbf{Какие правила применить?} % Which rule(s) will be applied?
\newline
\newline
\end{itemize}
\end{itemize}
\begin{block}{}
\begin{center}
\begin{tabular}{llllll}
 & Этот   & большой   &   и &    шумный   &  город\\
 & Det  &  Adj &   Conj  &   Adj &  Noun\\
\end{tabular}
\end{center}
\end{block}

\end{frame}

\begin{frame}
\frametitle{Как работают правила} % How the rules work
\begin{itemize}
\item слова могут обрабатываться только одним правилом: % words can only be processed by ONE rule: rules can not be overlapped
\item правила не могут накладываться друг на друга % patterns are matched following the LRLM principle (left-to-right-longest match)
\item образцы сопоставляются по принципу с лева направо, учитывая самое дистанционное соответствие (left-to-right-longest match)
\newline Пример: % Example:
\begin{itemize}
  \item Правило 1: DET ADJ
  \item Правило 2: ADJ CONJ ADJ NOUN
   \item Вводимый текст (fr): \emph{Этот большой и шумный город}
\newline 
\newline \textbf{Какие правила применить?} % Which rule(s) will be applied?
\newline
\newline
\end{itemize}
\end{itemize}
\begin{block}{}
\begin{tabular}{llllll}

 & \emph{Этот} & \emph{большой} &  \emph{и} & \emph{шумный} & \emph{город} \\
 & Det  &  Adj &   Conj  &   Adj &  Noun\\
\emph{left-to-right} & DET & ADJ &&&\\
\end{tabular}
\end{block}

\end{frame}

\begin{frame}
\frametitle{Структура файла с правилами} % Structure of the rule file
Структура файла с правилами: % Structure of the rule file:
\begin{itemize}
\item \texttt{<section-def-cats>}
\item \texttt{<section-def-attrs>}
\item \texttt{<section-def-vars>}
\item \texttt{<section-def-lists>}
\item \texttt{<section-def-macros>}
\item \texttt{<section-def-rules>}

\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Структура файла с правилами /2}

\begin{itemize}
 \item \texttt{<section-def-cats>} $\rightarrow$ Определение частей речи. Части речи будут использоваться для определения образца, найденного правилом % definition of categories. Categories will be used to define the pattern detected by a rule.
\begin{exampleblock}{}
\begin{small}
\begin{alltt}
  <def-cat n="noun">\\
  ~~<cat-item tags="n.*">\\
  </def-cat>\\
  <def-cat n="nounplural">\\
  ~~  <cat-item tags="n.pl"/>\\
  </def-cat>\\
\end{alltt}
\end{small}
\end{exampleblock}
Части речи могут основываться не только на тэгах но и словах:\\ % Categories can be lexicalised:\\
\begin{exampleblock}{}
\begin{small}
\begin{alltt}
    <def-cat n="всегда">\\
     ~~ <cat-item lemma="всегда" tags="adv"/>\\
    </def-cat>\\
\end{alltt}
\end{small}
\end{exampleblock}
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Структура файла с правилами /3}
\begin{itemize}
\item \texttt{<section-def-attrs>} $\rightarrow$ Указывает на определения. Определения – это возможные значения определенной характеристики % definition of attributes. Attributes are possible values of a certain feature.
\begin{exampleblock}{}
\begin{small}
\begin{alltt}
  <def-attr n="nbr">\\
  ~~<attr-item tags="sg">\\
  ~~<attr-item tags="pl">\\
  ~~<attr-item tags="sp"/>\\
  ~~<attr-item tags="ND"/>\\
  </def-attr>\\

<def-attr n="gen">\\
~~<attr-item tags="m">\\
~~<attr-item tags="f">\\
~~<attr-item tags="mf">\\
~~<attr-item tags="GD">\\
</def-attr>\\
\end{alltt}
\end{small}
\end{exampleblock}

 \item \texttt{<section-def-vars>} $\rightarrow$ Определяет переменные % definition of variables.

\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Структура файла с правилами /4}
\begin{itemize}
 \item \texttt{<section-def-lists>} $\rightarrow$ Определение списка лемм, которыми будут пользоваться правила % definition of lists of lemmas which will be used inside of the rules.
\begin{exampleblock}{}
\begin{small}
\begin{alltt}
  <def-list n="egunak">\\
  ~~ <list-item v="понедельник"/>\\
  ~~ <list-item v="вторник"/> \\
  ~~ <list-item v="среда"/> \\
  (...)
\end{alltt}
\end{small}
\end{exampleblock}
 \item \texttt{<section-def-macros>} $\rightarrow$ определение макроинструкций (частей кода для повторного использования в правилах). % definition of macroinstructions (parts of code to be reused in the rules).
 \item \texttt{<section-def-rules>} $\rightarrow$ определение правил переноса. % definition of the transfer rules.

\end{itemize}

\end{frame}

%\begin{frame}
%\frametitle{Structure of the rule file /2}
%Minimal layout of a rule file:
%\begin{block}{}
% \begin{scriptsize}
% \begin{alltt}
%   <transfer>\\
%   ~<section-def-cats>\\
%   ~~ <def-cat n="adj\_or\_pp">\\
%   ~~~ <cat-item tags="adj.*">\\
%   ~~~ <cat-item tags="vblex.pp.*">\\
%   ~~ </def-cat>\\
%   ~~...\\
%   ~</section-def-cats>\\
%   ~<section-def-attrs>\\
%   ~~ <def-attr n="nbr">\\
%   ~~~ <attr-item n="sg"/>\\
%   ~~~ <attr-item n="pl"/>\\
%   ~~...\\
%   ~</section-def-attrs>\\
%   ~<section-def-vars>\\
%   ~~  <def-var n="number"/>\\
%   ~~ ...\\
%   ~</section-def-vars>\\
%   ~<section-rules>\\
%   ~~<rule comment="NOUN ADJ">\\
%   ~~ ...\\
%   ~</section-rules>\\
%   </transfer>\\
%    \end{alltt}
%    \end{scriptsize}
%\end{block}

%\end{frame}

\begin{frame}
\frametitle{Структура правила} % Structure of a rule

Правило = <образец> + <действие> % Rule = <pattern> + <action>
\begin{itemize}
\item Образец: определяется через часть <section-def-cats> % Pattern: defined using the categories of the <section-def-cats>
\begin{exampleblock}{}
\begin{small}
 \begin{alltt}
   <rule comment="REGLA: DET ADJ">\\
   ~ <pattern>\\
   ~~	<pattern-item n="det"/>\\
   ~~	<pattern-item n="adj"/>\\
   ~     </pattern>\\
(...)
 \end{alltt}
\end{small}
\end{exampleblock}
\item Действие: % Action: 
\begin{itemize}
\item определяет какие тесты и изменения нужно провести с выбранным образцом % specifies the tests and transformations to be made on the detected pattern
\item выдает итоговые лексические формы в желаемом порядке % outputs the resulting lexical forms in the desired order
\end{itemize}
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Описание некоторых тэгов} % Description of some tags
Some tags used in the \texttt{<action>} part of the rules:
\begin{itemize}
  \item \texttt{<choose>}: start a test
  \begin{itemize}
  \item \texttt{<when>}: if the conditions specified are met...
    \begin{itemize}
    \item \texttt{<test>}: the condition to be tested
    \item \texttt{<otherwise>}: if the condition is not met...
    \end{itemize}
  \end{itemize}
\item \texttt{<let>}: assign a value
\item \texttt{<call-macro>}: call a macroinstruction defined in \texttt{<section-def-macros>}
\item \texttt{<out>}: output the lexical units
\begin{itemize}
\item \texttt{<lu>}: lexical unit, specified by means of one or more <clip>
\end{itemize}
\item \texttt{<clip>}: the basic unit of a lexical form.\\
\texttt{<clip pos="2" side="tl" part="lem"/>}\\
\texttt{<clip pos="2" side="tl" part="temps"/>}\\
\texttt{<clip pos="2" side="tl" part="whole"/>}\\

\end{itemize}

\end{frame}


\begin{frame}
\frametitle{The clip element}

Given the lexical form:
\begin{block}{}
\^{} врач\# общей практики<n><m><pl>\$
\end{block}

\begin{itemize}
\item \texttt{<clip pos="1" side="sl" part="whole"/>} : whole content of lexical unit
\item \texttt{<clip pos="1" side="sl" part="lem"/>} : lemma: \emph{врач\# общей практики}
\item \texttt{<clip pos="1" side="sl" part="tags"/>} : \texttt{<n><m><pl>}
\item \texttt{<clip pos="1" side="sl" part="lemh"/>} : lemma head : \emph{врач}
\item \texttt{<clip pos="1" side="sl" part="lemq"/>} : lemma queue : \emph{\# общей практики}

\end{itemize}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Example rule}
\begin{alltt}
{\evensmallermono
    <rule comment="regla: v\_{}abil">
      <pattern>
        <pattern-item n="v\_{}abil"/>
      </pattern>
      <action>
        <let><clip pos="1" side="tl" part="abil"/><lit v=""/></let>
        <out>
            <lu>
              <clip pos="1" side="tl" part="lem"/>
              <clip pos="1" side="tl" part="a\_{}verb"/>
              <lit-tag v="prt\_{}impf"/>
            </lu>
            <b/> 
            <lu>
              <lit v="ал"/><lit-tag v="v.tv"/>
              <clip pos="1" side="tl" part="neg"/>
              <clip pos="1" side="tl" part="a\_{}pers"/>
              <clip pos="1" side="tl" part="a\_{}num"/>
            </lu>
        </out>
      </action>
    </rule>
}
\end{alltt}

\end{frame}

\begin{frame}
  \frametitle{Практическая часть}

Тепереь давайте попробуем описать правила, формализовать их и ввести в  Apertium’s формат XML.
% Now we'll try describing some rules, formalising them and then implementing them in 
% Apertium's XML format.

\end{frame}

\end{document}
