gpt4 book ai didi

python - 如何在 PySpark ML 中创建自定义标记器

转载 作者:行者123 更新时间:2023-12-05 01:00:40 26 4
gpt4 key购买 nike

sentenceDataFrame = spark.createDataFrame([
(0, "Hi I heard about Spark"),
(1, "I wish Java could use case classes"),
(2, "Logistic,regression,models,are,neat")
], ["id", "sentence"])
tokenizer = Tokenizer(inputCol="sentence", outputCol="words")
tokenized = tokenizer.transform(sentenceDataFrame)

如果我运行命令

tokenized.head()

我想得到这样的结果

Row(id=0, sentence='Hi I heard about Spark',
words=['H','i',' ','h','e',‘a’,……])

然而,现在的结果是

Row(id=0, sentence='Hi I heard about Spark',
words=['Hi','I','heard','about','spark'])

PySpark 中的 Tokenizer 或 RegexTokenizer 有什么方法可以实现吗?

类似的问题在这里: Create a custom Transformer in PySpark ML

最佳答案

看看pyspark.ml documentation . Tokenizer 仅按空格分割,但 RegexTokenizer - 顾名思义 - 使用正则表达式来查找分割点或要提取的标记(可以配置通过参数gaps)。

如果您传递一个空模式并离开 gaps=True(这是默认值),您应该会得到您想要的结果:

from pyspark.ml.feature import RegexTokenizer

tokenizer = RegexTokenizer(inputCol="sentence", outputCol="words", pattern="")
tokenized = tokenizer.transform(sentenceDataFrame)

关于python - 如何在 PySpark ML 中创建自定义标记器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48278489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com