๐ก ์ฃผ์ : Word Window Classification, NN and Matrix Calculus
๐ ํต์ฌ
- Task : ๋ถ๋ฅ - ๊ฐ์ฒด๋ช ๋ถ๋ฅ (Named Entity Recognition)
๐ ๋ชฉ์ฐจ ์ ๋ฆฌ
1. Classification Review / introduction
- NLP ์์์ ๋ถ๋ฅ ๋ฌธ์
๐ input data : ๋จ์ด, ๋ฌธ์ฅ, ๋ฌธ์ ๋ฑ
๐ Class : ๊ฐ์ ๋ถ๋ฅ, ๊ฐ์ฒด๋ช ๋ถ๋ฅ (Named entity) , ๊ฐ์ ์๋ฏธ/ํ์ฌ์ ๋จ์ด๋ผ๋ฆฌ ๋ถ๋ฅ ๋ฑ
๐ ๊ฒฐ์ ๊ฒฝ๊ณ (decision boundary) ๋ฅผ ๊ฒฐ์ ํ Weight ๋ฅผ ํ์ต
- ์ง๋ํ์ต
๐ Train set → Loss function → Validation / Test set
- ์์คํจ์
๐ ์์ธกํ ๋ฐ์ดํฐ(y hat) ์ ํ๋ฅ ๋ถํฌ์ ์ค์ ๋ฐ์ดํฐ(y) ์ ํ๋ฅ ๋ถํฌ๊ฐ ๋น์ทํด์ง๋๋ก ํ์ตํ๋ค
: MLE (๋ชจ๋ ํ๋ จ ์ํ์ ํ๋ฅ ์ต๋ํ)
๐ Entropy ์ cross Entropy
โ softmax ํจ์๋ cost ํจ์๋ฅผ ํฌ๋ก์ค ์ํธ๋กํผ๋ก ์ฑํํ์ฌ ๋ชจ๋ธ์ ์ต์ ํ ํ๋ค.
โ ํฌ๋ก์ค ์ํธ๋กํผ๋ softmax ๊ฐ ์ ์ฉ๋ ์์ธก๊ฐ S์ ์ค์ ๊ฐ L ์ ์ฐจ์ด, ์ฆ ๋น์ฉ์ ๊ตฌํ๊ธฐ ์ํ ์์ด๋ค.
2. Neural Networks (classifiers)
- ๊ฐ์
๐ ํ์ฑํ ํจ์ : ๋น์ ํํจ์ Sigmoid, Relu ๋ฑ์ผ๋ก ๊ฒฐ์ ๊ฒฝ๊ณ๋ฅผ ํ์ตํ๋ฉด ์ ํ์ด ์๋ ๊ฒฝ๊ณ๋ฉด๊น์ง ํ์ตํ ์ ์๋ค.
- ๊ฒฐ์ ๊ฒฝ๊ณ
๐ NLP์์๋ parameter W ์ word vector X ๋ฅผ ๊ฐ์ด ํ์ตํ๋ค.
โ embedding vector (Word2vec, Glove, ELMO, BERT ๋ฑ)
๐ Pre-trained word vector ๋ฅผ ์ด์ฉํ๋ค → (4์ฅ)
3. Neural Networks in NLP (Window classification)
Named Entity Recognition (NER)
1๏ธโฃ ๊ฐ์
๐ ๋ฌธ์ฅ์์ ๊ฐ์ฒด๋ช (๊ณ ์ ๋ช ์ฌ)์ ๋ถ๋ฅํ๋ ๋ฐฉ๋ฒ๋ก ์ผ๋ก, ๋ฌธ๋งฅ context ๋ฅผ ๋ณด๊ณ ๊ฐ์ฒด๋ช ์ ๊ฒฐ์ ํ๋ค.
๐ ๊ฐ์ฒด๋ช ์ ๊ธฐ์ค์ผ๋ก ๋์ฌ์ ๊ธฐํ ๋จ์ด๋ค์ด ๊ด๊ณ๋ฅผ ๋งบ๋ ๊ตฌ์กฐ๋ก ์ด์ด์ง๊ธฐ ๋๋ฌธ์, ์ฆ ๋ฌธ๋ฒ์ ์ผ๋ก ์ค์ํ ํ์ฌ๋ก ํด์๋์ด ๋ฌธ๋งฅ์ ํ์ ํ๋๋ฐ ํต์ฌ ์ญํ ์ ํ๋ฏ๋ก NER ์ NLP task ์์ ์ค์ํ๊ฒ ๊ฐ์ฃผ๋๋ค.
๐ NER ์ ์์ฃผ ์ฐ์ด๋ ๋ชจ๋ธ : CRF, RNN
2๏ธโฃ ํ๊ณ์
๐ง ๋ฌธ์ฅ๋ด์์ ์ฌ์ฉ๋๋ entity ์ ์ ํํ ๊ฐ์ฒด๋ฅผ ๋ถ๋ฅํ๊ธฐ ์ด๋ ค์ด ํ๊ณ์
โจ ๋ฌธ๋งฅ๊น์ง ๊ณ ๋ คํ๋ window classification ๋ฐฉ๋ฒ๋ก ๋ฑ์ฅ!
๐ Idea : ์ค์ฌ ๋จ์ด์ ์ฃผ๋ณ ๋จ์ด๋ค์ ํจ๊ป ๋ถ๋ฅ ๋ฌธ์ ์ ํ์ฉํ๋ ๋ฐฉ๋ฒ
โ Method1. ๋จ์ด๋ฒกํฐ์ ํ๊ท ์ผ๋ก ๊ฒ์ฐํ๋ค. but ์์น ์ ๋ณด๋ฅผ ์์ด๋ฒ๋ฆฌ๋ ๋จ์ ์ด ์กด์ฌ
โ Method2. ๋ฒกํฐ๋ฅผ concatenate ํ์ฌ Xwindow ๋ฒกํฐ๋ฅผ ๋ง๋ค๊ณ ์ด๋ฅผ input ์ผ๋ก ์ทจํ์ฌ, ๋ค์ธตํผ์ ํธ๋ก ๊ณผ softmax clssifier ๋ฅผ ํ๋ จํ์ฌ ๋ถ๋ฅ๋ฅผ ์งํ
- NER Location ๋ถ๋ฅ ์์ : X(paris) ๋ฅผ Location ์ผ๋ก ๋ถ๋ฅํ๋ ๋ฌธ์
- museums in Paris are amazing ๋ผ๋ X(window) ๋ฒกํฐ๋ง True ๋ก ์ฒ๋ฆฌํ์ฌ ๋์ ์ ์๋ฅผ, ๊ทธ ์ธ์ window vector (Not all museums in Pares์ ๊ฐ์)์ ๋ฎ์ ์ ์๋ฅผ return ํ๋๋ก score ๋ฅผ ์ ์
score (s) ๊ฐ์ softmax ๋ฅผ ์ทจํด์ฃผ๊ณ error ํจ์๋ฅผ ๊ณ์ฐํ์ฌ W๋ฅผ ์ ๋ฐ์ดํธ ์ํจ๋ค.
Softmax (Logistic)
๐ ๋ฅ๋ฌ๋ ์ ๊ฒฝ๋ง์ ์ถ๋ ฅ์ธต์์ Output ์ ํ๋ฅ ๋ก ํํํ๋๋ฐ ์ฐ์ด๋ ํ์ฑํ ํจ์๋ก, ๋ค์ค ํด๋์ค ๋ถ๋ฅ ๋ฌธ์ ์ ํ์ฉ๋๋ค. (๊ฒฐ์ ๊ฒฝ๊ณ ์์ฑ์ ๊ธฐ์ค์ด ๋๋ ํจ์)
๐ Xi ๋ฅผ ์ ๋ ฅ๋ฐ์ ๊ฐ ํด๋์ค์ ์ํ ํ๋ฅ Pi๋ฅผ ์ถ์ ํ๋ค. max ํ๋ฅ ๊ฐ์ softํ๊ฒ ๋ฝ์๋ด์ด y๋ฅผ ๋ถ๋ฅ
๐ ํ๋ฅ ์ ์ดํฉ์ 1๋ก ๋ง๋ค์ด ๊ณ์ฐํ๊ธฐ ๋๋ฌธ์ ํน์ input x ๊ฐ ์ด๋ค ๋ถ๋ฅ์ ์ํ ํ๋ฅ ์ด ๋์์ง ์ฝ๊ฒ ์ธ์งํ ์ ์๋ค.
cf. ์๊ทธ๋ชจ์ด๋๋ ์ด์ค ํด๋์ค ํ๋ณ
โ https://joey09.tistory.com/53 : ์ํํธ๋งฅ์ค, ๋น์ ํํจ์๊ฐ ํ์ํ ์ด์
Max-margin loss
๐ ์์ NER ์์ ์์ score ํจ์๋ฅผ ์ง์ ์ ์ํ๊ธฐ ๋๋ฌธ์, Output์ ๊ทธ๋๋ก ์ด์ฉํ๋ score ์ฐ์ถ ๋ฐฉ์์ผ๋ก ์ ๋ต๊ณผ ์ค๋ต ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์ต๋๋ก ๋ง๋๋ margin ์ ์ฐพ๋ ๋ฐฉ์์ max-margin loss ํจ์๋ฅผ ์์คํจ์๋ก ์ฌ์ฉํ๋ค.
4. Matrix calculus
โ Jacobian matrix : Generalization of Gradient
โ https://angeloyeo.github.io/2020/07/24/Jacobian.html : ์์ฝ๋น์ ํ๋ ฌ์
- Chain Rule
โ window classification ์์์ ์ญ์ ํ ๊ฐ์ค์น ์ ๋ฐ์ดํธ ๊ณ์ฐ๊ณผ์
1. ds/db ๋ฅผ ๊ตฌํด๋ณด์!
2. ds/dw ๋ฅผ ๊ตฌํด๋ณด์!
๐ ๊ทธ๋ฐ๋ฐ ds/dh * dh/dz ์ ์ฐ์ฐ ๊ณผ์ ์ด ๊ฒน์น๋ค!
๐ ์ค๋ณต๋ ๊ณ์ฐ (์ฐ์ฐ๋) ์ ํผํ๊ธฐ ์ํด ํ๋์ ๋ถ๋ถ ์ฐ์ฐ์ local error signal ๋ก ๋ฌถ์ด์ ์ ์
๐ ์ค์ต
- nltk ๋ก NER : https://wikidocs.net/30682
- spacy ๋ฅผ ํ์ฉํ NER : https://towardsdatascience.com/named-entity-recognition-ner-using-spacy-nlp-part-4-28da2ece57c6
- KoBERT๋ฅผ ์ด์ฉํ ํ๊ตญ์ด Named Entity Recognition Task : https://github.com/monologg/KoBERT-NER
- kaggle : custom NER using Spacy : https://www.kaggle.com/code/amarsharma768/custom-ner-using-spacy
- kaggle : NER ํ์ฉ Competition ๐ ํ์ ์ค..
'1๏ธโฃ AIโขDS > ๐ NLP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[cs224n] 6๊ฐ ๋ด์ฉ ์ ๋ฆฌ (0) | 2022.03.24 |
---|---|
[cs224n] 5๊ฐ ๋ด์ฉ ์ ๋ฆฌ (0) | 2022.03.22 |
[cs224n] 4๊ฐ ๋ด์ฉ ์ ๋ฆฌ (0) | 2022.03.18 |
NLP deep learning (0) | 2022.03.15 |
[cs224n] 2๊ฐ ๋ด์ฉ ์ ๋ฆฌ (0) | 2022.03.14 |
๋๊ธ