@@ -142,7 +142,8 @@ public interface JobMatchAPI {
142142 * <p >
143143 * 1. For each job posting, calculate current similarity score with the candidate
144144 * 2. For each skill the candidate is MISSING (present in job but not in candidate profile):
145- * - Temporarily add that skill to candidate's profile with level equal to required level
145+ * - Temporarily add that skill to candidate's profile with level equal to the max. required
146+ * level across all job postings
146147 * - Recalculate similarity score
147148 * - Calculate improvement: new_score - old_score
148149 * 3. Aggregate (sum up) improvements across all job postings for each missing skill
@@ -154,18 +155,19 @@ public interface JobMatchAPI {
154155 * <p >
155156 * Example:
156157 * - Candidate has: {Java:4, Python:3}
157- * - Job1 requires: {Java:5, Python:4, AWS:3} - similarity: 0.85
158- * - Job2 requires: {Java:4, AWS:4, Docker:3} - similarity: 0.70
158+ * - Job1 requires: {Java:5, Python:4, AWS:3} - similarity: 0.905
159+ * - Job2 requires: {Java:4, AWS:4, Docker:3} - similarity: 0.500
159160 * <p >
160161 * Missing skills analysis:
161- * - Adding AWS:3 to candidate → Job1 similarity becomes 0.92 (improvement: 0.07 )
162- * - Adding AWS:4 to candidate → Job2 similarity becomes 0.88 (improvement: 0.18 )
163- * - Total AWS improvement: 0.25
162+ * - Adding AWS:4 to candidate → Job1 similarity becomes 0.972 (improvement: 0.067 )
163+ * - Adding AWS:4 to candidate → Job2 similarity becomes 0.780 (improvement: 0.280 )
164+ * - Total AWS improvement: 0.347
164165 * <p >
165- * - Adding Docker:3 to candidate → Job2 similarity becomes 0.85 (improvement: 0.15)
166- * - Total Docker improvement: 0.15
166+ * - Adding Docker:3 to candidate → Job1 similarity becomes 0.776 (improvement: -0.129)
167+ * - Adding Docker:3 to candidate → Job2 similarity becomes 0.670 (improvement: 0.170)
168+ * - Total Docker improvement: 0.041
167169 * <p >
168- * Result: [SkillRecommendation(AWS, 0.25 ), SkillRecommendation(Docker, 0.15 )]
170+ * Result: [SkillRecommendation(AWS, 0.347 ), SkillRecommendation(Docker, 0.041 )]
169171 * <p >
170172 * IMPLEMENTATION NOTE:
171173 * The platform's default similarity strategy is Cosine Similarity (considers skill levels).
@@ -376,23 +378,23 @@ Cosine Similarity е по-сложна метрика, която взема п
376378```
377379Candidate: {Java:4, Python:3}
378380
379- Job1: {Java:5, Python:4, AWS:3} → current: 0.85
380- Job2: {Java:4, AWS:4, Docker:3} → current: 0.70
381- Job3: {Python:5, Docker:2} → current: 0.90
381+ Job1: {Java:5, Python:4, AWS:3} → current: ≈0.905
382+ Job2: {Java:4, AWS:4, Docker:3} → current: ≈0.500
383+ Job3: {Python:5, Docker:2} → current: ≈ 0.557
382384
383385AWS: max level = 4
384- + Job1: 0.92 - 0.85 = 0.07
385- + Job2: 0.88 - 0.70 = 0.18
386- + Job3: 0.90 - 0.90 = 0.00
387- Total: 0.25
386+ + Job1: 0.971 - 0.905 = 0.066
387+ + Job2: 0.780 - 0.500 = 0.280
388+ + Job3: 0.435 - 0.557 = -0.122
389+ Total: 0.224
388390
389391Docker: max level = 3
390- + Job1: 0.85 - 0.85 = 0.00
391- + Job2: 0.85 - 0.70 = 0.15
392- + Job3: 0.95 - 0.90 = 0.05
393- Total: 0.20
392+ + Job1: 0.776 - 0.905 = -0.129
393+ + Job2: 0.670 - 0.500 = 0.170
394+ + Job3: 0.669 - 0.557 = 0.112
395+ Total: 0.153
394396
395- Result: [AWS (0.25 ), Docker (0.20 )]
397+ Result: [AWS (0.224 ), Docker (0.153 )]
396398```
397399
398400### Пакети
0 commit comments