Skip to content

๐Ÿฅˆ๋ฒค์ฒ˜-์Šคํƒ€ํŠธ์—… ์•„์นด๋ฐ๋ฏธ ํ—ค์ปคํ†ค - ๋ฆฌ๋ทฐ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„ ์ถ”์ฒœ ์‹œ์Šคํ…œ(์šฐ์ˆ˜์ƒ ์ˆ˜์ƒ)

Notifications You must be signed in to change notification settings

taemin-steve/Comment-based-recommendation-system-

ย 
ย 

Repository files navigation

Comment-based-recommendation-system-

๋” ์„ธ๋ถ€์ ์ธ ๋‚ด์šฉ์€ ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DEMO



์„œ๋น„์Šค ๊ฐœ์š”

ํ•œ์ค„ ์†Œ๊ฐœ

๊ตฌ๊ธ€ ์•ฑ ์Šคํ† ์–ด๋‚ด์˜ ์นด์นด์˜ค ๊ฒŒ์ž„์ฆˆ๋“ค์˜ ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฐ”ํƒ•์œผ๋กœ ์‚ฌ์šฉ์ž ๋งž์ถค ๊ฒŒ์ž„ ์ถ”์ฒœ ์‹œ์Šคํ…œ ๊ตฌํ˜„

๊ฐœ๋ฐœ ๋™๊ธฐ

๊ฒŒ์ž„ ํŠœํ† ๋ฆฌ์–ผ์ด ๋๋‚˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฆฌ๋ทฐ๋ฅผ ๋ถ€ํƒํ•˜๋Š” ์•Œ๋ฆผ์ฐฝ์„ ๋ชจ๋‘ ํ•œ๋ฒˆ์ฏค ๋งŒ๋‚˜ ๋ณด์…จ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์™œ ์ด๋ ‡๊ฒŒ ๊ฒŒ์ž„์‚ฌ๋“ค์€ ์‚ฌ์šฉ์ž๋“ค์ด ๋ฆฌ๋ทฐ๋ฅผ ๋‚จ๊ฒจ์ฃผ๊ธฐ๋ฅผ ๋ฐ”๋ž„๊นŒ์š”?? ์•„๋งˆ ์•„์ง ์‚ฌ์šฉํ•ด๋ณด์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์กฐ๊ธˆ ๋” ๋งŽ์€ ์‚ฌ์šฉ์ž๋“ค์ด ๊ฒŒ์ž„์„ ์ด์šฉํ–ˆ์œผ๋ฉด ํ•˜๊ธธ ๋ฐ”๋ผ๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
โ€œ์‚ฌ์šฉ์ž์—๊ฒŒ ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์ง„ ๋ฆฌ๋ทฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘์ ์œผ๋กœ ์ถ”์ฒœ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋” ๋‹ค์ฑ„๋กœ์šด ์ถ”์ฒœ์ด ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์„๊นŒ?โ€ ๋ผ๋Š” ์ƒ๊ฐ์— ์‚ฌ์šฉ์ž ๊ธฐ๋ทฐ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Pipe line

์›น ํฌ๋กค๋ง์„ ํ†ตํ•ด ์ถ”์ถœํ•œ ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ, ํ‰์ , ์ „์ฒด ๋ฆฌ๋ทฐ ์ˆ˜ ๋“ฑ์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ปจํ…์ธ  ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง ๊ณผ์ •์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ์— ๋”ฐ๋ฅธ ์ถ”์ฒœ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ image


Crawling

Selenium ์„ ์ด์šฉํ•˜์—ฌ Data Crawling ์ง„ํ–‰ ์ด 91๊ฐœ์˜ ์นด์นด์˜ค ๊ฒŒ์ž„ ์„ ์ •(review ๋งํฌ๊ฐ€ ์•ˆ๋“ค์–ด๊ฐ€์ง€๊ฑฐ๋‚˜, ๋™์ผ ์žฅ๋ฅด๊ฐ€ ๋„ˆ๋ฌด ์ ์€ ๊ฒฝ์šฐ๋Š” ์ œ์™ธ ) ๊ฐ๊ฐ์˜ ๊ฒŒ์ž„๋งˆ๋‹ค title,genre,rating,review_num,url,img, 500๊ฐœ์˜ ๋ฆฌ๋ทฐ

ํ‚ค์›Œ๋“œ ์ถ”์ถœ

๋ฆฌ๋ทฐ ๋ฐ์ดํ„ฐ ํ•˜๋‚˜์— ๋Œ€ํ•˜์—ฌ ํ•œ๊ตญ์–ด๋กœ ํ•™์Šต๋œ skt/kobert-base-v1 pretrained ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ keyBert() ์ง„ํ–‰, ๊ฐœ๋ณ„ ๋ฆฌ๋ทฐ ํ‚ค์›Œ๋“œ, 500๊ฐœ์˜ ๋ฌธ์žฅ์—์„œ ์ถ”์ถœ๋œ key world ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๊ฒŒ์ž„์˜ ํ†ตํ•ฉ ํ‚ค์›Œ๋“œ ์„ ์ • (ํ†ตํ•ฉ ํ‚ค์›Œ๋“œ๋ฅผ ์„ ์ •ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ TF - IDF ์ง„ํ–‰)


์ปจํ…์ธ  ๊ธฐ๋ฐ˜ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜

IMDB ์—์„œ ์ œ์•ˆํ•œ Weight Rating ๋ฐฉ์‹์œผ๋กœ ํ‰์  ์žฌ์‚ฐ์ • (๊ธฐ์กด์˜ Rating ์ ์ˆ˜์— ๋ฆฌ๋ทฐ ๊ฐฏ์ˆ˜์— ๋Œ€ํ•œ ๊ฐ€์ค‘์น˜ ํ• ๋‹น ๋ฐฉ์‹) TF - IDF ๋ฅผ ํ†ตํ•ด ํ‚ค์›Œ๋“œ๋“ค์— ๋Œ€ํ•œ ์ค‘์š”๋„๋ฅผ ๊ฐ€์ค‘์น˜๋กœ ๋ฒกํ„ฐ ์ž„๋ฒ ๋”ฉ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ ํ•จ์ˆ˜ ํ™œ์šฉ
์œ ์‚ฌ๋„ ๊ณ„์‚ฐ์‹œ Genre์™€ Key_words ๋‘ ๋ณ€์ˆ˜ ๋™์‹œ ๋ฐ˜์˜ํ•˜์—ฌ ์ถ”์ฒœ ์‹œ์Šคํ…œ์— ์ ์šฉ


๊ฒฐ๊ณผ ๋ถ„์„

image

1.์‚ฌ์šฉ์ž ํ‰๊ฐ€ ๊ธฐ๋ฐ˜ ์„ธ๋ถ€์นดํ…Œ๊ณ ๋ฆฌ ์ถ”์ฒœ ๊ฐ€๋Šฅ

'๋ฆฌ๋‹ˆ์ง€' ๋ผ๋Š” ํ‚ค์›Œ๋“œ์™€ ๊ฐ™์ด ์‚ฌ์šฉ์ž๋“ค์ด ๋ฐ›์•„๋“ค์ด๋Š” ๋ณด๋‹ค ์ง๊ด€์ ์ด๊ณ  ์„ธ๋ถ€์ ์ธ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์ถ”์ฒœํ•  ์ˆ˜ ์žˆ์Œ

2.์žฅ๋ฅด์— ๊ตญํ•œ๋˜์ง€ ์•Š๋Š” ๋‹ค์ฑ„๋กœ์šด ์ถ”์ฒœ ๊ฐ€๋Šฅ

๋‹ค์šด๋กœ๋“œ ํ•ญ๋ชฉ์„ ๋ณด๋ฉด ๋ชจ๋‘ roleplaying ๊ฒŒ์ž„์ด์ง€๋งŒ, ์‹ค์ œ๋กœ ์ถ”์ฒœ๋˜๋Š” ๊ฒŒ์ž„๋“ค์€ action๊ณผ simulation ์žฅ๋ฅด์˜ ๊ฒŒ์ž„ ๋˜ํ•œ ์ถ”์ฒœ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. key word๋งŒ ๊ฒน์นœ๋‹ค๋ฉด ์žฅ๋ฅด๋ฅผ ๋„˜์–ด์„  ์ถ”์ฒœ ๊ฐ€๋Šฅ

Frontend ๊ตฌํ˜„

: React, styled-components

image

image


๊ธฐ๋Œ€ ํšจ๊ณผ

  • ๋ฆฌ๋ทฐ ๋ฐ์ดํ„ฐ์™€ ๊ฒŒ์ž„์˜ ์žฅ๋ฅด๋งŒ์„ ํ™œ์šฉํ•œ ์ตœ์†Œํ•œ์˜ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ถ”์ฒœ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•จ
  • ๊ฒŒ์ž„ ์„ ์ •์— ์•ž์„œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฆฌ๋ทฐ๋ฅผ ์Šต๋“ํ•˜๊ณ ์ž ํ• ๋•Œ ํ•ด๋‹น ์‹œ๊ฐ„์„ ๋‹จ์ถ• ํ•  ์ˆ˜ ์žˆ์Œ
  • ๊ฒŒ์ž„ ์„ ํƒ์— ์žˆ์–ด์„œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์ •๋ณด๋ฅผ ํ™œ์šฉ ๊ฐ€๋Šฅํ•ด์ง


๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Members

์ด๋ฆ„ ๊ฐœ๋ฐœ๋ถ„์•ผ ์†Œ๊ฐœํŽ˜์ด์ง€
์ •ํƒœ๋ฏผ NLP Github
๊น€์ฃผ์› Frontend, Backend Github
๋ฐ•์ •ํ›ˆ Crawling Github
์žฅํšจ์˜ NLP Github

About

๐Ÿฅˆ๋ฒค์ฒ˜-์Šคํƒ€ํŠธ์—… ์•„์นด๋ฐ๋ฏธ ํ—ค์ปคํ†ค - ๋ฆฌ๋ทฐ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„ ์ถ”์ฒœ ์‹œ์Šคํ…œ(์šฐ์ˆ˜์ƒ ์ˆ˜์ƒ)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 98.2%
  • JavaScript 1.4%
  • Other 0.4%