Skip to content

boostcampaitech7/level2-nlp-datacentric-nlp-15

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

66 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ† LV.2 NLP ν”„λ‘œμ νŠΈ : '주제 λΆ„λ₯˜ ν”„λ‘œμ νŠΈ'

✏️ λŒ€νšŒ μ†Œκ°œ

νŠΉμ§• μ„€λͺ…
λŒ€νšŒ 주제 데이터 쀑심 μžμ—°μ–΄μ²˜λ¦¬ λŒ€νšŒ - 데이터 ν’ˆμ§ˆ κ°œμ„ μ„ ν†΅ν•œ μ„±λŠ₯ ν–₯상
λŒ€νšŒ μ„€λͺ… λͺ¨λΈ ꡬ쑰 λ³€κ²½ 없이 데이터 ν’ˆμ§ˆ κ°œμ„ λ§ŒμœΌλ‘œ λΆ„λ₯˜ μ„±λŠ₯을 ν–₯μƒμ‹œν‚€λŠ” λŒ€νšŒ
데이터 ꡬ성 원본 데이터: 2,800개 (λ…Έμ΄μ¦ˆ 1,600개, 였라벨링 1,000개, 정상 데이터 200개)
평가 μ§€ν‘œ Macro F1 Score

πŸŽ–οΈ Leader Board

πŸ₯‡ Public Leader Board (1μœ„)

image

πŸ₯‡ Private Leader Board (1μœ„)

image

πŸ‘¨β€πŸ’» 15μ‘°κ°€μ‹­μ˜€μ‘° 멀버

κΉ€μ§„μž¬ λ°•κ·œνƒœ μœ€μ„ μ›… 이정민 μž„ν•œνƒ

πŸ‘Ό μ—­ν•  λΆ„λ‹΄

νŒ€μ› μ—­ν• 
κΉ€μ§„μž¬ Clustering​, Data Augmentation​, LLM Relabeling
λ°•κ·œνƒœ EDA​, Data Denoise​, Data Augmentation​, LLM Relabeling​
μœ€μ„ μ›… Data Augmentation​, Clustering​, LLM Relabeling
이정민 Data Denoise​, Noun Removal​, Clustering​
μž„ν•œνƒ Data Denoise​, Back Translation​, Data Augmentation

πŸƒ ν”„λ‘œμ νŠΈ

πŸ–₯️ ν”„λ‘œμ νŠΈ κ°œμš”

κ°œμš” μ„€λͺ…
주제 데이터 ν’ˆμ§ˆ κ°œμ„ μ„ ν†΅ν•œ λ‰΄μŠ€ 기사 주제 λΆ„λ₯˜ μ„±λŠ₯ ν–₯상
λͺ©ν‘œ λ…Έμ΄μ¦ˆ 제거, 데이터 증강 등을 ν†΅ν•œ F1 Score κ°œμ„ 
평가 μ§€ν‘œ Macro F1 Score
개발 ν™˜κ²½ Python 3.10, PyTorch, Transformers
ν˜‘μ—… ν™˜κ²½ GitHub, Notion, Slack, W&B

πŸ“… ν”„λ‘œμ νŠΈ νƒ€μž„λΌμΈ

  • ν”„λ‘œμ νŠΈλŠ” 2024.10.28 - 2024.11.07 (총 11일) image

πŸ•΅οΈ ν”„λ‘œμ νŠΈ μ§„ν–‰

  • ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©° λ‹¨κ³„λ³„λ‘œ μ‹€ν—˜ν•˜μ—¬ μ μš©ν•œ λ‚΄μš©λ“€μ„ μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.
ν”„λ‘œμ„ΈμŠ€ μ„€λͺ…
EDA λ…Έμ΄μ¦ˆ/λΉ„-λ…Έμ΄μ¦ˆ 데이터 뢄석, 라벨 뢄포 뢄석
μ „μ²˜λ¦¬ LLM 기반 λ…Έμ΄μ¦ˆ 제거, λͺ…사 기반 쀑볡 데이터 제거
증강 LLM을 ν™œμš©ν•œ 데이터 증강, DeepL APIλ₯Ό ν™œμš©ν•œ μ—­λ²ˆμ—­
ν΄λŸ¬μŠ€ν„°λ§ GMM, K-Means ν™œμš©ν•œ 였라벨 데이터 보정
LLM μ„ μ • 1. EXAONE-3.0-7.8B-Instruct (KoMT 벀치마크 κ³ μ„±λŠ₯)
2. aya-expanse-8b (m-ArenaHard 벀치마크 κ³ μ„±λŠ₯)
3. ko-gemma-2-9b-it (Horangi Leaderboard κ³ μ„±λŠ₯)

πŸ“Š Dataset

  • 데이터 증강 및 μ •μ œ 과정을 톡해 원본 λ°μ΄ν„°μ—μ„œ κ³ ν’ˆμ§ˆμ˜ μ΅œμ’… 데이터셋을 κ΅¬μΆ•ν–ˆμŠ΅λ‹ˆλ‹€.
단계 μ„€λͺ… 크기
Raw Data 원본 데이터 (λ…Έμ΄μ¦ˆ 1,600개 포함) 2,800개
Final Dataset LLM 기반 λ…Έμ΄μ¦ˆ 제거, 데이터 증강, μ—­λ²ˆμ—­, ν΄λŸ¬μŠ€ν„°λ§ 보정을 톡해 κ΅¬μΆ•λœ μ΅œμ’… 데이터 15,780개

πŸ“ ν”„λ‘œμ νŠΈ ꡬ쑰

ν”„λ‘œμ νŠΈ 폴더 κ΅¬μ‘°λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

level2-datacentric-nlp-15
β”œβ”€β”€ data
β”‚   β”œβ”€β”€ test_dataset
β”‚   └── train_dataset
β”œβ”€β”€ models
β”œβ”€β”€ output
β”œβ”€β”€ README.md
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ run.py
└── src
    β”œβ”€β”€arguments.py
    β”œβ”€β”€main.py
    β”œβ”€β”€model.py
    β”œβ”€back_translation
    β”‚ └── back_translation.ipynb
    β”‚
    β”œβ”€clustering
    β”‚ └── clustering.ipynb
    β”‚
    β”œβ”€LLM_noise_tasks
    β”‚ β”œβ”€β”€ char_filter.py
    β”‚ β”œβ”€β”€ LLM_aug.ipynb
    β”‚ β”œβ”€β”€ LLM_cleaning_noise.ipynb
    β”‚ └── LLM_label_filtering.ipynb
    β”‚
    β”œβ”€noun_removal
    β”‚ └── noun_analysis.py
    β”‚
    └─post_processing_cleanlab
      └── post_processing.ipynb

πŸ“¦ src 폴더 ꡬ쑰 μ„€λͺ…

β€’ arguments.py : 데이터 증강을 ν•˜λŠ” 파일
β€’ main.py : λͺ¨λΈ train, eval, prediction 을 μˆ˜ν–‰ν•˜λŠ” 파일
β€’ model.py : μž…λ ₯ ν…μŠ€νŠΈμ™€ λ ˆμ΄λΈ” 데이터λ₯Ό BERT λͺ¨λΈ ν•™μŠ΅μ— 맞게 ν† ν¬λ‚˜μ΄μ¦ˆν•˜κ³  ν…μ„œ ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•΄μ£ΌλŠ” PyTorch Dataset κ΅¬ν˜„ν•œ 파일
β€’ back_translation.ipynb : μ—­λ²ˆμ—­ ν…ŒμŠ€ν¬μ„ μˆ˜ν–‰ν•˜λŠ” 파일 
β€’ clustering.ipynb : ν΄λŸ¬μŠ€ν„°λ§ ν…ŒμŠ€ν¬λ₯Ό μˆ˜ν–‰ν•˜λŠ” 파일
β€’ char_filter.py : λΆˆν•„μš”ν•œ noise 데이터λ₯Ό μ „/ν›„ μ²˜λ¦¬ν•˜λŠ” 파일
β€’ LLM_aug.ipynb : LLM 을 ν™œμš©ν•œ 데이터 생성, 증강을 μˆ˜ν–‰ν•˜λŠ” 파일
β€’ LLM_cleaning_noise.ipynb : LLM 을 ν™œμš©ν•œ noiseλ₯Ό νŒλ³„ν•˜κ³  denoise을 μˆ˜ν–‰ν•˜λŠ” 파일
β€’ LLM_label_filtering.ipynb : LLM 을 ν™œμš©ν•΄μ„œ ν…μŠ€νŠΈλ“€μ˜ 주제λ₯Ό 뽑고 재-라벨링, 생성을 μˆ˜ν–‰ν•˜λŠ” 파일
β€’ noun_analysis.py : λ‹¨μ–΄μ˜ λΉˆλ„λ₯Ό λΆ„μ„ν•˜μ—¬μ„œ 데이터λ₯Ό μ •μ œν•˜μ—¬ κ°œμ„ μ„ μˆ˜ν–‰ν•˜λŠ” 파일
β€’ post_processing.ipynb : cleanlab 을 ν™œμš©ν•˜μ—¬μ„œ 데이터λ₯Ό μ •μ œ, 제거λ₯Ό μˆ˜ν–‰ν•˜λŠ” 파일

πŸ“¦ Installation

- python=3.10 ν™˜κ²½μ—μ„œ requirements.txtλ₯Ό pip둜 install ν•©λ‹ˆλ‹€. (pip install -r requirements.txt)
- python run.pyλ₯Ό μž…λ ₯ν•˜μ—¬ ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€.

About

level2-nlp-datacentric-nlp-15 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors