본문 바로가기
동아리_대외활동/광주인공지능사관학교

[인공지능 프로젝트] 사용자맞춤 요리추천 서비스

by merona99 2020. 9. 29.
반응형

광주 인공지능사관학교 - 사용자 맞춤 요리 추천 서비스

2주가 안되는 시간 동안 워밍업 프로젝트로 '인공지능 프로젝트'를 했다.

기간: 2020-09-10 ~ 2020-09-23

 

※ 그전에 몇일동안 '시각화 프로젝트'도 했다. 'covid-19' (gitbhub에 같이 들어있음)

 

ppt

tenten_warmingup_final.pdf
0.81MB

 

녹화영상

 

프로젝트 github -> https://github.com/tpqls0327/WarmupProject

 

 

이미지인식, 음성인식 ai, 자연어 처리, 추천 시스템 등등 많은 주제들이 나왔는데, 그중 우리는 '추천 시스템'을 골랐다.

처음에 같이하는 팀원 1분이 계셨는데, 둘 다 추천 시스템에 관심이 있어서

다른 팀원을 모집하려던 중에 마침 두 분이 연락을 주셨다.!

우리 쪽은 자연어로 추천 시스템을 구성하는 쪽이었는데, 그쪽은 머신러닝을 활용해서 하는 쪽이었다.

그래서 서로 보완이 잘될 것 같아서 같이 프로젝트를 시작하게 되었다.

 

주제는 '사용자 맞춤 요리 추천'이다.

 

일명 '집콕'생활이 늘어남에 따라 요리에 대한 관심도 증가하는 사회 트렌드에 맞춘 사용자 맞춤 요리 추천 사이트이다.

한 사이트에서 여러 부가기능을 추가하여 개발하는 와중에도 계속 아이디어를 냈다.

 

 

[과정]

1. 데이터 수집 - '해먹 남녀' 사이트에서 요리명/영양소/레시피/재료/인분 등등 크롤링

2. 데이터전처리 - 재료(g, mg, 특이사항, 큰 술 등 삭제) / 레시피 

3. 모델 - content recommend, k-means clustering

4. django - 회원가입/ 로그인/ 재료 input요리 output/ 개인냉장고/ 요리 detail

 

 

[우리의 기능]

1. 요리 이름 -> 요리 검색

2. 재료 input -> 해당 재료가 들어간 요리 중 유사도(content recommend 모델 사용) 높은 것부터 보여줌(아무 재료도 없을 시 더 이상 추천 x)

3. 질병 클릭 -> 해당 질병에 좋은 요리 추천(영양소 기반 k-means clustering사용)

4. 개인 맞춤 냉장고 -> 재료/유통기한 넣기 -> 유통기한이 짧은 순으로 재료를 정렬 후 최대 5개까지만 사용해 맞춤요리 추천

 

 

[일일보고서]

 

 

[내가 기여한 부분]

1. content recommend 모델로 음식 추천 모델 만들기 (2번 모델)

// 저번 자연어 플젝과 유사하게 만들 수 있었다.

여기에서 추가된 부분은 아무런 재료도 요리에 포함되지 않을 시에 해당 요리부터는 유사도 모델을 들어가기 전에 제거하는 작업을 해주었다.

또한 사용자의 입력값을 유사도 모델에서 돌리기 위해서 모델을 일부 변형했다.

 

2. 영양소 전처리

// 크롤링한 데이터에서 영양소 부분이 한 칼럼에 '탄수화물(120mg), 단백질(50mg)'이런 식으로 들어있었다.

이를 영양소마다 '칼럼'을 만들어주고 index부분에는 '요리명'을, values부분에는 '해당 값'이 있는 형태로 만들어줬다.

 

3. django

// 3-1) csv파일을 장고의 데이터베이스에 넣어주는 작업을 했다.

3-2) 개인 맞춤 냉장고 구현

- 회원가입/ 로그인/ 마이페이지(냉장고에 재료 넣기(curd), 회원정보 수정하기(curd))기능을 구현

- 냉장고는 유통기한과 재료를 받게 하고 유통기한 별로 재료를 재정렬해서 회원의 기피 재료와 선호 태그를 고려한 모델을 설계 (직접 낸 아이디어에 내가 맡아서 만든 부분이라 가장 뿌듯했다!)

- 기능연동

 

 

 

[강사님들의 피드백]

오른쪽 해커톤 피드백은 인공사에서 따로 초청한 분들이시다.

해당 내용에 관련된 부분은 다음 게시물에 포스팅하겠다. (잘라서 넣었다.)

 

 

 

' ' ' 

저번에 콘텐츠 유사도 기반 추천 시스템을 사용해서 이번에는 협업 필터링을 사용하고싶었지만 주제를 고려해보니 도저히 협업필터링을 사용할 수가 없어서 아쉬웠다ㅠㅠ

그리고 맞춤 냉장고에서 유통기한을 한번 입력받으면 몇 시간 간격으로 자동으로 유통기한이 줄어드는 기능을 넣고 싶었는데 해당 기능을 구현하지 못한 게 너무 아쉽다.

그래도 두 가지 기능을 맡아서 구현하고 웹사이트를 만들다 보니 나중에 나 혼자서도 아이디어가 생기면 이를 만들어 볼 수 있겠다는 자신감이 생겼다.!

강사님들께 좋은 피드백을 받아서 기분이 좋다ㅎㅎ

' ' '

반응형

댓글