Dane do badania frekwencji leksemów w języku rosyjskim

Robert Wołosz
PTE BTK, Orosz Filológia Tanszék
e-mail: wolosz.robert@pte.hu

Autor niniejszych słów opublikował wcześniej dane liczbowe dotyczące leksykalnych n-gramów języka rosyjskiego.¹ Te wcześniejsze badania skupiały się jednak na formach wyrazowych i nie sprowadzały danych do form hasłowych.

Badania, które przedstawiam poniżej, dotyczą leksemów i nie zajmują się otoczeniem analizowanych słów, chociaż przyjęto świadomą decyzję, aby formy typu российско‑украинский i снежно‑белый traktować jako pojedyncze jednostki.

Spośród innych podobnych prac nie wyróżnia ich jakość opracowania, ale to, iż publikowane dane oparte są na największym zbiorze tekstów, wśród tych, które stanowiły podstawę rosyjskich słowników frekwencyjnych.² Jeśli dodamy do nich dane możliwe do wyekscerpowania z Narodowego Korpusu Języka Rosyjskiego, to one też są znacznie mniejsze.³

Do uzyskania danych wykorzystano blisko 470 tysięcy plików, które zawierały ponad 22 miliardy 803 miliony słów, rozumianych jako jednostki znajdujące się w tekście między spacjami lub znakami o wartości spacji. Jak widać wzrosła liczba analizowanych tekstów w stosunku do badań, na które powołuję się w przypisie 1., ale liczba analizowanych jednostek zmniejszyła się o prawie 2 miliardy. Jak to możliwe?

Wybór tekstów

Pliki z tekstami rosyjskimi zebrane w internecie poddane były analizie programem MyStem (w wersji 3.1)⁴. Jeśli 20% wszystkich wyrazów w danym pliku było nierozpoznanych przez program, to plik taki usuwany był ze zbiorów (w ten sposób można było uniknąć wykorzystywanie w badaniach plików zapisanych w innym języku niż rosyjski, np. plików zawierające równoległe wersje utworów literackich), podobnie jak w przypadku, gdy spośród wszystkich różnych analizowanych form 10% lub więcej nie została rozpoznana przez MyStem (mogły to być teksty archaiczne, gwarowe itd.). To był pierwszy filtr, przez które przepuszczane były zebrane pliki.

Kolejnym etapem prac był podział tekstów na zdania, do czego wykorzystałem skrypt stworzony w Perlu (można go znaleźć tu: https://www.wolosz.hu/russian_segmentation.html). Tak podzielone teksty analizowałem programem MyStem korzystając z następującej opcji (teoretycznie bada otoczenie form homonimicznym przed przypisaniem ich do odpowiedniego leksemu).

Forma polecenia wygląda tak:

mystem.exe -n -d %1 %2

Oczywiście czasami program mylił się. Porównaj rezultat analizy przykładowych pięciu zdań:

  1. За электричество я плачу через интернет.
    за электричество я платить (poprawna analiza) через интернет
  2. На рынке я всегда плачу наличными.
    на рынок я всегда плакать (niepoprawna analiza) наличные
  3. В кино я всегда плачу над грустными сценами.
    в кино я всегда плакать (poprawna analiza) над грустный сцена
  4. От счастья я иногда плачу тихо.
    от счастие я иногда плакать (poprawna analiza) тихо
  5. У меня нет фотографий Из. (od imienia Иза)
    у я нет фотография из (niepoprawna analiza)

Widać, że nie zawsze można zaufać wynikom analizy w przypadku form homograficznych. Aby czytelnik mógł wyobrazić sobie jakość pracy wykonanej z pomocą MyStem zacytuję fragment oryginalnego tekstu⁵ z analizą.

Глава XXXVII. Междупланетный шахматный конгресс
[…]
22 ИЮНЯ 1927 г.
В помещении клуба «Картонажник» состоится лекция на тему: «ПЛОДОТВОРНАЯ ДЕБЮТНАЯ ИДЕЯ» и СЕАНС ОДНОВРЕМЕННОЙ ИГРЫ В ШАХМАТЫ на 160 досках гроссмейстера (старший мастер) О. Бендера.
Все приходят со своими досками.
Плата за игру – 50 коп.
Плата за вход – 20 коп.
Начало ровно в 6 час. вечера
Администратор К. Михельсон.
[…]
— Гроссмейстер О. Бендер! — заявил Остап, присаживаясь на стол. — Устраиваю у вас сеанс одновременной игры.

Wynik analizy zapisuję oddzielając podane przez program MyStem potencjalne wyrazy hasłowe spacją (widać, że cyfry program pomija przy analizie, co nie wydaje się najszczęśliwszym rozwiązaniem):

глава XXXVII?? междупланетный шахматный конгресс июнь г в помещение клуб картонажник состояться лекция на тема плодотворный дебютный идея и сеанс одновременный игра в шахматы на доска гроссмейстер старший мастер о бендер все приходить со свой доска плата за игра копа плата за вход копа начало ровно в час вечер администратор к михельсон? гроссмейстер о бендер заявлять остап присаживаться на стол устраивать у вы сеанс одновременный игра

Zapis ?? na końcu wyrazu oznacza, że MyStem nie potrafił przypisać mu formy hasłowej występującemu w tekście ciągowi liter XXXVII (w tym przypadku zachowany zostaje zapis wielką literą), a zapis михельсон? oznacza, że MyStem nie zna słowa Михельсон, ale na podstawie analizy zapisanego słowa (i jego otoczenia?) uznaje, że prawdopodobnie chodzi o wyraz, którego formą hasłową jest михельсон. Porównaj też np. analizę formy эльфийская w zdaniu: Эльфийская защита оказалась отличным выбором. Formę tę MyStem odsyła do эльфийский?. Dla łatwiejszego rozróżnienia form nierozpoznanych i potencjalnych oznaczam na swojej liście pierwsze z nich znakiem wykrzyknika (!), a te drugie pojedynczym pytajnikiem (?). Potencjalne formy zapisywane są bez użycia wielkich liter.

Następny krok to czyszczenie plików z wszelkich elementów, które miały wartość spacji. W przybliżeniu –zachowane zostały litery (nie tylko cyrylickie) i łącznik(i). Usunięto cyfry, znaki przestankowe, nawiasy, cudzysłowy itd. Usunięto kropki, ponieważ jak się okazuje MyStem nie potrafi wykorzystać informacji o tym, iż kropka w pewnych sytuacjach ma wartość litery. Por. zapis skrótów takich jak: гг., напр., стр. Niestety tak zapisanych fragmentów tekstów MyStem nie potrafi poprawnie przeanalizować i wszystkie te skróty odsyła z informacją, że to wyraz którego nie potrafi połączyć z formą podstawową. Akurat w przypadku напр. to ma sens, ale lepiej byłoby, gdyby MyStem kiedy działa jako speller checker, rozpoznawał te formy.

Tak przygotowane pliki poddane były kolejnej obróbce, której celem było wyeliminowanie zapewne najsłabszą stronę poprzednich badań (zob. przypis 1.), a mianowicie to, iż wśród analizowanych plików, pewne teksty (dokładniej ich fragmenty) powtarzały się. Załóżmy, że mamy w zbiorze tekstów jakąś nowelę, która opublikowana została samodzielnie i w trzech różnie zredagowanych wyborach nowel tego samego autora, w czterech zbiorach nowel tematycznych, a oprócz tego mamy plik zawierający (w przybliżeniu) całą twórczość autora. W takiej sytuacji tekst noweli powtarzał się w 9 różnych plikach. Oczywiście kiedy badania prowadzi grupa ludzi, dysponująca odpowiednimi środkami, wyłapanie takich powtórzeń jest możliwe, ale w przypadku pracy jednego człowieka, jest to przy analizie ogromnej liczbie plików bardzo utrudnione.⁶ W niniejszej wersji wszystkie pliki przed wykorzystaniem były w specjalny sposób (opierał się na poszukiwaniu początków zdań zaczynających się od często występujących w tej pozycji par wyrazów) dzielone na mniejsze pliki. Następnie pliki cięte były na fragmenty zawierające przynajmniej 100 słów i kończące się na końcu zdania. Jeśli założyć, że pliki te miały ok. 110 słów, to łatwo policzyć, iż w pewnym momencie pracy analizowałem ponad 230 milionów plików. Dzięki temu podziałowi udało się usunąć blisko 14% powtarzających się fragmentów tekstów. Następnie minipliki pochodzące z większego pliku kopiowane były w jeden plik (poniżej podajemy nie tylko dane dotyczące częstotliwości pojawienia się leksemów w tekstach, podajemy też w ilu plikach się pojawiły). Spośród plików usunięte zostały też wszystkie pliki tekstowe, których wielkość nie osiągnęła 1000 bajtów (wszystkie pliki kodowane były w standardzie UTF‑8).

Po wykonaniu wszystkich tych czynności przygotowane przeze mnie skrypty pozwoliły na zliczenie form, będących wynikiem przeprowadzonych operacji. Przy zliczaniu zachowywana była informacja o tym, w jak wielu plikach dana forma się pojawiła. Wyniki przedstawiam w ten sposób, że najczęstsze 5000 wyrazów zapisuję poniżej, a całość wyników zapisuję w spakowanym pliku rus_freq.7z

Plik zawiera 1 712 978 wierszy, po rozpakowaniu jego wielkość wynosi 62 MB.

Wśród wierszy, które zostały wygenerowane można znaleźć takie, których frekwencja jest zaskakująco wysoka w stosunku do liczby plików, w których się pojawiły. Wydaje się, iż dane te zamiast wzbogacać naszą wiedzę o frekwencji leksemów zniekształcają ją. Dlatego wprowadzono do analizy wartość q, która obliczona została dla każdego n‑gramu.

Wartość q obliczana jest zgodnie z następującym wzorem: q = n/f², gdzie n = częstotliwość wystąpienia danego n‑gramu, a f = liczba plików, w której n‑gram przynajmniej jeden raz wystąpił. W pliku rus_freq.7z zapisano tylko te jednostki, które pojawiły się w przynajmniej 10 plikach i dla których wartość q nie przekroczyła 7.

Oto lista 5000 najczęstszych jednostek.

Top 5000

Dane do ściągnięcia .7z (~10 MB)


1. Wolosz, Robert: Частотность состоящих из слов n-грамм в текстах на русском языке. 2024.

2. Np. Słownik frekwencyjny języka rosyjskiego wydany w roku 1977 pod red. L. N. Zasoriny (Засорина, Лидия Николаевна [ред.]: Частотный словарь русского языка. Москва, 1977, Рус. яз. – 935 с.) opracowano na podstawie 1 000 000 form wyrazowych. Z dzisiejszego punktu widzenia zaskakujące jest to, że teksty określone jako proza literacka (художественная проза) i stanowiące 25,4% całego opracowanego materiału wyszły spod pióra tylko 11 autorów. W wielu podobnych słownikach tworzonych w tym czasie tekstów nie wybierano, ale dobierano losowo i losowo były dobierane z nich 1000-wyrazowe próbki. Porównaj np. Kurcz, Ida (et al.): Słownik frekwencyjny polszczyzny współczesnej. I-II. Kraków, Warszawa, 1990, IJP PAN.

3. Частотное распределение популярных словоформ и словосочетаний (основной корпус). Словоформы „Приведены результаты, встречающиеся не менее чем в 100 документах. Основного корпуса по данным на 2011 год. Объём всего корпуса: 192689044 словоформы.” Oto porównanie danych dotyczących dwóch najczęściej pojawiających się w rosyjskich tekstach leksemów NKJR i podane przeze mnie: и 7 416 716 razy w 57 816 dokumentach, в 5 842 670 w 58 555 dokumentach, dane moje: и 795 290 777 razy w 469 825 dokumentach, в 627 159 699 razy w 469 717 dokumentach.

4. MyStem. Программа MyStem производит морфологический анализ текста на русском языке.

5. Ильф, Илья; Петров, Евгений: Двенадцать стульев. https://ru.wikisource.org/wiki/Двенадцать_стульев_(Ильф_и_Петров)/Глава_XXXIV

6. W badaniach, które są poprzedzone staranną analizą źródeł, których celem nie jest opracowanie jak największego zbioru, można teksty losować, biorąc pod uwagę najróżniejsze parametry dotyczące autorów, stylu, czasu powstania tekstów. Uzyskane w ten sposób dane są bardziej wiarygodne. Wg mnie masowa analiza tekstów, którą wykonałem, też może być z powodzenie wykorzystywana do najróżniejszych badań, takich, których nie sposób przeprowadzić w przypadku danych opartych na mniejszym zbiorze tekstów.

7. Decyzja ta opierała się na założeniu, że liczące ponad 100 słów cytaty nie powtarzają się często. Wystarczy spojrzeć na częstotliwość 6‑gramów i już oczywistym staje, że dłuższe cytaty są tak rzadkie, iż można uznać, że ich wpływ na końcowe rezultaty jest minimalny.

Ostatnia aktualizacja: