유사 게시물 추천 기능 개선: 임계값 조정으로 관련성 향상

"유사한 게시물" 기능의 관련성과 단순화를 위한 개선

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

- 웹 개발자, 블로그 운영자, AI 기반의 개인 및 기업 블로그 운영자

- 난이도: 중간

- AI 모델 활용 및 데이터 분석 기초 지식을 가진 사람

핵심 요약

  • Cosine similarity를 기반으로 유사 게시물 추천의 문제점을 발견하고 임계값을 조정하여 관련성 향상에 도움
  • API 엔드포인트를 통해 유사도 점수를 집계, 분석하여 임계값 결정
  • 0.65 이상의 유사도를 기준으로 유사 게시물을 필터링하여 중복/비관련 게시물 제거

섹션별 세부 요약

1. 유사 게시물 기능의 문제점 발견

  • 기존 유사 게시물 기능에서 비관련 게시물이 추천되는 문제 발생
  • ChatGPT와의 대화를 통해 유사도 임계값 필요성 인식
  • Google 검색, GitHub, OpenAI 커뮤니티 등에서 관련 정보 수집

2. 유사도 점수 분석을 위한 API 개발

  • src/pages/api/post-similarity.json.ts 파일을 생성하여 유사도 점수를 계산 및 분석
  • mean, median, p75, p90 등의 통계 값 계산
  • 496개의 유사도 점수 수집

3. 유사도 분포 분석 및 임계값 결정

  • 히스토그램을 통해 이중 정규 분포 확인
  • 0.65의 임계값으로 유의미한 유사도만 필터링
  • 0.72의 임계값은 너무 높아 결과가 제한적

4. 임계값 적용 및 코드 수정

  • COSINE_THRESHOLD = 0.65로 설정하여 유사도 기준 변경
  • src/utils/related-posts.ts 파일에서 필터링 조건 추가
  • posts.length > 0 조건을 통해 비어 있는 경우렌더링 제외

5. 추가적인 적용 가능 사항

  • Google Search Console 데이터와 연동하여 아카이빙 가능
  • 이미지 URL 문제 해결을 통해 다른 플랫폼에의 자동 업데이트 가능

결론

  • Cosine similarity 기반의 유사도 임계값 조정을 통해 유사 게시물 추천의 정확성을 향상
  • API 통계 분석을 통해 임계값 결정 가능
  • 데이터 기반의 의사결정이 중요하며, AI 기반 기능 개선반복적 조정이 필요