1οΈβ£ μΆμ²μμ€ν
β μΆμ² μμ€ν
π μ μ
- information filtering technique : μ΄λ ν μ¬λμ΄ κ΄μ¬μμ κ² κ°μ κ²λ€μ μ 곡νλλ‘ μ 보λ₯Ό filtering νλ κΈ°λ²
π νμ©
β μ΄μ»€λ¨Έμ€, κ΄κ³ , (μ νλΈ μμ) μΆμ²
- λΉμ·ν μ·¨ν₯ similar taste μ κ°μ§ μ¬λλ€μ΄ λ΄€λ κ²μ/ꡬ맀νλ κ²μ κ΄κ³ /μΆμ²λͺ©λ‘μΌλ‘ 보κ²λ¨
- β μΆμ²μμ€ν μ λ₯λ¬λ λ€νΈμν¬λ₯Ό νλ°νκ² μ¬μ©νκ³ μλ€
π ꡬ쑰
- Candidate generation : μ μ μ μ·¨ν₯μ κ³ λ €νμ¬ κ±°λν corpus (μ μ , λ°©λν λΉλμ€ ν΄λ¦½ λ±) λ‘λΆν° μΆμ² ν보ꡰμ μ°μΆνλ€.
- Scoring : ν보ꡰ μ€μμ μ μ κ° μ€μ λ‘ λ³Όλ²ν μΆμ² κ²μλ¬Όμ λ€μ μ ννκΈ° μν΄ μ νν μ ν μμλ€μ μ μννλ€.
- Re-ranking : μ«μ΄μ μ, λ€μμ±, μλ‘μ λ±μ κΈ°μ€μΌλ‘ μ΅μ’ μΆμ² κ²μλ¬Όλ€μ λν΄ μμλ₯Ό μ‘°μ νλ€.
π Candidate generation μμ DNN μ΄ νμ©λκ³ , Scoring κ³Ό Re-Ranking λ Hand-engineering κ³Όμ μΌλ‘ μ΄λ£¨μ΄μ§λ€. νΉμ target μ μν μΆμ²μμ€ν λ§λ€ μκ³ λ¦¬μ¦μ΄ λ€λ₯΄λ€.
β‘ Candidate Generation approaches
π CB
- Contents based filtering : item κ°μ μ μ¬λλ₯Ό μΈ‘μ ν΄ μ μ κ° μ’μνλ item κ³Ό μ μ¬ν item μ μΆμ²νλ λ°©λ²μ΄λ€.
- item : μΆμ² λμλ€ (μμ, κ΄κ³ , μ ν λ±)
- ex. Aκ° item1 μ μ’μνλ€λ©΄, κ·Έμ λΉμ·ν item2 λ₯Ό μΆμ²ν΄μ€λ€.
π CF
- collaborative filtering : item κ³Ό query κ°μ μ μ¬λλ₯Ό μΈ‘μ νμ¬ μΆμ²ν΄μ£Όλ λ°©μμ΄λ€.
- query : μΆμ²ν λ μ¬μ©νλ μ 보λ€μ μλ―Ένλ€. μ μ μ μ±λ³/λμ΄/νμ€ν 리/νΌλλ°± λ±μ΄ μ‘΄μ¬νλ€.
- CB λ³΄λ¨ μ 보λ₯Ό λ§μ΄ κ³ λ €νκΈ° λλ¬Έμ μΌλ°μ μΌλ‘ μ±λ₯μ΄ λ μ’λ€.
- ex. μ μ A μ μ μ B κ° λΉμ·ν μ·¨ν₯μ κ°μ‘μ λ, Bκ° item2 λ₯Ό μ’μνλ€λ©΄, A μκ²λ κ·Έ μ νμ μΆμ²ν΄λ³Έλ€
π Query μ Item μ μ μ¬λλ₯Ό μΈ‘μ νλ λ°©λ²
- s(q,x) : query μ item μ΄ κ°μ μλ² λ© κ³΅κ°μ μμΉν λ, query μ item κ°μ μ μ¬λλ₯Ό μλ―Ένλ€.
πΉ Method 1. Cosine
πΉ Method 2. Dot product
- frequency λ₯Ό κ³ λ €νλ€λ μΈ‘λ©΄μμ λ§μ΄ μ¬μ©λλ λ°©μμ΄λ€.
- item μ΄ μλ² λ©λλ©΄, μμ£Ό ꡬ맀/λ³Έ item μ 벑ν°μ κΈΈμ΄κ° ν΄ κ°λ₯μ±μ΄ λμλ°, μ΄λ₯Ό κ³ λ €ν΄μ€ μ μλ€.
- μμ£Ό λμλ item λ€μ μμ£Ό μΆμ²λ κ°λ₯μ±μ΄ λλ€.
πΉ Method 3. Euclidean distance
2οΈβ£ Contents-based filtering
β CB
π μ μ κ° μ’μνλ μμ΄ν κ³Ό λΉμ·ν μμ΄ν μ μΆμ²νλ λ°©μ
- item μ νννκΈ° μν feature λ μ¬λμ΄ μ§μ μ€κ³νλ€ : hand - engineered feature
- β μ μ A κ° item 4 λ₯Ό μ’μνλ€λ©΄, dot product λ₯Ό ν΅ν μ μ¬λ μΈ‘μ λ°©μμΌλ‘ κ°μ₯ μΆμ²ν΄μ€λ§ν item μ 무μμΈκ°?
β‘ νκ³μ
π hand-engineered feature
- item μ νννκΈ° μν feature λ₯Ό μ¬λμ΄ μ§μ μ€κ³ν΄μΌ νλ―λ‘ Domain-specific knowledge κ° μμ΄μΌνλ€.
- feature λ₯Ό μ΄λ»κ² μ€κ³νλλμ λ°λΌ μΆμ²μμ€ν μ μ±λ₯μ΄ μ’μ§μ°μ§ν¨
- No use of embeddings
- ex. movie → μνμ λν μ₯λ₯΄/κ°λ ..λ±λ± μ μκ³ μμ΄μΌ feature μμ±μ΄ κ°λ₯
π Only based on existing interests of the user
- μ μ κ° μ΄λ―Έ κ°μ§κ³ μλ interest λ§μ κΈ°λ°μΌλ‘ μΆμ²νκΈ° λλ¬Έμ λ€λ₯Έ μμλ€μ΄ κ³ λ €λμ§ μμ (μ μ μ past history λ§ κ³ λ €νλ―λ‘ μΆμ² κ°μ§μκ° μ νλ¨)
3οΈβ£ Collaborative filtering
β CF
π query μ item μ λμμ κ³ λ €νμ¬ μ μ¬λλ₯Ό κ΅¬ν΄ μΆμ²νλ λ°©μ
- β μλ² λ©μ κΈ°κ³κ° μ§μ νμ΅ν¨
- feature λ₯Ό λ§λλλ° μΈκ°μ΄ μ§μ μ€κ³νμ§ μμλ λλ€.
β‘ query μ value ννλ°©μ
π representation
- Sparse representation : μ΄κΈ°μ item κ³Ό query κ°κ°μ μν«λ²‘ν°λ‘ μ΄λ£¨μ΄μ Έ μλ€.
- Dense representation : item κ³Ό query κ°κ°μ μλ² λ© λ²‘ν°λ‘ νννκ² λλ©΄ λΉμ·ν item λ€λΌλ¦¬ λΉμ·ν μλ² λ© κ³΅κ°μ μμΉνκ² λλ€.
π 1-D embedding
- 1D embedding : Item , query μλ² λ©μ scalar κ°μΌλ‘ νννλ λ°©λ²
- Ex. item μ λν΄μλ μμ΄λ€μ΄ 보기 μ ν©ν μνμ μ΄λ₯Έμ΄ 보기 μ ν©ν μνμ μνλ μ λμ λ°λΌ -1~1 μ¬μ΄μ κ°μ λΆμ¬νκ³ user(query) μ λν΄μλ ν΄λΉ κΈ°μ€μ μν μνμ μ νΈλλ₯Ό λ°νμΌλ‘ κ°μ λΆμ¬νλ€.
- μμ μ€λͺ μμλ μ¬μ΄ μ΄ν΄λ₯Ό μν΄ Children κ³Ό Adult feature λ₯Ό 보μ¬μ£Όμμ§λ§, μλ² λ© νν λ°©μμμλ μ΄ feature μ체λ₯Ό κΈ°κ³κ° μ€μ€λ‘ μ€κ³νλ€.
π 2-D embedding
- item κ³Ό user κ° κ°μ μλ² λ© κ³΅κ°μμ μμΉνλ€.
π N-D embedding
- 벑ν°μ ν¬κΈ°κ° ν΄μλ‘ λ λ§μ feature μμλ€μ κ³ λ €ν μ μλ€.
- κΈ°κ³κ° μ§μ μλ² λ© λ²‘ν°λ₯Ό κ³μ°νλ€ π dim feature λ κΈ°κ³κ° νμ΅νμ¬ λμΆνλ€. μΆμμ 곡κ°μμ κΈ°κ³κ° μΆμ²μ΄ μ μ΄λ£¨μ΄μ§λλ‘ νλ μλ² λ© ν μ΄λΈμ νμ΅ κ²°κ³Όλ‘ λ΄λλλ€.
- item κ³Ό query 벑ν°λ κ°μ μλ² λ© κ³΅κ° λ΄μ μ‘΄μ¬νλ€.
β‘ Embedding νλ ¬μ μ»λ λ°©λ²
- If user is represented by one-hot vectors, these tables become embedding matrices π user κ° μν«λ²‘ν°λ‘ ννλλ€λ©΄ μλ² λ© ν μ΄λΈμμ lookup μ νλ λ°©μμΌλ‘ μλ² λ© λ²‘ν°λ‘ μ½μ΄μ¬ μ μλ€.
π λ°©λ²1. matrix multiplication
- μ ν΅μ μΈ κΈ°κ³νμ΅ λ°©λ² (SVD) μ ν΄λΉνλ€.
π¨ Feedback matrix λ₯Ό μ»λλ€
- feedback matrix : μ μ κ° κ° item μ λν΄ μ΄λ€ νΌλλ°± (νμ , μ’μμ μ λ±) μ μ£Όμλμ§μ κ΄ν νλ ¬
- implicitly by looking at past history of users : ν΄λΉ μνλ₯Ό λ΄€λ€λ©΄ 1, μλλ©΄ 0 μ²λΌ κ°μ μ μΌλ‘ μ μΆν΄μ μ»λ νΌλλ°± λ΄μ©μ ν΄λΉ
- explicitly by collecting a direct feedback from users (likes & dislikes) : user κ° μ§μ μ μΈ μ견μΌλ‘ νΌλλ°±μ μ£Όλ κ²½μ°μ ν΄λΉ
π¨ Item κ³Ό user embedding matrix λ₯Ό μ€λΉνλ€.
- item embedding matrix : nκ°μ item, μλ² λ© μ°¨μ d (dλ μ¬λμ΄ μ§μ μ€μ ν΄μ£Όμ΄μΌ ν¨)
- user embedding matrix : m λͺ μ user, μλ² λ© μ°¨μ d
π¨ Item κ³Ό user embedding matrix λ₯Ό λ΄μ νλ€.
π¨ UV' νλ ¬μ feedback matrix νλ ¬ A μ κ·Όμ νκ² λ§λ λ€.
- λ νλ ¬μ approximation νλ κ³Όμ μ μλμ κ°μ΄ optimization problem μΌλ‘ μ μν μ μλ€.
π νκ³μ
- The difficulty of using any features beyond queries and items present in the training set π νλ ¨λ°μ΄ν°μ μ μ‘΄μ¬νλ query, item μ΄μΈμ λ€λ₯Έ νΌμ²κ° μ λ ₯λλ€λ©΄ μ΄μ λν΄μλ μλ‘κ² λ€μ μλ² λ© ν μ΄λΈμ λ§λ€μ΄μ matrix factorization μ ν΄μ£Όμ΄μΌ νλ€. ex. query = (user gender, user age) ← user mbti feature λ₯Ό μΆκ°νλ κ²½μ°
- μΈκΈ°μλ item λ€μ λͺ¨λ μ¬λλ€μκ² μΆμ²λλ κ²½ν₯μ΄ μλ€ π user specific ν μ 보λ€μ νλ ¨μ ν¬ν¨μ΄ μ΄λ ΅κΈ° λλ¬Έμ κ°μΈνλ μΆμ²μ΄ μ΄λ ΅λ€.
κ·Έλ¬λ, λ₯λ¬λ λ°©λ²μ input μ λν μ μ°μ±μ΄ μ‘΄μ¬νλ€.
π λ°©λ²2. DNN
- input μΌλ‘ μ΄λ ν feature λ flexible νκ² λ£μ μ μλ€.
- Output μ ν΄λΉ μΆμ² λμμ ꡬ맀/μμ²ν νλ₯ κ°
- input ννμ μ μ°μ±μ΄ μ‘΄μ¬νλ©° training κ³Όμ μμ λ°μνλ λΆμ°λ¬Όλ€μ΄ μμ μΈκΈν μλ² λ© λ²‘ν°κ° λλ€.
- y : query x μ λν μλ² λ© λ²‘ν° , (1xd) μ°¨μ
- V : μννΈλ§₯μ€λ₯Ό κ±°μΉκΈ° μ μ μ¬μ©νλ μλ² λ© νλ ¬ , (d,n) μ°¨μ
- p = softmax(yV') : (1xn) μ°¨μ
- n : item κ°μ
- d : embedding μ°¨μ
'1οΈβ£ AIβ’DS > π Deep learning' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μΈκ³΅μ§λ₯] Reinforcement Learning (0) | 2022.06.14 |
---|---|
[μΈκ³΅μ§λ₯] GNN (0) | 2022.06.14 |
[μΈκ³΅μ§λ₯] GAN (0) | 2022.06.13 |
[μΈκ³΅μ§λ₯] Transformer Models (0) | 2022.06.11 |
[μΈκ³΅μ§λ₯] NLP (0) | 2022.06.10 |
λκΈ