hwanseung2 / RecommendU-ml

๐ŸŽฏ [ML] ๋งž์ถคํ˜• ํ•ฉ๊ฒฉ ์ž๊ธฐ์†Œ๊ฐœ์„œ ์ถ”์ฒœ ์„œ๋น„์Šค RecommendU

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RecommendU-ML

Overview

RecommendU ์„œ๋น„์Šค์—์„œ ์ถ”์ฒœ์‹œ์Šคํ…œ ๋ชจ๋ธ๋ง ๊ณผ์ •์€ ํฌ๊ฒŒ ๋‘ ๊ฐœ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

  1. ์œ ์ €-์ž๊ธฐ์†Œ๊ฐœ์„œ ๋ฌธํ•ญ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ์œ„ํ•œ Content-based Filtering ๋ชจ๋ธ๋ง ๊ณผ์ •
  2. ๊ฐœ์ธํ™”๋œ ์ถ”์ฒœ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•  Model-based Collaborative Filtering ๋ชจ๋ธ๋ง ๊ณผ์ •

์ด ์ค‘ ๋‘ ๋ฒˆ์˜ ๋ชจ๋ธ๋ง์„ ์ง„ํ–‰ํ•˜๋ฉฐ ๊ฐ€์žฅ ์‹ ๊ฒฝ์ผ๋˜ ๋ถ€๋ถ„์€ ์ถ”์ฒœ์„ ์ œ๊ณตํ•˜๋Š” ๊ณผ์ •์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž์˜ ๋งฅ๋ฝ๊ณผ latency์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ถ”๋ก ํ•ด์•ผํ•  ์ž๊ธฐ์†Œ๊ฐœ์„œ ๋ฌธํ•ญ์„ ์ค„์ด๋Š” Retrieval ๊ณผ์ •์ด ํ•„์ˆ˜์˜€์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๊ฐ’์„ ๋‚ด์•ผํ•  ์•„์ดํ…œ ์ˆ˜๋ฅผ ์ค„์ด๋Š” Retrieval ๊ณผ์ •์€ ๊ฐ ๋ฐฐํฌ ๋‹จ๊ณ„ ๋ชจ๋‘ ๋™์ผํ•œ ์›๋ฆฌ๋ฅผ ์‚ฌ์šฉํ–ˆ์œผ๋ฉฐ, ์•„์ดํ…œ ๊ฐ„์˜ ์ˆœ์œ„๋ฅผ ์ •ํ•ด์ฃผ๋Š” Ranking ๊ณผ์ •์—์„œ์˜ ์ฐจ์ด๊ฐ€ 1์ฐจ ๋ฐฐํฌ์— ๋Œ€ํ•œ ๋ชจ๋ธ๊ณผ 2์ฐจ ๋ฐฐํฌ์— ๋Œ€ํ•œ ๋ชจ๋ธ์—์„œ ๋‚˜๋‰˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Model workflow

๊ณตํ†ต

Retrieval: ์œ ์ €์˜ ๊ด€์‹ฌ ํšŒ์‚ฌ, ๊ด€์‹ฌ ๋ถ„์•ผ, ๊ด€์‹ฌ ์ง๋ฌด, ์งˆ๋ฌธ์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉ๋œ ๊ฐ€์ค‘์น˜๋ฅผ ๋”ฐ๋ผ์„œ ์ •๋ ฌ ํ›„, Top N๊ฐœ๋กœ ์ถ”๋ ค๋ƒ…๋‹ˆ๋‹ค.

1์ฐจ ๋ฐฐํฌ ๋ชจ๋ธ๋ง ๊ณผ์ •



Model workflow Content-based Filtering

Ranking

  • ๋‹ต๋ณ€์ด ์—†๋Š” ๊ฒฝ์šฐ: 1์ฐจ ๋ฐฐํฌ๋Š” ์œ ์ €๋“ค์ด ๋‹ค์–‘ํ•œ ์ž๊ธฐ์†Œ๊ฐœ์„œ ๋ฌธํ•ญ๊ณผ์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์Œ“์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜๊ณ ์ž ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ถ”๋ ค์ง„ ์ž๊ธฐ์†Œ๊ฐœ์„œ ๋ฌธํ•ญ์„ random samplingํ•˜์—ฌ ์œ ์ €์—๊ฒŒ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ต๋ณ€์ด ์žˆ๋Š” ๊ฒฝ์šฐ: ๋‹ต๋ณ€์ด ์กด์žฌํ•  ๋•Œ, ๋‹ต๋ณ€๊ณผ ์œ ์‚ฌํ•œ ์ž๊ธฐ์†Œ๊ฐœ์„œ๋ฅผ ์ถ”์ฒœํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์šฐ์„ ์ด์—ˆ๊ธฐ์—, ๋‹ต๋ณ€๊ณผ ์ถ”๋ ค์ง„ ๋ฌธํ•ญ๋“ค ๊ฐ„์˜ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์œ ์ €์—๊ฒŒ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

2์ฐจ ๋ฐฐํฌ ๋ชจ๋ธ๋ง ๊ณผ์ •



Model workflow Model-based Collarboratve Filtering

Ranking

  • ๋‹ต๋ณ€์ด ์—†๋Š” ๊ฒฝ์šฐ: ์œ ์ €์™€ ์ž๊ธฐ์†Œ๊ฐœ์„œ ๋ฌธํ•ญ๊ฐ„ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•œ GBDT ๊ณ„์—ด์˜ CatBoost๋ฅผ ํ™œ์šฉํ•œ๋‹ค. ๋‹ต๋ณ€์ด ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ์ถ”๋ ค์ง„ ์ž๊ธฐ์†Œ๊ฐœ์„œ ๋ฌธํ•ญ์„ ํ™•๋ฅ ๊ฐ’์œผ๋กœ ์ˆœ์œ„๋ฅผ ๋งค๊ฒจ ์ˆœ์„œ๋ฅผ ์ •ํ•œ ํ›„ ์œ ์ €์—๊ฒŒ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ต๋ณ€์ด ์žˆ๋Š” ๊ฒฝ์šฐ: ๊ณ„์‚ฐ๋œ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„์™€ CatBoost์˜ ํ™•๋ฅ ๊ฐ’์„ ๋”ํ•˜์—ฌ ์ˆœ์œ„๋ฅผ ๋งค๊ฒจ ์œ ์ €์—๊ฒŒ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

About

๐ŸŽฏ [ML] ๋งž์ถคํ˜• ํ•ฉ๊ฒฉ ์ž๊ธฐ์†Œ๊ฐœ์„œ ์ถ”์ฒœ ์„œ๋น„์Šค RecommendU


Languages

Language:Python 100.0%