ユニークな語を一覧
「The quick brown fox jumps over the lazy dog. The fox is quick!」は13語ですが、異なる語は9つで、最初に出てきた順に並びます。重複を手作業で消す必要はありません。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
ユニークな語の一覧は、空でないテキストを語に分割し、重複を除き、最初に現れた順に残りのトークンを返す、約束の明確な小さなテキストユーティリティです。書き手は語彙監査に、教師は語バンク作成に、パイプラインは各言語でトークン化を再実装せず安定したテスト集合の構築に使います。本能力は大文字小文字を無視する任意モードを備え、Hello と hello を1エントリとして扱い、最初に入力した表層形を保持します。
ユニークな語の意味と出現順の保持
ユニーク語リストは、テキストからユニークな語を一覧する、重複なしの語リストを抽出する、読み順の語彙を得る、といった日常の検索意図に応えます。本能力は語を、Unicode の文字または数字の連続として定義し、内部のアポストロフィやハイフンで結合されてもよく、短縮形やハイフン付き複合語は1トークンのままです。
空白・カンマ・ピリオド・絵文字区切り・句読点などそれ以外は境界です。左から右へ走査し、各トークンは一意性キーが初めて見られたときだけ保持され、以降の繰り返しは捨てられます。大文字小文字無視モードがオンのとき、一意性キーは小文字形ですが、リストは最初の表層表記を格納し、タイトルケースの初出がUIで読みやすく残ります。
オフのときは Hello と hello は両方あれば別エントリです。順序は常に初出順で、アルファベット順ではありません。頻度表やソート済みダンプは別の製品意図です。
安定した順序付き語彙スナップショットが欲しいときはこの list-unique-words ツールを優先し、ランク付きSEOキーワード、語幹抽出、ストップワード除去、文分割には使わないでください。
活用の場面と知っておきたい制限
宿題の語バンク、スタイル監査、手早い語彙確認には、各言語で split-and-Set の一行を書かずに無料のブラウザ内 list unique words ツールを呼び出してください。典型フローは段落を貼り、大文字小文字無視でユニーク語を一覧し、読解レベルリストと比較します。
別フローは決定的フィクスチャ構築で、既知の複数行サンプルを入れ、words 配列をピン留めし、将来のリファクタがアポストロフィや case fold を誤るとCIを失敗させます。
次がランキングや2草稿の比較ならキーワード密度や diff ツールと組み合わせつつ、extract-word-list 意図がSEOキーワード抽出やPDF統計と混ざらないよう list unique words は独立ランディングにしてください。言語検出、見出し語化、多言語ステミングは別問題・別SEO語です。
大小混在、句読点の多い行、ハイフン複合語のフィクスチャをピン留めし、リファクタが順序付き集合を黙って変えないようにします。
活用例
語彙バンクとフラッシュカード
教師と学習者が段落を貼り、手動の重複整理なしでフラッシュカード用のきれいな順序付き語リストを得ます。
草稿の語彙監査
書き手が草稿に現れるユニーク語と、見出しと本文で大小の異形が混ざっていないかを確認します。
よくある質問
テキストからユニークな語をどう一覧しますか?
応答の words 配列が各ユニーク語を初出順に列挙し、count は配列長です。
ストップワード除去や語幹抽出はしますか?
いいえ。 トークン化し、厳密(または case fold)な重複だけを落とし、初出順を保ちます。ランキング、語幹抽出、ストップワードリストは範囲外です。
Helloとhelloは同じ語として数えますか?
初期設定では同じ語として扱います。重複の判定では大文字と小文字を区別しませんが、一覧には最初に書いた形が残ります。この設定をオフにすると、Helloとhelloは別々に表示されます。
一覧がアルファベット順にならないのはなぜですか?
テキストの流れに沿って、各語を最初に使われた位置に並べるためです。並べ替えはしないので、読む順のまま単語カードや語彙の確認に使えます。頻度順の並べ替えは別の作業です。
短縮形やハイフンでつないだ語は分割されますか?
いいえ、語の中のアポストロフィやハイフンはつなぎとして扱い、1つの語として残します。空白、カンマ、ピリオド、絵文字などの記号が語の区切りになります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/extract-unique-words \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"The quick brown fox jumps over the lazy dog. The fox is quick!"}'const res = await fetch("https://api.kit.forhosting.com/str/extract-unique-words", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "The quick brown fox jumps over the lazy dog. The fox is quick!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/extract-unique-words",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "The quick brown fox jumps over the lazy dog. The fox is quick!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/extract-unique-words", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"The quick brown fox jumps over the lazy dog. The fox is quick!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"The quick brown fox jumps over the lazy dog. The fox is quick!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/extract-unique-words", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "The quick brown fox jumps over the lazy dog. The fox is quick!"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.extract_unique_words",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
空入力は無効入力で失敗し、呼び出し側が長さゼロのペイロードを誤って保存しないようにします。
入力契約、空の拒否、応答フィールドの読み方
空白のみのテキストは空でなければ許可され、トークン0と空の words 配列という有効な成功形になり得ます。アルゴリズムは純粋な文字列論理のため、継続的インテグレーションはオブジェクト全体をピン留めできます。本製品はテキストユーティリティであり一括倉庫ではありません。元テキストは他の KIT parse 項目と同じ保持規則に従います。必須の文字列フィールド text に分析したい空でないサンプルを入れた JSON ボディを送ってください。古いクライアントやフォーム生成器向けに input、value、s、content、body の別名も受け付けます。text の欠落、非文字列、長さゼロの文字列は問題を名指しするメッセージ付きで invalid_input を起こし、プリペイドAPIでは課金されません。任意の case_insensitive は既定 true で、ignore_case、ci、casefold の別名を受け付けます。成功時の応答は、順序付きユニークリスト words、SDK都合で同じ濃度の count と unique_count、一意化前に見た語トークン数 total_tokens、使用モードをエコーする case_insensitive、UI表用に正確な入力をエコーする original、分岐用に常に extract_unique_words の method です。フラッシュカードが語彙集合だけ必要なときは words だけでよく、繰り返しの多さを素早く知るには total_tokens を count と並べて使います。ペイロードは Worker 分離環境向けの通常文書サイズに留め、数メガバイトのダンプは避けてください。
APIの使い方、料金、ワークフロー、実務上の制限
CMS、コンテンツパイプライン、QAハーネス、学習アプリ、モバイルクライアントが残高のもとで同じ契約を必要とするときはプリペイド KIT API を使い、成功1件あたり $0.002、検証失敗はエンジン拒否後に残高を消費しません。SDK作者は text を唯一の必須フィールドとして文書化し、繰り返し語の成功例と空文字列エラー例の両方を示せます。
連携の活用例
トークンパイプライン向けCIフィクスチャ
ビルドスクリプトがユニーク語のゴールデン出力をピン留めし、トークン化や case fold の退行を継続的インテグレーションですぐ失敗させます。
技術的な質問
Hello と hello は同じ語ですか?
既定でははい。case_insensitive が true のため1エントリを共有し、最初の表層形が残ります。大小を別トークンにするには case_insensitive を false にしてください。
text が空だとどうなりますか?
リクエストは invalid_input で失敗します。空入力は許可されず、検証失敗はプリペイドAPIで課金されません。
ユニーク語一覧ツールは無料ですか?
ブラウザツールはデバイス上で無料です。API呼び出しは成功1件あたり $0.002 のプリペイドKIT残高を使います。