任意のテキストの読了時間を推定

任意のテキストを読むのにかかる時間を推定します。読了時間計算の背後にあるアルゴリズム、異なるコンテキストでの平均読書速度、単語数から分数への変換方法を学びます。

Content Analysis

詳細な説明

読了時間の推定

読了時間の推定は、単語数をおおよその所要時間に変換します。ブログ(Mediumが「X min read」ラベルを普及させました)やコンテンツプラットフォームでよく使われる機能です。

標準的な計算式

基本的な計算は総単語数を平均読書速度で割ります:

function estimateReadingTime(text) {
  const words = text.trim().split(/\s+/).length;
  const wordsPerMinute = 238; // 平均的な成人の読書速度
  const minutes = words / wordsPerMinute;
  return Math.ceil(minutes);
}

成人の平均読書速度として一般的に引用されるのは200-250 WPM(words per minute)です。ほとんどの実装では238 WPM(Brysbaert, 2019の研究に基づく)を使用するか、簡潔さのために200 WPMに丸めます。

読書速度に影響する要因

読書速度はいくつかの要因によって大きく異なります:

要因 WPM範囲 備考
平均的な成人(英語) 200-250 非技術的テキストの黙読
技術的コンテンツ 150-200 コードドキュメント、学術論文
軽い小説 250-300 馴染みのある語彙、シンプルな構造
スキミング 400-700 重要情報のスキャン
速読 600-1000+ 訓練されたテクニック、理解度は低下
子供(10-12歳) 100-150 まだ読書の流暢さを発達中

コンテンツタイプに応じた調整

より賢い読了時間推定器はコンテンツの複雑さを考慮します:

function smartReadingTime(text, options = {}) {
  const words = text.trim().split(/\s+/).length;
  const codeBlocks = (text.match(/```[\s\S]*?```/g) || []).length;
  const images = options.imageCount || 0;

  let baseMinutes = words / 238;
  baseMinutes += codeBlocks * 0.5;  // コードブロックごとに30秒
  baseMinutes += images * 0.2;       // 画像ごとに12秒

  return Math.ceil(baseMinutes);
}

コードブロック(読者はコードを解析するために遅くなる)と画像(研究によると読者は画像ごとに約12秒費やす)の追加時間を加算します。

表示フォーマット

一般的な表示パターン:

  • 「5 min read」 — 切り上げ、Mediumで使用
  • 「4-6 min read」 — 範囲形式、不確実性を表示
  • 「Less than 1 min read」 — 非常に短いコンテンツ向け

読了時間が重要な理由

読了時間ラベルを追加するとエンゲージメントが向上します。ユーザーは時間的なコミットメントを事前に知ることで、読み始める可能性が高くなります。Mediumは、7分の読了時間の記事が最もエンゲージメントが高かったと報告しています。

ユースケース

ブログプラットフォームは読者の期待を設定しエンゲージメントを高めるために読了時間を表示します。コンテンツチームは記事の長さを計画し(7-10分がエンゲージメントに最適)、メールニュースレターのライターは購読者の注意を尊重するために読了時間を推定し、ドキュメントチームは開発者がチュートリアルの時間投資を見積もるのを助けます。

試してみる — Word Counter

フルツールを開く