単語頻度を数える
10語の文なら、3回出るtheが30パーセントで1位、2回のcatが20パーセントで2位になります。どの語にも順位、回数、割合が付き、同数の語はアルファベット順に並びます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- the cat sat on the mat and the cat ran
- 総単語数
- 10
- 一意の単語
- 7
この単語頻度ツールは、空でない任意のテキストを受け取り、単語に分割し、各単語の出現回数を数え、多い順から少ない順に並べたランキングを返します。執筆者、編集者、教員、SEO担当者、データ分析者、開発者は、キーワード監査、語彙範囲の確認、単純なbag-of-words特徴、教室デモ、公開前の下書き見直しに、順位付きの単語カウントを使います。エンジンは完全に決定的です。Unicodeの文字と数字のトークンを単一の正規表現で抽出し、任意の大文字小文字折りたたみは既定でキーを小文字化し、カウントはハッシュマップに置き、行は件数降順・単語昇順で並べ替え、同点の順序が実行ごとに入れ替わらないようにします。ネットワーク呼び出し、サンプリング、日付依存の近道はありません。
単語頻度ランキングで分かること
単語頻度ランキングは、実務的な製品上の問いに答えます。この一節でどの語が支配的か、各語が何回現れ、全トークンに対する各語の割合はどれほどかです。順位付き頻度リストは長さを測る文字数カウントではなく、単一の目標フレーズに対するSEOキーワード密度スコアでもありません。
ここでは各相異なる単語が、順位・件数・総単語数で割った割合(小数6桁に丸め)・グラフや表計算用のpercent欄を持つ1行になります。トークンはUnicodeの文字または数字の並びで、出典が直アポストロフィを使う場合は don't のような縮約や O'Brien のような名前がまとまるよう、内部アポストロフィ断片を任意で許します。
句読点・記号・空白だけは区切りとして働き、それ自体の行にはなりません。既定では大文字小文字を区別しません。Hello、HELLO、hello は1つの小文字キーに統合され、下書きの揺れでユニーク件数が膨らまないようにします。
ステミング、ストップワード一覧、言語検出、ホスト間でずれる機械学習モデルはありません。
順位付き単語頻度が執筆・教育・ソフトウェアに合う場面
学習者は、言語課題が演説で支配的な語を問うとき、コーパス実験が単純なbag-of-words表を作るとき、プログラミング課題がグラフ前に決定的なトークン数を求めるときに、単語頻度の作業に出会います。教員は、ロケールごとにハイフン語の分割が違う不透明な表計算式に頼らず、期待される順位・件数・割合・パーセントを示す解答キーを事前に生成できます。
編集者とコンテンツチームは、偶発的な繰り返し、出過ぎる決まり文句、ほとんど出ないブランド名を見つけるために、下書きを頻度ランキングに貼り付けます。SEOとコンテンツ戦略担当は、完全なキーワード密度フローを開く前の素早い語彙監査として順位付き一覧を使います。ここでの目標は単一目標フレーズのスコアではなく、多い順から少ない順までの語の全体分布です。
開発者は、検索インデックス試験用フィクスチャの構築、単体テストでのbag-of-words特徴の断言、即席のスクリーンショットではなく正確な順位を求めるプログラミング課題の充足のために、スクリプトから同じ契約を呼びます。サポートと運用チームは、騒がしいチケット件名やログ行を測り、専用パーサなしでダッシュボードが最頻の障害語を表面化できるようにします。
フォーム・CMS準備・データ衛生のための小さく無料で決定的なテキストユーティリティ群を組むときは、文字カウンタ、スラッグツール、キーワード密度ヘルパーと組み合わせてください。
活用例
下書きの使いすぎの語を見つける
記事やメールを貼り付け、各語を頻度で順位付けし、公開前に繰り返しを削り語彙を引き締めます。
教室・実験の解答キー
正確な表を求める言語課題、コーパス実験、プログラミング演習向けに、再現可能な順位・件数・割合・パーセントを生成します。
bag-of-wordsテストフィクスチャ
自前のトークナイザを持ち込まず、CI・検索インデックス試験・データパイプライン向けに決定的な頻度ランキングを構築します。
よくある質問
句読点から単語はどう分かれますか?
トークンはUnicodeの文字または数字の並びで、内部アポストロフィは任意です。コンマ・ピリオド・記号・空白は語を分け、行にはなりません。
大文字小文字は区別されますか?
既定ではいいえ。 Hello と hello は同じ小文字の語として数えます。
テキストが空のときはどうなりますか?
文字または数字のトークンを少なくとも1つ含む空でないテキストを渡してください。
2語が同じ件数のとき順位はどう決まりますか?
行は件数の降順、次に単語の昇順で並ぶため、同点はアルファベット順で決まり、実行間で安定します。
catとcatsは同じ語として数えますか?
数えません。語幹をまとめる処理はしないため、catとcatsは別の語になります。ストップワードの除外もせず、出てきた語をそのまま数えます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/word-frequency \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"the cat sat on the mat and the cat ran"}'const res = await fetch("https://api.kit.forhosting.com/str/word-frequency", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "the cat sat on the mat and the cat ran"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/word-frequency",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "the cat sat on the mat and the cat ran"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/word-frequency", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"the cat sat on the mat and the cat ran"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"the cat sat on the mat and the cat ran"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/word-frequency", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "the cat sat on the mat and the cat ran"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.word_frequency",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
空入力、空白のみの貼り付け、文字・数字トークンのないテキストは、明確なinvalid_inputエラーで拒否され、空フォームが黙って空の成功になることはありません。下書きや授業ではブラウザで無料で使い、CI・CMSパイプライン・研究ノートで再現可能な頻度フィクスチャが必要なときは、成功リクエストあたり$0.002のAPIを呼び出してください。
単語頻度ランキングの意味とレスポンスの内容
コード断片や固有名詞の研究で大文字小文字を保ちたいときは case_sensitive を true にし、各トークンの綴りをそのままキーにします。レスポンスは元テキストを返し、見つかったトークン数を total_words、top 打ち切り前の相異なるキー数を unique_words として報告し、case_sensitive フラグと任意の top 上限を繰り返し、words を多い順の順位で列挙し、マルチツールパイプライン向けに method を count_word_frequency と付けます。エンジンは対応長の範囲で正確な順位表を作るか、invalid_input で拒否します。拒否例は text 欠落、null、空文字列、空白のみ、プレーンテキストでないオブジェクトや配列、文書化された最大文字数を超えるペイロード、文字・数字トークンがゼロの句読点のみの文字列です。文字指標・キーワード密度スコア・言い換えが必要なら専用ツールを使い、このページはワークシート・単体テスト・API利用者が数え方を勝手に発明しないよう、安定した順位付き単語頻度だけに答えます。
text フィールドの読み方とランキングの再現性
値は意味のある内容チェック後の空でない文字列である必要があり、有限の数値と bigint は先に文字列化されるため、数値として打たれた商品コードでも安定した数字トークンになります。製品の約束は各語の出現回数を数えることであり、空送信にゼロ成功をでっち上げることではありません。実語の周りの外側の空白は区切りだけであり、幽霊トークンは作りません。任意の top は1から1万の整数を受け、完全ソート後の先頭順位行だけを残し、長い分布の先頭だけが欲しく稀な語を何千も送らなくてよい場合に役立ちます。カウントはUnicode対応の1回のトークン化、Map による集計、純比較ソートを使い、ネットワーク辞書やホストごとに文字順が変わるロケール表、乱数サンプリングはありません。推奨フィールドは text ですが、エイリアス input、string、value、content、s も受け付け、クエリ文字列・表計算・型付きフォームが列名を変えずに同じ契約を再利用できます。真偽値・素のオブジェクト・配列は明確なメッセージで拒否され、誤ったJSON本体が true という語や無意味なオブジェクトダンプにならないようにします。空文字列と空白のみの貼り付けは常に invalid_input です。長さは10万文字に制限され、暴走した貼り付けが Worker を占有しないようにし、それを超えるペイロードは黙った切り捨てではなく明示的な上限メッセージで失敗します。任意の case_sensitive は既定 false で日常の英語下書きの大文字小文字をまとめ、Hello と hello を意図的に分けたいときは true にします。割合は total_words で割った件数を小数6桁に固定丸めし、percent はその割合に100を掛けて小数4桁に丸め、JSONフィクスチャがビット単位で安定するようにします。自動化パイプライン内で同じ頻度ランキングが必要なときは、このページの無料ブラウザ実行と有料APIを組み合わせ、自前の単語カウンタを持ち込まずに済みます。
順位付き単語頻度が執筆・教育・ソフトウェアに合う場面
このページでは作業はすべてブラウザ内で走り、APIでは成功した解析ごとに$0.002がかかり、検証失敗は課金されず、応答後に何も保存しません。無料の対話的探索と同一の有料APIという分割は、KITのティアAカタログの他項目と一致し、教室デモから自動化パイプラインへ数値結果を変えずに移れます。
技術的な質問
単語頻度のカウントにはいくらかかりますか?
このページのブラウザでは無料です。APIでは成功したリクエストが$0.002で、無効な入力は課金されません。