Przetwarzanie_tekstu/projekt
2023-02-10 12:42:56 +01:00
..
BERT_sms_spam.ipynb added all experiments 2023-02-10 12:42:56 +01:00
FLAN_T5_sms_spam.ipynb added all experiments 2023-02-10 12:42:56 +01:00
GPT2_sms_spam.ipynb added all experiments 2023-02-10 12:42:56 +01:00
README.md added all experiments 2023-02-10 12:42:56 +01:00
T5_sms_spam.ipynb added all experiments 2023-02-10 12:42:56 +01:00
UGP_2022_12_project.ipynb bert 2023-02-05 16:53:53 +01:00

Projekt

Wykrywanie czy podany SMS to spam - klasyfikacja.

Zbiór danych

Wykorzystaliśmy zbiór danych sms spam. Dataset posiada tylko zbiór treningowy dlatego w trakcie uczenia modeli podzielilśmy go losowo na 3 podzbiory:

  • zbiór testowy 1 000 przykładów
  • zbiór treningowy 4 116 przykładów
  • zbiór walidacyjny 458 przykładów

Ewaluacja

Ewaluacja modeli występuje po etapie trenowania na zbiorze testowym. Metryki:

  • accuracy 0-100%
  • Matthewss correlation coefficient - w skrócie accuracy, tylko bierze pod uwagę zbalansowanie zbioru, wyniki: -1 przeciwne predykcje, 0 losowe, 1 100% dokładności.

Rozwiązania

Wykorzystaliśmy 4 modele - BERT, GPT2, T5 oraz FLAN-T5

Transformer Encoder - BERT

Najważniejsze cechy:

  • wytrenowany model: bert-base-uncased
  • typ modelu transformers.BertForSequenceClassification
  • input modelu - treść smsa
  • output modelu - klasa 1 lub 2
  • finetuning na zbiorze treningowym
    • adamW optimizer
    • learning rade 2e-5
    • 32 batch size
    • 4 epoch
  • Accuracy: 99%
  • MCC: 0.973

Transformer Decoder - GPT2

Najważniejsze cechy:

  • wytrenowany model gpt2
  • typ modelu transformers.GPT2ForSequenceClassification
  • input modelu - treść smsa
  • output modelu - klasa 1 lub 2
  • finetuning na zbiorze treningowym
    • adamW optimizer
    • learning rate 2e-5
    • 8 batch size (because of OOM)
    • 4 epoch
  • Accuracy: 99%
  • MCC: 0.960

Transformer Encoder-Decoder - T5

Najważniejsze cechy:

  • wytrenowany model t5-base
  • typ modelu transformers.T5ForConditionalGeneration
  • input modelu - treść smsa
  • output modelu - tekstowo klasa 1 'conversation' lub klasa 2 'advertising'
  • finetuning na zbiorze treningowym
    • adamW optimizer
    • learning rate 3e-4
    • 16 batch size
    • 4 epoch
  • Accuracy: 0%
  • MCC: 0

Zero-shot Transformer Encoder-Decoder - FLAN-T5

Najważniejsze cechy:

  • wytrenowany model google/flan-t5-base
  • typ modelu transformers.AutoModelForSeq2SeqLM
  • input modelu - Opis zadania + treść smsa
    • Przykład: "Answer the question in one word - true if provided text is spam or false, if provided text is not spam. \nQ: Is this text spam? \nText: treść smsa \nA:"
  • output modelu - tekstowo klasa 1 'true' lub klasa 2 'false'
  • finetuning na zbiorze treningowym
    • adamW optimizer
    • learning rate 3e-4
    • 8 batch size
    • 4 epoch
  • Accauracy: 43%
  • MCC: -0.033