Spark NLP-это современная библиотека обработки естественного языка, построенная на вершине Apache Spark. Он обеспечивает простые , эффективные и точные аннотации NLP для трубопроводов машинного обучения, которые легко масштабируются в распределенной среде.
Spark NLP поставляется с 83000+ предварительно проведенными трубопроводами и моделями на более чем 200+ языках. Он также предлагает такие задачи, как токенизация , сегментация слов , тегирование части речи , встроенные слова и предложения, названное распознавание сущности , анализ зависимости , проверка орфографии , классификация текста , анализ настроений , классификация токенов , машинный перевод (+180 языки), суммирование , вопрос о том , что задание , а- йеро. Больше задач NLP.
Spark NLP -единственная библиотека NLP с открытым исходным кодом в производстве , которая предлагает самые современные трансформаторы, такие как Bert , Camembert , Albert , Electra , Xlnet , Distilbert , Roberta , Deberta , XLM-Roberta , Longformer , Elmo , Universal Suentence Encoder , Llama-2 , M2M100 , Bart , Ensuctor , E5 , Google T5 . , Vision Transformers (Vit) , Weperai Whisper , Llama , Mistral , Phi , QWEN2 и многие другие не только для Python и R , но и на экосистему JVM ( Java , Scala и Kotlin ) в масштабе, путем расширения Apache Spark Nonateral.
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 В консоли Python или ядре Jupyter Python3 :
# 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 Major Version:
| Apache Spark | Spark NLP на процессоре | Spark NLP на GPU | Spark NLP на Aarch64 (Linux) | Spark 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
| 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 | ДА | ДА | ДА | ДА | ДА | ДА | НЕТ | НЕТ |
| 5.4.x | ДА | ДА | ДА | ДА | ДА | ДА | НЕТ | НЕТ |
| 5.3.x | ДА | ДА | ДА | ДА | ДА | ДА | НЕТ | НЕТ |
| 5.2.x | ДА | ДА | ДА | ДА | ДА | ДА | НЕТ | НЕТ |
| 5.1.x | Частично | ДА | ДА | ДА | ДА | ДА | НЕТ | НЕТ |
| 5.0.x | ДА | ДА | ДА | ДА | ДА | ДА | НЕТ | НЕТ |
Узнайте больше о версиях Spark NLP из наших заметок о выпуске.
| Spark NLP | Python 3.6 | Python 3.7 | Python 3.8 | Python 3.9 | Python 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.x SparkNLP в нашей официальной документации
Spark NLP 5.5.2 была проверена и совместима со следующим временем выполнения:
| Процессор | Графический процессор |
|---|---|
| 14.1 / 14,1 мл | 14,1 мл и графический процессор |
| 14.2 / 14,2 мл | 14,2 мл и графический процессор |
| 14,3 / 14,3 мл | 14,3 мл и графический процессор |
| 15,0 / 15,0 мл | 15,0 мл и графический процессор |
| 15,1 / 15,0 мл | 15,1 мл и графический процессор |
| 15,2 / 15,0 мл | 15,2 мл и графический процессор |
| 15,3 / 15,0 мл | 15,3 мл и графический процессор |
| 15,4 / 15,0 мл | 15,4 мл и графический процессор |
Мы совместимы со старшим временем забега. Для получения полного списка проверки данных 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. Проверьте все доступные установки для Python в нашей официальной документации
Чтобы скомпилировать банки из источника, следуйте этим инструкциям из нашей официальной документации
Для получения подробных инструкций о том, как использовать Spark NLP на поддерживаемых платформах, обратитесь к нашей официальной документации:
| Платформа | Поддерживаемый язык (ы) |
|---|---|
| Apache Zeppelin | Скала, Питон |
| Жюрит -тетрадь | Питон |
| Google Colab Notebook | Питон |
| КАГГЛЯ ЯРНЕЛ | Питон |
| DataBricks Cluster | Скала, Питон |
| EMR Cluster | Скала, Питон |
| GCP DataProc Cluster | Скала, Питон |
Библиотека Spark NLP и все предварительно обученные модели/трубопроводы могут использоваться полностью в автономном режиме без доступа к Интернету. Пожалуйста, проверьте эти инструкции из нашей официальной документации, чтобы использовать Spark NLP Offline.
Вы можете изменить конфигурации Spark NLP с помощью конфигурации свойств Spark. Пожалуйста, проверьте эти инструкции из нашей официальной документации.
В Spark NLP мы можем определить местоположения S3 на:
NerDLApproachПожалуйста, проверьте эти инструкции из нашей официальной документации.
Нужно больше примеров ? Ознакомьтесь с нашим выделенным репозиторием Spark NLP, чтобы продемонстрировать все варианты использования Spark NLP!
Кроме того, не забудьте проверить Spark NLP в действии, построенный по стриме.
Проверьте нашу страницу статьи и видео здесь
Мы опубликовали статью, которую вы можете привести к библиотеке 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