java - 如何在 apache spark 中执行词干提取?

标签 java apache-spark machine-learning nlp

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

最佳答案

您可以使用 shashank 在这个项目中提到的 spark 词干: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

关于java - 如何在 apache spark 中执行词干提取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43849776/

相关文章:

java - 开始日期后一个月-joda

java - 使用参数行 Java 打开快捷方式 (.lnk)

java - 创建类的 protected 构造函数的优点和缺点是什么

machine-learning - 当使用相同的训练数据作为验证数据时,为什么 val_loss 与训练损失不同?

java - 如何使用 gridControl 组件获取替代行颜色

java - 如何使用 Spark 获取来自 Kafka 的使用数据

apache-spark - 使用 pyspark 将列名称动态传递到列列表中每列的检查条件是否为空条件

java - 以固定时间间隔处理 JavaDStream

machine-learning - 提取形状上下文描述符来训练 SVM

python - 谷歌云机器学习超参数调优避免Nans