/MuTube

๐Ÿ…[AI Competition] ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ๊ธฐ๋ฐ˜ ๋…ธ๋ž˜ ์ถ”์ฒœ ์‹œ์Šคํ…œ

Primary LanguageJupyter Notebook

image

๋ชฉ์ฐจ


ํŒ€์›

์ด๋ฆ„ ์—ญํ•  ๋น„๊ณ 
์ดํ•œ๊ฒฐ ํŒ€ ์ด๊ด„ ํŒ€์žฅ
์ด์Šน๋ฏผ ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ
์ •๋ฏผ์ง€ ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ์ œ๋ชฉ ์ƒ์„ฑ
ํ•œ์šฐ์ • ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ๋ฐ ๋ถ„์„


์ฃผ์ œ

  • ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ๊ธฐ๋ฐ˜ ์ƒˆ๋กœ์šด ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ
  • ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ์ œ๋ชฉ ์ƒ์„ฑ

image


ํ•„์š”์„ฑ

1.

> ๊ธฐ์กด ํ˜‘์—… ํ•„ํ„ฐ๋ง ๋ฐฉ์‹

image

  • User-based Recommendation: ๋‚˜์™€ ์œ ์‚ฌํ•œ ์„ฑํ–ฅ์„ ์ง€๋‹Œ ์‚ฌ๋žŒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ทธ ์‚ฌ๋žŒ์ด ๋“ค์€ ๋…ธ๋ž˜๋ฅผ ์ถ”์ฒœํ•ด์คŒ

  • Item-based Recommendation: ๋‚ด๊ฐ€ ์ด์ „์— ๋“ค์€ ๋…ธ๋ž˜(ํ˜น์€ ์ข‹์•„์š” ๋ˆ„๋ฅธ ๋…ธ๋ž˜)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ทธ ๋…ธ๋ž˜์™€ ์œ ์‚ฌํ•œ ๋‹ค๋ฅธ ๋…ธ๋ž˜๋ฅผ ์ถ”์ฒœํ•ด์ฃผ๋Š” ๋ฐฉ์‹


> ํ˜‘์—… ํ•„ํ„ฐ๋ง ๋ฐฉ์‹์˜ ๋ฌธ์ œ์ 

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ ํ•  ๋งŒํ•œ ์ถฉ๋ถ„ํ•œ ์ด์šฉ์ž๊ฐ€ ๊ฐ–์ถฐ์ง„ ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

  • ์ตœ์‹  ๊ณก์˜ ๊ฒฝ์šฐ ์ด๋ฅผ ์ถ”์ฒœ ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๊ฐ€ ์Œ“์ผ ๋•Œ๊นŒ์ง€ ์ถ”์ฒœ์ด ์–ด๋ ค์›€

  • ํ˜„์žฌ ์œ ํ†ต๋˜๋Š” ์Œ์•… ์ถ”์ฒœ ํ”„๋กœ๊ทธ๋žจ์€ ๋Œ€๋ถ€๋ถ„ ์‚ฌ์šฉ์ž๊ฐ€ ์›”์ •์•ก์„ ์ด์šฉํ•˜๊ฑฐ๋‚˜, ๊ณก์„ ๊ตฌ๋งค ํ•ด์•ผ์ง€๋งŒ ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋“ฑ์˜ ๊ธˆ์ „์  ์ œ์•ฝ ์กฐ๊ฑด์ด ์กด์žฌ


> ํ˜‘์—… ํ•„ํ„ฐ๋ง ๋ฐฉ์‹์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

image

  • ์ฝ˜ํ…์ธ  ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง ๋ฐฉ๋ฒ•์„ ํ†ตํ•˜์—ฌ ๊ธฐ์กด ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ ์—†์ด ๊ณก์„ ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ์‹ ์ œ์‹œ

    • ์ฝ˜ํ…์ธ  ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง ๋ฐฉ๋ฒ•: ์ฝ˜ํ…์ธ (์Œ์•…์ •๋ณด)์— ๋Œ€ํ•œ ๋ถ„์„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ๋ถˆ๊ท ํ˜•์— ๋”ฐ๋ฅธ ์Œ์•… ์‚ฐ์—… ๋‚ด ๊ฒฉ์ฐจ๋ฅผ ํ•ด์†Œํ•  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•จ


2.

> ์ตœ๊ทผ ๋งŽ์ด ๋“ค์€ ๊ณก ๊ธฐ๋ฐ˜ ๋…ธ๋ž˜ ์ถ”์ฒœ์˜ ๋ฌธ์ œ์ 


> ์ตœ๊ทผ ๋งŽ์ด ๋“ค์€ ๊ณก ๊ธฐ๋ฐ˜ ๋…ธ๋ž˜ ์ถ”์ฒœ์˜ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

  • ๋‹จ์ˆœํ•˜๊ฒŒ ๏ผ‚์ตœ๊ทผ ๋งŽ์ด ๋“ค์€ ๊ณกโ€๊ธฐ๋ฐ˜ ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ์ œ์‹œ๊ฐ€ ์•„๋‹Œ โ€œ์‚ฌ์šฉ์ž ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ๊ธฐ๋ฐ˜โ€ ์ถ”์ฒœ ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ์ œ๊ณต

3.

> ์ž๋™ ์ƒ์„ฑ๋œ ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ์˜ ๋ฌธ์ œ์ ๊ณผ ํ•ด๊ฒฐ๋ฐฉ์•ˆ

image


๊ฐœ๋ฐœ ๊ธฐ์ˆ  ๋‚ด์šฉ ๋ฐ ์ง„ํ–‰๊ณผ์ •

์ค‘์š”ํ•œ ์†์„ฑ ํŒŒ์•…์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ง„ํ–‰

๋ฐ์ดํ„ฐ ๋ถ„์„.ipynb

  • ๊ฐ€์ˆ˜, ์†Œ์†์‚ฌ, ์„ฑ๋ณ„, ์ž‘์‚ฌ, ์ž‘๊ณก๊ฐ€์˜ ๊ฒฝ์šฐ ์ ๋ฆผ์ด ์ ๊ฒŒ ๋‚˜ํƒ€๋‚จ

  • ์ˆœ์œ„๊ฐ€ ์—†๋Š” ๋น„์œจ์ด ์ „์ฒด์˜ 75% ์ด์ƒ์„ ์ฐจ์ง€ํ•  ์ •๋„๋กœ ํฌ๋ฏ€๋กœ ์ตœ๊ณ  ์ˆœ์œ„๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์„ ์˜ˆ์ •


์ถ”์ฒœ ์‹œ์Šคํ…œ ๋ชจ๋ธ ํ›ˆ๋ จ ๋ฐฉ๋ฒ•

image

์ตœ์ข…๋ชจ๋ธ+๊ธฐ๋Šฅ์‹œ์—ฐ.ipynb: ๋ฐ์ดํ„ฐ ๋ถ„์„ ~ ์™„๋ฃŒ๋œ ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๋ถ€๋ถ„ ์ฐธ์กฐ

1. ๋ฐ์ดํ„ฐ ์ •์ œ

  • ์ผ๋ณธ์–ด ๊ฐ€์‚ฌ, ์ค‘๊ตญ์–ด ๊ฐ€์‚ฌ ์‚ญ์ œ

    • ๊ฐ€์‚ฌ ๋ฐ์ดํ„ฐ๋กœ ํ•œ๊ตญ์–ด ํ˜•ํƒœ์†Œ ๋ถ„์„์„ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ๋ง ์˜ˆ์ •์ด๊ธฐ ๋•Œ๋ฌธ
  • ์Œ์•…์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ(ex. ์ฝ˜์„œํŠธ ๋Œ€๋ณธ) ์‚ญ์ œ

  • ๊ฐ€์‚ฌ๊ฐ€ N/A ๊ฐ’์ธ ๋ฐ์ดํ„ฐ ์‚ญ์ œ -N/A: Not Applicable ๋˜๋Š” Not Available, ํ•ด๋‹น ์—†์Œ/๊ณต๋ž€ ์˜ ์˜๋ฏธ

    • ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋‹จ๊ณ„์—์„œ๋Š” ๊ฐ€์‚ฌ๋งŒ ์‚ฌ์šฉ๋จ
  • ์ค‘๋ณต๋œ ๊ฐ€์‚ฌ ์ œ๊ฑฐ

  • ์ด๋ชจํ‹ฐ์ฝ˜์„ ํฌํ•จํ•œ ํŠน์ˆ˜๋ฌธ์ž ๋ชจ๋‘ ์ œ๊ฑฐ

    • ์ •๊ทœ์‹ ์ด์šฉ
  • ์•„๋ฌด๊ฒƒ๋„ ๋‚จ์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ N/A๋กœ ๋ณ€๊ฒฝ

  • N/A ๊ฐ’ ๋ชจ๋‘ ์ œ๊ฑฐ

2. ํ† ํฌ๋‚˜์ด์ง•

  • ๋ถˆ์šฉ์–ด ์ง€์ • - ๋ถˆ์šฉ์–ด: ํ† ํฐํ™”๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋‚œ ๋’ค ์˜๋ฏธ์  ๊ธฐ๋Šฅ์„ ์ƒ์‹คํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด ์ œ๊ฑฐํ•˜๋Š” ํ˜•ํƒœ์†Œ

  • Okt ํ˜•ํƒœ์†Œ ๋ถ„์„๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜•ํƒœ์†Œ ๋‹จ์œ„๋กœ ๋‹จ์–ด ๋ถ„๋ฅ˜ ๋ฐ ์ผ์ • ์ˆ˜์ค€์˜ ์ •๊ทœํ™” ์ง„ํ–‰

3. Doc2Vec

๋ฌธ์žฅ์„ ๋ฒกํ„ฐํ™”ํ•˜๋Š” Word2vec์˜ ๋ฐฉ์‹์„ ํ™•์žฅํ•˜์—ฌ paragraph(๋ฌธ๋‹จ, ์ด ๋ชจ๋ธ์—์„œ๋Š” ๋…ธ๋ž˜ ๊ฐ€์‚ฌ ์ „์ฒด)๋ฅผ ๋ฒกํ„ฐํ™” ํ•˜๋Š” ๋ฐฉ์‹

  • Gensim์—์„œ doc2vec์™€ TaggedDocument๋ฅผ ๋ถˆ๋Ÿฌ์™€ ์‚ฌ์šฉ
  - Gensim: ๋ฌธ์„œ ์‚ฌ์ด์˜ ์œ ์‚ฌ๋„ ๊ณ„์‚ฐ๊ณผ ํ…์ŠคํŠธ ๋ถ„์„์„ ๋•๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  - TaggedDocument: ๋ณธ ๋‹จ๊ณ„ ์ดํ›„ ํด๋Ÿฌ์Šคํ„ฐ๋ง์˜ ์ •ํ™•๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ Document(ํ† ํฐํ™”๋œ ๋‹จ์–ด ๋ฐ์ดํ„ฐ)์— tag๋ฅผ ๋‹ฌ์•„์คŒ
  • ์ฃผ์š” hyperparameter๋Š” vector size = 100, window = 3, epoch = 40, min_count = 0์„ ์‚ฌ์šฉ
vector_size:  ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ์˜ ํฌ๊ธฐ, ๋ฒกํ„ฐ ์‚ฌ์ด์ฆˆ๊ฐ€ ํด ์ˆ˜๋ก ์ƒ์„ฑ๋œ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์ด ์ •๊ตํ•ด์ง€๋‚˜ ํ›ˆ๋ จ ์‹œ๊ฐ„ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง
window: ํ›ˆ๋ จ์‹œ ์•ž ๋’ค๋กœ ๊ณ ๋ คํ•˜๋Š” ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜, ์‚ฌ์ด์ฆˆ๊ฐ€ ์ปค์ง€๋ฉด ํ›ˆ๋ จ ์‹œ๊ฐ„ ์ฆ๊ฐ€
epochs: ๋ฐ˜๋ณต ํšŸ์ˆ˜
min_count: ๋ฐ์ดํ„ฐ์— ๋“ฑ์žฅํ•˜๋Š” ๋‹จ์–ด์˜ ์ตœ์†Œ ๋นˆ๋„์ˆ˜ โ€“ word2vec/doc2vec๋Š” ์ž์ฃผ ๋“ฑ์žฅํ•˜์ง€ ์•Š๋Š” ๋‹จ์–ด์— ๋Œ€ํ•ด์„œ๋Š” ์ œ๋Œ€๋กœ ํ•™์Šต์ด ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋Š”๋ฐ, ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ๋Š” ๋ชจ๋“  ๋‹จ์–ด ๊ณ ๋ คํ•จ

4. ํด๋Ÿฌ์Šคํ„ฐ๋ง

๋น„์ง€๋„ ํ•™์Šต์œผ๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ช‡ ๊ฐœ์˜ ๋‹จ์œ„๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ์ž‘์—…

  • ๋ช‡๋ช‡ ํด๋Ÿฌ์Šคํ„ฐ๋ง์€ hyperparameter๋กœ ๋ช‡ ๊ฐœ์˜ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ฐฐ๋ถ„ํ•  ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•ด ์ฃผ์–ด์•ผ ํ•จ

  • ๋”ฐ๋ผ์„œ, Hierarchical Clustering์„ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ๋ง์˜ ๊ฒฝํ–ฅ์„ฑ์„ ํ™•์ธํ•œ ๋’ค, ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ •ํ–ˆ์Œ

    • Hierarchical Clustering : ๋ด๋“œ๋กœ๊ทธ๋žจ(Dendrogram, ๊ณ„์ธต์  ํŠธ๋ฆฌ ๋ชจํ˜•) ์„ ์ด์šฉํ•˜์—ฌ ๊ฐœ๋ณ„ ๊ฐœ์ฒด๋“ค์„ ์ˆœ์ฐจ์ , ๊ณ„์ธต์ ์œผ๋กœ ์œ ์‚ฌํ•œ ๊ฐœ์ฒด์™€ ํ†ตํ•ฉํ•˜์—ฌ ๊ตฐ์ง‘ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜, ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ˆ˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ์•Œ์•„์„œ ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ˆ˜ํ–‰

    • ๋ด๋“œ๋กœ๊ทธ๋žจ์„ ์ ์ ˆํ•œ ์ˆ˜์ค€์—์„œ ์ž๋ฅด๋ฉด ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ๋ช‡ ๊ฐœ์˜ ๊ตฐ์ง‘์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๊ฒŒ ๋จ image

  • Hierarchical Clustering์„ ํ†ตํ•˜์—ฌ ์ •๋ณด (n=10)์„ ๊ฐ€์ง€๊ณ  bottom up(์•„๋ž˜-->์œ„) ๋ฐฉ์‹์˜ Hierarchical Agglomerative clustering(๋ณ‘ํ•ฉ ๊ตฐ์ง‘)์„ ์ˆ˜ํ–‰

    • Agglomerative clustering: top down ๋ฐฉ์‹์ธ hierarchical clustering ๋ฐฉ์‹๊ณผ ๋ฐ˜๋Œ€๋กœ(bottom up) ์ง„ํ–‰๋˜์ง€๋งŒ ๊ฒฐ๊ณผ๊ฐ’์€ ๋น„์Šทํ•จ

์ œ๋ชฉ ์ƒ์„ฑ ์‹œ์Šคํ…œ ๋ชจ๋ธ ํ›ˆ๋ จ ๋ฐฉ๋ฒ•

image


ํ”„๋กœ์ ํŠธ ์ผ์ •

์ง„ํ–‰ ์ƒํ™ฉ

  • ๊ณ„ํš ์„ค์ •: 9/17~10/10
  • ๊ธฐ๋ณธ ์„ค๊ณ„: 9/29~11/12
  • ์ƒ์„ธ ์„ค๊ณ„: 11/03~11/16
  • ๊ตฌํ˜„: 11/16~11/27
  • ์ตœ์ข… ๋ฐœํ‘œ ์ค€๋น„: 11/27~12/02