Частота букв в русском языке
Написал забавный php-скрипт. Погонял через него все тексты на « Спектаторе» на предмет языка. Всего в текстах употребляется 39110 разных словоформ. Сколько именно разных слов — определить довольно сложно. Чтобы хоть как-то приблизиться к этой цифре, я брал только первые 5 букв слова и сравнивал их. Получилось 14373 таких комбинаций. С большой натяжкой это можно назвать словарным запасом « Спектатора».
Потом я взял слова и иследовал их на предмет частоты повторения букв. В идеале надо брать какой-нибудь словарь, для полноты картины. Прогонять тексты нельзя, нужно только уникальные слова. В тексте же одни слова повторяются чаще, чем другие. Итак, получились следующие результаты:
о — 9.28%
а — 8.66%
е — 8.10%
и — 7.45%
н — 6.35%
т — 6.30%
р — 5.53%
с — 5.45%
л — 4.32%
в — 4.19%
к — 3.47%
п — 3.35%
м — 3.29%
у — 2.90%
д — 2.56%
я — 2.22%
ы — 2.11%
ь — 1.90%
з — 1.81%
б — 1.51%
г — 1.41%
й — 1.31%
ч — 1.27%
ю — 1.03%
х — 0.92%
ж — 0.78%
ш — 0.77%
ц — 0.52%
щ — 0.49%
ф — 0.40%
э — 0.17%
ъ — 0.04%
Тем, кто поедет на « Поле чудес», советую заучить эту таблицу наизусть. И называть слова в таком порядке. Так, например, казалось бы, такая « привычная» буква « б» употребляется реже, чем « редкая» буква « ы». Помнить надо также и то, что в слове не одни гласные. И что если вы угадали одну гласную, то нужно начинать идти по согласным. И кроме того, слово угадывается именно по согласным. Сравните: « **а**и*е» и « ср*вн*т*». И в том и в другом случае — это слово « сравните».
И еще одно соображение. Как вы учили английский? Помните? Э пен, э пенсил, э тэйбл. Что вижу — о том и пою. А смысл. Как часто вы в нормальной жизни говорите слово « карандаш»? Если задача — научить говорить как можно быстрее и эффективнее, то и учить надо соответствующе. Проводим анализ языка, выделяем самые употребимые слова. И учить начинаем именно с них. Чтобы более-менее говорить на английском языке, достаточно всего полторы тысячи слов.
Еще одно баловство: составлять слова из букв случайным образом, но учитывая частоту появления, чтобы было похоже на нормальные слова. В первой же десятке « случайных» четырехбуквенных слов выскочило « осел». В следующей полсотне — слова « мчим» и « нато». Но, увы, очень много неблагозвучных комбинаций, таких, как « блтт» или « нрро».
Поэтому — следующий шаг. Я разбил все слова на двухбуквенные сочетания и начал случайным образом (но с учетом частоты повторения) комбинировать их. Стали в больших количествах получатся слова, похожие на « нормальные». Например: « коивдиот», « воабма», « апый», « депоид», « дебяко», « орфа», « поеснавы», « озза», « ченя», « риторя», « урдеед», « утоичи», « стых», « сапоть», « гравда», « абабап», « обарто», « еелует», « лярезы», « мыни», « бромомер» и даже « тодебыст».
Куда применить. есть варианты. Например, написать генератор красивых фирменных игривых имен. Для йогуртов. Типа, « мемолисо» или « уторорерто». Или — генератор футуристических стихов « Бурлюк-php»: « опелдиий миатон, линоаз окмиая. деесопен одесон».
И есть еще один вариант. Надо попробовать.
Некоторые статистические данные об использовании русских слов:
После заметки мне пришло вот такое письмо:
Здравствуйте, Дмитрий !
Проанализировав статью « Язык до Киева доведет» и ту ее часть, где Вы описываете свою программу, возникла идея.
Вами написанный скрипт кажется мне предназначенным абсолютно не для « Поля чудес» в большей мере, а для другого.
Первое самое разумное применение результатов работы Вашего скрипта — определение порядка букв при программировании кнопок для мобильных устройств. Да, да — именно в мобильниках и нужно все это.
Я распределил это по волнам (см. рисунок)
Далее распределение по кнопкам:
1. Все буквы из первой волны уходят на 4 кнопки в первый ряд
2. Все буквы из второй волны тоже на остальные 4 кнопки в тот же первый ряд
3. Все буквы из третьей волны туда же на оставшиеся две кнопки
4. 4,5 и 6 волны уходят во второй ряд
5. 7,8,9 волны уходят на третий ряд, причем 9-я волна уходит вся полностью (не смотря на кажущееся большое количество букв) в третий ряд 9-й кнопки, что-бы 10 кнопку оставить под всякие там знаки препинания (точка, запятая и прочее).
Я думаю все понятно и так, без детальных обьяснений. Но все же не могли бы Вы обработать Вашим скриптом (включая знаки припинания) тексты следующего содержания:
1. Л. Н. Толстой. « Анна Каренина» (лучше конечно « Войну и мир», но я не нашел на www.lib.ru) -http://www.lib.ru/LITRA/TOLSTOJ/anna_kar.txt
2. Ф. М. Достоевский. « Игрок» — www.lib.ru/LITRA/DOSTOEWSKIJ/igrok.txt
3. Леонид Филатов. « Про Федота Стрельца» — www.lib.ru/ANEKDOTY/fedot.txt
4. Вильям Шекспир. Сонеты (перевод С. Я. Маршака) www.lib.ru/SHAKESPEARE/sonets.txt
5. Б. И А.Стругацкие. Пикник на обочине. www.lib.ru/STRUGACKIE/picnic.txt
А потом выложить статистику? Мне показалось? что тексты максимально отражают нашу современную речь, а ведь мы как говорим, так и пишем sms.
Заранее большое спасибо.
Итак, анализировать частоту повторения букв можно двумя способами. Способ 1. Взять текст, найти в нем уникальные (не повторяющиеся) словоформы и анализировать их. Способ хорош для построения статистики по словам русского языка, а не по текстам. Способ 2. Не искать в тексте уникальные слова, а сразу перейти к подсчету частоты повторения букв. Получаем частоту букв в русском тексте, а не в русских словах. Для создания клавиатур и прочего нужно использовать именно этот способ: на клавиатуре набираются именно тексты.
Клавиатуры должны учитывать не только частоту букв, но и самые упортебимые слова (словоформы). Не так уж и трудно догадаться, какие именно слова самые употребимые: это, во-первых, служебные части речи, ибо роль у них такая — служить всегда и везде, и местоимения, роль у которых не менее важная: заменять в речи любую вещь/человека (это, он, она). Ну и основные глаголы (быть, сказать). По результатам анализа перечисленных выше текстов я получил такие самые « популярные» слова: « и, не, в, что, он, я, на, с, она, как, но, его, это, к, а, все, ее, было, так, же, то, сказал, за, ты, о, у, ему, мне, только, по, меня, бы, да, вы, от, был, когда, из, для, еще, теперь, они, сказала, уже, него, нет, была, ей, быть, ну, ни, если, очень, ничего, вот, себя, чтобы, себе, этого, может, того, до, мы, их, ли, были, есть, чем, или, ней» и так далее.
Возвращаясь к клавиатурам — очевидно, что в клавиатуре буквосочетания « не», « что», « он», « на» идругие должны находится как можно ближе друг к другу, или если не вплотную, то каким-то наиболее оптимальным образом. Нужно провести исследования, каким именно образом пальцы движутся по клавиатуре, найти самые « удобные» позиции и поместить в них самые употребляемые буквы, не забывая, однако, про буквосочетания.
Проблема, как всегда, одна: даже если и получиться создать Уникальную Клавиатуру, куда деть миллионы людей, которые уже привыкли к qwerty/йцукен?
Насчет же мобильных устройств. Наверное, it makes sense. По крайней мере, буквы « о», « а», « е» и « и» должны точно находиться на одной клавише. Знаки препинания в порядке частоты употребления : , . — ? ! » ; : ) (
Запятая употребляется в 2 раза чаще, чем точка. А точка на стандартной русской клавиатуре расположена удобней.
Статистика по приведенным выше текстам:
По уникальным словам:
о — 9.36%
а — 8.40%
е — 8.08%
и — 6.91%
н — 6.12%
с — 5.67%
т — 5.49%
р — 5.30%
л — 5.00%
в — 4.67%
п — 3.38%
у — 3.17%
к — 3.14%
м — 2.97%
д — 2.72%
я — 2.50%
ь — 2.08%
ы — 2.06%
з — 1.85%
б — 1.61%
г — 1.47%
ш — 1.32%
ч — 1.22%
й — 1.21%
ж — 1.01%
ю — 0.99%
х — 0.97%
щ — 0.48%
ц — 0.37%
ф — 0.20%
э — 0.06%
ъ — 0.05%
По текстам в целом:
о — 11.35%
е — 8.93%
а — 8.23%
н — 6.71%
и — 6.48%
т — 6.17%
с — 5.22%
л — 4.95%
в — 4.47%
р — 4.17%
к — 3.35%
д — 2.97%
м — 2.93%
у — 2.86%
п — 2.39%
я — 2.17%
ь — 2.09%
ы — 1.90%
г — 1.811%
б — 1.77%
ч — 1.67%
з — 1.65%
ж — 1.14%
й — 1.09%
ш — 0.89%
х — 0.79%
ю — 0.66%
э — 0.33%
ц — 0.29%
щ — 0.29%
ф — 0.10%
ъ — 0.02%
Считаем буквы в произведениях русской литературы
Вы когда-нибудь задавались вопросом, какая буква русского алфавита встречается в текстах чаще остальных? Именно поиском ответа на этот вопрос я и собираюсь заняться. A пока, вы не знаете результатов моего маленького исследования, я предлагаю вам угадать пять самых распространенных букв нашего алфавита. Готовы?
Итак, как говорил один мой знакомый, хватаясь за баранку своего автомобиля, поехали.
Для начала нам понадобятся тексты, на которых мы будем практиковаться. Я выбрал три литературных произведения наших классиков: «Война и мир» Льва Николаевича Толстого, «Тихий Дон» Михаила Шолохова, «Мастер и Маргарита» Михаила Булгакова. Почему эти произведения? Просто первые два — это единственные, которые я читал в школе, а «Мастер и Маргариту» мы с женой смотрели по телевизору и поэтому, я, немного разбираюсь в теме.
Теперь нам нужно каким-то образом посчитать в них количество каждой буквы алфавита и общее количество букв. Как же это сделать? Можно пойти самым простым путем, как, например, делает мой начальник. Для этого нужно пойти в библиотеку, взять четыре тома «войны и мир», придти домой и заняться пересчетом букв, затем таким же образом поступить с остальными книгами. Конечно, на это уйдет много времени, но мой начальник очень трудолюбивый человек, а еще у него есть подчиненные. Можно им по тому раздать, a, если не посчитают, или ошибутся — «премии лишу».
Этот способ мне сразу не понравился, и я решил написать программу, которая сделает всю работу за нас. Ниже прилагается код программы, написанной на perl. Она подсчитывает общее количество букв в тексте, а также количество каждой из букв алфавита и их процентное содержание.
use strict;
use locale;
use POSIX qw (locale_h);
setlocale(LC_CTYPE, ‘ru_RU.CP1251’);
setlocale(LC_ALL, ‘ru_RU.CP1251’);
my @letters = qw(А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я);
my @out = qw(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0);
open (TEXT, »
while (defined(my $char = getc(TEXT))) if (uc($char) eq «Ё»)
for(my $i=0; $i <@letters; $i++) if(uc($char) eq $letters[$i]) <$out[$i]++; $sum++;>
>
>
open(OUT, «>out.txt»);
print OUT «Всего букв — $sum\n\n»;
for(my $i=0; $i <@out; $i++) print OUT "$letters[$i] - $out[$i] (".($out[$i]/$sum*100)."%)\n";
>
Для наглядности я немного доработал полученные данные в excel.
Как говориться, результат налицо. Самая популярная буква русского алфавита — это «О», а пятерка выглядит следующим образом: «О», «А», «Е», «И», «Н».
Теперь осталось ответить на самый главный вопрос. Зачем все это нужно?
Эту информацию, например, можно использовать, когда Леонид Якубович разрешит нам открыть любые пять букв. Я надеюсь, теперь вы знаете, какие буквы надо называть?
А если говорить серьезно, то нахождение частот встречаемости символов используется намного чаще, чем вы можете себе представить. Эта задача входит в алгоритм Хаффмана, который применяется во многих современных программах сжатия данных.
- perl
- алгоритм Хаффмана
- сжатие данных
Седьмая буква алфавита
29 ноября можно считать днем рождения «ё» — седьмой буквы современного русского алфавита, обозначающей сочетание звуков [йо].
В этот день 240 лет назад княгиня Екатерина Дашкова, возглавлявшая Императорскую академию наук, обратила внимание на то, что буква «е» в различных словах могла обозначать сочетание звуков как [йе], так и [йо]. На заседании академии княгиня предложила использовать «іô» для обозначения [йо]. Хотя идея Дашковой и не была утверждена, она стала одним из шагов к появлению новой буквы. Впервые же использовал и ввел в типографику современный вариант «ё» историк Николай Карамзин в 1797 году.
Согласно анализу электронного орфографического словаря «Академос», в современном русском языке есть более 8 тыс. слов с буквой «ё». Чаще всего «ё» встречается в сочетаниях «лё» и «ён».
В большинстве случаев «ё» располагается во второй половине слова ближе к середине. В самом начале буква встречается в 35 словах, ровно посередине — в 789, в самом конце — в 114.
Подробнее о положении «ё» в словах и ее сочетании с другими буквами — в инфографике ТАСС.
© Информационное агентство ТАСС
Свидетельство о регистрации СМИ №03247 выдано 02 апреля 1999 г. Государственным комитетом Российской Федерации по печати.
Какая буква чаще всего используется в русском языке? И как проще всего это узнать,
О, потом Е, потом И, потом А. Потом согласные Н, Т, С, Р, и т. д.
Единственный правильный ответ! В своё время это любой типограф знал по опыту, какого шрифта (литеры) больше всего расходуется при наборе.
ОлегГений (84812) 14 лет назад
Откуда такая уверенность в правильности ответа? Вы типограф?
Виктор Единович Искусственный Интеллект (147941) Нет. Просто я — бывший учёный-энциклопедист.
Остальные ответы
я думаю, что «А».
по степени затёртости на клавиатуре у литератора
букаФка ААААААААААА))))
я так считаю что буква «Х» .-доказательства? прсто прогуляйтесь по улице
чаще всего используют 3 буквы это У Й Х
наверное Ъ
это согласная в любом случае,
где то слышал что толи К толи Н
точно не помню
Как все шутят. Конечно, буква О.
О, потом Е, потом И, потом А. Потом согласные Н, Т, С, Р, и т. д.
Пришлось посчитать по большому числу текстов. А хулиганам не верьте.
Виктор ЕдиновичИскусственный Интеллект (147941) 14 лет назад
Единственный правильный ответ! В своё время это любой типограф знал по опыту, какого шрифта больше всего расходуется при наборе.
Конечно буква Р. Потому что она посередине клавиатуры находится!! ! 🙂
берём любой словарь, более всего слов на «п»,после на «р»,после на «о»,после на «Т»,в итоге самое характерное слово для русского простор и простота
inga zajontzМыслитель (9374) 14 лет назад
«с» пропустила
Попробуйте угадать, какая из букв русского языка встречается чаще всего?
Буква О. Частота появления – 0.090. Т. е. в последовательности из 1000 букв, буква О будет встречаться в среднем 90 раз.
Какие буквы занимают лидирующие позиции, встречаются чаще всего?
Гласные. Именно они чаще всего встречаются в русском языке, делаю нашу речь «певучей» . Следом за О идут буквы Е и Ё (вместе, их не разделяют, т. к. при написании, часто теряют Ё). Частота появления – 0.072. За ними – буквы А и И. Частота появления каждой из них – 0.062.
Достаточно ли этого для того, чтобы декодировать текст? В принципе да, если мы уверены, что последовательность кодов содержит текст именно на русском языке в какой-то из известных или неизвестных нам кодировок. Но всегда есть некоторая вероятность, что предъявленная последовательность кодов никакого отношения к русскому языку не имеет. Чтобы убедиться в этом, надо воспользоваться частотным словарем слов русского языка.
Как вы полагаете, какое слово встречается в русском языке чаще всего?
Союз И, затем следуют столь же краткие части речи – В, НЕ, ОН, НА. Но чаще всего, конечно, будет встречаться пробел.
Декодируемый текст надо проверить на совпадение по частотному словарю. И только при более-менее полном совпадении можно говорить о том, что мы имеем дело текстом, написанном на русском языке.
Это дает 100% результат, если текст достаточно большой. Если же речь идет о нескольких словах, то частота букв (и тем более слов) может быть нарушена. Что делать в этом случае? Надо предложить читателю несколько вариантов на выбор. Декодировать текст по одной из гласных букв, которые встречаются чаще всего. Гласные! Они всегда будут встречаться чаще других букв. Если закодирован именно текст на русском языке, то успех гарантирован.
Источник: www.ieee.ru
В английском -е-, в русском -о-.
Димитрий ХворовПрофи (899) 7 лет назад
В Поле чудес «А». Такое там было, что 3 передачи подряд «А» во всех словах, а про букву «О» скажу, что даже 2 передачи подряд не было её во всех словах. Только в одной передачи подряд «О» во всех словах. Вот и делайте вывод. Последний раз была «О» во всех словах 27.06.2014. А буква «А» последний раз была во всех словах 20.05.2016.
просто совпадение, О чаще.
Посмотрите на клавиатуру. Самые используемые буквы — в центре, именно их набирают указательными пальцами при слепом наборе.
думаю, что это буквы о, т
Да че вы паритесь просто нажимаете ctrl+f а потом набираете в окне буквы и сами смотрите каких букв сколько раз использовано