Teknofest 2024 Turkce Dogal Dil Isleme Yarismasi Finalist Projesi
Turkce metinler uzerinde kapsamli dogal dil isleme (NLP) islemleri gerceklestiren modern bir web uygulamasi.
| Ozellik | Aciklama | Model |
|---|---|---|
| Metin Ozetleme | Uzun metinleri otomatik ozetler | mT5-Turkish |
| Duygu Analizi | Pozitif/Negatif/Notr siniflandirma | BERT-Turkish-Sentiment |
| Metin Siniflandirma | Kategori tahmini (ekonomi, spor, politika, teknoloji) | BERT-Turkish-Classification |
| Soru-Cevap | Baglam icinde soru cevaplama | BERT-Turkish-SQuAD |
| Anahtar Kelime | TF-IDF, TextRank tabanli cikarma | Custom |
| Varlik Tanima (NER) | Kisi, yer, organizasyon tespiti | BERT-Turkish-NER |
| Ceviri | 15+ dil destegi | Helsinki-NLP/OPUS |
| PDF Isleme | Metin ve tablo cikarma, OCR destegi | PyMuPDF + pdfplumber |
veri_kaganligi/
├── backend/
│ ├── app/
│ │ ├── api/ # API endpoint'leri
│ │ ├── models/ # NLP modelleri
│ │ ├── services/ # PDF ve dosya servisleri
│ │ ├── config.py # Konfigürasyon
│ │ └── main.py # FastAPI uygulamasi
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── components/ # React componentleri
│ │ ├── utils/ # API fonksiyonlari
│ │ └── styles/ # CSS/Styled Components
│ └── package.json
├── data/ # Ornek veriler
└── tests/ # Test dosyalari
# Sanal ortam olustur
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Bagimliliklari yukle
cd backend
pip install -r requirements.txt
# Uygulamayi baslat
uvicorn app.main:app --reload --port 8000cd frontend
# Bagimliliklari yukle
yarn install # veya npm install
# Uygulamayi baslat
yarn start # veya npm startAPI dokumantasyonuna http://localhost:8000/docs adresinden erisebilirsiniz.
Metin Ozetleme:
curl -X POST "http://localhost:8000/api/v1/summarize" \
-H "Content-Type: application/json" \
-d '{"text": "Ozetlenecek uzun metin...", "max_length": 150}'Duygu Analizi:
curl -X POST "http://localhost:8000/api/v1/analyze-sentiment" \
-H "Content-Type: application/json" \
-d '{"text": "Bu urun cok guzel!"}'Soru-Cevap:
curl -X POST "http://localhost:8000/api/v1/answer-question" \
-H "Content-Type: application/json" \
-d '{"context": "Ankara Turkiyenin baskentidir.", "question": "Turkiyenin baskenti neresidir?"}'POST /api/v1/summarize- Metin ozetlemePOST /api/v1/analyze-sentiment- Duygu analiziPOST /api/v1/analyze-entity-sentiment- Varlik bazli duygu analiziPOST /api/v1/extract-keywords- Anahtar kelime cikarmaPOST /api/v1/classify-text- Metin siniflandirmaPOST /api/v1/recognize-entities- Varlik tanima (NER)POST /api/v1/answer-question- Soru-cevap
POST /api/v1/translate- Tekli ceviriPOST /api/v1/translate-multiple- Coklu dil cevirisiPOST /api/v1/detect-language- Dil tespitiGET /api/v1/supported-languages- Desteklenen diller
POST /api/v1/upload-pdf- PDF yukleme ve islemePOST /api/v1/upload-file- Genel dosya yukleme (PDF, CSV, Excel, Word)
- FastAPI - Modern, yuksek performansli web framework
- Transformers - HuggingFace NLP modelleri
- PyTorch - Derin ogrenme kutuphanesi
- PyMuPDF & pdfplumber - PDF isleme
- React 18 - UI kutuphanesi
- Material-UI - Component kutuphanesi
- Styled Components - CSS-in-JS
- Axios - HTTP istemcisi
savasy/bert-base-turkish-sentiment-casedsavasy/bert-turkish-text-classificationsavasy/bert-base-turkish-squadsavasy/bert-base-turkish-ner-casedozcangundes/mt5-small-turkish-summarizationHelsinki-NLP/opus-mt-*
Yasin Tanis - @ysntns
Bu proje Apache License 2.0 altinda lisanslanmistir. Detaylar icin LICENSE dosyasina bakiniz.
Teknofest 2024 Turkce Dogal Dil Isleme Yarismasi icin gelistirilmistir.