Skip to content

pladata-encore/DA36_mini2_Dionysus

Repository files navigation

DA36_mini2_Dionysus

🍷Wine Recommendation System🍷

스크린샷 2025-09-22 오후 12 24 17

🇰🇷 한국어 | 🇺🇸 English

🇰🇷 한국어

🍇 와인 추천의 필요성 🍇

  • 개인화된 추천 (Personalized Recommendation)
  • 새로운 와인 발견 (Discover New Wines)
  • 시간절약 (Time-Saving)

🍇 참고 사이트 🍇

image

사진을 클릭하세요.

🍇 Team Crew 🍇

Haebin Kim <맛잘알, 와잘알 와인 추천 구현>
[특징] 와인에 미쳐 사는 사람. 맛있는 음식과 함께라면 와인 주량 3병. 아이디어 제공자
Yejin Lee <와린이 와인 추천 구현>
[특징] 와인에 대해 아는 것이라고는 스파클링, 레드, 화이트 와인이 있다는 정도의 문외한이었어요. 하지만 이제 나도 와잘알?
Jeongseok Shim 팀원
[특징] 와인 입문자

🍇 DATA Introduction 🍇

  • 와잘알/맛잘알 Data

    • API 호출하여 JSON 파일 추출
    • Columns 총 22 columns x 3675 rows
      • wine_ratings_count : 와인 평점 수
      • wine_ratings_average : 와인 평점
      • foods : 와인에 어울리는 음식
      • vintage_price : 가격
      • vintage_wine_name : 와인 이름 (이름 + 년도)
      • vintage_wine_type : 와인 타입 (id mapping to type)
      • varietal_name : 포도 품종
      • variety : 와인 품종
      • winery : 와이너리 (양조장)
    • Row Count
      • 중복값 제거 후 df.shape = (2024, 22)
  • 와린이 Data

    • Columns
      • description : 리뷰
      • title : 와인 이름
      • country : 나라 이름
      • points : 와인 평점
      • price : 와인 가격
      • variety : 와인 품종
      • winery : 와이너리 (양조장)
    • Row Count
      • 중복된 행 제거 후 29,971 ⇨ 119,928
    • Description words
      • 68 words
      • 단어 벡터화 제외 5% 이하, 90% 이상

🍇 Development Tools 🍇

image image image image

🍇 Our Recommendation System 🍇

  • 와잘알ver.
    image

  • 와린이ver.
    와린이는 와인 + 어린이의 합성어로 와인에 대해 모르는 사람입니다. 와린이는 와인의 탄닌이 뭔지, 산도가 뭔지 잘 모르기 때문에 선택하기 보다 쉬운 질문을 해서 와인을 추천해 주는 시스템 입니다.

[예시] Step 1. 더 선호하시는 것을 고르세요.

  1. 고기 2. 생선 3. 채소

예시로 Step 1을 보면, 각 선택지 마다 와인의 특징을 부여하였고 모델 데이터에서 미리 뽑은 68개의 단어들 중에서 특징들과 어울리는 단어들을 부여했습니다.

  • 고기 : 진한 레드와인, 소고기, 양고기, 스테이크, 육즙이 풍부한, 풀바디 레드와인, 탄닌이 풍부, 강한 풍미 => [dry, firm, tannins, red, flavor, dark, cabernet, sauvignon]

  • 생선 : 화이트 와인, 산뜻하고 깔끔한 산미, 신선함, 해산물 요리 => [fruit, white, crisp, fresh, bright, touch, sauvignon, light]

  • 채소 : 화이트, 라이트레드, 구운 채소, 샐러드, 신선한, 상큼함, 섬세한 => [fruit, white, crisp, fresh, bright, touch, sauvignon, light]

image

  • 맛잘알ver.
    image

  • 와인 추천 결과

    • Best 3
      image

    • Worst 3
      image

🍇 Streamlit App 🍇

👇와인 추천 시스템을 이용하려면 이걸 눌러주세요.

image

🍇 구현 영상 🍇

👇와인 추천 시스템 구현영상을 보시려면 이걸 눌러주세요.

썸네일






🇺🇸 English

🍇 Why a Wine Recommendation System 🍇

  • Personalized recommendations
  • Discover new wines
  • Save time

🍇 Reference Site 🍇

image

Click the image.

🍇 Team Crew 🍇

Haebin Kim <Implemented recommendations for wine-savvy users>
[About] A true wine lover and foodie. Can enjoy up to three bottles with great food. Idea contributor.
Yejin Lee <Implemented recommendations for wine beginners (“Warin-i”)>
[About] Used to know only “sparkling / red / white,” but now on the way to becoming a wine knower!
Jeongseok Shim Team member
[About] Wine beginner.

🍇 DATA Introduction 🍇

  • Wine-savvy / Food-savvy Data

    • Called the API and extracted JSON
    • Columns: 22 columns × 3,675 rows
      • wine_ratings_count: number of ratings
      • wine_ratings_average: average rating
      • foods: food pairings
      • vintage_price: price
      • vintage_wine_name: wine name (name + vintage year)
      • vintage_wine_type: wine type (id mapped to type)
      • varietal_name: grape varietal
      • variety: wine variety
      • winery: winery
    • Row Count
      • After removing duplicates: df.shape = (2024, 22)
  • Beginner (“Warin-i”) Data

    • Columns
      • description: review text
      • title: wine name
      • country: country
      • points: rating
      • price: price
      • variety: variety
      • winery: winery
    • Row Count
      • After removing duplicates: 29,971 ⇨ 119,928
    • Description words
      • 68 words used
      • Words below 5% or above 90% frequency were excluded from vectorization

🍇 Development Tools 🍇

(Images unchanged)

🍇 Our Recommendation System 🍇

  • Wine-savvy ver.
    (see screenshot)

  • Beginner (“Warin-i”) ver.
    “Warin-i” is a portmanteau of “wine + beginner.” Since beginners may not know terms like tannin or acidity, the system asks simple preference questions and recommends wines accordingly.

[Example] Step 1. Choose what you prefer.

  1. Meat    2) Fish    3) Vegetables

For each choice, we assign characteristic tags and map them to a subset of our 68 keywords extracted from the model data.

  • Meat: rich red wines, beef/lamb/steak, juicy, full-bodied, tannic, bold flavors
    ⇒ [dry, firm, tannins, red, flavor, dark, cabernet, sauvignon]

  • Fish: white wines, crisp acidity, freshness, seafood
    ⇒ [fruit, white, crisp, fresh, bright, touch, sauvignon, light]

  • Vegetables: white / light red, roasted vegetables, salads, fresh, zesty, delicate
    ⇒ [fruit, white, crisp, fresh, bright, touch, sauvignon, light]

(See screenshots)

  • Food-savvy (“Mat-jal-al”) ver.
    (see screenshot)

  • Recommendation Results

    • Best 3 (screenshot)
    • Worst 3 (screenshot)

🍇 Streamlit App 🍇

👇 Click to use the wine recommendation system.

image

🍇 Demo Video 🍇

👇 Click to watch the implementation demo.

Thumbnail

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors