Inspiration

I'm an Alexa developer who previously worked in Psychiatry and evaluated a lot of people's cognitive functions. Digit span is a very well standardized test used extensively in situations like mental status testing or IQ testing. I wanted to implement it for Alexa.

What it does

Memory span asks you to repeat back sequences that the tester says out loud, increasing the sequence length with each success to see the most you can do. After testing this 'forward span', you then are tested on 'backward span' which is a harder test where you have to say the sequence backwards. This accesses memory differently and tests different working memory components.

Although digit span is the best known test, I also implemented options to use letters, colors and names as alternatives. Prior research done on letters finds most people have a shorter (worse) letter span than digit span.

I also implemented an option to administer the test using different protocols. The traditional version as implemented in the Wechsler IQ test gives you two chances at each step and stops when you fail twice for the same span size. A variation suggested by Woods (2011) increases more quickly and will step up for each correct answer and step down (instead of stopping) for two errors. This allows a more precise calculation of score, although it is not as prevalent in the literature.

After completing the test (which takes 7-8 minutes), you will get a score and the option for further testing.

If you have an Alexa enabled device, you can enable it in the Amazon Store

Challenges I ran into

The first challenge with this skill is dealing with Amazon's fixed limit of 8 seconds silence before shutdown. If a person is slow in response because they are rehearsing or working some mnemonic, the test will abruptly end. I got around this somewhat by using a very quiet reprompt, but that only extends the time limit by another 8 seconds to sixteen. At this point there aren't any ways around this, although I could monitor these situations and allow continuation with the wake word.

Another challenge comes from Alexa's models for speech recognition. I created a generalized system for allowing the generation of any type of stimulus by creating a list all the possible answers. For example, I have a list of eleven colors for the 'color' type of test. I did this so I could make specific variants more easily, say for comparing multisyllabic and monosyllabic sets. Recognition would be better if I could use the pretrained types Alexa provides (colors, numbers, etc.), but those sets are too large. (I would get things like 'gold' or 'turquoise' when I wanted to keep to the 11 'universal' colors). For this reason, there are issues with recognition, and especially if you are doing a 'letter span' test, Alexa might hear a letter wrong and score a mistake. Of course, this can happen with real testers, too, but they are still generally better than Alexa.

What's next

I haven't seen people use the skill much yet. I do plan to add canFulfillIntent, which might help that. If the skill is useful, I might add something to allow saving and comparison of test results.

I am interested in further internationalization. Right now, it is only in English in Amazon zones for the US, UK, Canada, Australia, and India. I did not add names as an option outside of the US zone, as I would want to get a list of common names to use for the other countries. (I got the US from the American Social Security site for top names for the last 100 years). If anyone can get me similar name lists for any of the other countries, I'll add them.

I am also very open to modifying this skill if someone wants to apply it in research. Although there are problems with the inability to get accurate timing, it is a convenient and accessible tool.

For more information check out the memory span webpage

Built With

Share this project:

Updates