Лингвофорум

Теоретический раздел => Прикладная лингвистика => Вопросы письменности => Тема начата: Alone Coder от октября 17, 2010, 13:03

Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 13:03
Если разговор про быстропечатание, то имею сказать вот что.

Буквы ц, щ, э, ф, ъ имеют частоту ниже 0,5 %, а многие буквосочетания - выше (на, ни, не, но; ра, ре, ро, ер; та, ть; ва, во; ли; ка, ко; по) и даже выше 1% (ст, то). Это означает, что выгоднее некоторые буквы повесить на сочетания клавиш (например, щ=шш), а некоторые сочетания букв - на клавиши.

Кроме того, можно объединить ь/й, поскольку они не встречаются в одной позиции.

Не знаю, что скажут сторонники слепого набора насчёт 4 рядов, но можно использовать цифровой ряд под буквы. Цифры можно набирать на цифровой клавиатуре.

Итого: убираем 6 букв и 10 цифр с общей частотой 1%, добавляем 16 буквосочетаний с общей частотой 13%. Профит.

Далее надо подумать над переходными вероятностями. Известно, что:
После "э" с вероятностью 84% следует "т".
После "ть", "сь", "ся" с вероятностью 3/4 следует пробел.
После "г" с вероятностью 1/2 следует "о".
После "т" с вероятностью 1/4 следует "о".
После "п" с вероятностью 1/4 следует "о".

P.S. И не забыть про запятую с частотой 2%.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 13:15
Как можно быстро и дёшево использовать переходные вероятности: повесить сочетания "го", "то", "по" на последовательность средний+указательный в одном ряду, т.к. это очень быстрая последовательность. Не особо важно, что написано на указательной клавише, главное, чтобы та буква встречалась в этой позиции в разы реже, чем "о". Например, "г"+"с", "т"+"д", "п"+"в". Как после этого набирать "гс", "тд", "пв" - другой вопрос :)

Если считать такой аккорд за одно нажатие, то мы смело освобождаем две клавиши под запятую (2%) и, допустим, апостроф, который юзер может помимо основной функции использовать вместо кавычек, что в сумме с "го" даст примерно 1%.

Итого общий выигрыш 16%.

Есть предложения, как поднять до 30%?
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 13: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%.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 13:33
Цитата: Alone Coder от октября 17, 2010, 13:15
Как можно быстро и дёшево использовать переходные вероятности: повесить сочетания "го", "то", "по" на последовательность средний+указательный в одном ряду, т.к. это очень быстрая последовательность. Не особо важно, что написано на указательной клавише, главное, чтобы та буква встречалась в этой позиции в разы реже, чем "о". Например, "г"+"с", "т"+"д", "п"+"в". Как после этого набирать "гс", "тд", "пв" - другой вопрос :)
С программой Тайльнемера можно первые аккордом набирать, а вторые побуквенно (всё равно они редкие).
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 13:34
По идее, если буквы расположить от края (мизинца) к центру (указательному) по принципу "возрастающей звучности", скорость набора должна подняться, поскольку слоги в основном строятся по этому принципу, а пальцы работают быстрее в последовательности 5-4-3-2, чем наоборот.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 13:37
Есть ещё трёхклавишные с частотой выше 1% (кстати, а почему всё-таки этот порог выбран?).
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 13:38
Цитата: myst от октября 17, 2010, 13:30
У ц, щ и э частота выше 1%; у то — 7,1%, у ст — 6,2%.
Позвольте, вы ошибаетесь. Даже у "т" частота 5%.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 13:41
Цитата: Alone Coder от октября 17, 2010, 13:34
По идее, если буквы расположить от края (мизинца) к центру (указательному) по принципу "возрастающей звучности", скорость набора должна подняться, поскольку слоги в основном строятся по этому принципу, а пальцы работают быстрее в последовательности 5-4-3-2, чем наоборот.
Да, к центру быстрее перебор и удобнее.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 13:45
Цитата: myst от октября 17, 2010, 13:37
Есть ещё трёхклавишные с частотой выше 1% (кстати, а почему всё-таки этот порог выбран?).
Просто совпало по числу клавиш.
Насчёт трёхклавишных - какие вы имеете в виду?
"про", "что" - по 0,2%.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 13:46
Цитата: Alone Coder от октября 17, 2010, 13:38
Цитата: myst от октября 17, 2010, 13:30
У ц, щ и э частота выше 1%; у то — 7,1%, у ст — 6,2%.
Позвольте, вы ошибаетесь. Даже у "т" частота 5%.
Хм... Вообще, у меня частоты буквосочетаний от частот слов в ipm, а не в процентах.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 13:47

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
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 13:47
Что такое ipm?
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 13:51
Цитата: Alone Coder от октября 17, 2010, 13:47
Что такое ipm?
Instances per million words.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 13:52
"то" не может быть чаще "т". Это просто невозможно.

Моя статистика вся строится на книгах "Остров Накануне" и "Последний Повелитель". Подсчитано руками в Ворде. Ошибка исключена.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 13:55
Цитата: 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
Название: Быстропечатание
Отправлено: Bhudh от октября 17, 2010, 13:55
Цитата: Alone CoderПодсчитано руками
Offtop
Так и представляю, как Coder пальцами в монитор тычет... :uzhos:
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 13:55
Цитата: Alone Coder от октября 17, 2010, 13:52
Моя статистика вся строится на книгах "Остров Накануне" и "Последний Повелитель". Подсчитано руками в Ворде. Ошибка исключена.
А моя статистика на основе частотного словаря Шарова.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 13:56
Расскажите про раскладку Тайльнемера.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 13:57
Это не раскладка, а программа, превращающая обычную клавиатуру в аккордную. По сути это редактор аккордов, можно любые сочетания клавиш связывать с любыми последовательностями символов.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 14:00
Например, можно на отдельные клавиши повесить частотные пары и тройки букв, а низкочастотные буквы набирать парами клавиш.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 14:00
А как выглядит ваша раскладка?
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 14:08
Цитата: Alone Coder от октября 17, 2010, 14:00
А как выглядит ваша раскладка?
Какая моя раскладка? Я пользуюсь стандартной.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 14:10
До кучи (по "Острову Накануне"):

то=10916 но=7978 по=7377 ко=6726 ро=5801 го=5470 в сумме составляют 5,1 % текста и 56% всех "о". Оставшиеся "о" составляют 4,0 % текста.

на=7861 ра=6898 ва=5441 ка=5280 та=4549 ла=3596 в сумме составляют 3,9 % текста и 60% всех "а". Оставшиеся "о" составляют 2,6 % текста.

Аккорды с "а" можно повесить на последовательность средний + указательный на ряд ниже. Но тогда при трёхрядной клавиатуре влезет только 4 аккорда.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 14:14
Почему 4?
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 14:19
Двухбуквенный сочетаний с частотой >10000 ipm (то есть они встречаются в более 10000 словах на миллион) — 111 штук. Трёхбуквенных — 11. А букв с меньшей частотой всего две.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 14:21
В общем, задача сложная, думать надо. :)
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 14:22
Кстати, один вариант аккордного ввода на базе программы Тайльнемера уже реализован.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 14:41
Какой?
Для р-, в- нет подходящих вторых клавиш с низкой переходной вероятностью. Получатся только аккорды с к,т,н,л,п,г. Для этого центр клавиатуры должен выглядеть, например, так:
ТД--ЯК
ЛЗ--БН
ГС--МП

ТД="то", ТЗ="та"
ЛЗ="ло", ЛС="ла"
ГС="го"
КЯ="ко", КБ="ка"
НБ="но", НМ="на"
ПМ="по"

В сумме на эти аккорды приходится 8% текста.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 14:56
Однако:

"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

Интересно, врёт или нет?
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 14:59
Цитата: Alone Coder от октября 17, 2010, 14:41
Какой?
Один чел его делает. К нему нужен правильный подход, а то он не раскроет тайну. :)
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 15:01
Зубачёв в своё время выкладывал математику своей раскладки. Жаль, что эта информация сгинула. :(
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 15:02
Цитата: Alone Coder от октября 17, 2010, 14:41
Для р-, в- нет подходящих вторых клавиш с низкой переходной вероятностью. Получатся только аккорды с к,т,н,л,п,г.
Зачем эта вероятность сдалась вообще?

Цитата: Alone Coder от октября 17, 2010, 14:41
В сумме на эти аккорды приходится 8% текста.
Это доля в общем количестве символов, что ли?
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 15:04
Цитата: Alone Coder от октября 17, 2010, 14:56
Интересно, врёт или нет?
Врёт. Вот результаты: http://mkweb.bcgsc.ca/carpalx/?popular_alternatives
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 15:05
Цитата: myst от октября 17, 2010, 15:02
Цитата: Alone Coder от Сегодня в 15:41
ЦитироватьВ сумме на эти аккорды приходится 8% текста.
Это доля в общем количестве символов, что ли?
В общем количестве символов - в два раза больше. Ведь здесь 2-символьные комбинации. 8% - это число вхождений, делённое на объём текста.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 15:13
Цитата: Alone Coder от октября 17, 2010, 15:05
8% - это число вхождений, делённое на объём текста.
Надо не так считать. Надо считать в какой доле слов употребляется сочетание.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 15:22
Зачем? Важно не в какой доле слов, а сколько раз вообще.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 15:27
А ведь модель того перца можно и на речь применить (записанную в форме артикуляций, естественно). Тоже мерять дистанции и давать пенальти за повторные артикуляции. И разработать оптимальный язык  :green:
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 15:31
Цитата: Alone Coder от октября 17, 2010, 15:22
Зачем? Важно не в какой доле слов, а сколько раз вообще.
Затем, что так очевиднее ценность сочетания. Если сочетание требуется половине всех слов, оно нужно в раскладке. А если только в сотне, то нет. Например, вышеупомянутый набор двухбуквенных сочетаний охватывает 45% слов.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 15:40
Сейчас после очередного забега по частотному списку 17-буквенных слов снова вспомнил ещё об одной идее. Как бы оптимизировать набор длинных слов? Пальцы просто вопиют что-то сделать с этими тствова, ственн, ованн, вств и пр. Особенно обламывают скопления согласных. Кроме того, эти все частотные словари дают несколько искажённую картину. Несмотря на довольно низкую частоту длинных (>8 символов) слов, они весьма существенно влияют на скорость набора и встречаются в реальном тексте чаще. Некоторые трёхсимвольные сочетания, например ыва, весьма полезны, несмотря опять же на их казалось бы низкую частоту.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 15:41
Короче, вручную формировать раскладку - это шаманство. Нужно строить модель, кормить ей тексты и организовать естественный отбор среди этих моделей.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 15:44
Цитата: myst от октября 17, 2010, 15:40
Несмотря на довольно низкую частоту длинных (>8 символов) слов, они весьма существенно влияют на скорость набора и встречаются в реальном тексте чаще.
Всё это психологические ощущения, не имеющие отношения к реальной скорости печати. 1/3 русского текста составляют 50 слов, из которых два 6-символьные, два 5-символьные, пять 4-символьных, а остальные 1-3 символьные.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 15:49
Интересно, как бы выглядела оптимальная раскладка для ДЕСЯТИ клавиш (каждому пальцу - по клавише, вагон двойных нажатий)? Насколько она могла бы соревноваться с большой клавиатурой?
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 16:01
Если бы у клавиш было усилие нажатия, и одновременно можно было держать хоть все клавиши, то можно было бы непосредственно привязать на эти 10 клавиш 10 артикуляций (разные усилия нажатия - разные реализации артикуляций).
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 16:04
Цитата: 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

Я по работе очень много набираю русского текста и своими пальцами чувствую цену этой статистики.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 16:06
"оптимизировать" - 2 раза на миллион слов? Это копейки. Вы за всю жизнь, может быть, не набрали миллион слов.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 16:09
Цитата: Alone Coder от октября 17, 2010, 16:06
"оптимизировать" - 2 раза на миллион слов? Это копейки. Вы за всю жизнь, может быть, не набрали миллион слов.
Я набираю за день где-то тысяч по 60 знаков в среднем, когда работаю. Но дело не в этом, а в том, что я слово оптимизировать набрал за всю жизнь отнюдь не два раза.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 16:12
Цитата: Alone Coder от октября 17, 2010, 16:06
"оптимизировать" - 2 раза на миллион слов?
В первом столбце не частота, а количество слов; средний столбец не имеет смысла; в последнем — длина слов. Слов длиной более 6 символов больше, не говоря уже о их доле в объёме текста.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 16:13
Зато вы не набрали за всю жизнь ни разу кучу других слов с такой же частотой. А другие люди не разу не набрали за то же время слово "оптимизировать", зато набирали много раз другие слова, которыми вы не пользуетесь.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 16:14
Цитата: myst от октября 17, 2010, 16:12
В первом столбце не частота, а количество слов
Количество каких слов где?
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 16:15
Цитата: Alone Coder от октября 17, 2010, 16:14
Количество каких слов где?
Цитата: myst от октября 17, 2010, 16:04
Возьмём, например, моё предыдущее сообщение:
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 16:17
Цитата: Alone Coder от октября 17, 2010, 16:13
Зато вы не набрали за всю жизнь ни разу кучу других слов с такой же частотой. А другие люди не разу не набрали за то же время слово "оптимизировать", зато набирали много раз другие слова, которыми вы не пользуетесь.
А мне от этого легче, что ли?
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 16:20
Для популярных аффиксов можно придумать сокращения типа ЗЩ = "ировать". Вопрос в том, сколько нажатий на килобайт выиграет каждая такая замена, т.е. насколько эти аффиксы на самом деле популярны.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 16:26
Люди набирают разные тексты. Для них важна статистика именно на их текстах, и оптимизация должна делаться на основе этой статистики.
Название: Быстропечатание
Отправлено: 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 %

Для сравнения:
ц=1066 (0,37 %)
щ=778 (0,27 %)
э=879 (0,30 %)
ф=788 (0,27 %)
ъ=70 (0,02 %)
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 17:04
Цитата: 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 %
Ладно, оставим их пока. Было бы неплохо сделать некое общеязыковое ядро, а специфические сочетания, редкие в общем массиве, но частые в какой-то предметной области, добавлять отдельным модулем.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 17:11
Надо ещё решить проблему декомпозиции слов на аккорды. Не решив её, никакой скорости не будет. Говорю сразу, я её не решил. Мне пришлось почти год чуть ли не каждое слово отрабатывать отдельно, чтобы набирать аккордами с нормальной скоростью. А всё потому, что голова банально не успевает делить слово на аккорды. Если буквы легко отличимы друг от друга, то края аккордов сливаются, плюс алфавит аккордов значительно больше и выбор из него происходит дольше. Я прошлой осенью думал о делении на морфемы, но для стандартной русской раскладки это не очень подходило, к тому же я не придумал, что делать с корнями. Но если делать новую раскладку, то надо решить только проблему с корнями. :)
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 17:30
Ещё интересен вопрос ввода с помощью размахивания рукой/ами перед камерой.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 17:37
Цитата: Alone Coder от октября 17, 2010, 17:30
Ещё интересен вопрос ввода с помощью размахивания рукой/ами перед камерой.
А где это можно увидеть?
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 17:39
Можно ещё рассмотреть систему сокращений: типа кол-во — с автоматической развёрткой.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 17:41
Ага, будет, как в ГЕСС - 4000 сокращений )
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 17:43
Цитата: Alone Coder от октября 17, 2010, 17:41
Ага, будет, как в ГЕСС - 4000 сокращений )
Why not? :)
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 17:45
Цитата: myst от октября 17, 2010, 17:37
Цитата: Alone Coder от Сегодня в 18:30
ЦитироватьЕщё интересен вопрос ввода с помощью размахивания рукой/ами перед камерой.
А где это можно увидеть?
Говорят, в Windows 7 есть поддержка жестов.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 17:47
Цитата: Alone Coder от октября 17, 2010, 17:45
Говорят, в Windows 7 есть поддержка жестов.
Она действительно есть, но это лишь поддержка. Конкретная система жестов для ввода слов есть?
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 17:50
Надо копать, что там под Kinect наваяли. Как-то же вводят имена в играх.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 17:50
:??? А с клавиатуры низя?
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 17:59
Откуда у Xbox 360 клавиатура :)
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 18:05
Ой.

В русском языке сколько корней, не больше 35 000? Если не больше, хватит трёхклавишных аккордов.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 18:15
Ограничим задачу. Допустим, у нас 10 клавиш, аккорды запрещены. Предположим также, что человек может освоить максимум 5 контекстов и 100 макросов.

Очевидные контексты такие: после пробела, после согласной и после гласной.

Нужна какая-то раскладка для затравки.

Единственный символ с частотой >10% - пробел, ему можно дать отдельную клавишу.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 18:18
Цитата: Alone Coder от октября 17, 2010, 18:15
Единственный символ с частотой >10% - пробел, ему можно дать отдельную клавишу.
Зачем? Он же всегда начинает слово.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 18:20
Цитата: Alone Coder от октября 17, 2010, 18:15
Очевидные контексты такие: после пробела, после согласной и после гласной.
Делать анализ гласная/согласная во время набора — не самая лучшая идея.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 18:20
Зато он задаёт контекст с нетривиальным распределением частот.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 18:25
Очевидно, после согласных как минимум 4 кнопки будут означать сразу символы: О,Е,А,И.
Название: Быстропечатание
Отправлено: LookIn от октября 17, 2010, 18:43
Цитата: myst от октября 17, 2010, 13:57
Это не раскладка, а программа, превращающая обычную клавиатуру в аккордную. По сути это редактор аккордов, можно любые сочетания клавиш связывать с любыми последовательностями символов.
А ссылочку можно ?
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 18:44
После гласных напрашиваются кнопки Т,Н,С,Р.
После пробела - П.

Контекст после пробела (ПП: 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
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 18:48
Важно: должны быть предусмотрены макросы "пробел-кнопка-пробел" для однобуквенных слов: а, в, ж, и, к, о, с, у, я.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 19:02
После пробела только П имеет частоту выше 10%. Значит, остальные 8 клавиш (а можно и пробел) начинают макросы. Двухклавишных макросов можно сделать максимум 9*10=90, из них 9 мы уже заняли однобуквенными словами, а ещё 33-1 надо отвести под побуквенный ввод.

Напрашиваются макросы:
1. Для приставок (НА, НЕ, ПО, ПРО, ПРИ, ДО, ЗА).
2. Для самых частых слов (ЧТО, КАК, ЭТО...). 50 самых частых русских слов охватывают 1/3 всех слов текста.
3. Для точки и запятой.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 19:11
Хотелось бы, чтобы макросы красиво легли на подписи на кнопках. На одной кнопке поместится 4 обозначения. Судя по однобуквенным словам, на кнопках будут как минимум обозначения А, В, И, К, О, С, У, Я. Может быть, ещё Ж.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 19:14
Цитата: LookIn от октября 17, 2010, 18:43
Цитата: myst от октября 17, 2010, 13:57
Это не раскладка, а программа, превращающая обычную клавиатуру в аккордную. По сути это редактор аккордов, можно любые сочетания клавиш связывать с любыми последовательностями символов.
А ссылочку можно ?
Ой, я не помню, где-то на форуме. Проще у Тайльнемера спросить.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 19:16
Цитата: Alone Coder от октября 17, 2010, 18:48
Важно: должны быть предусмотрены макросы "пробел-кнопка-пробел" для однобуквенных слов: а, в, ж, и, к, о, с, у, я.
Пробел должен начинать слово, но никогда не должен его заканчивать, потому что у нас знаки препинания никогда не отбиваются пробелом.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 19:20
Макросы у Вас что?
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 19:29
Макросы - это определённые последовательности нажатий, которые выдают определённые последовательности букв.

Частые слова (звёздочкой помечены совпадающие с приставками). Как минимум 2-3-буквенные должны иметь соответствующие макросы (47 шт).
*не
*на
он
то
но
же
*вы
*по
да
*за
бы
ты
*от
*из (как приставка может меняться в зависимости от следующего символа)
ее
*до
ну
*ни
ли
что
как
это
все
его
так
она
мне
еще
вот - надо в+от
был - надо бы+л
ему
нет - надо не+т
уже - надо у+же
меня
было
даже - надо да+же
быть - надо бы+ть
если
когда
вдруг
только
теперь
------- далее не из списка-50 -------
да
*при
*про
*под
*раз (как приставка может меняться в зависимости от следующего символа)
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 19:31
Цитата: myst от октября 17, 2010, 19:16
Цитата: Alone Coder от Сегодня в 19:48
ЦитироватьВажно: должны быть предусмотрены макросы "пробел-кнопка-пробел" для однобуквенных слов: а, в, ж, и, к, о, с, у, я.
Пробел должен начинать слово, но никогда не должен его заканчивать, потому что у нас знаки препинания никогда не отбиваются пробелом.
Тут разговор про два нажатия в контексте пробела: буква, пробел.
Двойной пробел (т.е. пробел в контексте пробела), очевидно, означает запятую (с пробелом). Впрочем, можно выкинуть макрос для Ж и повесить туда запятую. Или точку.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 19:40
Цитата: Alone Coder от октября 17, 2010, 19:29
Макросы - это определённые последовательности нажатий, которые выдают определённые последовательности букв.
Я уж было подумал, что что-то другое.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 19:42
:??? Я как-то потерял нить...
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 19:46
Нужно выделить ещё одну клавишу для побуквенного набора. Как в ARONETIS, она переключает наборы по 9 символов, после чего нажатие на одну из остальных 9 кнопок выдаст букву. Сильно желательно, чтобы эти наборы были все подписаны на кнопках.

Побуквенный набор должен работать одинаково во всех контекстах.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 20:01
Итак, мы уже имеем следующие обозначения на клавиатуре:

Кнопка 1: А
Кнопка 2: В
Кнопка 3: И
Кнопка 4: К
Кнопка 5: О
Кнопка 6: С
Кнопка 7: У
Кнопка 8: Я
Кнопка 9 (побуквенный ввод)
Кнопка 10 (пробел)

Логично выделить под первый набор символов для побуквенного ввода те же А,В,И,К,О,С,У,Я. Он отличается от идеала (О,Е,И,А,Т,Н,С,Р) четырьмя символами, которые в идеальном случае вводились бы через два нажатия на кнопку "побуквенный ввод". А у нас будут вводиться в одно, чтобы не плодить лишнюю маркировку на клавишах. Второй набор, очевидно, будет Л,М,Д,П,Е,Т,Н,Р. Третий - Ы,Б,Ь(Й),З,Г,Ч,Ж,Х. Четвёртый - Ш,Ю,Ё,Ц,Щ,Э,Ф,Ъ. Что повесить на пробел - можно подумать. Например, знаки препинания или переключения регистра.

Итого обозначения на клавиатуре (один из вариантов, потом можно будет переставить буквы для удобства ввода):
Кнопка 1: АЛЫШ
Кнопка 2: ВМБЮ
Кнопка 3: ИДЬЁ
Кнопка 4: КПЗЦ
Кнопка 5: ОРГЩ
Кнопка 6: СНЧЭ
Кнопка 7: УТЖФ
Кнопка 8: ЯЕХЪ
Кнопка 9 (побуквенный ввод)
Кнопка 10 (пробел)

Можно включать побуквенный ввод не для одного символа, а навсегда. Выключать пробелом? Побуквенный ввод требует в среднем 2 нажатия/символ.

Клавиша стирания символа может быть отдельной - всё-таки экстренная операция, ради которой можно и оторвать руки от 10 клавиш.
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 20:07
Цитата: Alone Coder от октября 17, 2010, 20:01
Клавиша стирания символа может быть отдельной - всё-таки экстренная операция, ради которой можно и оторвать руки от 10 клавиш.
Клавиша стирания символа не нужна, нужна клавиша стирания текущего слова.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 20:14
Можно обе )
Название: Быстропечатание
Отправлено: myst от октября 17, 2010, 20:32
Зачем такая расточительность? :)
Название: Быстропечатание
Отправлено: Валентин Н от октября 17, 2010, 21:16
слово и так можно стерать в обе стороны нажимать с контролом.
Название: Быстропечатание
Отправлено: Alone Coder от октября 17, 2010, 21:50
Пришлось переставить несколько букв, чтобы 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=она разруливаются пробелом после слова.
Название: Быстропечатание
Отправлено: Bhudh от октября 17, 2010, 21:53
Offtop
Цитата: Alone Coderа, в, ж, и, к, о, с, у, я
Авжикосуя...
:???
Что за конланг?‥
Название: Быстропечатание
Отправлено: Alone Coder от октября 18, 2010, 00:17
Пока не порезали, добавлю ещё пять копеек.

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% текста.
Название: Быстропечатание
Отправлено: myst от октября 18, 2010, 09:49
Цитата: Валентин Н от октября 17, 2010, 21:16
слово и так можно стерать в обе стороны нажимать с контролом.
Что нажимать с контролом?
Название: Быстропечатание
Отправлено: myst от октября 18, 2010, 09:57
:??? Alone Coder плавно перешёл к изобретению альтернативы T9?
Название: Быстропечатание
Отправлено: Alone Coder от октября 18, 2010, 11:52
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 (кроме как после точки)=?
цифры=? отдельная цифровая клавиатура?
переключение языка=? отдельная педаль?
Название: Быстропечатание
Отправлено: Alone Coder от октября 18, 2010, 16:45
Фигня получается. Выигрыш по сравнению с ARONETIS всего 7%.

"Остров Накануне": 900297 символов (на каждой строке CR+LF, абзацы в один пробел)
считаем, что все символы, которых нет в раскладке, вводятся в 1 нажатие
регистр игнорируем

ARONETIS (без Й):
('А','Л','Я','Э'),
('Р','М','Ч','Ю'),
('О','Д','З','Ё'),
('Н','К','Б','Ц'),
('Е','В','Г','Ф'),
('Т','П','Х','Ш'),
('И','У','Ы','Щ'),
('С','Ь','Ж','Ъ')
= 1367972

Моя система (два контекста):
('Л','Р','Я','Э'),
('Д','И','Ч','Ю'),
('П','О','З','Ё'),
('Н','У','Б','Ц'),
('В','Е','Г','Ф'),
('Т','А','Х','Ш'),
('К','Ы','М','Щ'),
('С','Ь','Ж','Ъ')
= 1312747
[если С задаёт контекст вместе с прочими согласными = 1321164]
[Ь<->Я = 1323335
Ы<->Я = 1321774
Ы<->М = 1318353
Д<->М = 1309296
П<->М = 1309432]
с тремя нажатиями для 4-го слоя = 1293618 = 1,44 нажатия/символ
с макросами для однобуквенных слов = 1285573
[если Ь не меняет контекст = 1288111]
[В<->М = 1293843]
Название: Быстропечатание
Отправлено: Валентин Н от октября 18, 2010, 18:36
Цитата: myst от октября 18, 2010, 09:49
Что нажимать с контролом?
бэкспэйс и дэлит ессно.
Нажимаете с контролом и он всё слово удаляет. - 3аметно облегчает жизнь, должен заметить.
Название: Быстропечатание
Отправлено: myst от октября 18, 2010, 18:40
Эта операция должна быть на одной клавише.
Название: Быстропечатание
Отправлено: Валентин Н от октября 18, 2010, 18:47
Цитата: myst от октября 18, 2010, 18:40
Эта операция должна быть на одной клавише.
Можно переделать, удалять слово бэкспэйсом, а букву им же, но с контролом
Название: Быстропечатание
Отправлено: myst от октября 18, 2010, 18:53
Цитата: Валентин Н от октября 18, 2010, 18:47
Можно переделать, удалять слово бэкспэйсом, а букву им же, но с контролом
Расскажите, как это сделать. Я внимательно слушаю.
Название: Быстропечатание
Отправлено: Валентин Н от октября 18, 2010, 18:57
ну вы же програмисты, вы и знаете :-[
А что разве переназначать не́где?
Название: Быстропечатание
Отправлено: myst от октября 18, 2010, 19:11
Цитата: Валентин Н от октября 18, 2010, 18:57
ну вы же програмисты, вы и знаете :-[
А что разве переназначать не́где?
Проблема в том, что Ctrl+Backspace не во всех программах работает.
Название: Быстропечатание
Отправлено: Валентин Н от октября 18, 2010, 19:12
Цитата: myst от октября 18, 2010, 19:11
Проблема в том, что Ctrl+Backspace не во всех программах работает.
Ну дык, ежели сами программу делаете, вот и сделайте чтоб работало :donno:
Название: Быстропечатание
Отправлено: myst от октября 18, 2010, 20:04
А толку-то от этого?
Название: Быстропечатание
Отправлено: Валентин Н от октября 18, 2010, 21:36
от чего?
Название: Быстропечатание
Отправлено: myst от октября 18, 2010, 21:37
От того, что я в своей программе сделаю, чтоб работало.
Название: Быстропечатание
Отправлено: Валентин Н от октября 18, 2010, 21:40
вам не нужна удалялка?!
Название: Быстропечатание
Отправлено: myst от октября 18, 2010, 21:42
Цитата: Валентин Н от октября 18, 2010, 21:40
вам не нужна удалялка?!
Мне не нужна удалялка, которая работает в 2,5 программах, включая мою собственную.
Название: Быстропечатание
Отправлено: Валентин Н от октября 18, 2010, 21:46
ну значит догвольствуйтесь тем, что есть :donno:
Название: Быстропечатание
Отправлено: myst от октября 19, 2010, 18:36
Я же говорил, что роль длинных слов выше, чем кажется, глядя на одну частоту:
(первая пара столбцов — количество слов по длинам в первой тысяче самых частотных слов; вторая пара — то же самое, но по объёмной доле (произведение длины на частоту)

                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
Название: Быстропечатание
Отправлено: myst от октября 19, 2010, 18:59
Совокупная доля первой тысячи слов по частоте — 58%, а по объёмной доле — 39%
Название: Быстропечатание
Отправлено: addewyd от октября 19, 2010, 19:03
сижу за клавой 30 лет.
так и не научлся вслепую. зато print настукиваю за 0.3 секунды.