一文あたりの平均単語数
2つの文で合計11語なら、1文あたりの平均は5.5語で、とても簡潔な文章です。文章を貼り付けると、単語数と文の数、平均の文の長さ、複雑さの大まかな目安が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
一文あたりの平均単語数は、文章の複雑さを示す最も単純で実用的な指標の一つです。一文が二十五語や三十語と長くなると、語彙が平凡でも読者は作業記憶に句を保つのに負荷がかかります。八語から十二語程度の短い文では、文章は軽快で読みやすく、会話調に近づくことが多いです。この機能はプレーンテキストを受け取り、空白で区切られたトークンとして単語を数え、終端の句読点で文を数え、二つの合計を割って安定した平均文長を返します。教員は段落の目標に、編集者はハウススタイルの確認に、マーケターはランディングページの密度に、プロダクトチームは公開前のゲートに用います。
一文あたりの平均単語数の定義と重要性
一文あたりの平均単語数は、読みやすさの議論では平均文長や ASL と呼ばれることもあり、ある文章の総単語数を文の数で割った値として定義されます。ここでいう単語は実用的なトークンで、空白・タブ・改行で区切られた非空白文字の連続です。文の終わりは、ピリオド・感嘆符・疑問符を検出したときです。
これらの記号が連続していても一つの終わりとして扱い、直後の閉じ引用符や括弧も許容し、その後に空白または文末が続きます。末尾に終端記号のない断片も一文として数えます。下書きやチャット風のメモでは最後のピリオドを省略することが多いためです。
この定義は意図的に機械的です。Dr. や U.S. のような略語の完全な言語解析ではなく、三点リーダーを修辞的な間に展開することもありません。医学的診断でも、Flesch–Kincaid のような学年式でも、トーンや読者判断の代わりでもありません。
それでも「22.5 words per sentence」のような一つの数は、長い節を分割する・短い断片をつなぐ・ブランド指針内に平均を収めるという具体的な操作の目安になります。まずは複雑さの温度計として使い、重要度が高いときはスタイルガイドとピアレビューで調整してください。
教育・編集の現場で平均文長が使われる場面
中等教育の国語では、物語文と説明文の段落に文長の目標を設け、簡潔さと展開の両方を練習させることがよくあります。大学のライティングセンターは、トピック文が不明瞭なまま平均文長が密な学術域に入った学位論文章を指導します。コンテンツマーケはヒーロー文・メール冒頭・製品紹介を測ります。
同じ総語数でも長い三文と短い八文では読み味が違うためです。ローカリゼーションと平易言語のチームは、源文と訳文の平均を比べ、連文節への過剰訳を検知します。サポートと法務の編集は、政策抜粋やチケット雛形を走査し、ストレス下の顧客にも読みやすい回答を保ちます。
プロダクトエンジニアは、受け入れ前にフォーム欄・レビュー用プロンプト・チャットボット学習例に平均文長の上限を課します。多因子の読みやすさスコア、比率なしの文カウンタ、語と文字の内訳が必要な場合は、別の検索意図とランディングとして扱い、この平均単語数ページに詰め込まないでください。
活用例
エッセイ・宿題の文長目標
提出前に生徒の段落が求める平均文長に達しているかを、教員のスクリプトと同じ平均で確認します。
マーケティング・Web の密度チェック
ヒーロー文・広告・メール冒頭の一文あたり平均単語数を測り、短文・長文の両方がブランドの読みやすさルール内に収まるようにします。
編集・CMS の複雑さゲート
公開前に、社内上限を超える平均文長の下書きを、CI と無料ブラウザツールで同じ純関数を使ってフラグします。
よくある質問
一文あたりの平均単語数はどう計算されますか?
空白区切りのトークンとして単語を数え、終端句読点(. ! ?)で文を数えたうえで、総単語数を文数で割ります。平均は安定した結果のため小数第二位に丸めます。
空のテキストを送るとどうなりますか?
空文字と空白のみは不可です。単語のある空でない散文を指定してください。
単語カウンタや文カウンタと同じですか?
いいえ。 それらは合計を返します。このページは比率—一文あたりの平均単語数—を文章複雑さの信号として扱い、粗い複雑さ帯も付けます。
略語は完璧に扱われますか?
いいえ。 略語内のピリオドが文末に見えることがあります。本ツールは決定論的な終端句読点メトリクスであり、完全な言語パーサではないため、結果はクライアント間で安定します。
「とても簡潔」から「とても複雑」までの目安は何を意味しますか?
英語の学校や仕事の文章でよく使われる編集上の範囲をもとにした大まかな目安です。フレッシュ・キンケイドのような学年レベルの式ではなく、語調や読者に合うかどうかの判断の代わりにもなりません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/edu/words-per-sentence \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Short sentence. Here is a longer second sentence with more words!"}'const res = await fetch("https://api.kit.forhosting.com/edu/words-per-sentence", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Short sentence. Here is a longer second sentence with more words!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/words-per-sentence",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Short sentence. Here is a longer second sentence with more words!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/words-per-sentence", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Short sentence. Here is a longer second sentence with more words!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Short sentence. Here is a longer second sentence with more words!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/words-per-sentence", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Short sentence. Here is a longer second sentence with more words!"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.words_per_sentence",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
空入力や空白のみは silent なゼロではなく、明確な invalid_input で拒否されます。
一文あたりの平均単語数の定義と重要性
平均と併せて返る複雑さの帯は、very_simple から very_complex までの粗いヒューリスティックで、英語の学校・ビジネス散文でよく使われる編集レンジに基づきます。
入力契約・レスポンス形・エラー動作
走査後に単語が検出できないテキストも失敗するため、句読点だけがゼロ語の傑作に見えることはありません。検証失敗はプリペイド残高を消費しません。必須の文字列フィールド text、または content・body・message・input・value・data・string・s といった文書化されたエイリアスを含む JSON を POST してください。パラメータ契約の例は短い二文のサンプルで、無料フォームと API プローブが同じ動作例を共有します。成功時は元の text をエコーし、比率に使う生の合計として word_count と sentence_count を返し、ランタイム間で安定比較できるよう小数第二位に丸めた average_words_per_sentence、very_simple から very_complex までの粗い帯 complexity、定数式 average_words_per_sentence = word_count / sentence_count を示す formula、ログ用の operation として words_per_sentence を返します。text 欠落、空文字、空白のみ、文字列以外のオブジェクト、文字数上限超過は invalid_input で失敗し課金されません。成功した API 呼び出しの料金は公開ベース $0.002 です。
教育・編集の現場で平均文長が使われる場面
本機能は純粋な parse エンジンのため、成功した API は公開ベース $0.002 で、検証失敗は残高を消費しません。文字数上限内のリクエスト、素直な UTF-8 散文を優先し、カリキュラムやブランドが組み込みラベルと異なる場合は独自の複雑さ帯を文書化してください。
技術的な質問
料金はいくらですか?
ブラウザツールは無料でローカル実行です。API は成功一件あたり $0.002 の KIT プリペイド残高を使い、無効入力は課金されません。