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

\usepackage{colortbl}
\usepackage{tabularx}
%\usepackage[breaklinks]{hyperref}
\usepackage{shupashkar}

\date{24th January 2011}
\title{{\cyrtext Раздел 2б: Морфонология (twol)}}
\author{Jonathan Washington \\ \texttt{\href{mailto:jonwashi@indiana.edu}{jonwashi@indiana.edu}}}
%\institute{Indiana University}
\begin{document}


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

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

\begin{frame}
	\frametitle{Морфонология: что это такое?}
	\begin{block}{Морфонология (значение)}
		\pause
		\begin{itemize}
			\item ``\textit{раздел языкознания, изучающий закономерности строения, фонемного состава и варьирования морфем}'' -википедия 
			\item или ``морфонология изучает фонологические изменения, которые происходят с морфемами при присоединении''
			\item или, для нас, просто ``какие изменения происходят в морфемах в результате их соединения''
		\end{itemize}
	\end{block}
	\pause
	\begin{block}{Морфонология: почему нам касается}
		\pause
		\begin{itemize}
			\item На многих языках, разные слова и морфемы меняются формой когда находятся в месте
			\item система компьютерного перевод должна узнавать все формы любого слова и любой морфемы
			\item ... и мы должны сказать компьютеру как с этими процессами можно работать
		\end{itemize}
	\end{block}
\end{frame}

\begin{frame}
	\frametitle{Морфонология и twol}
	\pause
	\begin{block}{Что такое twol /ту-\'{э}л/?}
		\pause
		\begin{itemize}
			\item Система для создания морфофонологического транздюсера
		\end{itemize}
	\end{block}
	\pause
	\begin{block}{Для чего надо использовать twol?}
		\pause
		\begin{itemize}
			\item Когда форма слова или морфемы меняется по фонологическому правилу
		\end{itemize}
	\end{block}
	\pause
	\begin{block}{Как можно использовать twol?}
		\pause
		\begin{itemize}
			\item Наидти правильное фонологическое правило\\
			(наверное не сразу из грамматики, но они могут помочь)
			\item Написать правило на формализме twol
		\end{itemize}
	\end{block}

\end{frame}

\begin{frame}[fragile]
	\frametitle{Морфонология: некоторые примери}
	\framesubtitle{Примерь №1: deletion}
	\begin{block}{Примерь №1 (Татарский)}
		\begin{tabularx}{\textwidth}{XX@{ / }XX}
			алма & `яблока' & таш & `камень' \pause\\
			\only<2->{алма\textbf{с}ы} & `его/ее яблока' & \only<3->{ташы} & \only<3->{`его/ее камень'} \\
			\only<1->{бала} & \only<1->{`ребенок'} & \only<1->{агач} & \only<1->{`дерево'} \\
			\only<4->{бала\textbf{с}ы} & \only<1->{`его/ее ребенок'} & \only<5->{агачы} & \only<1->{`его/ее дерево'} \\
		\end{tabularx}
	\end{block}
	\pause[4]
	\begin{block}{Генерализация}
		\pause
		\begin{itemize}
			\item после гласных есть \textbf{с}
			\item после согласных нет
		\end{itemize}
	\end{block}
	\pause
	\begin{block}{Правило}
		\pause
		\begin{itemize}
			\item \textbf{с} становится 0 после гласного
		\end{itemize}
	\end{block}

\end{frame}

\begin{frame}[fragile]
	\frametitle{Морфонология: некоторые примери}
	\framesubtitle{Примерь №1: deletion}
	\begin{block}{Правило}
		\begin{itemize}
			\item \textbf{с} становится 0 после гласного
		\end{itemize}
	\end{block}

	\begin{block}{Решение в twol}
		{\smallermono \begin{verbatim}
Sets

Glasnye = И Ү Е Э Ө Ә А О У Ы
          и ү е э ө ә а о у ы ;

Rules

"Ассимиляция по обвончению"
%{S%}:0 <=> :Glasnye %>: _ ;
		\end{verbatim}}
	\end{block}
\end{frame}

\begin{frame}[fragile]
	\frametitle{Морфонология: некоторые примери}
	\framesubtitle{Примерь №2: ассимиляция по обвончению}
	\begin{block}{Примерь №2 (Кыргызский)}
		\begin{tabularx}{\textwidth}{XX@{ / }XX}
			тал & `ива' & таш & `камень' \pause\\
			\only<2->{тал\textbf{д}ан} & \only<2->{`из ивы'} & \only<3->{таш\textbf{т}ан} & \only<3->{`из камени'} \\
			\only<4->{тал\textbf{г}а} & \only<4->{`к иве'} & \only<5->{таш\textbf{к}а} & \only<5->{`ко камени'} \\
			\only<6->{тал\textbf{б}ы} & \only<6->{`ива ли'} & \only<7->{таш\textbf{п}ы} & \only<7->{`камень ли'}\\
		\end{tabularx}
	\end{block}
	\pause[8]
	\begin{block}{Генерализация}
		\pause
		\begin{itemize}
			\item после звонких согласний (и гласных)--- д, г, б
			\item после незвонких согласных--- т, к, п
		\end{itemize}
	\end{block}
	\pause
	\begin{block}{Правило}
		\pause
		\begin{itemize}
			\item д, г, б становятся т, к, п после незвонких согласных
		\end{itemize}
	\end{block}

\end{frame}

\begin{frame}[fragile]
	\frametitle{Морфонология: некоторые примери}
	\framesubtitle{Примерь №2: ассимиляция по обвончению}

	\begin{block}{Правило}
		\begin{itemize}
			\item д, г, б становятся т, к, п после незвонких согласных
			\pause
			\item \{д, г, б\} становятся \{т, к, п \} в контексте \{незвонкие согласные\} \_
		\end{itemize}
	\end{block}

	\pause
	\begin{block}{Решение на twol}
		{\smallermono \begin{verbatim}
NeZvonki = К П С Т Ф Х Ц Ч Ш Щ  
           к п с т ф х ц ч ш щ ;

"Ассимиляция по обвончению"
Cx:Cy <=> :NeZvonki %>: _ ;
      where Cx in ( д г б )
            Cy in ( т к п )
      matched;
		\end{verbatim}}
	\end{block}
\end{frame}

\begin{frame}
	\frametitle{Морфонология: некоторые примери}
	\framesubtitle{Примерь №3: интервокальное обвончение}
	\begin{block}{Примерь №3 (Казахский)}
		\begin{tabularx}{\textwidth}{XX@{ / }XX@{ / }XX}
			кітап & `книга' & сүйек & `кость' & таяқ & `палка' \\
			\only<2->{кіта\textbf{б}ым} & \only<2->{`моя —'} &\only<3->{сүйе\textbf{г}ім} & \only<3->{`мой —'} & \only<4->{тая\textbf{ғ}ым} & \only<4->{`моя —'} \\
			\only<5->{кіта\textbf{п}тан} & \only<5->{`из —'} &\only<6->{сүйе\textbf{к}тен} & \only<6->{`из —'} & \only<7->{тая\textbf{қ}тан} & \only<7->{`от —'}\\
		\end{tabularx}
	\end{block}
	\pause[8]
	\begin{block}{Решение на twol}

	\end{block}
\end{frame}

\begin{frame}
	\frametitle{Морфонология: некоторые примери}
	\framesubtitle{Примерь №4: сингармонизм}
	\begin{block}{Примерь №4 (Кыргызский)}
		\begin{tabularx}{\textwidth}{XX@{ / }XX}
			баш & `голова' & тиш & `зуба' \\
			\only<2->{баш\textbf{ы}м} & \only<2->{`моя голова'} & \only<3->{тиш\textbf{и}м} & \only<3->{`моя зуба'} \\
			\only<4->{башт\textbf{а}н} & \only<4->{`от головы'} & \only<5->{тишт\textbf{е}н} & \only<5->{`от зубы'}\\
		\end{tabularx}
	\end{block}
	\pause[6]
	\begin{block}{Решение на twol}

	\end{block}
\end{frame}

\begin{frame}[fragile]
	\frametitle{Структура файла twol}
	\framesubtitle{Alphabet (Алфавит)}
	\begin{block}{Alphabet (Алфавит)}
		\begin{itemize}
			\item Все символы, которые будете использовать
			\item например:
		\end{itemize}
		\begin{verbatim}
Alphabet

А Б В Г Д Е Ё Ж З И И К Л М Н Ң О Ө П Р С Т У Ү Ф Х Ц Ч Ш Щ Ь Ы Ъ Э Ю Я
а б в г д е ё ж з и й к л м н ң о ө п р с т у ү ф х ц ч ш щ ь ы ъ э ю я
%{G%}:г %{D%}:д %{N%}:н %{L%}:л %{B%}:б %{P%}:п %{S%}:с %{n%}:н %{l%}:л
%{A%}:а %{I%}:ы %{U%}:у %{E%}:а %{e%}:0 %{K%}:к %{y%}:0 %>:0 ; 
		\end{verbatim}
	\end{block}
\end{frame}

\begin{frame}[fragile]
	\frametitle{Структура файла twol}
	\framesubtitle{Sets (Наборы)}

	\begin{block}{Sets (Наборы)}
		\begin{itemize}
			\item Группы символов, которые будете полезные для правил
			\item например:
		\end{itemize}

		\begin{verbatim}
Sets

Nazalnyje = м н ң
            М Н Ң ;
		\end{verbatim}
	\end{block}
\end{frame}

\begin{frame}[fragile]
	\frametitle{Структура файла twol}
	\framesubtitle{Rules (Все правила)}

	\begin{block}{Rules (Правила)}
		\begin{itemize}
			\item Все правила
			\item например:
		\end{itemize}
		\begin{verbatim}
Rules

"Deletion of dative {G} after px1sg, px2sg"
%{G%}:0 <=>  %{I%}: :Nazalnyje %>: _ %{A%}: .#. ;
		\end{verbatim}
	\end{block}

\end{frame}

\begin{frame}[fragile]
	\frametitle{Структура файла twol}
	\framesubtitle{Итого}


	\begin{block}{Итого}
		\begin{verbatim}
Alphabet

А Б В Г Д Е Ё Ж З И И К Л М Н Ң О Ө П Р С Т У Ү Ф Х Ц Ч Ш Щ Ь Ы Ъ Э Ю Я
а б в г д е ё ж з и й к л м н ң о ө п р с т у ү ф х ц ч ш щ ь ы ъ э ю я
%{G%}:г %{D%}:д %{N%}:н %{L%}:л %{B%}:б %{P%}:п %{S%}:с %{n%}:н %{l%}:л
%{A%}:а %{I%}:ы %{U%}:у %{E%}:а %{e%}:0 %{K%}:к %{y%}:0 %>:0 ; 

Sets

Nazalnyje = м н ң
            М Н Ң ;

Rules

"Deletion of dative {G} after px1sg, px2sg"
%{G%}:0 <=>  %{I%}: :Nazalnyje %>: _ %{A%}: .#. ;
		\end{verbatim}
	\end{block}

\end{frame}


\begin{frame}
	\frametitle{Какие языковые изменения подходящие для twol и какие для lexc?}
	\begin{block}{Какие языковые изменения подходящие для twol и какие для lexc?}
		\begin{itemize}
			\item если общое фонологическое правило: тогда в twol
			\item если правило основано на фонологических фринципах, но только влияет на некоторые морфемы или слова:\\
				добавить архифонему в lexc которые появляется в этих морфемах, и писать правило в twol который только меняет формы, где находится архифонема (используемая архифонема как часть контекста для правила)
			\item если изменения только произходит в парах корней:
				создать в lexc две continuation lexica---одна для слов, которые меняются, и одна для тех, которые не меняются
			\item если надо например только анализировать формы где находится процесс, тогда не возможно в twol и надо в lexc
		\end{itemize}
	\end{block}
\end{frame}

\begin{frame}
	\begin{block}{Полезные комманды}
		\begin{itemize}
			\item посмотреть форму, которая результат тэгов (до фонологических правил)\\
			\texttt{hfst-fst2strings .deps/xx.RL.lexc.hfst | grep "эт<n><pl><px1sg><acc>"}\\
			\texttt{\color{blue}{эт<n><pl><px1sg><acc>:эт>{L}{A}р>{I}м>н{I}}}
			\item посмотреть результат правил для одного слова\\
			\texttt{echo "э т > {L} {A} р > {I} м > н {I}" | hfst-strings2fst -S | hfst-compose-intersect .deps/xx.twol.hfst | hfst-fst2strings} \\
			\texttt{\color{blue}{эт>{L}{A}р>{I}м:этләрем}}
			\item создать транздюсер занова после изменения в файле twol:\\
			\texttt{make}\\
			\textit{это не фундаментальная комманда - эта включается в \texttt{make}}
		\end{itemize}
	\end{block}
	примерные комманды в черном\\
	\color{blue}{примерные результаты в синим}

\end{frame}

\begin{frame}
	\frametitle{Обычные проблемы}
	\begin{block}{Если встретите проблему}
		\begin{itemize}
			\item did you define you multicharacter symbols?
			\item some cyrillic and latin characters look the same, but are different for the computer
			\item morphotactic symbols and archiphonemes can only be on the left: например, \%>:, \%{A\%}:
			\item в наборах, нельзя постабить пары: например,
			\begin{itemize}
				\item Нельзя: \texttt{ChtoTo = А:а, Б:б}
				\item Можно: \texttt{ChtoTo = А, Б, а, б}
			\end{itemize}
			\item думайте об орфографии, не только о фонологии
			\begin{itemize}
				\item если "ХХй" + "а" становится "ХХя", там фонологии нет, но ``морфографемология'' есть
			\end{itemize}
		\end{itemize}
	\end{block}
\end{frame}

\begin{frame}
	\frametitle{Дополнительные ресурсы}
	Дополнительные Ресурсы
	\begin{itemize}
		\item \url{http://foma.sourceforge.net/dokuwiki/doku.php?id=wiki:regexreference}\\Указатель всех символов twol (на английском)
		\item \url{http://wiki.apertium.org/wiki/\%D0\%9A\%D0\%B0\%D0\%B\_\%D0\%B8\%D1\%81\%D0\%BF\%D0\%BE\%D0\%BB\%D1\%8C\%D0\%B7\%D0\%BE\%D0\%B2\%D0\%B0\%D1\%82\%D1\%8\_HFST\_\%D1\%87\%D1\%82\%D0\%BE\%D0\%B1\%D1\%8\_\%D1\%80\%D0\%B0\%D0\%B7\%D1\%80\%D0\%B0\%D0\%B1\%D0\%BE\%D1\%82\%D0\%B0\%D1\%82\%D1\%8\_\%D0\%BD\%D0\%BE\%D0\%B2\%D1\%8B\%D0\%B\_\%D0\%BC\%D0\%BE\%D1\%80\%D1\%84\%D0\%BE\%D0\%BB\%D0\%BE\%D0\%B3\%D0\%B8\%D1\%87\%D0\%B5\%D1\%81\%D0\%BA\%D0\%B8\%D0\%B\_\%D0\%B0\%D0\%BD\%D0\%B0\%D0\%BB\%D0\%B8\%D0\%B7\%D0\%B0\%D1\%82\%D0\%BE\%D1\%80}\\
		\texttt{http://wiki.apertium.org/wiki/Как\_использовать\_HFST,\_чтобы\\\_разработать\_новый\_морфологический\_анализатор}\\Минимальный пример создания анализатор с помощью twol
	\end{itemize}
\end{frame}

\begin{frame}
	\frametitle{Морфонология: упражнения}
	{\smallersans
	\begin{block}{Теоретическое упражнение}
		\begin{enumerate}
			\item Найдите какой-то морфонологический процесс существующий на одном из ваших языках
			\item Систематизируйте примеры/формы в группы и найдите обобщение о контексте изменения форм
			\item Пишите ввод процесса, вывод процесса, и контекст/случай процесса
		\end{enumerate}
	\end{block}

	\begin{block}{Практическое упражнение}
		\begin{enumerate}
			\item Добавьте леммы/корни всех примеров в файл \texttt{apertium-xx-yy.xx.lexc}
			\item Создайте правило для этого процесса по twol в файл \texttt{apertium-xx-yy.xx.twol}
			\item Подайте комманду \texttt{make} чтобы создать транздюсер
			\item Проверьте создан тарнздюсер через комманду \texttt{hfst-fst2strings xx-yy.autogen.hfst}
			\item Исправьте ваше правило, повторя шаги от 2-ого :)
		\end{enumerate}
	\end{block}
	}
\end{frame}

\begin{frame}
	\frametitle{Морфонология: упражнения}
	\begin{block}{Дополнительное упражнение}
		\begin{itemize}
			\item Если время осталось, повторите это все еще раз, находя новые процессы
		\end{itemize}
	\end{block}
\end{frame}

\end{document}
