2009-05-25 8 views
5

Necesito estimar la complejidad de las palabras para los mecanógrafos. Por ejemplo, "sufrir" es fácil que "personas" porque "o" y "p" son más difíciles que "e" y "r". Cualquier tecla presionada con el dedo meñique es más difícil de golpear que con el dedo índice. Y mover el dedo desde la posición básica es más difícil que no moverse. Y use la tecla Mayús para agregar dureza.Algoritmo para estimar la complejidad de la palabra

¿Qué enfoque se puede implementar en este caso?

+1

También debería considerar que es más fácil escribir palabras que se mueven hacia adelante y hacia atrás entre las dos manos que las palabras escritas principalmente con una mano. –

Respuesta

12

Revisaría el Carpalx website. El sitio detalla cómo califican diferentes diseños de teclado para mecanógrafos, y ya tiene algún software de código abierto que implementa sus algoritmos para cualquier distribución de teclado dada. (Asegúrese de consultar las secciones typing effort, model parameters y keyboard evaluation.)

3

Un enfoque simple:

Score cada letra con sede fuera de las posiciones de los dedos. Agregue un modificador o multiplicador para shift. Tal vez agregar una reducción para las letras repetidas?

Toma la palabra, suma los puntajes, y debes tener un enfoque.

Pruebe, modifique las puntuaciones según sea necesario, repita hasta que tenga una distribución significativa.

+0

Letras repetidas, sí, es otra. – FFire

1

Podría tener una representación bidimensional de su teclado en una matriz como una especie de gráfico conectado, con el nombre de la tecla y coordinados como nodos, y 2 coordinados hacia donde sus manos se ciernen (alrededor de F y J ?), luego, para cada tecla de entrada, calcule las distancias de la clave en el gráfico a sus 2 "teclas emergentes", tome el mínimo, agregue una penalización de mayúsculas (mayúsculas) y genere una puntuación (posiblemente ponderada).

+0

No solo las teclas de desplazamiento F y J, ASD y KL: también las teclas de desplazamiento. Pero gracias de cualquier manera. – FFire

0

Es posible que desee probar un enfoque muy básico, dando un valor a cada tecla que puede ser escrito, y sólo tiene que añadir el valor de todas las claves de la palabra que desea evaluar ...

0

basado puramente en distancia entre llaves, calcule la distancia usando una tabla de llaves, y sume distancias.

1

Como base, puede asignar a cada clave una calificación de dificultad y luego simplemente agregar las calificaciones.

Entonces es probable que desee detectar patrones difíciles de los dedos. Por ejemplo, la combinación "sle" es más difícil que "sfe", porque la primera es una combinación izquierda-derecha-izquierda. Es más difícil para el cerebro coordinarse entre la mano izquierda y la derecha, ya que están conectadas a cada mitad del cerebro, que coordinar los dedos en la misma mano. Es común presionar las teclas en el orden incorrecto en tales combinaciones.

La frecuencia con la que una palabra también tiene un efecto en la dificultad. Las palabras más comunes se escriben más a menudo para que el cerebro aprenda los patrones. Además, cuando una palabra contiene una palabra común, es más fácil escribir, como "mano", ya que contiene "y". Por otro lado, las palabras que contienen solo una parte de una palabra más común se vuelven más difíciles, ya que el cerebro quiere seguir el patrón más común.

1

La dificultad de tipeo es muy subjetiva, es similar a aprender a tocar un instrumento musical, por lo que una palabra que es muy difícil de escribir para una persona es pan comido para otra. Tomemos, por ejemplo, a alguien que nunca se haya sentado frente a un teclado y pídales que tipeen la palabra "Microsoft" ... cazarán y picotearán y probablemente les tome unos segundos escribirlo. Tome a su programador promedio que escribe esta palabra unas pocas docenas de veces al día y la repetirán en menos de un segundo.

Por otro lado, tome la primera persona y pídales que escriban la palabra "Microscopio" y es probable que tarden una cantidad de tiempo muy similar a la que escribieron "Microsoft", pero el programador llegará al "s" y termine la palabra como "Microsoft" antes de eliminar y reemplazar los caracteres con los correctos, o se ralentizarán notablemente cuando toquen la "s" cuando sus dedos no conozcan inmediatamente el patrón de "Microscopio" De hecho, solo tuve que escribirlo 3 veces porque mis dedos terminan automáticamente el patrón sin que yo lo piense.

En cuanto a la complejidad de las palabras, no es tan sencillo como calcular la distancia desde las teclas de inicio, se trata del entorno de fondo del mecanógrafo, su velocidad de escritura habitual, su alfabetización con el teclado y un host de otras cosas

+1

Entiendo el punto, gracias. Pero está midiendo para las personas que se ocupan de la mecanografía por contacto, no para los novatos. – FFire

1

En lugar de adivinar, mídelo.

Haga una lista de 100 palabras y solicite a un puñado de personas que las digiten. Mida la cantidad de tiempo entre cada pulsación de tecla. Por cada par de letras, acumule el tiempo total empleado por el usuario para pasar de la primera a la segunda y divida por el número de veces que aparezca ese par de letras para obtener un promedio, que es una estimación directa de la dificultad de moviéndose entre esas dos llaves.

Por supuesto, habrá algunos pares de letras que no aparecen en ninguna parte de sus palabras (por ejemplo, ZQ). Pero esos pares de letras probablemente serán irrelevantes para tu trabajo de todos modos, a menos que necesites puntuar secuencias aleatorias de letras.

También necesitará de alguna manera dar cuenta de las letras mal escritas. Podrías descartarlos directamente o usar letras mal escritas para agregar algún tipo de penalización a ese par de letras (lo que refleja el hecho de que escribir erróneamente una de las letras indica que este par de letras puede ser difícil de escribir).

Cuestiones relacionadas