commit 7b24787bf79d70fca9f1285108a0551d8e4f395e Author: Jakub Pokrywka Date: Tue Mar 8 16:22:05 2022 +0100 1 diff --git a/cw/00_Informacje_na_temat_przedmiotu.ipynb b/cw/00_Informacje_na_temat_przedmiotu.ipynb new file mode 100644 index 0000000..b4d44cb --- /dev/null +++ b/cw/00_Informacje_na_temat_przedmiotu.ipynb @@ -0,0 +1,113 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n", + "
\n", + "

Ekstrakcja informacji

\n", + "

0. Informacje na temat przedmiotu [ćwiczenia]

\n", + "

Jakub Pokrywka (2021)

\n", + "
\n", + "\n", + "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Informacje ogólne" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Kontakt z prowadzącym\n", + "\n", + "prowadzący: mgr inż. Jakub Pokrywka\n", + "\n", + "Najlepiej kontaktować się ze mną przez MS TEAMS na grupie kanału (ogólne sprawy) lub w prywatnych wiadomościach. Odpisuję co 2-3 dni. Można też umówić się w godzinach dyżuru stacjonarniu lub online (wt 12.00-13.00) lub umówić się w innym terminie.\n", + "\n", + "\n", + "**Przy wysyłaniu wiadomości proszę koniecznie o podanie nazwy przedmiotu oraz numeru grupy (11 lub 12)!**\n", + "\n", + "\n", + "## Literatura\n", + "Polecana literatura do przedmiotu:\n", + "\n", + "\n", + "- https://www.manning.com/books/relevant-search#toc (darmowa) Polecam chociaż przejrzeć.\n", + "- Marie-Francine Moens. 2006. Information Extraction: Algorithms and Prospects in a Retrieval Context. Springer. (polecam mniej, jest trochę nieaktualna)\n", + "- Alex Graves. 2012. Supervised sequence labelling. Studies in Computational Intelligence, vol 385. Springer. Berlin, Heidelberg. \n", + "\n", + "- Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova. 2019. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. North American Association for Computational Linguistics (NAACL). \n", + "\n", + "- Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, Peter J. Liu. 2020. Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. Journal of Machine Learning Research vol 21, number 140, pages 1-67. \n", + "\n", + "- Flip Graliński, Tomasz Stanisławek, Anna Wróblewska, Dawid Lipiński, Agnieszka Kaliska, Paulina Rosalska, Bartosz Topolski, Przemysław Biecek. 2020. Kleister: A novel task for information extraction involving long documents with complex layout. URL https://arxiv.org/abs/2003.02356 \n", + "\n", + "- Łukasz Garncarek, Rafał Powalski, Tomasz Stanisławek, Bartosz Topolski, Piotr Halama, Filip Graliński. 2020. LAMBERT: Layout-Aware (Language) Modeling using BERT. URL https://arxiv.org/pdf/2002.08087 \n", + "\n", + "## Zaliczenie\n", + "\n", + "\n", + "\n", + "Do zdobycia będzie conajmniej 600 punktów.\n", + "\n", + "Ocena:\n", + "\n", + "- -299 — 2\n", + "\n", + "- 300-349 — 3\n", + "\n", + "- 350-399 — 3+\n", + "\n", + "- 400-449 — 4\n", + "\n", + "- 450—499 — 4+\n", + "\n", + "- 500- — 5\n", + "\n", + "\n", + "**Żeby zaliczyć przedmiot należy pojawiać się na laboratoriach. Maksymalna liczba nieobecności to 3. Obecność będę sprawdzał na każdych zajęciach. Jeżeli kogoś nie będzie więcej niż 3 razy bez usprawiedliwienia, to nie będzie miał zaliczonego przedmiotu** \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "author": "Jakub Pokrywka", + "email": "kubapok@wmi.amu.edu.pl", + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "lang": "pl", + "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" + }, + "subtitle": "0.Informacje na temat przedmiotu[ćwiczenia]", + "title": "Ekstrakcja informacji", + "year": "2021" + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/cw/01_Wyszukiwarki-wprowadzenie.ipynb b/cw/01_Wyszukiwarki-wprowadzenie.ipynb new file mode 100644 index 0000000..1aa0f56 --- /dev/null +++ b/cw/01_Wyszukiwarki-wprowadzenie.ipynb @@ -0,0 +1,276 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n", + "
\n", + "

Ekstrakcja informacji

\n", + "

1. Wyszukiwarki wprowadzenie [ćwiczenia]

\n", + "

Jakub Pokrywka (2021)

\n", + "
\n", + "\n", + "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Zajecia 1\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Przydatne materiały:\n", + "\n", + "https://www.google.com/advanced_search\n", + "\n", + "https://www.google.pl/advanced_image_search\n", + "\n", + "https://support.google.com/websearch/answer/2466433?hl=en\n", + "\n", + "https://allegro.pl/pomoc/dla-kupujacych/wyszukiwanie-i-obserwowanie/jak-korzystac-z-wyszukiwarki-i-znalezc-przedmiot-mGwAg2jRrU7\n", + "\n", + "https://allegro.pl/dla-sprzedajacych/trafnosc-xGmVjoPwOTo\n", + "\n", + "https://developer.allegro.pl/about/\n", + "\n", + "https://serpapi.com/" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Będziemy omawiać: \n", + "- Wyszukiwarki ogólnego przeznaczenia (google, bing, yandex, yahoo, ...)\n", + "- Wyszukiwarki na konkretną platformę (amazon, allegro, olx, spar, linkedin ...)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Komponenty wyszukiwarki google\n", + "- pole do wpisywania tekstu i search button (wyszukiwanie głosowe, obrazkowe) \n", + "- sugestie do wpisywania\n", + "- ghosting\n", + "- autokorekta, np. pdouszka\n", + "- ilość wyświetleń dla wyniku\n", + "- elementy dodaktowe po wpisaniu frazy (odpowiedzi na pytania ogólne, wyszukiwania powiązane, itp)\n", + "- lista elementów (podzielona na strony)\n", + "- jak działają strony na urządzeniach mobilnych? Z jakich komponentów częściej się korzysta?\n", + "- czy kolejność słów ma znacznie?\n", + "- prezentacja wyników: nazwa strony oraz tam gdzie jest match pogrubienie (czy google ma prawo do umieszczania takich tekstów na swojej stronie)?\n", + "- inne komponenty - np best games for nintendo switch\n", + "- ustawienia- język wyszukiwania\n", + "- reklamy\n", + "- ghosting (np santander.pl)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Wyszukiwanie zaawansowane google\n", + "\n", + "- \"job steve\"\n", + "- poduszka |/OR drzwi \n", + "- poduszka -biała\n", + "- define:pillow\n", + "- cache:wp.pl\n", + "- poduszka filetype:pdf\n", + "- poduszka site:allegro.pl\n", + "- related:allegro.pl\n", + "- intitle:poduszka\n", + "- allintitle:poduszka biała\n", + "- inurl:poduszka\n", + "- allinurl:poduszka biała\n", + "- poduszka AROUND(4) drzwi\n", + "- weather:poznan\n", + "- stocks:gme\n", + "- map:poznań\n", + "- $329 in pln\n", + "- euro 1990..2000\n", + "- 15*30\n", + "- color picker\n", + "- elon musk @twitter\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Komponenty wyszukiwarki specjalistycznej na przykładzie allegro\n", + "\n", + "- wyszukiwarna tekstowa albo nawigowanie bezpośrednio po kategoriach\n", + "- każdy ma własny unikalny sposób wyszukiwania\n", + "- okno wyszukiwania\n", + "- sugestie przy wpisywaniu frazy\n", + "- autokorekta (sugestia oraz przekierowanie)\n", + "- można też wpisać, że szukamy również w opisach, kategoriach itp.\n", + "- obserwuj wyszukiwanie\n", + "- ankiety (zadowolenie z wyszukiwania)\n", + "- mamy zbiór dokumumentów oraz są posortowane w jakiś sposób (ale niekoniecznie tak musi być)\n", + "- jak działa odzyskiwanie dokumentów?\n", + " - stopwordy \n", + " - normalizacja do lowercase\n", + " - lista synonimów, fleksja, odmiana (także ujednoznacznienie do jednej formy → wielka poduszka/ wielki poduszka, kubek kubki)\n", + "- sortowania (omówić możliwe sortowania)- element którego nie ma w google\n", + "https://allegro.pl/dla-sprzedajacych/trafnosc-xGmVjoPwOTo#moja-oferta-ma-duza-sprzedaz-a-mimo-tego-jest-ona-nizej-w-sortowaniu-po-trafnosci-niz-inne-nowe-oferty-dlaczego-\n", + "- trafność dla każdego może znaczyć coś innego\n", + "- sortowanie domyślne- jakie jest jego znaczenie?\n", + "- inne rodzaje sortowania\n", + "- rerankowanie \n", + "- po lewej stronie mamy zawężenie do kategorii oraz filtry, wyszukiwanie facetowe- nie ma w google\n", + "- mamy także oferty sponsorowane oraz promowane - dylemat- ważniejszy jest biznes czy użytkownik\n", + "- rekomendacje dla użytkowników na dole- właściwie to jest osobny dział \n", + "- inne możliwości (szukaj wielu)\n", + "- wyszukiwanie zaawansowane: https://allegro.pl/pomoc/dla-kupujacych/wyszukiwanie-i-obserwowanie/jak-korzystac-z-wyszukiwarki-i-znalezc-przedmiot-mGwAg2jRrU7\n", + "- ewaluacja jakości wyszukiwarki- dyskusja, kto by co wybrał, jak wygląda sprawa z uczeniem maszynowym?\n", + "- jakie cele musi spełniać inżynier trafnośći?\n", + "- jak ewaluować wyszukiwarki?\n", + "- https://allegro.pl/pomoc/dla-kupujacych/wyszukiwanie-i-obserwowanie/jak-korzystac-z-wyszukiwarki-i-znalezc-przedmiot-mGwAg2jRrU7" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## API do wyszukiwarek\n", + "- https://developer.allegro.pl/listing/" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Google trends" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SEO (Search Engine Optimization)\n", + "- pod google\n", + "- pod wyszukiwarki typu allegro, olx \n", + "- https://allegro.pl/pomoc/dla-sprzedajacych/wystawianie-oferty-przez-formularz/jestem-sprzedajacym-na-czym-polega-sortowanie-po-trafnosci-9dGRXKV4MTl" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Zadanie domowe\n", + "\n", + "----------------------\n", + "Maksymalnie do zdobycia za zadania 100: 30\n", + "\n", + "Maksymalnie do zdobycia za zadania 101-107: 50\n", + "\n", + "\n", + "Zadania proszę oddawać w formie pliku pdf w MS TEAMS (grupa kanału → assignments) do końca 15.03.2021.\n", + "\n", + "Oprocz samego rozwiązania, proszę umieścić sposób w jaki Państwo do niego doszli (np frazy wpisywane w wysuzkiwarkę, itp.).\n", + "\n", + "## Zadanie 100\n", + "\n", + "Znaleźć przykłady „wyzwań” researcherskich — nagród pieniężnych za\n", + "znalezienie jakiejś informacji, najwcześniejszego wystąpienia jakiegoś słowa itp.\n", + "Wyzwanie musi polegać na znalezieniu jakieś informacji w powszechnie dostępnych źródłach (internet, biblioteki).\n", + "Zatem nie liczą sie np. nagrody za udzielenie informacji o jakimś mordercy, itp.\n", + "Interesują nas tylko „otwarte” wyzwania. Język, jakiego dotyczy wyzwanie — dowolny.\n", + "\n", + "Wyzwania podać w formie tabelki: nagroda, link, krótki opis.\n", + "\n", + "Liczba punktów za każde znalezione wyzwanie: max( 30, 5*log_10(nagroda w dolarach) )\n", + "\n", + "Przykład: [nagroda $250 za znalezienie wzmianki dotyczącej chupacabry\n", + "(potwora) przed 1990 rokiem](http://www.cryptozoonews.com/chupa-250/).\n", + "\n", + "Maksymalna liczba punktów: 30.\n", + "\n", + "\n", + "## Zadanie 101\n", + "\n", + "Podać 3 przykłady zapytań na amazon, które daje zaskakujące/niesatysfakcjonujące wyniki. Napisz jaka może być przyczyna takich wyników?\n", + "\n", + "Maksymalna liczba punktów: 20.\n", + "\n", + "## Zadanie 102\n", + " \n", + "Znaleźć PDF-a w języku niemieckim opublikowanego w Internecie przed\n", + "9 marca 2022 roku z największą ilością stron.\n", + "\n", + "Punkty: 30 (za największy plik).\n", + " \n", + "## Zadanie 103\n", + "\n", + "Znajdź najwcześniejsze poświadczenie w języku angielskim słowa \"coronavirus\". (za najwcześniejsze poświadczenie z grupy)\n", + "\n", + "Punkty: 35\n", + "\n", + "## Zadanie 104\n", + "\n", + "Znajdź najwcześniejsze poświadczenie w języku angielskim słowa \"SARS-CoV-2\". (za najwcześniejsze poświadczenie z grupy)\n", + "Punkty: 35\n", + " \n", + " \n", + "## Zadanie 105\n", + " \n", + "Podaj 3 przykłady ofert na malo popuarlnych portalach (inne niz allegro, amazon, olx), które mają nieoczywiste tytuły w celu pojawienia się\n", + "dla jak największej ilości zapytań. Powinny to być 3 różne powody. Napisz jakie to są powody przy ofercie.\n", + "\n", + "Punkty: 20\n", + "\n", + "\n", + "## Zadanie 106\n", + "\n", + "Znajdź wykres na google trends, który pokazuje równoczesny wzrost zainteresowania jednej frazy, gdy maleje\n", + "zainteresowanie drugą frazą dla roku 2021. Obie frazy powinny być choć trochę popularne. Niekoniecznie musi występować \n", + "powiązanie przyczynowo-skutkowe, ale jeżeli zachodzi- tym lepiej. Skorzystaj z opcji porównywania trendów.\n", + "\n", + "Punkty: 20\n", + "\n", + "## Zadanie 107\n", + "\n", + "Znajdź zapytanie na google trends, które jest popularne w niektórych regionach polski, a w innych nie. Z czego mogą wynikać te różnice?\n", + "\n", + "Punkty: 20" + ] + } + ], + "metadata": { + "author": "Jakub Pokrywka", + "email": "kubapok@wmi.amu.edu.pl", + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "lang": "pl", + "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" + }, + "subtitle": "1.Wyszukiwarki wprowadzenie[ćwiczenia]", + "title": "Ekstrakcja informacji", + "year": "2021" + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/cw/obrazki/02-fork-clone.png b/cw/obrazki/02-fork-clone.png new file mode 100644 index 0000000..f36bc5b Binary files /dev/null and b/cw/obrazki/02-fork-clone.png differ diff --git a/cw/obrazki/02-fork.png b/cw/obrazki/02-fork.png new file mode 100644 index 0000000..d94ca2c Binary files /dev/null and b/cw/obrazki/02-fork.png differ diff --git a/cw/obrazki/02-inspect.png b/cw/obrazki/02-inspect.png new file mode 100644 index 0000000..dea856a Binary files /dev/null and b/cw/obrazki/02-inspect.png differ diff --git a/cw/obrazki/1.png b/cw/obrazki/1.png new file mode 100644 index 0000000..096a2ee Binary files /dev/null and b/cw/obrazki/1.png differ diff --git a/cw/obrazki/1.svg b/cw/obrazki/1.svg new file mode 100644 index 0000000..06f6a47 --- /dev/null +++ b/cw/obrazki/1.svg @@ -0,0 +1,266 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + x + + + + + + y + + + + + + + + + + + diff --git a/cw/obrazki/10.png b/cw/obrazki/10.png new file mode 100644 index 0000000..ee28b77 Binary files /dev/null and b/cw/obrazki/10.png differ diff --git a/cw/obrazki/2.png b/cw/obrazki/2.png new file mode 100644 index 0000000..43b932a Binary files /dev/null and b/cw/obrazki/2.png differ diff --git a/cw/obrazki/3.png b/cw/obrazki/3.png new file mode 100644 index 0000000..807b9d1 Binary files /dev/null and b/cw/obrazki/3.png differ diff --git a/cw/obrazki/4.png b/cw/obrazki/4.png new file mode 100644 index 0000000..bd67c75 Binary files /dev/null and b/cw/obrazki/4.png differ diff --git a/cw/obrazki/5.png b/cw/obrazki/5.png new file mode 100644 index 0000000..838af2e Binary files /dev/null and b/cw/obrazki/5.png differ diff --git a/cw/obrazki/6.png b/cw/obrazki/6.png new file mode 100644 index 0000000..43adfae Binary files /dev/null and b/cw/obrazki/6.png differ diff --git a/cw/obrazki/7.png b/cw/obrazki/7.png new file mode 100644 index 0000000..20964ec Binary files /dev/null and b/cw/obrazki/7.png differ diff --git a/cw/obrazki/8.png b/cw/obrazki/8.png new file mode 100644 index 0000000..6150a21 Binary files /dev/null and b/cw/obrazki/8.png differ diff --git a/cw/obrazki/9.png b/cw/obrazki/9.png new file mode 100644 index 0000000..042ba8e Binary files /dev/null and b/cw/obrazki/9.png differ