【问题标题】:How to perform stemming in apache spark?如何在 apache spark 中执行词干提取?
【发布时间】:2017-10-06 13:57:45
【问题描述】:

我正在 apache spark 中使用 K-Means 聚类做一个简单的项目,我做了一些预处理步骤,如标记化、停用词去除器和 hashingTF。这些由 spark 自己的 Tokenization()、StopWordRemover() 和 HasingTF() 执行。但我想在应用 k-means 聚类之前执行词干提取。我在 openNLP 中尝试了一些 NLP 库。但我不知道如何在 spark DataFrame 中实现它。 有人可以帮我怎么做。

【问题讨论】:

  • 我正在尝试在 build.sbt 文件中添加雪球词干。但它显示错误 Unresolved dependencies: master#spark-stemming_2.11;0.1.2 not found

标签: java apache-spark machine-learning nlp


【解决方案1】:

你可以使用这个项目中 shashank 提到的 spark stemming:https://github.com/master/spark-stemming 它支持很多语言。查看列表:https://github.com/master/spark-stemming/tree/master/src/main/java/org/tartarus/snowball/ext

要将项目添加到您的 build.sbt,您需要添加另一个解析器:

resolvers ++= Seq("spark-stemming" at "https://dl.bintray.com/spark-packages/maven/")

并导入依赖:

"master" % "spark-stemming" % "0.1.1"

不是 0.1.2 版

【讨论】:

    【解决方案2】:

    我也在尝试同样的事情,但是没有找到任何关于向 build.sbt 添加依赖的信息。当我们弄清楚如何将依赖项放入 build.sbt 时,一种解决方法是您可以从https://www.versioneye.com/java/com.github.master:spark-stemming_2.10/0.1.0 位置下载 jar 并在 spark-submit --jars 或 spark-shell --jars 命令中指定此 jar,然后使用它的类。

    【讨论】:

    • 你能告诉我如何在intellij idea中指定jar吗?
    • 要在 IntelliJ 中添加 jar,请按照以下步骤 - 转到 - 文件 - 项目结构 - 然后您应该会在左侧看到库。点击它。 -- 点击加号(+) -- Java -- jar 文件的位置 -- 应用 -- 确定
    • 这是 IntelliJ 版本 2016.3.2
    【解决方案3】:

    我个人的偏好是来自John Snow LabsSpark-NLP 库。它具有 Stem 和 Lemma 注释器,以及大量其他注释器、转换器和预训练模型和管道。所有这些都适用于 PySpark 和 Scala Spark。

    文档很详尽,并明确说明了如何在各种场景和语言中执行库的安装。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-20
      • 2017-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-20
      相关资源
      最近更新 更多