추천 알고리즘
프로젝트 소개
누구나 한 번쯤은 온라인으로 강의를 시청한 경험이 있을 것입니다. 그만큼, 오늘날 온라인 강의는 방대한 양의 주제를 바탕으로 하루에도 수십 개의 새로운
콘텐츠를 추가하고 있습니다. 이러한 강의를 제공하는 온라인 강의 플랫폼들 또한 사용자의 개인적인 수요에 맞게 더욱 다양하고 전문화된 콘텐츠를 제공하고 있습니다.
하지만 콘텐츠의 양적 증가는 역설적으로 사용자들이 자신에게 적합한 강의를 찾는 데 어려움을 겪게 만들었습니다.
이에 따라 강의 플랫폼에서는 개인화된 학습 환경과 효율적인 콘텐츠 큐레이션을 할 수 있는 기술적 솔루션의 필요성이 대두되고 있습니다.
고객사의 Problem
고객사는 사용자 경험을 획기적으로 개선하고 플랫폼의 경쟁력을 높이기 위해 효과적인 검색 기반 추천 알고리즘과 (챗봇 모델)을 개발하고자 하였습니다.
기존의 단순 키워드 매칭 방식으로는 사용자들의 다양한 학습 요구를 충족시키기 어려웠고, 이는 사용자 경험 저하로 이어지고 있었습니다.
이러한 문제를 해결하기 위해 고객사는 사용자의 검색 의도를 정확하게 파악하고 관련성 높은 강의를 추천할 수 있는 LLM 기반의 알고리즘 개발이 필수적이었습니다.
이 첨단 기술을 활용하면 단순한 키워드 매칭을 넘어 사용자의 맥락과 의도를 이해하는 지능적인 추천이 가능해질 것으로 기대할 수 있습니다.
데이터메이커의 Solution
고객사 플랫폼의 강의 콘텐츠를 체계적으로 분류하고, 이를 바탕으로 고품질의 텍스트 데이터를 구축하는 작업을 수행하였습니다.
이는 다양한 사용자의 관심사와 학습 요구를 정확히 파악하여 맞춤형 추천을 제공하기 위한 필수적 단계였습니다.
데이터메이커는 강의 관련 텍스트 키워드를 체계적으로 구축하고, 이를 바탕으로 사용자의 검색어, 행동 정보, 프로필 데이터 등을
종합적으로 분석하는 알고리즘 개발을 기획하였습니다.
카테고리 체계 구축
수요 기업에서 제공한 35개의 기본 카테고리는 체계적인 분류 체계를 통해 세부 카테고리로 확장하였습니다.
이 과정을 통해 각 대분류 아래 세부적인 하위 카테고리를 정의하여 데이터를 더욱 정교하게 관리할 수 있도록 하였습니다.
- 대분류 : 35개의 핵심 카테고리를 기반으로 명확한 대분류 체계를 수립하였습니다. 이 과정에서 각 카테고리 간의 경계를 명확하도록 구분 짓습니다.
- 세부 분류 : 각 대분류 아래 세부적인 하위 카테고리를 정의하였습니다. 이 작업은 교육 내용 전문가와 데이터 분류 전문가의 협업을 통해 강의 콘텐츠의
다양성과 깊이를 충분히 반영할 수 있도록 하였습니다. - 확장성 고려 : 신규 콘텐츠나 교육 트렌드를 수용할 수 있도록 카테고리 체계에 유연성을 부여하여 향후 시스템 지속 가능성을 보장하도록 하였습니다.
강의 정보 기반 텍스트 데이터 구성
분류를 마친 각 카테고리에 대한 풍부하고 정확한 텍스트 데이터를 구성하는 작업에 착수하였습니다.
- 강의 정보 활용 : 강의 제목, 강사 정보, 강의 설명, 학습 목표, 커리큘럼 등 다양한 강의 관련 정보를 수집하고 분석하였습니다.
이 과정에서 자연어 처리 기술을 활용하여 핵심 키워드와 주제를 추출하였습니다. - 데이터 정제 및 표준화 : 데이터는 철저한 정제 과정을 거쳤습니다. 오탈자 수정, 중복 제거, 작성 포맷 통일 등의 작업을 통해 데이터의 일관성과 신뢰성을 확보하였습니다.
- 카테고리 연관성 강화 : 텍스트 데이터는 해당 카테고리의 특성을 명확히 반영할 수있도록 하기 위해 각 텍스트의 관련성 검증을 진행하였습니다.
알고리즘 학습을 위한 데이터
검색 및 추천 알고리즘 개발을 위해 다음과 같은 데이터를 수집하고 정제했습니다.
- 사용자 행동 데이터 : 사용자의 강의 수강 이력, 검색 패턴, 페이지 체류 시간 등의 행동 데이터를 수집하였습니다. 이 과정에서 개인정보 보호를 위한 비식별화 처리를 진행하였습니다.
- 학습 진행 데이터 : 강의 완료율, 퀴즈 성적, 과제 제출 현황 등 학습 진행과 관련된 데이터를 수집하여 사용자의 학습 패턴을 분석하였습니다.
- 데이터 정제 및 전처리 : 수집된 데이터는 누락된 값, 오류 데이터, 불필요한 정보 등을 제거하고 알고리즘 학습에 최적화된 고품질 데이터 셋을 구축하였습니다.
카테고리별 검색 텍스트 구축
사용자의 실제 검색 형태를 반영한 검색 텍스트 데이터를 구축하기 위해 자주 사용하는 검색어와 검색 패턴을 분석하였습니다.
- 실제 검색 로그 분석 : 플랫폼의 검색 로그를 분석하여 사용자들이 자주 사용하는 검색어와 검색 패턴을 파악하였습니다.
다양한 형태의 검색어(단어, 문장)을 직접 작성하여 텍스트 데이터의 품질을 높였습니다. - 카테고리별 균형 유지 : 각 카테고리별로 4,000건씩, 총 140,000건의 검색 텍스트를 생성하여 텍스트 수양의 균형을 유지하였습니다.
이는 알고리즘의 편향을 방지하고 모든 카테고리에 대한 공정한 추천이 이루어 질 수 있습니다.
작업자 관리
효율적인 텍스트 구축을 위해 작업 인력을 투입하였습니다. 작업자는 엑셀 활용 능력을 갖추어 정확하고 다양한 텍스트 데이터 구축을 위한 가이드라인을 교육하고
총 35개의 카테고리를 작업자들에게 적절히 분배하여 작업 효율성을 향상시켰습니다.
- 가이드라인 : 오타 및 중복 텍스트를 방지하여 강의 정보에 대한 다양한 텍스트를 작성하도록 하였습니다.
특히 단어 유사성에 유의하여 유사한 단어의 반복은 지양하도록 하였습니다.
정확한 띄어쓰기 강조와 고유명사에 한해 특수문자를 허용하고, 그 외 특수문자의 사용을 금지하여 한국어 필수 어법을 준수하도록 하였습니다. - 작업 관리 및 품질 관리 : 작업자별 적정 작업량을 할당하여 진행 상황을 지속적으로 모니터링 및 피드백을 제공하여 데이터 품질을 관리하였습니다.
할당량 미달 시 경고 조치 및 프로젝트 제외 등 책임감을 강화하도록 하여 지속적으로 작업 과정 및 가이드라인을 업데이트하여 데이터 품질을 향상시켰습니다.
프로젝트를 마치며
이 프로젝트를 통해 우리는 단순한 검색 시스템을 넘어, 사용자의 학습 니즈를 깊이 이해하고 지원할 수 있는 지능형 교육 플랫폼의 기반을 마련했습니다.
온라인 교육 플랫폼의 사용자 확보를 통해 경쟁력을 강화하고, 사용자의 니즈에 맞는 양질의 교육 기회를 제공하는데 일조할 수 있었습니다.
향후 데이터메이커는 이 알고리즘을 지속적으로 발전시켜, 맞춤형 플랫폼에 필요한 데이터를 제공하고 효과성을 극대화하는데 기여할 것입니다.