Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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.
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.
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 birArray[String]
okur ve varsayılan olarak kapalı olansetCleanupMode
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 veyaexplodeSentences
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çindekiRuleFactory
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:
- Freddy Ayala | Bulut Çözümü Mimarı
- Moritz Steller | Üst Düzey Bulut Çözümü Mimarı
Nonpublic LinkedIn profillerini görmek için LinkedIn'de oturum açın.
Sonraki adımlar
Spark NLP belgeleri:
Azure bileşenleri:
Kaynakları öğrenin: