Gender-API vs. ChatGPT:名前の性別はどちらで判定すべきか
Sandra がふつう女性名だということは、どちらも答えられます。しかし、その根拠を示し、来年も同じ答えを返し、始める前に100万件の価格を提示できるのは一方だけです
結論
- 少数の名前についての判断や、読める文章が必要なときは LLM を使ってください。説明、由来、呼びかけの一文などです
- 答えが明日も同一でなければならないとき、根拠が必要なとき、1件あたりの価格が必要なとき、データ保護責任者の質問に耐えなければならないときは、名前データベースを使ってください
- 大規模になると決め手は正確さではなく、説明できることです。9,124,598 の国にわたる 192 件の名前、それぞれの答えに独自のサンプル数が付きます。対するのは、算出過程を示せない生成です
- この2つはよく組み合わせられます。モデルにこの API をツールとして渡してください。そのためのホスト型 MCP サーバーを公開しています。ラベルはデータから、文章はモデルから得られます
この2つは実際には何なのか
Gender-API.com は名前データベース上の参照サービスです。観測された国ごとに分類された 9,124,598 件の名前、192 か国に対応しています。名前を送ると、性別・確率・その答えの根拠となるサンプル数が返ります。生成されるものは何もありません
ChatGPT も、ほかのあらゆる汎用言語モデルも、テキスト生成器です。「Sandra」が女性の文脈に現れることを知っているのは、学習テキストでその語がそう振る舞ったからです。これは実際に有用なシグナルで、よくある名前なら正しいラベルを返します。しかしポルトガルで何人の Sandra が女性だったかを保存する仕組みはアーキテクチャのどこにもありません。引用するものも、しきい値を置く対象も、監査するものもないのです
この1つの構造的な違いが、以下のすべての実務的な差を生みます
並べて比較
どのモデルを選んでも変わらない違いです
| 必要なこと | Gender-API.com | 汎用 LLM |
|---|---|---|
| 同じ入力に毎回同じ答え | はい — データベース参照だからです | いいえ — サンプリング、プロンプトの文言、モデルバージョンで動きます |
| 1つの答えの裏付け | 結果ごと・国ごとのサンプル数と確率 | ありません。確信度を尋ねても、その数値自体が生成されたものです |
| 書面で示せるカバー範囲 | 9,124,598 件の名前、192 か国 | 不明で、明示もされていません |
| 国ごとの答え | 国・locale・IP のパラメータが結果を変えます | プロンプトで指定した場合だけ。それでも推測です |
| 12か月後の挙動 | 同じエンドポイント仕様を OpenAPI として公開。v1 も v2 も稼働中です | モデルは廃止・置き換えられ、答えもそれに伴って動きます |
| バッチ処理 | 1リクエストあたり 100 件、または最大1000万行の CSV | コンテキスト上限、分割、レート制限、再試行は自分で実装します |
| 課金の単位 | 参照1回につき1 credit、事前に購入したパッケージから消費 | 入出力のトークン数 — プロンプトの長さと再試行で変動します |
| データが処理される場所 | サーバーはドイツ、処理は EU 内、DPA は請求により提供 | ベンダー、プラン、割り当てられたリージョンによります |
| フルネームの分割、メールアドレスからの名前の抽出 | 専用エンドポイントがあります | プロンプトの工夫が必要で、端のケースでは黙って失敗します |
| 誰もデータを持たない名前 | そう返します — result_found が false、または確率が低くなります | それでも同じ自信のある調子で答えます |
| 名前やその由来、異形の説明 | そのための機能ではありません | 本当に優れています — 言語モデルはそのためにあります |
100万件の名前の性別判定はいくらかかるのか
マーケティング用の数字ではなく計算方法を示します。今日の料金でご自身で計算し直せます
API の場合: 参照1回が1 credit です。公開している最良のボリューム単価は1,000件あたり約 €0.35 なので、100万件はおよそ €349(税抜)です。開始前に分かっている固定額で、VAT 付きの請求書が出ます。買い切りパッケージの credit に有効期限はありません
LLM の場合: リクエストごと・再試行ごとに、入力と出力の両方でトークン課金されます。複数の名前を1つのプロンプトにまとめれば1件あたりの費用は下がりますが、バッチごとに指示文を送り直すことになり、長い名前や珍しい文字体系は短いものより多くのトークンを消費し、形式の崩れた答えは再試行分も費用になります。結果は見積もりであり、予算に書ける数字ではありません
公平に言えば、数千件程度なら汎用モデルは十分に安く、ここまでの話はどれも問題になりません。分岐点は規模とともに訪れます。しかもトークン価格が示すより早く訪れます。バッチ処理・再試行・出力検証まわりの開発は、参照エンドポイントに対してならそもそも不要な作業だからです
再現性:多くの場合これが決め手になります
顧客リストを2回処理して異なる結果が出たら、説明できない問題を抱えることになります。どちらの実行が正しかったのか、何が変わったのか、そして先月は「様(男性宛)」、今月は「様(女性宛)」で送られた本人に何と言うのか
参照は決定的です。同じ名前と同じ国なら、同じ性別・同じ確率・同じサンプル数が返ります。基になるデータが増えれば、サンプル数もレスポンスの中で目に見えて増えます。ですから変化は、ただ起きてしまったものではなく、指し示せるものになります
生成された答えにはそうした保証がありません。temperature、新しいモデルバージョン、書き換えられたシステムプロンプト、知らされていない安全性の調整。どれもが境界線上の名前を反転させ得ますし、どれもデータに痕跡を残しません
すべての答えが自らの根拠を持っています
v2 エンドポイントへの1リクエスト:
POST https://gender-api.com/v2/gender/by-first-name
{ "first_name": "Sandra" }
{
"input": { "first_name": "Sandra" },
"details": {
"credits_used": 1,
"samples": 464,
"country": null,
"first_name_sanitized": "sandra",
"duration": "436ms"
},
"result_found": true,
"first_name": "Sandra",
"probability": 0.85,
"gender": "female"
}
生成された答えには決してない働きを、2つのフィールドが担います。「samples」はその答えが何件の観測に基づくか、「probability」はそのうち女性だった割合です。この2つがあれば自分で基準を決められます。十分なサンプル数があり 0.9 を超える結果は採用し、残りは手動確認に回す。データベース全体に対して1つの確信度を受け入れる必要はありません
詳細な仕様:v2 API ドキュメント
同じ名前がどこでも同じ性別とは限りません
Andrea はイタリアでは主に男性名、ドイツでは主に女性名です。Jean はフランスでは男性名、英語圏では大半が女性名です。Nikita はロシアでは男性名、それ以外ではふつう女性名です。これは珍しい例外ではなく、ごく普通の顧客リストにある普通の名前です
国を挙げずに汎用モデルに尋ねると、学習テキストで優勢だった解釈が返ります。実際にはそれは英語圏の解釈です。API は国を明示的に受け取ります:
locale(en_US)や訪問者の IP アドレスでも同じように機能します。逆の問い、つまり その名前がどの国由来か には別のエンドポイントがあります
GDPR と、送信した名前が実際にどこへ行くのか
実在する顧客の名前は個人データです。これは注釈ではなく、調達の判断事項です。はっきり示せることは次のとおりです
- 当社はドイツの企業です。すべてのサーバーはドイツにあり、データは EU 内で処理されます
- データ処理契約はアカウントから請求できます
- サーバーログには送信された名前が含まれ、会計上の理由で14日間保管されます
- アップロードされた CSV および Excel ファイルは暗号化して保存され、10日後に削除されます
- すべての購入で正式な VAT 付き請求書が発行され、EU の VAT 番号も正しく処理されます
あるモデルベンダーが同じデータに使えるかどうかは、御社のデータ保護責任者が判断することです。ただしそれはより長い検討であり、ベンダーが再委託先を変えるたびに問い直す必要があります。当社の回答は プライバシーの概要 にあります
ChatGPT のほうが適している場面
答えが常に「API を買え」なら、このページは読む価値がありません。そうではありません
- 一度だけの作業。表計算ソフトに40件の名前、パイプラインはなく、二度と実行されない場合
- ラベルではなく理由が必要な場合。名前の由来、異形、ふつうの略し方、その文化で丁寧に呼びかける方法など
- どのデータベースにもない名前。新しい造語、架空の人物、どの登録簿にもない翻字など。参照が何も持たない場所で、モデルは妥当な推測を返します
- 出力として必要なのがフィールドではなく自由文の場合。性別の列ではなく、あいさつの一文が欲しいときです
気前よく譲っているのではなく、当社も同じように使っています。自社の名前ページにある由来の説明は言語モデルが生成しています。文章こそ言語モデルが得意なものだからです
最良の構成は両方です:モデルに API を呼ばせる
すでに LLM の上に作っているなら、選ぶ必要はありません。最近のモデルはツールを呼び出しますし、性別の参照は理想的なツールです。範囲の狭い問いで、答えは事実であり、しかもモデルはそのデータを持っていません
MCP に対応したアシスタントやエージェントがデータベースを直接照会できるよう、ホスト型の MCP サーバー を公開しています。ツールは query_first_name、query_full_name、query_email、get_country_of_origin、get_statistics です
独自のツール定義向けには、9言語(PHP, Python, Node, Java, Go, Ruby, Rust, Perl, .NET)の公式クライアント、OpenAPI 記述、そして /skill.md にコーディングアシスタントへそのまま渡せる実装ガイドがあります
この役割分担こそが要点です。何をするかはモデルが決め、何が正しいかはデータベースが決めます
よくある質問
ChatGPT は名前から性別を判定できますか
できます。よくある名前ならたいてい正解します。できないのは、その答えが何件のレコードに基づくかを示すこと、同じ答えを2回保証すること、同じ名前でも国ごとに違う答えを返すことです。さらに、見たことのない名前にも同じ自信で答えてしまいます。大規模に扱うときに問題になるのは、まさにこの失敗の仕方です
性別判定 API は LLM より正確ですか
名前データベースに存在する名前については、参照は仕組み上正確です。推論ではなく、観測された分布をそのまま返すからです。未知の名前ではどちらの方法も信頼できませんが、それを認めるのは参照だけです。信頼できる違いは1つの正解率ではなく、すべての参照にサンプル数と確率が付いてくること、そこにしきい値を設定できることです
100万件の名前の性別を判定するといくらかかりますか
Gender-API では1回の参照が1 credit なので、100万件は固定で分かっている金額です。公開している最良のボリューム単価で約 €349(税抜)、VAT 付きの請求書で、開始前に確定します。LLM ではリクエストごと・再試行ごとにトークン単位で課金されるため、請求額はプロンプトの長さに左右され、見積もりしかできません
LLM と性別判定 API を併用できますか
できます。それが最良の構成です。モデルにこの API をツールとして渡してください。まさにそのためにホスト型の MCP サーバーを公開しています。ラベルはデータベースから、文章はモデルから得られます。モデルはデータを持たない事実について推測しなくなります
同じ名前はどの国でも同じ性別ですか
違います。国を指定しないプロンプトが外すのは、まさにここです。Andrea はイタリアでは主に男性名、ドイツでは主に女性名です。Jean はフランスでは男性名、英語圏では大半が女性名です。API は国・locale・IP アドレスを受け取り、その国について答えます
データベースが知らない名前ではどうなりますか
result_found: false が返るか、サンプル数が少なく確率の低い結果が返ります。これは対処できるシグナルです。そのレコードを手動確認に回すか、モデルにフォールバックしてください。生成された答えはそうしたシグナルを一切与えません
Gender-API は GDPR に準拠していますか
当社はドイツの企業で、すべてのサーバーはドイツにあり、データは EU 内で処理されます。データ処理契約はアカウントから請求できます。送信された名前を含むリクエストログは、会計上の理由で14日間保管されます。アップロードされた CSV および Excel ファイルは暗号化して保存され、10日後に削除されます
自分の名前リストで試す
すべてのアカウントに毎月 100 回の無料参照が含まれます。LLM が誤った名前を確認するには十分です。クレジットカードは不要です