TRT-Data-Warriors/Tackling-Hate-Speech

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

22

stars

30

commits

Python

primary language

Dec 25, 2023

updated

acikhack2023
acikhack2023tddi

README

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ıfEski Durumdaki Veri SayılarıData Augmentation Sonrası Veri Sayıları Fark
OTHER361684554839
INSULT24192890471
RACIST20172475458
SEXIST2112219280
PROFANITY23982854456

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ı

ModelOrtalama F1 Macro SkoruCVTraining Time
1. TFIDF + Catboost/XGB~0.75-0.77No~45s
2. Fasttext/Word2Vec + BiLSTM/CNN~0.87-0.89No~271s (30 epochs)
3. BERTurk (cased, 32k) (Fine-tuned)0.9376No~345s (10 epochs)
4. BERTurk (uncased, 32k) (Fine-tuned)0.9412No~322s (10 epochs)
5. ConvBERTurk (Fine-tuned)0.9431No~301s (10 epochs)
6. ConvBERTurk mC4 + Bi-LSTM + Attention0.9664Yes~451s (1 Fold - 20 epochs)
7. ConvBERTurk mC4 + Bi-GRU + CNN0.9672Yes~475s (1 Fold - 20 epochs)
8. ConvBERTurk mC4 + Bi-LSTM0.9674Yes~492s (1 Fold - 20 epochs)
9: Ensemble --> 6, 7 ve 8. modeller0.97003No-

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ı

MODELF1-MACRO INSULT F1OTHER F1PROFANITY F1RACIST F1SEXIST F1
Ensemble Model0.97003 0.930.980.980.980.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

Contributors

mustafaabudakk

30 commits

TRT-Data-Warriors/Tackling-Hate-Speech

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

22

stars

30

commits

Python

primary language

Dec 25, 2023

updated

acikhack2023
acikhack2023tddi

README

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ıfEski Durumdaki Veri SayılarıData Augmentation Sonrası Veri Sayıları Fark
OTHER361684554839
INSULT24192890471
RACIST20172475458
SEXIST2112219280
PROFANITY23982854456

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ı

ModelOrtalama F1 Macro SkoruCVTraining Time
1. TFIDF + Catboost/XGB~0.75-0.77No~45s
2. Fasttext/Word2Vec + BiLSTM/CNN~0.87-0.89No~271s (30 epochs)
3. BERTurk (cased, 32k) (Fine-tuned)0.9376No~345s (10 epochs)
4. BERTurk (uncased, 32k) (Fine-tuned)0.9412No~322s (10 epochs)
5. ConvBERTurk (Fine-tuned)0.9431No~301s (10 epochs)
6. ConvBERTurk mC4 + Bi-LSTM + Attention0.9664Yes~451s (1 Fold - 20 epochs)
7. ConvBERTurk mC4 + Bi-GRU + CNN0.9672Yes~475s (1 Fold - 20 epochs)
8. ConvBERTurk mC4 + Bi-LSTM0.9674Yes~492s (1 Fold - 20 epochs)
9: Ensemble --> 6, 7 ve 8. modeller0.97003No-

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ı

MODELF1-MACRO INSULT F1OTHER F1PROFANITY F1RACIST F1SEXIST F1
Ensemble Model0.97003 0.930.980.980.980.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

Contributors

mustafaabudakk

30 commits

Languages

Python

71.2%

Jupyter Notebook

28.8%