Merge branch 'master' of git.wmi.amu.edu.pl:filipg/aitech-eks

This commit is contained in:
Filip Gralinski 2021-04-07 08:43:13 +02:00
commit f9b516bdf4
2 changed files with 90 additions and 1 deletions

View File

@ -665,7 +665,7 @@
"- Na jego podstawie stworzyć wyszukiwarkę bazującą na OKAPI BM25, tzn. system który dla podanej frazy podaje kilka (5-10) posortowanych najbardziej pasujących dokumentów razem ze scorami. Należy wypisywać też ilość zwracanych dokumentów, czyli takich z niezerowym scorem. Można korzystać z gotowych bibliotek do wektoryzacji dokumentów, należy jednak samemu zaimplementować OKAPI BM25. \n",
"- Znaleźć frazę (query), dla której wynik nie jest satysfakcjonujący.\n",
"- Poprawić wyszukiwarkę (np. poprzez zmianę preprocessingu tekstu, wektoryzer, zmianę parametrów algorytmu rankującego lub sam algorytm) tak, żeby zwracała satysfakcjonujące wyniki dla poprzedniej frazy. Należy zrobić inną zmianę niż w tym przykładzie, tylko wymyślić coś własnego.\n",
"- prezentować pracę na następnych zajęciach (07.04) odpowiadając na pytania:\n",
"- prezentować pracę na następnych zajęciach (14.04) odpowiadając na pytania:\n",
" - jak wygląda zbiór i system wyszukiwania przed zmianami\n",
" - dla jakiej frazy wyniki są niesatysfakcjonujące (pokazać wyniki)\n",
" - jakie zmiany zostały naniesione\n",

89
cw/04_wyszukiwarki.ipynb Normal file
View File

@ -0,0 +1,89 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Silniki wyszukiwarek\n",
"\n",
"Obecnie najbardziej popularne są dwa silniki wyszukiwarek: Solr ( https://solr.apache.org/ ) i Elasticsearch ( https://www.elastic.co/ ). \n",
"\n",
"Na tych ćwiczeniach omówimy silnik Solr.\n",
"\n",
"Jeżeli chcą Państwo wejść w temat wyszukiwarek głębiej niż na zajęciach, polecam dobrą, darmową książkę: https://www.manning.com/books/relevant-search#toc . Opiera się on na Elastisearch, ale nie stanowi to większego problemu."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Zadanie na zajęcia\n",
"\n",
"Na zajęciach proszę zrobić tutorial https://solr.apache.org/guide/8_8/solr-tutorial.html\n",
"\n",
"Proszę szczególnie zwrócić uwagę na schema i na to, w jaki sposób tworzy się nowe pola z istniejących.\n",
"\n",
"\n",
"W razie problemów z limitami ilości otwartych plików na proces:\n",
"\n",
"https://www.akitogo.com/blog/raising-limits-on-ubuntu-1604-and-1804-for-solr-7\n",
"\n",
"\n",
"W razię wątpliwości proszę zadawać pytania na zajęciach."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Zadanie domowe (maksymalnie 160 punktów)\n",
"\n",
"Proszę stworzyć wyszukiwarkę dla wybranej kolekcji dokumentów (innej niż przykładowe w solr).\n",
"\n",
"**Warunki konieczne do zaliczenia zadania**:\n",
" - użycie gotowego silnika wuszukiwarki (np. Solr lub Elastisearch)\n",
" - zaindeksowanie conajmniej 40 tys. dokumentów\n",
" - zaimplementowanie frontendu w postaci aplikacji webowej. Użytkownik nie ma korzystać z panelu admina. Aplikacja webowa może być napisana w dowolnym języku/frameworku.\n",
" - dokumenty powinny stanowić sensowną, rzeczywistą kolekcję. Proszę nie losować dokumentów, powielać, itp.\n",
" \n",
"**Punktacja**:\n",
" - wersja podstawowa: 60 punktów\n",
" - interesujący (np. niedostępny w Googleu) zbiór dokumentów: +20 punktów\n",
" - zaawansowane przetwarzanie językowe tekstu: +20 punktów\n",
" - zaznaczanie słów kluczowych (highlighting): +10 punktów\n",
" - zaawansowane opcje sortowania: +10 punktów\n",
" - zaawansowane opcje filtrowania: +10 punktów\n",
" - zindeksowanie > 0,5 mln dokumentów: +20 punktów, > 5 mln - +40 punktów\n",
" - wizualizacja (wykres, mapa): +20 punktów\n",
" - użycie ciekawej funkcji niewymienionej wyżej: +20 punktów\n",
" - maksimum do zdobycia z tego zadania: 160 punktów\n",
" \n",
"**Zaliczenie**:\n",
" - termin zaliczenia to 20.04 (na zajęciach)\n",
" - proszę zaznaczyć w MS TEAMS, że Państwo zrobili zadanie w assigments\n",
" - zdawanie zadania będzie na zajęciach. Proszę przygotować prezentację do 5 minut"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}