Skip to content

[BE] AI 매칭 #10

Description

@KK-Hoon

AI 매칭 기능 정리

1. 매칭 종류

1.1 회사-지원자 매칭 (Company-Applicant Matching)

  • 회사가 채용공고를 올렸을 때 적합한 지원자를 추천
  • 채용공고와 이력서의 유사도를 분석하여 매칭

1.2 지원자-채용공고 매칭 (Applicant-JobPost Matching)

  • 지원자가 이력서를 등록했을 때 적합한 채용공고를 추천
  • 이력서와 채용공고의 유사도를 분석하여 매칭

2. 데이터 구조

// 회사-지원자 매칭 결과
public class CompanyMatchingResponseDto {
    private Long resumeId;
    private String applicantName;
    private Double matchingScore;
    private String resumeText;
}

// 지원자-채용공고 매칭 결과
public class ApplicantMatchingResponseDto {
    private Long jobPostId;
    private String companyName;
    private String jobName;
    private Double matchingScore;
    private String jobPostText;
}

3. API 엔드포인트

3.1 회사-지원자 매칭

  • 매칭 결과 조회: GET /ai-matching/company/{companyId}
  • 매칭 결과 상세 조회: GET /ai-matching/company/{companyId}/detail

3.2 지원자-채용공고 매칭

  • 매칭 결과 조회: GET /ai-matching/applicant/{userId}
  • 매칭 결과 상세 조회: GET /ai-matching/applicant/{userId}/detail

4. 매칭 프로세스

4.1 회사-지원자 매칭

  1. 채용공고 텍스트 생성

    • 회사명, 직종명
    • 공고 설명
    • 주요 업무
    • 자격 요건
    • 우대 사항
    • 인재상
    • 근무 기간
    • 근무 지역
  2. 이력서 텍스트 분석

    • 이력서 내용
    • 지원자 정보
  3. AI 매칭 점수 계산

    • 텍스트 유사도 분석
    • 키워드 매칭
    • 점수 정규화

4.2 지원자-채용공고 매칭

  1. 이력서 텍스트 분석

    • 이력서 내용
    • 지원자 정보
  2. 채용공고 텍스트 분석

    • 공고 내용
    • 회사 정보
    • 직종 정보
  3. AI 매칭 점수 계산

    • 텍스트 유사도 분석
    • 키워드 매칭
    • 점수 정규화

5. 예시 요청/응답

5.1 회사-지원자 매칭

// GET /ai-matching/company/{companyId}
{
    "success": true,
    "message": "매칭 결과를 성공적으로 조회했습니다.",
    "matchingResults": [
        {
            "resumeId": 1,
            "applicantName": "홍길동",
            "matchingScore": 0.85,
            "resumeText": "이력서 내용..."
        }
    ]
}

5.2 지원자-채용공고 매칭

// GET /ai-matching/applicant/{userId}
{
    "success": true,
    "message": "매칭 결과를 성공적으로 조회했습니다.",
    "matchingResults": [
        {
            "jobPostId": 1,
            "companyName": "테크 컴퍼니",
            "jobName": "백엔드 개발자",
            "matchingScore": 0.85,
            "jobPostText": "채용공고 내용..."
        }
    ]
}

6. 제약사항

  • 매칭 활성화된 이력서만 매칭 대상에 포함
  • 채용공고가 존재해야 매칭 가능
  • 이력서가 존재해야 매칭 가능

7. 보안

  • 회사는 자신의 채용공고에 대한 매칭 결과만 조회 가능
  • 지원자는 자신의 이력서에 대한 매칭 결과만 조회 가능
  • 개인정보 보호를 위한 데이터 마스킹 처리

8. 향후 개선사항

  • 매칭 알고리즘 고도화
  • 키워드 기반 필터링 추가
  • 매칭 결과 정렬 옵션 추가
  • 매칭 히스토리 관리
  • 실시간 매칭 업데이트

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions