Spark NLP:Spark可以完成NLP任务?

Posted AI自然语言处理与知识图谱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark NLP:Spark可以完成NLP任务?相关的知识,希望对你有一定的参考价值。

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

参考资料

  1. Spark NLP: Natural Language Understanding at Scale
  2. https://nlp.johnsnowlabs.com/docs/en/quickstart





以上是关于Spark NLP:Spark可以完成NLP任务?的主要内容,如果未能解决你的问题,请参考以下文章

Spark NLP的一些基础方法

Spark NLP的一些基础方法

论文泛读167使用 BERT 语言模型的大规模新闻分类:Spark NLP 方法

论文泛读167使用 BERT 语言模型的大规模新闻分类:Spark NLP 方法

John Snow 的Spark NLP 中Transformers

John Snow 的Spark NLP 中Transformers