Anyone having any leads on a 'reading time algorithm'?

后端 未结 3 1404
甜味超标
甜味超标 2021-01-19 18:48

Just curious how to calculate the length of time it would take someone to read a paragraph with x characters and/or y words. Any thoughts on this?

相关标签:
3条回答
  • 2021-01-19 18:55

    Let’s say it’s 938 words. or if you use JavaScript you can do this

    const blogPost = "article or blog post if its in a variable like this"
    
    // get number of words in blogpost
    const wordCount = blogPost.split(" ").length
    
    1. Divide your total word count by 200.

    2. You’ll get a decimal number, in this case, 4.69. The first part of your decimal number is your minute. In this case, it’s 4.

    3. Take the second part — the decimal points — and multiply that by 0.60. Those are your seconds. Round up or down as necessary to get a whole second. In this case, 0.69 x 0.60 = 0.414. We’ll round that to 41 seconds.

    4. The result? 938 words = a 4 minute, 41 second read.

    5. But that’s really specific. Why not round that time to make things simpler for your reader? Anything less than 30 seconds gets ignored; anything more than 30 seconds gets rounded up to the next minute.

    6. that rounding makes your 938-word article a 5-minute read.

    0 讨论(0)
  • 2021-01-19 18:58

    I used an approximate 233 words per minute reading time as shown in the fiddle HERE.

    Rounded up the result to one decimal using readingtime = +readingtime.toFixed(1);.

    Cross checked the result with MS Word count and seems acceptable. Did also some stopwatch timing with reading time and seems reasonable.

    The code for word count was taken from stackoverflow

    Late response but hope it helps!

    0 讨论(0)
  • 2021-01-19 19:10

    I would toss the X characters idea. Humans don't read on a character by character basis; we recognize entire words as a whole per se.

    Check this article on rates of reading. Studies showed a range of reading rates (measured in words per minute) based on the purpose for reading. We read slower if we are trying to maximize the amount of information we absorb, and very fast if we are searching for something in particular within a given text.

    With that, you could use the average range to provide a range of time that a person would be expected to read your paragraph in given Y number of words.

    If you want to get more accurate, you will have to add extra parameters, such as:

    • Language of text vs. major language of reader
    • Reading ability of reader
    • Reader fatigue
    • Average word length
    • Average word complexity (difficult to calculate)
    0 讨论(0)
提交回复
热议问题