Entity Extraction (Varlık Çıkarımı (Entity Extraction))

Varlık çıkarımı (Entity Extraction), doğal dil işleme (NLP) alanında yapılandırılmamış metinlerden adlandırılmış varlıkları — kişi adları, kurum adları, coğrafi konumlar, tarihler, ürün adları gibi — otomatik olarak tespit etme ve sınıflandırma sürecidir.

Varlık çıkarımı (Entity Extraction), doğal dil işleme (NLP) alanında yapılandırılmamış metinlerden adlandırılmış varlıkları — kişi adları, kurum adları, coğrafi konumlar, tarihler, ürün adları gibi — otomatik olarak tespit etme ve sınıflandırma sürecidir. İsimli Varlık Tanıma (Named Entity Recognition — NER) olarak da bilinir. Varlık çıkarımı doğrudan metinsel bağlamdan bilgi grafiği (knowledge graph) oluşturma sürecinin temelidir. GraphRAG akışında belge parçalarından varlık çiftleri çıkarılır, ilişkileri belirlenir ve bunlar bir bilgi grafiğine dönüştürülür. Modern LLM tabanlı yaklaşımlarda bu süreç genellikle tek bir istemle gerçekleştirilir: Model belgeden varlıkları, türlerini ve aralarındaki ilişkileri JSON formatında çıkarır. Geleneksel NER yaklaşımları spaCy, Stanford NER veya Flair gibi dizili etiketleme modellerine dayanıyordu. Günümüzde GPT-4 ve Claude gibi LLM'lere istem bazlı varlık çıkarımı yaptırmak, sıfır-atış (zero-shot) veya az-atış (few-shot) örneklerle yüksek kaliteli sonuçlar vermektedir. Özellikle domain-spesifik varlık türleri için ince ayarlı BERT modelleri hâlâ rekabetçi seçenekler arasındadır.

Varlık Türleri ve Örnekler

person PER (Kişi)

"Elon Musk", "Atatürk". Metin içindeki gerçek veya kurgusal kişi adlarını tespit eder.

business ORG (Kurum)

"OpenAI", "Microsoft", "TBMM". Şirket, kuruluş ve organizasyon adlarını tanır.

location_on LOC (Yer)

"İstanbul", "Silikon Vadisi", "Atlantik Okyanusu". Coğrafi konum ve yapay konumlar.

category MISC (Diğer)

Ürün adları, teknolojiler, olaylar ve tarihler. GPT-4, Nobel Ödülü, 2024 Olimpiyatları gibi.

account_tree GraphRAG'da Varlık Çıkarımı Akışı

GraphRAG akışında varlık çıkarımı şöyle çalışır: 1) Belgeler parçalara (chunk) bölünür. 2) Her parça için LLM "Bu metindeki varlıkları ve ilişkileri çıkar" isteğiyle çalıştırılır. 3) Çıkarılan varlık-ilişki üçlüsü (triple) bir grafta biriktirilir. 4) Aynı varlığın farklı parçalardaki temsilleri birleştirilir (entity resolution). 5) Elde edilen grafta topluluk tespiti yapılır ve özetler üretilir.

Varlık Çıkarımı Yöntemleri ve Modeller

  • check_circle Kural Tabanlı NER: Düzenli ifadeler ve kelime listeleriyle belirli örüntüleri tespit eder. Tarih, TC kimlik numarası ve telefon numarası gibi yapısal veriler için hızlı ve güvenilir.
  • check_circle CRF (Conditional Random Fields): Klasik makine öğrenimi yöntemi; kelime özellikleri ve bağlam kullanarak sıralı etiketleme yapar. Derin öğrenme öncesi NER'ın standart yöntemiydi.
  • check_circle BiLSTM-CRF: Çift yönlü LSTM ile bağlam kodlama + CRF ile etiket tutarlılığını birleştiren derin öğrenme mimarisi. BERT öncesi güçlü NER modeli.
  • check_circle BERT Tabanlı NER: BERT'i token sınıflandırma görevi için ince ayarlama. SpaCy ve Hugging Face'de mevcut; Türkçe dahil çok dilli modeller mevcuttur.
  • check_circle LLM ile Bilgi Çıkarımı: GPT-4 veya Claude ile few-shot veya structured output (JSON mod) kullanılarak varlık çıkarımı. Özellikle özel ontoloji veya az kaynaklı diller için güçlü.
  • check_circle Bağlantılı Varlık Tanıma (Entity Linking): Tespit edilen varlığı bilgi tabanındaki (Wikidata, Freebase) ilgili kayıtla eşleştirme. NER'ı bilgi grafiğiyle birleştirir.

Varlık Çıkarımının Uygulama Alanları ve Değerlendirme

Varlık çıkarımı, yapılandırılmamış metni zengin yapısal bilgiye dönüştürmenin temel yoludur. Haber ve medya analizi: metinden kişi, kurum ve yer adlarını otomatik etiketleyerek haber arşivi indekslemek. Tıbbi NLP: klinik notlardan ilaç adları, tanılar ve semptomları çıkarmak; FDA ve EMA düzenlemeleri bu alanda yüksek doğruluk gerektirir. Finans: SEC başvurularından şirket adları, para miktarları ve tarihler. E-ticaret: ürün açıklamalarından marka, model ve özellik çıkarımı. Türkçe NER zorlukları: eklemeli dil yapısı nedeniyle token sınırları belirsizleşebilir; özel isimler büyük harf kuralı tutarsız uygulanabilir. BERTurk'ü ince ayarlamanın yanı sıra OpenAI'ın structured output modu veya Anthropic'in JSON çıktısıyla LLM tabanlı NER Türkçe için pratikte etkili seçenek. Değerlendirme: F1 skoru, kesinlik ve geri çağırma (precision/recall) her varlık tipi için ayrı raporlanmalıdır.

quiz Sık Sorulan Sorular

  • check_circle LLM tabanlı NER mi, klasik NER mi?: Genel varlık türleri için LLM az-atış ile yüksek kalite verir. Yüksek hacim ve düşük gecikme için fine-tuned BERT (spaCy+transformers) daha verimlidir. Domain-spesifik varlıklar için her iki yaklaşım da ince ayar gerektirir.
  • check_circle Entity resolution nedir?: "Elon Musk", "Musk" ve "E. Musk" gibi farklı metin ifadelerinin aynı varlığa atıfta bulunduğunu belirleyen süreçtir. Grafta tutarlı düğüm oluşturmanın ön koşuludur.
  • check_circle Varlık çıkarımı (entity extraction) nedir?: Yapılandırılmamış metinden kişi adı, kurum, yer, tarih, para miktarı gibi spesifik bilgi öğelerini otomatik olarak tespit eden NLP görevidir. Named Entity Recognition (NER) olarak da bilinir.
  • check_circle NER için hangi model kullanılır?: İngilizce için SpaCy veya Hugging Face'in BERT-tabanlı NER modelleri. Türkçe için BERTurk tabanlı NER modelleri önerilir. Özel ontoloji veya az kaynaklı senaryo için LLM few-shot yaklaşımı etkilidir.
  • check_circle Türkçe NER nasıl yapılır?: dbmdz/bert-base-turkish-cased temel alınarak ince ayar yapılabilir. Hugging Face'de hazır Türkçe NER modelleri mevcuttur. LLM tabanlı yaklaşım için Claude veya GPT'nin JSON mod çıktısı az veriyle etkili sonuç verir.
  • check_circle NER değerlendirmesi nasıl yapılır?: Her varlık tipi için kesinlik (precision), geri çağırma (recall) ve F1 skoru hesaplanır. Hem token bazlı hem span bazlı değerlendirme yapılabilir; span bazlı (tam eşleşme) genellikle daha katı ve anlamlıdır.