求人票のジェンダー・排他的表現チェック
求人票で使われる何気ない言葉が、性別、年齢、出身、能力、性格などへの選好を暗示し、適任の応募者を意図せず遠ざけることがあります。このツールは、入力された求人票を、お客様が用意した要注意語句の一覧と照合し、すべての出現箇所に指定済みの中立的な代替表現を対応させます。結果には実際の表記、行、列、文字位置が含まれるため、長い原稿でも容易に確認できます。処理は決定論的であり、問題を勝手に作り出したり、職務内容を書き換えたり、文章をモデルへ送信したりしません。
無料で実行
採用方針に合った確認用リストを作成してください
インクルーシブな表現に関する指針は、組織、法域、職種、対象となる人々によって異なります。そのため、このツールは非公開の一律な辞書を押し付けません。採用部門や法務部門が通常確認している語句を一覧にし、それぞれに承認済みの中立的な代替表現を設定してください。たとえば「セールスマン」を「営業担当者」に、「議長を務める男性」を「議長」に、「デジタルネイティブ」を「デジタル技術に習熟した人材」に対応させることができます。単語だけでなく、完全一致させたい語句も登録できます。照合時には大文字と小文字を区別しませんが、見つかった実際の表記はそのまま結果に残ります。代替表現は、職務に本当に必要な条件を損なわない程度に具体的なものを選んでください。たとえば「若い」を「キャリア初期」に変えても、年齢が職務と無関係なら適切とは限りません。必要な経験や技能を直接記載するほうが明確です。この一覧は包括性を断定する判定基準ではなく、継続して管理する編集方針として扱ってください。労働法、アクセシビリティ、採用したい人々について知見を持つ方々と定期的に見直すことが大切です。すべての指摘は、確認前にお客様の組織が選んだ語句と代替案に直接結び付くため、結果の根拠を明確に説明できます。
出現箇所を元の文脈でお読みください
職名、業務内容、応募条件、福利厚生、応募方法を含む求人票の全文を貼り付けてください。結果には、指定した検査に合格したか、何語を確認したか、異なる要注意語句がいくつ見つかったか、出現回数の合計はいくつかが表示されます。各出現箇所には、設定した語句、実際に見つかった表記、提案する中立的な代替表現、ゼロから始まる文字インデックス、1から始まる行番号と列番号が含まれます。語句の先頭または末尾が文字や数字の場合は単語境界を考慮するため、短い登録語が無関係な長い単語の一部として誤検出されることを防げます。このツールは箇所を報告しますが、自動置換は行いません。文脈によって意味が変わる場合、重なり合う語句が競合する場合、機械的な置換で文法が崩れる場合があるためです。示された位置で求人票を開き、前後の文を読み、代替案が意図した職務や資格を保っているか判断してください。修正後に同じ一覧でもう一度確認してください。合格は設定した語句が残っていないことだけを意味し、考えられる障壁がすべて解消されたことを保証するものではありません。
より広い審査工程の一段階としてご利用ください
言葉の確認は、繰り返し実行できる公開手順に組み込むと特に有効です。採用担当者が初稿を完成した時点、採用責任者が条件を修正した後、そして公開直前に実行してください。語句一覧を編集基準と一緒に保管すれば、異なる部署が作成した求人票にも一貫した結果を得られます。ブラウザー版は個別の原稿に適しており、1回 $0.002 の API は、採用管理システムから書き出した求人票や承認フロー内の文章を確認できます。ネットワークサービス、言語モデル、乱数、現在の日付はいずれも結果に影響しないため、同じ入力からは必ず同じ出力が得られます。この一貫性はテストや監査記録に役立ちますが、人による判断の代わりにはなりません。不要な学位要件、厳格すぎる経験年数、応募手続きのアクセシビリティ、報酬の明確さ、勤務地の条件、必須業務と希望条件の区別も確認してください。異なる経験を持つ方々に完成原稿を読んでもらうことも重要です。このツールは既知の一覧にある語句を確実に探しますが、語調、文脈、法令遵守、機会への実質的なアクセスについては、引き続き人が責任を持って判断する必要があります。
活用例
採用原稿の確認
承認前に設定済みの表現をすべて見つけ、正確な位置情報を使って速やかに修正できます。
編集用語集の統一運用
組織が承認した同じ語句と代替案を、複数部署が作成する求人票に一貫して適用できます。
公開前の自動確認
求人媒体や採用管理の自動フローに、決定論的なインクルーシブ表現確認を追加できます。
よくある質問
偏りのある語句の一覧はあらかじめ含まれていますか?
いいえ。要注意語句と中立的な代替案はお客様が入力するため、組織内で確認済みの指針に沿って検査できます。
大文字と小文字は区別されますか?
いいえ。照合では区別しませんが、見つかった箇所には原文どおりの表記を保持します。
語句は自動的に置換されますか?
いいえ。各箇所に中立的な代替案を示しますが、文や文脈に合うかどうかは人が確認してください。
合格という結果は何を意味しますか?
入力された語句が完全な単語または語句として見つからなかったことを意味します。求人票の完全な包括性や法令適合性を認証するものではありません。
同じ語句を複数回検出できますか?
はい。重なっていないすべての出現箇所を、文字インデックス、行、列とともに返します。
API の料金はいくらですか?
API は1回 $0.002 です。同じ決定論的な検査を、このページのブラウザー上では無料で実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/biz/job-posting-readability-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"We need a confident salesman and a young digital native to manage our growing customer list.","flagged_terms":[{"term":"salesman","alternative":"sales representative"},{"term":"young","alternative":"early-career"},{"term":"digital native","alternative":"digitally proficient professional"}]}'const res = await fetch("https://api.kit.forhosting.com/biz/job-posting-readability-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "We need a confident salesman and a young digital native to manage our growing customer list.",
"flagged_terms": [
{
"term": "salesman",
"alternative": "sales representative"
},
{
"term": "young",
"alternative": "early-career"
},
{
"term": "digital native",
"alternative": "digitally proficient professional"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/job-posting-readability-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "We need a confident salesman and a young digital native to manage our growing customer list.",
"flagged_terms": [
{
"term": "salesman",
"alternative": "sales representative"
},
{
"term": "young",
"alternative": "early-career"
},
{
"term": "digital native",
"alternative": "digitally proficient professional"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/job-posting-readability-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"We need a confident salesman and a young digital native to manage our growing customer list.","flagged_terms":[{"term":"salesman","alternative":"sales representative"},{"term":"young","alternative":"early-career"},{"term":"digital native","alternative":"digitally proficient professional"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"We need a confident salesman and a young digital native to manage our growing customer list.","flagged_terms":[{"term":"salesman","alternative":"sales representative"},{"term":"young","alternative":"early-career"},{"term":"digital native","alternative":"digitally proficient professional"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/job-posting-readability-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "We need a confident salesman and a young digital native to manage our growing customer list.",
"flagged_terms": [
{
"term": "salesman",
"alternative": "sales representative"
},
{
"term": "young",
"alternative": "early-career"
},
{
"term": "digital native",
"alternative": "digitally proficient professional"
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.job_posting_readability_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_text_chars | 200000 |
max_flagged_terms | 500 |
max_term_chars | 200 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |