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

日本人名の性別判定:漢字・かな・ローマ字の扱い

約4分 日本人名 漢字 かな

日本人名の性別判定では、同じ漢字に複数の読みがあり、読み方を文字列だけから確定できないことが最大の課題です。欧米の名簿と同じ前処理をそのまま適用すると、APIの照合前に姓名の分割や読みを誤る可能性があります。

NameGenderの固定テストでは、日本のグループは51件です。50件に回答し、そのうち39件が正解でした。カバレッジは98.04%、回答した結果の正解率は78%、未回答も誤りとして数える端から端までの正解率は76.47%です。

この標本は小さく、日本全体の人口分布を示すものではありません。現在の性能を再現するための製品テストとして公開しています。

日本語の結果はカバレッジだけで評価しない

指標 固定テストの結果
テスト件数 51
回答件数 50
正解件数 39
カバレッジ 98.04%
回答時の正解率 78.00%
端から端までの正解率 76.47%

ほぼすべての名前に回答していても、約5件に1件の回答が誤る計算です。個人宛ての敬称や自動メッセージに無条件で使える水準ではありません。集計用途でも未知値を残し、独自データで再測定する必要があります。

漢字だけでは読みを確定できない

日本の名は、同じ漢字列に複数の読みが付くことがあります。さらに、漢字は中国語の文字範囲と重なるため、保存済みの完全一致がない文字列を機械的に別言語の読みへ変換すると誤判定につながります。

入力の優先順位は次のようにします。

  1. 本人が入力した読み仮名
  2. 確認済みのローマ字表記
  3. データベースで完全一致する漢字名
  4. 読みが不明な漢字は自動採用せず確認へ回す

読み仮名があるのに漢字だけを送ると、すでに持っている有用な情報を捨てることになります。

姓名順と分割を監査する

日本語順では姓が先です。山田 太郎 のように区切りがあれば分割できますが、山田太郎 だけでは 山田 / 太郎 なのか、別の位置で区切るのかを文字列だけで断定できません。

APIへ名だけを送れるなら、それが第一選択です。フルネームを送る場合は、レスポンスの namefirst_namelast_name を確認し、意図した部分が照合されたか記録してください。

かなとローマ字にも別の問題がある

かなは読みを保持しますが、同音の異なる名前を区別できない場合があります。ローマ字には表記ゆれがあります。長音、ハイフン、訓令式とヘボン式の違いを正規化しすぎると、別の入力を同じ文字列へまとめてしまいます。

元の入力は上書きせず、正規化後の値を別フィールドに保存してください。queryname の両方を残すと、入力処理の誤りと分類の誤りを分けて調査できます。

推奨する導入手順

  1. 実データから正解ラベル付きの検証セットを作る。
  2. 漢字、ひらがな、カタカナ、ローマ字を分けて測定する。
  3. カバレッジ、回答時の正解率、端から端までの正解率を別々に記録する。
  4. probabilityconfidence の採用閾値を用途ごとに決める。
  5. null と要確認を処理できる画面やデータ列を用意する。

大量のCSVやExcelを処理する場合も、この検証を先に行ってください。件数が増えても入力品質や読みの問題は自動的には解決しません。

実際のリクエスト形式は日本語APIドキュメント、測定方法は公開ベンチマークの方法で確認できます。

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