Zrobiony/poprawiony bootstraping

This commit is contained in:
siulkilulki 2018-02-11 22:34:54 +01:00
parent 7371aa39d0
commit 3339af9f87
3 changed files with 84 additions and 216 deletions

View File

@ -1,206 +1,16 @@
@MISC{Fielding,
author = {Roy Thomas Fielding},
title = {Chapter 5: Representational State Transfer (REST)},
year = {2000},
howpublished={\url{http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.html}}
}
@MISC{SOAP_coverpages,
title = {XML {Cover} {Pages} on the history of {SOAP}},
note = {Coverpages.org. Ostatnia modyfikacja 2003-07-22},
key = {Xml},
howpublished={\url{http://xml.coverpages.org/soap.html}}
}
@MISC{EBay,
author = {Nick Wingfield},
title = {{EBay Aims to Be 'Operating System' For All E-Commerce on Internet}},
note = {The Wall Street Journal. Ostatnia modyfikacja 2000-11-20},
howpublished = {\url{http://www.wsj.com/articles/SB974675427606513763}}
}
@MISC{Amazon,
title = {{Amazon.com Launches Web Services; Developers Can Now Incorporate Amazon.com Content and Features into Their Own Web Sites; Extends ''Welcome Mat'' for Developers}},
key = {Amazon},
note = {Amazon Press Release. Opublikowano 2002-07-16},
howpublished = {\url{http://phx.corporate-ir.net/phoenix.zhtml?c=176060&p=irol-newsArticle&ID=503034}}
}
@MISC{Facebook,
author = {John Musser},
title = {Facebook {Launches} {API}},
note = {ProgrammableWeb.com. Opublikowano 2006-08-16},
howpublished = {\url{http://phx.corporate-ir.net/phoenix.zhtml?c=176060&p=irol-newsArticle&ID=503034}}
}
@MISC{Yahoo_buys_Flickr,
author = {Jim Hu},
title = {{Yahoo buys photo-sharing site Flickr}},
note = {CNET.com. Opublikowano 2005-03-21},
howpublished = {\url{https://www.cnet.com/news/yahoo-buys-photo-sharing-site-flickr/}}
}
@MISC{Flickr_archive,
author = {Flickr},
title = {{Yahoo buys photo-sharing site Flickr}},
note = {Flickr.com. Archiwum z 2004-08-04},
howpublished = {\url{https://web.archive.org/web/20040821021045/http://www.flickr.com/services/api/}}
@ARTICLE{Hearst,
author = {Marti Hearst },
title = {Automatic Acquisition of Hyponyms from Large Text Corpora.},
journal = {Proc. of the
Fourteenth International Conference on Computational Linguistics, Nantes, France.},
year = {1992}
}
@MISC{company_status_codes,
author = {Michael Gotiashvili},
title = {{HTTP Status Codes To Handle Errors In Your API}},
note = {mrGott.com. Opublikowano 2015-06-24},
howpublished = {\url{http://mrgott.com/misc/5-http-status-codes-to-handle-errors-in-your-api}}
}
@MISC{blueprint,
author = {Pocoo},
title = {{Modular Applications with Blueprints}},
note = {Pocoo.org. Dostęp 2017-01-29},
howpublished = {\url{http://flask.pocoo.org/docs/0.12/blueprints/}}
}
@MISC{owasp,
author = {Erlend Oftedal and Andrew van der Stock and Tony Hsu Hsiang Chih},
title = {{REST Security Cheat Sheet}},
note = {OWASP.org. Dostęp: 2016-11-17},
howpublished = {\url{https://www.owasp.org/index.php/REST_Security_Cheat_Sheet}}
}
@techreport{RFC5789,
author = {L. Dusseault and J. Snell},
title = {PATCH Method for HTTP},
howpublished = {Internet Requests for Comments},
type = {RFC},
number = {5789},
year = {2010},
month = {March},
issn = {2070-1721},
publisher = {RFC Editor},
institution = {RFC Editor},
url = {http://www.rfc-editor.org/rfc/rfc5789.txt},
note = {\url{http://www.rfc-editor.org/rfc/rfc5789.txt}},
}
@techreport{RFC7232,
author = {R. Fielding and J. Reschke},
title = {Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests},
howpublished = {Internet Requests for Comments},
type = {RFC},
number = {7232},
year = {2014},
month = {June},
issn = {2070-1721},
publisher = {RFC Editor},
institution = {RFC Editor},
url = {http://www.rfc-editor.org/rfc/rfc7232.txt},
note = {\url{http://www.rfc-editor.org/rfc/rfc7232.txt}},
}
@MISC{embed,
author = {Vinay Sahni},
title = {{Best Practices for Designing a Pragmatic RESTful API}},
note = {VinaySahni.com. Opublikowano 2015-06-21},
howpublished = {\url{http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api}}
}
@MISC{Twitter,
author = {Biz Stone},
title = {Introducing the {Twitter} {API}},
note = {ProgrammableWeb.com. Opublikowano 2006-08-16},
howpublished = {\url{http://phx.corporate-ir.net/phoenix.zhtml?c=176060&p=irol-newsArticle&ID=503034}}
}
@MISC{octo_design,
author = {Antoine Chantalou and Augustin Grimprel and Benoit Lafontaine and Florent Jaby and Jérémy Buisson and Mohamed Kissa and Nicolas Laurent},
title = {{How to design a REST API}},
note = {Octo.com. Opublikowano 2014-12-01},
howpublished = {\url{http://blog.octo.com/en/design-a-rest-api/}}
}
@techreport{RFC3968,
author = {G. Camarillo},
title = {The Internet Assigned Number Authority (IANA) Header Field Parameter Registry for the Session Initiation Protocol (SIP)},
howpublished = {Internet Requests for Comments},
type = {BCP},
number = {98},
year = {2004},
month = {December},
issn = {2070-1721},
publisher = {RFC Editor},
institution = {RFC Editor},
}
@techreport{RFC7396,
author = {P. Hoffman and J. Snell},
title = {JSON Merge Patch},
howpublished = {Internet Requests for Comments},
type = {RFC},
number = {7396},
year = {2014},
month = {October},
issn = {2070-1721},
publisher = {RFC Editor},
institution = {RFC Editor},
}
@techreport{RFC6902,
author = {P. Bryan and M. Nottingham},
title = {JavaScript Object Notation (JSON) Patch},
howpublished = {Internet Requests for Comments},
type = {RFC},
number = {6902},
year = {2013},
month = {April},
issn = {2070-1721},
publisher = {RFC Editor},
institution = {RFC Editor},
}
@techreport{RFC2616,
author = {Roy T. Fielding and James Gettys and Jeffrey C. Mogul and Henrik Frystyk Nielsen and Larry Masinter and Paul J. Leach and Tim Berners-Lee},
title = {Hypertext Transfer Protocol -- HTTP/1.1},
howpublished = {Internet Requests for Comments},
type = {RFC},
number = {2616},
year = {1999},
month = {June},
issn = {2070-1721},
publisher = {RFC Editor},
institution = {RFC Editor},
url = {http://www.rfc-editor.org/rfc/rfc2616.txt},
note = {\url{http://www.rfc-editor.org/rfc/rfc2616.txt}},
}
@BOOK{Best_Practices,
author = "Murat Yener and Alex Theedom",
publisher = {John Wiley \& Sons},
title = {Professional Java EE Design Patterns},
year = 2015,
month = "Jan."
}
@TECHREPORT{SUN_awarie,
author = {Waldo J. , Wyant G., Wollrath A., and Kendall S.},
title = {A note on distributed computing},
institution = {Sun Microsystems Laboratories, Inc.},
month = {Nov.},
year = {1994},
type = {Technical Report},
number = {SMLI TR-94-29}
}
@misc{wiki:latex,
key = "13240150",
title = "{LaTeX}",
howpublished = "[online]",
month = "lipiec",
year = "2008",
note = "[dostęp: 2008-09-10 20:48Z]",
annote = "Dostępny w Internecie: \url{http://pl.wikipedia.org/wiki/Fullpagename?oldid=13240150}"
@ARTICLE{Bootstrap,
author = {Daniel Waegel},
title = {A Survey of Bootstrapping Techniques in Natural Language Processing},
journal = {Department of Computer Science,
University of Delaware, Literature Survey Reports},
year = {2013}
}

View File

@ -1,24 +1,82 @@
\chapter{Metody ekstrakcji informacji}
% w kontekście mojego projektu
W tym rozdziale zaprezentowane będę wybrane metody, których idee lub
ich bezpośrednie użycie znalazło się
W tym rozdziale zaprezentowane są wybrane metody,
które brane były pod uwagę lub zostały zastosowane
w końcowym systemie ekstrakcji informacji o godzinach rozpoczęcia mszy świętych.
\section {Wzorce Hearst - metoda samowsporna \textit{(ang. bootstraping)}}
Pierwszy raz w dziedzinie ekstrakcji informacji metody samowsporne zostały
zastosowane przy ekstrakcji relacji. Były to wzorce Hearst \textit{(ang.
Hearst patterns)}.
\section {Algorytmy \textit{bootstraping}}
Niech $J$ to będzie dowolna reprezentacja języka (wyraz, fraza, wyrażenie
regularne itp.)
W dziedzinie przetwarzania języka naturalnego \textit{bootstraping} to technika
wyszukiwania niezanotowanych $J$ przy użyciu małego zbioru specjalnie
wyselekcjonowanych $J$.
Implementacji algorytmu \textit{bootstraping} jest wiele; wszystkie jednak
oparte są na następującym schemacie \cite{Bootstrap}:
\begin{enumerate}
\item Stwórz pustą listę $J$. % pusta lista $J$, pusta lista wyrazów, pusta
% lista fraz
\item Zainicjalizuj listę starannie dobranymi $J$.
\item Wykorzystaj elementy listy do znalezienia nowych $J$ z korpusu treningowego.
\item Oceń nowe $J$; najlepsze $J$ dodaj do listy.
\item Wróć do 3. i powtarzaj aż do osiągnięcia z góry określonej liczby iteracji lub
spełnienia innego warunku stopu.
\end{enumerate}
\textit{Bootstraping} jest szczególnie przydatny w przypadku, gdy mamy mały
zbiór treningowy, ponieważ z jego pomocą jesteśmy w stanie powiększyć zbiór
treningowy. %todo poprawić
\subsection{Wzorce Hearst}
Jedną z pierwszych implementacji algorytmu \textit{bootstraping} w dziedzinie
ekstrakcji informacji
są wzorce Hearst \textit{(ang. Hearst patterns)} \cite{Hearst}.
\smallskip
\noindent Znajdowanie nowych wzorców za pomocą wzorców Hearst:
\noindent Znajdowanie nowych wzorców za pomocą wzorców Hearst można przedstawić
następująco:
\begin{enumerate}
\item Wybierz relację leksykalną R.
\item Zbierz zbiór par, które są w relacji R.
\item Znajdź zdania, które zawierają te pary.
\item Przyjrzyj się kontekstowi w jakim występują te pary. Załóż, że często
powtarzające się wzorce reprezentują relację R.
\item Weź nowo odkryte wzorce i przejdź do 2.
\item Wybierz relację leksykalną $R$.
\item Zbierz zbiór $S$ par $(x, y)\in R$, gdzie $x$ i $y$ to słowa lub frazy.
\item Znajdź zdania, które zawierają pary ze zbioru $S$.
\item Przyjrzyj się kontekstowi w jakim występują te pary. Załóż, że często powtarzające się wzorce reprezentują relację R.
\item Wykorzystaj nowo odkryte wzorce do znalezienia nowych par słów lub fraz będących w relacji $R$.
\item Dodaj nowo znalezione pary słów lub fraz do zbioru $S$, wróć do 3. i powtarzaj aż do osiągnięcia z góry określonej liczby iteracji.
\end{enumerate}
\enlargethispage{6\baselineskip}
\subsubsection{Przykład}
Rozważmy relację R taką, że $(x, y) \in R$ wtedy, gdy $x$ został pochowany w
$y$.
Załóżmy, że zaczynamy z parą \texttt{('Józef Piłsudski', 'Kraków')}$\in R$.
W korpusie treningowym szukamy zdań zawierających w sobie parę \texttt{('Józef Piłsudski', 'Kraków')} i otrzymujemy:
\centerline{„Józef Piłsudski został pochowany w Krakowie.”}
\centerline{„Miejsce pochówku Józefa Piłsudskiego to Kraków.”}
\centerline{„Grób Józefa Piłsudskiego znajduje się w Krakowie.”}
Ze znalezionych zdań tworzymy następujące wzorce:
\centerline{$x$ został pochowany w $y$.}
\centerline{Miejsce pochówku $x$ to $y$.}
\centerline{Grób $x$ znajduje się w $y$.}
Wykorzystujemy powyższe wzorce do znalezienia nowych par będących w relacji $R$
i otrzymujemy:
\centerline{\texttt{('Władysław Araszkiewicz', 'Warszawa')}}
\centerline{\texttt{('Władysław Kuczewski', 'Częstochowa')}}
Następnie nowe pary używamy do znalezienia nowych wzorców, a potem nowe
wzorce do wyszukania kolejnych par i powtarzamy powyższy
algorytm aż do osiągnięcia określonej liczby iteracji.
\subsection{Miejsce na opis bardziej skomplikowanej metoda implementującej
algorytm \textit{bootstraping}}
\section{Dziel i zwyciężaj algorytmami genetycznymi}
W 2015 Bartoli i in. zaprezentowali efektywny algorytm genetyczny do generowania wzorców w
postaci wyrażeń regularnych przy użyciu niewielkiego zbioru zanotowanych przykładów.