AI

[AI 도전기 2일차] Content-Based Filtering Algorithm 구현 계획하기

alsruds 2024. 3. 26. 23:15

오늘은.. 하이브리드 추천 시스템을 구현하기 위한 첫 번째 단계..

콘텐츠 기반 필터링 알고리즘에 대해 알아보도록 하겠어요 🫶

 

1. 콘텐츠 기반 필터링이란?

2. 내 역할

 


Content-Based Filtering

 

" 콘텐츠 기반 추천은 기존에 사용자가 선택한 컨텐츠와 비슷한 컨텐츠를 추천하는 방법 "

 

" 예를 들어 사용자가 “All I want for Christmas is you”라는 노래를 감상했다면, 이를 바탕으로 겨울과 관련된 노래를 추천해줄 수 있습니다 "

 

아이템의 내용은 아이템을 표현할 수 있는 데이터를 지칭하는데, 아이템 카테고리, 아이템 이름과 같은 텍스트 데이터, 이미지 데이터가 주로 사용됩니다

 

 

💡 구현 방법

 

1. 사용자가 선호하는 아이템 파악하기

  - 이전 구매 이력

  - 이전 검색 이력

  - 소셜 미디어 활동 이력

  - 인터뷰 및 설문 조사 

  ➡️ 회원 가입 / 로그인 시에 사용자가 선호하는 음식 카테고리를 함께 입력받으려 한다

 

2. 음식 데이터셋 선택하기

  - 소비자 유형별 선호 메뉴 : 건강식단추구/경제성추구/로컬푸드지향/식생활모험가/안정성중시 기준 유형별 선호하는 계절별 메뉴 순위

  - 강원도 원주시_다국어메뉴정보 : 강원도 원주시에 위치한 음식점에서 판매하는 메뉴를 한국어, 중국어, 영어, 일본어로 적어놓은 데이터

  - 강원도 원주시_다국어메뉴설명정보 : 강원도 원주시에 위치한 음식점의 메뉴에 대한 설명을 한국어, 중국어, 영어, 일본어로 적어놓은 데이터

  - 건강 관리를 위한 음식 이미지 : 카테고리별로 사용된 레시피 자료와 식품별 100g 메타정보를 활용하여 1인 1회분량에 대한 메타 정보(에너지, 탄수화물, 단백질, 지방)를 계산하여 구축

  - 음식 이미지 및 영양 정보 텍스트 : 한국인 다빈도 섭취 외식메뉴와 한식메뉴 400종을 선정하여 양질의 이미지데이터를 수집, 구축하고 이를 기반으로 음식의 종류와 양을 추정할 수 있는 알고리즘을 개발하기 위한 데이터셋

  - 한국 이미지(음식) : 한식 이미지 데이터베이스는 한식재단의 음식분류 및 한국인이 즐겨 먹는 음식통계를 참조하여 선정된 150종의 음식으로 구성되며, 한식메뉴외국어표기 길라잡이(한식재단, 200 International Korean Menu Guide, 2014)를 참고하여 음식의 종류를 대분류(밥, 면, 국 등) 및 소분류를 결졍하고 ID를 부여하고 구조화

  - 한국국제교류재단_한국음식정보_영문 : 해당 데이터는 재료(면, 떡, 채소류, 젓갈 등) 및 조리법(찜, 구이, 조림, 등) 별로 분류한 약 700여가지의 한국음식에 대한 정보를 영문으로 제공

  - 전국통합식품영양성분정보(음식)표준데이터 : 국민건강영양조사(질병관리청) 음식별 식품재료량 자료집을 기반으로 산출한 음식의 영양성분 정보 및 식품영양성분통합데이터베이스(식품의약품안전처), 국가표준식품성분표(농촌진흥청 국립농업과학원), 표준수산물성분표(해양수산부 국립수산과학원)에서 제공하는 음식의 영양성분 정보

  - 인터넷 크롤링하기 (만개의 레시피)

 

3. 음식 데이터셋 전처리하기

 

4. 음식 데이터 벡터화 → 유사도 계산

  - 음식 설명 + 영양 정보 고려

  - 사용자의 권장 영양 섭취량 고려 (+ 추가 설계 필요)

  - AI 모델 선택 (: TF-IDF / Word Embedding ... )

  - 유사도 계산 방법 선택 (: 코사인 유사도 / 유클리드 거리 계산 ... )

 

5. 결과 반환 : 추천 끝 !