CBF란 무엇일까?

0taetae·2025년 1월 25일

사용자 활동 기반 AI 요리 추천 기능을 구현하기 위해 CBF를 사용하려고 한다.

📙CBF(Contents-Based Filtering)란?

사용자가 선호했던 아이템과 유사한 특성을 가진 새로운 아이템을 추천하는 것이다.

✏️CBF의 특징

  • 독립적 정보 활용 : 다른 사용자의 데이터 없이 추천이 가능하다.
  • Cold Start 문제 해결 : 새로운 아이템에 대해서도 추천이 가능하다.
  • 사용자의 과거 선호도에 너무 의존하여 다양성이 부족할 수 있다.

✏️CBF 구현 과정

  1. 각 아이템의 특성을 벡터로 표현한다.
  2. 사용자가 선호하는 아이템들의 특성을 종합하여 사용자 프로필을 만든다.
  3. 아이템 간 또는 사용자 프로필과 아이템 간의 유사도를 계산한다.
    ✔️주로 코사인 유사도를 사용
  4. 유사도가 높은 아이템을 추천한다.

✏️CBF의 주요 기술

  • 특성 추출 : 텍스트 데이터의 경우 TF-IDF, 이미지의 경우 CNN 등을 사용하여 특성을 추출한다.
  • 벡터화 : 원-핫 인코딩이나 임베딩을 사용하여 아이템을 벡터로 표현한다.
  • 유사도 측정 : 코사인 유사도, 유클리디안 거리 등을 사용한다.

✏️CBF를 이용한 AI 추천 시스템 구현 시 고려사항

  • 아이템을 잘 표현할 수 있는 특성을 선택해야 한다.
  • 텍스트 데이터의 경우 불용어 제거, 정규화 등의 전처리가 필요하다.
  • 정확도, 다양성, 새로움 등 다양한 지표로 성능을 평가해야 한다.
  • CBF의 한계를 보완하기 위해 협업 필터링(CF)과 결합한 하이브리드 방식을 고려할 수 있다.

✏️CBF의 tag

  • 아이템의 특성이나 속성을 나타내는 키워드
  • 아이템의 내용을 설명하거나 분류
  • 태그의 주요 특징
    • 사용자 생성 콘텐츠: 태그는 주로 사용자들이 직접 생성하는 콘텐츠
    • 아이템 설명: 영화의 장르, 음악의 스타일, 책의 주제 등 아이템의 특성을 설명
    • 유사도 계산: 아이템 간의 유사도를 계산하는데 활용 -> 비슷한 콘텐츠를 추천하는 데 도움을 줌
    • 데이터 보강: 아이템의 메타데이터를 보강하여 추천 시스템의 성능을 향상
    • 폭소노미(Folksonomy): 사용자들에 의해 자유롭게 생성되는 새로운 분류 체계를 형성

📙TF-IDF란?

TF-IDF는 정보 검색과 텍스트 마이닝에서 사용되는 가중치 부여 기법이다.
특정 단어의 중요도를 평가하는데 사용된다.

✏️TF-IDF의 구성 요소

  1. TF(Term Frequency)

    • 특정 단어가 문서 내에서 얼마나 자주 등장하는지를 나타낸다.
    • TF(t,d) = (단어 t의 문서 d내 출현 횟수) / (문서 d의 총 단어 수)
  2. IDF(Inverse Document Frequency)

    • 특정 단어가 전체 문서 집합에서 얼마나 공통적으로 나타나는지를 나타낸다.
    • IDF(t) = log(전체 문서 수 / 단어 t가 포함된 문서 수)

✏️TF-IDF 계산

TF-IDF(t,d) = TF(t,d) * IDF(t)

✏️TF-IDF의 특징

  • 중요도 평가 : 문서 내에서 자주 등장하지만, 전체 문서 집합에서는 흔하지 않은 단어에 높은 가중치를 부여
  • 불용어 처리 : 흔한 단어들은 낮은 TF-IDF 값을 가진다.
  • 문서 특성화 : 각 문서를 TF-IDF 값을 가진 벡터로 표현할 수 있어서 문서 간 유사도 계산에 활용된다.

📙코사인 유사도란?

두 벡터 간의 유사성을 측정하는 방법이다.

✏️코사인 유사도의 개념

  • 두 벡터 간의 코사인 각도를 이용하여 유사도를 측정한다.
  • -1에서 1 사이의 값을 가지며, 1에 가까울수록 유사성이 높다.
  • 벡터의 방향이 유사할수록 높은 값을 가진다.

✏️코사인 유사도의 특징

  • 크기 독립성 : 벡터의 크기가 아닌 방향만을 고려한다.
  • 고차원 데이터 처리 : 고차원 공간에서도 효과적으로 유사도를 측정할 수 있다.
  • 희소 벡터 처리 : 0이 많은 희소 벡터에 대해서도 작동한다.

✏️코사인 유사도의 장단점

  • 장점
    • 벡터의 크기에 영향을 받지 않아 정규화 효과가 있다.
    • 계산이 비교적 간단하고 빠르다.
  • 단점
    • 벡터의 요소가 모두 양수일 때만 정확한 해석이 가능하다.
    • 벡터의 크기 정보를 완전히 무시하므로, 중요한 정보를 놓칠 수 있다.

0개의 댓글