Если разговор про быстропечатание, то имею сказать вот что.
Буквы ц, щ, э, ф, ъ имеют частоту ниже 0,5 %, а многие буквосочетания - выше (на, ни, не, но; ра, ре, ро, ер; та, ть; ва, во; ли; ка, ко; по) и даже выше 1% (ст, то). Это означает, что выгоднее некоторые буквы повесить на сочетания клавиш (например, щ=шш), а некоторые сочетания букв - на клавиши.
Кроме того, можно объединить ь/й, поскольку они не встречаются в одной позиции.
Не знаю, что скажут сторонники слепого набора насчёт 4 рядов, но можно использовать цифровой ряд под буквы. Цифры можно набирать на цифровой клавиатуре.
Итого: убираем 6 букв и 10 цифр с общей частотой 1%, добавляем 16 буквосочетаний с общей частотой 13%. Профит.
Далее надо подумать над переходными вероятностями. Известно, что:
После "э" с вероятностью 84% следует "т".
После "ть", "сь", "ся" с вероятностью 3/4 следует пробел.
После "г" с вероятностью 1/2 следует "о".
После "т" с вероятностью 1/4 следует "о".
После "п" с вероятностью 1/4 следует "о".
P.S. И не забыть про запятую с частотой 2%.
Как можно быстро и дёшево использовать переходные вероятности: повесить сочетания "го", "то", "по" на последовательность средний+указательный в одном ряду, т.к. это очень быстрая последовательность. Не особо важно, что написано на указательной клавише, главное, чтобы та буква встречалась в этой позиции в разы реже, чем "о". Например, "г"+"с", "т"+"д", "п"+"в". Как после этого набирать "гс", "тд", "пв" - другой вопрос :)
Если считать такой аккорд за одно нажатие, то мы смело освобождаем две клавиши под запятую (2%) и, допустим, апостроф, который юзер может помимо основной функции использовать вместо кавычек, что в сумме с "го" даст примерно 1%.
Итого общий выигрыш 16%.
Есть предложения, как поднять до 30%?
Цитата: Alone Coder от октября 17, 2010, 13:03
Буквы ц, щ, э, ф, ъ имеют частоту ниже 0,5 %, а многие буквосочетания - выше (на, ни, не, но; ра, ре, ро, ер; та, ть; ва, во; ли; ка, ко; по) и даже выше 1% (ст, то). Это означает, что выгоднее некоторые буквы повесить на сочетания клавиш (например, щ=шш), а некоторые сочетания букв - на клавиши.
У
ц,
щ и
э частота выше 1%; у
то — 7,1%, у
ст — 6,2%. Но идея интересная, мне она тоже приходила в голову.
Цитата: Alone Coder от октября 17, 2010, 13:03
Кроме того, можно объединить ь/й, поскольку они не встречаются в одной позиции.
Как их объединить?
Цитата: Alone Coder от октября 17, 2010, 13:03
Не знаю, что скажут сторонники слепого набора насчёт 4 рядов, но можно использовать цифровой ряд под буквы. Цифры можно набирать на цифровой клавиатуре.
Это, конечно же, никуда не годится.
Цитата: Alone Coder от октября 17, 2010, 13:03
Далее надо подумать над переходными вероятностями. Известно, что:
После "э" с вероятностью 84% следует "т".
После "ть", "сь", "ся" с вероятностью 3/4 следует пробел.
После "г" с вероятностью 1/2 следует "о".
После "т" с вероятностью 1/4 следует "о".
После "п" с вероятностью 1/4 следует "о".
И что это может дать?
Цитата: Alone Coder от октября 17, 2010, 13:03
P.S. И не забыть про запятую с частотой 2%.
Меньше 2%.
Цитата: Alone Coder от октября 17, 2010, 13:15
Как можно быстро и дёшево использовать переходные вероятности: повесить сочетания "го", "то", "по" на последовательность средний+указательный в одном ряду, т.к. это очень быстрая последовательность. Не особо важно, что написано на указательной клавише, главное, чтобы та буква встречалась в этой позиции в разы реже, чем "о". Например, "г"+"с", "т"+"д", "п"+"в". Как после этого набирать "гс", "тд", "пв" - другой вопрос :)
С программой Тайльнемера можно первые аккордом набирать, а вторые побуквенно (всё равно они редкие).
По идее, если буквы расположить от края (мизинца) к центру (указательному) по принципу "возрастающей звучности", скорость набора должна подняться, поскольку слоги в основном строятся по этому принципу, а пальцы работают быстрее в последовательности 5-4-3-2, чем наоборот.
Есть ещё трёхклавишные с частотой выше 1% (кстати, а почему всё-таки этот порог выбран?).
Цитата: myst от октября 17, 2010, 13:30
У ц, щ и э частота выше 1%; у то — 7,1%, у ст — 6,2%.
Позвольте, вы ошибаетесь. Даже у "т" частота 5%.
Цитата: Alone Coder от октября 17, 2010, 13:34
По идее, если буквы расположить от края (мизинца) к центру (указательному) по принципу "возрастающей звучности", скорость набора должна подняться, поскольку слоги в основном строятся по этому принципу, а пальцы работают быстрее в последовательности 5-4-3-2, чем наоборот.
Да, к центру быстрее перебор и удобнее.
Цитата: myst от октября 17, 2010, 13:37
Есть ещё трёхклавишные с частотой выше 1% (кстати, а почему всё-таки этот порог выбран?).
Просто совпало по числу клавиш.
Насчёт трёхклавишных - какие вы имеете в виду?
"про", "что" - по 0,2%.
Цитата: Alone Coder от октября 17, 2010, 13:38
Цитата: myst от октября 17, 2010, 13:30
У ц, щ и э частота выше 1%; у то — 7,1%, у ст — 6,2%.
Позвольте, вы ошибаетесь. Даже у "т" частота 5%.
Хм... Вообще, у меня частоты буквосочетаний от частот слов в ipm, а не в процентах.
3 что 15482.87
3 ост 14390.17
3 про 14081.76
3 его 12796.34
3 ого 12478.16
3 ста 12344.29
3 ать 12207.93
3 ени 11497.16
3 при 10581.26
3 как 10422.74
3 сто 10286.73
Это в ipm.
Для сравнения:
1 о 520495.56
1 е 394971.97
1 а 364186.94
1 и 316215.20
1 т 298034.72
1 н 296227.80
1 с 250330.58
1 л 225885.58
...
1 ц 17871.17
1 щ 15301.10
1 э 13788.38
1 ф 6780.91
1 ъ 1268.05
Что такое ipm?
"то" не может быть чаще "т". Это просто невозможно.
Моя статистика вся строится на книгах "Остров Накануне" и "Последний Повелитель". Подсчитано руками в Ворде. Ошибка исключена.
Цитата: Alone Coder от октября 17, 2010, 13:52
"то" не может быть чаще "т". Это просто невозможно.
А оно и не чаще.
2 то 71444.58
2 ст 62397.79
2 на 57458.31
2 но 53359.64
2 не 53008.04
2 по 52760.04
2 ал 44273.47
2 ко 44163.28
2 ни 42395.07
2 ра 41652.21
2 го 40283.89
Цитата: Alone CoderПодсчитано руками
Так и представляю, как Coder пальцами в монитор тычет... :uzhos:
Цитата: Alone Coder от октября 17, 2010, 13:52
Моя статистика вся строится на книгах "Остров Накануне" и "Последний Повелитель". Подсчитано руками в Ворде. Ошибка исключена.
А моя статистика на основе частотного словаря Шарова.
Расскажите про раскладку Тайльнемера.
Это не раскладка, а программа, превращающая обычную клавиатуру в аккордную. По сути это редактор аккордов, можно любые сочетания клавиш связывать с любыми последовательностями символов.
Например, можно на отдельные клавиши повесить частотные пары и тройки букв, а низкочастотные буквы набирать парами клавиш.
А как выглядит ваша раскладка?
Цитата: Alone Coder от октября 17, 2010, 14:00
А как выглядит ваша раскладка?
Какая моя раскладка? Я пользуюсь стандартной.
До кучи (по "Острову Накануне"):
то=10916 но=7978 по=7377 ко=6726 ро=5801 го=5470 в сумме составляют 5,1 % текста и 56% всех "о". Оставшиеся "о" составляют 4,0 % текста.
на=7861 ра=6898 ва=5441 ка=5280 та=4549 ла=3596 в сумме составляют 3,9 % текста и 60% всех "а". Оставшиеся "о" составляют 2,6 % текста.
Аккорды с "а" можно повесить на последовательность средний + указательный на ряд ниже. Но тогда при трёхрядной клавиатуре влезет только 4 аккорда.
Почему 4?
Двухбуквенный сочетаний с частотой >10000 ipm (то есть они встречаются в более 10000 словах на миллион) — 111 штук. Трёхбуквенных — 11. А букв с меньшей частотой всего две.
В общем, задача сложная, думать надо. :)
Кстати, один вариант аккордного ввода на базе программы Тайльнемера уже реализован.
Какой?
Для р-, в- нет подходящих вторых клавиш с низкой переходной вероятностью. Получатся только аккорды с к,т,н,л,п,г. Для этого центр клавиатуры должен выглядеть, например, так:
ТД--ЯК
ЛЗ--БН
ГС--МП
ТД="то", ТЗ="та"
ЛЗ="ло", ЛС="ла"
ГС="го"
КЯ="ко", КБ="ка"
НБ="но", НМ="на"
ПМ="по"
В сумме на эти аккорды приходится 8% текста.
Однако:
"I ran an experiment to try to discover an optimal keyboard layout using evolutionary algorithms that would produce mutated keyboard layouts and have them compete by simulating typing a giant corpus of English text and C. All the winners from this exercise in natural selection had the five vowels on the home row under the left hand and most of DHTNS on the home row under the right."
http://haacked.com/archive/2007/06/05/dvorak-keyboard-layout-of-champions.aspx
Интересно, врёт или нет?
Цитата: Alone Coder от октября 17, 2010, 14:41
Какой?
Один чел его делает. К нему нужен правильный подход, а то он не раскроет тайну. :)
Зубачёв в своё время выкладывал математику своей раскладки. Жаль, что эта информация сгинула. :(
Цитата: Alone Coder от октября 17, 2010, 14:41
Для р-, в- нет подходящих вторых клавиш с низкой переходной вероятностью. Получатся только аккорды с к,т,н,л,п,г.
Зачем эта вероятность сдалась вообще?
Цитата: Alone Coder от октября 17, 2010, 14:41
В сумме на эти аккорды приходится 8% текста.
Это доля в общем количестве символов, что ли?
Цитата: Alone Coder от октября 17, 2010, 14:56
Интересно, врёт или нет?
Врёт. Вот результаты: http://mkweb.bcgsc.ca/carpalx/?popular_alternatives
Цитата: myst от октября 17, 2010, 15:02
Цитата: Alone Coder от Сегодня в 15:41ЦитироватьВ сумме на эти аккорды приходится 8% текста.
Это доля в общем количестве символов, что ли?
В общем количестве символов - в два раза больше. Ведь здесь 2-символьные комбинации. 8% - это число вхождений, делённое на объём текста.
Цитата: Alone Coder от октября 17, 2010, 15:05
8% - это число вхождений, делённое на объём текста.
Надо не так считать. Надо считать в какой доле слов употребляется сочетание.
Зачем? Важно не в какой доле слов, а сколько раз вообще.
А ведь модель того перца можно и на речь применить (записанную в форме артикуляций, естественно). Тоже мерять дистанции и давать пенальти за повторные артикуляции. И разработать оптимальный язык :green:
Цитата: Alone Coder от октября 17, 2010, 15:22
Зачем? Важно не в какой доле слов, а сколько раз вообще.
Затем, что так очевиднее ценность сочетания. Если сочетание требуется половине всех слов, оно нужно в раскладке. А если только в сотне, то нет. Например, вышеупомянутый набор двухбуквенных сочетаний охватывает 45% слов.
Сейчас после очередного забега по частотному списку 17-буквенных слов снова вспомнил ещё об одной идее. Как бы оптимизировать набор длинных слов? Пальцы просто вопиют что-то сделать с этими тствова, ственн, ованн, вств и пр. Особенно обламывают скопления согласных. Кроме того, эти все частотные словари дают несколько искажённую картину. Несмотря на довольно низкую частоту длинных (>8 символов) слов, они весьма существенно влияют на скорость набора и встречаются в реальном тексте чаще. Некоторые трёхсимвольные сочетания, например ыва, весьма полезны, несмотря опять же на их казалось бы низкую частоту.
Короче, вручную формировать раскладку - это шаманство. Нужно строить модель, кормить ей тексты и организовать естественный отбор среди этих моделей.
Цитата: myst от октября 17, 2010, 15:40
Несмотря на довольно низкую частоту длинных (>8 символов) слов, они весьма существенно влияют на скорость набора и встречаются в реальном тексте чаще.
Всё это психологические ощущения, не имеющие отношения к реальной скорости печати. 1/3 русского текста составляют 50 слов, из которых два 6-символьные, два 5-символьные, пять 4-символьных, а остальные 1-3 символьные.
Интересно, как бы выглядела оптимальная раскладка для ДЕСЯТИ клавиш (каждому пальцу - по клавише, вагон двойных нажатий)? Насколько она могла бы соревноваться с большой клавиатурой?
Если бы у клавиш было усилие нажатия, и одновременно можно было держать хоть все клавиши, то можно было бы непосредственно привязать на эти 10 клавиш 10 артикуляций (разные усилия нажатия - разные реализации артикуляций).
Цитата: Alone Coder от октября 17, 2010, 15:44
Всё это психологические ощущения, не имеющие отношения к реальной скорости печати.
Это Вы мне рассказываете, что ли? Я вообще-то скорость не ощущениями меряю.
Цитата: Alone Coder от октября 17, 2010, 15:44
1/3 русского текста составляют 50 слов, из которых два 6-символьные, два 5-символьные, пять 4-символьных, а остальные 1-3 символьные.
Это всё статистика. Возьмём, например, моё предыдущее сообщение:
2 оптимизировать 14
2 встречаются 11
4 искажённую 10
7 Некоторые 9
10 Несмотря 8
9 длинных 7
14 Пальцы 6
8 Кроме 5
8 вств 4
7 Как 3
12 17 2
5 8 1
Я по работе очень много набираю русского текста и своими пальцами чувствую цену этой статистики.
"оптимизировать" - 2 раза на миллион слов? Это копейки. Вы за всю жизнь, может быть, не набрали миллион слов.
Цитата: Alone Coder от октября 17, 2010, 16:06
"оптимизировать" - 2 раза на миллион слов? Это копейки. Вы за всю жизнь, может быть, не набрали миллион слов.
Я набираю за день где-то тысяч по 60 знаков в среднем, когда работаю. Но дело не в этом, а в том, что я слово
оптимизировать набрал за всю жизнь отнюдь не два раза.
Цитата: Alone Coder от октября 17, 2010, 16:06
"оптимизировать" - 2 раза на миллион слов?
В первом столбце не частота, а количество слов; средний столбец не имеет смысла; в последнем — длина слов. Слов длиной более 6 символов больше, не говоря уже о их доле в объёме текста.
Зато вы не набрали за всю жизнь ни разу кучу других слов с такой же частотой. А другие люди не разу не набрали за то же время слово "оптимизировать", зато набирали много раз другие слова, которыми вы не пользуетесь.
Цитата: myst от октября 17, 2010, 16:12
В первом столбце не частота, а количество слов
Количество каких слов где?
Цитата: Alone Coder от октября 17, 2010, 16:13
Зато вы не набрали за всю жизнь ни разу кучу других слов с такой же частотой. А другие люди не разу не набрали за то же время слово "оптимизировать", зато набирали много раз другие слова, которыми вы не пользуетесь.
А мне от этого легче, что ли?
Для популярных аффиксов можно придумать сокращения типа ЗЩ = "ировать". Вопрос в том, сколько нажатий на килобайт выиграет каждая такая замена, т.е. насколько эти аффиксы на самом деле популярны.
Люди набирают разные тексты. Для них важна статистика именно на их текстах, и оптимизация должна делаться на основе этой статистики.
Вы можете дать статистику по тствова, ственн, ованн, вств, ыва, ирова на своих текстах?
На моих текстах (взял 29 разных своих текстов, в сумме 290843 знаков - это не худлит, а техническая литература с вкраплением исходников):
тствова=1 (0,00 %) * 7 = 0,00 %
ственн=89 (0,03 %) * 6 = 0,18 %
ованн=63 (0,02 %) * 5 = 0,11 %
вств=6 (0,00 %) * 4 = 0,00 %
ыва=266 (0,09 %) * 3 = 0,28 %
ирова=183 (0,06 %) * 5 = 0,32 %
Для сравнения:
ц=1066 (0,37 %)
щ=778 (0,27 %)
э=879 (0,30 %)
ф=788 (0,27 %)
ъ=70 (0,02 %)
Цитата: Alone Coder от октября 17, 2010, 16:30
Вы можете дать статистику по тствова, ственн, ованн, вств, ыва, ирова на своих текстах?
Прямо сейчас не могу. Их надо выковырять из памятей переводов и обработать. Второе не проблема, а вот с выковыриванием придётся повозиться. :(
Цитата: Alone Coder от октября 17, 2010, 16:30
На моих текстах (взял 29 разных своих текстов, в сумме 290843 знаков - это не худлит, а техническая литература с вкраплением исходников):
тствова=1 (0,00 %) * 7 = 0,00 %
ственн=89 (0,03 %) * 6 = 0,18 %
ованн=63 (0,02 %) * 5 = 0,11 %
вств=6 (0,00 %) * 4 = 0,00 %
ыва=266 (0,09 %) * 3 = 0,28 %
ирова=183 (0,06 %) * 5 = 0,32 %
Ладно, оставим их пока. Было бы неплохо сделать некое общеязыковое ядро, а специфические сочетания, редкие в общем массиве, но частые в какой-то предметной области, добавлять отдельным модулем.
Надо ещё решить проблему декомпозиции слов на аккорды. Не решив её, никакой скорости не будет. Говорю сразу, я её не решил. Мне пришлось почти год чуть ли не каждое слово отрабатывать отдельно, чтобы набирать аккордами с нормальной скоростью. А всё потому, что голова банально не успевает делить слово на аккорды. Если буквы легко отличимы друг от друга, то края аккордов сливаются, плюс алфавит аккордов значительно больше и выбор из него происходит дольше. Я прошлой осенью думал о делении на морфемы, но для стандартной русской раскладки это не очень подходило, к тому же я не придумал, что делать с корнями. Но если делать новую раскладку, то надо решить только проблему с корнями. :)
Ещё интересен вопрос ввода с помощью размахивания рукой/ами перед камерой.
Цитата: Alone Coder от октября 17, 2010, 17:30
Ещё интересен вопрос ввода с помощью размахивания рукой/ами перед камерой.
А где это можно увидеть?
Можно ещё рассмотреть систему сокращений: типа кол-во — с автоматической развёрткой.
Ага, будет, как в ГЕСС - 4000 сокращений )
Цитата: Alone Coder от октября 17, 2010, 17:41
Ага, будет, как в ГЕСС - 4000 сокращений )
Why not? :)
Цитата: myst от октября 17, 2010, 17:37
Цитата: Alone Coder от Сегодня в 18:30ЦитироватьЕщё интересен вопрос ввода с помощью размахивания рукой/ами перед камерой.
А где это можно увидеть?
Говорят, в Windows 7 есть поддержка жестов.
Цитата: Alone Coder от октября 17, 2010, 17:45
Говорят, в Windows 7 есть поддержка жестов.
Она действительно есть, но это лишь поддержка. Конкретная система жестов для ввода слов есть?
Надо копать, что там под Kinect наваяли. Как-то же вводят имена в играх.
:??? А с клавиатуры низя?
Откуда у Xbox 360 клавиатура :)
Ой.
В русском языке сколько корней, не больше 35 000? Если не больше, хватит трёхклавишных аккордов.
Ограничим задачу. Допустим, у нас 10 клавиш, аккорды запрещены. Предположим также, что человек может освоить максимум 5 контекстов и 100 макросов.
Очевидные контексты такие: после пробела, после согласной и после гласной.
Нужна какая-то раскладка для затравки.
Единственный символ с частотой >10% - пробел, ему можно дать отдельную клавишу.
Цитата: Alone Coder от октября 17, 2010, 18:15
Единственный символ с частотой >10% - пробел, ему можно дать отдельную клавишу.
Зачем? Он же всегда начинает слово.
Цитата: Alone Coder от октября 17, 2010, 18:15
Очевидные контексты такие: после пробела, после согласной и после гласной.
Делать анализ гласная/согласная во время набора — не самая лучшая идея.
Зато он задаёт контекст с нетривиальным распределением частот.
Очевидно, после согласных как минимум 4 кнопки будут означать сразу символы: О,Е,А,И.
Цитата: myst от октября 17, 2010, 13:57
Это не раскладка, а программа, превращающая обычную клавиатуру в аккордную. По сути это редактор аккордов, можно любые сочетания клавиш связывать с любыми последовательностями символов.
А ссылочку можно ?
После гласных напрашиваются кнопки Т,Н,С,Р.
После пробела - П.
Контекст после пробела (ПП: 32232 пробела):
п=3313 (единственный превышает 10%)
н=3065
с=2844
в=2710
к=2088
д=1925
о=1776
т=1596
и=1442
м=1236
з=1084
б=1032
р=975
ч=823
у=705
г=644
л=617
е=554
а=477
э=427
ж=326
я=316
х=277
ш=192
ф=103
ц=73
щ=27
ю=7
Важно: должны быть предусмотрены макросы "пробел-кнопка-пробел" для однобуквенных слов: а, в, ж, и, к, о, с, у, я.
После пробела только П имеет частоту выше 10%. Значит, остальные 8 клавиш (а можно и пробел) начинают макросы. Двухклавишных макросов можно сделать максимум 9*10=90, из них 9 мы уже заняли однобуквенными словами, а ещё 33-1 надо отвести под побуквенный ввод.
Напрашиваются макросы:
1. Для приставок (НА, НЕ, ПО, ПРО, ПРИ, ДО, ЗА).
2. Для самых частых слов (ЧТО, КАК, ЭТО...). 50 самых частых русских слов охватывают 1/3 всех слов текста.
3. Для точки и запятой.
Хотелось бы, чтобы макросы красиво легли на подписи на кнопках. На одной кнопке поместится 4 обозначения. Судя по однобуквенным словам, на кнопках будут как минимум обозначения А, В, И, К, О, С, У, Я. Может быть, ещё Ж.
Цитата: LookIn от октября 17, 2010, 18:43
Цитата: myst от октября 17, 2010, 13:57
Это не раскладка, а программа, превращающая обычную клавиатуру в аккордную. По сути это редактор аккордов, можно любые сочетания клавиш связывать с любыми последовательностями символов.
А ссылочку можно ?
Ой, я не помню, где-то на форуме. Проще у Тайльнемера спросить.
Цитата: Alone Coder от октября 17, 2010, 18:48
Важно: должны быть предусмотрены макросы "пробел-кнопка-пробел" для однобуквенных слов: а, в, ж, и, к, о, с, у, я.
Пробел должен начинать слово, но никогда не должен его заканчивать, потому что у нас знаки препинания никогда не отбиваются пробелом.
Макросы у Вас что?
Макросы - это определённые последовательности нажатий, которые выдают определённые последовательности букв.
Частые слова (звёздочкой помечены совпадающие с приставками). Как минимум 2-3-буквенные должны иметь соответствующие макросы (47 шт).
*не
*на
он
то
но
же
*вы
*по
да
*за
бы
ты
*от
*из (как приставка может меняться в зависимости от следующего символа)
ее
*до
ну
*ни
ли
что
как
это
все
его
так
она
мне
еще
вот - надо в+от
был - надо бы+л
ему
нет - надо не+т
уже - надо у+же
меня
было
даже - надо да+же
быть - надо бы+ть
если
когда
вдруг
только
теперь
------- далее не из списка-50 -------
да
*при
*про
*под
*раз (как приставка может меняться в зависимости от следующего символа)
Цитата: myst от октября 17, 2010, 19:16
Цитата: Alone Coder от Сегодня в 19:48ЦитироватьВажно: должны быть предусмотрены макросы "пробел-кнопка-пробел" для однобуквенных слов: а, в, ж, и, к, о, с, у, я.
Пробел должен начинать слово, но никогда не должен его заканчивать, потому что у нас знаки препинания никогда не отбиваются пробелом.
Тут разговор про два нажатия в контексте пробела: буква, пробел.
Двойной пробел (т.е. пробел в контексте пробела), очевидно, означает запятую (с пробелом). Впрочем, можно выкинуть макрос для Ж и повесить туда запятую. Или точку.
Цитата: Alone Coder от октября 17, 2010, 19:29
Макросы - это определённые последовательности нажатий, которые выдают определённые последовательности букв.
Я уж было подумал, что что-то другое.
:??? Я как-то потерял нить...
Нужно выделить ещё одну клавишу для побуквенного набора. Как в ARONETIS, она переключает наборы по 9 символов, после чего нажатие на одну из остальных 9 кнопок выдаст букву. Сильно желательно, чтобы эти наборы были все подписаны на кнопках.
Побуквенный набор должен работать одинаково во всех контекстах.
Итак, мы уже имеем следующие обозначения на клавиатуре:
Кнопка 1: А
Кнопка 2: В
Кнопка 3: И
Кнопка 4: К
Кнопка 5: О
Кнопка 6: С
Кнопка 7: У
Кнопка 8: Я
Кнопка 9 (побуквенный ввод)
Кнопка 10 (пробел)
Логично выделить под первый набор символов для побуквенного ввода те же А,В,И,К,О,С,У,Я. Он отличается от идеала (О,Е,И,А,Т,Н,С,Р) четырьмя символами, которые в идеальном случае вводились бы через два нажатия на кнопку "побуквенный ввод". А у нас будут вводиться в одно, чтобы не плодить лишнюю маркировку на клавишах. Второй набор, очевидно, будет Л,М,Д,П,Е,Т,Н,Р. Третий - Ы,Б,Ь(Й),З,Г,Ч,Ж,Х. Четвёртый - Ш,Ю,Ё,Ц,Щ,Э,Ф,Ъ. Что повесить на пробел - можно подумать. Например, знаки препинания или переключения регистра.
Итого обозначения на клавиатуре (один из вариантов, потом можно будет переставить буквы для удобства ввода):
Кнопка 1: АЛЫШ
Кнопка 2: ВМБЮ
Кнопка 3: ИДЬЁ
Кнопка 4: КПЗЦ
Кнопка 5: ОРГЩ
Кнопка 6: СНЧЭ
Кнопка 7: УТЖФ
Кнопка 8: ЯЕХЪ
Кнопка 9 (побуквенный ввод)
Кнопка 10 (пробел)
Можно включать побуквенный ввод не для одного символа, а навсегда. Выключать пробелом? Побуквенный ввод требует в среднем 2 нажатия/символ.
Клавиша стирания символа может быть отдельной - всё-таки экстренная операция, ради которой можно и оторвать руки от 10 клавиш.
Цитата: Alone Coder от октября 17, 2010, 20:01
Клавиша стирания символа может быть отдельной - всё-таки экстренная операция, ради которой можно и оторвать руки от 10 клавиш.
Клавиша стирания символа не нужна, нужна клавиша стирания текущего слова.
Можно обе )
Зачем такая расточительность? :)
слово и так можно стерать в обе стороны нажимать с контролом.
Пришлось переставить несколько букв, чтобы 49 макросов легли точно на соответствующие буквы без путаницы.
Кнопка 1: А Л Б Э
Кнопка 2: Я М З Ю
Кнопка 3: И Р Ч Ё
Кнопка 4: К П Ы Ц
Кнопка 5: О Д Ж Ф
Кнопка 6: С Н Х Ш
Кнопка 7: У Т Ь Щ
Кнопка 8: В Е Г Ъ
Кнопка 9 (побуквенный ввод)
Кнопка 10 (пробел)
Макросы:
13=ли
14=бы
1477=быть
141=был
1415=было
175=это
21=ЗА
268=мне
2862=меня
31=да
312=РАЗ
3158=даже
32=ИЗ
35=ДО
375=что
382=чем
414=как
432=ПРИ
435=ПРО
45=ПО
45+993=ПОД
45831=когда
56=он
561=она
57=ОТ
58=же
61=НА
63=НИ
65=но
67=ну
68=НЕ
687=нет
714=так
74=ты
75=то
751745=только
758=уже
784837=теперь
827=ему
83=её
84=ВЫ
85378=вдруг
857=вот
8613=если
862=вся
863=всё
868=все
873=ещё
885=его
8867=весь
То, что написано заглавными буквами, после ввода сразу же переводит в контекст начала слова.
Случаи типа 56=он 561=она разруливаются пробелом после слова.
Цитата: Alone Coderа, в, ж, и, к, о, с, у, я
Авжикосуя...
:???
Что за конланг?‥
Пока не порезали, добавлю ещё пять копеек.
1. Поскольку макросы не подразумевают ввод именно верхних символов, можно передний слой букв сделать более оптимальным: поднять на него Т, Е.
2. Надо в контексте начала слова вводить следующие CV комбинации двумя нажатиями:
НА=7861 НИ=6031 НУ=1629 НЕ=6986 НО=7978
ра=6898 ри=3885 ру=2005 ре=5602 ро=5801
ТА=4549 ти=3387 ту=1274 ТЕ=4195 ТО=10916
ва=5441 ВИ=2168 [ву=611] ВЕ=4308 ВО=5339
ла=3596 ЛИ=5782 лу=1196 ле=3811 ло=4163
ка=5280 ки=2147 ку=1323 [ке=484] ко=6726
да=3361 ди=2171 ду=1383 де=3458 ДО=3208
па=1704 [пи=954] [пу=726] пе=1770 ПО=7377
Выделены те, которые уже реализованы выше.
Для этого надо переставить П и М.
Может быть, удалось бы все ряды дополнить сочетаниями с я,ь,ы?
3. Можно вводить МЕ вместо КЕ.
4. Во всех неначальных контекстах должны работать следующие макросы:
в#=5024
т#=5869
й#=? (много) - в текущем виде раскладки не получится, т.к. Т=Ь
л#=4006
ть=5091 (хотя бы перед пробелом или сь/ся)
сь#=1833
ся#=3833
5. Вверху есть опечатки. Перепост с перестановками и исправлениями:
Кнопка 1: А Л Б Э
Кнопка 2: Я П З Ю
Кнопка 3: И Р Ч Ё
Кнопка 4: К М Ы Ц
Кнопка 5: О Д Ж Ф
Кнопка 6: С Н Х Ш
Кнопка 7: Т У Ь Щ
Кнопка 8: Е В Г Ъ
Кнопка 9 (побуквенный ввод)
Кнопка 10 (пробел)
13=ли
14=бы
1477=быть
141=был
1415=было
175=это
21=ЗА
232=ПРИ
235=ПРО
25=ПО
25+995=ПОД
312=РАЗ
32=ИЗ
375=что
384=чем
414=как
45831=когда
468=мне
4862=меня
51=да
5158=даже
55=ДО
56=он
561=она
57=ОТ
58=же
61=НА
63=НИ
65=но
67=ну
68=НЕ
687=нет
714=так
74=ты
75=то
751745=только
758=уже
782837=теперь
83=её (83 вводит ВИ, после # превращается в ЕЁ)
84=ВЫ
847=ему
85378=вдруг
857=вот
8613=если
862=вся
863=всё
868=все
873=ещё
885=его (88 вводит ВЕ, после 5# превращается в ЕГО)
8867=весь
Думаю, перечисленные здесь и выше случаи охватывают не менее 50% текста.
Цитата: Валентин Н от октября 17, 2010, 21:16
слово и так можно стерать в обе стороны нажимать с контролом.
Что нажимать с контролом?
:??? Alone Coder плавно перешёл к изобретению альтернативы T9?
T9 - непредсказуемая система и требует как минимум 14 клавиш. С моей системой из мобильных может сравниться разве что ARONETIS.
Я пошёл в неправильном направлении насчёт размещения букв.
Другое направление:
Два контекста. Всегда работает побуквенный ввод (т.е. выигрыш 1 нажатие на символ). В одном контексте порядок рядов 1234, в другом 2134.
Второй контекст должен включаться после согласной (кроме С: (сV-СЯ)/(с-СЯ-СЬ-с#)=10K/32K). После В согласная только в 9K случаев (гласная=18K).
Первый - после гласной, пробела или С.
Во втором контексте должен быть Р для ПРИ, ПРО. тогда РАЗ - лишнее нажатие. (все три не в списке-50)
в первом ряду обязательны: С,Н,П,В?(вы),Д(до,под,над),З?(за)
Я в третьем ряду, т.к. Я-СЯ#=11583 < ыбьз
Ь чаще, чем Й (12K против 7К), так что надо во второй ряд (не в третий, т.к. Ь > Я-СЯ#, к тому же Й на одно нажатие меньше)
"Остров Накануне":
раз=1193 (#раз#=71)
при=1808 про=1900
за=3549 (#за#=472)
до=3293 да=3612 под=1492
по=7936
вы=2186 (#вы#=229)
сп=1772 сл=2271 сс=620 ск=2883 сн=821 св=1105 ст=9454 сд=97 [сз=6] [ср=248] [см=473]
са=1328 си=901 су=885 се=2263 со=2547
РАЗ,ИЗ вводятся как 9РАС,9ИС
ЗА - вводится как 99ЗА
для одноимённых слов можно макросы без девяток
все 1-буквенные слова должны быть на разных кнопках
Ч!=Э[!=К] (что/это/[кто])
Е!=Я!=Ё (все/всё/вся)
Ж!=Н[!=Т] (же/не/[те])
Б!=Т!=В (бы/ты/вы)
З!=Д!=Н![!=Т] (за/да/на/[та])
В!=Т!=Л!=Й (в#/т#/л#/й#) - или вводить Й в 2 нажатия?
С!=Т (сь#/ть#)
Кнопка 1: Л Р Я Э
Кнопка 2: Д И Ч Ю
Кнопка 3: П О З Ё
Кнопка 4: Н У Б Ц
Кнопка 5: В Е Г Ф
Кнопка 6: Т А Х Ш
Кнопка 7: К Ы М Щ
Кнопка 8: С Ь Ж Ъ
Кнопка 9 (побуквенный ввод)
Кнопка 10: # . , '
999 требуется нажимать для:
ш=4850
ю=4778
ё~4500
ц=3125
щ=2594
э=1936, кроме это=1176
ф=1687
ъ=157
'=2500
итого 22451 (как М), 17951 без ё (как У/Ы/Я)
перебросить 999 на 9# ? (.=7180 - как конец 3-го ряда: Ж)
##=,
9##=.
###=<CR>
999='
остаются:
?=697
!=393
:=447
-=1933
(=466
)=465
caps (кроме как после точки)=?
цифры=? отдельная цифровая клавиатура?
переключение языка=? отдельная педаль?
Фигня получается. Выигрыш по сравнению с ARONETIS всего 7%.
"Остров Накануне": 900297 символов (на каждой строке CR+LF, абзацы в один пробел)
считаем, что все символы, которых нет в раскладке, вводятся в 1 нажатие
регистр игнорируем
ARONETIS (без Й):
('А','Л','Я','Э'),
('Р','М','Ч','Ю'),
('О','Д','З','Ё'),
('Н','К','Б','Ц'),
('Е','В','Г','Ф'),
('Т','П','Х','Ш'),
('И','У','Ы','Щ'),
('С','Ь','Ж','Ъ')
= 1367972
Моя система (два контекста):
('Л','Р','Я','Э'),
('Д','И','Ч','Ю'),
('П','О','З','Ё'),
('Н','У','Б','Ц'),
('В','Е','Г','Ф'),
('Т','А','Х','Ш'),
('К','Ы','М','Щ'),
('С','Ь','Ж','Ъ')
= 1312747
[если С задаёт контекст вместе с прочими согласными = 1321164]
[Ь<->Я = 1323335
Ы<->Я = 1321774
Ы<->М = 1318353
Д<->М = 1309296
П<->М = 1309432]
с тремя нажатиями для 4-го слоя = 1293618 = 1,44 нажатия/символ
с макросами для однобуквенных слов = 1285573
[если Ь не меняет контекст = 1288111]
[В<->М = 1293843]
Цитата: myst от октября 18, 2010, 09:49
Что нажимать с контролом?
бэкспэйс и дэлит ессно.
Нажимаете с контролом и он всё слово удаляет. - 3аметно облегчает жизнь, должен заметить.
Эта операция должна быть на одной клавише.
Цитата: myst от октября 18, 2010, 18:40
Эта операция должна быть на одной клавише.
Можно переделать, удалять слово бэкспэйсом, а букву им же, но с контролом
Цитата: Валентин Н от октября 18, 2010, 18:47
Можно переделать, удалять слово бэкспэйсом, а букву им же, но с контролом
Расскажите, как это сделать. Я внимательно слушаю.
ну вы же програмисты, вы и знаете :-[
А что разве переназначать не́где?
Цитата: Валентин Н от октября 18, 2010, 18:57
ну вы же програмисты, вы и знаете :-[
А что разве переназначать не́где?
Проблема в том, что Ctrl+Backspace не во всех программах работает.
Цитата: myst от октября 18, 2010, 19:11
Проблема в том, что Ctrl+Backspace не во всех программах работает.
Ну дык, ежели сами программу делаете, вот и сделайте чтоб работало :donno:
А толку-то от этого?
от чего?
От того, что я в своей программе сделаю, чтоб работало.
вам не нужна удалялка?!
Цитата: Валентин Н от октября 18, 2010, 21:40
вам не нужна удалялка?!
Мне не нужна удалялка, которая работает в 2,5 программах, включая мою собственную.
ну значит догвольствуйтесь тем, что есть :donno:
Я же говорил, что роль длинных слов выше, чем кажется, глядя на одну частоту:
(первая пара столбцов — количество слов по длинам в первой тысяче самых частотных слов; вторая пара — то же самое, но по объёмной доле (произведение длины на частоту)
1 16
1 15
1 13 6 13
2 12 11 12
6 11 19 11
15 10 44 10
30 9 62 9
56 8 97 8
106 7 127 7
206 6 204 6
250 5 203 5
183 4 123 4
94 3 65 3
33 2 29 2
18 1 8 1
Совокупная доля первой тысячи слов по частоте — 58%, а по объёмной доле — 39%
сижу за клавой 30 лет.
так и не научлся вслепую. зато print настукиваю за 0.3 секунды.