Частота букв в русском языке
Написал забавный 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»: «опелдиий миатон, линоаз окмиая... деесопен одесон».
И есть еще один вариант. Надо попробовать...
Некоторые статистические данные об использовании русских слов:
- Средняя длина слова 5.28 символа.
- Средняя длина предложения 10.38 слов.
- 1000 наиболее частотных лемм покрывает 64.0708% текста.
- 2000 наиболее частотных лемм покрывают 71.9521% текста.
- 3000 наиболее частотных лемм покрывают 76.5104% текста.
- 5000 наиболее частотных лемм покрывают 82.0604% текста.
После заметки мне пришло вот такое письмо:
Здравствуйте, Дмитрий !Проанализировав статью «Язык до Киева доведет» и ту ее часть, где Вы описываете свою программу, возникла идея.
Вами написанный скрипт кажется мне предназначенным абсолютно не для «Поля чудес» в большей мере, а для другого.
Первое самое разумное применение результатов работы Вашего скрипта — определение порядка букв при программировании кнопок для мобильных устройств. Да, да — именно в мобильниках и нужно все это.Я распределил это по волнам (см. рисунок)
Далее распределение по кнопкам:
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%
|
По текстам в целом: о — 11.35% |
Ассоциаториум
Для начала отсылаю к статье про гипертекст в моем дипломе. Гипертекст — это здорово. «Ход ваших мыслей мне нравится».
Мыслительный процесс не порождает идеи строго друг за другом, начиная с пустого места, и не производит их в готовом, отшлифованном виде. Представляется, что процесс мышления идет сразу на нескольких «фронтах», что идеи развиваются и отбрасываются одновременно на разных уровнях и с разных позиций, а также зависят одна от другой, взаимно обогащают друг друга. И существует необходимость во внешней фиксации таких переплетающихся линий мыслительного процесса.
Гипертекст не линеен. Мышление — тоже. Более того, ассоциативное мышление нелинейно. Каждый структурирует свои «заметки» по-разному. Я, например, их нумерую. Некоторые используют ЧПУ и разбивают тексты по рубрикам. (В качестве примера — еще одна статья на тему «почему мы не можем делать гипертекст» — обязательно прочтите). Блоги, будучи по существу лишь мелкими записками, упорядочены по дате. Часто это оправдано — если запись «дневниковая», то есть привязанная к дню, определенное событие, дата которого важна и значима.
Но есть вещи, которые структурировать и упорядочивать как бы не нужно. Представьте себе мелкие записочки по принципу «что в голову полезло — то полезно», где упорядоченность по дате не только не нужна, но даже и вредна. Вредна потому, что часто старые записочки ничуть не менее значимые, чем новые, а связать их получается только линейно, кнопками «вперед-назад», «туда-сюда-обратно». Можно, разумеется, ссылаться из одной заметочки в другую, но это не всегда удобно, да и не упомнишь их все...
А теперь, собственно, сама идея.
Пользователь пишет заметочку. Указывает к ней ключевые слова, например: «Любовь, несчастная любовь, жопа, все козлы, никто меня не любит, Лена». Пишет еще одну заметочку, указывает и к ней ключевые слова. Требования к заметочкам — небольшой объем, записки на манжетах или других местах.
Самое главное — отображение. Отображая заметочку, проверяем, есть ли в ней ключевые слова. Если мы видим в тексте заметки ключевое слово из любой другой заметки — ставим ссылку на эту заметку. В тексте «Любовь — морковь, кеды — полукеды» ссылкой будет выделено слово «любовь», ведущее на первую заметочку. В идеале:
а) В каждой заметочке должно быть 3-7 ссылок на другие заметочки. Сколько это дает вариантов навигации — посчитайте сами. Если сможете.
б) Заметочек должно быть много. Если ключевые слова повторяются (у трех заметок есть ключевое слово «любовь», то ссылка под словом «любовь» проставляются случайным способом на одну из трех заметочек. Сколько это дает вариантов навигации — посчитайте сами.
г) Никакой другой упорядоченности быть не должно, в идеале — первая заметочка выдается опять же случайным образом.
Проблемы: русский язык. Склонения, числа и падежи. Если вы напишите в ключевые слова «любовь», то слово «нет любви» не будет выделено. В принципе, с этим можно будет справится, если повозиться.
Как это все мне мыслится в случае адекватной реализации: некая ассоциативная сеть, в которую мы попадаем с ее случайного места и начинаем не линейную, но не бессмысленную навигацию. Проблема «РОМАНА» была в том, что он оперировал слишком большими единицами — главами, чтобы можно было без особых усилий производить по ним навигацию и(или) добавлять их. Здесь же мы оперируем «заметочками», из-за их объема двигаться по ним легко и приятно, как и добавлять их. Ну и кроме того, «ассоциаториум» должен писаться одним человеком — тогда мы получим некий «слепок» (?) его личности (?).
Такой вот набросок идеи. Комментарии приветствуются.
Что такое дизайн
Начать, думаю, следует с определения, что же такое «дизайн». Обратимся, как говорится, «к первоисточнику». Англо-русский словарь дает такое определение:
design
1. существительное
1) замысел, план
2) намерение, цель
3) замысел (тайно вынашиваемый план); мн. умысел, интрига (on, against)
4) чертеж, эскиз, набросок; рисунок, узор
5) модель, шаблон; лежащая в основе схема; композиция
6) дизайн
2. глагол
1) задумывать, придумывать, разрабатывать; замышлять
2) предназначать (a book designed primarily as a college textbook — книга, предназначенная преимущественно в качестве учебника для колледжей).
3) проектировать; конструировать
4) делать эскизы, наброски, создавать узоры и т. п.
«Мегаэнциклопедия» на km.ru дает следующее определения дизайна:
ДИЗАЙН (от англ. design замысел, проект, чертеж, рисунок), термин, обозначающий различные виды проектировочной деятельности, имеющей целью формирование эстетических и функциональных качеств предметной среды. В узком смысле дизайн — художественное конструирование.
Ну а «художественное конструирование» — это «вид художественной деятельности, проектирование промышленных изделий, обладающих эстетическими свойствами».
Словарь Ожегова пишет о дизайне вот что:
ДИЗАЙН, а, м. Конструирование вещей, машин, интерьеров, основанное на принципах сочетания удобства, экономичности и красоты.
Артемий Лебедев говорит о дизайне следующее:
«... дизайн, это образ жизни и мысли — дизайнер, вопреки превратному представлению большинства, не только пиксели по экрану гоняет и не только мышью водит по столу. Он делает из хаоса порядок. Он владеет умами. Он создает настроения...»
Все правильно. Но не конкретно. На DeusExMachina есть даже отдельная статья, которая так и называется — «Что такое дизайн». Очень правильная статья.
Можно поспрашивать поисковые машины — что же такое дизайн.
Миша Галушко говорит:
Дизайн — это круглая сковородка.
И он прав, но об этом — ниже.
Итак, что же все-таки такое этот «дизайн?»...
«Дизайн — это умение рисовать такие загогулины, чтобы пользователь, зайдя на сайт, обязательно воскликнул: „Wow! Этот чувак явно крут в Фотошопе!“»
Кто-то не совсем правильно, верно? Поэтому многие пользуются для себя другим определением:
«Дизайн — это умение рисовать такие загогулины, чтобы пользователь, зайдя на сайт, обязательно воскликнул: „Wow! У этого чувака явно нет проблем с воображением, а скорее наоборот!“»
Зачем они это делают — я опишу позже, а пока — моя формулировка, что же такое дизайн.
Дизайн — конструирование вещей таким образом, чтобы ими было удобно, легко и приятно пользоваться по назначению и (практически) невозможно не по назначению.
© Spectator. И можете меня цитировать!
А теперь — буду обосновывать каждое слово. Чтобы не придрались. «Конструирование». Можно использовать «создание», «проектировка» и другие синонимы. То, что дизайн — это создание, думаю, объяснять не надо. Слово «вещь» здесь играет роль собирательного понятия. «Вещью» может быть и сайт, и молоток. Кому не нравится — может использовать слово «сущность», например. То есть дизайн — это создание сущностей.
Теперь надо описать характеристику создания сущностей, ибо не каждый процесс создания можно назвать дизайном. Прежде всего, у дизайна есть цель. Четкая, прагматичная цель: сделать так, чтобы вещь работала по назначению, то есть выделить существенные для работы признаки. Выделить их таким образом, чтобы они были очевидны и «принуждали» пользователя поступать именно так, а не иначе.
К примеру, молоток. Выделяем признак, необходимый для качественной работы: способность забивать гвозди. Замечательно. Значит то место, каким молоток бьет по гвоздю, должно быть твердым и ровным. Логично? Вполне. Берем железную болванку. Гвозди ей уже забивать можно, но все еще не совсем удобно. Добавляем рычаг — рукоятку. Так значительно лучше. Минимум выполнен. А вот все, что идет за минимум и направлено на дальнейшее повышение удобства пользования — как раз то самое, что отличает хороший дизайн от плохого. Можно, например, поместить на рукоятку в некоторых местах резиновые полоски, чтобы рука не соскальзывала. Это будет дизайном. Можно сделать бьющую часть молотка из золота. Это дизайном не будет. Не потому, что золота жалко, а потому что золото — металл мягкий и такой молоток долго не продержится.
Тем не менее, я написал «удобно, легко и приятно пользоваться». В понятие «приятности» входит в том числе и эстетическая красота. Согласитесь, просто приятней держать в руках молоток, металлические части которого, например, хромированы, а не просто являются черными железками. На такой молоток приятней смотреть и другим не стыдно показать.
«...формирование эстетических и функциональных качеств предметной среды» — это как раз и есть то, что я перечислил. Формирование функциональных качеств — это выделение значимых признаков, необходимых для работы предмета, (удобство и легкость пользования) а формирование эстетических качеств — это создание «приятности» пользования предметом.
«...и (практически) невозможно не по назначению» — здесь я имел в виду «понятный» дизайн. Кнопки должны вожделеть, чтобы на них нажали. Они должны всем своим видом показывать, что они — кнопки. (Смотри пример ниже). Нормальный текст должен всем говорить: «я — нормальный текст! меня нужно читать!», а ссылки — «мы — ссылки! видите, как мы выделяемся? это неспроста!». Сlick here, как говорится. Идеальный дизайн — это такой дизайн, при котором вещь, попав к вам в руки, «сама по себе» занимает удобное положение и вы уже «знаете» — чисто на уровне ощущений — что с этим предметом делать.
Миша Галушко говорит:
Дизайн — это круглая сковородка.
Вот именно это оно и есть. Треугольная сковородка — это не дизайн. Это извращение.
Совершенно замечательная статья: User Interface Design for Programmers. То есть «Дизайн пользовательского интерфейса для программистов». На самом деле там описывается дизайн интерфейсов «вообще». Я прочитал на одном дыхании. Да, все на английском, но на довольно простом уровне. Не примитивно, а скорей наоборот. Но язык простой и понятный. Чувство юмора опять же — просто замечательное. Мне ни разу не пришлось лезть в словарь. В общем, это один из немногих текстов, который мне тут же захотелось перевести на русский язык. Может быть как-нибудь и переведу, хотя зачем? В оригинале вполне удобноваримо. Всем дизайнерам — ознакомиться в обязательном порядке.
Следующий пример я нагло утащил оттуда. Вот он:

Наглядная иллюстрация неправильного дизайна. Красиво? Может быть. Но неудобно: сбивает пользователя с толку. «Go» и «Log on» — кнопки, и это видно сразу. Что касается «sitemap» и «help», то поначалу эти надписи не воспринимаются, как кнопки. Когда же до пользователя доходит, что на них можно нажать, он обязательно попытается кликнуть и на надпись «quotes», не являющейся кнопкой.
ИТОГО.
Есть некий предмет, который должен работать так, как планирует дизайнер. Цель дизайна — заставить предмет работать нужным образом с наибольшей эффективностью. С этой точки зрения становятся совершенно понятными сайты «дизайнеров». Есть такие сайты, принцип которых:
«Дизайн — это умение рисовать такие загогулины, чтобы пользователь, зайдя на сайт, обязательно воскликнул: „Wow! У этого чувака явно нет проблем с воображением, а скорее наоборот!“»
Но и тут все верно. ЦЕЛЬ такого сайта — показать всем: «Смотрите! Я дизайнер! Я крут!». Именно для этого и нужен «навороченный дизайн» — он осуществляет поставленную цель.
Уточнения.
Вот такие добавления от Александра Ларьяновского:
From: Alex Laryanovsky > Идеальный дизайн — это такой дизайн, при котором вещь, попав к вам в руки, «сама по себе» занимает удобное положение и вы уже «знаете» — чисто на уровне ощущений — что с этим предметом делать.
Нет, Дим, это не идеальный дизайн. Это «хороший нормальный дизайн». Как круглая сковорода. А «идеальный дизайн», это когда сущность «выглядит» как нечто уникальное и особенное, а при использовани столь же проста и удобна, как и без «идеального дизайна», но с «обычным».
И еще — ты, Миша, еще МНОГО человек понимают, где грань между функциональностью и дизайном. Более того, и ты тоже про это писал много раз. Но в этой статье ты не четко отделил зерна от плевел и, мне кажется _не_все_ читатели сходу поймут разницу, тем более что «треугольная сковородка» — это функциональность.
To: Spectator
Действительно, я как-то не совсем четко это обозначил. Исправляюсь: идеальный дизайн — это максимальное удобство использования плюс определенная доля эстетики, то есть «когда сущность „выглядит“ как нечто уникальное и особенное», НО! только когда это не идет в ущерб удобству.
Я дал такое определение дизайну: «Дизайн — конструирование вещей таким образом, чтобы ими было удобно, легко и приятно пользоваться по назначению и (практически) невозможно не по назначению». Просто я мало акцентировал на слове «приятно». Ведь приятность использования — это не только удобность, я ведь специально написал «удобно И приятно». Может быть удобно — и неприятно одновременно. Ну, бывает такое, хотя и редко. Ну а в «приятность» и входит уникальный внешний вид и прочее.
Но еще раз говорю: сначала надо сделать «хороший нормальный дизайн», что само по себе уже очень много, ибо мало кто сможет сделать хотя бы это. А уже потом — постараться его не испортить уникальным внешним видом. Это самое сложное.