【发布时间】:2021-12-06 15:01:38
【问题描述】:
我正在使用 sparkNLP 3.2.3 版并尝试标记一些文本。我使用 spacy 和其他分词器来处理诸如“他们是”之类的缩略词,将其拆分为“他们”和“'re”。根据此资源页面 105-107 sparkNLP 也应该以这种方式进行标记:https://books.google.com/books?id=5DDtDwAAQBAJ&pg=PA106&lpg=PA106&dq=spark+nlp+tokenizer+contractions&source=bl&ots=5bao0SzjQ7&sig=ACfU3U1pklNa8NNElLk_tX48tMKHuFGViA&hl=en&sa=X&ved=2ahUKEwij6abZ29bzAhU0CjQIHaIkAE4Q6AF6BAgUEAM#v=onepage&q=spark%20nlp%20tokenizer%20contractions&f=false
但是,当我通过 sparkNLP 标记化实际运行一些收缩时,它并没有将它们分开。任何想法可能会发生什么?由于其他原因我想使用这个包,所以不想在 spacy 或 NLTK 和这个之间交换。
import sparknlp
from sparknlp.base import *
from sparknlp.annotator import *
from pyspark.ml import Pipeline
data = spark.createDataFrame([["They're fine."]]).toDF("text")
documentAssembler = DocumentAssembler().setInputCol("text").setOutputCol("document")
tokenizer = Tokenizer().setInputCols(["document"]).setOutputCol("token").fit(data)
pipeline = Pipeline().setStages([documentAssembler, tokenizer]).fit(data)
result = pipeline.transform(data)
result.selectExpr("token.result").show(truncate=False)
+------------------+
|result |
+------------------+
|[They're, fine, .]|
+------------------+
【问题讨论】:
标签: tokenize johnsnowlabs-spark-nlp