Metinlerden isimleri, şirketleri ve tarihleri otomatik olarak çıkarın
NER'in regex'in çözemediği sorunları nasıl çözdüğü
Regex, sabit kalıplar için mükemmeldir: bir posta kodu her zaman belirli sayıda rakamdan oluşur, bir e-posta adresi her zaman @ içerir. Ancak kişi adları, şirketler ve tarihler sabit bir kalıba sahip değildir:
- "Ahmet Yılmaz", "Fatma Nur Çelik", "Dr. Mehmet" — hepsi isim
- "Türk Telekom", "Garanti Bankası", "Koç Holding AŞ", "Köşedeki Bakkal" — hepsi şirket
- "5 Ocak", "05/01/2026", "geçen Cuma", "önümüzdeki ay" — hepsi tarih
NER, bağlamı anlamayı öğrenen bir dil modeli kullanır: "Garanti Bankası" ile "garanti belgesi" arasındaki farkı ayırt eder. Regex bunu yapamaz; NER ise %95'in üzerinde başarı oranıyla yapabilir.

Standart ve özel varlıklar
Genel NER modelleri (spaCy, HuggingFace) şunları tespit eder:
- PER (Kişi): Ahmet Yılmaz, Dr. Ayşe
- ORG (Kuruluş): Türk Telekom, Google
- LOC (Yer): İstanbul, Türkiye
- DATE: 5 Ocak, 2026
- MONEY: ₺1.500, USD 200
- TIME: 15:30, sabah 9'da
- PERCENT: %20, 0,5
Belirli alanlara özel ihtiyaçlarınız için özel bir model eğitebilirsiniz. Örnekler:
- Hukuk: kanunlar (6698 sayılı Kanun), dava numaraları, mahkemeler
- Tıp: ilaçlar, hastalıklar (ICD-10), prosedürler
- Finans: hisse senedi kodları, şubeler, hesaplar
Brainiall, Business planında talep üzerine özel modeller sunar.
Arka planda nasıl çalışır (30 saniyede)
1. Tokenizasyon: metin kelimeler ve noktalama işaretlerine ayrılır
2. POS etiketleme: her kelimeye bir dilbilgisel sınıf atanır (isim, fiil...)
3. Bağlamsal analiz: her kelime, komşuları dikkate alınarak 768+ boyutlu bir vektöre dönüştürülür
4. BIO sınıflandırması: her token Başlangıç, İçinde veya Dışında olarak etiketlenir. Örn: "Ahmet" (B-PER) "Yılmaz" (I-PER) "çalışıyor" (O) "" (O) "Türk Telekom'da" (B-ORG)
5. Birleştirme: ardışık B+I token'ları tek bir varlık haline getirilir
Modern modeller (mBERT, XLM-R, multilingual DeBERTa) bu pipeline'ı bir paragraf için ~10-50ms'de çalıştırır.
Pratik kullanım senaryoları
- CRM zenginleştirme: e-postalardan şirket ve kişi bilgilerini çıkararak veritabanını güncelleme
- Haber analizi: medyada markanızın, rakiplerinizin ve yöneticilerinizin anılmasını izleme
- Uyumluluk: KVKK denetimi için belgelerdeki kişi adlarını tespit etme
- Araştırma: akademik makalelerden yazar, atıf ve tarihleri büyük ölçekte çıkarma
- Hukuki analiz: dava taraflarını, atıfta bulunulan kanunları ve karar tarihlerini belirleme
Türkçe'ye özgü sınırlamalar
- Eklemeli yapı: "Türk Telekom'da" gibi ifadelerde bazı modeller varlığı yanlış bölebilir
- Resmi unvan içermeyen işletmeler: "Köşedeki Bakkal" bir açıklama olarak geçebilir, varlık olarak algılanmayabilir
- Takma adlar: "Atatürk" kişi mi, yer mi? — büyük/küçük harf duyarlılığı değişkenlik gösterir
- Türk adresleri: Mahalle + Cadde/Sokak + No + Posta Kodu — segmentasyon hata yapabilir
- Kısaltmalar: "TBMM" bir varlık mı, yoksa sıradan bir kelime mi?
İpucu: sınır durumlar için, üretime almadan önce mutlaka 100 örneği manuel olarak gözden geçirin.
API üzerinden entegrasyon
Tek endpoint, varlık dizisi döndürür:
`python
import httpx
r = httpx.post(
"https://api.brainiall.com/api/nlp/ner",
json={"text": "Ahmet Yılmaz, Türk Telekom'dan, 5 Ocak'ta açıkladı."},
headers={"Authorization": "Bearer brnl-xxx"}
)
# [{"text": "Ahmet Yılmaz", "type": "PER", "start": 0, "end": 12},
# {"text": "Türk Telekom", "type": "ORG", "start": 15, "end": 27},
# {"text": "5 Ocak", "type": "DATE", "start": 34, "end": 40}]`
Hemen deneyin
Brainiall sohbet arayüzünde "bu metinden kişileri, şirketleri ve tarihleri çıkar: [yapıştırın]" yazın. Ya da /api/nlp/ner API'si üzerinden kullanın. Pro planı ayda 10.000 istek içerir; Business planı toplu işlem ve özel modeller sunar.