Spark NLP هي مكتبة معالجة اللغة الطبيعية الحديثة التي تم تصميمها فوق Apache Spark. يوفر تعليقات NLP بسيطة وأداء ودقيقة لخطوط أنابيب التعلم الآلي التي تتوسع بسهولة في بيئة موزعة.
يأتي Spark NLP مع 83000+ خطوط أنابيب ونماذج مسبقة في أكثر من 200+ لغة. كما أنه يوفر مهام مثل الرمز المميز ، تجزئة الكلمات ، وضع علامات جزء من الكلام ، تضمينات الكلمات والجملة ، التعرف على الكيان المسماة ، تحليل التبعية ، فحص إملائي ، تصنيف النص ، تحليل المعنويات ، تصنيف الرمز المميز ، الترجمة الآلية ( +180 لغة) ، تلخيص ، إجابة للأسئلة ، إجابة على الطاولة ، توليد النص ، صورة ، صورة ، صورة (التسمية) المزيد من مهام NLP.
Spark NLP هي مكتبة NLP الوحيدة المفتوحة المصدر في الإنتاج والتي تقدم محولات أحدث مثل Bert ، Camembert ، Albert ، Electra ، Xlnet ، Distilbert ، Roberta ، DeBerta ، GPT2 و Vision Transformers (VIT) و Openai Whisper و Llama و Mistral و PHI و QWEN2 وغيرها الكثير ليس فقط إلى Python و R ، ولكن أيضًا إلى نظام JVM الإيكولوجي ( Java و Scala و Kotlin ) على نطاق واسع عن طريق تمديد شرارة Apache بشكل لا.
يوفر Spark NLP دعمًا سهلاً لاستيراد النماذج من مختلف الأطر الشعبية:
يتيح لك هذا النطاق الواسع من الدعم دمج النماذج بسلاسة من مصادر مختلفة في سير عمل Spark NLP الخاص بك ، مما يعزز المرونة والتوافق مع النظم الإيكولوجية للتعلم الآلي.
ألقِ نظرة على صفحة Spark NLP الرسمية: https://sparknlp.org/ للحصول على وثائق المستخدم وأمثلة
هذا مثال سريع على كيفية استخدام خط أنابيب Spark NLP مسبقًا في Python و Pyspark:
$ java -version
# should be Java 8 or 11 (Oracle or OpenJDK)
$ conda create -n sparknlp python=3.7 -y
$ conda activate sparknlp
# spark-nlp by default is based on pyspark 3.x
$ pip install spark-nlp==5.5.2 pyspark==3.3.1 في وحدة التحكم في بيثون أو jupyter Python3 kernel:
# Import Spark NLP
from sparknlp . base import *
from sparknlp . annotator import *
from sparknlp . pretrained import PretrainedPipeline
import sparknlp
# Start SparkSession with Spark NLP
# start() functions has 3 parameters: gpu, apple_silicon, and memory
# sparknlp.start(gpu=True) will start the session with GPU support
# sparknlp.start(apple_silicon=True) will start the session with macOS M1 & M2 support
# sparknlp.start(memory="16G") to change the default driver memory in SparkSession
spark = sparknlp . start ()
# Download a pre-trained pipeline
pipeline = PretrainedPipeline ( 'explain_document_dl' , lang = 'en' )
# Your testing dataset
text = """
The Mona Lisa is a 16th century oil painting created by Leonardo.
It's held at the Louvre in Paris.
"""
# Annotate your testing dataset
result = pipeline . annotate ( text )
# What's in the pipeline
list ( result . keys ())
Output : [ 'entities' , 'stem' , 'checked' , 'lemma' , 'document' ,
'pos' , 'token' , 'ner' , 'embeddings' , 'sentence' ]
# Check the results
result [ 'entities' ]
Output : [ 'Mona Lisa' , 'Leonardo' , 'Louvre' , 'Paris' ]لمزيد من الأمثلة ، يمكنك زيارة أمثلةنا المخصصة لعرض جميع حالات استخدام Spark NLP!
هذه هي ورقة غش لحزمة Spark NLP Maven المقابلة إلى Apache Spark / Pyspark الإصدار الرئيسي:
| أباتشي سبارك | شرارة NLP على وحدة المعالجة المركزية | شرارة NLP على GPU | Spark NLP على AARCH64 (Linux) | شرارة NLP على سيليكون التفاح |
|---|---|---|---|---|
| 3.0/3.1/3.2/3.3/3.4/3.5 | spark-nlp | spark-nlp-gpu | spark-nlp-aarch64 | spark-nlp-silicon |
| بدء وظيفة | sparknlp.start() | sparknlp.start(gpu=True) | sparknlp.start(aarch64=True) | sparknlp.start(apple_silicon=True) |
ملاحظة: M1/M2 و AArch64 تحت الدعم experimental . يقتصر المجتمع ودعم هذه البنى المحدودة من قبل المجتمع واضطررنا إلى بناء معظم التبعيات من قبل أنفسنا لجعلها متوافقة. نحن ندعم هذين البنية ، ومع ذلك ، فقد لا يعملان في بعض البيئات.
للحصول على مثال سريع لاستخدام خطوط الأنابيب والنماذج ، ألق نظرة على وثائقنا الرسمية
تم بناء Spark NLP 5.5.2 على قمة Apache Spark 3.4 بينما يدعم تمامًا Apache Spark 3.0.x ، 3.1.x ، 3.2.x ، 3.3.x ، 3.4.x ، و 3.5.x
| شرارة NLP | Apache Spark 3.5.x | Apache Spark 3.4.x | Apache Spark 3.3.x | Apache Spark 3.2.x | Apache Spark 3.1.x | Apache Spark 3.0.x | Apache Spark 2.4.x | Apache Spark 2.3.x |
|---|---|---|---|---|---|---|---|---|
| 5.5.x | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا |
| 5.4.x | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا |
| 5.3.x | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا |
| 5.2.x | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا |
| 5.1.x | جزئيا | نعم | نعم | نعم | نعم | نعم | لا | لا |
| 5.0.x | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا |
تعرف على المزيد حول إصدارات Spark NLP من ملاحظات إصدارنا.
| شرارة NLP | بيثون 3.6 | بيثون 3.7 | بيثون 3.8 | بيثون 3.9 | بيثون 3.10 | سكالا 2.11 | سكالا 2.12 |
|---|---|---|---|---|---|---|---|
| 5.5.x | لا | نعم | نعم | نعم | نعم | لا | نعم |
| 5.4.x | لا | نعم | نعم | نعم | نعم | لا | نعم |
| 5.3.x | لا | نعم | نعم | نعم | نعم | لا | نعم |
| 5.2.x | لا | نعم | نعم | نعم | نعم | لا | نعم |
| 5.1.x | لا | نعم | نعم | نعم | نعم | لا | نعم |
| 5.0.x | لا | نعم | نعم | نعم | نعم | لا | نعم |
اكتشف المزيد عن إصدارات 4 SparkNLP 4.x في وثائقنا الرسمية
تم اختبار Spark NLP 5.5.2 ومتوافق مع أوقات التشغيل التالية:
| وحدة المعالجة المركزية | GPU |
|---|---|
| 14.1 / 14.1 مل | 14.1 مل و GPU |
| 14.2 / 14.2 مل | 14.2 مل و GPU |
| 14.3 / 14.3 مل | 14.3 مل و GPU |
| 15.0 / 15.0 مل | 15.0 مل و GPU |
| 15.1 / 15.0 مل | 15.1 مل و GPU |
| 15.2 / 15.0 مل | 15.2 مل و GPU |
| 15.3 / 15.0 مل | 15.3 مل و GPU |
| 15.4 / 15.0 مل | 15.4 مل و GPU |
نحن متوافقون مع أوقات الركض القديمة. للحصول على قائمة كاملة ، تحقق من دعم Databricks في وثائقنا الرسمية
تم اختبار Spark NLP 5.5.2 ومتوافق مع إصدارات EMR التالية:
| إطلاق EMR |
|---|
| EMR-6.13.0 |
| EMR-6.14.0 |
| EMR-6.15.0 |
| EMR-7.0.0 |
| EMR-7.1.0 |
| EMR-7.2.0 |
نحن متوافقون مع إصدارات EMR القديمة. للحصول على قائمة كاملة ، تحقق من دعم EMR في وثائقنا الرسمية
قائمة كاملة من Amazon EMR 6.x تصدر قائمة كاملة بإصدارات Amazon EMR 7.x
ملاحظة: لا يتم دعم EMR 6.1.0 و 6.1.1.
لتثبيت حزم Spark-NLP من خلال سطر الأوامر ، اتبع هذه التعليمات من وثائقنا الرسمية
يدعم Spark NLP Scala 2.12.15 إذا كنت تستخدم Apache Spark 3.0.x ، 3.1.x ، 3.2.x ، 3.3.x ، و 3.4.x إصدارات. يتم نشر حزمنا إلى Maven Central. لإضافة أي من حزمنا كاعتماد في التطبيق الخاص بك ، يمكنك اتباع هذه التعليمات من وثائقنا الرسمية.
إذا كنت مهتمًا ، فهناك مشروع SBT بسيط لـ Spark NLP لإرشادك حول كيفية استخدامه في مشاريعك Spark NLP SBT S5.5.2R
Spark NLP يدعم Python 3.7.x وما فوق اعتمادًا على إصدار Pyspark الرئيسي. تحقق من جميع عمليات التثبيت المتاحة للبيثون في وثائقنا الرسمية
لتجميع الجرار من المصدر ، اتبع هذه التعليمات من وثائقنا الرسمية
للحصول على إرشادات مفصلة حول كيفية استخدام Spark NLP على المنصات المدعومة ، يرجى الرجوع إلى وثائقنا الرسمية:
| منصة | اللغة المدعومة |
|---|---|
| أباتشي زيبلين | سكالا ، بيثون |
| كمبيوتر محمول Jupyter | بيثون |
| دفتر جوجل كولاب | بيثون |
| kaggle kernel | بيثون |
| مجموعة Databricks | سكالا ، بيثون |
| مجموعة EMR | سكالا ، بيثون |
| GCP DataProc Cluster | سكالا ، بيثون |
يمكن استخدام مكتبة Spark NLP وجميع النماذج/خطوط الأنابيب التي تم تدريبها مسبقًا بشكل غير متصل تمامًا دون الوصول إلى الإنترنت. يرجى التحقق من هذه التعليمات من وثائقنا الرسمية لاستخدام Spark NLP في وضع عدم الاتصال.
يمكنك تغيير تكوينات Spark NLP عبر تكوين خصائص Spark. يرجى التحقق من هذه التعليمات من وثائقنا الرسمية.
في Spark NLP ، يمكننا تحديد مواقع S3 إلى:
NerDLApproachيرجى التحقق من هذه التعليمات من وثائقنا الرسمية.
هل تحتاج إلى مزيد من الأمثلة ؟ تحقق من مستودع أمثلة Spark NLP المخصصة لعرض جميع حالات استخدام Spark NLP!
أيضًا ، لا تنس التحقق من Spark NLP في العمل الذي تم إنشاؤه بواسطة STREMELIT.
تحقق من صفحة المقالات ومقاطع الفيديو الخاصة بنا هنا
لقد نشرنا ورقة يمكنك الاستشهاد بها لمكتبة Spark NLP:
@article { KOCAMAN2021100058 ,
title = { Spark NLP: Natural language understanding at scale } ,
journal = { Software Impacts } ,
pages = { 100058 } ,
year = { 2021 } ,
issn = { 2665-9638 } ,
doi = { https://doi.org/10.1016/j.simpa.2021.100058 } ,
url = { https://www.sciencedirect.com/science/article/pii/S2665963.2.300063 } ,
author = { Veysel Kocaman and David Talby } ,
keywords = { Spark, Natural language processing, Deep learning, Tensorflow, Cluster } ,
abstract = { Spark NLP is a Natural Language Processing (NLP) library built on top of Apache Spark ML. It provides simple, performant & accurate NLP annotations for machine learning pipelines that can scale easily in a distributed environment. Spark NLP comes with 1100+ pretrained pipelines and models in more than 192+ languages. It supports nearly all the NLP tasks and modules that can be used seamlessly in a cluster. Downloaded more than 2.7 million times and experiencing 9x growth since January 2020, Spark NLP is used by 54% of healthcare organizations as the world’s most widely used NLP library in the enterprise. }
}
}5.5.2 نقدر أي نوع من المساهمات:
استنساخ الريبو وتقديم طلبات السحب الخاصة بك! أو إنشاء مشكلات مباشرة في هذا الريبو.
http://johnsnowlabs.com