π¬ μ΅λν 맀λλ½κ² ν΄μνκ³ μ λ Έλ ₯νμ§λ§ μ΄μν λ¬Έμ₯μ΄ μμ μ μμ΅λλ€. νΌλλ°±μ μΈμ λ νμμ λλ€ π
μλ³Έ κΈ μ£Όμ : https://towardsdatascience.com/word2vec-research-paper-explained-205cb7eecc30
μλ‘
λ§μ NLP νμ© μ¬λ‘μμ, λ¨μ΄λ μλ‘ κ°μ κ΄κ³λ₯Ό ν¬μ°©νμ§ μλ μ-ν« μΈμ½λ©μΌλ‘ ννλλ€. μ-ν« μΈμ½λ©μ μ¬μ©νλ μ΄μ λ "κ°λ¨ν¨, κ²¬κ³ ν¨κ³Ό λλμ λ°μ΄ν°λ‘ νλ ¨λ κ°λ¨ν λͺ¨λΈμ΄ μλμ λ°μ΄ν°λ‘ νλ ¨λ 볡μ‘ν λͺ¨λΈλ³΄λ€ λ μ’μ μ±λ₯μ 보μΈλ€λ κ΄μ°° κ²°κ³Ό" λλ¬Έμ΄λ€.
κ°λ¨ν λͺ¨λΈμ μμλ N-gram λͺ¨λΈμ΄ λ μ μλ€. μ΄λ¬ν λͺ¨λΈμ iλ²μ§Έ μμΉμ λ¨μ΄κ° i-(n-1)λ²μ§Έ λ¨μ΄μμ (i-1)λ²μ§Έ λ¨μ΄κΉμ§μ μ΄λ ₯μ μμ‘΄νλ€κ³ κ°μ νλ λ§λ₯΄μ½ν λͺ¨λΈμ΄λ€. μ΄ μ κ·Όλ²μ νμ΅ μ½νΌμ€μμ νμλ λΉλ κΈ°λ° μ κ·Ό λ°©λ²μ΄λ€. νμ§λ§ μ΄λ¬ν κ°λ¨ν λͺ¨λΈμ μ΄μ©ν μ μλ κ³ νμ§μ λ°μ΄ν°λ₯Ό νμλ‘ ν λκ° μ’ μ’ μμΌλ©° νμ΅λμ§ μμ λ°μ΄ν°μ λν΄ μΌλ°νκ° μ΄λ ΅λ€.
νμ§λ§ κΈ°κ³ νμ΅ μμμ λ°μ μΌλ‘ λλμ λ°μ΄ν°μ μ λν΄ νμ΅λ 볡μ‘ν μκ³ λ¦¬μ¦μ λ¨μν λͺ¨λΈλ³΄λ€ μ±λ₯μ΄ μ°μνλ€.
Word2Vec λͺ¨λΈμ λ¨μ΄ κ°μ ꡬ문μ /μλ―Έμ μ μ¬μ±μ λͺ¨λ ν¬μ°©νλ€. νμ΅λ Word2Vec 벑ν°μ λν΄ μ μλ €μ§ λμμ μΈ μμ μ€ νλλ λ€μκ³Ό κ°λ€.
Vector("μ")-Vector("λ¨μ")=Vector("μ¬μ")-Vector("μ¬μ")
λ¨μ΄μ λ²‘ν° ννμ λν μ΄μ μ μ κ·Ό λ°©λ²λ€
μ΄ μΉμ μ μ κ²½λ§μ μ¬μ©νμ¬ λ¨μ΄λ₯Ό 벑ν°λ‘ νννλ μ΄μ μ μ κ·Ό λ°©μμ μ΄μ μ λ§μΆκ³ μλ€.
1. Neural Network Language Model(NNLM) [Bengio, Yoshua et al.]
λ¨μ΄ μλ² λ©μ μν μ ν ν¬μ λ μ΄μ΄μ μΆλ ₯μΈ΅ μ΄νμ λΉμ ν μλμΈ΅μΌλ‘ ꡬμ±λ λ λ¨κ³ μΈμ΄ λͺ¨λΈμ΄λ€. λ¨μ΄ 벑ν°μ μΈμ΄ λͺ¨λΈ λͺ¨λ NNLM μμμ λμμ νμ΅λλ€.
NNLM λͺ¨λΈμ μ λ ₯μΈ΅, ν¬μμΈ΅, μλμΈ΅κ³Ό μΆλ ₯μΈ΅μΌλ‘ μ΄λ£¨μ΄μ Έ μλ€. νμ΄νΌνλΌλ―Έν° Nμ λ€μ λ¨μ΄ μμΈ‘μ μν΄ νμ¬ λ¨μ΄λΆν° λͺ κ°κΉμ§μ λ¨μ΄λ₯Ό λ΄μΌ νλμ§ κ²°μ νλ€. μ λ ₯μΈ΅μμ λ¨μ΄λ ν¬κΈ° Vμ μ-ν« μΈμ½λ©μΌλ‘ μΈμ½λ©λλ€. νλ ¬ Cλ N×D μ°¨μ(Dλ μλ² λ© μ¬μ΄μ¦)μ κ°λ shared projection matixλ€. μλμΈ΅μ ν¬μμΈ΅μ denselyνκ² μ°κ²°λλ€.
** Shared projection matrixμ μλ―Έλ μμ§ μ λͺ¨λ₯΄κ² λ€.
*** β : μλ¬Έ the projection layer which leads to the weights matrix of N×D×H from projection to hidden layerμμ leads to ~ ν΄μμ΄ κΉλνκ² μλ¨
μλ 벑ν°λ₯Ό μμ±ν ν μΆλ ₯μΈ΅μ H×V ν¬κΈ°μ κ°μ€μΉλ₯Ό κ°μ§λ©° μΆλ ₯μΈ΅ μ΄νμλ μννΈλ§₯μ€ μΈ΅μ΄ μλ€. λ°λΌμ NNLM λͺ¨λΈμ μ΄ κ°μ€μΉλ N×D+N×D×H+H×Vμ΄λ€. H×Vλ μ΄νκ° μ΄μ§ νΈλ¦¬λ‘ ννλλ κ³μΈ΅ν μννΈλ§₯μ€λ₯Ό μ¬μ©νμ¬ H×log(V)λ‘ μ€μΌ μ μλ€. 볡μ‘μ±μ λλΆλΆ N×D>VμΌ λ N×D×H νμμ λΉλ‘―λλ€. μ΄ νμ Word2Vec λͺ¨λΈ μμμ μλμΈ΅μ μ¬μ©νμ§ μμμΌλ‘μ¨ ννΌλλ€(볡μ‘μ±μ μ€μΌ μ μλ€ μ΄ μλ―ΈμΈ λ―). NNLM λͺ¨λΈμ΄ νμ΅λ λ ν¬μ νλ ¬μ νμ΅λ λ¨μ΄ 벑ν°λ₯Ό μν 룩μ ν μ΄λΈλ‘ μ¬μ©λλ€.
2. Recurrent Neural Net Language Model(RNNLM)
μ΄ λͺ¨λΈμμλ NNLM λͺ¨λΈμ κ²½μ°μ²λΌ Nμ μ§μ ν νμκ° μλ€. RNNμ μλ μνμ λͺ¨λ λ¨μ΄ κΈ°λ‘μ μΈμ½λ©νλ€. μλ μν S(T)λ νμ¬ μ λ ₯ X(T)μ S(T-1)μμμ μλ 벑ν°λ‘ μ λ°μ΄νΈλλ€.
Simple Elman Networkλ RNNLM λͺ¨λΈμμ RNN λͺ¨λΈλ‘ μ¬μ©λλ€. μ€μ§ μκ° μ°¨μμ recurrent κ°μ€μΉμ μΆλ ₯μΈ΅ κ°μ€μΉμ μ¨κ²¨μ§ κ°μ€μΉλ§ μ΄ λ€νΈμν¬μ κ΄μ¬νλ©° λͺ¨λΈ μ 체μ 볡μ‘μ±μ H×H+H×Vμ΄λ€. NNLM λͺ¨λΈκ³Ό λΉκ΅ν΄λ³΄λ©΄ λͺ¨λΈ 볡μ‘λμ N νμ΄ μλ€. H×V νμ κ³μΈ΅μ μννΈλ§₯μ€λ₯Ό μ¬μ©νμ¬ H×log(V)λ‘ μ€μΌ μ μλ€. μ΄ λͺ¨λΈμμ μ°μ°μ bottleneck νμ H×Hμ΄λ€.
μμ λ λͺ¨λΈλ‘λΆν°, "λΉμ ν μλμΈ΅"μ΄ μ 체 볡μ‘μ±μ κ°μ₯ ν° μ΄μ λΌλ κ²μ΄ λͺ λ°±νλ€. μ΄λ νλμ¨μ΄μ μ μ½μ μ λ°ν΄ λͺ¨λ νμ΅ λ°μ΄ν°λ₯Ό νμ©νμ§ λͺ»νκ² νλ€. Word2Vecμ λ¨μ΄ 벑ν°μ νμ§μ μμμν€μ§ μκ³ λ λ§μ λ°μ΄ν°λ‘ νμ΅ν μ μλ λ κ°μ§ κ°λ¨ν λͺ¨λΈμ μ μνλ€.
Word2Vec λͺ¨λΈ
μ΄ μΉμ μμλ Word2Vec νμ΅μ μ¬μ©λλ λͺ¨λΈμ μκ°νλ€.
1. Continuous bag of words model(CBOW)
CBOW λͺ¨λΈμ μ ν μλμΈ΅μ΄ μλ κ²½μ°λ₯Ό μ μΈνκ³ NNLM λͺ¨λΈμμ νμλμλ€. CBOW λͺ¨λΈμ λͺ©μ μ κ³Όκ±°μ N/2 λ¨μ΄μ λ―Έλμ N/2 λ¨μ΄κ° μ£Όμ΄μ‘μ λ κ·Έ μ€κ°μ λ¨μ΄λ₯Ό μμΈ‘νλ κ²μ΄λ€. κ°μ₯ μ’μ κ²°κ³Όλ N=8μΌ λ μ»μ΄μ§λ€. ν¬μμΈ΅μμ Nκ°μ context λ¨μ΄μ λ¨μ΄ 벑ν°λ λ¨μνκ² νκ· νλλ€. μ€κ° λ¨μ΄μ λ¨μ΄ 벑ν°λ₯Ό κ²°μ ν λ λ¨μ΄μ μμΉλ κ΄λ ¨μ΄ μκΈ° λλ¬Έμ "Bag of Words"λΌλ μ΄λ¦μ΄ λΆλλ€. ContinuousλΌλ ννμ λ²‘ν° κ³΅κ° Dλ₯Ό μλ―Ένλ€.
νκ· λ²‘ν°λ Vμ λν λΆν¬λ₯Ό μ»κΈ° μν΄ μΆλ ₯μΈ΅μ κ±°μ³ κ³μΈ΅μ μννΈλ§₯μ€λ‘ μ λ¬λλ€. CBOWλ λͺ¨λΈ μΆλ ₯μ logarithmμ΄ λͺ¨λΈ κ°μ€μΉμ μ ν κ²°ν©μΌλ‘ ννλ μ μλ κ°λ¨ν log-linear λͺ¨λΈμ΄λ€. CBOW λͺ¨λΈ νμ΅κ³Ό κ΄λ ¨λ μ΄ κ°μ€μΉλ N×D+D×logV μ΄λ€.
2. Continuous skip-gram model
μ΄ λͺ¨λΈμ λͺ©μ μ CBOW λͺ¨λΈκ³Ό λ°λλ€. νμ¬ λ¨μ΄κ° μ£Όμ΄μ‘μ λ, νμ¬ λ¨μ΄ κ·Όμ²μ κ³Όκ±° λ¨μ΄μ λ―Έλ λ¨μ΄λ₯Ό μμΈ‘νλ€. μ΄λ¦μμ μ μ μλ―μ΄, λͺ¨λΈμ νμ¬ λ¨μ΄λ₯Ό μ μΈν N-gram λ¨μ΄λ₯Ό λͺ¨λΈμ λν μ λ ₯μΌλ‘ μμΈ‘νκΈ° λλ¬Έμ Skip-gramμ΄λΌλ μ΄λ¦μ΄ λΆλλ€. N κ°μ 10μΌλ‘ μ νλλ€. λ©λ¦¬ μλ λ¨μ΄λ νμ¬ λ¨μ΄μμ μ°κ΄μ±μ΄ μ κΈ° λλ¬Έμ μΆλ ₯ λ μ΄λΈμ μμ±νκΈ° μν΄ μΈκ·Ό λ¨μ΄λ³΄λ€ μ κ² μνλ§λλ€. N=10μΌ λ μμμ μΈκΈν μνλ§ λ°©λ²μΌλ‘ 1~10 μ¬μ΄μ λμ Rμ΄ μμ±λκ³ Rμ κ³Όκ±° λ¨μ΄, λ―Έλ λ¨μ΄κ° Skip-gram λͺ¨λΈμ μ λ΅ λ μ΄λΈλ‘ μ¬μ©λλ€.
λͺ¨λΈμ μ 체 볡μ‘λλ N×D+N×D×logVμ΄λ€. CBOWμ λΉκ΅νμ λ λ¨μΌ ν΄λμ€ λΆλ₯ λ¬Έμ κ° μλλΌ N-ν΄λμ€ λΆλ₯ λ¬Έμ μ΄κΈ° λλ¬Έμ Nμ D×logV νμ κ³±ν΄μ§λ€. μ¦ Skip-gram λͺ¨λΈμ CBOWλ³΄λ€ λ 볡μ‘νλ€.
Results ννΈλ κ²°κ³Ό λΉκ΅ λ΄μ©μ΄λΌ μλ΅!
'Archive' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ²μ] Micro, Macro & Weighted Averages of F1 Score, Clearly Explained (1) | 2022.12.20 |
---|---|
[λ²μ] Foundations of NLP Explained Visually: Beam Search, How It Works (0) | 2022.08.01 |
[λ²μ] Introduction to Stemming and Lemmatization (0) | 2022.04.01 |
[λ²μ] Entropy, Cross-Entropy, KL-Divergence (0) | 2022.03.31 |
[λ²μ] Attention: Sequence 2 Sequence model with Attention Mechanism (0) | 2022.03.16 |