Refined Soundexエンコーダー
RobertはR9196になります。先頭の文字はそのまま残り、子音の音はより細かい表で数字に置き換わり、4文字で切り捨てないので長い名字も末尾まで区別できます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 名前
- Robert
- コード
- R9196
- 正規化値
- ROBERT
- 長さ
- 6
Refined Soundexは、古典的なアメリカ式Soundexよりも細かい名前照合とスペルチェック風のクラスタリング向けに設計された音韻インデックスの変種です。名前の先頭文字を残し、各文字を0–9の精緻な子音表に写像し、隣接する同一数字だけを畳み込み、そして重要な点として結果を4文字に切り詰めません。この全長コードは長い姓でも識別用の数字を保つため、Washington、Ashcraft、Pfisterは「文字+3桁」のキーより多くの信号を残します。本 refined soundex エンコーダーは空でない名前文字列を受け取り、非文字を除去し、Apache Commons Codec などの参照ライブラリが用いる米英語 refined マップを適用し、実際に符号化された正規化文字形とともにコードを返します。
Refined Soundexが全長の音韻コードを組み立てる仕組み
Refined Soundexは名前を大文字化し、ラテン文字 A から Z だけを残すところから始まります。数字・空白・ハイフン・アポストロフィ・句読点は除去されるため、余分な空白があるフォーム欄でもきれいに符号化できます。その正規化文字列の先頭文字がコードの先頭文字として出力されます。
続けて先頭を含むすべての文字が精緻な数字表に写像されます。B と P は 1、F と V は 2、C・K・S は 3、G と J は 4、Q・X・Z は 5、D と T は 6、L は 7、M と N は 8、R は 9 です。
母音 A・E・I・O・U と Y・H・W は 0 に写像され数字は付けませんが、直前の写像記憶は更新するため、0 が入ると同一数字の連続は切れます。同じ非ゼロ数字を共有する隣接文字は一度だけ寄与します。古典アメリカ式 Soundex と異なり、4 文字への埋め込みも強制切り詰めもなく、残った符号化数字はすべて結果に残ります。
テストに固定できるフィクスチャ例は、Robert と Rupert がともに R9196、Smith と Smythe が S386、Ashcraft が A33926、Washington が W38468、Euler が E79、Knuth が K386、Pfister が P12369、Rubin が R918 です。
入力契約、空フラグ、応答形、よくある誤り
本ランディングを古典アメリカ式 Soundex と混同しないでください。あちらは1文字+3桁に埋め込み・切り詰め、粗い数字グループを用います。Refined Soundex は分割された子音マップ(例:B/P 対 F/V、C/K/S 対 G/J 対 Q/X/Z)を使い、より細かい識別のため符号化された各文字を保持します。
検索意図が refined soundex エンコーダー、refined soundex コード、全長の名前音韻索引である場合はこのページを選び、古典 soundex、NYSIIS、NATO 綴り、一般的な暗号ツールは別意図のため別ページに留めてください。
純 A–Z 以外のアクセント文字は他の非文字と共に除去されるため、ソースがダイアクリティカルを使いその文字をコードに参加させたい場合は ASCII 正規化形を渡してください。
全長コードが役立つ場面
エンティティ解決ノートブックは、古典的な4文字 Soundex が一般的な姓で衝突しすぎ、Metaphone に移らずに長いコードが欲しいときに refined soundex をブロッキングキーとして使います。
スペルチェックやタイプアヘッドの試作は、共有の refined 接頭辞で近い姓をまとめつつ、アメリカ式 Soundex が切り捨てていた長い末尾も区別できます。CRM とカスタマーサポートは、完全なファジー検索エンジンを立てずに似た名前を人手レビュー用に事前クラスタできます。
歴史的・図書館的な音韻アルゴリズムの授業デモでは、教員が黒板で refined マップと古典センサステーブルを対比する間、学生がブラウザから呼べる決定論的オラクルが必要です。すでに Soundex を知る系譜プロジェクトは、乗客名簿とセンサスの表記が3桁目以降で分かれるときに refined コードの第2列を足せます。
検証失敗はエンジン拒否後に残高を消費しません。ソース名は他の KIT parse アイテムと同じ保持規則に従い、アルゴリズムはアイソレート間で完全に決定論的なため結果を継続的インテグレーションのフィクスチャに固定しても安全です。
後段で別の音韻・暗号方式が必要なときだけ他のテキストユーティリティと組み合わせ、SEO 意図を鋭く保ち全長 refined コードの限界を正直に述べるため refined soundex は専用ランディングに残してください。
活用例
古典Soundexより細かい姓のブロッキング
文字+3桁のアメリカ式Soundexが一般的な姓で衝突しすぎるとき、全長のrefinedコードで似た家族名をまとめます。
CRMとあいまいな名前の事前照合
フォーム送信ごとに完全なエンティティ解決スタックを入れず、refined数字グループで顧客の姓を人手レビュー用にまとめます。
授業向け音韻索引デモ
RobertとRupertがR9196を共有し空フォームは明確に失敗すること、および全長refinedコードと古典4文字Soundexの対比を学生に示します。
よくある質問
Refined Soundexと古典アメリカ式Soundexの違いは?
Refined Soundexはより細かい子音数字マップを使い、1文字+3桁への埋め込みや切り詰めではなく符号化された各文字を保持します。古典Soundexは別ランディング・別能力です。
Refined SoundexはNYSIISやMetaphoneと同じですか?
いいえ。 本ツールは Refined Soundex のみ(先頭文字+完全な refined 数字列)を実装します。NYSIIS、Metaphone、Double Metaphone、NATO 綴りアルファベットは別アルゴリズム・別ランディングです。
Refined Soundexで名前を符号化するには?
Robertのような名前を入力します。先頭の文字を残し、各文字を細かい表の数字に置き換え、母音は数字を加えず、隣り合う同じ数字はまとめます。結果はR9196です。
母音がコードに現れないのはなぜですか?
母音とH、W、Yはゼロとして扱われ、数字を加えないためです。ただし区切りとしては働くので、同じグループの子音が母音をはさんで並ぶと、両方の数字が残ります。
アクセント記号や空白、ハイフンはどうなりますか?
AからZの通常の文字以外は、符号化の前にすべて取り除かれます。空白、ハイフン、アポストロフィ、数字だけでなくアクセント付きの文字も除かれるので、数えたい場合はアクセントなしで入力してください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/refined-soundex \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Robert"}'const res = await fetch("https://api.kit.forhosting.com/enc/refined-soundex", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"name": "Robert"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/refined-soundex",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"name": "Robert"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/refined-soundex", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"name":"Robert"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"name":"Robert"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/refined-soundex", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"name": "Robert"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.refined_soundex",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
空入力、name フィールド欠落、ラテン A–Z 文字を含まない文字列は invalid_input で失敗し、空白フォームを空コードでごまかさずフラグします。無料のブラウザ経路と前払い API は同じ純粋な parse ロジックを共有するため、デモ・テスト・本番パイプラインは Robert と Rupert で常に一致します。
入力契約、空フラグ、応答形、よくある誤り
符号化したい人物名または姓を、必須の文字列フィールド name に設定した JSON 本体を POST してください。name 欠落、非文字列、長さゼロ、空白のみ、ラテン文字を含まない文字列はすべて invalid_input となり、前払い API では課金されません。これは製品が約束する空入力フラグ経路であり、空コードの成功本体ではなく厳密な検証エラーとして表現されます。成功時の応答には code(完全な Refined Soundex 値)、形状を嗅ぎ分けずに分岐できるよう method が refined_soundex、元の文字列を返す name、実際に符号化された大文字 A–Z 列の normalized、成功時は常に false の empty、除去前の元の文字数の length が含まれます。
Refined Soundex APIが活きる場面と料金の仕組み
単発確認と教育には無料のブラウザツールを、バックエンド・サーバーレス関数・SDK が残高下で安定契約を要する場合は前払い KIT API を使い、成功アイテムあたり $0.002 です。ペイロードは Worker isolate の item 呼び出しに適した通常の名前長に留め、本ツールは名前と短いラベル向けであり複数メガバイト文書向けではありません。
技術的な質問
Refined Soundexで名前を符号化するには?
空でない name フィールド付きの JSON を送ってください(例:name: "Robert")。応答の code フィールドに完全な Refined Soundex 値(Robert なら R9196)が入ります。
名前が空の場合はどうなりますか?
リクエストは invalid_input で失敗します。欠落・空白・文字なしの入力は empty としてフラグされ、前払い API では課金されません。
Refined Soundexエンコーダーは無料ですか?
ブラウザツールはお使いの端末で無料です。API呼び出しは成功アイテムあたり $0.002 の前払い KIT 残高を使い、検証失敗は課金されません。