
Bu proje, Teknofest kapsamında Türkçe doğal dil işleme (NLP) üzerine senaryo bazında odaklanmaktadır. Proje, duygu anlizi ve bunlnarın firmalarla eşleştirilmesi için geliştirildi. Amaç, en doğru sonuç ile duygu-firma eşleştirmesini sağlamaktır.
Bu projede kullanılan başlıca teknolojiler ve kütüphaneler şunlardır:
Bu projeyi yerel makinenizde çalıştırmak için aşağıdaki adımları izleyin:
Depoyu klonlayın:
git clone https://github.com/kullaniciadi/proje-adi.git
cd proje-adi
Gerekli kütüphaneleri yükleyin:
pip install -r requirements.txt
Bu projede kullanılan veri seti, hem manuel hem otomatik etiketlenip üretildi. Bu veri seti string veri tipi içerir.
Örnek veri:
| Cümle | Sonuç |
|---|---|
| Turkcell çok iyi bir şirket. TurkTelekom ise yeteri kadar iyi değil ve kötü. | [{"entity": "Turkcell", "sentiment": "Olumlu"},{"entity": "TurkTelekom", "sentiment": "Olumsuz"}] |
Model eğitimi için 80 bin tane veriden oluşan bir veri seti hazırlandı. Veri setinin bir kısmını X'den (Twitter) bir kısmını Şikayet Var'dan ve bir kısmını ise Amazon'dan çektik. Ve bu çekilen veriler kapsamında Generative AI'a sentetik veri seti üretme ile veri setimizi çoğalttık.
from transformers import Trainer, TrainingArguments
training_args = TrainingArguments(
output_dir='./results',
evaluation_strategy="epoch",
per_device_train_batch_size=24, # Batch size'ı artırdık
per_device_eval_batch_size=24, # Batch size'ı artırdık
num_train_epochs=2, # Epoch sayısını artırdık
weight_decay=0.01,
learning_rate=1e-5, # Öğrenme oranını düşürdük
logging_dir='./logs',
logging_steps=1000,
fp16=True,
report_to='none',
save_total_limit=1, # Yalnızca son checkpoint saklanacak
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
)
trainer.train()
Modelin performansını değerlendirmek için elde edilen sonuçlar burada listelenir. Örneğin, accuracy, precision, recall, ve f1-score gibi metrikler belirtilebilir:
| Metrik | Değer |
|---|---|
| Doğruluk | 0.9382220300240934 |
| F1-Skoru | 0.9380159183820019 |
Bu projeye katkıda bulunmak isterseniz, lütfen bir Pull Request gönderin veya bir Issue açın. Katkılar her zaman memnuniyetle karşılanır!
Bu proje Apache-2.0 altında lisanslanmıştır. Daha fazla bilgi için LICENSE dosyasına bakabilirsiniz.
10 commits

Bu proje, Teknofest kapsamında Türkçe doğal dil işleme (NLP) üzerine senaryo bazında odaklanmaktadır. Proje, duygu anlizi ve bunlnarın firmalarla eşleştirilmesi için geliştirildi. Amaç, en doğru sonuç ile duygu-firma eşleştirmesini sağlamaktır.
Bu projede kullanılan başlıca teknolojiler ve kütüphaneler şunlardır:
Bu projeyi yerel makinenizde çalıştırmak için aşağıdaki adımları izleyin:
Depoyu klonlayın:
git clone https://github.com/kullaniciadi/proje-adi.git
cd proje-adi
Gerekli kütüphaneleri yükleyin:
pip install -r requirements.txt
Bu projede kullanılan veri seti, hem manuel hem otomatik etiketlenip üretildi. Bu veri seti string veri tipi içerir.
Örnek veri:
| Cümle | Sonuç |
|---|---|
| Turkcell çok iyi bir şirket. TurkTelekom ise yeteri kadar iyi değil ve kötü. | [{"entity": "Turkcell", "sentiment": "Olumlu"},{"entity": "TurkTelekom", "sentiment": "Olumsuz"}] |
Model eğitimi için 80 bin tane veriden oluşan bir veri seti hazırlandı. Veri setinin bir kısmını X'den (Twitter) bir kısmını Şikayet Var'dan ve bir kısmını ise Amazon'dan çektik. Ve bu çekilen veriler kapsamında Generative AI'a sentetik veri seti üretme ile veri setimizi çoğalttık.
from transformers import Trainer, TrainingArguments
training_args = TrainingArguments(
output_dir='./results',
evaluation_strategy="epoch",
per_device_train_batch_size=24, # Batch size'ı artırdık
per_device_eval_batch_size=24, # Batch size'ı artırdık
num_train_epochs=2, # Epoch sayısını artırdık
weight_decay=0.01,
learning_rate=1e-5, # Öğrenme oranını düşürdük
logging_dir='./logs',
logging_steps=1000,
fp16=True,
report_to='none',
save_total_limit=1, # Yalnızca son checkpoint saklanacak
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
)
trainer.train()
Modelin performansını değerlendirmek için elde edilen sonuçlar burada listelenir. Örneğin, accuracy, precision, recall, ve f1-score gibi metrikler belirtilebilir:
| Metrik | Değer |
|---|---|
| Doğruluk | 0.9382220300240934 |
| F1-Skoru | 0.9380159183820019 |
Bu projeye katkıda bulunmak isterseniz, lütfen bir Pull Request gönderin veya bir Issue açın. Katkılar her zaman memnuniyetle karşılanır!
Bu proje Apache-2.0 altında lisanslanmıştır. Daha fazla bilgi için LICENSE dosyasına bakabilirsiniz.
10 commits