コンテンツへスキップ
🛠️ToolsShed

文長分析ツール

テキスト中の文の長さ分布を分析します。

このツールについて

文の長さ分析ツールは、任意のテキスト内の文の長さの分布を調べるライティングツールです。このツールは、執筆者が読みやすさのパターンを理解し、構造の多様性を識別し、執筆が自然に流れるかどうかを認識するのに役立ちます。エッセイを作成する場合でも、ブログ記事を改善する場合でも、専門家向けドキュメンテーションを編集する場合でも、ライティングスキルを教える場合でも、このツールは手動カウントや複雑な分析を必要とせずに、作品の文構造に関する即座な情報を提供します。

文の長さ分析ツールを使用するには、テキストを入力フィールドに貼り付けるだけで、ツールは文の長さを自動的に計算し、頻度分布チャートを表示し、平均長、最小値、最大値、中央値などの詳細な統計を提供します。ビジュアル分解により、文のバランスがとれているかどうか、または非常に短い文または非常に長い文に過度に依存しているかどうかを一目で確認でき、読みやすさを向上させるためにリビジョンが必要な領域を簡単に見つけることができます。

よくある質問

コード実装

import re
from collections import Counter

def analyze_sentence_lengths(text: str) -> dict:
    sentences = [s.strip() for s in re.split(r'[.!?]+', text) if s.strip()]
    lengths = [len(re.findall(r'\b\w+\b', s)) for s in sentences]

    if not lengths:
        return {}

    categories = {"short": 0, "medium": 0, "long": 0, "very_long": 0}
    for length in lengths:
        if length <= 10:
            categories["short"] += 1
        elif length <= 20:
            categories["medium"] += 1
        elif length <= 30:
            categories["long"] += 1
        else:
            categories["very_long"] += 1

    return {
        "total_sentences": len(sentences),
        "avg_length": round(sum(lengths) / len(lengths), 1),
        "min_length": min(lengths),
        "max_length": max(lengths),
        "categories": categories,
        "sentence_lengths": list(zip(sentences, lengths)),
    }

text = """
The cat sat. The quick brown fox jumped over the lazy sleeping dog near the river.
This is a medium length sentence with some words.
"""
result = analyze_sentence_lengths(text)
for sentence, length in result["sentence_lengths"]:
    print(f"{length:3d} words: {sentence[:50]}...")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.