Filter out home childcare / babysitter ads (not کادر درمان)
Divar «پرستار کودک/خانم شبانهروزی» ads are often a family hiring an in-home babysitter («پدر کودک ۴ ساله هستم … نگهداری و مراقبت تماموقت»), not clinical nursing. Add ChildcareMarkers (نگهداری/بچهداری/«پدر|مادر کودک»/پرستار بچه …) and discard such ads as out of scope, alongside the existing housekeeping filter. Clinical pediatric roles («بخش اطفال/کودکان/NICU») are unaffected. New ingests are filtered at crawl; run «بایگانیِ درجا» to re-screen existing rows that have the full text. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -47,6 +47,16 @@ public class ListingValidator
|
|||||||
"نظافتچی", "خدمتکار", "کارگر منزل", "خدمات منزل", "مستخدم",
|
"نظافتچی", "خدمتکار", "کارگر منزل", "خدمات منزل", "مستخدم",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Home childcare / babysitting — a family hiring someone to mind their child at home. NOT کادر
|
||||||
|
// درمان even when phrased «پرستار کودک/بچه». Clinical pediatric roles say «بخش اطفال/کودکان/NICU»,
|
||||||
|
// not «نگهداری/بچهداری» or a parent self-identifying («پدر/مادر کودک»).
|
||||||
|
private static readonly string[] ChildcareMarkers =
|
||||||
|
{
|
||||||
|
"بچه داری", "بچهداری", "بچه دار ", "نگهداری کودک", "نگهداری از کودک", "نگهداری بچه",
|
||||||
|
"نگهداری از بچه", "نگهداری فرزند", "نگهداری نوزاد", "نگهداری شیرخوار", "پرستار بچه",
|
||||||
|
"پدر کودک", "مادر کودک", "نگهدار کودک", "نگهدار بچه", "مراقبت از کودک", "مراقبت از بچه",
|
||||||
|
};
|
||||||
|
|
||||||
// Words that signal a real staffing post (hiring, shift, or availability).
|
// Words that signal a real staffing post (hiring, shift, or availability).
|
||||||
private static readonly string[] StaffingIntent =
|
private static readonly string[] StaffingIntent =
|
||||||
{
|
{
|
||||||
@@ -82,6 +92,13 @@ public class ListingValidator
|
|||||||
return new ValidationResult(false, true, 0, issues, looksMedical); // IsSpam → auto-discard
|
return new ValidationResult(false, true, 0, issues, looksMedical); // IsSpam → auto-discard
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Home childcare / babysitting — out of scope (not کادر درمان), discard.
|
||||||
|
if (ChildcareMarkers.Any(text.Contains))
|
||||||
|
{
|
||||||
|
issues.Add("آگهی نگهداری کودک در منزل است، نه کادر درمان");
|
||||||
|
return new ValidationResult(false, true, 0, issues, looksMedical); // IsSpam → auto-discard
|
||||||
|
}
|
||||||
|
|
||||||
// «آماده به کار»: a worker offering themselves. No facility/shift-date expected; the role
|
// «آماده به کار»: a worker offering themselves. No facility/shift-date expected; the role
|
||||||
// and a contact number are what matter.
|
// and a contact number are what matter.
|
||||||
if (parsed.Kind == ListingKind.Talent)
|
if (parsed.Kind == ListingKind.Talent)
|
||||||
|
|||||||
Reference in New Issue
Block a user