文章の読みやすさを計算
この可読性計算ツールは、英語の文章をFlesch Reading EaseとFlesch-Kincaid学年レベルという2つの代表的な指標に変換します。結果の根拠となる文数、単語数、推定音節数も表示するため、スコアを具体的に確認できます。原稿の比較、説明文が想定読者に適しているかの確認、編集工程への一貫した基準の導入にご利用ください。計算は決定論的かつ高速で、言語モデルや外部サービスは使用しません。
無料で実行
2つのスコアが示す内容をご確認ください
Flesch Reading EaseとFlesch-Kincaid学年レベルは、同じ基本的な特徴を異なる観点から表します。一般に、文が短く、単語の音節が少ないほどReading Easeは高くなります。そのため、高い値は読みやすい文章、低い値は密度の高い文章を示す傾向があります。学年レベルは、同様の特徴を米国の学校教育におけるおおよその学年へ置き換えたものです。たとえば8前後なら、一般に8学年程度で読める内容を示します。ただし、どちらの数値も、記述の正しさ、文章の魅力、専門用語の妥当性を判定するものではありません。文の長さと推定される単語の複雑さに基づく機械的な指標ですので、品質の断定ではなく比較の道具としてお使いください。同じメッセージの複数版を測ると、編集によって実際に簡潔になったか、逆に難しくなったかを確認できます。読者の知識、文書の目的、必要な専門用語も考慮して解釈することが重要です。
計算方法を詳しく把握できます
最初に、ピリオド、疑問符、感嘆符で終わる文を検出します。次に英単語を抽出し、母音のまとまりと一般的な無音語尾の補正によって音節数を推定します。その集計から、1文当たりの単語数と1単語当たりの音節数を求めます。Flesch Reading Easeの式は206.835から1文当たりの単語数の1.015倍を引き、さらに1単語当たりの音節数の84.6倍を引きます。Flesch-Kincaid学年レベルは、1文当たりの単語数の0.39倍に1単語当たりの音節数の11.8倍を加え、15.59を引きます。結果は小数第2位に丸め、文数などは整数のまま返します。発音辞書を使わないため、音節数は推定値です。人名、略語、借用語、不規則な綴りでは実際の発音と異なる場合があります。この制約はすべての処理に一貫して適用されます。比較時は句読点を整え、長さと種類が近い文章をお使いください。完結した文を検出できない場合は、誤解を招く値を作らず入力エラーを返します。
実際の編集工程で効果的に活用できます
最高のReading Easeを目指すのではなく、実際の読者に合う目標を設定してください。一般向けの説明は短い文と身近な語彙が適していますが、専門規格や学術要旨は正当な理由で難しくなることがあります。文章全体を送信し、2つのスコアと各集計値を確認します。長い文は改善しやすい箇所です。独立した考えを分け、節の重なりを減らし、条件や注意点を別の文へ移してください。1単語当たりの音節数が高い場合は、抽象名詞や形式的な表現を、短く正確な表現へ置き換えられるか検討します。重要な修正のたびに再計算し、変化を比べるとともに音読でも確認してください。チームでは公開前に自動実行し、合意した範囲外の文章を人による確認へ回せます。APIリクエスト1件の料金は$0.002です。アルゴリズムは決定論的でネットワークを使わないため、同じ入力から常に同じ出力が得られ、テスト、公開工程、ダッシュボード、版間監査に適しています。
活用例
一般向け説明文の確認
フォーム、ヘルプ記事、案内文が幅広い読者に適した複雑さかをご確認いただけます。
修正前後の文章比較
元の原稿と編集版を同じ式で測定し、簡略化によって可読性が変化したかを確認できます。
編集品質指標の追加
公開前に決定論的な評価を行い、対象読者向けの範囲外にある文章を人の確認へ回せます。
よくある質問
どのような結果が返されますか?
文数、単語数、推定音節数に加え、Flesch Reading EaseとFlesch-Kincaid学年レベルを小数第2位まで返します。
Reading Easeが高いとは何を意味しますか?
一般に、文が短く、推定音節数の少ない単語が多いことを示し、英語文章が読みやすい傾向にあります。
音節数は正確ですか?
いいえ。綴りに基づく決定論的な推定です。不規則な発音、人名、略語、借用語では実際と異なる場合があります。
句読点のない文章がエラーになるのはなぜですか?
式には文数が必要です。末尾のピリオド、疑問符、感嘆符がなければ、値を推測せずエラーを返します。
APIリクエストの料金はいくらですか?
APIリクエスト1件は$0.002です。決定論的な計算であり、言語モデルや外部ネットワークサービスは呼び出しません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/text/readability-score \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"The sun is warm. Birds sing in the trees."}'const res = await fetch("https://api.kit.forhosting.com/text/readability-score", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "The sun is warm. Birds sing in the trees."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/readability-score",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "The sun is warm. Birds sing in the trees."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/readability-score", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"The sun is warm. Birds sing in the trees."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"The sun is warm. Birds sing in the trees."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/readability-score", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "The sun is warm. Birds sing in the trees."
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.readability_score",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_tokens | 20000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |