続行 → 概要
← 技術ノート一覧

名前から性別を推定するAPI:実装ガイド

約4分 性別判定 API 実装 REST API

名前から性別を推定するAPIは、氏名データに見られる統計的な傾向を返します。本人の性自認を確認する仕組みではありません。集計や低リスクなデータ分析には利用できますが、個人に関する重要な判断には使えません。

NameGenderは gender だけでなく、probabilitysample_sizeconfidencesource を返します。実装側は、この根拠を見て結果を採用するか、確認対象にするか、null のまま保持するかを決められます。

最初のAPIリクエスト

APIキーを作成し、Authorization: Bearer ヘッダーで送信します。漢字やかなを扱う場合は、URLエンコードが不要なPOST形式が扱いやすい方法です。

curl -X POST https://namegender.com/api/v1/gender \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"さくら","country":"JP"}'

レスポンスの基本形は次のとおりです。

{
  "query": "さくら",
  "name": "さくら",
  "gender": "female",
  "probability": 95,
  "sample_size": 0,
  "confidence": "unverified",
  "country": "JP",
  "source": "script",
  "matched_as": "sakura"
}

sample_size: 0 は、結果が必ず誤りという意味ではありません。件数を監査できる公的な登録統計がなく、割合や記録の存在だけが根拠であることを示します。この場合、confidenceunverified になります。

レスポンスで保存すべき項目

フィールド 実装上の意味
gender 閾値を満たした主要カテゴリ。根拠が弱い場合は null
probability データ上の主要カテゴリの比率。本人についての確率ではない
sample_size 結果を支える集計可能な人数
confidence 証拠量に基づく信頼区分
source データベース、文字規則、あいまい一致、LLM、該当なし
name 前処理後に実際に照合された名前

gender だけを保存すると、強い結果とほぼ半々の結果を区別できません。後で閾値を変更できるように、根拠フィールドも保存してください。

日本人名で先に決めること

日本人名には漢字、ひらがな、カタカナ、ローマ字が混在します。また、日本語順では姓が先です。入力欄が姓と名に分かれているなら、名だけをAPIへ渡すのが最も安全です。

フルネームしかない場合は、次の情報を保持します。

  1. 元の文字列
  2. 姓名の順序
  3. 読み仮名またはローマ字があるか
  4. APIが実際に照合した name

漢字だけでは読みが一意に決まらないため、読み仮名が保存されているシステムでは、かなまたは確認済みのローマ字を使う方が誤読を減らせます。

一括性別判定

複数の氏名は、1件ずつ呼び出さず一括エンドポイントへ送信できます。結果は入力順で返ります。

curl -X POST https://namegender.com/api/v1/gender/bulk \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"names":["太郎","花子","さくら","Yuki"],"country":"JP"}'

本番処理では、高信頼、要確認、未知の3つに分けてください。未知を自動的に多数派へ置き換えると、見かけのカバレッジは上がりますが、誤分類を監査できなくなります。

利用してはいけない場面

名前による推定は、採用、医療、金融、保険、法律、本人確認、利用資格の判断に使用しないでください。誤りが個人へ影響する処理では、本人に確認する方法が必要です。

パラメータ、認証、エラー形式は日本語APIドキュメントで確認できます。導入前には、自社データから正解ラベル付きの小さな検証セットを作り、文字種ごとに測定してください。

この記事の結果は、ご自身の名前リストで検証できます。小規模な確認には無料枠を利用できます。