Skip to content

TRT-Data-Warriors/Tackling-Hate-Speech

Repository files navigation

Aşağılayıcı Söylemlerin Doğal Dil İşleme İle Tespiti

TRT DATA WARRIORS TEAM

HIZLI BAŞLANGIÇ

NOTE: Modellere erişmek için HuggingFace sayfasını ziyaret edebilirsiniz.

Gereksinimler

Conda paket yöneticisi en son sürümde olmalıdır.

Herhangi bir CUDA/GPU sorunuyla karşılaşmamak için doğru bir biçimde conda ortamları kurulmalı ve requirements.txt içindeki paket versiyonlarına dikkat edilmelidir. Tensorflow GPU için komutlar aşağıdaki gibi uygulanabilir. Tüm kurulum adımları environment.yml içinde verilmiştir.

conda create --name=tf_gpu python=3.9
conda activate tf_gpu
conda install -c conda-forge cudatoolkit=11.2.2 cudnn=8.1.0
mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/' > $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh

# restart program/server
conda activate tf_gpu
python3 -m pip install tensorflow==2.10

Ortam Kurulumu

Projeyi sorunsuz çalıştırabilmek için aşağıdaki komutları kullanarak bir virtual environment oluşturun:

conda env create -f environment.yml
conda activate tdd_acikhack

Donanım

  • GPU: NVIDIA RTX A6000 48GB
  • Processor: AMD EPYC 7742 64-Core Processor
  • RAM : 256GB

Veri Artırımı (Data Augmentation)

Training veri setine yaklaşık 6k yeni veri eklenmiştir. Sınıflara göre ek veri sayısı:

Sınıf Eski Durumdaki Veri Sayıları Data Augmentation Sonrası Veri Sayıları  Fark
OTHER 3616 8455 4839
INSULT 2419 2890 471
RACIST 2017 2475 458
SEXIST 2112 2192 80
PROFANITY 2398 2854 456

Veri artırmadaki amaç modeli genelleştirmek ve metinlerin daha fazla yönlendirilmesini ve öğrenmesini sağlamaktır, böylece test sırasında model test verilerini iyi kavrayabilir. Bu nedenle, büyütme tekniğini sadece eğitim setleri için kullanmak daha mantıklıdır.

Ek Verileri Nereden Topladık?

Nasıl Çalıştırılır?

  python run.py
--train_data_path TRAIN_VERISI_ADRESI
--valid_data_path VALIDATION_VERISI_ADRESI   
--max_len 32   
--epochs 20   
--batch_size 256

ya da classification.ipynb notebookunu kullanabilirsiniz.

Tüm Model Deney Sonuçları

Model Ortalama F1 Macro Skoru CV Training Time
1. TFIDF + Catboost/XGB ~0.75-0.77 No ~45s
2. Fasttext/Word2Vec + BiLSTM/CNN ~0.87-0.89 No ~271s (30 epochs)
3. BERTurk (cased, 32k) (Fine-tuned) 0.9376 No ~345s (10 epochs)
4. BERTurk (uncased, 32k) (Fine-tuned) 0.9412 No ~322s (10 epochs)
5. ConvBERTurk (Fine-tuned) 0.9431 No ~301s (10 epochs)
6. ConvBERTurk mC4 + Bi-LSTM + Attention 0.9664 Yes ~451s (1 Fold - 20 epochs)
7. ConvBERTurk mC4 + Bi-GRU + CNN 0.9672 Yes ~475s (1 Fold - 20 epochs)
8. ConvBERTurk mC4 + Bi-LSTM 0.9674 Yes ~492s (1 Fold - 20 epochs)
9: Ensemble --> 6, 7 ve 8. modeller 0.97003 No -

Ensemble İşlemi Uygulanan 3 Farklı Model Yapısı

  • ConvBERTurk mC4 + Bi-LSTM
  • ConvBERTurk mC4 + Bi-GRU + CNN
  • ConvBERTurk mC4 + Bi-LSTM + Attention

Ensemble Model Performansı

MODEL F1-MACRO  INSULT F1 OTHER F1 PROFANITY F1 RACIST F1 SEXIST F1
Ensemble Model 0.97003  0.93 0.98 0.98 0.98 0.97

KAYNAKLAR

Katkıda Bulunanlar

Danışman: İlknur Durgar ElKahlout - GitHub
Kaptan: Mustafa Budak - GitHub
Üye: Muhammed Emir Koçak - GitHub
Üye: Nusret Özateş - GitHub
Üye: Burcu Şenol - GitHub

About

Aşağılayıcı Söylemlerin Doğal Dil İşleme İle Tespiti

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published