Определение того, насколько сложно напечатать на клавиатуре QWERTY клавиатуру QWERTY

StackOverflow https://stackoverflow.com/questions/4459352

  •  10-10-2019
  •  | 
  •  

Вопрос

Я ищу достаточно простой алгоритм, чтобы определить, как трудно ввести слово в макете QWERTY.

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

Кто -нибудь может предложить какую -либо помощь или советы? Я кодирую алгоритм в Python, но любой другой язык или псевдокод приветствуются.

Это было полезно?

Решение

Есть это сравнение Между Qwerty, Colemak и Dvorak планируется, что вычисляет расстояние между напечатанными клавишами, процент ключей на одной руке и т. Д. С исходным кодом в Java. Эти метрики в комбинации должны дать очень хорошую оценку «типичности» слова.

Другие советы

Уберите свой набор Scrabble, отметьте оценки для каждой буквы, общая оценка для слова, эй, Presto, у вас есть ваш алгоритм. Не уверен, что это полностью удовлетворяет ваши требования, но это может указать вам в полезном направлении. Вы можете, например, хотеть назначить оценки не только отдельным буквам, но и ди- и три-граммам.

Я не знаю ни о каком существующем источнике необходимой информации, возможно, вы могли бы придумать свои собственные оценки букв, изучив клавиатуру и назначив более высокие оценки более сложным письмам: так что 1 для 'A', 8 для 'Q ', 2 для' m ', и так далее.

РЕДАКТИРОВАТЬ: Кажется, я сбил с толку людей больше, чем обычно, когда я отвечаю на это. Вот голые кости моего предложения:

а) Перечислите все триграммы и диграмы, которые встречаются на английском языке (или на вашем языке). Каждому из них дают счет сложности. Сделайте то же самое для отдельных букв (в конце концов, 4 -буквовое слово может состоять из триграммы и буквы, а не двух диграмов).

б) Оцените сложность ввода слова как суммы сложности ввода его компонентов.

Что касается баллов сложности, я понятия не имею, но вы можете начать с 1 для буквы на клавишах дома на клавиатуре, 2 для буквы, которая использует указательные пальцы, но не является домашним ключом, 3 для буквы который использует 2 -е или 3 -е пальцы на вашей руке и так далее. Затем для Digrams, наберите низкий уровень для легких букв слева и вправо (или вправо и слева) в последовательности, высокие для трудных букв с одной стороны в последовательности (например, QZ, хотя, возможно, недопустимо для английского). И на тебе.

У меня нет никаких алгоритмов для предложения, но несколько намеков:

  • Я использую обе руки для печати, что означает, что клавиатура примерно разделена на 2 половины, часто у меня есть проблемы с координацией между двумя руками, что означает, что каждый типит буквы в «правильном» порядке, но чередование неправильно. Это особенно верно, если одна рука имеет больше букв для типа, чем другая, типичная: «Потому что левый тип t а также e и правые типы h.

  • «Слипы» часты, то есть, то есть зачастую время, когда один будет пропустить ключ и вместо этого нажимать на другой ключ; «Добавление» / «Удаление» также часто встречается, т.е. печатает дополнительный ключ или не толкает достаточно сильно -> это означает, что (очевидно), тем больше букв, тем сложнее получить слово правильно.

  • Case Mix делает его сложнее, он требует синхронизации между толкающими крышками и ударом по ключам, поэтому вполне вероятно, что у соседних клавиш не будет правого верхнего/нижнего чехла.

Надеюсь это поможет...

Я думаю, Манхаттен расстояния Алгоритм может быть ближе всего из того, на что вы смотрите. Этот алгоритм учитывает расстояние цели от источника в четырехугольной манере.

Что касается реализации в Python, то для вашей конкретной потребности в сложности в QWERTY вам придется написать одну для себя, в противном случае немногие реализации Manhatten Distances можно найти, если вы Google Google для «Решателя головоломки в Python»

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top