Zadanie 01

Opracować wyspecjalizowanego robota internetowego pobierającego artykuły z danej strony w określnej formie.

Zadanie 02

Opracować prostą (ale skalowalną) wyszukiwarkę.

Prosty (lecz duży) plik tekstowy. Zakładamy, że w każdym wierszu jest osobny dokument.

Wejście

  • wejściowy plik tekstowy powinien zostać zindeksowany.
  • wyszukuje wszystkie dokumenty zawierające słowa z zapytania  (wszystkie słowa — czyli zapytanie interpretujemy jako koniunkcję),
  • wypisuje na standardowym wyjściu wszystkie pasujące dokumenty,
  • wyszukiwanie dla pojedynczego zapytania ma być możliwie szybkie,
  • słownik powinien być trzymany w pamięci, ale indeks odwrócony — na dysku

Oczekiwany efekt

./search.sh retroc/train/train.tsv kot pies
BM25(q,d)=\sum_{t\in \mathbb{q}}^{n} idf_t \cdot \frac{tf_{t,d}}{tf_{t,d}+k_1 \ \cdot \ ((1-b) \ + \ b \ \cdot \frac{|d|}{avgdl})}
BM25(q,d)=tqnidfttft,dtft,d+k1  ((1b) + b davgdl)BM25(q,d)=\sum_{t\in \mathbb{q}}^{n} idf_t \cdot \frac{tf_{t,d}}{tf_{t,d}+k_1 \ \cdot \ ((1-b) \ + \ b \ \cdot \frac{|d|}{avgdl})}
idf_t \ = \ log \frac{N-df_t \ + \ 0.5} {df_t \ + \ 0.5}
idft = logNdft + 0.5dft + 0.5idf_t \ = \ log \frac{N-df_t \ + \ 0.5} {df_t \ + \ 0.5}

Zadanie 03

W oparciu o zadanie 02 zaimplementować miarę relewantności (spośród omawianych na wykładzie).

 

Wykorzystalismy algorytm BM25.

|d| - długość dokumentu d

avgdl - średnia długość dokumentu

k_1, b - parametry(reczne\ dostrajane)
k1,bparametry(reczne dostrajane)k_1, b - parametry(reczne\ dostrajane)
./search.sh retroc/train/train.tsv kot pies

Zadanie 04

Zaimplementować algorytm PageRank.

PageRank: n: 11
Matrix: 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0
0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0
0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0
0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0
0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0
Ranks: [0.0239608, 0.432355, 0.372284, 0.0286842, 0.0587739, 0.0286842, 0.0110514, 0.0110514, 0.0110514, 0.0110514, 0.0110514]
Elements sorted: [1, 2, 4, 3, 5, 0, 6, 7, 8, 9, 10]

Zadanie 05

Zaimplementować program (może być aplikacja webowa), który pozwoli dokonać ewaluacji wyników wyszukiwania.

Zadanie 06

Stworzyć wyszukiwarkę dla wybranej kolekcji dokumentów.

Warunki konieczne:

  • użycie gotowego silnika wyszukiwawczego (np. Solr albo ElasticSearch)
  • zindeksować przynajmniej 40 tys. dokumentów
  • zaimplementować front-end - aplikację webową

Projekt

Kto ma największy PersonRank?

Zastosować algorytm PageRank dla osób opisanych w polskiej Wikipedii: I osoba A odsyła do osoby B, jeśli B pojawia się w biogramie A

Propozycja tematu

Problem:

Znalezienie odpowiedniego funduszu inwestycyjnego

 

Cel pracy:

  • Automatyczne pobranie danych oraz ich kategoryzacja i powiązanie z atrybutami
  • Automatyczne wybór funduszy według zadanych atrybutów

Propozycja tematu

Problem:

Niepewność wiarygodności testów osobowości i cech charakteru

 

Cel pracy:

określenie osobowości i cech charakteru na podstawie analizy grafologicznej własnoręcznie napisanego życiorysu.

Propozycja tematu

Rozwiązywanie Scrabble w zasie rzeczywistym

 

Propozycja tematu

Analiza tekstu w kontekście nacechowania emocjonalnego

Algorytm orzekający czy dany tekst/komentarz został napisany w danym kontekście emocjonalnym(ironia, humor, smutek, żal, gniew, brak)

Cel

deck

By pk42350

deck

  • 184