diff --git a/.gitignore b/.gitignore index 535ae67..9797bc4 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,8 @@ *.o *.a *.cmxa -.DS_Store \ No newline at end of file +.DS_Store +pre +*.aux +*.log +*.tex.backup diff --git a/morphology/doc/model.pdf b/morphology/doc/model.pdf new file mode 100644 index 0000000..8f57127 --- /dev/null +++ b/morphology/doc/model.pdf diff --git a/morphology/doc/model.tex b/morphology/doc/model.tex new file mode 100644 index 0000000..2aa7e2d --- /dev/null +++ b/morphology/doc/model.tex @@ -0,0 +1,94 @@ +\documentclass{article} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[polish]{babel} +% \usepackage{tikz} +% \usetikzlibrary{conceptgraph} + +\parindent 0pt +\parskip 4pt + +% \newcommand{\tensor}{\otimes} +% \newcommand{\forward}{\operatorname{/}} +% \newcommand{\backward}{\operatorname{\backslash}} +% \newcommand{\both}{\mid} +% \newcommand{\plus}{\oplus} +% \newcommand{\zero}{0} +% \newcommand{\one}{1} +% \newcommand{\letin}[2]{{\bf let}\;#1\;{\bf in}\;#2} +% \newcommand{\caseof}[2]{{\bf case}\;#1\;{\bf of}\;#2} +% \newcommand{\emp}{{\bf emp}} +% \newcommand{\inl}{{\bf inl}} +% \newcommand{\inr}{{\bf inr}} +% \newcommand{\coord}[1]{{#1}^\star} +% \newcommand{\map}[2]{{\bf map}\;#1\;#2} +% \newcommand{\concat}[1]{{\bf concat}\;#1} +% \newcommand{\makeset}[1]{{\bf makeset}\;#1} +% \newcommand{\maketerm}[1]{{\bf maketerm}\;#1} +% \newcommand{\addlist}[2]{{\bf add}\;#1\;#2} +% \newcommand{\ana}[1]{{\bf ana}(#1)} +% \newcommand{\One}{\bullet} + + +\title{Model probabilistyczny guessera dla języka polskiego} +\author{Wojciech Jaworski} +%\date{} + +\begin{document} +\maketitle + +Zakładamy, że język jest rozkładem probabilistycznym na czwórkach (form,lemma,cat,interp), +czyli, że wystąpienia kolejnych słów w tekście są od siebie niezależne. +Interpretacja interp jest zbiorem tagów zgodnym a tagsetem SGJP. +Kategoria $cat \in \{ noun, adj, adv, verb, other \}$ +Zakładamy też, że język jest poprawny, tzn. nie ma literówek, ani błędów gramatycznych. + +Dysponujemy następującymi danymi: +\begin{itemize} +\item słownikiem gramatycznym S, czyli zbiorem czwórek, o których wiemy, że należą do języka; +\item zbiorem reguł, czyli zbiorem czwórek (fsuf,lsuf,cat,interp) +\item zbiorem wyjątków, czyli zbiorem czwórek, o których wiemy, że należą do języka, które nie są opisywane przez reguły +\item otagowaną listą frekwencyjną. +\end{itemize} +Reguła przyłożona do formy ucina fsuf i przykleja lsuf. + +Celem jest aproksymacja wartości P(lemma,cat,interp|form). + +Pytanie 1: $P((form,lemma,cat,interp) \in S)$ + +Pytanie 2: $P((form,lemma,cat,interp) \not\in S \wedge form \in S)$ + +Załóżmy, że reguły i wyjątki mają postać taką, że do danej formy można zaaplikować tylko jedną z nich +(dla żadnej reguły sufix nie jest podciągiem innego sufixu). Wtedy +\[P(lemma,cat,interp|form)\approx P(rule|form)=P(rule|fsuf)\] +(W powyższym drzewie sufixowym w każdym węźle mamy dowiązania do sufixów o jeden znak dłuższych oraz kategorię pozostałe traktową łącznie + +Pytanie 3: Czy faktycznie zachodzi powyższa zależność? Jak zmierzyć podobieństwo? + +Problem tu jest taki, że lista frekwencyjna jest zbyt mała by precyzyjnie określić p-stwo ok. 40000 reguł + +\[P(rule|fsuf)=P(lsuf,cat,interp|fsuf)=P(fsuf|lsuf,cat,interp)\frac{P(lsuf,cat,interp)}{P(fsuf)}\] + +$P(fsuf)$ jest prawdopodobieństwem tego, że do języka należy słowo o zadanym sufixie. +Można je oszacować za pomocą listy frekwencyjnej. + +Zakładamy, że interp jest niezależne od lsuf, pod warunkiem określonego cat +$P(lsuf,cat,interp)=P(lsuf,cat)P(interp|lsuf,cat)=P(lsuf,cat)P(interp|cat)$ + +$P(lsuf,cat)$ i $P(interp|cat)$ można oszacować na podstawie listy frekwencyjnej. + +$P(fsuf|lsuf,cat,interp)$ wynosi 0, gdy nie ma reguły postaci (fsuf,lsuf,cat,interp); +1, gdy jest dokładnie jedna reguła z (lsuf,cat,interp), a gdy jest ich więcej trzeba +oszacować z listy frekwencyjnej. + +Pytanie 4: Czy powyższe przybliżenie jest poprawne, jak często jest więcej niż jedna reguła i ile wynoszą wówczas p-stwa? + +Pytanie 5: Co zrobić z niejednoznacznymi interpretacjami? + +Zadania poboczne: wytworzenie otagowanej listy frekwencyjnej, wytworzenie zbioru reguł, wskazanie, które reguły opisują sytuacje wyjątkowe. + +Zadanie na przyszłość: reguły słowotwórstwa i ich interpretacja semantyczna. + +\end{document} \ No newline at end of file