فحص اللغة الشاملة في إعلانات الوظائف
قد يُثني إعلان الوظيفة أشخاصًا مؤهلين عن التقدم من غير قصد عندما توحي عبارات مألوفة بتفضيل جنس أو عمر أو خلفية أو قدرة أو نمط شخصية معين.
شغّل الأداة مجانًا
تقارن هذه الأداة نص الإعلان بقائمة المصطلحات التي تحددونها، وتتعرف على كل موضع لها، وتربطه بالبديل المحايد الذي اخترتموه. تتضمن النتيجة الصياغة المطابقة ورقم السطر والعمود وموضع الحرف، مما يجعل مراجعة الإعلانات الطويلة سهلة. الفحص حتمي؛ فلا يختلق مشكلات، ولا يعيد كتابة الوظيفة، ولا يرسل النص إلى نموذج لغوي.
أنشئوا قائمة مراجعة توافق سياسة التوظيف لديكم
تختلف إرشادات اللغة الشاملة باختلاف المؤسسة والولاية القانونية والدور والجمهور، ولذلك لا تفرض الأداة قاموسًا عالميًا خفيًا. قدموا قائمة بالمصطلحات التي يشيع أن يشير إليها فريق التوظيف أو الفريق القانوني لديكم، واربطوا كل مصطلح ببديل محايد معتمد. يمكن مثلًا ربط كلمة تدل على «رجل مبيعات» بعبارة «ممثل مبيعات»، أو صيغة مذكرة للرئاسة بلفظ «رئيس الجلسة»، أو «مولود رقميًا» بعبارة «متخصص متمكن رقميًا». تقبل الأداة العبارات الحرفية والكلمات المفردة، وتتجاهل حالة الأحرف في اللغات التي تستخدمها مع الاحتفاظ بالنص المطابق كما ورد. اختاروا بدائل دقيقة بما يكفي للحفاظ على المتطلبات الحقيقية للوظيفة. فاستبدال «شاب» بعبارة «في بداية المسيرة المهنية»، على سبيل المثال، قد يظل غير ملائم إذا لم يكن العمر ذا صلة؛ وغالبًا ما يكون التصريح المباشر بالخبرة أو المهارة المطلوبة أوضح. تعاملوا مع القائمة بوصفها سياسة تحريرية يجري تحديثها، لا حكمًا شاملًا على مدى الشمول. راجعوها دوريًا مع أشخاص يفهمون قانون العمل وإتاحة الوصول والفئات التي ترغبون في استقطابها. يضمن هذا التصميم إمكانية تفسير كل نتيجة، لأن كل تنبيه يعود مباشرة إلى مصطلح وبديل اختارهما فريقكم قبل إجراء الفحص.
اقرؤوا كل موضع في سياقه الأصلي
ألصقوا إعلان الوظيفة كاملًا، بما في ذلك المسمى والمسؤوليات والمتطلبات والمزايا وتعليمات التقديم. توضح النتيجة ما إذا كان الإعلان قد اجتاز الفحص المحدد، وعدد المصطلحات التي فُحصت، وعدد المصطلحات المختلفة التي ظهرت، وإجمالي عدد المواضع. يحتوي كل موضع على المصطلح المعرّف، والنص المطابق كما كُتب، والبديل المحايد المقترح، وفهرس حرف يبدأ من الصفر، ورقمي سطر وعمود يبدآن من الواحد. تُراعى حدود الكلمات حين يبدأ المصطلح أو ينتهي بحرف أو رقم، مما يمنع الإشارة إلى مدخل قصير داخل كلمة أطول لا علاقة لها به. تُبلغ الأداة عن المواضع ولا تستبدل النص تلقائيًا، لأن السياق قد يغير المعنى، وقد تتنافس عبارات متداخلة، وقد يجعل الاستبدال الآلي الجملة غير سليمة. افتحوا الإعلان عند الموضع المحدد، واقرؤوا الجملة المحيطة، وقرروا ما إذا كان البديل يحافظ على المسؤولية أو المؤهل المقصود. أعيدوا تشغيل القائمة نفسها بعد التحرير. يعني الاجتياز فقط عدم بقاء أي من المصطلحات المحددة، ولا يعني إزالة كل حاجز محتمل من الإعلان.
استخدموا الفحص خطوة ضمن مراجعة أشمل
يكون فحص اللغة أكثر فائدة ضمن مسار نشر قابل للتكرار. شغلوه عندما ينتهي مسؤول التوظيف من المسودة، ومرة أخرى بعد تعديل المتطلبات من مدير التوظيف، ثم قبل نشر الإعلان مباشرة. احفظوا قائمة المصطلحات مع معايير التحرير حتى تحصل الفرق المختلفة على نتائج متسقة. تناسب نسخة المتصفح المسودات الفردية، بينما تستطيع API، بسعر $0.002 لكل طلب، فحص الإعلانات المصدرة من نظام تتبع المتقدمين أو المدرجة في مسار اعتماد المحتوى. لا تؤثر خدمة شبكة أو نموذج لغوي أو اختيار عشوائي أو تاريخ حالي في النتيجة، ولذلك ينتج الإدخال نفسه المخرجات نفسها. يفيد هذا الاتساق في الاختبارات وسجلات التدقيق، لكنه لا يحل محل الحكم البشري. راجعوا أيضًا اشتراطات الشهادات غير الضرورية، والحدود الصارمة لسنوات الخبرة، وإتاحة إجراءات التقديم، ووضوح الأجر، وتوقعات مكان العمل، والفصل بين الواجبات الأساسية والتفضيلات. اطلبوا كذلك من أشخاص ذوي خبرات حياتية متنوعة قراءة الإعلان النهائي. تستطيع الأداة تحديد مفردات قائمة معروفة بصورة موثوقة، لكن البشر يظلون مسؤولين عن النبرة والسياق والامتثال القانوني ومدى إتاحة الفرصة فعليًا.
حالات الاستخدام
مراجعة مسودة مسؤول التوظيف
حددوا كل عبارة مضبوطة قبل انتقال الإعلان إلى الاعتماد، مع مواضع دقيقة تسرّع التحرير.
تطبيق قائمة تحريرية موحدة
طبقوا المصطلحات والبدائل نفسها التي اعتمدتها المؤسسة على الإعلانات التي تكتبها فرق مختلفة.
الفحص قبل النشر
أضيفوا خطوة حتمية لفحص اللغة الشاملة إلى مسار آلي لإعلانات الوظائف أو طلبات التوظيف.
الأسئلة الشائعة
هل تتضمن الأداة قائمة خاصة بها للمصطلحات المتحيزة؟
لا. أنتم تقدمون المصطلحات المطلوب التنبيه إليها والبدائل المحايدة، ولذلك يتبع الفحص الإرشادات التي راجعتها مؤسستكم.
هل تتأثر المطابقة بحالة الأحرف؟
لا. تُتجاهل حالة الأحرف أثناء المطابقة، مع الاحتفاظ بالصياغة المطابقة الدقيقة في كل موضع.
هل تستبدل الأداة الكلمات تلقائيًا؟
لا. تعرض بديلًا محايدًا لكل موضع، لكن ينبغي أن يتحقق شخص من ملاءمة البديل للجملة والسياق.
ماذا تعني نتيجة الاجتياز؟
تعني أن أيًا من المصطلحات المقدمة لم يظهر بصفته كلمة أو عبارة كاملة. وهي لا تشهد بأن الإعلان شامل تمامًا أو ممتثل قانونيًا.
هل يمكن العثور على العبارة أكثر من مرة؟
نعم. تُعاد كل مرة غير متداخلة مع فهرس الحرف ورقم السطر والعمود.
ما تكلفة API؟
تكلفة API هي $0.002 لكل طلب. ويمكن أيضًا تشغيل الفحص الحتمي نفسه مجانًا في المتصفح.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر 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"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_text_chars | 200000 |
max_flagged_terms | 500 |
max_term_chars | 200 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |