From 9e55fb338dbbe1128cf8af476c3cc96cb19dfcb2 Mon Sep 17 00:00:00 2001 From: Ryszard Staruch Date: Wed, 23 Oct 2024 12:08:19 +0200 Subject: [PATCH] Add zajecia 3 files --- 03_NLP_linux.ipynb | 146 +++++++++++++++++++ Data/example_text_1.txt | 4 + Data/example_text_2.txt | 2 + Data/names.txt | 300 ++++++++++++++++++++++++++++++++++++++++ Data/negative-words.txt | 48 +++++++ Data/positive-words.txt | 50 +++++++ 6 files changed, 550 insertions(+) create mode 100644 03_NLP_linux.ipynb create mode 100644 Data/example_text_1.txt create mode 100644 Data/example_text_2.txt create mode 100644 Data/names.txt create mode 100644 Data/negative-words.txt create mode 100644 Data/positive-words.txt diff --git a/03_NLP_linux.ipynb b/03_NLP_linux.ipynb new file mode 100644 index 0000000..ceaa229 --- /dev/null +++ b/03_NLP_linux.ipynb @@ -0,0 +1,146 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Zajęcia 3: NLP w Linuxie\n", + "\n", + "W przypadku tych zajęć ćwiczeniowych, zadania należy rozwiązywać w Linuxie, natomiast komendy potrzebne do wykonania zadań proszę umieścić w tym Notebooku.\n", + "\n", + "Nie należy usuwać komórek z treścią zadań.\n", + "\n", + "W zadaniach trzeba skorzystać z pliku \"names.txt\" (zawierającym imiona w języku polskim) w folderze Data\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Zadanie 1\n", + "Napisz polecenie, które posortuje alfabetycznie i wyświetli na wyjściu imiona z pliku names.txt (nie przejmujemy się polskimi znakami)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Solution 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Zadanie 2\n", + "Napisz polecenie, które posortuje imiona alfabetycznie w odwrotnej kolejności z pliku names.txt i zapisze je do pliku names_sort.txt (nie przejmujemy się polskimi znakami)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Solution 2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Zadanie 3\n", + "Napisz polecenie, które wypisze linie z przedziału 10-20 włącznie (łącznie 11 linii) z pliku names.txt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Solution 3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Zadanie 4\n", + "\n", + "Napisz polecenie, które zwróci liczbę imion kończących się na \"usz\" lub \"aw\" (czyli np. Tadeusz, lub Wiesław)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Solution 4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Zadanie 5\n", + "Napisz polecenie, które zamieni wszystkie wystąpienia polskich liter na znak X" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Solution 5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Zadanie 6\n", + "\n", + "Masz dwie listy słów: positive-words.txt i negative-words.txt, które zawierają słowa często kojarzone odpowiednio z pozytywnym i negatywnym wydźwiękiem (eng. sentiment). \n", + "\n", + "Twoim zadaniem jest napisanie skryptu bash, który wyświetli ile jest słów z plików negative-words.txt positive-words.txt oraz, czy ogólny wydźwięk tekstu jest \"Pozytywny\", \"Negatywny\", czy \"Neutralny\", w zależności od liczby słów (pozytywny, jeżeli liczba słów z pliku positive-words.txt jest większa od liczby słów z pliku negative-words.txt, neutralny jeżeli liczba jest równa i negatywny, gdy liczba słów z pliku positive-worsd.txt jest mniejsza od liczby słów).\n", + "\n", + "Przetestuj to na tekstach z plików example_text_1.txt oraz example_text_2.txt" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# Solution 6" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "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.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Data/example_text_1.txt b/Data/example_text_1.txt new file mode 100644 index 0000000..64a1191 --- /dev/null +++ b/Data/example_text_1.txt @@ -0,0 +1,4 @@ +W ten ponury dzień doszło do niebezpiecznego wypadku na trasie Poznań-Warszawa. +Niestety sprawdził się pesymistyczny scenariusz, w którym zginęła 2 dzieci. +Zrozpaczony ojciec prosi o okazanie wsparcia. +Nasz kochany redaktor wysłał mu kartkę z pocieszeniem. \ No newline at end of file diff --git a/Data/example_text_2.txt b/Data/example_text_2.txt new file mode 100644 index 0000000..bafc782 --- /dev/null +++ b/Data/example_text_2.txt @@ -0,0 +1,2 @@ +Było super. Mój syn jest zadowolony z wizyty u lekarza. Pan doktor był życzliwy i uśmiechnięty. +Jakiś facet był wkurzony, że przepuszczono nas szybciej, ale to nie moja wina tylko pani pielęgniarki. \ No newline at end of file diff --git a/Data/names.txt b/Data/names.txt new file mode 100644 index 0000000..7c06d69 --- /dev/null +++ b/Data/names.txt @@ -0,0 +1,300 @@ +Jan +Stanisław +Andrzej +Józef +Tadeusz +Jerzy +Zbigniew +Krzysztof +Henryk +Ryszard +Kazimierz +Marek +Marian +Piotr +Janusz +Władysław +Adam +Wiesław +Zdzisław +Edward +Mieczysław +Roman +Mirosław +Grzegorz +Czesław +Dariusz +Wojciech +Jacek +Eugeniusz +Tomasz +Stefan +Zygmunt +Leszek +Bogdan +Antoni +Paweł +Franciszek +Sławomir +Waldemar +Jarosław +Robert +Mariusz +Włodzimierz +Michał +Zenon +Bogusław +Witold +Aleksander +Bronisław +Wacław +Bolesław +Ireneusz +Maciej +Artur +Edmund +Marcin +Lech +Karol +Rafał +Arkadiusz +Leon +Sylwester +Lucjan +Julian +Wiktor +Romuald +Bernard +Ludwik +Feliks +Alfred +Alojzy +Przemysław +Cezary +Daniel +Mikołaj +Ignacy +Lesław +Radosław +Konrad +Bogumił +Szczepan +Gerard +Hieronim +Krystian +Leonard +Wincenty +Benedykt +Hubert +Sebastian +Norbert +Adolf +Łukasz +Emil +Teodor +Rudolf +Joachim +Jakub +Walenty +Alfons +Damian +Rajmund +Szymon +Zygfryd +Leopold +Remigiusz +Florian +Konstanty +Augustyn +Albin +Bohdan +Dominik +Gabriel +Teofil +Brunon +Juliusz +Walerian +Bartłomiej +Fryderyk +Eryk +Anatol +Maksymilian +Gustaw +Aleksy +Longin +Bartosz +Wilhelm +Ferdynand +Erwin +Klemens +Lechosław +Ernest +Seweryn +Herbert +Albert +Błażej +Izydor +Dionizy +Edwin +Ginter +Adrian +Mateusz +Walter +Helmut +Bazyli +Marceli +Sergiusz +Bonifacy +Werner +Eligiusz +Wawrzyniec +Kamil +Łucjan +Olgierd +Arnold +Jacenty +Dawid +Ewald +Manfred +Emilian +Klaudiusz +Zbysław +Igor +Benon +Jędrzej +Wit +Hilary +Apolinary +Fabian +Zenobiusz +Horst +Gerhard +Roland +Euzebiusz +Hipolit +Filip +Nikodem +Miron +January +Kajetan +Bazyl +Emanuel +Idzi +Donat +August +Dymitr +Ksawery +Ludomir +Narcyz +Lubomir +Witalis +Roch +Miłosz +Telesfor +Heronim +Ziemowit +Borys +Oskar +Zbyszko +Krystyn +Zbyszek +Cyryl +Gracjan +Patryk +Reinhold +Eliasz +Ewaryst +Felicjan +Rufin +Bruno +Herman +Beniamin +Kryspin +Rajnold +Apoloniusz +Engelbert +Cyprian +Walery +Medard +Gwidon +Celestyn +Jaromir +Tytus +Wiaczesław +Kornel +Wieńczysław +Maurycy +Oswald +Jeremi +Kurt +Ingrid +Klaus +Damazy +Eustachy +Otton +Korneliusz +Cezariusz +Tymoteusz +Justyn +Otto +Janisław +Anastazy +Ambroży +Polikarp +Heliodor +Jurek +Saturnin +Dieter +Winicjusz +Wolfgang +Gotfryd +Modest +Margot +Sylweriusz +Marcel +Radzisław +Bogusz +Witosław +Leonid +Serafin +Reinhard +Diter +Dyonizy +Wenancjusz +Olaf +Wasyl +Anatoliusz +Januariusz +Kacper +Oleg +Rościsław +Sławoj +Erazm +Dobiesław +Jurand +Karin +Aureliusz +Wilibald +Heinz +Rajnard +Dobrosław +Erhard +Radomir +Egon +Harald +Eustachiusz +Kordian +Napoleon +Roger +Onufry +Wendelin +Włodzisław +Eugieniusz +Wirgiliusz +Jeremiasz +Anzelm +Ruth +Lucjusz +Anatoli +Inez +Iwo diff --git a/Data/negative-words.txt b/Data/negative-words.txt new file mode 100644 index 0000000..217761b --- /dev/null +++ b/Data/negative-words.txt @@ -0,0 +1,48 @@ +smutny +nienawistny +przegrany +gniewny +frustrujący +straszny +żałosny +zły +negatywny +bezradny +bolesny +zagrożony +rozczarowany +zdradziecki +samotny +pesymistyczny +chaotyczny +przegrany +niepokojący +rozpaczliwy +zmartwiony +cierpiący +nieudolny +beznadziejny +nerwowy +zrozpaczony +beznadziejny +desperacki +zgorzkniały +niepewny +okrutny +podstępny +niemiły +odpychający +obraźliwy +niebezpieczny +brutalny +nieprzyjemny +nieuczciwy +wrogi +samolubny +chciwy +podejrzliwy +odrzucony +pogardliwy +zgorzkniały +ponury +wkurzony diff --git a/Data/positive-words.txt b/Data/positive-words.txt new file mode 100644 index 0000000..c61c018 --- /dev/null +++ b/Data/positive-words.txt @@ -0,0 +1,50 @@ +szczęśliwy +radosny +kochający +sukcesywny +przyjacielski +zadowolony +uśmiechnięty +spokojny +harmonijny +pozytywny +szanowany +wdzięczny +bezpieczny +dobry +piękny +nadziejny +komfortowy +zwycięski +entuzjastyczny +optymistyczny +wyrozumiały +życzliwy +spełniony +ufny +wierny +odważny +ambitny +hojny +inteligentny +rzetelny +twórczy +wyjątkowy +silny +niezawodny +dynamiczny +łagodny +szczery +przyjazny +cudowny +subtelny +szlachetny +delikatny +niezłomny +ciepły +wspaniały +lojalny +troskliwy +miły +uśmiechnięty +kochany