2009-05-25 14 views
5

Ho bisogno di stimare una complessità delle parole per dattilografi. Ad esempio "soffrire" è facile rispetto a "persone" perché "o" e "p" sono più difficili di "e" e "r". Qualsiasi tasto premuto con il mignolo è più difficile da colpire che dall'indice. E spostare il dito dalla posizione di base è più difficile di quanto non si muova. E usare il tasto Maiusc anche aggiungere durezza.Algoritmo per stimare la complessità della parola

Quale approccio può essere implementato in questo caso?

+1

Si dovrebbe anche considerare che è più facile digitare parole che rimbalzano avanti e indietro tra le due mani rispetto alle parole che vengono digitate per lo più con una sola mano. –

risposta

12

Vorrei controllare lo Carpalx website. Il sito spiega in dettaglio come vengono valutati i diversi layout di tastiera per i dattilografi e dispone già di un software open source che implementa i loro algoritmi per qualsiasi layout di tastiera. (Assicurati di controllare le sezioni typing effort, e .)

3

Un approccio semplice:

Score ogni lettera in base al largo delle posizioni delle dita. Aggiungi un modificatore o un moltiplicatore per il turno. Forse aggiungere una riduzione per le lettere ripetute?

Prendere la parola, sommare i punteggi e si dovrebbe avere un approccio.

Verificare, modificare i punteggi secondo necessità, ripetere finché non si dispone di una distribuzione significativa.

+0

lettere ripetute, sì, è un altro. – FFire

1

È possibile mantenere una rappresentazione 2D della tastiera in una matrice come una sorta di grafico collegato, con il nome della chiave e coordonare come nodi e 2 coordonati al punto in cui le mani si posizionano sopra (attorno a F e J ?), quindi per ogni tasto di input calcoli le distanze dalla chiave nel grafico alle tue 2 "chiavi del passaggio del mouse", prendi il minimo, aggiungi una penalità di shift (caps) e produci un punteggio (possibilmente pesato).

+0

Non solo le chiavi di hover F e J, ASD e KL: anche i tasti al passaggio del mouse. Ma grazie comunque. – FFire

0

Si consiglia di provare un approccio molto semplice, dando un valore ad ogni chiave che possono essere digitati, e semplicemente aggiungere il valore di tutte le chiavi della parola che si desidera valutare ...

0

puramente sulla base di distanza tra i tasti, calcolare la distanza usando una tabella di tasti e sommare le distanze.

1

Come base, puoi assegnare a ciascuna chiave una valutazione di difficoltà e quindi aggiungere solo le valutazioni.

Quindi probabilmente si desidera individuare modelli di dita difficili. Ad esempio la combinazione "sle" è più difficile di "sfe", perché la prima è una combinazione sinistra-destra-sinistra. È più difficile per il cervello coordinarsi tra la mano sinistra e quella destra, poiché sono collegati a ciascuna metà del cervello, piuttosto che coordinare le dita della stessa mano. È comune premere i tasti nell'ordine sbagliato in tali combinazioni.

Anche la parola comune ha un effetto sulla difficoltà. Le parole più comuni vengono digitate più spesso in modo che il cervello impari i modelli. Inoltre, quando una parola contiene una parola comune è più facile da digitare, come "mano" in quanto contiene "e". D'altra parte, le parole che contengono solo una parte di una parola più comune diventano più difficili, poiché il cervello vuole seguire lo schema più comune.

1

La difficoltà di digitazione è molto soggettiva, è come imparare a suonare uno strumento musicale, quindi una parola che è molto difficile da digitare per una persona è un pezzo di torta per un'altra. Prendiamo ad esempio qualcuno che non si è mai seduto davanti a una tastiera e chiedendo loro di digitare la parola "Microsoft" ... cercheranno e beccheranno e probabilmente impiegheranno alcuni secondi per scriverlo. Prendi il tuo programmatore medio che digita questa parola alcune dozzine di volte al giorno e lo snocciolano in meno di un secondo.

D'altra parte, prendi la prima persona e chiedi loro di digitare la parola "Microscopio" e probabilmente impiegheranno una quantità di tempo simile a quella di "Microsoft", ma il programmatore arriverà "s" e terminare la parola come "Microsoft" prima di eliminare e sostituire i caratteri con quelli corretti, o rallenteranno notevolmente quando colpiscono la "s" quando le loro dita non conoscono immediatamente il modello per "Microscope" - In effetti, ho dovuto digitare 3 volte perché le mie dita finivano automaticamente il pattern per me senza che io ci pensassi.

Per quanto riguarda la complessità delle parole, non è così semplice come calcolare la distanza dalle chiavi di casa, si riduce all'ambiente di fondo del dattilografo, la loro velocità di battitura abituale, la loro alfabetizzazione con la tastiera e un host di altre cose.

+1

Prendo atto, grazie. Ma sta misurando per le persone che si occupano di digitare tramite tocco, non per principianti. – FFire

1

Invece di indovinare, misurarlo.

Trova una lista di 100 parole e chiedi a una manciata di persone di inserirle. Misura la quantità di tempo tra ogni sequenza di tasti. Per ogni coppia di lettere, accumula il tempo totale impiegato dall'utente per passare dal primo al secondo e dividere per il numero di volte in cui la coppia di lettere appare per ottenere una media, che è una stima diretta della difficoltà di muovendosi tra quelle due chiavi.

Naturalmente, ci saranno alcune coppie di lettere che non compaiono in nessuna delle parole (ad esempio ZQ). Ma quelle coppie di lettere probabilmente saranno irrilevanti per il tuo lavoro, a meno che tu non debba segnare sequenze casuali di lettere.

È inoltre necessario in qualche modo tenere conto delle lettere digitate in modo errato. Potresti scartare queste cose a titolo definitivo, o usare lettere scritte in modo errato per aggiungere una sorta di penalità a quella coppia di lettere (che riflette il fatto che digitando in modo errato una delle lettere indica che questa coppia di lettere potrebbe essere difficile da scrivere).

Problemi correlati