Spark NLP adalah perpustakaan pemrosesan bahasa alami yang canggih yang dibangun di atas Apache Spark. Ini memberikan anotasi NLP yang sederhana , berkinerja & akurat untuk jaringan pipa pembelajaran mesin yang skala dengan mudah di lingkungan terdistribusi.
Spark NLP hadir dengan 83000+ pipa dan model pretrained dalam lebih dari 200+ bahasa. Ini juga menawarkan tugas-tugas seperti tokenisasi , segmentasi kata , penandaan sebagian , kata dan kalimat-kalimat, pengakuan entitas yang disebutkan , penguraian ketergantungan , pemeriksaan mantra , klasifikasi teks , analisis sentimen , klasifikasi token , pengakuan pemusatan mesin , citra, dan perumutan yang diterjemahkan, pencarian gambar , pembuatan gambar , pembuatan gambar, pembuatan gambar , gambar gambar, gambar gambar , gambar gambar, gambar gambar, gambar gambar, gambar gambar , gambar gambar , gambar gambar, pembuatan gambar, gambar gambar , gambar. Tugas NLP.
Spark NLP is the only open-source NLP library in production that offers state-of-the-art transformers such as BERT , CamemBERT , ALBERT , ELECTRA , XLNet , DistilBERT , RoBERTa , DeBERTa , XLM-RoBERTa , Longformer , ELMO , Universal Sentence Encoder , Llama-2 , M2M100 , BART , Instructor , E5 , Google T5 , MarianMT , OpenAI GPT2 , Vision Transformers (Vit) , Openai Whisper , Llama , Mistral , Phi , Qwen2 , dan banyak lagi tidak hanya untuk Python dan R , tetapi juga untuk ekosistem JVM ( Java , Scala , dan Kotlin ) pada skala dengan memperluas Apache Spark secara alami.
Spark NLP memberikan dukungan mudah untuk mengimpor model dari berbagai kerangka kerja populer:
Berbagai dukungan ini memungkinkan Anda untuk mengintegrasikan model dengan mulus dari berbagai sumber ke dalam alur kerja Spark NLP Anda, meningkatkan fleksibilitas dan kompatibilitas dengan ekosistem pembelajaran mesin yang ada.
Lihatlah halaman NLP Spark resmi kami: https://sparknlp.org/ untuk dokumentasi dan contoh pengguna
Ini adalah contoh cepat tentang cara menggunakan pipa pra-terlatih Spark NLP di Python dan 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 Dalam konsol Python atau 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' ]Untuk contoh lebih lanjut, Anda dapat mengunjungi contoh khusus kami untuk memamerkan semua kasus penggunaan Spark NLP!
Ini adalah lembar cheat untuk Paket Maven Spark NLP yang sesuai untuk Apache Spark / Pyspark versi utama:
| Apache Spark | Percikan NLP pada CPU | Spark NLP pada GPU | Spark NLP pada Aarch64 (Linux) | Spark NLP pada silikon apel |
|---|---|---|---|---|
| 3.0/3.1/3.2/3.3/3.4/3.5 | spark-nlp | spark-nlp-gpu | spark-nlp-aarch64 | spark-nlp-silicon |
| Fungsi Mulai | sparknlp.start() | sparknlp.start(gpu=True) | sparknlp.start(aarch64=True) | sparknlp.start(apple_silicon=True) |
Catatan: M1/M2 dan AArch64 berada di bawah dukungan experimental . Akses dan dukungan ke arsitektur ini dibatasi oleh masyarakat dan kami harus membangun sebagian besar dependensi sendiri untuk membuatnya kompatibel. Kami mendukung kedua arsitektur ini, namun, mereka mungkin tidak bekerja di beberapa lingkungan.
Untuk contoh cepat menggunakan saluran pipa dan model, lihat dokumentasi resmi kami
Spark NLP 5.5.2 telah dibangun di atas Apache Spark 3.4 sementara sepenuhnya mendukung Apache Spark 3.0.x, 3.1.x, 3.2.x, 3.3.x, 3.4.x, dan 3.5.x
| Spark 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 | YA | YA | YA | YA | YA | YA | TIDAK | TIDAK |
| 5.4.x | YA | YA | YA | YA | YA | YA | TIDAK | TIDAK |
| 5.3.x | YA | YA | YA | YA | YA | YA | TIDAK | TIDAK |
| 5.2.x | YA | YA | YA | YA | YA | YA | TIDAK | TIDAK |
| 5.1.x | Sebagian | YA | YA | YA | YA | YA | TIDAK | TIDAK |
| 5.0.x | YA | YA | YA | YA | YA | YA | TIDAK | TIDAK |
Cari tahu lebih lanjut tentang versi Spark NLP dari catatan rilis kami.
| Spark NLP | Python 3.6 | Python 3.7 | Python 3.8 | Python 3.9 | Python 3.10 | Scala 2.11 | Scala 2.12 |
|---|---|---|---|---|---|---|---|
| 5.5.x | TIDAK | YA | YA | YA | YA | TIDAK | YA |
| 5.4.x | TIDAK | YA | YA | YA | YA | TIDAK | YA |
| 5.3.x | TIDAK | YA | YA | YA | YA | TIDAK | YA |
| 5.2.x | TIDAK | YA | YA | YA | YA | TIDAK | YA |
| 5.1.x | TIDAK | YA | YA | YA | YA | TIDAK | YA |
| 5.0.x | TIDAK | YA | YA | YA | YA | TIDAK | YA |
Cari tahu lebih lanjut tentang versi 4.x SparkNLP dalam dokumentasi resmi kami
Spark NLP 5.5.2 telah diuji dan kompatibel dengan runtime berikut:
| CPU | GPU |
|---|---|
| 14.1 / 14.1 ml | 14.1 ML & GPU |
| 14.2 / 14.2 ml | 14.2 ml & gpu |
| 14.3 / 14.3 ml | 14.3 ml & gpu |
| 15.0 / 15.0 ml | 15.0 ml & gpu |
| 15.1 / 15.0 ml | 15.1 ml & gpu |
| 15.2 / 15.0 ml | 15.2 ml & gpu |
| 15.3 / 15.0 ml | 15.3 ml & gpu |
| 15.4 / 15.0 ml | 15.4 ml & gpu |
Kami kompatibel dengan runtime yang lebih tua. Untuk daftar lengkap Dukungan Databricks dalam dokumentasi resmi kami
Spark NLP 5.5.2 telah diuji dan kompatibel dengan pelepasan ESDM berikut:
| Rilis 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 |
Kami kompatibel dengan rilis ESDM yang lebih tua. Untuk daftar lengkap Periksa dukungan ESDM dalam dokumentasi resmi kami
Daftar Lengkap Amazon EMR 6.x Rilis Daftar Lengkap Rilis Amazon EMR 7.x
Catatan: EMR 6.1.0 dan 6.1.1 tidak didukung.
Untuk menginstal paket Spark-NLP melalui baris perintah, ikuti instruksi ini dari dokumentasi resmi kami
Spark NLP mendukung Scala 2.12.15 jika Anda menggunakan Apache Spark 3.0.x, 3.1.x, 3.2.x, 3.3.x, dan 3.4.x versi. Paket kami dikerahkan ke Maven Central. Untuk menambahkan paket kami sebagai ketergantungan dalam aplikasi Anda, Anda dapat mengikuti instruksi ini dari dokumentasi resmi kami.
Jika Anda tertarik, ada proyek SBT sederhana untuk Spark NLP untuk memandu Anda tentang cara menggunakannya dalam proyek Anda Spark NLP SBT S5.5.2R
Spark NLP mendukung Python 3.7.x dan di atas tergantung pada versi pyspark utama Anda. Periksa semua instalasi yang tersedia untuk Python dalam dokumentasi resmi kami
Untuk mengkompilasi stoples dari sumber, ikuti instruksi ini dari dokumentasi resmi kami
Untuk instruksi terperinci tentang cara menggunakan Spark NLP pada platform yang didukung, silakan merujuk ke dokumentasi resmi kami:
| Platform | Bahasa yang didukung |
|---|---|
| Apache Zeppelin | Scala, Python |
| Jupyter Notebook | Python |
| Google Colab Notebook | Python |
| Kernel kaggle | Python |
| Cluster databricks | Scala, Python |
| Cluster Emr | Scala, Python |
| GCP Dataproc Cluster | Scala, Python |
Perpustakaan Spark NLP dan semua model/jaringan pipa yang sudah terlatih dapat digunakan sepenuhnya offline tanpa akses ke Internet. Silakan periksa instruksi ini dari dokumentasi resmi kami untuk menggunakan Spark NLP Offline.
Anda dapat mengubah konfigurasi Spark NLP melalui konfigurasi Spark Properties. Silakan periksa instruksi ini dari dokumentasi resmi kami.
Di Spark NLP kita dapat mendefinisikan lokasi S3 untuk:
NerDLApproachSilakan periksa instruksi ini dari dokumentasi resmi kami.
Butuh lebih banyak contoh ? Lihat Repositori Contoh NLP Spark NLP khusus kami untuk menampilkan semua kasus penggunaan Spark NLP!
Juga, jangan lupa untuk memeriksa Spark NLP dalam aksi yang dibangun oleh StreamLit.
Periksa halaman artikel dan video kami di sini
Kami telah menerbitkan makalah yang dapat Anda kutip untuk perpustakaan 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 Kami menghargai segala jenis kontribusi:
Kloning repo dan kirimkan permintaan tarik Anda! Atau secara langsung membuat masalah dalam repo ini.
http://johnsnowlabs.com