Lab 1
This commit is contained in:
parent
8134e2a8da
commit
21fa178802
71
README.md
71
README.md
@ -1,3 +1,70 @@
|
|||||||
# moj-2024
|
# Modelowanie języka 2023
|
||||||
|
|
||||||
Modelowanie języka 2024
|
Tutaj znajdują się informacje dotyczące wykładu i ćwiczeń z
|
||||||
|
„Modelowania języka”, zajęć prowadzonych przez prof. UAM dr. hab.
|
||||||
|
Filip Gralińskiego.
|
||||||
|
|
||||||
|
**Uwaga** Informacje podane w plikach w podkatalogach `wyk/` i `cw/`
|
||||||
|
nie muszą być aktualne (są to materiały przeniesione z poprzedniego
|
||||||
|
roku). W szczególności proszę nie wykonywać żadnych zadań z materiałów
|
||||||
|
ćwiczeniowych, chyba że wyraźnie wskazano je tutaj lub pojawiły się
|
||||||
|
jako zadanie na platformie Teams.
|
||||||
|
|
||||||
|
## Podział materiału
|
||||||
|
|
||||||
|
Materiał — zarówno na wykładzie, jak i na ćwiczeniach — podzielony jest
|
||||||
|
na trzy, mniej więcej równe objętością, działy:
|
||||||
|
|
||||||
|
1. Podstawy modelowania języka.
|
||||||
|
2. Neuronowe modele języka (bez sieci Transformer).
|
||||||
|
3. Sieci Transformer.
|
||||||
|
|
||||||
|
## Zasady zaliczenia wykładu
|
||||||
|
|
||||||
|
Wykład kończy się egzaminem. Z egzaminu można uzyskać zwolnienie pod
|
||||||
|
następującymi warunkami:
|
||||||
|
|
||||||
|
* ocena co najmniej dobry plus z ćwiczeń,
|
||||||
|
* uzyskanie co najmniej 20 punktów wykładowych.
|
||||||
|
|
||||||
|
Punkt wykładowy można zdobyć za różnego rodzaju aktywności związane z wykładem:
|
||||||
|
|
||||||
|
* zgłoszenie (jakiegokolwiek: merytorycznego, językowego,
|
||||||
|
technicznego) błędu w materiałach do wykładu (punkt otrzymuje
|
||||||
|
pierwszy zgłaszający),
|
||||||
|
* zadanie sensownego pytania na wykładzie,
|
||||||
|
* odpowiedź na pytanie na wykładzie,
|
||||||
|
* udział w dyskusji po wykładzie na platformie Teams (zadanie pytania
|
||||||
|
lub odpowiedź na pytanie innego studenta).
|
||||||
|
|
||||||
|
Punkt wykładowy jest zaliczony tylko pod warunkiem obecności na danym wykładzie.
|
||||||
|
|
||||||
|
Dodatkowo przy liczeniu sumy punktów wykładowych obowiązują następujące ograniczenia:
|
||||||
|
|
||||||
|
* liczymy maksymalnie 3 punkty na wykład,
|
||||||
|
* z każdego działu liczymy maksymalnie 8 punktów.
|
||||||
|
|
||||||
|
## Zasady zaliczenia ćwiczeń
|
||||||
|
|
||||||
|
Zaliczenia z ćwiczeń uzyskujemy przez zdobywanie punktów za zadania i
|
||||||
|
projekty. Zasadniczo punkty zdobywamy poprzez wykonywanie zadań na
|
||||||
|
bieżąco na ćwiczeniach lub najpóźniej do kolejnych zajęć. Dodatkowo
|
||||||
|
będzie też możliwość zdobywania punktów poprzez wykonywanie projektów.
|
||||||
|
|
||||||
|
Na ogół na każdych ćwiczeniach jest do zdobycia 40 punktów, z czego
|
||||||
|
zazwyczaj 20 punktów będzie do zdobycia za wykonanie części zadania od
|
||||||
|
razu w trakcie zajęć.
|
||||||
|
|
||||||
|
Przelicznik punktów na ocenę:
|
||||||
|
|
||||||
|
* -299 — 2
|
||||||
|
* 300-349 — 3
|
||||||
|
* 350-399 — 3+
|
||||||
|
* 400-449 — 4
|
||||||
|
* 450-499 — 4+
|
||||||
|
* 500- — 5
|
||||||
|
|
||||||
|
Dodatkowo przyjmuje się następujące ograniczenie: za każdy dział
|
||||||
|
liczymy maksymalnie 200 punktów.
|
||||||
|
|
||||||
|
Technicznie rozwiązania zadań zgłaszamy na platformie Moodle lub na platformie Gonito.
|
||||||
|
104
lab/00_Informacje_na_temat_przedmiotu.ipynb
Normal file
104
lab/00_Informacje_na_temat_przedmiotu.ipynb
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
{
|
||||||
|
"cells": [
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
|
||||||
|
"<div class=\"alert alert-block alert-info\">\n",
|
||||||
|
"<h1> Modelowanie języka </h1>\n",
|
||||||
|
"<h2> 0. <i>Informacje na temat przedmiotu</i> [ćwiczenia]</h2> \n",
|
||||||
|
"</div>\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: dr Paweł Skórzewski\n",
|
||||||
|
"\n",
|
||||||
|
"Najlepiej kontaktowąć się ze mną przez MS Teams lub mailowo.\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",
|
||||||
|
"\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"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"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
|
||||||
|
}
|
763
lab/01_Kodowanie_tekstu.ipynb
Normal file
763
lab/01_Kodowanie_tekstu.ipynb
Normal file
File diff suppressed because one or more lines are too long
70
lab/01_materialy/a.txt
Normal file
70
lab/01_materialy/a.txt
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
# tekst pochodzi z https://wolnelektury.pl/media/book/txt/baczynski-orfeusz-w-lesie.txt
|
||||||
|
Pod tym dębem, pod stuletnim, wśród gałęzi skrył się,
|
||||||
|
a deszcz pierzchnął, siedmiobarwnym łukiem nad nim wzbił się.
|
||||||
|
Ledwie okiem w nim utonął, w barwnej brodząc nucie,
|
||||||
|
blady błękit tęczę wchłonął, dąb zawołał: «Zbudź się.
|
||||||
|
Czas na ciebie, czeka lira, nowej pieśni głodna,
|
||||||
|
wdrąż się w ziemię, bij o niebo, serca przepal do dna.
|
||||||
|
Ze mną, boski Orfeuszu, zmierz muzyczną siłę,
|
||||||
|
mnie pokonasz — śmierć przemożesz, którą zwyciężyłem.
|
||||||
|
Popatrz: uschnie młoda łoza, runie smukła jodła,
|
||||||
|
patrz: topole śmierć podcięła, ale mnie nie zmogła.
|
||||||
|
W niebo śpiewem rosnę, w ziemię korzeniami wrastam,
|
||||||
|
me milczenie jest strumieniem, a ma pieśń liściasta!»
|
||||||
|
|
||||||
|
Więc Orfeusz chwycił lirę rozmodloną dłonią,
|
||||||
|
strunę trącił, już obłoki przebudzone dzwonią.
|
||||||
|
Jeszcze głosu nie wydobył, już na wargi drżące,
|
||||||
|
jak na liście, promieniście wbiega młode słońce.
|
||||||
|
I pieśń począł.
|
||||||
|
Wrył się w ziemię takim jasnym tonem,
|
||||||
|
że wzleciały ponad drzewa krety uskrzydlone,
|
||||||
|
że strumienie, co pod ziemią ciemno się poczęły,
|
||||||
|
nad brzegami, co je więżą, w lirę się wygięły.
|
||||||
|
Wzniósł się w górę, ręką jeno ciężar strun odmierzał,
|
||||||
|
a już wiatrem swego głosu w żołędzie uderzał,
|
||||||
|
a żołędzie melodyjnie trącając się wzajem,
|
||||||
|
rozdzwoniły włosy wierzby nad leśnym ruczajem,
|
||||||
|
a w tych włosach smutek nagły wylągł się tak cicho,
|
||||||
|
że nie będąc jeszcze szeptem, szeptał: «Eurydyko…»
|
||||||
|
Jeno woda pochwyciła to czułe wezwanie,
|
||||||
|
a już w kwiaty je wkropliła na leśnej polanie,
|
||||||
|
a tam trawy zielonawe w korzenie wszeptały
|
||||||
|
i już drzewa jej imieniem szumieć poczynały.
|
||||||
|
Targnął strunę, bo nie szeptem śmierć miał głuchą przemóc,
|
||||||
|
lecz wołaniem tak wysokim, jak gwiazda nad ziemią:
|
||||||
|
«Chcecie? Rozpacz wam wyśpiewam: płomieniste góry
|
||||||
|
rosną we mnie, burza wraża w ziemię kły wichury.
|
||||||
|
Chcecie? Błyskawicą chłostam, serca gryzę gromem,
|
||||||
|
w ręku piorun mam i rozpacz w oku nieruchomem,
|
||||||
|
a ta rozpacz w gniew urasta, a ten gniew jest burzą
|
||||||
|
przeciw tobie, której kształty czarno się marmurzą».
|
||||||
|
|
||||||
|
Już nie słowem, ale głosem w twardą korę nieba
|
||||||
|
tłukł Orfeusz, aż sypnęła ciężkich gwiazd ulewa…
|
||||||
|
Wtedy przerwał, bowiem uczuł, że mu głos uwięźnie
|
||||||
|
w niebie drżącym jeszcze…
|
||||||
|
Ale dąb milczał potężniej.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
6. Porażka
|
||||||
|
|
||||||
|
«Eurydyko, porażka jest słodka.
|
||||||
|
Chwała tobie, któryś mnie zwyciężył!»
|
||||||
|
|
||||||
|
Mijał strumień. Trzcina wiała wiotka.
|
||||||
|
Las się kończył i zaczynał księżyc.
|
||||||
|
|
||||||
|
A te skały, co wyrosły ostre,
|
||||||
|
zdały mu się czułym zapewnieniem.
|
||||||
|
|
||||||
|
A tę noc obejmował jak siostrę,
|
||||||
|
nazywał najczulszym imieniem.
|
||||||
|
|
||||||
|
I przemierzał strunami śpiącemi
|
||||||
|
oddalenie nie objęte słowem,
|
||||||
|
i jak klucz do zamkniętych podziemi
|
||||||
|
niósł na wargach milczenie dębowe.
|
||||||
|
|
||||||
|
9–10 luty 1942
|
69
lab/01_materialy/b.txt
Normal file
69
lab/01_materialy/b.txt
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
# tekst pochodzi z https://pl.wikipedia.org/wiki/UTF-8
|
||||||
|
UTF-8 (ang. 8-bit Unicode Transformation Format) – system kodowania Unicode, wykorzystujący od 1 do 4 bajtów do zakodowania pojedynczego znaku, w pełni kompatybilny z ASCII. Jest najczęściej wykorzystywany do przechowywania napisów w plikach i komunikacji sieciowej.
|
||||||
|
|
||||||
|
|
||||||
|
Spis treści
|
||||||
|
1 Zalety i wady
|
||||||
|
1.1 Zalety
|
||||||
|
1.2 Wady
|
||||||
|
2 Sposób kodowania
|
||||||
|
3 Przykład
|
||||||
|
4 Zobacz też
|
||||||
|
5 Linki zewnętrzne
|
||||||
|
Zalety i wady
|
||||||
|
Zalety
|
||||||
|
Każdy tekst w ASCII jest tekstem w UTF-8.
|
||||||
|
Żaden znak spoza ASCII nie zawiera bajtu z ASCII.
|
||||||
|
Zachowuje porządek sortowania UCS-4.
|
||||||
|
Typowy tekst ISO-Latin-X rozrasta się w bardzo niewielkim stopniu po przekonwertowaniu do UTF-8.
|
||||||
|
Nie zawiera bajtów 0xFF i 0xFE, więc łatwo można go odróżnić od tekstu UTF-16.
|
||||||
|
Znaki o kodzie różnym od 0 nie zawierają bajtu 0, co pozwala stosować UTF-8 w ciągach zakończonych zerem.
|
||||||
|
O każdym bajcie wiadomo, czy jest początkiem znaku, czy też leży w jego środku, co nie jest dostępne np. w kodowaniu EUC.
|
||||||
|
Nie ma problemów z little endian vs big endian.
|
||||||
|
Jest domyślnym kodowaniem w XML (również w jego aplikacjach: XHTML, SVG, XSL, CML, MathML).
|
||||||
|
Wady
|
||||||
|
Znaki CJK zajmują po 3 bajty zamiast 2 w kodowaniach narodowych.
|
||||||
|
Znaki alfabetów niełacińskich zajmują po 2 bajty zamiast jednego w kodowaniach narodowych.
|
||||||
|
UTF-8 nie używa przesunięć zasięgów, co stanowi dodatkowe utrudnienie dla implementacji UTF-8 (szczegóły poniżej)
|
||||||
|
Sposób kodowania
|
||||||
|
Mapowanie znaków Unicode na ciągi bajtów:
|
||||||
|
|
||||||
|
0x00 do 0x7F – bity 0xxxxxxx, gdzie kolejne „x” to bity – licząc od najwyższego
|
||||||
|
0x80 do 0x7FF – bity 110xxxxx 10xxxxxx
|
||||||
|
0x800 do 0xFFFF – bity 1110xxxx 10xxxxxx 10xxxxxx
|
||||||
|
0x10000 do 0x1FFFFF – bity 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
|
||||||
|
0x200000 do 0x3FFFFFF – bity 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
|
||||||
|
0x4000000 do 0x7FFFFFFF – bity 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
|
||||||
|
Znaki z przedziału ASCII (0 do 127) kodowane są jako jeden bajt, czyli m.in. litery alfabetu łacińskiego. Polskie znaki diakrytyczne kodowane już są jako dwa bajty. W listopadzie 2003 roku kodowanie UTF-8 zostało ograniczone zgodnie z RFC 3629 ↓ do 0x10FFFF pozycji, w celu zapewnienia zgodności z ograniczeniami systemu UTF-16. Rezultatem było usunięcie wszystkich sekwencji złożonych z 5 i 6 bajtów oraz około połowy sekwencji 4-bajtowych. W ten sposób pozostało dokładnie 17 • 65536 - 2048, czyli 1 112 064 pozycji znaków możliwych do zakodowania w UTF-8. Pomniejszenie liczby kodów o 2048 wynika z zarezerwowania kodów z zakresu od U+D800 do U+DFFF dla kodowania UTF-16.
|
||||||
|
|
||||||
|
Teoretycznie w UTF-8 ten sam znak można zapisać na kilka sposobów. Przykładowo znak ASCII / (ukośnik) można zapisać jako:
|
||||||
|
|
||||||
|
00101111
|
||||||
|
11000000 10101111
|
||||||
|
11100000 10000000 10101111itd.
|
||||||
|
Stanowi to zagrożenie bezpieczeństwa m.in. dla serwerów, które sprawdzają obecność znaku / w ścieżkach. Z tego powodu standard UTF-8 przewiduje, że poprawny jest wyłącznie najkrótszy możliwy sposób zapisu, a każdy program musi odrzucać znaki zapisane dłuższymi sekwencjami niż minimalna.
|
||||||
|
|
||||||
|
Problemu tego można byłoby uniknąć, przy okazji skracając nieznacznie wielkość danych, jeśli wykorzystano by zasadę przesunięć typu:
|
||||||
|
|
||||||
|
sekwencje 1-bajtowe kodują 0x80 (128) różnych znaków – od 0x00 do 0x7F
|
||||||
|
sekwencje 2-bajtowe kodują 0x800 (2048) różnych znaków – od 0x80 do 0x87F
|
||||||
|
sekwencje 3-bajtowe kodują 0x10000 (65536) różnych znaków – od 0x880 do 0x1087F
|
||||||
|
itd.
|
||||||
|
Przykład
|
||||||
|
Kodowanie na podstawie znaku euro €:
|
||||||
|
|
||||||
|
Znak € w Unicode ma oznaczenie U+20AC.
|
||||||
|
Zgodnie z informacjami w poprzednim podrozdziale taka wartość jest możliwa do zakodowania na 3 bajtach.
|
||||||
|
Liczba szesnastkowa 20AC to binarnie 0010 0000 1010 1100 po uzupełnieniu wiodącymi zerami do 16 bitów, ponieważ tyle bitów trzeba zakodować na 3 bajtach w UTF-8.
|
||||||
|
Kodowanie na trzech bajtach wymaga użycia w pierwszym bajcie trzech wiodących bitów ustawionych na 1, a czwartego na 0 (1110…).
|
||||||
|
Pozostałe bity pierwszego bajtu pochodzą z najstarszych czterech bitów kodowanej wartości w Unicode, co daje (1110 0010), a reszta bitów dzielona jest na dwa bloki po 6 bitów każdy (…0000 1010 1100).
|
||||||
|
Do tych bloków dodawane są wiodące bity 10, by tworzyły następujące 8-bitowe wartości 1000 0010 i 1010 1100).
|
||||||
|
W ten sposób rezultatem są trzy bajty w postaci 1110 0010 1000 0010 1010 1100, co w systemie szesnastkowych przyjmuje postać E2 82 AC.
|
||||||
|
Poniższa tabela pozwala zrozumieć sposób kodowana różnej długości numerów kodowych Unicode w UTF-8.
|
||||||
|
|
||||||
|
Unicode Unicode binarnie UTF-8 binarnie
|
||||||
|
1. bajt 2. bajt 3. bajt 4. bajt UTF-8 szesnastkowo
|
||||||
|
$ U+0024 0100100 00100100 24
|
||||||
|
¢ U+00A2 000 10100010 11000010 10100010 C2 A2
|
||||||
|
€ U+20AC 00100000 10101100 11100010 10000010 10101100 E2 82 AC
|
||||||
|
𐍈 U+10348 00001 00000011 01001000 11110000 10010000 10001101 10001000 F0 90 8D 88
|
1
lab/01_materialy/polski_tekst.txt
Normal file
1
lab/01_materialy/polski_tekst.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
zażółć gęślą jaźń
|
15
lab/01_materialy/polski_tekst_2.txt
Normal file
15
lab/01_materialy/polski_tekst_2.txt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
Charles Baudelaire
|
||||||
|
|
||||||
|
O pierwszej nad ranem
|
||||||
|
tłum. Stefan Napierski
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Nareszcie! sam jeden! Słychać już tylko przetaczanie się kilku zapóźnionych i wymęczonych dorożek. Na niewiele godzin uzyskamy milczenie, jeśli nawet nie spokój. Nareszcie! znikła tyrania twarzy ludzkiej i cierpieć będę już tylko przez samego siebie.
|
||||||
|
|
||||||
|
Nareszcie! zezwolono mi zatem rozprostować się w kąpieli ciemności! Naprzód podwójne zawarcie drzwi. Wydaje mi się, że to przekręcenie klucza wzmoże samotność moją i wzmocni barykady, które oto dzielą mnie od świata.
|
||||||
|
|
||||||
|
Straszliwe życie! Straszliwe miasto! Streśćmy powtórnie dzień: widzenie garstki literatów, z których jeden zapytywał mnie, czy można udać sie do Rosji drogą lądową (najwidoczniej sądził, że Rosja jest wyspą); wielkoduszna dysputa z kierownikiem pewnego czasopisma, który na każdy argument odpowiadał: „Tutaj, to partia ludzi uczciwych”, co zakłada milcząco, że wszystkie inne dzienniki redagują szubrawcy; ukłon, oddany jakimś dwudziestu osobom, z których piętnaście jest mi nieznanych; rozdawanie uścisku dłoni w tej samej proporcji, i to zaniedbawszy przez nieostrożność zaopatrzenia się wprzód w rękawiczki; wdrapanie się, gwoli zabicia czasu, podczas ulewy, na pięterko do baletniczki, która prosiła mnie o narysowanie jej kostiumu do *Venus*; ubieganie się w sposób przypochlebny o jednego z dyrektorów teatru, który powiedział, żegnając się ze mną: „Kto wie, czy nie powinien pan zwrócić się do Z…; jest to najbardziej ociężały, najgłupszy i najgłośniejszy z wszystkich mych autorów; z nim, być może, zdoła pan co osiągnąć. Niech go pan odszuka, a potem się zobaczy”; przechwalanie się (po co?) kilkoma szkaradnymi czynami, których nie popełniłem, i tchórzliwe zaprzeczenie kilku innych występków, których dokonałem z radością, przestępstwo fanfaronady, zbrodnia na czci ludzkiej; odmówienie przyjacielowi łatwej przysługi i udzielenie poparcia na piśmie skończonemu łotrowi; uf! czyżby to wreszcie koniec?
|
||||||
|
|
||||||
|
Niezadowolony z siebie i niezadowolony z wszystkich, pragnąłbym siebie odkupić i odzyskać nieco dumy w milczeniu i samotności nocy. Dusze tych, których miłowałem, dusze tych, których opiewałem, skrzepcie mnie, podtrzymajcie, oddalcie ode mnie kłamstwo i zatruwające wyziewy świata; i ty, Panie mój i Boże! użycz mi łaski zestawienia kilku pięknych wierszy, które by udowodniły mi, że nie jestem ostatnim z ludzi, że gorszy nie jestem od tych, którymi gardzę.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user