Spark NLP:Spark可以完成NLP任务?
Posted AI自然语言处理与知识图谱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark NLP:Spark可以完成NLP任务?相关的知识,希望对你有一定的参考价值。
作者信息
Elesdspline
目前从事NLP与知识图谱相关工作。
Spark NLP:Spark可以完成NLP任务?
导读
今天偶然看到一篇Arxiv文章 《Spark NLP: Natural Language Understanding at Scale》,看到 Spark NLP 的时候我就激动了,Spark 可以做 NLP 了嘛?就简单对论文和开源代码探索了下~
一、Spark NLP 是什么?
Spark是一个通用的集群计算处理框架,对分布式SQL、流媒体处理、图形处理和机器学习(Spark ML)的提供本地支持。现在,Spark也支持自然语言处理库。
Spark NLP 是一个建立在 Apache Spark ML 之上的自然语言处理库,它为机器学习流水线提供了简单、性能和准确的NLP注释,在分布式环境中很容易扩展。Spark NLP有超过 192 种语言的 1100 多种预先训练的 pipeline 和模型。它支持 Transformer,如像 BERT、XLNet、ELMO、ALBERT和 Universal Sentence Encoder,这些都可以在 Spark 集群中使用。它还提供许多的自然语言处理任务。
看起来还不错~先 Mark,有时间会尝试的!
二、Spark NLP Features
Spark NLP 支持多种 NLP 任务,包括分词、命名实体识别、词性标注、分类、依存句法、BERT/ELMO/ALBERT嵌入等,支持 GPU,具体如下,一定会有你熟悉的任务~
-
Tokenization -
Trainable Word Segmentation -
Stop Words Removal -
Token Normalizer -
Document Normalizer -
Stemmer -
Lemmatizer -
NGrams -
Regex Matching -
Text Matching -
Chunking -
Date Matcher -
Sentence Detector -
Deep Sentence Detector (Deep learning) -
Dependency parsing (Labeled/unlabeled) -
Part-of-speech tagging -
Sentiment Detection (ML models) -
Spell Checker (ML and DL models) -
Word Embeddings (GloVe and Word2Vec) -
BERT Embeddings (TF Hub models) -
ELMO Embeddings (TF Hub models) -
ALBERT Embeddings (TF Hub models) -
XLNet Embeddings -
Universal Sentence Encoder (TF Hub models) -
BERT Sentence Embeddings (42 TF Hub models) -
Sentence Embeddings -
Chunk Embeddings -
Unsupervised keywords extraction -
Language Detection & Identification (up to 375 languages) -
Multi-class Sentiment analysis (Deep learning) -
Multi-label Sentiment analysis (Deep learning) -
Multi-class Text Classification (Deep learning) -
Neural Machine Translation -
Text-To-Text Transfer Transformer (Google T5) -
Named entity recognition (Deep learning) -
Easy TensorFlow integration -
GPU Support -
Full integration with Spark ML functions -
+710 pre-trained models in +192 languages! -
+450 pre-trained pipelines in +192 languages! -
Multi-lingual NER models: Arabic, Chinese, Danish, Dutch, English, Finnish, French, German, Hewbrew, Italian, Japanese, Korean, Norwegian, Persian, Polish, Portuguese, Russian, Spanish, Swedish, and Urdu.
三、Spark NLP Support
-
我们可以使用python/Scala等语言尝试。
-
Spark NLP 2.7.2是建立在Apache Spark 2.4之上的,并完全支持Apache Spark 3.x。
Spark NLP | Apache Spark 2.3.x | Apache Spark 2.4.x |
---|---|---|
2.7.x | YES | YES |
2.6.x | YES | YES |
2.5.x | YES | YES |
2.4.x | Partially | YES |
1.8.x | Partially | YES |
1.7.x | YES | NO |
1.6.x | YES | NO |
1.5.x | YES | NO |
Github
-
https://github.com/JohnSnowLabs/spark-nlp
参考资料
-
Spark NLP: Natural Language Understanding at Scale -
https://nlp.johnsnowlabs.com/docs/en/quickstart
以上是关于Spark NLP:Spark可以完成NLP任务?的主要内容,如果未能解决你的问题,请参考以下文章
论文泛读167使用 BERT 语言模型的大规模新闻分类:Spark NLP 方法
论文泛读167使用 BERT 语言模型的大规模新闻分类:Spark NLP 方法