求人票に潜む「偏った言葉」を可視化する — Unbias JDをつくった話
英語圏にはGender Decoderがあるが、日本語の求人票を検査できるツールはほぼ存在しなかった。Unbias JDは日英の求人票から排他的な表現を検出し、バイアススコアと中立的な言い換えを提示する。アカウント不要、データは保存しない設計。
英国と日本、両方で採用に関わる中で気づいたのは、求人票の言葉にどれだけ無意識のバイアスが潜んでいるかということ。「若手の営業マン」のような表現には、年齢・性別・職種イメージが一度に埋め込まれており、職務遂行能力とは無関係な属性で応募者をふるいにかけてしまう。書き手はほぼ気づかない。応募者は必ず気づく。
英語圏にはGender Decoderのような研究ベースのツールが10年前からある(Gaucher et al., 2011)。一方で日本語には、年齢・性別の含意が日常表現に埋め込まれているにもかかわらず、検査ツールはほぼ存在しなかった。Unbias JDはこのギャップを埋めるために作った。
貼り付けた求人票をスキャンし、6つのバイアスカテゴリ(年齢・性別・身体能力・学歴・民族性ほか)で該当語をハイライト。0〜100のバイアススコアを算出し、中立的な言い換え候補を提示する。テキストをその場で編集して再解析すれば、スコアの変化がその場で見える——書き手にとっての高速フィードバックループを狙った。
設計上の3つの判断:アカウント不要——求人票を書くのにサインアップが要るのはおかしい。データ非保存——貼り付けたテキストはメモリ上で解析し、保存しない。二層検出——辞書ベース(日本語は厚労省「公正な採用選考」指針、英語はUK Equality Actと学術研究を基盤)と、Vercel AI Gatewayを通した文脈解析LLMを組み合わせ、辞書ヒットに加えて微妙な言い回しも拾う。
技術スタックはNext.js 16、React 19、TypeScript、Tailwind 4、shadcn/ui、Vercel AI Gateway、BotID、Vercelデプロイ。ステートレス設計。コードよりも「何を保存しないか」を決めることの方が難しかった。
限界も正直に明記してある:辞書は文脈を完璧には読めず、スコアは判定ではなく「立ち止まるきっかけ」にすぎない。最終的な判断は常に書き手に委ねられる。それでも、不可視だった言葉をハイライトするだけで、次に選ぶ語が変わる。その一点を狙ったツール。