Aracılığıyla paylaş


Doğal dil işleme teknolojisi

Doğal dil işleme yaklaşım analizi, konu algılama, dil algılama, anahtar ifade ayıklama ve belge kategorisi gibi birçok uygulamaya sahiptir.

Özellikle, doğal dil işlemeyi kullanarak şunları yapabilirsiniz:

  • Belgeleri sınıflandırma. Örneğin, bunları hassas veya istenmeyen posta olarak etiketleyebilirsiniz.
  • Doğal dil işleme çıkışlarını kullanarak sonraki işlemleri veya aramaları gerçekleştirin.
  • Belgedeki varlıkları tanımlayarak metni özetleyin.
  • Tanımlanan varlıkları kullanarak belgeleri anahtar sözcüklerle etiketleyin.
  • Etiketleri kullanarak içerik tabanlı arama ve alma işlemleri gerçekleştirin.
  • Tanımlanan varlıkları kullanarak belgenin önemli konularını özetleyin.
  • Algılanan konuları kullanarak belgeleri gezinti için kategorilere ayırın.
  • Seçili konuya göre ilgili belgeleri numaralandır.
  • Metin yaklaşımını değerlendirerek olumlu veya negatif tonunu anlayın.

Teknoloji ilerledikçe metin verilerini kategorilere ayırmak ve analiz etmek için doğal dil işlemeyi kullanabilirsiniz. Bunu, farklı etki alanlarında yorumlanabilir yapay zeka işlevlerini geliştirmek için de kullanabilirsiniz. Dil modellerinin tümleştirilmesi, doğal dil işleme özelliklerini önemli ölçüde artırır. GPT ve BERT gibi dil modelleri insansı, bağlamsal olarak duyarlı metinler oluşturabilir. Bu özellik, karmaşık dil işleme görevleri için bunları son derece etkili hale getirir. Bunlar, özellikle Databricks'in Dolly 2.0 gibi modellerle konuşma sistemlerini ve müşteri etkileşimlerini geliştiren daha geniş bilişsel görevleri işleyerek mevcut doğal dil işleme tekniklerini tamamlar.

Dil modelleri ile doğal dil işleme arasındaki ilişki ve farklar

Doğal dil işleme, insan dilini işlemeye yönelik çeşitli teknikleri kapsayan kapsamlı bir alandır. Buna karşılık, dil modelleri doğal dil işlemenin belirli bir alt kümesidir. Üst düzey dil görevlerini gerçekleştirmek için derin öğrenmeye odaklanır. Dil modelleri, gelişmiş metin oluşturma ve anlama özellikleri sağlayarak doğal dil işlemeyi geliştirir, ancak doğal dil işleme ile eş anlamlı değildir. Bunun yerine, daha gelişmiş dil işlemeyi etkinleştirerek daha geniş bir doğal dil işleme etki alanında güçlü araçlar görevi görürler.

Uyarı

Bu makale, doğal dil işlemeye odaklanır. Doğal dil işleme ve dil modelleri arasındaki ilişki, dil modellerinin üstün dil anlama ve oluşturma özellikleriyle doğal dil işleme süreçlerini geliştirdiğini gösterir.

Olası kullanım örnekleri

Özel doğal dil işlemeden yararlanabilecek iş senaryoları şunlardır:

  • Finans, sağlık, perakende, kamu ve diğer sektörlerde el yazısı veya makine tarafından oluşturulan belgeler için belge zekası.

  • Adlandırılmış varlık tanıma (NER), sınıflandırma, özetleme ve ilişki ayıklama gibi metin işleme için sektörden bağımsız doğal dil işleme görevleri.

    Bu görevler metin ve yapılandırılmamış veriler gibi belge bilgilerini otomatik olarak almanıza, tanımlamanıza ve çözümlemenize yardımcı olur. Bu görevlere örnek olarak risk katmanlama modelleri, ontoloji sınıflandırması ve perakende özetlemeleri verilebilir.

  • Anlamsal arama için bilgi alma ve bilgi grafı oluşturma. Bu işlevsellik, ilaç bulmayı ve klinik denemeleri destekleyen tıbbi bilgi grafları oluşturmayı mümkün kılar.

  • Perakende, finans, seyahat ve diğer sektörlerde müşteriye yönelik uygulamalarda konuşma yapay zekası sistemleri için metin çevirisi.

  • Duygusal durum ve gelişmiş duygusal zeka, özellikle marka algısını ve müşteri geri bildirim analitiğini izlemek için analitiklerde kullanılır.

  • Otomatik rapor oluşturma. Yapılandırılmış veri girişlerinden kapsamlı metinsel raporları sentezleyip oluşturun. Bu görevler, kapsamlı belgelerin gerekli olduğu finans ve uyumluluk gibi sektörlere yardımcı olur.

  • Ses tanıma ve doğal konuşma özellikleri için doğal dil işlemeyi tümleştiren sesle etkinleştirilmiş arabirimler. Bu tümleştirme, Nesnelerin İnterneti uygulamaları ve akıllı cihaz uygulamalarındaki kullanıcı etkileşimlerini geliştirir.

  • Dil çıkışını çeşitli hedef kitle kavrama düzeylerine uyacak şekilde dinamik olarak ayarlayabilen uyarlamalı dil modelleri. Bu özellik, eğitim içeriği ve erişilebilirlik geliştirmeleri için çok önemlidir.

  • İletişim düzenlerini ve dil kullanımını gerçek zamanlı olarak analiz etmek için siber güvenlik metin analizi. Bu analiz, dijital iletişimdeki olası güvenlik tehditlerini belirlemenize ve kimlik avı girişimlerinin veya yanlış bilgilerin tespitini geliştirmenize yardımcı olur.

Özelleştirilmiş bir doğal dil işleme çerçevesi olarak Apache Spark

Apache Spark, bellek içi işlemeyi kullanarak büyük veri analizi uygulamalarının performansını geliştiren güçlü bir paralel işleme çerçevesidir. Azure Synapse Analytics, Azure HDInsight ve Azure Databricks , Spark'ın işleme özelliklerine güçlü erişim sağlar. Bu erişim, büyük ölçekli veri işlemlerini sorunsuz bir şekilde çalıştırmanıza yardımcı olur.

Spark NLP, özelleştirilmiş doğal dil işleme iş yükleri için büyük hacimli metinleri işleyebilen verimli bir çerçevedir. Bu açık kaynak kitaplığı Python, Java ve Scala kitaplıklarını kullanarak kapsamlı işlevler sağlar. Bu kitaplıklar spaCy ve Natural Language Toolkit gibi öne çıkan doğal dil işleme kitaplıklarında bulabileceğiniz gelişmişliği sunar. Spark NLP yazım denetimi, yaklaşım analizi ve belge sınıflandırması gibi gelişmiş özellikler içerir. Bu özellikler tutarlı bir şekilde en iyi doğruluğu ve ölçeklenebilirliği sağlamanıza yardımcı olur.

Varlık tanıma gibi doğal dil işleme işlevselliği alanlarını gösteren diyagram. Çeşitli kutular doğal dil işleme açıklamalarını, modelleri ve desteklenen dilleri listeler.

Apache®, Apache Spark ve alev logosu, Apache Software Foundation'ın ABD ve/veya diğer ülkelerdeki tescilli ticari markaları veya ticari markalarıdır. Bu işaretlerin kullanılması Apache Software Foundation tarafından onaylanmamaktadır.

Son genel karşılaştırmalar Spark NLP'nin performansını vurgular. Bu karşılaştırmalar, diğer kitaplıklara göre önemli hız iyileştirmeleri göstermektedir. Spark NLP ayrıca özel modelleri eğitmesi için karşılaştırılabilir doğruluk sağlar. Özellikle, Llama 2 modellerinin ve OpenAI Whisper'ın tümleştirilmesi konuşma arabirimlerini ve çok dilli konuşma tanımayı geliştirir. Bu özellikler, iyileştirilmiş işleme özelliklerindeki önemli adımları işaret eder.

Spark NLP, Spark ML'nin yerel uzantısı olarak çalışan ve doğrudan veri çerçeveleri üzerinde çalışan dağıtılmış bir Spark kümesini etkili bir şekilde kullanır. Bu tümleştirme, belge sınıflandırması ve risk tahmini gibi görevler için birleşik doğal dil işleme ve makine öğrenmesi işlem hatlarının oluşturulmasını kolaylaştıran kümelerde gelişmiş performans kazanımlarını destekler. MPNet eklemeleri ve kapsamlı ONNX desteği, bu özellikleri daha da zenginleştirir ve hassas ve bağlama duyarlı işlemeye olanak sağlar.

Spark NLP, genişleyen doğal dil işleme görevleri dizisinde son derece doğru sonuçlar sunar. Kütüphane, adlandırılmış varlık tanıma, belge sınıflandırması ve duygu analizi için önceden geliştirilmiş derin öğrenme modelleriyle birlikte gelir. Özellik açısından zengin tasarımı sözcük, öbek, cümle ve belge ekleme özelliklerini destekleyen önceden eğitilmiş dil modellerini içerir.

Spark NLP'nin altyapı ölçeklerini CPU'lar, GPU'lar ve en son Intel Xeon yongaları için iyileştirilmiş derlemeler kullanarak ölçeklendirerek eğitim ve çıkarım işlemlerinin Spark kümelerini tam olarak kullanmasını sağlar. Bu özellik, farklı ortamlarda ve uygulamalarda doğal dil işleme görevlerinin verimli bir şekilde işlenmesini sağlamaya yardımcı olur.

Zorluklar

  • Kaynak işleme: Serbest biçimli metin belgeleri koleksiyonunun işlenmesi için önemli miktarda hesaplama kaynağı gerekir. İşleme de yoğun zaman alır. Bu tür işlemler genellikle GPU işlem dağıtımını içerir. Llama 2 gibi Spark NLP mimarilerindeki iyileştirmeler gibi, miktar belirlemeyi destekleyen son gelişmeler, kaynakları daha verimli bir şekilde ayırarak bu yoğun görevleri kolaylaştırmaya yardımcı olur.

  • Standartlaştırma: Standartlaştırılmış bir belge biçimi olmadan, bir belgeden belirli olguları ayıklamak için serbest biçimli metin işleme kullandığınızda tutarlı olarak doğru sonuçlar elde etmek zor olabilir. Örneğin, çeşitli faturalardan fatura numarasını ve tarihi ayıklamak zorluklar doğurabilir. M2M100 gibi uyarlanabilir doğal dil işleme modellerinin tümleştirilmesi, birden çok dil ve biçim arasında işleme doğruluğunu artırır. Bu geliştirilmiş doğruluk, daha tutarlı sonuçlara yol açar.

  • Veri çeşitliliği ve karmaşıklığı: Belge yapılarının ve dilsel nüansların çeşitliliğini ele almak karmaşık olmaya devam eder. MPNet eklemeleri gibi yenilikler, çeşitli metin biçimlerinin daha sezgisel bir şekilde işlenmesine ve daha güvenilir veri işlemeye yol açan gelişmiş bağlamsal anlayış sağlar.

Anahtar seçim ölçütleri

Azure'da Azure Databricks, Microsoft Fabric ve HDInsight gibi Spark hizmetleri, Spark NLP ile kullandığınızda doğal dil işleme işlevselliği sağlar. Azure AI hizmetleri, doğal dil işleme işlevselliği için bir diğer seçenektir. Hangi hizmeti kullanacağınıza karar vermenize yardımcı olmak için aşağıdaki yönleri göz önünde bulundurun:

  • Önceden oluşturulmuş veya önceden eğitilmiş modelleri kullanmak istiyorsanız, yapay zeka hizmetlerinin sağladığı API'leri kullanmayı göz önünde bulundurun. İsterseniz, gelişmiş özellikler için Llama 2 ve MPNet gibi gelişmiş modelleri içeren Spark NLP aracılığıyla istediğiniz modeli indirebilirsiniz.

  • Özel modelleri büyük bir metin verileri koleksiyonuna göre eğitmeniz gerekiyorsa Spark NLP ile Azure Databricks, Fabric veya HDInsight kullanmayı göz önünde bulundurun. Bu platformlar, kapsamlı model eğitimi için ihtiyacınız olan hesaplama gücünü ve esnekliği sağlar.

  • Belirteç oluşturma, kök oluşturma, lemmatizasyon ve terim sıklığı/ters belge sıklığı (TF/IDF) gibi düşük düzeyli doğal dil işleme özelliklerine ihtiyacınız varsa Spark NLP ile Azure Databricks, Fabric veya HDInsight kullanmayı göz önünde bulundurun. Alternatif olarak, seçtiğiniz işleme aracında bir açık kaynak yazılım kitaplığı kullanın.

  • Varlık ve amaç belirleme, konu algılama, yazım denetimi veya yaklaşım analizi gibi basit, üst düzey doğal dil işleme özelliklerine ihtiyacınız varsa yapay zeka hizmetlerinin sağladığı API'leri kullanmayı göz önünde bulundurun. Alternatif olarak, bu görevler için önceden oluşturulmuş işlevleri kullanmak için Spark NLP aracılığıyla istediğiniz modeli indirin.

Yetenek matrisi

Aşağıdaki tablolarda, doğal dil işleme hizmetlerinin özelliklerindeki temel farklar özetlenmektedir.

Genel özellikler

Kabiliyet Spark NLP ile Spark hizmeti (Azure Databricks, Fabric, HDInsight) Yapay Zeka hizmetleri
Hizmet olarak önceden eğitilmiş modeller sağlar Evet Evet
REST API Evet Evet
Programlanabilirlik Python, Scala Desteklenen programlama dillerine bakın
Büyük veri kümelerinin ve büyük belgelerin işlenmesini destekler Evet Hayı

Ek açıklama özellikleri

Kabiliyet Spark NLP ile Spark hizmeti (Azure Databricks, Fabric, HDInsight) Yapay Zeka hizmetleri
Cümle algılayıcısı Evet Hayı
Derin cümle algılayıcısı Evet Evet
Belirteçleyici Evet Evet
N-gram oluşturucu Evet Hayı
Sözcük segmentasyonu Evet Evet
Stemmer Evet Hayı
Lemmatizer (Lemmatizer) Evet Hayı
Konuşma bölümü etiketleme Evet Hayı
Bağımlılık ayrıştırıcısı Evet Hayı
Çeviri Evet Hayı
Stopword temizleyici Evet Hayı
Yazım düzeltmesi Evet Hayı
Normalleştirici Evet Evet
Metin eşleştirici Evet Hayı
TF/IDF (Cesaret Bankası) Evet Hayı
Normal ifade eşleştiricisi Evet Konuşma dili anlama (CLU) özelliğine eklendi
Tarih eşleştirici Evet DateTime tanıyıcıları aracılığıyla CLU'da mümkün
Öbekleyici Evet Hayı

Uyarı

Language Understanding (LUIS) 1 Ekim 2025'te kullanımdan kaldırılacaktır. Mevcut LUIS uygulamalarını, dil anlama özelliklerini geliştiren ve yeni özellikler sağlayan Azure AI Language'in konuşma dili anlama (CLU) özelliğine geçirmelisiniz.

Üst düzey doğal dil işleme özellikleri

Kabiliyet Spark NLP ile Spark hizmeti (Azure Databricks, Fabric, HDInsight) Yapay Zeka hizmetleri
Yazım denetimi Evet Hayı
Özetleme Evet Evet
Soru cevaplama Evet Evet
Duygu algılama Evet Evet
Duygu algılama Evet Görüş madenciliğini destekler
Belirteç sınıflandırması Evet Evet, özel modeller aracılığıyla
Metin sınıflandırması Evet Evet, özel modeller aracılığıyla
Metin gösterimi Evet Hayı
NER (İngilizce) Evet Evet, metin analizi bir dizi NER sağlar
Varlık tanıma Evet Evet, özel modeller aracılığıyla
Dil algılama Evet Evet
İngilizcenin yanı sıra dilleri destekler Evet, 200'den fazla dili destekler Evet, 97'den fazla dili destekler

Azure'da Spark NLP'lerini ayarlama

Spark NLP'yi yüklemek için aşağıdaki kodu kullanın, ancak değerini en son sürüm numarasıyla değiştirin <version> . Daha fazla bilgi için Spark NLP belgelerine bakın.

# Install Spark NLP from PyPI.
pip install spark-natural language processing==<version>

# Install Spark NLP from Anaconda or Conda.
conda install -c johnsnowlabs spark-natural language processing

# Load Spark NLP with Spark Shell.
spark-shell --packages com.johnsnowlabs.natural language processing:spark-natural language processing_<version>

# Load Spark NLP with PySpark.
pyspark --packages com.johnsnowlabs.natural language processing:spark-natural language processing_<version>

# Load Spark NLP with Spark Submit.
spark-submit --packages com.johnsnowlabs.natural language processing:spark-natural language processing_<version>

# Load Spark NLP as an external JAR after compiling and building Spark NLP by using SBT assembly.
spark-shell --jars spark-natural language processing-assembly-3 <version>.jar

Doğal dil işleme işlem hatları geliştirme

Spark NLP, doğal dil işleme işlem hattı çalıştırdığında geleneksel Spark ML makine öğrenmesi modellerinin geliştirme kavramını izler. Ayrıca özel doğal dil işleme tekniklerini de uygular.

Belge derlemesi, tümce algılama, belirteç oluşturma, normalleştirme ve sözcük ekleme gibi doğal dil işleme işlem hattının aşamalarını gösteren diyagram.

Spark NLP işlem hattı aşağıdaki temel bileşenleri içerir:

  • DocumentAssembler , verileri Spark NLP'nin işleyebileceği bir biçime dönüştürerek hazırlayan bir transformatördür. Bu aşama, her Spark NLP işlem hattının giriş noktasıdır. DocumentAssembler ya bir String sütun ya da bir Array[String] okur ve varsayılan olarak kapalı olan setCleanupMode kullanarak metni önceden işleyebilir.

  • SentenceDetector, önceden tanımlanmış yaklaşımları kullanarak cümle sınırlarını belirleyen bir açıklayıcıdır. Algılanan her cümleyi bir Array içinde veya explodeSentences doğru olarak ayarlandığında ayrı satırlarda döndürebilir.

  • Tokenizer, ham metni sözcükler, sayılar ve simgeler gibi ayrık belirteçlere bölen ve bunları çıktı olarak veren bir TokenizedSentence açıklayıcıdır. Belirteç oluşturucu uygun değildir ve belirteç oluşturma kuralları oluşturmak için içindeki RuleFactory giriş yapılandırmasını kullanır. Varsayılan kurallar yetersizse özel kurallar ekleyebilirsiniz.

  • Normalizer , belirteçleri iyileştirme görevine sahip bir açıklamadır. Normalleştirici, metni temizlemek ve gereksiz karakterleri kaldırmak için normal ifadeler ve sözlük dönüştürmeleri uygular.

  • WordEmbeddings , belirteçleri vektörlerle eşleyen ve anlamsal işlemeyi kolaylaştıran arama açıklamalayıcılarıdır. kullanarak setStoragePathözel bir ekleme sözlüğü belirtebilirsiniz; burada her satır boşluklarla ayrılmış bir belirteç ve vektör içerir. Çözümlenmemiş belirteçler varsayılan olarak sıfır vektör olarak ayarlanır.

Spark NLP, makine öğrenmesi yaşam döngüsünü yöneten açık kaynak bir platform olan MLflow'dan yerel desteğe sahip Spark MLlib işlem hatlarını kullanır. MLflow aşağıdaki temel bileşenlere sahiptir:

  • MLflow İzleme deneysel çalıştırmaları kaydeder ve sonuçları analiz etmek için güçlü sorgulama özellikleri sağlar.

  • MLflow Projeleri , veri bilimi kodunu farklı platformlarda çalıştırmanıza olanak tanır. Bu özellik taşınabilirliği ve yeniden üretilebilirliği artırır.

  • MLflow Modelleri , tutarlı bir çerçeve aracılığıyla farklı ortamlarda çok yönlü model dağıtımlarını destekler.

  • Model Kayıt Defteri , kolaylaştırılmış erişim ve dağıtım için sürümleri merkezi olarak depolayarak kapsamlı model yönetimi sağlar. Bu adım üretime hazır olma durumunu kolaylaştırır.

MLflow, Azure Databricks gibi platformlarla tümleşiktir, ancak denemelerinizi yönetmek ve izlemek için diğer Spark tabanlı ortamlara da yükleyebilirsiniz. Bu tümleştirme, modelleri üretim amacıyla kullanılabilir hale getirmek için MLflow Model Kayıt Defteri'ni kullanmanıza olanak tanır. Dağıtım sürecini kolaylaştırabilir ve model idaresini koruyabilirsiniz.

Spark NLP ile birlikte MLflow kullanarak doğal dil işleme işlem hatlarının daha verimli bir şekilde yönetilmesini ve dağıtılmasını sağlayabilirsiniz. Ayrıca, sözcük ekleme ve dil modeli uyarlamaları gibi gelişmiş teknikleri desteklerken ölçeklenebilirlik ve tümleştirme için modern gereksinimleri de ele alabilirsiniz.

Katkıda Bulunanlar

Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.

Asıl yazarlar:

Nonpublic LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar