[NLP] Word2Vec μ€λͺ | word2vec κ΄λ ¨ κΉν λ ν¬μ§ν 리
Word2Vec
Word2Vecμ μμ°μ΄ μ²λ¦¬ λ° ν μ€νΈ λΆμ λΆμΌμμ μ¬μ©λλ μ€μν μλ μλ² λ© κΈ°μ μ΄λ€. μλ μλ² λ©μ λ¨μ΄λ₯Ό κ³ μ°¨μ 벑ν°λ‘ νννλ κΈ°μ λ‘, μ΄λ¬ν 벑ν°λ λ¨μ΄ κ°μ μλ―Έμ μ μ¬μ±μ μΊ‘μ²νκ³ μνμ μ°μ°μ ν΅ν΄ λ¨μ΄ κ°μ κ΄κ³λ₯Ό λΆμνλ λ° μ¬μ©λλ€.
μ΄λ―Έμ§μ κ²½μ° μ»΄ν¨ν°μ μ μ₯λλ νν μμ²΄κ° 0~255μ RGB κ°μΌλ‘ μ μ₯λκΈ°μ μ΄ κ°μ κ·Έλλ‘ CNN, Transformer λ±μ λ₯λ¬λ μν€ν
μ²μ μ
λ ₯μΌλ‘ λ£μ μ μμ§λ§, λ¨μ΄μ κ²½μ° μλ² λ©νλ κ³Όμ μ΄ λ³λλ‘ νμνλ€.
Word2Vecμ λ¨μ΄ μλ² λ©μ νμ΅νκΈ° μν λ°©λ² μ€ νλλ‘, λ κ°μ§ μ£Όμ μν€ν
μ²μΈ CBOW(Continuous Bag of Words)μ Skip-gramμ μ¬μ©νλλ°, μ΄ λ κ°μ§ λͺ¨λΈμ λ€μκ³Ό κ°μ΄ λμνλ€.
Continuous Bag of Words (CBOW)
CBOW λͺ¨λΈμ λ¬Έλ§₯ λ΄ μ£Όλ³ λ¨μ΄λ€μ ν΅ν΄ νκΉ λ¨μ΄λ₯Ό μμΈ‘νλ€. μλ₯Ό λ€μ΄, "I am learning ___"λΌλ λ¬Έμ₯μμ λΉμΉΈμ λ€μ΄κ° λ¨μ΄λ₯Ό μμΈ‘νλ κ²μ΄λ€. μ£Όλ³ λ¨μ΄μ μλ² λ© λ²‘ν°λ₯Ό νκ· νμ¬ νκΉ λ¨μ΄μ μλ² λ© λ²‘ν°λ₯Ό μ»λλ€.
Skip-gram
Skip-gram λͺ¨λΈμ νκΉ λ¨μ΄λ₯Ό κ°μ§κ³ μ£Όλ³ λ¨μ΄λ₯Ό μμΈ‘νλ€. μ¦, "learning"μ κ°μ§κ³ "I", "am" λ±μ μ£Όλ³ λ¨μ΄λ₯Ό μμΈ‘νλ κ²μ΄λ€.
νκΉ λ¨μ΄λ₯Ό μ€μ¬μ λκ³ μ£Όλ³ λ¨μ΄μ μλ² λ© λ²‘ν°λ₯Ό νμ΅νλ€.
Word2Vec λͺ¨λΈμ λλμ ν
μ€νΈ λ°μ΄ν°λ₯Ό νμ΅νμ¬ λ¨μ΄ κ°μ μλ―Έμ μ μ¬μ±μ μΊ‘μ²νλ©°, κ²°κ³Όμ μΌλ‘ μ μ¬ν μλ―Έλ₯Ό κ°μ§ λ¨μ΄λ€μ λΉμ·ν μλ² λ© κ³΅κ°μ 맀νλλ€. μ΄λ¬ν μλ² λ©μ λ€μν μμ°μ΄ μ²λ¦¬ μμ
μ μ¬μ©λ μ μμΌλ©°, μλ₯Ό λ€μ΄ λ¬Έμ λΆλ₯, λ¨μ΄ κ° κ΄κ³ μΆλ‘ , κ²μ μμ§, κΈ°κ³ λ²μ, κ°μ λΆμ λ±μ μμ
μμ μ μ©νκ² νμ©λλ€.
Word2Vecμ λ¨μ΄ μλ² λ©μ ν¨μ¨μ μΌλ‘ νμ΅νκ³ λ¨μ΄ κ° μλ―Έμ κ΄κ³λ₯Ό ν¬μ°©νλ λ° λ§€μ° ν¨κ³Όμ μΈ λ°©λ² μ€ νλμ΄λ©°, μμ°μ΄ μ²λ¦¬ λΆμΌμμ λ리 μ¬μ©λκ³ μλ€
Word2Vec νμ©
Word2Vecλ λ¨μ΄ μλ² λ©μ μμ±νλ λ° μ¬μ©λλ©°, λ¬Έμ λΆλ₯, μλ μμ½, κ²μ, μΆμ² μμ€ν , κΈ°κ³ λ²μ, κ°μ λΆμ λ± λ€μν μμ°μ΄ μ²λ¦¬ μμ μμ νμ©λλ€.
νμ§λ§, μ΅κ·Ό BERTλ GPT κ°μ μΈμ΄ λͺ¨λΈλ€μ ν μ€νΈλ₯Ό μλ² λ©νκΈ° μν΄ ν ν°ν(tokenization) κ³Όμ μ κ±°μΉλ€. ν ν°νλ ν μ€νΈλ₯Ό μμ λ¨μλ‘ λλλ νλ‘μΈμ€λ‘, μΌλ°μ μΌλ‘ λ¨μ΄, μλΈμλ λλ λ¬Έμ μμ€μΌλ‘ ν μ€νΈλ₯Ό λΆν νλ€. μ΄λ¬ν ν ν°μ λͺ¨λΈμ μ λ ₯μΌλ‘ μ¬μ©λλ©°, κ° ν ν°μ ν΄λΉ ν μ€νΈ μ‘°κ°μ μλ―Έμ ννμ λνλ΄λ 벑ν°λ‘ λ³νλλ€.
κ΄λ ¨ λ ν¬μ§ν 리
- word2vec λ ν¬ (1.5k stars) : https://github.com/dav/word2vec
- νκ΅μ΄ word2vecμΈ kor2vec (μ½ 200 stars) : https://github.com/naver/kor2vec
- 30+ μΈμ΄ word2vec (2.2 stars) : https://github.com/Kyubyong/wordvectors