Wydział Elektrotechniki, Informatyki i Telekomunikacji. Instytut Informatyki i Elektroniki. Instrukcja do zajęć laboratoryjnych



Podobne dokumenty
Wyszukiwanie dokumentów WWW bazujące na słowach kluczowych

Eksploracja tekstu. Wprowadzenie Wyszukiwanie dokumentów Reprezentacje tekstu. Eksploracja danych. Eksploracja tekstu wykład 1

Wstęp do przetwarzania języka naturalnego

Wyszukiwanie dokumentów/informacji

Wyszukiwanie tekstów

Wyszukiwanie informacji w internecie. Nguyen Hung Son

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY.

Zad. 3: Układ równań liniowych

Matematyczne Podstawy Informatyki

PRZEWODNIK PO PRZEDMIOCIE

Technologie informacyjne Information technologies

Wprowadzenie do metod numerycznych Wykład 3 Metody algebry liniowej I Wektory i macierze

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 6 AUTOMATYKA

Pobieranie i przetwarzanie treści stron WWW

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 6. Transformata cosinusowa. Krótkookresowa transformata Fouriera.

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

E-1EZ s1. Technologie informacyjne. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Wykład 14. Elementy algebry macierzy

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

5. Rozwiązywanie układów równań liniowych

Zad. 5: Układ równań liniowych liczb zespolonych

Ćwiczenie 1. Wprowadzenie do programu Octave

Macierze. Rozdział Działania na macierzach

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Zaglądamy pod maskę: podstawy działania silnika wyszukiwawczego na przykładzie Lucene

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Systemy uczące się wykład 1

Bazy dokumentów tekstowych

Procesy i systemy dynamiczne Nazwa przedmiotu SYLABUS A. Informacje ogólne

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Semantyczne podobieństwo stron internetowych

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Text mining w programie RapidMiner Michał Bereta

Co wylicza Jasnopis? Bartosz Broda

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Systemy Wspomagania Decyzji

Zadanie 2: Arytmetyka symboli

PRZEWODNIK PO PRZEDMIOCIE

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

KARTA PRZEDMIOTU. Hurtownie i eksploracja danych D1_5

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Wykład 4. Informatyka Stosowana. Magdalena Alama-Bućko. 25 marca Magdalena Alama-Bućko Wykład 4 25 marca / 25

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Specjalnościowy Obowiązkowy Polski Semestr VI

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Metody systemowe i decyzyjne w informatyce

Rok akademicki: 2013/2014 Kod: STC s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Treści programowe. Matematyka. Efekty kształcenia. Literatura. Terminy wykładów i ćwiczeń. Warunki zaliczenia. tnij.org/ktrabka

Metodyki i techniki programowania

Interaktywne wyszukiwanie informacji w repozytoriach danych tekstowych

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Podstawy MATLABA, cd.

Działania na przekształceniach liniowych i macierzach

Baza danych. Modele danych

Rok akademicki: 2014/2015 Kod: CCB s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

W poszukiwaniu sensu w świecie widzialnym

Wykład Ćwiczenia Laboratorium Projekt Seminarium Liczba godzin zajęć zorganizowanych w Uczelni ,5 1

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Bieżący sylabus w semestrze zimowym roku 2016/17

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Egzamin / zaliczenie na ocenę* 0,5 0,5

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Ćwiczenie 1. Wprowadzenie do programu Octave

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

1 Macierze i wyznaczniki

Metody numeryczne Wykład 4

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

INSTRUKCJA DO ĆWICZENIA NR 1

Sztuczna inteligencja : Zbiory rozmyte cz. 2

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

Algebra WYKŁAD 3 ALGEBRA 1

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

Z-EKO-085 Algebra liniowa Linear Algebra. Ekonomia I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Algorytmy sztucznej inteligencji

Sztuczna inteligencja: zbiory rozmyte

PRZEWODNIK PO PRZEDMIOCIE

ANALIZA HIERARCHICZNA PROBLEMU W SZACOWANIU RYZYKA PROJEKTU INFORMATYCZNEGO METODĄ PUNKTOWĄ. Joanna Bryndza

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Wykład z Technologii Informacyjnych. Piotr Mika

Optymalizacja systemów

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Metody drążenia danych D1.3

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

14. Przedmiot: N/PM2012/11/14/I1 INFORMATYKA moduł 1 Semestr. Liczba tygodni Liczba godzin w tygodniu Liczba godzin w semestrze ECTS

3. Macierze i Układy Równań Liniowych

TEORETYCZNE PODSTAWY INFORMATYKI

Wielowymiarowy model danych

Techniki uczenia maszynowego nazwa przedmiotu SYLABUS

Transkrypt:

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych wersja: 1.0 Nr ćwiczenia: 12, 13 Temat: Cel ćwiczenia: Wymagane przygotowanie teoretyczne: Implementacja demonstracyjnego systemu do wyszukiwania informacji tekstowych w oparciu o tzw. reprezentację wektorową dokumentów (ang. Term-by-Document Matrix) Celem ćwiczenia jest napisanie programu, który implementuje jedną z podstawowych metod tzw. eksploracja tekstu (ang. Test Mining). Samodzielne zapoznanie się z problematyką pewnego wybranego fragmentu bardzo obszernej dziedziny nauki o nazwie eksploracja danych (ang. data exploration, data mining). Należy korzystać z podanego spisu literatury oraz źródeł internetowych. Sposób zaliczenia: Sprawozdanie w formie pisemnej. Pozytywna ocena ćwiczenia przez prowadzącego pod koniec zajęć. [X] [] 1. Uwagi wstępne Zamieszczony w kolejnym punkcie opis zadania jest podany bardzo ogólnie i bez szczegółowego rozwinięcia. Student powinien samodzielnie zapoznać się z opisywanym zagadnieniem korzystając z podanego na końcu instrukcji spisu literatury oraz zasięgając informacji u prowadzącego. 2. Skrótowy opis problemu Celem ćwiczenia jest implementacja jednego z typowych algorytmów stosowanych w eksploracji danych tekstowych. W programie należy zaimplementować tzw. reprezentację macierzową dokumentów (ang. Term-by-Document Matrix; TDM) oraz zapewnić możliwość odpytywania utworzonej (w postaci tejże macierzy) bazy danych. Chodzi tutaj o możliwość wyszukiwania dokumentów (tekstowych) w oparciu o podane przez użytkownika zapytanie (na tej zasadzie działają praktycznie wszystkie wyszukiwarki internetowe). Użytkownik konstruuje zapytanie składające się z pewnej liczby słów kluczowych a wyszukiwarka zwraca dokumenty, które najbardziej pasują do tego zapytania. Obliczany jest również pewien liczbowy wskaźnik podobieństwa, który umożliwia ustawienie (wyświetlenie) dokumentów od tych najbardziej podobnych do najmniej podobnych czyli wg. tzw. rankingu. Wskaźnik ten to tzw. miara kosinusowa, która odzwierciedla podobieństwo pomiędzy dokumentami a zapytaniem opracowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 1

wprowadzonym przez użytkownika. Reprezentuje ona kąt pomiędzy dwoma wektorami reprezentującymi dokumenty. Dla przypadku 2-wymiarowego pokazano to na poniższym rysunku (uogólnienie na przypadek wielowymiarowy jest prawie natychmiastowe). Zachodzi oczywiście znana zależność: A B= A B cos θ. (1) Dwa wektory są tym bardziej podobne do siebie, im bardziej kosinus kąta pomiędzy nimi zbliża się do 1. Analogicznie wektory stają się do siebie coraz bardziej niepodobne, gdy kosinus kąta zbliża się do 0. Program powinien umożliwiać tworzenie macierzy TDM 1 na trzy sposoby: reprezentacja boolowska (wagi słów w wektorze dokumentu powinny przyjmować tylko dwie wartości: 0 lub 1), reprezentacja ilościowa (ang. Term Frequency TF; wagi słów w wektorze dokumentu powinny być równe liczbie wystąpień słowa i w dokumencie j), reprezentacja ilościowa wg. schematu TFIDF 2 (ang. Term Frequency Inverse Document Frequency). Człon TF oznacza częstość słowa i w dokumencie j, człon IDF oznacza tzw. odwrotna częstość słów i jest wyliczany jako log 2 (N/n i ), gdzie N łączna liczba dokumentów, n i liczba dokumentów zawierających słowo i. Waga słowa i w dokumencie jest wówczas wyliczana jako iloczyn czynnika TF oraz IDF. Macierz TDM może zostać dodatkowo znormalizowana tak, aby wszystkie wektory (kolumny w macierzy) miały długość jednostkową. Normalizacja upraszcza wyznaczanie miary kosinusowej, gdyż nie trzeba wówczas obliczać długości (normy) wektorów (patrz wzór 1). Każdą element w macierzy TDM należy pomnożyć przez czynnik ( ) 1/ 2 2 l ij (2) i który skaluje poszczególne wektory. l ij oznacza element w i-tym wierszu i j-tej kolumnie. 1 Macierz ma rozmiar i x j, gdzie i oznacza całkowitą ilość słów a j całkowitą ilość dokumentów. 2 Schemat TFIDF (zamiast TF) stosujemy w celu zmniejszenia efektu przeszacowywania wag słów, które znajdują się w dużych dokumentach. Po prostu w dużych dokumentach istnieje większe prawdopodobieństwo wystąpienia danego słowa. I wówczas dokumenty te stają się bardziej podobne do wydanego zapytania, niżby to wynikało z ich rzeczywistego podobieństwa opracowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 2

Uwaga: macierz TDM jest zwykle macierzą rzadką (zdecydowana większość elementów będzie miała wartości zerowe). Dlatego też używanie macierzy TDM w czystej postaci nie jest w praktyce stosowane, ze względu na jej wielkość i małą w związku z tym efektywność komputerowego przetwarzania. Niemniej jednak do celów demonstracyjnych można ją z powodzeniem wykorzystać. 3. Przykład 3 Załóżmy, że mamy 4 dokumenty tekstowe, każdy z następującą zawartością: Dokument 1 Dokument 2 Dokument 3 Dokument 4 bazy relacyjne, bazy tekstowe, bazy inne bazy danych: przykłady, zastosowania bazy danych - zalety; bazy danych wady składowanie danych Macierz TDM z reprezentacją boolowską będzie wyglądała następująco (w nawiasach podano wartości znormalizowane): bazy 1 (0.5000) 1 (0.5000) 1 (0.5000) 0 danych 0 1 (0.5000) 1 (0.5000) 1 (0.7071) inne 1 (0.5000) 0 0 0 przykłady 0 1 (0.5000) 0 0 relacyjne 1 (0.5000) 0 0 0 składowanie 0 0 0 1 (0.7071) tekstowe 1 (0.5000) 0 0 0 wady 0 0 1 (0.5000) 0 zalety 0 0 1 (0.5000) 0 zastosowania 0 1 (0.5000) 0 0 Zwróćmy uwagę, że wszystkie znaki interpunkcyjne zostały pominięte jako nie wnoszące żadnej informacji merytorycznej. Pewne słowa, np. inne, również takiej informacji nie wnoszą 4. Powinny one zostać jakoś usunięte z finalnej macierzy TDM (w przykładzie nie zostały one usunięte). Ponadto, aby system miał bardziej praktyczne zastosowanie powinien w macierzy TDM umieszczać słowa w ich podstawowej formie, czyli np. zamiast słowa składowanie powinno być składować, zamiast bazy powinno być baza itd. Automatyczne zamiana form odmienionych na ich formy podstawowe jest jednak dość trudnym zadaniem nawet dla języka angielskiego, a tym bardziej dla języka polskiego. Ta sama macierz z reprezentacją TF będzie miała postać (w nawiasach podano wartości znormalizowane): bazy 3 (0.8660) 1 (0.5000) 2 (0.6325) 0 danych 0 1 (0.5000) 2 (0.6325) 1 (0.7071) inne 1 (0.2887) 0 0 0 przykłady 0 1 (0.5000) 0 0 relacyjne 1 (0.2887) 0 0 0 składowanie 0 0 0 1 (0.7071) 3 Na stronie http://scgroup.hpclab.ceid.upatras.gr/scgroup/projects/tmg/ można znaleźć program dla środowiska MATLAB (tzw. toolbox), w którym można sprawdzić/przetestować wykonany program. Umożliwia on m.in. tworzenie macierzy TDM w trzech wymienionych w instrukcji wariantach (oraz jeszcze dodatkowo w kilkunastu innych), jak również kierowanie zapytań do TDM z wykorzystaniem miary kosinusowej. 4 Są to tzw. słowa wyłączone (ang. stop words). opracowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 3

tekstowe 1 (0.2887) 0 0 0 wady 0 0 1 (0.3162) 0 zalety 0 0 1 (0.3162) 0 zastosowania 0 1 (0.5000) 0 0 I wreszcie ta sama macierz z reprezentacją TFIDF będzie miała postać (w nawiasach podano wartości znormalizowane): bazy 1.2451 (0.3382) 0.4150 (0.1437) 0.8301 (0.2711) 0 danych 0 0.4150 (0.1437) 0.8301 (0.2711) 0.4150 (0.2032) inne 2.0000 (0.5433) 0 0 0 przykłady 0 2.0000 (0.6924) 0 0 relacyjne 2.0000 (0.5433) 0 0 0 składowanie 0 0 0 2.0000 (0.2032) tekstowe 2.0000 (0.5433) 0 0 0 wady 0 0 2.0000 (0.6531) 0 zalety 0 0 2.0000 (0.6531) 0 zastosowania 0 2.0000 (0.6924) 0 0 Wydając zapytanie do naszej macierzy TDM np. podając frazę: bazy danych otrzymujemy odpowiednio dla reprezentacji boolowskiej, TF oraz TFTDF następujące wyniki (miary kosinusowe): reprezentacja boolowska Dokument 3 wsp. podobieństwa: 0.70711 Dokument 2 - wsp. podobieństwa: 0.70711 Dokument 4 - wsp. podobieństwa: 0.5 Dokument 1 - wsp. podobieństwa: 0.35355 reprezentacja TF Dokument 3 - wsp. podobieństwa: 0.89443 Dokument 2 - wsp. podobieństwa: 0.70711 Dokument 1 - wsp. podobieństwa: 0.61237 Dokument 4 - wsp. podobieństwa: 0.5 reprezentacja TFIDF Dokument 3 - wsp. podobieństwa: 0.38333 Dokument 1 - wsp. podobieństwa: 0.23918 Dokument 2 - wsp. podobieństwa: 0.20319 Dokument 4 - wsp. podobieństwa: 0.14368 4. Opis zadania do wykonania W ramach ćwiczenia należy napisać program, który będzie umożliwiał: A. Tworzenie macierzy TDM na podstawie wskazanych plików tekstowych. Z pliku powinny zostać usunięte wszystkie znaki przystankowe. W wersji uproszczonej znaki przystankowe mogą zostać ręcznie usunięte przez użytkownika, jeszcze zanim pliki zostaną wprowadzone do programu. Aby zbytnio nie komplikować obróbki plików wejściowych, pomijamy problem usuwania słów wyłączonych oraz problem odmiany słów. Gdy więc przykładowo w pliku będą słowa komputer, komputerami oraz komputery, to zostaną one potraktowane jako 3 całkowicie różne słowa. Podobnie, gdy będą słowa ale, lub oraz który, to mimo że nie niosą one żadnej treści merytorycznej, zostaną potraktowane przez system jako pełnoprawne słowa. opracowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 4

B. Powinna istnieć możliwość tworzenia macierzy TDM w trzech wersjach: boolowska, TF oraz TFIDF. Każda z nich powinna mieć 2 warianty: z normalizacją wartości oraz bez normalizacji. C. Po utworzeniu macierzy TDM musi istnieć możliwość zadawania zapytań. System powinien wyświetlać wyniki (ranking dokumentów pod względem zgodności z podanym zapytaniem) w postaci podobnej do tej pokazanej w punkcie 3. Zwróć uwagę na to, że wektor zapytania musi uwzględniać to, czy macierz TDM jest znormalizowana, czy też nie. 5. Sprawozdanie Sprawozdanie powinno zawierać następujące elementy: szczegółowy opis budowy macierzy TDM (dla reprezentacji boolowskiej, TF oraz TFIDF), ręczne obliczenia przygotowane dla prostych przykładowych dokumentów, 2-3 przykłady demonstrujące różnice pomiędzy różnymi wersjami macierz TDM (boolowska, TF oraz TFIDF). Chodzi tutaj o konstruktywne wychwycenie pewnych wad/zalet wszystkich wersji macierzy TDM. ew. inne uwagi i spostrzeżenia. 6. Literatura 1. Michale W. Berty, Murray Browne, Understanding Search Engines. Mathematical Modeling and Text Retrieval, SIAM, 1999 (książka w Polsce dość trudno dostępna. Można zamówić np. w księgarni internetowej amazon.com koszt około 30-35 $. Można też pożyczyć ją od prowadzących). 2. Daniel T. Larose, Odkrywanie wiedzy z danych, Wydawnictwo Naukowe PWN, 2006. 3. http://wazniak.mimuw.edu.pl/index.php (wykład Eksploracja danych, rozdziały Eksploracja tekstu I oraz Eksploracja tekstu II ). 4. http://scgroup.hpclab.ceid.upatras.gr/scgroup/projects/tmg/ - tzw. toolbox dla środowiska MATLAB implementujący tworzenie TDM. opracowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki 5