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'dagibi yapılarıistanbul daolarak 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 venp.int8(8-bit) veri tipi kullanarak milyonlarca satırlık eğitim verilerinde RAM tüketimini minimize eder.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
134ee99e721c28e33b99cd7dc8df11ac40a207cc607137115aba6097c4e2aa73
|
|
| MD5 |
5427f211d6a5a912975d71c85f7ba5e5
|
|
| BLAKE2b-256 |
efa4b6a731c2d159c341b6bb8a2a30984b5d2c6622e7af9e39ff7db87b0afc08
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb367b5e3e2f20ef35ff026337623545208aee5e02f0defc2db091b84afd5627
|
|
| MD5 |
8b394d9bfa68f5542abe0a505980198c
|
|
| BLAKE2b-256 |
4bd2a51468b68b178e960689e6fdb744f130c577d9febae8f734894cbcaf95ad
|