SpaCy, birkaç yıldır bir varlık çıkarma projesi başlatmak isteyen her şirket için fiili bir standart olmuştur. SpaCy'yi bu kadar popüler yapan neydi? Ve 2023'te bir varlık çıkarma projesi başlatmaya çalışan herkes için iyi spaCy alternatifleri var mı? Bu makalede bu noktaları tartışalım.

İlk spaCy sürümü 2015 yılında yayınlandı ve kısa sürede kurumsal düzeyde varlık çıkarımı (NER olarak da bilinir) için standart bir çerçeve haline geldi.
Yapılandırılmamış bir metne sahipseniz (örneğin web'den geliyorsa) ve bundan tarihler, isimler, yerler vb. gibi yapılandırılmış verileri çıkarmak istiyorsanız spaCy çok iyi bir çözümdür.
SpaCy ilginçtir çünkü yaklaşık 20 dilde önceden eğitilmiş birkaç model mevcuttur (daha fazlasını burada görebilirsiniz). Bu, varlık çıkarımı için kendi modelinizi eğitmek zorunda olmadığınız anlamına gelir. Ayrıca, kendi modelinizi eğitmek istiyorsanız, sıfırdan başlamak yerine önceden eğitilmiş bir modelden başlayabileceğiniz anlamına gelir, bu da size çok zaman kazandırabilir.
SpaCy, çok hızlı, güvenilir ve kapsamlı bir dokümantasyonla birlikte geldiği için "üretim sınıfı" bir çerçeve olarak kabul edilir.
Ancak spaCy'nin önceden eğitilmiş modelleri tarafından desteklenen varsayılan varlıklar yeterli değilse, kendi modelinizi eğitmek için "veri açıklama" ("veri etiketleme" olarak da bilinir) üzerinde çalışmanız gerekecektir. Bu süreç son derece zaman alıcıdır ve birçok kurumsal varlık çıkarma projesi bu zorluk nedeniyle başarısız olur.
Diyelim ki bir metin parçasından (örneğin bir özgeçmişten veya bir şirket web sayfasından) iş unvanlarını çıkarmak istiyorsunuz. spaCy'nin önceden eğitilmiş modelleri varsayılan olarak böyle bir varlığı desteklemediğinden, spaCy'ye iş unvanlarını nasıl tanıyacağını öğretmeniz gerekecektir. Birkaç bin iş unvanı çıkarma örneği (ve hatta belki çok daha fazlasını!) içeren bir eğitim veri kümesi oluşturmanız gerekecektir. Prodigy (spaCy ekibi tarafından yapılmıştır) gibi ücretli bir açıklama yazılımı kullanabilirsiniz, ancak yine de çok fazla insan çalışması gerektirir. Aslında şirketlerin bir veri açıklama projesini yürütmek için birkaç aylığına bir grup yüklenici kiraladığını görmek oldukça yaygındır. Böyle bir iş o kadar tekrarlayıcı ve sıkıcıdır ki ortaya çıkan veri kümeleri genellikle çok fazla hata içerir...

Bakalım 2023'te hangi alternatif çözümleri deneyebileceksiniz!

Stanford CoreNLP'nin ilk sürümü 2013 yılında yayınlandı. Çok iyi sonuçlarla varlık çıkarımı yapmanızı sağlayan bir Java çerçevesidir (spaCy ise bir Python çerçevesidir).
Stanford CoreNLP de önceden eğitilmiş modeller öneriyor, ancak spaCy'den daha az (daha fazlasını burada görebilirsiniz).
Bu çerçevenin doğruluğu spaCy'ye benzer, ancak analiz ettiğiniz verilere bağlıdır. Örneğin Stanford CoreNLP yasal veriler üzerinde daha iyi sonuçlar vermektedir. Ayrıca, bazı varlıkların spaCy'ye kıyasla biraz farklı ele alındığını belirtmek gerekir (örneğin GPE varlığı için durum budur).
Performans söz konusu olduğunda, Stanford açıkça spaCy'den daha yavaş görünüyor, bu da çok yüksek bir iş hacmine ulaşmaya çalışıyorsanız bir sorun olabilir.

Flair, PyTorch derin öğrenme çerçevesine dayanan daha yeni bir Python çerçevesidir (2018'de piyasaya sürülmüştür).
Birçok dilde spaCy'ye kıyasla daha yüksek doğruluğa ulaştığı için oldukça popülerlik kazanmaktadır. Önceden eğitilmiş birkaç model önerilmiştir (daha fazlasını burada görebilirsiniz).
Ancak bu doğruluk artışı hız pahasına gerçekleşir. İş hacminiz spaCy'ye kıyasla çok daha düşük olacaktır.
Birkaç yıl önce, yeni bir tür yapay zeka modeli ortaya çıkmaya başladı: üretken modeller. Bu modeller başlangıçta metin oluşturma (bir metnin başlangıcını yazmak ve modelin geri kalanını oluşturmasına izin vermek) için oluşturuldu, ancak insanlar bu modellerin varlık çıkarma da dahil olmak üzere her türlü doğal dil işleme kullanım durumunda çok iyi olduğunu çabucak fark ettiler.
Günümüzde en popüler üretici modeller GPT-3, GPT-J, GPT-NeoX, T5 ve Bloom'dur. Tüm bu derin öğrenme modelleri, 2017 yılında Google tarafından icat edilen Transformer mimarisini kullanmaktadır.
Bu yeni nesil yapay zeka modelini çalıştırmak çok ağır ve pahalıdır. Genellikle bir veya birkaç GPU'ya dayalı üst düzey donanım gerektirirler. Ayrıca spaCy gibi çerçevelerden daha yavaştırlar. Ancak bu modeller sayesinde artık özel bir modeli eğitmeden her türlü varlığı çıkarmak mümkün!
Özel bir model oluşturmadan herhangi bir varlığı ayıklamak, birkaç vuruşlu öğrenme sayesinde mümkündür. Bu teknik, çalışma zamanında yalnızca birkaç örnek yaparak modele ne yapmak istediğinizi hızlı bir şekilde göstermekle ilgilidir. Birkaç atışla öğrenme hakkında daha fazla bilgiyi buradan edinebilirsiniz.
İş unvanları çıkarma örneğimize geri dönersek, GPT-J gibi bir modelle iş unvanlarını çıkarmak istiyorsanız, herhangi bir veriye açıklama eklemeniz gerekmeyecektir. Bu da sizi haftalar ya da aylar süren insan çalışmasından kurtaracaktır. Ve doğruluk büyük olasılıkla spaCy ile yapılan herhangi bir varlık çıkarma işleminden çok daha yüksek olacaktır.
SpaCy, günümüzde birçok şirket tarafından varlık çıkarma görevleri için üretimde kullanılan harika bir doğal dil işleme çerçevesidir.
Bununla birlikte, spaCy ve Stanford CoreNLP veya Flair gibi alternatifler doğruluk açısından sınırlıdır ve yeni varlıklar çıkarmak için sıkıcı ek açıklama çalışmaları gerektirirler. 2023 yılında GPT-J, GPT-NeoX, GPT-3 gibi metin üretimine dayalı birkaç alternatif model, herhangi bir ek açıklama olmadan varlık çıkarımı için kullanılabilir. Bu yeni modeller, giderek daha fazla şirketin varlık çıkarma projelerinde başarılı olmasına gerçekten yardımcı olacaktır.
GPT-J ve GPT-NeoX'u kullanmak istiyorsanız, NLP Cloud API'sini denemekten çekinmeyin (burada deneyin)!
Juliette
NLP Cloud'da pazarlama müdürü