EKSPLORACJA ZASOBÓW INTERNETU LAB 1 - MIŁOSZ KADZIŃSKI LABORATORIUM WSTĘPNE WYSZUKIWANIE INFORMACJI TEKSTOWYCH WEDŁUG PODOBIEŃSTWA

Podobne dokumenty
EKSPLORACJA ZASOBÓW INTERNETU LAB 1 - MIŁOSZ KADZIŃSKI LABORATORIUM WSTĘPNE WYSZUKIWANIE INFORMACJI TEKSTOWYCH WEDŁUG PODOBIEŃSTWA

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

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

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

Wyszukiwanie dokumentów/informacji

Wyszukiwanie tekstów

Text mining w programie RapidMiner Michał Bereta

Wstęp do przetwarzania języka naturalnego

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

Wyszukiwanie i Przetwarzanie Informacji Information Retrieval & Search

Bazy dokumentów tekstowych

Semantyczne podobieństwo stron internetowych

AUTOMATYKA INFORMATYKA

Języki formalne i automaty Ćwiczenia 6

Wyszukiwanie informacji w internecie. Nguyen Hung Son

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

(Dantzig G. B. (1963))

Zadania. Przygotowanie zbiorów danych. 1. Sposób 1: 2. Sposób 2:

Analiza danych tekstowych i języka naturalnego

Wyszukiwanie i Przetwarzanie Informacji Information Retrieval & Search

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

SZTUCZNA INTELIGENCJA

MATEMATYKA WYKAZ UMIEJĘTNOŚCI WYMAGANYCH NA POSZCZEGÓLNE OCENY DLA KLASY DRUGIEJ

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski

ROZKŁAD MATERIAŁU NAUCZANIA KLASA 2, ZAKRES PODSTAWOWY

Rozkład materiału nauczania z przedmiotu INFORMATYKA. dla gimnazjum

ZESPÓŁ SZKÓŁ W OBRZYCKU

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

Przedmiotowe zasady oceniania i wymagania edukacyjne z matematyki dla klasy drugiej gimnazjum

1 Powtórzenie wiadomości

OPTYMALIZACJA SERWISÓW INTERNETOWYCH >>>WIĘCEJ<<<

Wymagania na poszczególne oceny w klasie II gimnazjum do programu nauczania MATEMATYKA NA CZASIE

Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ

Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony

Temat 1. Więcej o opracowywaniu tekstu

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

Przetwarzanie Języka Naturalnego dr inż. Krzysztof Rzecki. Przetwarzanie Języka Naturalnego konspekt (30 godzin) Dr inż.

PRZEWODNIK PO PRZEDMIOCIE

REPREZENTACJA I WYSZUKIWANIE DOKUMENTÓW TEKSTOWYCH W BAZACH DANYCH

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

Zaawansowane algorytmy i struktury danych

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

Agnieszka Nowak Brzezińska

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

Pobieranie i przetwarzanie treści stron WWW

Grupowanie danych. Wprowadzenie. Przykłady

PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY. I. Proste na płaszczyźnie (15 godz.)

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE DRUGIEJ LICEUM

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA III ZAKRES ROZSZERZONY (90 godz.) , x

1 Zacznijmy od początku... 2 Tryb tekstowy. 2.1 Wyliczenia

Informatyka wspomaga przedmioty ścisłe w szkole

WYRAŻENIA ALGEBRAICZNE

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

Odniesienie do kierunkowych efektów kształcenia Zna podstawowe możliwości pakietu Matlab

GRAFIKA KOMPUTEROWA podstawy matematyczne. dr inż. Hojny Marcin pokój 406, pawilon B5 Tel.

Techniki uczenia maszynowego nazwa przedmiotu SYLABUS

KARTA PRZEDMIOTU 1,5 1,5

Tajemnice skutecznego wyszukiwania na przykładzie

PLAN WYNIKOWY Z MATEMATYKI DLA KLASY II TECHNIKUM 5 - LETNIEGO

dodatkowe operacje dla kopca binarnego: typu min oraz typu max:

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

Oprogramowanie typu CAT

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

PRZEWODNIK PO PRZEDMIOCIE

Opis modułu kształcenia Alternatywne systemy operacyjne

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

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Organizacja zajęć. Wprowadzenie do programu AutoCAD

Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I

Co wylicza Jasnopis? Bartosz Broda

Wykład 10 Skalowanie wielowymiarowe

ROK SZKOLNY 2017/2018 WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY:

ROZKŁAD MATERIAŁU NAUCZANIA MATEMATYKI DLA KLASY II A WYMAGANIA PODSTAWY PROGRAMOWEJ w Publicznym Gimnazjum Integracyjnym nr 47 w Łodzi

WK, FN-1, semestr letni 2010 Tworzenie list frekwencyjnych za pomocą korpusów i programu Poliqarp

Agnieszka Nowak Brzezińska Wykład III

Podstawy Programowania

Wymagania edukacyjne z matematyki dla kl. 2 Gimnazjum Publicznego im. Jana Pawła II w Żarnowcu w roku szkolnym 2016/2017

MATLAB - laboratorium nr 1 wektory i macierze

Zakleszczenie. Problem i przeciwdziałanie. Systemy operacyjne Wykład 8 1

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

1. LICZBY DZIAŁ Z PODRĘCZNIKA L.P. NaCoBeZu kryteria sukcesu w języku ucznia

Scenariusz lekcji matematyki w klasie trzeciej technikum po zasadniczej szkole zawodowej

Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

1.1. Rachunek zdań: alternatywa, koniunkcja, implikacja i równoważność zdań oraz ich zaprzeczenia.

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Analiza składowych głównych. Wprowadzenie

PRZEWODNIK PO PRZEDMIOCIE

Instalacja Pakietu R

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Inteligentne wydobywanie informacji z internetowych serwisów społecznościowych

Agnieszka Nowak Brzezińska Wykład III

Wymagania edukacyjne z matematyki dla klasy I gimnazjum wg programu Matematyka z plusem

KRYTERIA OCENIANIA Z MATEMATYKI W OPARCIU O PODSTAWĘ PROGRAMOWĄ I PROGRAM NAUCZANIA MATEMATYKA 2001 DLA KLASY DRUGIEJ

Technologie informacyjne SYLABUS A. Informacje ogólne

Kierunek i poziom studiów: Chemia, pierwszy. Sylabus modułu: Technologia informacyjna (0310-CH-S1-003) 1. Informacje ogólne

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

EKSPLORACJA ZASOBÓW INTERNETU LAB 1 - MIŁOSZ KADZIŃSKI LABORATORIUM WSTĘPNE WYSZUKIWANIE INFORMACJI TEKSTOWYCH WEDŁUG PODOBIEŃSTWA 1. Dane kontaktowe Miłosz Kadziński (milosz.kadzinski@cs.put.poznan.pl, pokó 1.6.6 w CWiBT, tel. 6653022; maile z tytułem zaczynaącym się od [EZI]) Terminy zaęć: 22 października (3xlab tematyczne), 6/20 listopada (3xlab tematyczne); 18 grudnia (kolokwium + oddawanie programow, 14 stycznia oddawanie programów + ew. poprawka (kto zda kolokwium i odda programy w grudniu, nie musi się poawiać) Forma zaęć: przedstawienie poęcia lub algorytmu, wspólne rozwiązywanie zadań, samodzielne rozwiązywanie zadań, przesłanie rozwiązań do podanego terminu lub przedstawienie oprogramowania na określonych zaęciach Adres przedmiotu: http://www.cs.put.poznan.pl/mkadzinski/ezi/ Zaliczenie: kolokwium zaliczeniowe + zadania programistyczne (obowiązkowe + ew. bonus); kolokwium na 24 pkt.; programy na 16pkt; razem = 40pkt, standardowa skala ocen, ale trzeba zaliczyć kolokwium i cz. programistyczną (czyli >= 12 i >= 8) 2. Zakres materiału Część I: Analiza struktury sieci WWW: idee i techniki wydobywania informaci tekstowe z sieci wyszukiwanie i tworzenie rankingów stron internetowych według ich tekstowe zawartości i struktury hiperpołączeń. Część II: Analiza zawartości sieci WWW: metody uczenia maszynowego i eksploraci danych porządkuące sieć względem zawartości grupowanie i klasyfikaca; zamiana danych znaduących się w sieci na wiedzę. Część III: Analiza użytkowania sieci WWW: użycie metod eksploraci danych do odkrycia wzorców korzystania z zasobów sieciowych; pokazanie zachowań użytkowników. 3. Plan laboratorium I 3.1. Wyszukiwanie informaci tekstowych według podobieństwa Strony internetowe przypominaą zbiory dokumentów Metody wyszukiwania informaci tekstowych (information retrieval) można wykorzystać w wyszukiwarkach internetowych (bez wzięcia pod uwagę struktury znaczników HTML i zewnętrzne struktury połączeń) Przygotowanie dokumentów (tokenizaca, stop words, normalizaca, stemming i lematyzaca) Model przestrzeni wektorowe: miara TF-IDF oraz odległość cosinusowa Współczynnik Jaccarda 3.2. Zadania programistyczne wykonywane w parach (z wyątkiem bonusów) Termin prezentaci pierwsze części - 18 grudnia (8 pkt) Termin prezentaci drugie i trzecie części - 14 stycznia (4+4 = 8pkt) Zadania bonusowe wykonywane indywidualnie (termin przesłania do 18 grudnia - 4+4 = 8pkt). - 1 -

4. Przygotowanie dokumentów 4.1. Tokenizaca Monolityczny tekst zostae podzielony na ciąg poedynczych tokenów. Tokeny to ciągi znaków ograniczone ustalonymi separatorami takimi ak space lub znaki przestankowe (choć w ogólności separatorem może być dowolny ciąg, który da się opisać w postaci wyrażenia regularnego). Wybrane problemy: Wykorzystanie apostrofów: Wykorzystanie myślników: co-education, Hewlett-Packard, the hold-him-back-and-drag-him-away maneuver Wykorzystanie spaci: Los Angeles, white space vs. whitespace, Mar 11, 2010, York University vs. New York University, Nowy Targ-Stary Sącz Tokeny specyficzne dla danego ęzyka: C++, C#, M*A*S*H, black@mail.yahoo.com, http://stuff.big.com/new/specials.html, 142.32.48.231, 1Z9999W99845399981, Specyfika ęzyka: francuski (np. l ensemble), niemiecki (np. Lebensversicherungsgesellschaftsangestellte), chiński: Wykorzystanie k-gramów zamiast słów (ciąg kolenych znaków bez wzięcia pod uwagę, czy dane słowo się kończy czy też nie) 4.2. Lista stop words Wyrazy, które nie niosą żadnych istotnych treści, poawiaą się niemal we wszystkich dokumentach (np. rodzaniki, przyimki, itd. a, on, the, at, in ). Zobacz: http://en.wikipedia.org/wiki/stop_words W praktyce w systemach pozyskiwania informaci można spotkać trzy podeścia: bardzo długie listy (200-300 termów), krótkie listy (7-12 termów) i brak listy. W kolekci dokumentów można posortować termy wg. liczby wystąpień i wyeliminować te naczęstsze. Problemy: President of the United States vs. President AND United States ; To be or not to be, Let it be W praktyce wyszukiwarki nie wykorzystuą listy stopwords (rozmiar indeksu, czas). - 2 -

4.3. Normalizaca Wyszukiwanie powinno odwoływać się do tokenów oznaczaących to samo, pomimo że ich zapis różni się: U.S.A vs. USA, anti-discriminatory vs. anitdiscriminatory, windows vs. window vs. Windows, C.A.T vs. cat Dwa podstawowe podeścia: klasy równoważności termów oraz relace (car automobile). Problemy: Akcenty i znaki diakrytyczne: naïve vs. naive, Łódź vs. Lodz, peña vs. pena. Standardowe podeście: wyrównanie tokenów do formy bez znaków diakrytycznych (szybkość, lenistwo, ograniczenia sprzętu lub oprogramowania) Wielkość znaków: popularne - zmiana na małe litery (problemy: General Motors, Bush) Alternatywne rozwiązanie zmiana na małe litery tylko dla niektórych tokenów (początek zdania lub tytuły) Specyfika ęzyka: angielski: colour vs. color, 3/12/91 vs. Mar. 12, 1991, Chebyshev vs. Tchebycheff, Beiing vs. Pekin; hiszpański: el, la, los, las; niemiecki: Schütze vs. Schuetze Uwaga: angielski to 60% sieci i tylko 1/3 blogów 4.4. Stemming i lematyzaca W dokumentach można znaleźć różne formy tych samych słów, np.: organize, organizes, organizing. Istnieą też rodziny słów o podobnym znaczeniu: democracy, democratic, democratization. Cel stemmingu i lematyzaci to redukca słowa do formy podstawowe: Różnica: Stemming prosta heurystyka, polega na odcięciu końca słowa w nadziei, że się uda ; Lematyzaca dokładny algorytm, wykorzystuący słownik i analizę morfologiczną; ma na celu znalezienie lematu (formy słownikowe). Nabardzie znany stemmer został opracowany przez Portera (Porter Stemmer): http://www.tartarus.org/ martin/porterstemmer/ Reguły dla różnych grup słów: Często uwzględniaą liczbę sylab (np. replacement to replac, ale cement, to nie c): Inne stemmery: Lovins stemmer - http://www.cs.waikato.ac.nz/ eibe/stemmers/ Paice stemmer - http://www.comp.lancs.ac.uk/computing/research/stemming/ - 3 -

Przykład działania różnych stemmerów: Formalna reprezentaca różni się od oryginalnego dokumentu. Słowa z tego zbioru to termy (terms). Zbiór termów ze wszystkich dokumentów to słownik (text corpus). - 4 -

5. Podstawowe rodzae reprezentaci tekstów: Reprezentaca binarna (Boolean representation): dokument d est reprezentowany przez wektory o długości m, gdzie m est liczba termów: ( d 1, d 2,..., d gdzie d i = 0 dla n i = 0 (liczba wystąpień termu i-tego w dokumencie -tym) oraz d i = 1 dla n i > 0, m ) np.: d = Time flies like an arrow but fruit flies like a banana oraz T = {bee, wasp, fly, fruit, like} reprezentaca binarna po wykonaniu stemmingu: (0, 0, 1, 1, 1) Reprezentaca bag-of-words uwzględnia liczbę wystąpień termu, np.: reprezentaca bag-of-words: (0, 0, 2, 1, 2) Mary is quicker than John vs. John is quicker than Mary Reprezentaca pełna miesca wystąpienia termu razem z ich liczbą. 6.1. Model przestrzeni wektorowe Model przestrzeni wektorowe (vector space model) reprezentue dokumenty ako wektory w wielowymiarowe przestrzeni euklidesowe, gdzie osie reprezentuą termy. Załóżmy, że w kolekci est: n dokumentów d 1, d 2,, d n, m termów t 1, t 2,, t m, n i to liczba wystąpień termu t i w dokumencie d. W reprezentaci TF (term frequency) oparte na częstości termów współrzędne wektora d są reprezentowane przez funkce liczby termów, zwykle normalizowane przez długość dokumentu. Można to zrobić na różne sposoby, ale my będziemy przeważnie wykorzystywać: 0 dla ni = 0 TF( ti, d ) = TFi = ni. dla ni > 0 max k nk (mianownik sprawdzamy liczbę wystąpień wszystkich termów w danym dokumencie i wyznaczamy tę maksymalną). Reprezentaca TF est obliczana lokalnie (wszystkie osie są uważane za ednakowe). Termy, które często występuą w dokumentach nie muszą być związane z kontekstem dokumentu (np. auto industry). Podstawowym celem miary IDF (inverse document frequency), odwrotne częstości dokumentów, est zmnieszenie współrzędnych pewnych osi, reprezentuących termy, które poawiaą się w wielu dokumentach (odzwierciedla specyficzność termu odnośnie zbioru dokumentów). Miara IDF obliczana est ako logarytm ze stosunku liczby wszystkich dokumentów kolekci ( D = n) do liczby dokumentów zawieraących słowo t i D i : D N IDF ( ti ) = log = log. Di D (miara idf est wysoka dla termów, które rzadko występuą w dokumentach i niska dla termów, które często występuą w dokumentach) i - 5 -

W reprezentaci TFIDF każda współrzędna wektora dokumentu est obliczana ako iloczyn czynników TF i IDF: d i = TF t, d ) IDF ( t ). ( i i Zapytanie q można przedstawić w notaci TF-IDF (wektor TF skalowany est przez wektor IDF wynikaący z analizy kolekci dokumentów) Ranking dokumentów pod względem adekwatności względem zapytania: miary podobieństwa - cosinus kąta pomiędzy wektorem zapytań i wektorem dokumentu (iloczyn skalarny przez iloczyn wektorowy = suma iloczynów odpowiadaących sobie współrzędnych przez iloczyn długości (długość to pierwiastek z sumy kwadratów)): sim( d, q) = r r d q r r d q Problem wyboru termów do reprezentaci dokumentów: Użycie wszystkich termów ze zbioru; Wybór termów z dużymi wartościami TF (podobieństwo nie wskazue na zawartość dokumentów), Wybór termów z dużymi wartościami IDF (termy bardzie specyficzne, rzadkie wektory dokumentów), Połączenie kryteriów TF i IDF wartość iloczynu TF (dla całego zbioru) i IDF są nawiększe.. 7. Współczynnik Jaccarda Alternatywa dla miary cosinusowe stosowana w kontekście wyszukiwania według podobieństwa. Wykorzystue wszystkie termy, które występuą w dokumentach, ale używa prostsze binarne reprezentaci. Idea polega na rozważeniu tylko niezerwowych współrzędnych binarnych wektorów. Współczynnik Jaccarda zdefiniowany est ako procent niezerowych współrzędnych, różnych dla obu wektorów (iloraz liczby współrzędnych, które są równe 1 w d 1 i w d 2 oraz liczby współrzędnych, które są równe 1 w d 1 lub d 2 ). W kontekście zbioru termów występuących w dokumencie T(d ): sim( d 1, d 2 ) T ( d ) T ( d 1 2 =. T ( d1 ) T ( d 2 ) Obliczenia proste, ale dla dużych kolekci nieefektywne wyszukiwanie według podobieństwa. Dlatego większość obliczeń wykonywana est off-line. Dla każdego dokumentu obliczanych est kilka nabliższych dokumentów. Teoretycznie liczba par n(n-1)/2 dla n dokumentów. W praktyce: Termy, które często występuą w różnych dokumentach są eliminowane, Tylko dokumenty, które maą przynamnie eden wspólny term tworzą parę. ) - 6 -

8. Ćwiczenia 1. W kolekci znaduą się 4 dokumenty oznaczone symbolami D1-D4: D1 = {information retrieval infromation retrieval} D2 = {retrieval retrieval retrieval retrieval} D3 = {agency information retrieval agency} D4 = {retrieval agency retrieval agency} Dla zapytania Q = {information retrieval}, znadź nabardzie adekwatny dokument zgodnie z miarą TF, a następnie TF/IDF (T={information, retrieval, agency}) Reprezentaca bag-of-words: Q = { }, D1 = { }, D2 = { } D3 = { }, D4 = { } Reprezentaca TF: Q = { }, Q = D1 = { }, D1 = sim(q,d1)= D2 = { }, D2 = sim(q,d2)= D3 = { }, D3 = sim(q,d3)= D4 = { }, D4 = sim(q,d4)= TF-IDF idf(information) = idf(retrieval)= idf(agency)= Q = { }, Q = D1 = { }, D1 = sim(q,d1)= D2 = { }, D2 = sim(q,d2)= D3 = { }, D3 = sim(q,d3)= D4 = { }, D4 = sim(q,d4)= 2. Dla kolekci dokumentów z zadania I, wypełni macierz 4x4 współczynnikami Jaccarda, wyrażaącymi podobieństwo między wszystkimi parami dokumentów. D1 D2 D3 D4 D1 D2 D3 D4-7 -

9. Omówienie zadań do samodzielnego wykonania 1. [8] Dany est zbiór dokumentów (plik documents.txt) oraz zbiór słów kluczowych (plik keywords.txt). Zaimplementu prostą wyszukiwarkę dokumentów, która uporządkue e dla podanego zapytania zgodnie z cosinusową miarą podobieństwa. Dokumenty i zapytania powinny być reprezentowane w przestrzeni TF-IDF. Uwagi: Każdy dokument z pliku documents.txt składa się z tytułu (pierwsza linia) oraz treści właściwe; tworząc ego reprezentacę w przestrzeni TF-IDF potraktu tytuł i treść ako "całość"; dokumenty oddzielone są pustą linią; W pliku keywords.txt termy znaduą się w osobnych liniach; Wszystkie termy (z keywords i documents) muszą być poddane działaniu algorytmu stemmingu (skorzysta z gotowe implementaci z http://tartarus.org/~martin/porterstemmer/, o samym algorytmie możesz poczytać w pliku potter-algorithm.txt); nie zapomni o zamianie wszystkich liter na małe i wyeliminowaniu z dokumentów znaków interpunkcynych, itd. Program musi umożliwiać wczytanie pliku z dokumentami i pliku ze zbiorem termów; Program musi umożliwiać zadanie dowolnego zapytania; Wyniki powinny być prezentowane w formie listy uporządkowane zgodnie z maleącą miarą podobieństwa do zapytania; poedyncza pozyca na liście powinna mieć format (tytuł dokumentu; wartość miary podobieństwa); Może działać z kosoli, choć (prosty) interface użytkownika est mile widziany; Weryfikaca poprawności działania odbywa się na podstawie zadania kilku zapytań i sprawdzeniu wynikowego uporządkowania dokumentów; Dowolny ęzyk programowania spośród tych, dla których dostępny est PorterStemmer; Program będzie rozwiany w ramach kolenych zadań i weryfikowany pod kątem plagiatu. Deadline - zaęcia 18 grudnia. Oddanie zadania na zaęciach w styczniu ogranicza liczbę punktów możliwych do zdobycia do 5. - 8 -