Skip to main content

Transformer modelleri için C-optimize Türkçe NLP veri ön işleme ve çoklu etiket kodlayıcısı.

Project description

🇹🇷 turk-nlp-prep

Transformer tabanlı NLP modelleri (Turkish BERT, XLM-RoBERTa vb.) için C-seviyesinde optimize edilmiş, yüksek performanslı Türkçe veri ön işleme ve çoklu etiket (multi-label) kodlama kütüphanesi.

🚀 Özellikler

  • Akıllı Metin Normalizasyonu: Türkçe'ye özgü şapkalı harf (KÂĞIT -> kağıt) ve büyük/küçük harf (İ/I) dönüşümlerini hatasız yönetir.
  • Anti-Gürültü: Sosyal medya verilerindeki karakter uzamalarını (çoooook -> çook), HTML etiketlerini ve URL/E-posta sızıntılarını temizler.
  • Kesme İşareti Zekası: İstanbul'da gibi yapıları istanbul da olarak ayırarak kelime köklerinin (tokenizer tarafından) doğru tanınmasını sağlar.
  • O(1) Vektörizasyon (Advanced Indexing): Dinamik sınıf sayısına sahip çoklu etiketleri (multi-label) NumPy Advanced Indexing kullanarak milisaniyeler içinde ikili (binary) matrislere çevirir.
  • Tip Güvenliği & Hata Toleransı: Eğitimde görülmeyen yepyeni bir etiket (out-of-vocabulary label) geldiğinde sistemi çökertmez, sessizce izole eder.

📦 Kurulum

Projeyi klonladıktan sonra bağımlılıkları yüklemek için:

git clone [https://github.com/KULLANICI_ADIN/turk-nlp-prep.git](https://github.com/KULLANICI_ADIN/turk-nlp-prep.git)
cd turk-nlp-prep
pip install -r requirements.txt

(Not: Yakında PyPI üzerinden pip install turk-nlp-prep ile indirilebilir olacaktır.)

💻 Kullanım (Hızlı Başlangıç)

Kütüphane, Pandas DataFrame'leri ile tam uyumlu çalışacak şekilde tasarlanmıştır.

import pandas as pd
from turk_nlp_prep import TurkishTextNormalizer, MultiLabelMatrixEncoder

# 1. Örnek Veri Seti
df = pd.DataFrame({
    'metin': ["İSTANBUL'daki yeni YAZILIM yatırımları harikaaa!!! [www.ornek.com](https://www.ornek.com)"],
    'etiketler': [["Teknoloji", "Yazılım"]]
})

# 2. Modülleri Başlat (Esnek parametrelerle)
normalizer = TurkishTextNormalizer(remove_numbers=True, fix_elongations=True)
encoder = MultiLabelMatrixEncoder()

# 3. Boru Hattını (Pipeline) Çalıştır
df['temiz_metin'] = df['metin'].apply(normalizer.normalize)
hedef_matris = encoder.fit_transform(df['etiketler'].tolist())

print(df['temiz_metin'].iloc[0])
# Çıktı: "istanbul daki yeni yazılım yatırımları harikaa"

print(hedef_matris)
# Çıktı: [[1 1]] (Teknoloji ve Yazılım sınıfları aktif)

🧠 Sistem Mimarisi

  • TurkishTextNormalizer: Tüm regex (düzenli ifade) kurallarını __init__ bloğunda C seviyesinde önceden derleyerek (pre-compiled) döngü maliyetini sıfıra indirir.
  • MultiLabelMatrixEncoder: __slots__ bellek yönetimi ve np.int8 (8-bit) veri tipi kullanarak milyonlarca satırlık eğitim verilerinde RAM tüketimini minimize eder.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

turk_nlp_prep-0.1.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

turk_nlp_prep-0.1.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file turk_nlp_prep-0.1.0.tar.gz.

File metadata

  • Download URL: turk_nlp_prep-0.1.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.8

File hashes

Hashes for turk_nlp_prep-0.1.0.tar.gz
Algorithm Hash digest
SHA256 134ee99e721c28e33b99cd7dc8df11ac40a207cc607137115aba6097c4e2aa73
MD5 5427f211d6a5a912975d71c85f7ba5e5
BLAKE2b-256 efa4b6a731c2d159c341b6bb8a2a30984b5d2c6622e7af9e39ff7db87b0afc08

See more details on using hashes here.

File details

Details for the file turk_nlp_prep-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: turk_nlp_prep-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.8

File hashes

Hashes for turk_nlp_prep-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb367b5e3e2f20ef35ff026337623545208aee5e02f0defc2db091b84afd5627
MD5 8b394d9bfa68f5542abe0a505980198c
BLAKE2b-256 4bd2a51468b68b178e960689e6fdb744f130c577d9febae8f734894cbcaf95ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page