停止词和StopWordsRemover

作者:

停止词简单来说是指在一种语言中广泛使用的词。在各种需要处理文本的地方,我们对这些停止词做出一些特殊处理,以方便我们更关注在更重要的一些词上。

对于不同类型的需求而言,对停止词的处理是不同的。

  1. 有监督的机器学习 – 将停止词从特征空间剔除
  2. 聚类– 降低停止词的权重
  3. 信息检索– 不对停止词做索引
  4. 自动摘要- 计分时不处理停止词

对于不同语言,停止词的类型都可能有出入,但是一般而言有这简单的三类

  1. 限定词
  2. 并列连词
  3. 介词

停止词的词表一般不需要自己制作,有很多可选项可以自己下载选用。

Spark中提供了StopWordsRemover类处理停止词,它可以用作Machine learning Pipeline的一部分。

StopWordsRemover的功能是直接移除,所有从inputCol输入的量都会被它检查,然后再outputCol中,这些停止词都会去掉了。

默认的话会加载/org/apache/spark/ml/feature/stopwords/english.txt

这是一个简单的停止词表,包含153个词。

默认还提供了其他几种语言的停止词,遗憾的是没有中文默认停止词表,所以对于中文停止词需要自己提供。

评论

2 条对“停止词和StopWordsRemover”的回复

  1. 匿名

    请问添加中文停用词典有什么方法吗?

    1. htynkn

      方法是指代码吗?代码的话直接调用setStopWords(java.lang.String[])

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注