Add notebooks

This commit is contained in:
Ryszard Staruch 2024-04-04 15:09:47 +02:00
parent 06ba32cfe3
commit f527158c91
2 changed files with 180 additions and 0 deletions

85
01_zadania.ipynb Normal file
View File

@ -0,0 +1,85 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Rozwiązania do zadań proszę umieszczać w nowych komórkach pomiędzy zadaniami\n",
"Zadania (jeżeli wymagaja napisania programu) piszemy w języku Python\n",
"\n",
"\n",
"Funkcje wspomagające wykonanie zadań znajdują się w materiałach wykładowych:\n",
"\n",
"https://git.wmi.amu.edu.pl/pms/moj-2024/src/branch/main/wyk"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Zadanie 1 (10 punktów)\n",
"Napisz w 3-5 zdaniach czym różni się system kodowania ASCII od systemu UTF-8"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Zadanie 2 (40 punktów)\n",
"\n",
"Znajdź i wczytaj tekst (lub połączony zbiór tekstów) w języku polskim zawierający ponad 50 000 słów (np. książka z wolnelektury.pl lub zbiór danych z HuggingFace - najlepiej coś ciekawego/nietypowego), a następnie:\n",
"1. usuń z tekstu wszystkie symbole, które nie są spacją lub literami polskiego alfabetu (czyli tekst powinien składać się jedynie ze spacji oraz polskich liter)\n",
"2. zamień wszystkie wielkie litery na małe\n",
"3. wypisz 10 słów, które według Ciebie powinny znajdować się wśród 10 najczęściej występujących słów\n",
"4. wypisz 10 najczęściej występujących słów (wraz z ich liczbą wystąpień oraz proporcją względem liczby wszystkich słów w tekście)\n",
"5. napisz jak dużo słów udało Ci się poprawnie przewidzieć\n",
"6. jeśli 10 najczęściej występujących słów ma jakieś cechy wspólne, to je wypisz\n",
"7. wypisz 10 najrzadziej występujących słów\n",
"8. jeśli 10 najrzadziej występujących słów ma jakieś cechy wspólne, to je wypisz\n",
"9. napisz czym różni się zbiór 10 najczęściej występujących słów od 10 najrzadziej występujących słów\n",
"10. stwórz wykres przedstawiający na osi X długość słowa (czyli liczbę liter w słowie), a na osi Y liczbę słów w tekście o tej długości"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Zadanie 3 (25 punktów)\n",
"\n",
"Wykonaj poniższe zadania na podstawie tekstu z zadania 2:\n",
"1. wypisz ile jest różnych unigramów/bigramów/trigramów\n",
"2. wypisz 10 najczęściej występujących bigramów/trigramów\n",
"3. ile różnych słów spośród 10 najczęściej występujących słow znajduje się wśród 10 najczęściej występujących bigramach/trigramach?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Zadanie 4 (5 punktów)\n",
"Napisz poprawne gramatycznie zdanie, które najprawdopodobniej nigdy nie zostało wypowiedziane lub zapisane."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "python39",
"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.9.18"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

View File

@ -0,0 +1,95 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Informacje ogólne"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Prowadzący\n",
"\n",
"mgr Ryszard Staruch\n",
"\n",
"Kontakt: mail (ryssta@amu.edu.pl) lub przez Teamsy\n",
"\n",
"\n",
"## Literatura\n",
"Polecana literatura do przedmiotu:\n",
"\n",
"- Koehn, P. (2009). Statistical Machine Translation. Cambridge: Cambridge University Press. doi:10.1017/CBO9780511815829\n",
"- Philipp Koehn. \"Neural Machine Translation\". 2020.\n",
"- https://web.stanford.edu/~jurafsky/slp3/3.pdf\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",
"- 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",
"- Radford, Alec and Wu, Jeff and Child, Rewon and Luan, David and Amodei, Dario and Sutskever, Ilya. 2019. Language Models are Unsupervised Multitask Learners\n",
"- https://jalammar.github.io/illustrated-transformer/\n",
"- https://www.youtube.com/watch?v=-9evrZnBorM&ab_channel=YannicKilcher\n",
"- https://www.youtube.com/watch?v=u1_qMdb0kYU&ab_channel=YannicKilcher\n",
"\n",
"\n",
"## Gorąco polecane materiały uzupełniające (praktyczna strona przedstawiona w zrozumiały sposób)\n",
"\n",
"https://www.coursera.org/learn/nlp-sequence-models?specialization=deep-learning#modules - kurs prowadzony przez prof. Andrewa Ng ze Stanfordu\n",
"https://www.youtube.com/watch?v=kCc8FmEb1nY - 2 godzinny szczegółowy kurs zbudowania modelu języka opartego na architekturze transformer - prowadzony przez byłego pracownika OpenAI\n",
"\n",
"\n",
"## Artykuły naukowe\n",
"* (2003) A Neural Probabilistic Language Model https://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf\n",
"* (2013) Efficient Estimation of Word Representations in Vector Space https://arxiv.org/pdf/1301.3781.pdf\n",
"* (2017) Attention Is All You Need https://arxiv.org/pdf/1706.03762.pdf\n",
"\n",
"\n",
"## Podział materiału\n",
"\n",
"Materiał — zarówno na wykładzie, jak i na laboratoriach — podzielony jest\n",
"na trzy, mniej więcej równe objętością, działy:\n",
"\n",
"1. Podstawy modelowania języka.\n",
"2. Neuronowe modele języka (bez sieci Transformer).\n",
"3. Sieci Transformer.\n",
"\n",
"\n",
"## Zasady zaliczenia laboratoriów\n",
"\n",
"Zaliczenia z laboratoriów uzyskujemy przez zdobywanie punktów za zadania (oraz ewentualny projekt). \n",
"Punkty zdobywamy poprzez wykonywanie zadań na bieżąco na ćwiczeniach lub najpóźniej 6 dni od dnia przeprowadzonych zajęć (czyli jeżeli zajęcia były przeprowadzone dnia 05.04.2024 to rozwiązanie należy przesłać najpóźniej do 11.04.2024 do godziny 23:59) \n",
"\n",
"\n",
"Przelicznik punktów na ocenę:\n",
"* 0-299 — 2\n",
"* 300-349 — 3\n",
"* 350-399 — 3+\n",
"* 400-449 — 4\n",
"* 450-499 — 4+\n",
"* 500- — 5\n",
"\n",
"Technicznie rozwiązania zadań zgłaszamy na platformie Teams.\n",
"\n",
"W celu zdobycia dodatkowych punktów (maksymalnie 250 punktów) będzie można wykonać projekt w formie zgłoszenia rozwiązania w wyzwaniu https://gonito.net/challenge/challenging-america-word-gap-prediction Swoje rozwiązanie należy zaprezentować na ostatnich zajęciach przed grupą (około 5 minut - co się zrobiło, jaki wynik się uzyskało, co pomogło/przeszkodziło w uzyskaniu najlepszego wyniku). Ilość punktów będzie zależała od:\n",
"* uzyskanego wyniku\n",
"* wykorzystanych narzędzi\n",
"* prezentacji\n",
"\n",
"\n",
"Łącznie (za zadania oraz projekt) do zdobycia będzie co najmniej 600 punktów.\n",
"\n",
"\n",
"## Obecność na zajęciach\n",
"\n",
"Obecność na zajęciach jest **obowiązkowa**. Nieobecność może być usprawiedliwiona w przypadku choroby potwierdzonej zwolnieniem lekarskim. Dopuszczalne są maksymalnie 2 nieusprawiedliwione nieobecności. Jeżeli kogoś nie było na zajęciach to tak jak było wspomiane wyżej - jest 6 dni na wykonanie zadań od dnia, w którym odbywały się dane zajęcia."
]
}
],
"metadata": {
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 2
}