#node
#NLP
#word2vec
#Fasttext
#Flask
- κ°μ: νμ¬ μ μΉνμκΈμ 1μΈλΉ 800μμΌλ‘ λ§€μ° μ μ‘°ν μνμ΄λ€. 'μμ κ³Ό λ§λ κ΅νμμμ΄ λκ΅°μ§ λͺ°λΌμ κ·Έλ° κ² μλκΉ?'νλ μκ°μ νμμμκ² λ§λ κ΅νμμμ μΆμ²ν΄μ£Όλ X-senatorsλ₯Ό μκ°νκ² λ¨
- λͺ©μ : νμμμ κ΄μ¬μ¬μ κ°μ₯ μ μ¬ν κ΅νμμμ μΆμ²ν΄μ€ 'λꡬμκ² νμκΈμ μ€μΌν μ§?'μ λν κ³ λ―Όμ λ΅μ μ£Όκ³ μ ν¨
- λͺ¨λΈ: Fasttext, Word2vec μ€ ν 1
- Doc2vecμ μ¬μ©ν΄λ³΄μμΌλ κ΅νμμ 벑ν°κ° λ§€μ° μ μ’κ² λμμ
- Fasttext, Word2vec λͺ¨λΈλ‘ λͺ¨λ λ²μμ λ¨μ΄λ€μ μλ² λ©μν΄
- λ²μμ λ€μ΄κ°λ λ¨μ΄ 벑ν°λ₯Ό λͺ¨λ λν΄μ λ²μ 벑ν°λ₯Ό μμ±νμμ
- ν κ΅νμμμ΄ λ°μν λͺ¨λ λ²μ 벑ν°λ₯Ό κ°μ€νκ· λ΄μ΄ κ΅νμμ벑ν°λ₯Ό λ§λ€μμ
- μ¬μ©μκ° κ΄μ¬μ¬λ₯Ό μ λ ₯ λ°μ
- μ¬μ©μ 벑ν°λ₯Ό mecabμΌλ‘ tokenizeλ₯Ό νκ³ μ΄λ―Έ νμ΅λ λ¨μ΄λͺ¨λΈμ 벑ν°λ₯Ό μ λΆ ν©ν¨
- μ¬μ©μ 벑ν°μ κ΅νμμ λ²‘ν° μ¬μ΄μ cosine similarityλ₯Ό ꡬνλ€.
- μ μ¬λκ° λμ μμΌλ‘ μ 리ν΄μ Top 8 κ΅νμμμ λ½μλ€.
- μ°μ μ΄ github repoλ₯Ό λ€μ΄ or git clone νκΈ°
- κ·Έ λ€μμ [Web] ν΄λμ λ€μ΄κ°μ cmdμ°½μ μ€ννλ€.
- κ·Έλ¦¬κ³ λ°μ λͺ λ Ήμ μ°¨λ‘λλ‘ μ λ ₯νλ€.
$ npm init
$ npm install --save-dev nodemon
$ npm install --save express body-parser ejs mysql2 sequelize express-session connect- mongodb-session bcryptjs csurf connect-flash nodemailer nodemailer-sendgrid- transport cookie-parser express-session-sequelize python-shell request-promise
- cmdμ°½μ μ΄κ³ μλ λͺ λ Ήλ€μ μ λ ₯νλ€.
$ pip install --upgrade pip
$ pip install pymysql numpy pandas genism flask sklearn
- μ λͺ λ Ήμ μ€νμλ£ ν μ΄ μ¬μ΄νΈλ₯Ό μ°Έκ³ νμ¬ konlpyλ₯Ό μ€μΉνλ€.
- μ μΆμ²μμ€ν μ μ¬μ©μμ¬μ μ μΆκ°ν΄μ£ΌκΈ° μν΄ Mecab() tokenizerλ₯Ό μ¬μ©νλλ° Mecab() tokenizerλ Windowμμ μ§μλμ§ μλλ€.
- [Web] => [MySQL] ν΄λμ λ€μ΄κ°λ©΄ 9κ°μ queryλ¬Έλ€μ΄ μλ€.
- 쿼리 λ¬Έλ€μ μμλλ‘ μ€νν΄μ ν μ΄λΈλ€κ³Ό λ°μ΄ν°λ₯Ό μμ±ν΄μ€λ€.
- νμΌλͺ
μμλλ‘
μ€ννμ μΌ μλ¬κ° λ¨μ§ μλλ€. (μμλλ‘ νμ§ μμΌλ©΄ FK μ€μ λλ¬Έμ μλ¬κ° λλ€.)
- Word2vec λͺ¨λΈμ [Web] => [python (flask)] => [model]μ μ΄λ―Έ νμ΅λ λͺ¨λΈμ΄ μλ€.
(iteration=500, size=100, window=5, min_count=10, workers=12, hs=0, sg=1) (skip-gram, negative sampling) - Fastttext λͺ¨λΈμ κ²½μ° 1GBκ° λκΈ° λλ¬Έμ κΉνμ μ λ‘λκ° λμ§ μμ μλ‘ νμ΅μμΌμΌ ν©λλ€.
- Fasttext, word2vec νμ΅νλ jupyterλ μ¬κΈ°μ νμΈν μ μμ΅λλ€.
- [Web] ν΄λμμ cmdμ°½μ μ΄μ΄μ£Όκ³ μλ λͺ λ Ήμ μ λ ₯νλ€.
$ npm start
- [Web] ν΄λ λ΄ [python (flask)] ν΄λμμ cmdμ°½μ μ΄μ΄μ£Όκ³ μλ λͺ λ Ήμ μ λ ₯νλ€.
- flask μλ²λ₯Ό ν΅ν΄μ μΆμ² κ²°κ³Όλ₯Ό node μλ²μ μ£Όκ³ λ°μμΌ ν΄μ flaskλ μ€νν΄μ£Όμ μ ν©λλ€.
$ flask run
- ν¬λ‘¬μ μ΄μ΄μ μ£Όμμ°½μ http://localhost:3000/λ₯Ό μ λ ₯νλ©΄ X-senatorsλ₯Ό 체νν μ μλ€.