【发布时间】:2020-02-17 01:22:35
【问题描述】:
在使用RegexTokenizer 后,我需要使用StopWordsRemover。但是,我注意到没有删除停用词。我注意到在使用Tokenizer(而不是RegexTokenizer)时删除了停用词,因为Tokenizer 将输出转换为一组术语。 RegexTokenizer 仅输出一个字符串数组(不以逗号分隔)。有解决办法吗?
这是我的数据的样子,其中“body”是初始数据。您可以看到“removedStopWords”与“removeTags”列相同。这不应该是这样的:
代码:
val regexTokenizer = new RegexTokenizer() // first remove tags from string
.setInputCol("body")
.setOutputCol("removeTags")
.setPattern("<[^>]+>")
val stopWordsRemover = new StopWordsRemover()
.setInputCol(regexTokenizer.getOutputCol)
.setOutputCol("removedStopWords")
【问题讨论】:
标签: regex scala apache-spark tokenize apache-spark-ml