Text mininig - ale o co chodzi?
Coraz częściej można spotkać się z pojęciami data mining, web mining, text mining itd. Hmm... pisałam swoją pracę inżynierską z tej dziedziny i szczerze mówiąc na początku nie miałam na ten temat zielonego pojęcia;) Z czasem jednak odkryłam ogrom możliwości jakie daje stosowanie metod text miningu. Możecie wierzyć lub nie, ale rezultaty działania algorytmów sprawiały ogromną radość;P (nie twierdzę, że jestem normalna;))
Ale do rzeczy - po co w ogóle "marnować" czas na czytanie artykułów z tej tematyki. Pierwsze co przychodzi mi na myśl to Google. Popatrzcie na wyniki wyszukiwania. Po pierwsze - krótkie streszczenia artykułów. Po drugie wyszukiwanie pełnotekstowe. Po trzecie podpowiedzi do zapytań. Czy to nie jest fenomenalne? Jeśli niektórych to nie przekonało to wyobraźcie sobie np
że to co "wypluje" wyszukiwarka będzie automatycznie grupowane, a grupom będą nadawane sensowne nazwy. Dalej wydaje Wam się, że to nudny temat? A co powiecie na to, że system będzie Wam podsuwał treści coraz bardziej odpowiadające Waszym zainteresowaniom. Dalej nic? Hmm... spora liczba osób ma problem ze spamem przychodzącym na maila. Pomyśl teraz, że to Ty możesz być twórcą filtra, który będzie segregował wiadomości! Robi się ciekawie? To popatrz na to: jest sobie robot, który potrafi z Wami prowadzić w miarę "inteligentne" rozmowy. Ciekawe? - Kwestia gusty;) Łatwe? - Kwestia umiejętności i wiedzy;) Ale najfajniejsze jest to, że text mining przychodzi tutaj z pomocą!
Czym tak właściwie jest text mining? Najłatwiejsza definicja (choć bardzo ogólna i niewnosząca za dużo) to wydobywanie wiedzy z zasobów tekstowych. Ktoś może się zapytać ale po co to wszytko? Spróbuję wyjaśnić na przykładach:)
Dawno dawno temu wyszukiwanie jakichkolwiek informacji w internecie/intranecie odbywało się z pomocą osób trzecich, tzn jeśli chciałeś coś znaleźć to musiałeś iść do kogoś, kto umiał przetłumaczyć Twoje zapytanie na takie, które będzie rozumiała wyszukiwarka. Ciężko to sobie wyobrazić ale taka jest (okrutna) prawda:) Na szczęście technika poszła do przodu i ten prymitywny sposób został sukcesywnie zastąpiony przez wyrafinowane formy wyszukiwania. Na chwilę obecną jest tylko kilka "dobrych" wyszukiwarek. Przykład - Google. Jaka jest jego przewaga? Hmm to łatwe. W większości przypadków, gdy dokumenty są umieszczane w jakichś serwisach, to użytkownik musi/może określić tzw słowa kluczowe opisujące dany tekst. Dodatkowo wpisuje tytuł oraz określa tematykę jakiej dotyczy dokument. Wyszukiwarki (te zwykłe) biorą tylko te informacje pod uwagę. To trochę mało, bo nie uwzględniają całej treści tekstu, przez co wyszukiwanie jest niedokładne. Idea jaka przyświeca wyszukiwaniu pełnotekstowemu z użyciem metod text miningu jest zupełnym przeciwieństwem poprzedniego podejścia. Po pierwsze wyszukiwanie nie uwzględnia fleksji języka czyli odmiana wyrazów jest bez znaczenia. Po drugie zawartość całego dokumentu jest brana pod uwagę. Do mnie te argumenty przemawiają;)
Teraz trochę z innej beczki. Spróbujcie wyszukać jakieś informacje na temat LaTeX'a. Praktycznie każda wyszukiwarka oprócz żądanej tematyki zwróci również masę dokumentów o innej ciekawej treści;) Wniosek nie radzą sobie z polisemią. Dlatego właśnie istnieje konieczność dołączania do dokumentów abstraktów, które będą w dużym skrócie określały tematykę. Ręczne generowanie jest czasochłonne i pewnie nikomu nie chciałoby się tego robić. Wyjściem z tego jest automatyzacja tego procesu, która nie jest trudna a na pewno pomocna:) Dodatkowo można również dokumenty pogrupować oraz nadać im nazwy składające się z kilku wyrazów lub fraz.
To tylko krótki wstęp, który ma Was zachęcić do poszukiwań materiałów odnośnie text miningu. Ja osobiście polecam kilka pozycji, które można znaleźć w sieci.
1. Morgan Kaufmann Mining the Web Discovering Knowledge from Hypertext Data
2. Springer - Survey of Text Mining - Clustering, Classification and Retrieval
3. Modelowanie rozmyte - Grzegorz Głowaty (praca magisterska)
4. Hybrydowa metoda rekomendacji dokumentów w środowisku hipertekstowym - Maciej Kiewra (praca doktorska)
5. Model użytkownika w internetowych systemach wyszukiwania informacji - Agnieszka Indyga Piasecka (praca doktorska)
6. Eksploracja danych
7. Strona Pawła Cichosza
piątek, 3 sierpnia 2007
niedziela, 15 lipca 2007
Beamer czyli sposób na profesjonalne prezentacje
Prezentacje hmm... zazwyczaj robione za pomocą Power Pointa (ohyda) z wyskakującymi slajdami, zdjęciami i innymi tego typu wodotryskami. Jaki więc jest sposób na profesjonalną prezentację? Odpowiedź jest tylko jedna - Beamer;) Więc zaczynajmy.
Preambuła
Preambuła to to co znajduje się przed właściwą częścią dokumentu i odpowiada między innymi za wygląd, schemat kolorów, kodowanie itd.
Pierwsze 3 linijki mało ciekawe, aczkolwiek konieczne;) W 4 ustawiamy schemat naszej prezentacji czyli po ludzku mówiąc określamy jak ma wyglądać;) Jak komuś nie podoba się Warsaw może napisać swój schemat lub skorzystać z gotowych. Standardowo są one umieszczone w katalogu:
Struktura dokumentu
Każdy dokument pisany w LaTeX-u musi być wewnątrz bloku
W przypadku pakietu Beamer podstawowym elementem jest frame. Slajdy są zorganizowane w ramki, ale ramka to niekoniecznie jest jeden slajd. Dowody na to będą później;P
Strona tytułowa
Żeby zrobić stronę tytułową należy napisać jedną instrukcję:
Proste prawda? Mamy swój pierwszy slajd z ładnie sformatowaną stroną tytułową.
Spis treści
Automatyczne generowanie spisu treści jest równie łatwe jak robienie strony tytułowej. Dodatkowo dodamy nazwę slajdu:
Bloki
A teraz coś ciekawszego:) W Beamerze zdefiniowane są podstawowe struktury, dzięki którym można wyróżnić co ciekawsze fragmenty naszej prezentacji. Wygląda to tak:
A oto kilka linijek kodu, który wygeneruje bloki:
Pojawiam się i znikam;)
W Beamerze zdefiniowane są 2 podstawowe pojęcia frame (slajd) i overlay (warstwa). Różnica między nimi polega na tym, że jeden slajd może składać się z kilku warstw. W podstawowej wersji slajd zbudowany jest z jednej warstwy. Jeśli natomiast chcemy żeby w naszej prezentacji były pojawiające się podpunkty, bloki, tabele itd to każdy taki element tworzy nową warstwę. Mamy do dyspozycji kilka rodzajów wyświetlania:
No dobra. Teraz coś dla miłośników Power Pointowych (czyt. kiczowatych) animacji. W Beamerze też można zrobić takie "upiększenia". Za pomocą poniższych poleceń można uzyskać "przylatujący" tekst lub całe slajdy:)
I znowu tylko jedno polecenie:) Zmieniamy pierwszą linijkę dokumentu:
Źródła:
Przykładowe prezentacje
Preambuła
Preambuła to to co znajduje się przed właściwą częścią dokumentu i odpowiada między innymi za wygląd, schemat kolorów, kodowanie itd.
1. \documentclass[a4paper,11pt]{beamer}
2. \usepackage[MeX]{polski}
3. \usepackage[cp1250]{inputenc}
4. \usetheme{Warsaw}
5. \usecolortheme{dolphin}
6. \title[Krótki tytuł, który będzie wyświetlany na dole
prezentacji]{Długi tytuł, który będzie na stronie tytułowej}
7. \author{Monty Python}
8. \institute{Jakaś nazwa}
9. \date{Wrocław, \today}
Pierwsze 3 linijki mało ciekawe, aczkolwiek konieczne;) W 4 ustawiamy schemat naszej prezentacji czyli po ludzku mówiąc określamy jak ma wyglądać;) Jak komuś nie podoba się Warsaw może napisać swój schemat lub skorzystać z gotowych. Standardowo są one umieszczone w katalogu:
\texmf\tex\latex\beamer\themes\themeWystarczy tylko podmienić nazwę i gotowe. Podobnie jest w przypadku schematu kolorów. Reszta chyba nie wymaga komentarza:)
Struktura dokumentu
Każdy dokument pisany w LaTeX-u musi być wewnątrz bloku
\begin{document}
...
\end{document}
W przypadku pakietu Beamer podstawowym elementem jest frame. Slajdy są zorganizowane w ramki, ale ramka to niekoniecznie jest jeden slajd. Dowody na to będą później;P
Strona tytułowa
Żeby zrobić stronę tytułową należy napisać jedną instrukcję:
\begin{frame}
\titlepage
\end{frame}
Proste prawda? Mamy swój pierwszy slajd z ładnie sformatowaną stroną tytułową.
Spis treści
Automatyczne generowanie spisu treści jest równie łatwe jak robienie strony tytułowej. Dodatkowo dodamy nazwę slajdu:
\begin{frame}
\frametitle{Spis treści}
\framesubtitle{Podtytuł}
\tableofcontents
\end{frame}
Bloki
A teraz coś ciekawszego:) W Beamerze zdefiniowane są podstawowe struktury, dzięki którym można wyróżnić co ciekawsze fragmenty naszej prezentacji. Wygląda to tak:
A oto kilka linijek kodu, który wygeneruje bloki:
\begin{block}{Jestem tylko zwykłym blokiem}
Bla, bla, bla \alert{a ja jestem czerwonym Bla}
\end{block}
\begin{example}
Jestem przykładem. Żeby zmienić moją
nazwę trzeba bawić się TeX'em.
\end{example}
\begin{definition}
Jestem definicją. Mojej nazwy też nie da się
zmienić w łatwy sposób.
\end{definition}
\begin{alertblock}{Ja jestem alertblockiem}
Fajny jestem, prawda?
\end{alertblock}
Pojawiam się i znikam;)
W Beamerze zdefiniowane są 2 podstawowe pojęcia frame (slajd) i overlay (warstwa). Różnica między nimi polega na tym, że jeden slajd może składać się z kilku warstw. W podstawowej wersji slajd zbudowany jest z jednej warstwy. Jeśli natomiast chcemy żeby w naszej prezentacji były pojawiające się podpunkty, bloki, tabele itd to każdy taki element tworzy nową warstwę. Mamy do dyspozycji kilka rodzajów wyświetlania:
- <1> - element będzie wyświetlany tylko w pierwszej warstwie,
- <3-6> - element będzie wyświetlany od 3 do 6 warstwy,
- <3-5,8> - element będzie wyświetlany od 3 do 5 warstwy i dodatkowo w 8,
- <-3> - element będzie wyświetlany od 1 do 3 warstwy
- <3-> - element będzie wyświetlany od 3 do ostatniej warstwy danego slajdu,
- <+-> - elementy te, gdy mamy do czynienia np z listą, pojawiają się w naturalnym porządku,
- \only<3-5>{tekst} - tekst będzie wyświetlony od 3 do 5 warstwy,
- \uncover<3,5>{tekst} - tekst będzie wyświetlany w 3 i 5 warstwie, ale będzie dla niego rezerwowane miejsce na slajdzie,
- \alert<3,5>{tekst} - podświetla tekst w wybranych warstwach,
- \invisible<3,5>{tekst} - tekst będzie niewidoczny w warstwie 3 i 5,
- \item<3>{tekst} - tekst będzie widoczny w warstwie 3 (w środowisku itemize)
\begin{block}{Środowisko \textit{itemize}}
\begin{itemize}
\item<1->\alt<1>{\color{blue}W pierwszej warstwie
jestem niebieski}{\color{green} od 2 warstwy
do końca będę zielony},
\item<3> Jestem trzeci,
\item<2> Jestem drugi i będę tylko w drugiej warstwie,
\end{itemize}
\end{block}
No dobra. Teraz coś dla miłośników Power Pointowych (czyt. kiczowatych) animacji. W Beamerze też można zrobić takie "upiększenia". Za pomocą poniższych poleceń można uzyskać "przylatujący" tekst lub całe slajdy:)
- \transblindshorizontal - "żaluzja pozioma",
- \transblindsvertical - "żaluzja pionowa",
- \transboxin - "czworokąt do środka",
- \transboxout- "czworokąt od środka",
- \transdissolve - "rozpuszczanie",
- \transglitter - "lśnienie",
- \transsplitverticalin - "zwijanie poziome",
- \transsplithorizontalout - "rozwijanie poziome",
- \transwipe - "zetrzyj"
I znowu tylko jedno polecenie:) Zmieniamy pierwszą linijkę dokumentu:
\documentclass[hyperref={pdfpagemode=FullScreen}]{beamer}
Źródła:
Przykładowe prezentacje