- level2_nlp_datacentric-nlp-04
- ์ฐํฉ๋ด์ค์ ๋ด์ค ์ ๋ชฉ์ ์ ๋ ฅ์ผ๋ก ๋ฐ์ IT๊ณผํ, ๊ฒฝ์ , ์ฌํ, ์ํ๋ฌธํ, ์ธ๊ณ, ์คํฌ์ธ , ์ ์น ์ด 7๊ฐ์ ํด๋์ค๋ก ๋ถ๋ฅํ๋ ํ๋ก์ ํธ๋ก, ๊ธฐ์กด์ ์ฃผ์ด์ง baseline ์ฝ๋์์ ๋ชจ๋ธ ๊ตฌ์กฐ์ hyperparameter ๋ณ๊ฒฝ ์์ด ๋ฐ์ดํฐ๋ฅผ ์ค์ฌ์ ์ฑ๋ฅ ํฅ์์ ๋ชฉํ๋ก ํ๋ค.
- ์ด ํ์ต ๋ฐ์ดํฐ๋ 45,678๊ฐ ์ด๋ฉฐ, Train Data / Validation Data๋ฅผ 7:3๋น์จ๋ก ๋๋์ด์, ํ์ต์ ์ด์ฉํ์๋ค.
- Train Data์ 12%(5,481๊ฐ) ์๋ g2p(grapheme to phoneme)๊ฐ ์ ์ฉ๋์ด ๋ด์ค ์ ๋ชฉ์ ๋ ธ์ด์ฆ๊ฐ ์๊ณ , 3%(1,371๊ฐ) ์๋ target์ด text์๋ ๋ง์ง ์๋ Miss Label ๋ ธ์ด์ฆ๊ฐ ์๋ค.
- Test Data๋ ์ด 9,107๊ฐ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- 23.05.22 - 23.06.01(์ด 11์ผ)
๊ณฝ๋ฏผ์ | ์ด์ธ๊ท | ์ํ๋ฆผ | ์ตํ๋ฏผ | ํฉ์ค๊ธฐ |
---|---|---|---|---|
- ๊ณฝ๋ฏผ์
- Augmentation with Generative Model
- Build data managing page
- ์ด์ธ๊ท
- Data Filtering
- Data Augmentation
- ์ํ๋ฆผ
- Data Filtering
- Data Clearing
- ์ตํ๋ฏผ
- Back Translation Data Augmentation
- Augmentation Data Filtering
- ํฉ์ค๊ธฐ
- Data Filtering
- Prediction, Miss Label Data Analysis Page
- Synthetic Data Augmentation
- ์ ๋ฃ ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ด๊ณ๋ก โkakaobrain/kogptโ ๋ชจ๋ธ์ ์๋ฒ์์ ์๋์์ผ ํ๋กฌํํธ๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์๋ค.
- ํ๋กฌํํธ์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๋ฌผ์ ์ง์ด ๋ฌ๋ผ ์ฌ๋ฌ ์ํ์ฐฉ์ค ๋์ ์๋์ ๊ฐ์ ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์๋ค.
์๋์ ๊ฐ์ด ํค์๋๋ฅผ ์ด์ฉํ์ฌ ๊ธฐ์ฌ ์ ๋ชฉ์ ์ ์ํด์ค. ์ ๋ ฅ: IT๊ณผํ ์ถ๋ ฅ: โAI ์ฐ์ ์ ์โ GPU ์์ฅ ๋ ์ ํ ์๋น๋์ ์ ๋ ฅ: ์ ์น ์ถ๋ ฅ: ๊ตฐ, ๋ถํ ๋ฐ์ฌ์ฒด ์ํด ์ธ์์์ ๋ณธ๊ฒฉํโฆ์ฌํด์ ์์ฌ ํฌ์ ์ ๋ ฅ: {keyword} ์ถ๋ ฅ:
- ํ๋กฌํํธ๋ฅผ ์ด์ฉํ์ฌ ์์ฑํ ๋ฐ์ดํฐ์ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ ๋ ฅ: IT๊ณผํ ์ถ๋ ฅ: KT, '๊ธฐ๊ฐ ์ธํฐ๋ท' ์๋น์ค ์ถ์
- ์์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ๊ฐ ๋ผ๋ฒจ๋ณ๋ก 1,200๊ฐ ์ด 8,400๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์์ผ๋ฉฐ, ์ด์๋ํ ๊ฒฐ๊ณผ๋ฌผ์ ๋งํฌ๋ฅผ ํตํด ๋ณผ ์ ์๋ค.
- ๊ตฌ๊ธ๋ฒ์ญ๊ธฐ์ ํํ๊ณ API๋ฅผ ์ฌ์ฉํ์ฌ noise๋ก ์ธ์ํ์ง ์์ ๋ฐ์ดํฐ์ ํํ์ฌ Back Translation Data Augmentation์ ํ์๋ค.
- ๋ฌธ์ฅ ์๋ฒ ๋ฉ ๋ฅ๋ ฅ์ด ๋ฐ์ด๋ SBERT ๋ชจ๋ธ๋ก ์๋ณธ๊ณผ ์์ฑํ ๋ฐ์ดํฐ์ ์ ์ฌ๋์ ๋ฐ๋ผ filtering ํ์์ต๋๋ค.
- G2P๊ฐ ์ ์ฉ๋์ง ์์ ๋ฌธ์ฅ๊ณผ ์ ์ฉ๋ ๋ฌธ์ฅ์ ์ ๋ ฅ์ผ๋ก ๋ฐ์ noise์ ์ฌ๋ถ๋ฅผ ์ด์ง ๋ถ๋ฅํ๋ ๋ชจ๋ธ(Accuracy 93%)์ ๋ง๋ค์ด ์ด๋ฅผ ํ์ฉํด ๋ฐ์ดํฐ์ ์ผ๋ถ๋ฅผ ์ ๊ฑฐํ์๋ค.
- g2p๋ก ๋ณํํ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ ๋ g2p๋ฅผ ์ ์ฉ์์ผ์ ๋ฌ๋ผ์ง์ง ์๋๋ค๋ฉด noise๊ฐ ์๋ค๊ณ ํ๋จํด์ ๋ถ๋ฆฌ์์ผฐ๋ค.
- 10๋ง๊ฐ์ ์๋ณธ๋ฌธ์ฅ๊ณผ g2p๋ ๋ฌธ์ฅ์์ Bart-base ๋ชจ๋ธ๋ก ํ์ต์์ผ ์ฌ์ฉํ๋ ค๊ณ ํ์ผ๋ ์๊ฐ๋ณด๋ค ๋ฒ์ญ๊ฒฐ๊ณผ๊ฐ ์ข์ง ์์ ์ฌ์ฉํ์ง ์์๊ณ , 50๋ง๊ฐ๋ก MT5-large๋ก ํ์ตํ ๋ชจ๋ธ์ ์ด์ฉํด์ noise๋ฅผ ๋๋๋ ค dataset์ ๋ง๋ค์ด ํ์ต์ํจ ๊ฒ์ ์ฌ์ฉํ๋ค.
- ์๋ณธ์ผ๋ก ๋๋ ค์ค ๋ฌธ์ฅ์์ ํน์๋ฌธ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๏ฟฝ ๋ก ํ์๋์ด ๊ณต๋ฐฑ์ผ๋ก ์ ๊ฑฐํ๋ค.
- ์๋ชป ์์ธกํ ๊ฒฐ๊ณผ์ ํ๋ฅ ์ Class๋ณ ์ค๋ฆ์ฐจ์์ผ๋ก ๋์ด, ๋ฐฑ๋ถ์ ๊ธฐ์ค Threshold์ด์์ด ๋๋ Prediction์ Target์ผ๋ก ์ฌ๊ตฌ์ฑํ์ฌ, Miss Label์ Filtering
- ์์ธก๊ฒฐ๊ณผ ํ์ธ๊ณผ, Filtering์ ์์ฝ๊ฒ ์ ์ฉํ๊ณ , ํ์๋ค๊ณผ์ ๊ณต์ ํธ์์ฑ์ ์ํด ์๋ ์์ฑํ Data Controll Center Page์ ํด๋น ๊ธฐ๋ฅ ์ถ๊ฐ.
main.py
๋ด์FILE_PATH
๋ณ์๋ฅผ- ๋ค์์ ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ์ฌ dependency๋ฅผ ์ค์น ํด์ฃผ์ ์ผ ํฉ๋๋ค.
pip install streamlit
pip install matplotlib
apt-get install fonts-nanum*
- ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ์ฌ ์คํํ์๋ฉด ๋ฉ๋๋ค.
streamlit run main.py --server.port PORT_NUMBER
- upstage ์๋ฒ ๊ธฐ์ค์ผ๋ก ๋ค์์ ๋ช ๋ น์ด๋ฅผ ์คํํ ํ ๋ค์ ์คํ ์์ผ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
rm -rf /opt/ml/.cache/matplotlib
- ๋ค์์ ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ์ฌ ์คํ ์์ผ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
streamlit run main.py --server.port PORT_NUMBER --server.fileWatcherType none
Class Percentile
Value๋ฅผ ์กฐ์ ํด์, Miss Label์ ๋ณ๊ฒฝ์ ๊ด์ฐฐํ์ธ์!OOD(Out of Distribution)
์ ์ ์ธํ๊ณ , Miss Label์ด Filtering๋ Data๋ฅผ ์ฝ๊ฒ ๋ค์ด๋ก๋ํ์ธ์!
ํด๋น ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํด์ , Miss Label Filtering์ ์ํํ ๋ฐ์ดํฐ์ ์์ธกํ๋ฅ ์ด ํ์ํฉ๋๋ค.
โผ๏ธ Training.ipynb
๋ฅผ ๊ผญ ๋๊น์ง ์คํํด์ฃผ์ธ์
f1 | accuracy | Rank | |
---|---|---|---|
Public | 0.8815 | 0.8792 | 7 |
Private | 0.8650 | 0.8682 | 4 |