AWS Personalize ํ์ฉํ ๊ฐ์ธํ ์ถ์ฒ ์๋น์ค ๋ก ์นญ๊ธฐ
AWS Personalize ํ์ฉํ ๊ฐ์ธํ ์ถ์ฒ ์๋น์ค ๋ก ์นญ๊ธฐ ๊ด๋ จ
๊ตญ๋ด IT ๊ธฐ์ ์ ํ๊ตญ์ ๋์ด ์ธ๊ณ๋ฅผ ๋ฌด๋๋ก ํ ์ ๋๋ก ๋ฐ์ด๋ ๊ธฐ์ ๊ณผ ์์ด๋์ด๋ฅผ ์๋ํฉ๋๋ค. ์ด๋ค์ ๊ธฐ์ ๋ธ๋ก๊ทธ๋ฅผ ํตํด ์ด๋ฌํ ์ ๋ณด๋ฅผ ๊ณต๊ฐํ๊ณ ์์ต๋๋ค. ์์ฆIT๋ ๊ฐ ๊ธฐ์ ์ ํน์ ์๊ณ ์ ์ตํ ์ฝํ ์ธ ๋ฅผ ์๊ฐํ๋ ์๋ฆฌ์ฆ๋ฅผ ์ค๋นํ์ต๋๋ค. ์ด๋ค์ ์ด๋ป๊ฒ ์ฌ๊ณ ํ๊ณ , ์ด๋ค ๋ฐฉ์์ผ๋ก ์ผํ๊ณ ์์๊น์?
์ด๋ฒ ๊ธ์ ์ฌ๊ธฐ์ด๋ ๋ฐ์ดํฐ ์์ง๋์ด๊ฐ AWS Personalize๋ฅผ ํ์ฉํด ๊ฐ์ธํ ์ถ์ฒ ์๋น์ค๋ฅผ ๋ก ์นญํ ๊ฒฝํ์ ์๊ฐํฉ๋๋ค.
์๋ ํ์ธ์. ์ธํ๋ผ๊ฐ๋ฐํ ๋ฐ์ดํฐ์์ง๋์ด ์งํค์ ๋๋ค. ์ฌ๊ธฐ์ด๋ ์๋น์ค์ ๋ น์ด๊ธฐ ์ํด ์ค๋ ์๊ฐ ๋์ ํ ์คํธํ๊ณ ๊ธฐ๋ค๋ฆฌ๋ ๊ฐ์ธํ ์๋น์ค๋ฅผ ํ ํ๋ฉด์ ์ ์ฉํด ๋๋์ด ๋ก ์นญํ๊ฒ ๋์์ต๋๋ค.
์ ๋ ์ ์ฃผ๋์ ๋ฐ๋ปํ ๋ฐ๋์ด ๊ทธ๋ฆฌ์ ์ ์ฃผ๋ ์์๋ฅผ ๋ง์ด ๋ดค๋๋ ์ ์ฃผ๋ ์์๋ฅผ ์ถ์ฒ๋ฐ์์ต๋๋ค. ์ฌ๋ฌ๋ถ์ ์ด๋ค ์์๋ฅผ ์ถ์ฒ๋ฐ์ผ์ จ๋์?
์ฌ๊ธฐ์ด๋์๋ ๋ค์ํ ์ถ์ฒ ์๋น์ค๊ฐ ์์ง๋ง ๊ฐ์ธํ๋ ์ถ์ฒ ์๋น์ค๋ ์ฒ์์ด๊ธฐ์ ์ด๋ป๊ฒ ์์คํ ์ ๊ตฌ์ถํ์ฌ ์๋น์ค์ ์ฐ๊ฒฐํ๋์ง ๊ณต์ ํ๋๋ก ํ๊ฒ ์ต๋๋ค(์ฌ๊ธฐ์ด๋ ๊ฐ์ธํ ์ถ์ฒ์๋ AWS Personalize๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค).
Datasets and schemas
์ฐ์ , Users
, Items
, Interactions
๋ฐ์ดํฐ์
๊ณผ ์คํค๋ง๋ฅผ ์ ์ ์ํด์ผ ํฉ๋๋ค. ์ดํ ๋จ๊ณ๋ ๊ฑฐ์ ์๋์ผ๋ก ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์ ์ ์ํ๋ ๋จ๊ณ๊ฐ ๊ฐ์ฅ ์ค์ํฉ๋๋ค. ๊ฐ ์๋น์ค์ ์ฑ์ง์ ๋ง๊ฒ ์ ์ํ๋ฉด ๋ฉ๋๋ค.
๋ฌผ๋ก ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์๋ ์คํค๋ง์ ๋ง๊ฒ ์ ์ฒ๋ฆฌ ์์
๋ ํ์ํฉ๋๋ค. ์ฌ๊ธฐ์ด๋์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ์ ์์ด ๋ง์ ํ์ํ ๋ฐ์ดํฐ๋ง ์ถ๋ฆฌ๋ ์์
์๋ ๋ง์ ๋ฆฌ์์ค๊ฐ ์์๋์ต๋๋ค. ๊ฐ์ธ์ ๋ณด ๋ณดํธ๋ฅผ ์ํด ์ฌ์ฉ์์ ๋ํ ์ ๋ณด๊ฐ ๊ฑฐ์ ์์ต๋๋ค. ํ์๋ก ๋ค์ด๊ฐ์ผ ํ๋ USER_ID
์ ๊ตฌ๋งค ์ด๋ ฅ์ ํตํด ์ฌ์ฉ์๋ค์ ๊ตฌ๋ถํ ๊ณ ์ณ๊ฐ์ ๋ฐ์ดํฐ ์
์ผ๋ก ๋ฃ๊ณ ์คํค๋ง๋ฅผ ์ ์ํ์ต๋๋ค. ์์ ์ ๋ณด๋ ํ์ ํ๋์ธ ITEM_ID
, CREATION_TIMESTAMP
๋ฅผ ํฌํจํ์ฌ ์นดํ
๊ณ ๋ฆฌ์ ํ์ , ์ง์ญ ์ ๋ณด, ์ทจํฅ ํํฐ, ์์ค ํํฐ๋ฅผ ์นดํ
๊ณ ๋ฆฌ์ปฌ ํ์์ผ๋ก ์ ์ํ์ต๋๋ค. Interactions
๋ฐ์ดํฐ์
๋ ํ์ํ๋์ธ USER_ID
, ITEM_ID
, TIMESTAMP
์ EVENT_TYPE
์ผ๋ก ์ ์ํ์ต๋๋ค.
- Users dataset:
USER_ID
,TIER
- Items dataset:
ITEM_ID
,CREATION_TIMESTAMP
,GRADE
,LOCATION
,RATING
,FACILITY
,FAVORITE
- Interactions dataset:
USER_ID
,ITEM_ID
,TIMESTAMP
,EVENT_TYPE
์ธํฐ๋ ์ ๋ฐ์ดํฐ์ ๊ธฐ๊ฐ์ 90์ผ์ ๋๋ค. ๊ธฐ๊ฐ์ ์ ํ๋ ๊ฒ๋ ์ฒ์์ ๊ณ ๋ฏผ์ด ๋ง์์ต๋๋ค. ์ฌ๊ธฐ์ด๋ ์๋น์ค์ ํน์ฑ์ ์ฌ์ฉ์๊ฐ ๋งค์ผ ์ง์ํด์ ์ ์ํ๋ ๊ฒฝ์ฐ๋ณด๋ค ๊ฐ์์ ํด๊ฐ ๊ณํ์ ๋ง์ถฐ ์ธํฐ๋์ ์ด ์ด๋ฃจ์ด์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๊ทธ๋์ ๊ทธ ๊ธฐ๊ฐ์ ๋ ๊ธธ๊ฒ ๊ฐ์ ธ๊ฐ์ผ ํ๋ ๊ฑด ์๋์ง, ๋ ์งง๊ฒ ๊ฐ์ผ ํ๋ ๊ฑด ์๋์ง ์์ฌ๊ฒฐ์ ํ๊ธฐ ์ด๋ ค์ ์ผ๋ 3๊ฐ์ ์ ๋๊ฐ ์ ๋นํ๋ค๋ ์๊ฒฌ์ผ๋ก ๋ชจ์์ ธ 90์ผ๋ก ์ ํ๊ฒ ๋์์ต๋๋ค.
๋ ๋ง์ ํ๋๋ฅผ ๋ฃ๊ณ ์ถ์์ง๋ง ํ๋์๊ฐ ๋ง๋ค๊ณ ํด์ ์ข์ ํ์ต์ด ์ด๋ค์ง๋ ๊ฒ์ ์๋๋ผ๋ AWS ๋ด๋น์์ ์กฐ์ธ์ ๋ฐ์๋ค์ฌ ๊ฐ์ฅ ๊ฐ๊ฒฐํ๊ฒ ์งํํ๊ฒ ๋์์ต๋๋ค. ํน๋ณํ PO ์ค๋์ ๋์์ผ๋ก ๊ฐ ํ๋๊ฐ ์ค์ ์ฌ์ฉ์ ํ๋ ๊ธฐ๋ฐ์ผ๋ก ์ ์๋์์ต๋๋ค.
๋ฐ์ดํฐ ์ ๊ณผ ์คํค๋ง๋ฅผ ์ ์ํ๋ค๋ฉด ๋ ์ํผ๋ฅผ ๊ณ ๋ฅด๊ณ ์๋ฃจ์ ์ ์์ฑํด ์ฃผ๋ฉด ๋ฉ๋๋ค. ์์ฑ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง์ธ๋ฐ ์ฝ์์์๋, CLI์์๋ ๊ฐ๋จํ๊ฒ ์์ฑํ ์ ์์ต๋๋ค. ์๋ฃจ์ ๋ฒ์ ์ ์์ฑํ๋ ์์ ์ด ํ์ต์ ์งํํ๋ ๊ฒ์ด๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค. ์ฌ๊ธฐ์ด๋์์๋ 10์๊ฐ ์ ๋ ์์๋ฉ๋๋ค.
Amazon Personalize recipes
USER_PERSONALIZATION
: User-Personalization, Popularity-Count, HRNN recipe, HRNN-Metadata recipe, HRNN-Coldstart recipePERSONALIZED_RANKING
: Personalized-RankingRELATED_ITEMS
: Similar-Items, SIMSUSER_SEGMENTATION
: Item-Affinity, Item-Attribute-Affinity
์ ํฌ๋ USER_PERSONALIZATION
๋ ์ํผ๋ฅผ ์ ํํ์ต๋๋ค. ํ์ฌ A/B ํ
์คํธ ์งํ ์์ ์ธ ํ๋ก์ ํธ์ ๋ํด ๊ฐ๋จํ ๊ณต์ ํด ๋๋ฆฌ์๋ฉด, RELATED_ITEMS
๋ ์ํผ๋ฅผ ์ด์ฉํ์ฌ ์ฌ๊ธฐ์ด๋์์ ์๋์ ์ผ๋ก ์ถ์ฒํ๊ณ ์ ํ๋ ์์๋ฅผ ๊ฐ์ธํ์ ์ ๋ชฉํด ์ถ์ฒํ๋ ์์คํ
์ 12์์ ํ
์คํธํ ๊ณํ์ด ์์ต๋๋ค.
Campaign
์ถ์ฒ ์์คํ
์ ์ค์๊ฐ์ฑ์ ๋ถ์ฌํ๊ธฐ ์ํด์๋ ์บ ํ์ธ์ ์์ฑํด์ผ ํฉ๋๋ค. minProvisionedTPS
๋ ๋น์ฉ๊ณผ ์ง์ ์ ์ธ ์ฐ๊ด์ด ์์ผ๋ฏ๋ก ์๊ธ ํญํ์ ๋ง์ง ์์ผ๋ ค๋ฉด ์ต์๊ฐ์ 1๋ก ๋์์ผ ํฉ๋๋ค. ํ์ฌ ์๋น์ค ์ค์ด๊ธฐ ๋๋ฌธ์ ์ ํฌ๋ 15์ ๋ง์ถฐ์ ธ ์์ต๋๋ค. ์ด๋ ์ต์๊ฐ์ผ๋ก ํธ๋ํฝ์ด ๋ง์์ง๋ฉด ์๋์ผ๋ก ํ์ฅ ๋๋ ์ถ์๋์ง๋ง, ์ค์ ๊ฐ ์ดํ๋ก ์ถ์๋์ง ์์ต๋๋ค. ์บ ํ์ธ์ ์ค์๊ฐ์ผ๋ก ์ธํฐ๋์
๋ฐ์ดํฐ๋ฅผ ์ ์ฉํ๊ธฐ ์ํด์ Event Tracker๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. ์ด๋ฒคํธ ํธ๋์ปค๋ฅผ ์์ฑํ๋ฉด ARN(Amazon Resource Number)์ด ์์ฑ๋๋๋ฐ ์ด๋ฅผ putEvent
์์
์ ์คํํ ๋ ์ฌ์ฉํฉ๋๋ค. ํ์ด๋ฒคํธ ์์
์ ์ค์๊ฐ์ผ๋ก ์ธํฐ๋์
๋ฐ์ดํฐ๋ฅผ ์ ์ฉํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ API์
๋๋ค.
Filter
์ถ์ฒ ๊ฒฐ๊ณผ์ ๊ธฐ์ค์ ๋ฐ๋ฅธ ์ง์ ์ ์ธ ํํฐ๋ง์ ํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ด๋์์๋ ํ์ ๊ณผ ์นดํ ๊ณ ๋ฆฌ์ ํํฐ๋ง์ ์ ์ฉํ์ต๋๋ค. ์ดํด๋ฅผ ๋๊ธฐ ์ํด ์ถ๊ฐ๋ก ๋ง์๋๋ฆฌ๋ฉด, Filter expression์ ์์๋ ์๋์ ๊ฐ์ต๋๋ค.
INCLUDE ItemID WHERE Items.RATING >= 90
์ฌ๊ธฐ์ด๋ ๊ฐ์ธํ ์ถ์ฒ ์์คํ
์ธํฐ๋์ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ด๋ฒคํธ ํธ๋์ปค์ ์ฐ๊ฒฐํ๊ณ ์ถ์ฒ ๊ฒฐ๊ณผ๋ฅผ ์๋น์ค๊ฐ๋ฐํ์ ๋ด๋ ค์ค ์ ์๋ ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ ์ผ๋ ์งํํ์ต๋๋ค. ์๋ ๋ฐ์ดํฐ์์ด ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ ์ผ๋ ๋ณด๋ด๋ ์ผ๋ ์์ํ์ง ์์์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ๊ตฌ์ถํ์ฌ ๊ฐ ๋จ๊ณ์ ์ ๋ฐ์ดํธ๋ฅผ ์ฝ๋ํํ์์ต๋๋ค. ์๋ฃจ์ ์ ์์ฑํ๋ ์ฃผ๊ธฐ๋ 1๊ฐ์์ด๊ณ , ๋ฒ์ ์ ๋ฐ์ดํธ๋ 1์ฃผ ๋จ์๋ก ์งํ๋ฉ๋๋ค. ๋ฐ์ดํฐ ์ ์ ๋ฐ์ดํธ๋ ๋งค์ผ, ์บ ํ์ธ ์์ฑ์ ๋งค์ฃผ ์งํํ์ฌ ํ์ต์ด ์ต๋ํ ์ต์ ๋ฒ์ ์ผ๋ก ์ ์ง๋ ์ ์๋๋ก ์ค์ผ์ค๋งํ์ต๋๋ค.
ํฅํ ๊ณํ
์์ฆ ํ์ ์ผ๋ก ์งํ๋๋ โํฌ๋ฆฌ์ค๋ง์ค, ๋ฐ์ ๋๋ฌด ์ถ์ฐ๋๊นโ ์ด๋ฒคํธ ์ด์ธ์๋ ๊ฐ ์ฐํด๋ ์ง๊ฒ๋ค๋ฆฌ ํด์ผ์๋ ๊ฐ์ธ ์ถ์ฒ ์๋น์ค๋ฅผ ๋ง๋ ๋ณผ ์ ์๊ธธ ๊ธฐ๋ํ๊ณ ์์ต๋๋ค. ๋ํ, ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์ถ์ฒ๋๊ณ ์์๋ ๊ธฐ์กด ์๋น์ค์๋ ์ ๋ชฉํด ๋ ๋์ ์ถ์ฒ ์๋น์ค๋ก์ ์ ๊ทธ๋ ์ด๋์ ์ฌ์ฉ๋๊ธธ ๋ฐ๋๋๋ค.
AWS Personalize๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ธํ ์ถ์ฒ ์์คํ ์ ๊ฐ๋ฐํ๋ ค๊ณ ํ๋ ๋ถ๋ค์๊ฒ ๋์์ด ๋์๊ธธ ๋ฐ๋๋๋ค. ๊ฐ์ฌํฉ๋๋ค.