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

Yapılandırılmamış metinden kişi, kurum, yer ve tarih gibi anlamlı varlıkları otomatik olarak tespit eden ve sınıflandıran NLP tekniği.

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. Teknik açıdan NER, her tokeni BIO (Beginning-Inside-Outside) veya BIOES şemasıyla etiketleyen bir dizi etiketleme problemidir. Geleneksel yöntemler kural tabanlı düzenli ifadeler ve istatistiksel Koşullu Rastsal Alanlar (CRF) üzerine kuruluydu. BiLSTM-CRF mimarisi, bağlamsal özellik öğrenmeyi CRF etiket tutarlılığıyla birleştirerek 2010'ların NER standardı oldu. 2019'dan itibaren BERT tabanlı token sınıflandırması bu mimarinin büyük bölümünün yerini aldı; alan-özgü varlık türleri (tıbbi terminoloji, hukuki belgeler) için ince ayarlı BERT modelleri güçlü seçenek olmaya devam etmektedir. Modern LLM tabanlı yaklaşımlarda süreç kökten basitleşmiştir: GPT-4 veya Claude'a few-shot örnekler vererek ya da structured output (JSON mod) kullanarak sıfır veya az örnekten yüksek kaliteli NER sonuçları elde etmek mümkündür. Bu yaklaşım özellikle özel ontoloji ve az kaynaklı dillerde esneklik sağlar. Varlık çıkarımı doğrudan metinsel bağlamdan bilgi grafiği 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. Topluluk tespiti ve özetleme aşamalarının girdisini bu varlık-ilişki üçlüleri oluşturur. Türkçe NER'da eklemeli dil yapısı ek bir zorluk katmanı ekler: token sınırları belirsizleşebilir ve özel isimler büyük harf kuralını her zaman izlemeyebilir. BERTurk tabanlı ince ayar veya LLM'in JSON çıktı moduyla birkaç örnekten öğrenme en pratik seçeneklerdir. Değerlendirme span bazlı F1 skoru ile yapılır; kesinlik (precision) ve geri çağırma (recall) her varlık tipi için ayrı raporlanır. CoNLL-2003 ve OntoNotes bu alanın standart kıyaslama veri kümeleridir.

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.

Araçlar, Kütüphaneler ve Kıyaslama

  • check_circle spaCy: Hızlı üretim NER uygulamaları için popüler seçenek; İngilizce dahil 25+ dil için hazır model sunar, Türkçe için özel model eğitilebilir.
  • check_circle Hugging Face Transformers: AutoModelForTokenClassification ile BERT tabanlı NER ince ayarı; BERTurk Türkçe için önerilen temel modeldir.
  • check_circle LLM Structured Output: OpenAI JSON modu veya Anthropic tool use ile few-shot NER; sıfır etiket verisiyle özel varlık türleri için etkili yaklaşım.
  • check_circle CoNLL-2003 ve OntoNotes: İngilizce NER için standart kıyaslama veri kümeleri; F1 skoru kesinlik ve geri çağırma (precision/recall) bileşenlerinden hesaplanı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.