Канитель — (от франц. cannetille), тонкая металлическая (обычно золотая или серебряная) нить, употребляемая для вышивания (БСЭ)

Статистика по русской лингвистике

Здесь представлена статистика, собранная во время создания простейшего робота-генератора русских фраз
(см. начало сайта)

Распределение слов

На 12.5Мб русского текста (в основном классическая литература разных авторов), на 142114 разных слов в нём, чаще всего встречается союз «и» — 83575 раз (слова берутся во всех словоформах). И это больше, чем половина! Вторым по частоте встречаемости оказывается предлог «в» — 52124 раз, на третьем месте — частица «не»: 36268 раз.
Глагол «сказал» (ед.ч.,3л.) встречается 6566 раз и находится на 28-м месте.
А вот слово «да» находится на 36-м месте и встречается 5039 раз, тогда как «нет» — встречается 2948 раз и находится на 53 месте.
Остальные слова выбраны достаточно случайно, исходя из предпочтений автора.
месточастотностьслово
183575и
252124в
336268не
286566сказал
365039да
532948нет
622461если
1131529надо
222754почти
274596однако
328518именно
379452иногда
480353жить
535315час
635273столько
738232звуки
841206ладно
994177недавно
1100160рассказ
1239144хлеб
1460122церковь
1704106множество
188396роман
234378причина
337655чтение
512336серебро


Если же мы выберем для анализа только приведённые словоформы (неопределённые формы глаголов, полные формы ед.ч. 1л. существительных/прилагательных и т.д. — инфинитивы слов), то распределение будет выглядеть немного по-другому.
Для наглядности картинки взяты те же слова, что и в предыдущем анализе, но по первым местам уже видно, что распределение существенно меняется и 3-е место заняло местоимение «он» (6-е место в распределении всех словоформ), а местоимение «она» находится в данном случае на 10-м месте (18-е место соответственно).

месточастотностьслово
183575и
252124в
345772он
436268не
1810808сказать
43 5039да
673004нет
902461если
1431529надо
1441529жить
300754почти
337677час
402596однако
423556звук
450518именно
475495причина
526452иногда
623380рассказ
663354церковь
675344хлеб
742317роман
870273столько
1088214ладный
1311177недавно
1465157множество
1869121чтение
1980114серебро


Всего на 142114 слов получилось 33123 приведённых словоформ (4.3:1). Хотя на втором графике падение кривой распределения заметно медленнее, поведение этих кривых очень похоже.
Эти распределения, однако, можно представить более наглядно, а именно: если мы прологарифмируем их по обеим осям, то они, соответственно, станут выглядеть вот так:



Т.о., мы увидели, что закон распределения слов в тексте на русском языке подчиняется степенной функции, и этот закон можно выразить иначе: вероятность встретить данное слово в русском тексте более, чем k раз, подчиняется степенному закону:

P(k) ~ k

В первом случае γ=~1.11, а во втором γ=~1.15

Распределение словоформ

Теперь интересно посмотреть на распределение словоформ. Например, союзы и предлоги имеют по одной единственной словоформе, местоимение «она» и «он» имеют по 7 и 8 словоформ соответственно (она, её, ей, ней, неё, нею, ею & он, его, ему, него, ним, им, нём, нему соответственно), слово «чувствительный» встретилось в 14 словоформах (чувствительный, чувствителен, чувствительные, чувствительной, чувствительного, чувствительная, чувствительную, чувствительно, чувствительнее, чувствительными, чувствительна, чувствительны, чувствительному, чувствительным) — сравнительные прилагательные часто имеют общие формы с наречием, а глаголы, которые имеют словоформы среди деепричастий и причастий, спрягаются по лицам, числу, соотносятся с разными временами лидируют в списке частоты встречаемости их словоформ: 1-е место занял глагол «занимать» — 81 словоформ, на 2-ом месте — «давать» — 74 словоформ; 3-е и 4-е места соответственно заняли глаголы «принимать» и «начинать» — по 69 и 68 словоформ соответственно.
Вообще, первые три сотни мест занимают практически одни глаголы, а первое прилагательное («сильный») встретилось только на 283 месте.

Ниже в таблице слева приведены первые 50 словоформ — как видим, это всё глаголы. Cправа представлены распределения словоформ.

месточастотностьслово
181занимать
274давать
369принимать
468начинать
567представлять
665совершать
764называть
862получать
962скрывать
1061собирать
1160открывать
1260вызывать
1359окружать
1459выдавать
1558входить
1658бросать
1757отдавать
1857составлять
1957проходить
2057видеть
2157выражать
2255связывать
2355оставлять
2455исполнять
2555убивать
2654понимать
2754встречать
2854обращать
2952подходить
3052посылать
3152подавать
3251приходить
3351признавать
3451забывать
3550приносить
3649употреблять
3749решать
3849закрывать
3949предлагать
4049любить
4149кончать
4248определять
4348производить
4447заставлять
4547умирать
4647поднимать
4747уходить
4847возбуждать
4947оставаться
5047снимать

Если мы опять прологарифмируем обе оси, то прямую мы получим только для первой сотни глаголов, а далее производная будет спадать быстрее, чем линейно, хотя полученную кривую и можно будет аппроксимировать довольно неплохо большими отрезками прямых линий.

Распределение слов внутри частей речи, например глаголов, прилагательных и существительных ведёт себя уже скорее по экспоненциальному закону. При том слова, формирующие первые несколько сотен, хотя и являются наиболее употребимыми в основном, тем не менее, определяют стиль и даже эпоху текста.

Например, в нашем корпусе текстов из русской и советской литературы первые 50 существительных выглядят вот так (в скобках указана частота встречаемости):

    (18)лев, (17)гусар, (17)бог, (17)сын, (16)человек, (15)вор, (15)орел, (15)солдат, (15)господин, (15)государь, (15)француз, (15)женщина, (15)бурлак, (15)друг, (15)офицер, (15)немец, (14)инженер, (14)генерал, (14)ангел, (14)враг, (14)товарищ, (14)отец, (14)сосед, (14)старик, (14)студент, (14)старуха, (14)конь, (14)учитель, (14)начальник, (13)разбойник, (13)собака, (13)автор, (13)девушка, (13)мальчишка, (13)предводитель, (13)девочка, (13)командир, (13)комсомолец, (13)купец, (13)преступник, (13)представитель, (13)супруг, (13)хозяин, (13)мальчик, (13)барышня, (13)охотник, (13)дурак, (12)бандит, (12)работник, (12)художник.
Слово «лев» попало вверх списка случайно: в одном из произведений это было имя собственное и, потому, часто повторялось. Как видно, данный набор слов довольно однозначно может характеризовать время и стиль составления анализируемых текстов.

Семантическая сеть на текстах русского языка

Посмотрим теперь на распределение связей слов в русском языке. Оно будет представлять из себя по виду такой же график, что и для распределения собственно слов:



И если мы возьмём для выборки всё те же слова, что и для первых двух анализов (частотность слов), то заметим, что их расположение в распределении будет, однако, заметно иным, но сам вид распределения оказывается практически в точности такой же!

месточастотностьслово
17939и
24240в
52234не
71299он
56243да
109138надо
146105сказал
152103почти
16295нет
30855однако
33451час
52337жить
55635иногда
60333звуки
65931если
67930именно
75228недавно
86325столько
99322множество
120919рассказ
168014роман
179214хлеб
247410причина
28299церковь
53565чтение
75424серебро
271761ладно


Взяв логарифм обеих осей, мы опять получим прямую на графике, что также доказывает степенной характер распределения связей между словами, и, таким образом, семантическая сеть русского языка получается немасштабируемой (scale-free). И даже более того: см. график выше, где синяя линия является аппроксимацией логарифмированного распределения связей в тексте на русском языке, всё того же объёма ~12.5Мб: семантическая сеть получается практически идеально немасштабируемой, т.е., вероятность того, что у случайно выбранного в тексте слова найдётся на весь этот текст k связей будет пропорциональна
k, где γ=~1.18.

  • Статья о подобной сетевой структуре полученной при анализе текстов из British National Corpus находится здесь (Approaching the linguistic complexity — Drożdż, Stanisław; Kwapień, Jarosław; Orczyk, Adam; Jan, 2009) — в конце там вы увидите очень похожие графики. Более того, авторы статьи приводят степенной коэффициент α=~0.9..1 для английских и польских корпусов текстов, а у нас эта α = 1/γ =~ 0.85)

Под связью между словами в данном анализе подразумевается сочетаемость слов, привидённых к неопределённой части речи. Т.е., количество связей между словами «белый» и «медведь» — это сколько раз встретилось по тексту их сочетание. Например, во фразе «Белый медведь объелся белым снегом» для «медведь» 2 связи, для «белый» — 3. При этом учитывается только то, как слова сочетаются в принципе: если в массиве текстов попадётся другая фраза со словосочетанием «белый медведь» (а мы это сочетание уже встретили ранее), то второй раз мы его не считаем. Т.о. на выбранный для анализа корпус текстов натягивается семантическая сеть.

Если бы мне ранее не попадалась информация о том, что естественная английская речь может быть представлена немасштабируемой сетью, т.е. что слова и связи между ними распределены по одному и тому же степенному закону с близкими по значению показателями степени, то меня бы сильно удивили полученные результаты. Однако, одно то, что при логарифмировании кривой распределения связей между словами точки практически идеально уложились на прямую — это уже показалось мне достаточно поразительным результатом.

Выводы

С помощью представленного способа анализа текстов можно составлять профили авторов и стилей для последующей их идентификации. Очевидно, что как общие распределения слов, так и по частям речи (особенно последние) будут отражать конкретные характеристики составленного текста, включая время написания, издание (литература, публицистика, новости, научная статья из той или иной области и т.п.), авторскую манеру. Так же интересно и перспективно было бы сравнить текстовые профили на разных языках, но одного периода и стиля издания — например, французскую и русскую литературу конца XIX века или топ-10 СМИ нашего времени в США, Англии, Китае и РФ — какие именно слова входят в первую сотню наиболее употребимых вообще и по частям речи, где те или иные случайно выбранные слова находятся в общем распределении.

Более глубокие результаты подобного анализа можно также использовать для создания «умного» генератора фраз и робота-собеседника. Зная структуру семантической сети на «живом» тексте того или иного типа можно, видимо, определять автоматически стиль речи, нормируя её по зараннее разработанному профилю.

В процессе написания робота-генератора фраз использовалась также программа-парсер mystem, которая производит морфологический анализ текста на русском языке (автор — И. Сегалович, Yandex).