独家 | 关于Spark NLP学习,你需要掌握的 LightPipeline(附代码&链接)

本文深入探讨了Spark NLP中的LightPipeline,它是处理小数据集的高效工具,可提供比标准Pipeline快10倍的速度。文章介绍了如何构建和使用LightPipeline,以及如何利用它进行快速的文本标注和预测。此外,还讨论了LightPipeline如何在单机多线程环境下工作,以实现更快的响应时间。
摘要由CSDN通过智能技术生成


作者:Veysel Kocaman, Data Scientist & ML Researcher ANKIT CHOUDHARY

翻译:赵春光

校对:申利彬

本文约2800字,建议阅读9分钟

本文介绍Spark NLP中是如何使用Annotator和Transformer的。

[ 导读 ]Pipeline具体来说是一个多阶段的序列,每个阶段由一个Transformer或者Estimator组成。各个阶段按顺序执行,并将输入的DataFrame转换和传递给下一个阶段。数据如此按序的在pipeline中传递。我们现在再来看看Spark NLP是如何使用Annotator和Transformer的。

 

内容

本文是Spark NLP Library中各annotator系列中的第2篇文章。如果你想更多的学习Spark NLP及对应的概念,请先阅读下述文章:

Introduction to Spark NLP: Foundations and Basic Components (Part-I)

https://medium.com/spark-nlp/introduction-to-spark-nlp-foundations-and-basic-components-part-i-c83b7629ed59

本文主要是作为上篇文章的延续。

在机器学习中,常见的一种做法是运行一系列的算法来处理和学习数据。这种算法序列常被称作做Pipeline。

Pipeline具体来说是一个多阶段的序列,每个阶段由一个Transformer或者Estimator组成。各个阶段按顺序执行,并将输入的DataFrame转换和传递给下一个阶段,数据如此按序的在pipeline中传递。每个阶段的transform()方法函数更新这组数据集并传递到下一阶段。因为有了pipeline,训练数据和测试数据会通过确保一致的特征处理环节。

 

每个使用的annotator 会在pipeline中的这个data frame新添一列

我们现在来看一下Spark NLP是如果使用Annotator和Transformer完成上述过程。假如我们需要将如下几个环节逐一施加在data frame上:

  • 文本分离成语句

  • 分词

  • 正交化

  • 得到词嵌入向量

下面是通过Spark NLP实现这个pipeline的代码:

from pyspark.ml import Pipeline


document_assembler = DocumentAssembler()\ .setInputCol(“text”)\ .setOutputCol(“document”)


sentenceDetector = SentenceDetector()\ .setInputCols([“document”])\ .setOutputCol(“sentences”)


tokenizer = Tokenizer() \ .setInputCols([“sentences”]) \ .setOutputCol(“token”)


normalizer = Normalizer()\ .setInputCols([“token”])\ .setOutputCol(“normal”)


word_embeddings=WordEmbeddingsModel.pretrained()\ .setInputCols([“document”,”normal”])\ .setOutputCol(“embeddings”)


nlpPipeline = Pipeline(stages=[ document_assembler,  sentenceDetector, tokenizer, normalizer, word_embeddings, ])


pipel
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值