AI

[AI] ๋ ˆ์‹œํ”ผ ์ถ”์ฒœ ๋ชจ๋ธ ๋งŒ๋“ค๊ธฐ 3 - RecBole

alsruds 2024. 9. 10. 22:11
What is RecBole?

 

๐Ÿ’โ€โ™€๏ธ RecBole is developed based on Python and PyTorch for reproducing and developing recommendation algorithms in a unified, comprehensive and efficient framework for research purpose.

 


๐Ÿ’ ๊ธฐ๋ณธ : RecBole GitHub

 

๐Ÿ’ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฒ„์ „ : RecBole2.0 GitHub

  L RecBole-GNN package ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค

 

๐Ÿ’ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•  ๊ฒƒ!! : RecBole-GNN

  L ์‚ฌ์šฉํ•  ๋ชจ๋ธ : NGCF

 

๐Ÿ’ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋ฐ์ดํ„ฐ์…‹ : RecSysDatasets

  L ๋ฐ์ดํ„ฐ์…‹์„ ์ง์ ‘ ๋งŒ๋“ค์–ด ๋„ฃ์–ด์ค„ ์ˆ˜๋„ ์žˆ๋‹ค ๊ทผ๋ฐ..

๋‚ด๊ฐ€ ํ•„์š”ํ•œ Food!! ์ด๊ฑฐ ์™„์ „ ๋Ÿญํ‚ค๋น„ํ‚ค์ž–์•™ ~ ๐Ÿ€

    L DianPing

    L Food

    L Google Drive : the processed atomic files

 

 

๐Ÿค– GPT ํ•œํ…Œ ๋ฌผ์–ด๋ดค๋‹ค ^^

๋‘ ๊ฐ€์ง€ ๋ฐ์ดํ„ฐ์…‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ํ™œ์šฉํ•œ ๋ ˆ์‹œํ”ผ ์ถ”์ฒœ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

"Food" ๋ฐ์ดํ„ฐ์…‹ ์‚ฌ์šฉ: ์ด ๋ฐ์ดํ„ฐ์…‹์€ ๋ ˆ์‹œํ”ผ ์ •๋ณด์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ๋„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ์‚ฌ์šฉ์ž์™€ ๋ ˆ์‹œํ”ผ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ(user-item interaction)์„ ๋ชจ๋ธ๋งํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ๋ ˆ์‹œํ”ผ์— ๊ด€์‹ฌ์„ ๊ฐ€์กŒ๋Š”์ง€, ์–ด๋–ค ํ‰์ ์„ ๋‚จ๊ฒผ๋Š”์ง€ ๋“ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ถ”์ฒœ ๋ชจ๋ธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ ์ € ๊ธฐ๋ฐ˜ ์ถ”์ฒœ: ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž์˜ ์ทจํ–ฅ์„ ๋ฐ˜์˜ํ•œ ๋ ˆ์‹œํ”ผ ์ถ”์ฒœ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. RecBole-GNN์€ ์‚ฌ์šฉ์ž์™€ ๋ ˆ์‹œํ”ผ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๊ทธ๋ž˜ํ”„ ํ˜•์‹์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์–ด, ์œ ์‚ฌํ•œ ์‚ฌ์šฉ์ž๋‚˜ ์œ ์‚ฌํ•œ ๋ ˆ์‹œํ”ผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ถ”์ฒœ ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ์…‹ ํ†ตํ•ฉ: ๋งŒ์•ฝ "DianPing" ๋ฐ์ดํ„ฐ์…‹๋„ ๊ณ ๋ คํ•œ๋‹ค๋ฉด, ์œ ์ € ๋ฆฌ๋ทฐ์˜ ํŠน์„ฑ์„ ๋ถ„์„ํ•ด "Food" ๋ฐ์ดํ„ฐ์…‹๊ณผ ํ†ตํ•ฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ถ”๊ฐ€์ ์ธ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, "DianPing"์˜ ๋ฆฌ๋ทฐ ํŒจํ„ด์ด ์œ ์‚ฌํ•œ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน์„ ๋„์ถœํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RecBole-GNN ์„ค์ •: RecBole-GNN ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ๋•Œ, ์‚ฌ์šฉ์ž-๋ ˆ์‹œํ”ผ ์ƒํ˜ธ์ž‘์šฉ์„ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„ํ•˜๊ณ , ๊ทธ ๊ทธ๋ž˜ํ”„์—์„œ ์—ฐ๊ฒฐ์„ฑ์„ ํ•™์Šตํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด "Food" ๋ฐ์ดํ„ฐ์…‹์—์„œ ์‚ฌ์šฉ์ž์™€ ๋ ˆ์‹œํ”ผ์˜ ๊ด€๊ณ„(๋ฆฌ๋ทฐ๋‚˜ ํ‰์ )๋ฅผ ์ถ”์ถœํ•œ ํ›„, ๊ทธ๋ž˜ํ”„ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์— ํ•™์Šต์‹œํ‚ค๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ, "Food" ๋ฐ์ดํ„ฐ์…‹์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ์™€ ๋ ˆ์‹œํ”ผ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ถ”์ฒœ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ณ , ํ•„์š”์‹œ "DianPing"์„ ๋ณด์™„ ๋ฐ์ดํ„ฐ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    L Food ์— ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ๋„ ์žˆ์—ˆ๊ตฌ๋‚˜ ์ด๊ฑธ๋กœ ํ•˜๋ฉด ๋˜๊ฒ ๋‹ค! DianPing ์€ ์ถ”ํ›„์— ๊ณ ๋ คํ•˜๋Š” ๊ฑธ๋กœ..

 

์•„๋‹ˆ ๊ทผ๋ฐ

Review
Recipe

    L ์‚ฌ์šฉ์ž๋ฅผ ํŠน์ • ์ง€์„ ์ •๋ณด ๊ฐ™์€ ๊ฒŒ ์—†๋Š”๋ฐ (ex. ๋‚˜์ด, ์„ฑ๋ณ„, ์„ ํ˜ธํ•˜๋Š” ์นดํ…Œ๊ณ ๋ฆฌ)

 

- ์ผ๋‹จ ์ฃผ์–ด์ง„ ๊ฑธ๋กœ ํ•ด๋ณด๊ณ  ๋ฐ์ดํ„ฐ์…‹์— ์ ์  ์ถ”๊ฐ€ํ•œ๋‹ค๋˜๊ฐ€ ํ•˜๋Š” ์‹์œผ๋กœ ํ•ด์•ผ๊ฒ ๋‹ค

- ์žฌ๋ฃŒ ์ž…๋ ฅ ๋ฐ›๊ธฐ โ†’ ์žฌ๋ฃŒ๋ฅผ ํฌํ•จํ•˜๋Š” ๋ ˆ์‹œํ”ผ

- ์‚ฌ์šฉ์ž rating (0~5) ์ด 3 ์ด์ƒ์ธ ๋ ˆ์‹œํ”ผ๋งŒ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•˜์ž

- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ๋‚ด๊ฐ€ ๊ฐ€์ง„ ์นดํ…Œ๊ณ ๋ฆฌ๋“ค ์ค‘ ์–ด๋–ค ์นดํ…Œ๊ณ ๋ฆฌ์ธ์ง€ ์ž๋™์œผ๋กœ ์ž…๋ ฅ๋˜๋„๋ก GPT API ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ์ข‹๋‹ค

- ํ•œ ๋ฒˆ ๋ ˆ์‹œํ”ผ๋ฅผ ์ถ”์ฒœ๋ฐ›์œผ๋ฉด, ํ•ด๋‹น ์‚ฌ์šฉ์ž์˜ ๊ธฐ๋ก์ด ์ถ”๊ฐ€๋˜๋Š” ์‹์œผ๋กœ๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

- ์•„, ์ด๋ฏธ ํŠน์ •ํ•œ ํŒŒ์ผ ํ˜•์‹ (atomic files?) ๋กœ ๊ฐ€๊ณต๋˜์–ด ์žˆ์–ด์„œ ์ถ”๊ฐ€๋ฅผ ๋ชปํ•  ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ ๋ฐ์ดํ„ฐ ์„ค๋ช…์— ์ฒจ๋ถ€๋œ Kaggle ๋ฐ์ดํ„ฐ์…‹์—์„œ ์ง์ ‘ ๋‹ค์šด๋ฐ›์•„์„œ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ๊ฒ ๋‹ค.

 

- RecBole ์„ ๋‹ค๋ฃจ๋Š” ์ž๋ฃŒ๋“ค์€ ๋งŽ์ด ๋‚˜์˜จ๋‹ค

https://mingchin.tistory.com/420

 

[์ถ”์ฒœ์‹œ์Šคํ…œ/RecSys] RecBole ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

https://github.com/RUCAIBox/RecBole GitHub - RUCAIBox/RecBole: A unified, comprehensive and efficient recommendation library A unified, comprehensive and efficient recommendation library - GitHub - RUCAIBox/RecBole: A unified, comprehensive and efficient r

mingchin.tistory.com

https://hoon-bari.github.io/RS/Recbole

 

Recbole

๋Œ€๋‹ค์ˆ˜ ๋ชจ๋ธ์€ ์Šค์Šค๋กœ ๊ตฌํ˜„ํ•ด๋ณด๋Š”๊ฒŒ ๊ฐ€์žฅ ์ข‹์ง€๋งŒ, ๋งŽ์€ ์ข…๋ฅ˜์˜ ๋ชจ๋ธ ์ค‘์— ์–ด๋–ค ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•ด์•ผํ• ์ง€ ๊ณ ๋ฏผ์ด ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์ˆ˜์˜ ๋ชจ๋ธ์„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ์•„๋†“์€ ๋ผ

hoon-bari.github.io