[AWS] Personalize: ์์
AWS Personalize๋ ๊ฐ์ธํ์ ์ต์ ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋จธ์ ๋ฌ๋ ์๋น์ค๋ค.
๊ฐ์ฅ ๋ํ์ ์ธ ์ฌ์ฉ๋ก๋ฅผ ๋ ๋ค๋ฉด, ์ถ์ฒ์ํ ๋ชฉ๋ก์ ๋์์ฃผ๋ ๊ฒ์ด ์๊ฒ ๋ค.
์ฌ์ฉ์๊ฐ ์ด๋ค ์ํ์ ๋ณด๊ณ , ์ฐํ๊ณ , ๊ตฌ์
ํ๋์ง๋ฅผ ์์งํด์ ๊ทธ ์ํ๋ค๊ณผ ๊ด๋ จ์๋ ์ํ๋ค์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ด๋ค.
์๋นํ ๋จ์ํ๊ฒ ์ ํํ๋์ด์์ด์, ๋จธ์ ๋ฌ๋ ์ง์ ์์ด๋ ํฐ ์ด๋ ค์ ์์ด ์ฌ์ฉํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
๋ค๋ง, ์ค์๊ฐ์ผ๋ก ํ์ต๋ฐ์ดํฐ๋ฅผ ๋ณ๋์ํฌ ์ผ์ด ๋ง๋ค๋ฉด, ๋น์ฉ์ด ์๋นํ ๊นจ์ง ์ ์๋ค.
๋ด ๊ฒฝ์ฐ์๋ ๋งค์ผ๋ง๋ค ์์ญ๋ง๊ฐ์ ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ณ์ ๊ฐฑ์ ์ํค๋ ์์
์ ํ๋๋, ํ๋ฌ์ด 700 ๋ฌ๋ฌ ๊ฐ๊น์ด๊ฐ ๊นจ์ก๋ค.
๋ฐ์ดํฐ ์ค๋น ๋ฐ ๋ฐ์์
ํ
์คํธ์ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ ์ฌ๊ธฐ์ ๋ฐ์๋ณด์
http://files.grouplens.org/datasets/movielens/ml-latest-small.zip
์๋์ 4๊ฐ์ง csv ํ์ผ์ด ์กด์ฌํ๋ค.

์ฌ๊ธฐ์ rating์ ์๋์ ๊ฐ์ด ๋ฐ๊ฟ์ฃผ์.
์ด๋ค ์ฌ์ฉ์๊ฐ ์ด๋ค ์์ดํ
(์ํ)๋ฅผ ๋ดค๋์ง๋ฅผ ๊ธฐ๋กํ ์ํธ์์ฉ ๋ฐ์ดํฐ๋ค.

movies๋ก ๋ฐ๊ฟ์ฃผ๊ฒ ๋ค.
์ค์ ์ํ์ ๋ํ ๋ฐ์ดํฐ ๋ชฉ๋ก์ด๋ค.

๊ทธ๋ฆฌ๊ณ S3์ ์ ๋ก๋ํ๋ค.

๊ทธ๋ฆฌ๊ณ ํผ์ค๋๋ผ์ด์ฆ์์ S3์ ์ ๊ทผํ ์ ์๊ฒ, ์ ๋ฒํท์ ๊ถํ์ ์ถ๊ฐํด์ค๋ค.
์ ๊ธฐ์ ๋ฒํท ์ ์ฑ
์
์ด๋ฐ ์์ผ๋ก ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
{
"Version": "2012-10-17",
"Id": "PersonalizeS3BucketAccessPolicy",
"Statement": [
{
"Sid": "PersonalizeS3BucketAccessPolicy",
"Effect": "Allow",
"Principal": {
"Service": "personalize.amazonaws.com"
},
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::๋ฒํท๋ช
",
"arn:aws:s3:::๋ฒํท๋ช
/*"
]
}
]
}
Personalize์ ๊ถํ์ ์ฃผ๋ ๋ฐฉ์์ด ์๋๋ผ S3์์ ์ด์ด์ฃผ๋ ํ์์ด๋ ์ ์ ์ ์ํ๋ค.
๊ทธ ๋ฐ๋๋ ์๋๋ค.
๋ฐ์ดํฐ๊ทธ๋ฃน ์์ฑ
์ด๊ฑด ํ์ต์ ํ์ํ ์ด๊ธฐ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ฃผ๋ ๋ถ๋ถ์ด๋ค.
ํ๋ฒ ๋ฃ๊ณ ๋๋ฉด ๋ค์ ์ฌ์ฉํ์ง ์๋๋ค.
์ด์ Personalize์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ ๊ทธ๋ฃน ์์ฑ์ ํด๋ฆญํ๋ค.

๊ทธ๋ผ ๋์ถฉ ์ ๋ ๊ฒ ๋ฐ ๊ฒ์ธ๋ฐ,
์ด๋ฆ์ ์ ์ง๊ณ ์คํค๋ง๋ฅผ ์ ์ํด์ค๋ค.
์ฌ๊ธฐ์๋ ์๊น์ rating์ ๋ฃ์ด์ค ๊ฒ์ด๋ผ์, fields์ RATING๋ง ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ฌ๋ฉด ๋ฐ์ดํฐ ๊ทธ๋ฃน์ด ์์ฑ๋๊ณ ๋ค์๊ณผ ๊ฐ์ ๋์๋ณด๋ ํ์ด์ง๊ฐ ๋ฐ ๊ฒ์ธ๋ฐ
User-Item Interfaction ๋ฐ์ดํฐ๋ฅผ ๋จผ์ ์ํฌํธํด์ค์ผ ํ๋ค.
๋ง ๊ทธ๋๋ก "์ด๋ค ์ฌ์ฉ์๊ฐ ์ด๋ค ์ํ์ ๊ด์ฌ์ ๊ฐ์ก๋์ง" ๋ฑ์ ๋ํ ๊ด๊ณ๋ฅผ ์ ์ํ๋ ๋ฐ์ดํฐ๋ค.
์๊น RATING์ ๋ง์ถฐ์ ์ด๋ ๊ฒ ํด์ฃผ๋ฉด ๋๋ค.

์ฌ๊ธฐ์ USER_ID์ ITEM_ID, TIMESTAMP๋ ํ์ ํ๋๋ค.
์๋ฃ์ผ๋ฉด ๋ฐฑ๋ง๋
๋์ ์๋๋ค๊ณ ํ๊ธธ ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ์คํ์ญํ ๊ณผ ์ฝ์ด์ฌ csv ํ์ผ์ ์ ์ง์ ํด์ค๋ค.

๊ทธ๋ผ ์ด์ ๋ฐ์ดํฐ์ ์ ์์ฑํ ๊ฒ์ธ๋ฐ, ์๊ฐ์ด ์กฐ๊ธ ๊ฑธ๋ฆด ์ ์๋ค.

๊ทธ๋ผ ์ด์ ์๋ฃจ์ ์ ์์ฑํ ์ ์๊ฒ ๋๋ค.

์๋ฃจ์ ์์ฑ
๊ทธ๋ผ ์ด์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด์ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ ์ ์๋๋ฐ, ๊ทธ ๋จ์๊ฐ ์๋ฃจ์
์ด๋ค.
์ ๊ธฐ ์๋์ ๋ ์ํผ๋ผ๊ณ ์ ํ์๋๊ฒ ์๊ณ ๋ฆฌ์ฆ์ ์ข
๋ฅ๋ค.

๋ ์ผ๋จ aws-user-personalize ๋ ์ํผ๋ฅผ ์ฌ์ฉํด๋ณด๊ฒ ๋ค.
์ด๊ฑด ์ฌ์ฉ์์ ์ํธ์์ฉ์ ์์ธกํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ ํ๋ค.

์ ๊ณจ๋ผ์ ์์ฑํ๋ค.

์บ ํ์ธ ์์ฑ
์๋ฃจ์
์ ์ ๋ง๋ค์๋ค๋ฉด ์ด์ ์บ ํ์ธ์ ๋๋ฆด ์ ์๋ค.
์ด ์บ ํ์ธ์ด ์ค์ ํ์ต ๋จ์๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
์ด๊ฑธ๋ก ํ์ต์ ์์ผ๋์ผ๋ฉด, ์์ผ๋์ ๊ฒฐ๊ณผ๋ฅผ ์กฐํํ ์ ์๋ค.

์บ ํ์ธ์ ์์ฑํ๊ณ


์บ ํ์ธ์ด ์ฑ๊ณต์ ์ผ๋ก ๋ง๋ค์ด์ก๋ค๋ฉด, ์ด์ ์ ๊ธฐ์ ์บ ํ์ธ ๊ฒฐ๊ณผ๋ฅผ ํ ์คํธํด๋ณผ ์ ์๋ค.
๋ณด๋ฉด ์ฌ์ฉ์ ID๋ฅผ ๋ฃ์ผ๋ผ๊ณ ํ๋๋ฐ
๊ทธ๋ผ ์ด๋ ๊ฒ ์์ดํ ์ ๋ํ ์ถ์ฒ ์์๋ฅผ ๋ณด์ฌ์ค๋ค.
๊ทธ๋ ๋ค.
๋ค์ ํฌ์คํธ์์๋ ์ค์๊ฐ ํ์ต, ๋ค๋ฅธ ๋ ์ํผ๋ค์ ์ฌ์ฉ๊ณผ, ๊ด๊ณ๋ฅผ ์ฎ๋ ๋ฐฉ๋ฒ ๋ฑ์ ๋ํด ๋ค๋ค๋ณด๊ฒ ๋ค.