Pyspark特征工程--RegexTokenizer

RegexTokenizer:正则表达式分词器

class pyspark.ml.feature.RegexTokenizer(minTokenLength=1, gaps=True, pattern=’\s+’, inputCol=None, outputCol=None, toLowercase=True)

一个基于正则表达式的分词器,它通过使用提供的正则表达式模式(Java语言)来拆分文本(默认)或重复匹配正则表达式(如果 gaps 为 false)来提取令牌。 可选参数还允许使用最小长度过滤令牌。 它返回一个可以为空的字符串数组。

**minTokenLength *= Param(parent=‘undefined’, name=‘minTokenLength’, doc=‘minimum token length (>= 0)’)

gaps = Param(parent=‘undefined’, name=‘gaps’, doc='正则表达式是否在间隙上拆分 (True) 或匹配标记 (False))*

01.创建数据

from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("RegexTokenizer").master("local[*]").getOrCreate()
#%%
df = spark.createDataFrame([("Optional parameters also allow filtering tokens",)], ["text"])
df.head(1)

​ 输出结果:

[Row(text='Optional parameters also allow filtering tokens')]

02.设置参数minTokenLength=1,转换数据:

from pyspark.ml.feature import RegexTokenizer
reTokenizer = RegexTokenizer(inputCol="text", outputCol="words",minTokenLength=1)
reTokenizer.transform(df).head()

​ 输出结果:

Row(text='Optional parameters also allow filtering tokens', words=['optional', 'parameters', 'also', 'allow', 'filtering', 'tokens'])

03.修改参数minTokenLength=6,重新转换模型

reTokenizer.setParams(minTokenLength=6).transform(df).head(1)

​ 输出结果:

[Row(text='Optional parameters also allow filtering tokens', words=['optional', 'parameters', 'filtering', 'tokens'])]

05.添加参数gaps,对比输出结果

reTokenizer.setParams(gaps=True,minTokenLength=6).transform(df).head(1)

​ 输出结果:

​ [Row(text=‘Optional parameters also allow filtering tokens’, words=[‘optional’, ‘parameters’, ‘filtering’, ‘tokens’])]

reTokenizer.setParams(gaps=False,minTokenLength=6).transform(df).head(1)

​ 输出结果:[Row(text=‘Optional parameters also allow filtering tokens’, words=[])]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值